-
-
Save christianroman/d77d9f15a037ef13fd58 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
__SSTOKENSTRING = "@generated SignedSource<<dbe928e1275c495c1922c1bf063ffb70>>"; | |
! function(e) { | |
function t(e) { | |
function t() { | |
var t = Array.prototype.map.call(arguments, function(e) { | |
if (null == e) return null === e ? "null" : "undefined"; | |
if ("string" == typeof e) return '"' + e + '"'; | |
try { | |
return JSON.stringify(e) | |
} catch (t) { | |
if ("function" == typeof e.toString) try { | |
return e.toString() | |
} catch (t) { | |
return "unknown" | |
} | |
} | |
}).join(", "); | |
e.nativeLoggingHook(t) | |
} | |
function r(t) { | |
if (!Array.isArray(t)) { | |
var r = t; | |
t = []; | |
for (var i in r) | |
if (r.hasOwnProperty(i)) { | |
var a = r[i]; | |
a[n] = i, t.push(a) | |
} | |
} | |
if (0 === t.length) return void e.nativeLoggingHook(""); | |
var s = Object.keys(t[0]).sort(), | |
l = [], | |
u = []; | |
s.forEach(function(e, n) { | |
u[n] = e.length; | |
for (var r = 0; r < t.length; r++) { | |
var o = t[r][e].toString(); | |
l[r] = l[r] || [], l[r][n] = o, u[n] = Math.max(u[n], o.length) | |
} | |
}); | |
for (var c = function(e, t) { | |
var n = e.map(function(e, t) { | |
var n = o(" ", u[t] - e.length).join(""); | |
return e + n | |
}); | |
return t = t || " ", n.join(t + "|" + t) | |
}, d = u.map(function(e) { | |
return o("-", e).join("") | |
}), p = c(d, "-"), h = c(s), f = [h, p], m = 0; m < t.length; m++) f.push(c(l[m])); | |
e.nativeLoggingHook("\n" + f.join("\n")) | |
} | |
if (e.nativeLoggingHook) { | |
var o = function(e, t) { | |
return Array.apply(null, Array(t)).map(function() { | |
return e | |
}) | |
}; | |
e.console = { | |
error: t, | |
info: t, | |
log: t, | |
warn: t, | |
table: r | |
} | |
} | |
} | |
var n = "(index)"; | |
"undefined" != typeof module ? module.exports = t : t(e) | |
}(this), | |
function(e) { | |
function t() { | |
var t = function(t) { | |
e.console.error("Error: \n stack: " + t.stack + "\n line: " + t.line + "\n message: " + t.message, t) | |
}; | |
e.ErrorUtils.setGlobalHandler(t) | |
} | |
var n = { | |
_inGuard: 0, | |
_globalHandler: null, | |
setGlobalHandler: function(e) { | |
n._globalHandler = e | |
}, | |
reportError: function(e) { | |
Error._globalHandler && n._globalHandler(e) | |
}, | |
applyWithGuard: function(e, t, r) { | |
try { | |
return n._inGuard++, e.apply(t, r) | |
} catch (o) { | |
n._globalHandler && n._globalHandler(o) | |
} finally { | |
n._inGuard-- | |
} | |
}, | |
applyWithGuardIfNeeded: function(e, t, r) { | |
return n.inGuard() ? e.apply(t, r) : void n.applyWithGuard(e, t, r) | |
}, | |
inGuard: function() { | |
return n._inGuard | |
}, | |
guard: function(e, t, r) { | |
function o() { | |
return n.applyWithGuard(e, r || this, arguments, null, t) | |
} | |
return t = t || e.name || "<generated guard>", o | |
} | |
}; | |
e.ErrorUtils = n, t() | |
}(this), __VERSION__ = .44, __DEV__ = !1, Object.assign = function(e) { | |
if (__DEV__) { | |
if (null == e) throw new TypeError("Object.assign target cannot be null or undefined"); | |
if ("object" != typeof e && "function" != typeof e) throw new TypeError("In this environment the target of assign MUST be an object.This error is a performance optimization and not spec compliant.") | |
} | |
for (var t = 1; t < arguments.length; t++) { | |
var n = arguments[t]; | |
if (null != n) { | |
if (__DEV__ && "object" != typeof n && "function" != typeof n) throw new TypeError("In this environment the target of assign MUST be an object.This error is a performance optimization and not spec compliant."); | |
for (var r in n) { | |
if (__DEV__) { | |
var o = Object.prototype.hasOwnProperty; | |
if (!o.call(n, r)) throw new TypeError("One of the sources to assign has an enumerable key on the prototype chain. This is an edge case that we do not support. This error is a performance optimization and not spec compliant.") | |
} | |
e[r] = n[r] | |
} | |
} | |
} | |
return e | |
}, | |
function(e) { | |
function t(e) { | |
for (var t = Array.prototype.slice.call(e), n = {}; t.length;) { | |
var r = t.shift(); | |
if (!n[r]) { | |
n[r] = !0; | |
var o = p[r]; | |
if (o && o.waiting) | |
for (var i = 0; i < o.dependencies.length; i++) { | |
var a = o.dependencies[i]; | |
(!p[a] || p[a].waiting) && t.push(a) | |
} | |
} | |
} | |
for (r in n) y.call(n, r) && t.push(r); | |
return t | |
} | |
function n(e) { | |
for (var t = [], n = 0; n < e.length; n++) { | |
var r = e[n], | |
o = r, | |
i = p[r]; | |
if (i) | |
if (i.waiting) { | |
for (var a = [], s = 0; s < i.dependencies.length; s++) { | |
var l = i.dependencies[s]; | |
(!p[l] || p[l].waiting) && a.push(l) | |
} | |
o += " is waiting for " + a.join(", ") | |
} else o += " is ready"; | |
else o += " is not defined"; | |
t.push(o) | |
} | |
return t.join("\n") | |
} | |
function r(o) { | |
if (e.ErrorUtils && !e.ErrorUtils.inGuard()) return ErrorUtils.applyWithGuard(r, this, arguments); | |
var i, a, s, l = p[o]; | |
if (!p[o]) throw s = 'Requiring unknown module "' + o + '"', __DEV__ && (s += ". It may not be loaded yet. Did you forget to run arc build?"), new Error(s); | |
if (l.hasError) throw new Error('Requiring module "' + o + '" which threw an exception'); | |
if (l.waiting) { | |
if (s = 'Requiring module "' + o + '" with unresolved dependencies', __DEV__) { | |
var u = t([o]); | |
e.console && e.console.error(n(u)); | |
for (var c = [], h = 0; h < u.length; h++) { | |
var f = u[h]; | |
p[f] || c.push(f) | |
} | |
s += ": " + c.join(", ") | |
} | |
throw new Error(s) | |
} | |
if (!l.exports) { | |
var m = l.exports = {}, | |
g = l.factory; | |
if ("[object Function]" === d.call(g)) { | |
var y, v = [], | |
S = l.dependencies, | |
w = S.length; | |
l.special & _ && (w = Math.min(w, g.length)); | |
try { | |
for (a = 0; w > a; a++) i = S[a], v.push("module" === i ? l : "exports" === i ? m : r(i)); | |
y = g.apply(l.context || e, v) | |
} catch (b) { | |
throw l.hasError = !0, b | |
} | |
if (y) { | |
if (__DEV__ && "object" != typeof y && "function" != typeof y) throw new Error('Factory for module "' + o + '" returned an invalid value "' + y + '". Returned value should be either a function or an object.'); | |
l.exports = y | |
} | |
} else l.exports = g | |
} | |
return 1 === l.refcount-- && delete p[o], l.exports | |
} | |
function o(e, t, n, r, o, a) { | |
void 0 === t ? (t = [], n = e, e = s()) : void 0 === n && (n = t, "[object Array]" === d.call(e) ? (t = e, e = s()) : t = []); | |
var l = { | |
cancel: function() { | |
i(e) | |
} | |
}, | |
c = p[e]; | |
if (c) return a && (c.refcount += a), l; | |
if (!t && !n && a) return f[e] = (f[e] || 0) + a, l; | |
if (c = { | |
id: e | |
}, c.refcount = (f[e] || 0) + (a || 0), delete f[e], __DEV__) { | |
if (!n || "object" != typeof n && "function" != typeof n && "string" != typeof n) throw new Error('Invalid factory "' + n + '" for module "' + e + '". Factory should be either a function or an object.'); | |
if ("[object Array]" !== d.call(t)) throw new Error('Invalid dependencies for module "' + e + '". Dependencies must be passed as an array.') | |
} | |
return c.factory = n, c.dependencies = t, c.context = o, c.special = r, c.waitingMap = {}, c.waiting = 0, c.hasError = !1, p[e] = c, u(e), l | |
} | |
function i(e) { | |
if (p[e]) { | |
var t = p[e]; | |
delete p[e]; | |
for (var n in t.waitingMap) t.waitingMap[n] && delete h[n][e]; | |
for (var r = 0; r < t.dependencies.length; r++) n = t.dependencies[r], p[n] ? 1 === p[n].refcount-- && i(n) : f[n] && f[n] -- | |
} | |
} | |
function a(e, t, n) { | |
return o(e, t, void 0, g, n, 1) | |
} | |
function s() { | |
return "__mod__" + m++ | |
} | |
function l(e, t) { | |
e.waitingMap[t] || e.id === t || (e.waiting++, e.waitingMap[t] = 1, h[t] || (h[t] = {}), h[t][e.id] = 1) | |
} | |
function u(e) { | |
var t, n, o, i = [], | |
a = p[e]; | |
for (n = 0; n < a.dependencies.length; n++) | |
if (t = a.dependencies[n], p[t]) { | |
if (p[t].waiting) | |
for (o in p[t].waitingMap) p[t].waitingMap[o] && l(a, o) | |
} else l(a, t); | |
if (0 === a.waiting && a.special & g && i.push(e), h[e]) { | |
var s, u = h[e]; | |
h[e] = void 0; | |
for (t in u) { | |
s = p[t]; | |
for (o in a.waitingMap) a.waitingMap[o] && l(s, o); | |
s.waitingMap[e] && (s.waitingMap[e] = void 0, s.waiting--), 0 === s.waiting && s.special & g && i.push(t) | |
} | |
} | |
for (n = 0; n < i.length; n++) r(i[n]) | |
} | |
function c(e, t) { | |
p[e] = { | |
id: e | |
}, p[e].exports = t | |
} | |
if (!e.require) { | |
var d = Object.prototype.toString, | |
p = {}, | |
h = {}, | |
f = {}, | |
m = 0, | |
g = 1, | |
_ = 2, | |
y = Object.prototype.hasOwnProperty; | |
c("module", 0), c("exports", 0), c("define", o), c("global", e), c("require", r), c("requireDynamic", r), c("requireLazy", a), e.require = r, e.requireDynamic = r, e.requireLazy = a, r.__debug = { | |
modules: p, | |
deps: h | |
}; | |
var v = function(e, t, n, r) { | |
o(e, t, n, r || _) | |
}; | |
e.__d = function(e, t, n, r) { | |
t = ["global", "require", "requireDynamic", "requireLazy", "module", "exports"].concat(t), v(e, t, n, r) | |
} | |
} | |
}(this), process = { | |
env: {} | |
}, process.env.NODE_ENV = "production", __d("RKMainBundle", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("Bundler"); | |
i.registerConfig([{ | |
appKey: "GroupsFeedApp", | |
component: function() { | |
return t("GroupsFeedApp") | |
} | |
}, { | |
appKey: "GroupsPermalinkApp", | |
component: function() { | |
return t("GroupsPermalinkApp") | |
} | |
}, { | |
appKey: "GroupsPendingPostsApp", | |
component: function() { | |
return t("GroupsPendingPostsApp") | |
} | |
}, { | |
appKey: "GroupsReportedPostsApp", | |
component: function() { | |
return t("GroupsReportedPostsApp") | |
} | |
}]), o.exports = i | |
}), __d("Bundler", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() {} | |
var a = t("invariant"), | |
s = t("renderApplication"); | |
__DEV__ && t("RKRenderingPerf"); | |
var l = {}; | |
i.registerConfig = function(e) { | |
for (var t = 0; t < e.length; ++t) e[t].run ? i.registerRunnable(e[t].appKey, e[t].run) : i.registerComponent(e[t].appKey, e[t].component) | |
}, i.registerComponent = function(e, t) { | |
return l[e] = { | |
run: function(e) { | |
return s(t(), e.initialProps, e.rootTag) | |
} | |
}, e | |
}, i.registerRunnable = function(e, t) { | |
return l[e] = { | |
run: t | |
}, e | |
}, i.runApplication = function(e, t) { | |
console.log('Running application "' + e + '" with appParams: ', t), l[e] && l[e].run || a(0, "Application " + e + " has not been registered."), l[e].run(t) | |
}, o.exports = i | |
}), __d("invariant", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t, n, r, o, i, a, s) { | |
if (__DEV__ && void 0 === t) throw new Error("invariant requires an error message argument"); | |
if (!e) { | |
var l; | |
if (void 0 === t) l = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."); | |
else { | |
var u = [n, r, o, i, a, s], | |
c = 0; | |
l = new Error("Invariant Violation: " + t.replace(/%s/g, function() { | |
return u[c++] | |
})) | |
} | |
throw l.framesToPop = 1, l | |
} | |
}; | |
o.exports = i | |
}), __d("renderApplication", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
n || s(0, "Expect to have a valid rootTag, instead got ", n), a.render(a.createElement(e, Object.assign({}, t)), n) | |
} | |
var a = t("React"), | |
s = t("invariant"); | |
o.exports = i | |
}), __d("React", [], function(e, t, n, r, o) { | |
"use strict"; | |
o.exports = t("ReactIOS") | |
}), __d("ReactIOS", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactComponent"), | |
a = t("ReactCompositeComponent"), | |
s = t("ReactContext"), | |
l = t("ReactCurrentOwner"), | |
u = t("ReactElement"), | |
c = t("ReactElementValidator"), | |
d = t("ReactInstanceHandles"), | |
p = t("ReactIOSDefaultInjection"), | |
h = t("ReactIOSMount"), | |
f = t("ReactLegacyElement"), | |
m = t("ReactPropTypes"), | |
g = t("deprecated"), | |
_ = t("invariant"); | |
p.inject(); | |
var y = u.createElement, | |
v = u.createFactory; | |
__DEV__ && (y = c.createElement, v = c.createFactory), y = f.wrapCreateElement(y), v = f.wrapCreateFactory(v); | |
var S = function(e) { | |
var t = e.type.defaultProps, | |
n = e.props; | |
for (var r in t) void 0 === n[r] && (n[r] = t[r]) | |
}, | |
w = function(e) { | |
return __DEV__ && _(0, "This optimized path should never be used in DEV mode because it does not provide validation. Check your JSX transform."), e._owner = l.current, e._context = s.current, e.type.defaultProps && S(e), e | |
}, | |
b = function(e, t) { | |
h.renderComponent(e, t) | |
}, | |
R = { | |
hasReactIOSInitialized: !1, | |
PropTypes: m, | |
createClass: a.createClass, | |
createElement: y, | |
createFactory: v, | |
_augmentElement: w, | |
render: b, | |
unmountComponentAtNode: h.unmountComponentAtNode, | |
__internals: { | |
Component: i, | |
CurrentOwner: l, | |
InstanceHandles: d, | |
Mount: h | |
}, | |
unmountComponentAtNodeAndRemoveContainer: h.unmountComponentAtNodeAndRemoveContainer, | |
isValidClass: u.isValidFactory, | |
isValidElement: u.isValidElement, | |
renderComponent: g("React", "renderComponent", "render", this, b), | |
isValidComponent: g("React", "isValidComponent", "isValidElement", this, u.isValidElement) | |
}; | |
o.exports = R | |
}), __d("ReactComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactElement"), | |
a = t("ReactOwner"), | |
s = t("ReactUpdates"), | |
l = t("invariant"), | |
u = t("keyMirror"), | |
c = u({ | |
MOUNTED: null, | |
UNMOUNTED: null | |
}), | |
d = !1, | |
p = null, | |
h = null, | |
f = { | |
injection: { | |
injectEnvironment: function(e) { | |
d && l(0, "ReactComponent: injectEnvironment() can only be called once."), h = e.mountImageIntoNode, p = e.unmountIDFromEnvironment, f.BackendIDOperations = e.BackendIDOperations, d = !0 | |
} | |
}, | |
LifeCycle: c, | |
BackendIDOperations: null, | |
Mixin: { | |
isMounted: function() { | |
return this._lifeCycleState === c.MOUNTED | |
}, | |
setProps: function(e, t) { | |
var n = this._pendingElement || this._currentElement; | |
this.replaceProps(Object.assign({}, n.props, e), t) | |
}, | |
replaceProps: function(e, t) { | |
this.isMounted() || l(0, "replaceProps(...): Can only update a mounted component."), 0 !== this._mountDepth && l(0, "replaceProps(...): You called `setProps` or `replaceProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created."), this._pendingElement = i.cloneAndReplaceProps(this._pendingElement || this._currentElement, e), s.enqueueUpdate(this, t) | |
}, | |
_setPropsInternal: function(e, t) { | |
var n = this._pendingElement || this._currentElement; | |
this._pendingElement = i.cloneAndReplaceProps(n, Object.assign({}, n.props, e)), s.enqueueUpdate(this, t) | |
}, | |
construct: function(e) { | |
this.props = e.props, this._owner = e._owner, this._lifeCycleState = c.UNMOUNTED, this._pendingCallbacks = null, this._currentElement = e, this._pendingElement = null | |
}, | |
mountComponent: function(e, t, n) { | |
this.isMounted() && l(0, "mountComponent(%s, ...): Can only mount an unmounted component. Make sure to avoid storing components between renders or reusing a single component instance in multiple places.", e); | |
var r = this._currentElement.ref; | |
if (null != r) { | |
var o = this._currentElement._owner; | |
a.addComponentAsRefTo(this, r, o) | |
} | |
this._rootNodeID = e, this._lifeCycleState = c.MOUNTED, this._mountDepth = n | |
}, | |
unmountComponent: function() { | |
this.isMounted() || l(0, "unmountComponent(): Can only unmount a mounted component."); | |
var e = this._currentElement.ref; | |
null != e && a.removeComponentAsRefFrom(this, e, this._owner), p(this._rootNodeID), this._rootNodeID = null, this._lifeCycleState = c.UNMOUNTED | |
}, | |
receiveComponent: function(e, t) { | |
this.isMounted() || l(0, "receiveComponent(...): Can only update a mounted component."), this._pendingElement = e, this.performUpdateIfNecessary(t) | |
}, | |
performUpdateIfNecessary: function(e) { | |
if (null != this._pendingElement) { | |
var t = this._currentElement, | |
n = this._pendingElement; | |
this._currentElement = n, this.props = n.props, this._owner = n._owner, this._pendingElement = null, this.updateComponent(e, t) | |
} | |
}, | |
updateComponent: function(e, t) { | |
var n = this._currentElement; | |
(n._owner !== t._owner || n.ref !== t.ref) && (null != t.ref && a.removeComponentAsRefFrom(this, t.ref, t._owner), null != n.ref && a.addComponentAsRefTo(this, n.ref, n._owner)) | |
}, | |
mountComponentIntoNode: function(e, t, n) { | |
var r = s.ReactReconcileTransaction.getPooled(); | |
r.perform(this._mountComponentIntoNode, this, e, t, r, n), s.ReactReconcileTransaction.release(r) | |
}, | |
_mountComponentIntoNode: function(e, t, n, r) { | |
var o = this.mountComponent(e, n, 0); | |
h(o, t, r) | |
}, | |
isOwnedBy: function(e) { | |
return this._owner === e | |
}, | |
getSiblingByRef: function(e) { | |
var t = this._owner; | |
return t && t.refs ? t.refs[e] : null | |
} | |
} | |
}; | |
o.exports = f | |
}), __d("ReactElement", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
Object.defineProperty(e, t, { | |
configurable: !1, | |
enumerable: !0, | |
get: function() { | |
return this._store ? this._store[t] : null | |
}, | |
set: function(e) { | |
u(!1, "Don't set the " + t + " property of the component. Mutate the existing props object instead."), this._store[t] = e | |
} | |
}) | |
} | |
function a(e) { | |
try { | |
var t = { | |
props: !0 | |
}; | |
for (var n in t) i(e, n); | |
d = !0 | |
} catch (r) {} | |
} | |
var s = t("ReactContext"), | |
l = t("ReactCurrentOwner"), | |
u = t("warning"), | |
c = { | |
key: !0, | |
ref: !0 | |
}, | |
d = !1, | |
p = function(e, t, n, r, o, i) { | |
return this.type = e, this.key = t, this.ref = n, this._owner = r, this._context = o, __DEV__ && (this._store = { | |
validated: !1, | |
props: i | |
}, d) ? void Object.freeze(this) : void(this.props = i) | |
}; | |
__DEV__ && a(p.prototype), p.prototype._isReactElement = !0, p.createElement = function(e, t, n) { | |
var r, o = {}, | |
i = null, | |
a = null; | |
if (null != t) { | |
a = void 0 === t.ref ? null : t.ref, i = void 0 === t.key ? null : "" + t.key; | |
for (r in t) t.hasOwnProperty(r) && !c.hasOwnProperty(r) && (o[r] = t[r]) | |
} | |
var u = arguments.length - 2; | |
if (1 === u) o.children = n; | |
else if (u > 1) { | |
for (var d = Array(u), h = 0; u > h; h++) d[h] = arguments[h + 2]; | |
o.children = d | |
} | |
if (e.defaultProps) { | |
var f = e.defaultProps; | |
for (r in f) "undefined" == typeof o[r] && (o[r] = f[r]) | |
} | |
return new p(e, i, a, l.current, s.current, o) | |
}, p.createFactory = function(e) { | |
var t = p.createElement.bind(null, e); | |
return t.type = e, t | |
}, p.cloneAndReplaceProps = function(e, t) { | |
var n = new p(e.type, e.key, e.ref, e._owner, e._context, t); | |
return __DEV__ && (n._store.validated = e._store.validated), n | |
}, p.isValidElement = function(e) { | |
var t = !(!e || !e._isReactElement); | |
return t | |
}, o.exports = p | |
}), __d("ReactContext", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
current: {}, | |
withContext: function(e, t) { | |
var n, r = i.current; | |
i.current = Object.assign({}, r, e); | |
try { | |
n = t() | |
} finally { | |
i.current = r | |
} | |
return n | |
} | |
}; | |
o.exports = i | |
}), __d("ReactCurrentOwner", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
current: null | |
}; | |
o.exports = i | |
}), __d("warning", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("emptyFunction"), | |
a = i; | |
__DEV__ && (a = function(e, t) { | |
for (var n = [], r = 2, o = arguments.length; o > r; r++) n.push(arguments[r]); | |
if (void 0 === t) throw new Error("`warning(condition, format, ...args)` requires a warning message argument"); | |
if (!e) { | |
var i = 0; | |
console.warn("Warning: " + t.replace(/%s/g, function() { | |
return n[i++] | |
})) | |
} | |
}), o.exports = a | |
}), __d("emptyFunction", [], function(e, t, n, r, o) { | |
function i(e) { | |
return function() { | |
return e | |
} | |
} | |
function a() {} | |
Object.assign(a, { | |
thatReturns: i, | |
thatReturnsFalse: i(!1), | |
thatReturnsTrue: i(!0), | |
thatReturnsNull: i(null), | |
thatReturnsThis: function() { | |
return this | |
}, | |
thatReturnsArgument: function(e) { | |
return e | |
} | |
}), o.exports = a | |
}), __d("ReactOwner", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("emptyObject"), | |
a = t("invariant"), | |
s = { | |
isValidOwner: function(e) { | |
return !(!e || "function" != typeof e.attachRef || "function" != typeof e.detachRef) | |
}, | |
addComponentAsRefTo: function(e, t, n) { | |
s.isValidOwner(n) || a(0, "addComponentAsRefTo(...): Only a ReactOwner can have refs. This usually means that you're trying to add a ref to a component that doesn't have an owner (that is, was not created inside of another component's `render` method). Try rendering this component inside of a new top-level component which will hold the ref."), n.attachRef(t, e) | |
}, | |
removeComponentAsRefFrom: function(e, t, n) { | |
s.isValidOwner(n) || a(0, "removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This usually means that you're trying to remove a ref to a component that doesn't have an owner (that is, was not created inside of another component's `render` method). Try rendering this component inside of a new top-level component which will hold the ref."), n.refs[t] === e && n.detachRef(t) | |
}, | |
Mixin: { | |
construct: function() { | |
this.refs = i | |
}, | |
attachRef: function(e, t) { | |
t.isOwnedBy(this) || a(0, "attachRef(%s, ...): Only a component's owner can store a ref to it.", e); | |
var n = this.refs === i ? this.refs = {} : this.refs; | |
n[e] = t | |
}, | |
detachRef: function(e) { | |
delete this.refs[e] | |
} | |
} | |
}; | |
o.exports = s | |
}), __d("emptyObject", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = {}; | |
__DEV__ && Object.freeze(i), o.exports = i | |
}), __d("ReactUpdates", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
F.ReactReconcileTransaction && b || _(0, "ReactUpdates: must inject a reconcile transaction class and batching strategy") | |
} | |
function a() { | |
this.reinitializeTransaction(), this.dirtyComponentsLength = null, this.callbackQueue = p.getPooled(), this.reconcileTransaction = F.ReactReconcileTransaction.getPooled() | |
} | |
function s(e, t, n) { | |
i(), b.batchedUpdates(e, t, n) | |
} | |
function l(e, t) { | |
return e._mountDepth - t._mountDepth | |
} | |
function u(e) { | |
var t = e.dirtyComponentsLength; | |
t !== v.length && _(0, "Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).", t, v.length), v.sort(l); | |
for (var n = 0; t > n; n++) { | |
var r = v[n]; | |
if (r.isMounted()) { | |
var o = r._pendingCallbacks; | |
if (r._pendingCallbacks = null, r.performUpdateIfNecessary(e.reconcileTransaction), o) | |
for (var i = 0; i < o.length; i++) e.callbackQueue.enqueue(o[i], r) | |
} | |
} | |
} | |
function c(e, t) { | |
return t && "function" != typeof t && _(0, "enqueueUpdate(...): You called `setProps`, `replaceProps`, `setState`, `replaceState`, or `forceUpdate` with a callback that isn't callable."), i(), y(null == f.current, "enqueueUpdate(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."), b.isBatchingUpdates ? (v.push(e), void(t && (e._pendingCallbacks ? e._pendingCallbacks.push(t) : e._pendingCallbacks = [t]))) : void b.batchedUpdates(c, e, t) | |
} | |
function d(e, t) { | |
b.isBatchingUpdates || _(0, "ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."), S.enqueue(e, t), w = !0 | |
} | |
var p = t("CallbackQueue"), | |
h = t("PooledClass"), | |
f = t("ReactCurrentOwner"), | |
m = t("ReactPerf"), | |
g = t("Transaction"), | |
_ = t("invariant"), | |
y = t("warning"), | |
v = [], | |
S = p.getPooled(), | |
w = !1, | |
b = null, | |
R = { | |
initialize: function() { | |
this.dirtyComponentsLength = v.length | |
}, | |
close: function() { | |
this.dirtyComponentsLength !== v.length ? (v.splice(0, this.dirtyComponentsLength), D()) : v.length = 0 | |
} | |
}, | |
C = { | |
initialize: function() { | |
this.callbackQueue.reset() | |
}, | |
close: function() { | |
this.callbackQueue.notifyAll() | |
} | |
}, | |
E = [R, C]; | |
Object.assign(a.prototype, g.Mixin, { | |
getTransactionWrappers: function() { | |
return E | |
}, | |
destructor: function() { | |
this.dirtyComponentsLength = null, p.release(this.callbackQueue), this.callbackQueue = null, F.ReactReconcileTransaction.release(this.reconcileTransaction), this.reconcileTransaction = null | |
}, | |
perform: function(e, t, n) { | |
return g.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, e, t, n) | |
} | |
}), h.addPoolingTo(a); | |
var D = m.measure("ReactUpdates", "flushBatchedUpdates", function() { | |
for (; v.length || w;) { | |
if (v.length) { | |
var e = a.getPooled(); | |
e.perform(u, null, e), a.release(e) | |
} | |
if (w) { | |
w = !1; | |
var t = S; | |
S = p.getPooled(), t.notifyAll(), p.release(t) | |
} | |
} | |
}), | |
x = { | |
injectReconcileTransaction: function(e) { | |
e || _(0, "ReactUpdates: must provide a reconcile transaction class"), F.ReactReconcileTransaction = e | |
}, | |
injectBatchingStrategy: function(e) { | |
e || _(0, "ReactUpdates: must provide a batching strategy"), "function" != typeof e.batchedUpdates && _(0, "ReactUpdates: must provide a batchedUpdates() function"), "boolean" != typeof e.isBatchingUpdates && _(0, "ReactUpdates: must provide an isBatchingUpdates boolean attribute"), b = e | |
} | |
}, | |
F = { | |
ReactReconcileTransaction: null, | |
batchedUpdates: s, | |
enqueueUpdate: c, | |
flushBatchedUpdates: D, | |
injection: x, | |
asap: d | |
}; | |
o.exports = F | |
}), __d("CallbackQueue", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this._callbacks = null, this._contexts = null | |
} | |
var a = t("PooledClass"), | |
s = t("invariant"); | |
Object.assign(i.prototype, { | |
enqueue: function(e, t) { | |
this._callbacks = this._callbacks || [], this._contexts = this._contexts || [], this._callbacks.push(e), this._contexts.push(t) | |
}, | |
notifyAll: function() { | |
var e = this._callbacks, | |
t = this._contexts; | |
if (e) { | |
e.length !== t.length && s(0, "Mismatched list of contexts in callback queue"), this._callbacks = null, this._contexts = null; | |
for (var n = 0, r = e.length; r > n; n++) e[n].call(t[n]); | |
e.length = 0, t.length = 0 | |
} | |
}, | |
reset: function() { | |
this._callbacks = null, this._contexts = null | |
}, | |
destructor: function() { | |
this.reset() | |
} | |
}), a.addPoolingTo(i), o.exports = i | |
}), __d("PooledClass", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = function(e) { | |
var t = this; | |
if (t.instancePool.length) { | |
var n = t.instancePool.pop(); | |
return t.call(n, e), n | |
} | |
return new t(e) | |
}, | |
s = function(e, t) { | |
var n = this; | |
if (n.instancePool.length) { | |
var r = n.instancePool.pop(); | |
return n.call(r, e, t), r | |
} | |
return new n(e, t) | |
}, | |
l = function(e, t, n) { | |
var r = this; | |
if (r.instancePool.length) { | |
var o = r.instancePool.pop(); | |
return r.call(o, e, t, n), o | |
} | |
return new r(e, t, n) | |
}, | |
u = function(e, t, n, r, o) { | |
var i = this; | |
if (i.instancePool.length) { | |
var a = i.instancePool.pop(); | |
return i.call(a, e, t, n, r, o), a | |
} | |
return new i(e, t, n, r, o) | |
}, | |
c = function(e) { | |
var t = this; | |
e instanceof t || i(0, "Trying to release an instance into a pool of a different type."), e.destructor && e.destructor(), t.instancePool.length < t.poolSize && t.instancePool.push(e) | |
}, | |
d = 10, | |
p = a, | |
h = function(e, t) { | |
var n = e; | |
return n.instancePool = [], n.getPooled = t || p, n.poolSize || (n.poolSize = d), n.release = c, n | |
}, | |
f = { | |
addPoolingTo: h, | |
oneArgumentPooler: a, | |
twoArgumentPooler: s, | |
threeArgumentPooler: l, | |
fiveArgumentPooler: u | |
}; | |
o.exports = f | |
}), __d("ReactPerf", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
return n | |
} | |
var a = { | |
enableMeasure: !1, | |
storedMeasure: i, | |
measure: function(e, t, n) { | |
if (__DEV__) { | |
var r = null, | |
o = function() { | |
return a.enableMeasure ? (r || (r = a.storedMeasure(e, t, n)), r.apply(this, arguments)) : n.apply(this, arguments) | |
}; | |
return o.displayName = e + "_" + t, o | |
} | |
return n | |
}, | |
injection: { | |
injectMeasure: function(e) { | |
a.storedMeasure = e | |
} | |
} | |
}; | |
o.exports = a | |
}), __d("Transaction", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = { | |
reinitializeTransaction: function() { | |
this.transactionWrappers = this.getTransactionWrappers(), this.wrapperInitData ? this.wrapperInitData.length = 0 : this.wrapperInitData = [], this._isInTransaction = !1 | |
}, | |
_isInTransaction: !1, | |
getTransactionWrappers: null, | |
isInTransaction: function() { | |
return !!this._isInTransaction | |
}, | |
perform: function(e, t, n, r, o, a, s, l) { | |
this.isInTransaction() && i(0, "Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction."); | |
var u, c; | |
try { | |
this._isInTransaction = !0, u = !0, this.initializeAll(0), c = e.call(t, n, r, o, a, s, l), u = !1 | |
} finally { | |
try { | |
if (u) try { | |
this.closeAll(0) | |
} catch (d) {} else this.closeAll(0) | |
} finally { | |
this._isInTransaction = !1 | |
} | |
} | |
return c | |
}, | |
initializeAll: function(e) { | |
for (var t = this.transactionWrappers, n = e; n < t.length; n++) { | |
var r = t[n]; | |
try { | |
this.wrapperInitData[n] = s.OBSERVED_ERROR, this.wrapperInitData[n] = r.initialize ? r.initialize.call(this) : null | |
} finally { | |
if (this.wrapperInitData[n] === s.OBSERVED_ERROR) try { | |
this.initializeAll(n + 1) | |
} catch (o) {} | |
} | |
} | |
}, | |
closeAll: function(e) { | |
this.isInTransaction() || i(0, "Transaction.closeAll(): Cannot close transaction when none are open."); | |
for (var t = this.transactionWrappers, n = e; n < t.length; n++) { | |
var r, o = t[n], | |
a = this.wrapperInitData[n]; | |
try { | |
r = !0, a !== s.OBSERVED_ERROR && o.close && o.close.call(this, a), r = !1 | |
} finally { | |
if (r) try { | |
this.closeAll(n + 1) | |
} catch (l) {} | |
} | |
} | |
this.wrapperInitData.length = 0 | |
} | |
}, | |
s = { | |
Mixin: a, | |
OBSERVED_ERROR: {} | |
}; | |
o.exports = s | |
}), __d("keyMirror", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = function(e) { | |
var t, n = {}; | |
e instanceof Object && !Array.isArray(e) || i(0, "keyMirror(...): Argument must be an object."); | |
for (t in e) e.hasOwnProperty(t) && (n[t] = t); | |
return n | |
}; | |
o.exports = a | |
}), __d("ReactCompositeComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = e._owner || null; | |
return t && t.constructor && t.constructor.displayName ? " Check the render method of `" + t.constructor.displayName + "`." : "" | |
} | |
function a(e, t, n) { | |
for (var r in t) t.hasOwnProperty(r) && "function" != typeof t[r] && I(0, "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", e.displayName || "ReactCompositeComponent", D[n], r) | |
} | |
function s(e, t) { | |
var n = G.hasOwnProperty(t) ? G[t] : null; | |
U.hasOwnProperty(t) && n !== O.OVERRIDE_BASE && I(0, "ReactCompositeComponentInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.", t), e.hasOwnProperty(t) && n !== O.DEFINE_MANY && n !== O.DEFINE_MANY_MERGED && I(0, "ReactCompositeComponentInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", t) | |
} | |
function l(e) { | |
var t = e._compositeLifeCycleState; | |
e.isMounted() || t === B.MOUNTING || I(0, "replaceState(...): Can only update a mounted or mounting component."), null != g.current && I(0, "replaceState(...): Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."), t === B.UNMOUNTING && I(0, "replaceState(...): Cannot update while unmounting component. This usually means you called setState() on an unmounted component.") | |
} | |
function u(e, t) { | |
if (t) { | |
w.isValidFactory(t) && I(0, "ReactCompositeComponent: You're attempting to use a component class as a mixin. Instead, just use a regular object."), _.isValidElement(t) && I(0, "ReactCompositeComponent: You're attempting to use a component as a mixin. Instead, just use a regular object."); | |
var n = e.prototype; | |
t.hasOwnProperty(Q) && $.mixins(e, t.mixins); | |
for (var r in t) | |
if (t.hasOwnProperty(r) && r !== Q) { | |
var o = t[r]; | |
if (s(n, r), $.hasOwnProperty(r)) $[r](e, o); | |
else { | |
var i = G.hasOwnProperty(r), | |
a = n.hasOwnProperty(r), | |
l = o && o.__reactDontBind, | |
u = "function" == typeof o, | |
c = u && !i && !a && !l; | |
if (c) n.__reactAutoBindMap || (n.__reactAutoBindMap = {}), n.__reactAutoBindMap[r] = o, n[r] = o; | |
else if (a) { | |
var d = G[r]; | |
(!i || d !== O.DEFINE_MANY_MERGED && d !== O.DEFINE_MANY) && I(0, "ReactCompositeComponent: Unexpected spec policy %s for key %s when mixing in component specs.", d, r), d === O.DEFINE_MANY_MERGED ? n[r] = p(n[r], o) : d === O.DEFINE_MANY && (n[r] = h(n[r], o)) | |
} else n[r] = o, __DEV__ && "function" == typeof o && t.displayName && (n[r].displayName = t.displayName + "_" + r) | |
} | |
} | |
} | |
} | |
function c(e, t) { | |
if (t) | |
for (var n in t) { | |
var r = t[n]; | |
if (t.hasOwnProperty(n)) { | |
var o = n in $; | |
o && I(0, 'ReactCompositeComponent: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', n); | |
var i = n in e; | |
i && I(0, "ReactCompositeComponent: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", n), e[n] = r | |
} | |
} | |
} | |
function d(e, t) { | |
return e && t && "object" == typeof e && "object" == typeof t || I(0, "mergeObjectsWithNoDuplicateKeys(): Cannot merge non-objects"), k(t, function(t, n) { | |
void 0 !== e[n] && I(0, "mergeObjectsWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.", n), e[n] = t | |
}), e | |
} | |
function p(e, t) { | |
return function() { | |
var n = e.apply(this, arguments), | |
r = t.apply(this, arguments); | |
return null == n ? r : null == r ? n : d(n, r) | |
} | |
} | |
function h(e, t) { | |
return function() { | |
e.apply(this, arguments), t.apply(this, arguments) | |
} | |
} | |
var f = t("ReactComponent"), | |
m = t("ReactContext"), | |
g = t("ReactCurrentOwner"), | |
_ = t("ReactElement"), | |
y = t("ReactElementValidator"), | |
v = t("ReactEmptyComponent"), | |
S = t("ReactErrorUtils"), | |
w = t("ReactLegacyElement"), | |
b = t("ReactOwner"), | |
R = t("ReactPerf"), | |
C = t("ReactPropTransferer"), | |
E = t("ReactPropTypeLocations"), | |
D = t("ReactPropTypeLocationNames"), | |
x = t("ReactUpdates"), | |
F = t("instantiateReactComponent"), | |
I = t("invariant"), | |
T = t("keyMirror"), | |
P = t("keyOf"), | |
L = t("monitorCodeUse"), | |
k = t("mapObject"), | |
M = t("shouldUpdateReactComponent"), | |
A = t("warning"), | |
Q = P({ | |
mixins: null | |
}), | |
O = T({ | |
DEFINE_ONCE: null, | |
DEFINE_MANY: null, | |
OVERRIDE_BASE: null, | |
DEFINE_MANY_MERGED: null | |
}), | |
N = [], | |
G = { | |
mixins: O.DEFINE_MANY, | |
statics: O.DEFINE_MANY, | |
propTypes: O.DEFINE_MANY, | |
contextTypes: O.DEFINE_MANY, | |
childContextTypes: O.DEFINE_MANY, | |
getDefaultProps: O.DEFINE_MANY_MERGED, | |
getInitialState: O.DEFINE_MANY_MERGED, | |
getChildContext: O.DEFINE_MANY_MERGED, | |
render: O.DEFINE_ONCE, | |
componentWillMount: O.DEFINE_MANY, | |
componentDidMount: O.DEFINE_MANY, | |
componentWillReceiveProps: O.DEFINE_MANY, | |
shouldComponentUpdate: O.DEFINE_ONCE, | |
componentWillUpdate: O.DEFINE_MANY, | |
componentDidUpdate: O.DEFINE_MANY, | |
componentWillUnmount: O.DEFINE_MANY, | |
updateComponent: O.OVERRIDE_BASE | |
}, | |
$ = { | |
displayName: function(e, t) { | |
e.displayName = t | |
}, | |
mixins: function(e, t) { | |
if (t) | |
for (var n = 0; n < t.length; n++) u(e, t[n]) | |
}, | |
childContextTypes: function(e, t) { | |
a(e, t, E.childContext), e.childContextTypes = Object.assign({}, e.childContextTypes, t) | |
}, | |
contextTypes: function(e, t) { | |
a(e, t, E.context), e.contextTypes = Object.assign({}, e.contextTypes, t) | |
}, | |
getDefaultProps: function(e, t) { | |
e.getDefaultProps = e.getDefaultProps ? p(e.getDefaultProps, t) : t | |
}, | |
propTypes: function(e, t) { | |
a(e, t, E.prop), e.propTypes = Object.assign({}, e.propTypes, t) | |
}, | |
statics: function(e, t) { | |
c(e, t) | |
} | |
}, | |
B = T({ | |
MOUNTING: null, | |
UNMOUNTING: null, | |
RECEIVING_PROPS: null | |
}), | |
U = { | |
construct: function() { | |
f.Mixin.construct.apply(this, arguments), b.Mixin.construct.apply(this, arguments), this.state = null, this._pendingState = null, this.context = null, this._compositeLifeCycleState = null | |
}, | |
isMounted: function() { | |
return f.Mixin.isMounted.call(this) && this._compositeLifeCycleState !== B.MOUNTING | |
}, | |
mountComponent: R.measure("ReactCompositeComponent", "mountComponent", function(e, t, n) { | |
f.Mixin.mountComponent.call(this, e, t, n), this._compositeLifeCycleState = B.MOUNTING, this.__reactAutoBindMap && this._bindAutoBindMethods(), this.context = this._processContext(this._currentElement._context), this.props = this._processProps(this.props), this.state = this.getInitialState ? this.getInitialState() : null, ("object" != typeof this.state || Array.isArray(this.state)) && I(0, "%s.getInitialState(): must return an object or null", this.constructor.displayName || "ReactCompositeComponent"), this._pendingState = null, this._pendingForceUpdate = !1, this.componentWillMount && (this.componentWillMount(), this._pendingState && (this.state = this._pendingState, this._pendingState = null)), this._renderedComponent = F(this._renderValidatedComponent(), this._currentElement.type), this._compositeLifeCycleState = null; | |
var r = this._renderedComponent.mountComponent(e, t, n + 1); | |
return this.componentDidMount && t.getReactMountReady().enqueue(this.componentDidMount, this), r | |
}), | |
unmountComponent: function() { | |
this._compositeLifeCycleState = B.UNMOUNTING, this.componentWillUnmount && this.componentWillUnmount(), this._compositeLifeCycleState = null, this._renderedComponent.unmountComponent(), this._renderedComponent = null, f.Mixin.unmountComponent.call(this) | |
}, | |
setState: function(e, t) { | |
"object" != typeof e && null != e && I(0, "setState(...): takes an object of state variables to update."), __DEV__ && A(null != e, "setState(...): You passed an undefined or null state object; instead, use forceUpdate()."), this.replaceState(Object.assign({}, this._pendingState || this.state, e), t) | |
}, | |
replaceState: function(e, t) { | |
l(this), this._pendingState = e, this._compositeLifeCycleState !== B.MOUNTING && x.enqueueUpdate(this, t) | |
}, | |
_processContext: function(e) { | |
var t = null, | |
n = this.constructor.contextTypes; | |
if (n) { | |
t = {}; | |
for (var r in n) t[r] = e[r]; | |
__DEV__ && this._checkPropTypes(n, t, E.context) | |
} | |
return t | |
}, | |
_processChildContext: function(e) { | |
var t = this.getChildContext && this.getChildContext(), | |
n = this.constructor.displayName || "ReactCompositeComponent"; | |
if (t) { | |
"object" != typeof this.constructor.childContextTypes && I(0, "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", n), __DEV__ && this._checkPropTypes(this.constructor.childContextTypes, t, E.childContext); | |
for (var r in t) r in this.constructor.childContextTypes || I(0, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', n, r); | |
return Object.assign({}, e, t) | |
} | |
return e | |
}, | |
_processProps: function(e) { | |
if (__DEV__) { | |
var t = this.constructor.propTypes; | |
t && this._checkPropTypes(t, e, E.prop) | |
} | |
return e | |
}, | |
_checkPropTypes: function(e, t, n) { | |
var r = this.constructor.displayName; | |
for (var o in e) | |
if (e.hasOwnProperty(o)) { | |
var a = e[o](t, o, r, n); | |
if (a instanceof Error) { | |
var s = i(this); | |
A(!1, a.message + s) | |
} | |
} | |
}, | |
performUpdateIfNecessary: function(e) { | |
var t = this._compositeLifeCycleState; | |
if (t !== B.MOUNTING && t !== B.RECEIVING_PROPS && (null != this._pendingElement || null != this._pendingState || this._pendingForceUpdate)) { | |
var n = this.context, | |
r = this.props, | |
o = this._currentElement; | |
null != this._pendingElement && (o = this._pendingElement, n = this._processContext(o._context), r = this._processProps(o.props), this._pendingElement = null, this._compositeLifeCycleState = B.RECEIVING_PROPS, this.componentWillReceiveProps && this.componentWillReceiveProps(r, n)), this._compositeLifeCycleState = null; | |
var i = this._pendingState || this.state; | |
this._pendingState = null; | |
var a = this._pendingForceUpdate || !this.shouldComponentUpdate || this.shouldComponentUpdate(r, i, n); | |
__DEV__ && "undefined" == typeof a && console.warn((this.constructor.displayName || "ReactCompositeComponent") + ".shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false."), a ? (this._pendingForceUpdate = !1, this._performComponentUpdate(o, r, i, n, e)) : (this._currentElement = o, this.props = r, this.state = i, this.context = n, this._owner = o._owner) | |
} | |
}, | |
_performComponentUpdate: function(e, t, n, r, o) { | |
var i = this._currentElement, | |
a = this.props, | |
s = this.state, | |
l = this.context; | |
this.componentWillUpdate && this.componentWillUpdate(t, n, r), this._currentElement = e, this.props = t, this.state = n, this.context = r, this._owner = e._owner, this.updateComponent(o, i), this.componentDidUpdate && o.getReactMountReady().enqueue(this.componentDidUpdate.bind(this, a, s, l), this) | |
}, | |
receiveComponent: function(e, t) { | |
(e !== this._currentElement || null == e._owner) && f.Mixin.receiveComponent.call(this, e, t) | |
}, | |
updateComponent: R.measure("ReactCompositeComponent", "updateComponent", function(e, t) { | |
f.Mixin.updateComponent.call(this, e, t); | |
var n = this._renderedComponent, | |
r = n._currentElement, | |
o = this._renderValidatedComponent(); | |
if (M(r, o)) n.receiveComponent(o, e); | |
else { | |
var i = this._rootNodeID, | |
a = n._rootNodeID; | |
n.unmountComponent(), this._renderedComponent = F(o, this._currentElement.type); | |
var s = this._renderedComponent.mountComponent(i, e, this._mountDepth + 1); | |
f.BackendIDOperations.dangerouslyReplaceNodeWithMarkupByID(a, s) | |
} | |
}), | |
forceUpdate: function(e) { | |
var t = this._compositeLifeCycleState; | |
this.isMounted() || t === B.MOUNTING || I(0, "forceUpdate(...): Can only force an update on mounted or mounting components."), (t === B.UNMOUNTING || null != g.current) && I(0, "forceUpdate(...): Cannot force an update while unmounting component or within a `render` function."), this._pendingForceUpdate = !0, x.enqueueUpdate(this, e) | |
}, | |
_renderValidatedComponent: R.measure("ReactCompositeComponent", "_renderValidatedComponent", function() { | |
var e, t = m.current; | |
m.current = this._processChildContext(this._currentElement._context), g.current = this; | |
try { | |
e = this.render(), null === e || e === !1 ? (e = v.getEmptyComponent(), v.registerNullComponentID(this._rootNodeID)) : v.deregisterNullComponentID(this._rootNodeID) | |
} finally { | |
m.current = t, g.current = null | |
} | |
return _.isValidElement(e) || I(0, "%s.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.", this.constructor.displayName || "ReactCompositeComponent"), e | |
}), | |
_bindAutoBindMethods: function() { | |
for (var e in this.__reactAutoBindMap) | |
if (this.__reactAutoBindMap.hasOwnProperty(e)) { | |
var t = this.__reactAutoBindMap[e]; | |
this[e] = this._bindAutoBindMethod(S.guard(t, this.constructor.displayName + "." + e)) | |
} | |
}, | |
_bindAutoBindMethod: function(e) { | |
var t = this, | |
n = e.bind(t); | |
if (__DEV__) { | |
n.__reactBoundContext = t, n.__reactBoundMethod = e, n.__reactBoundArguments = null; | |
var r = t.constructor.displayName, | |
o = n.bind; | |
n.bind = function(i) { | |
for (var a = [], s = 1, l = arguments.length; l > s; s++) a.push(arguments[s]); | |
if (i !== t && null !== i) L("react_bind_warning", { | |
component: r | |
}), console.warn("bind(): React component methods may only be bound to the component instance. See " + r); | |
else if (!a.length) return L("react_bind_warning", { | |
component: r | |
}), console.warn("bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See " + r), n; | |
var u = o.apply(n, arguments); | |
return u.__reactBoundContext = t, u.__reactBoundMethod = e, u.__reactBoundArguments = a, u | |
} | |
} | |
return n | |
} | |
}, | |
V = function() {}; | |
Object.assign(V.prototype, f.Mixin, b.Mixin, C.Mixin, U); | |
var q = { | |
LifeCycle: B, | |
Base: V, | |
createClass: function(e) { | |
var t = function() {}; | |
t.prototype = new V, t.prototype.constructor = t, N.forEach(u.bind(null, t)), u(t, e), t.getDefaultProps && (t.defaultProps = t.getDefaultProps()), t.prototype.render || I(0, "createClass(...): Class specification must implement a `render` method."), __DEV__ && t.prototype.componentShouldUpdate && (L("react_component_should_update_warning", { | |
component: e.displayName | |
}), console.warn((e.displayName || "A component") + " has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value.")); | |
for (var n in G) t.prototype[n] || (t.prototype[n] = null); | |
return w.wrapFactory(__DEV__ ? y.createFactory(t) : _.createFactory(t)) | |
}, | |
injection: { | |
injectMixin: function(e) { | |
N.push(e) | |
} | |
} | |
}; | |
o.exports = q | |
}), __d("ReactElementValidator", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
var e = f.current; | |
return e && e.constructor.displayName || void 0 | |
} | |
function a(e, t) { | |
e._store.validated || null != e.key || (e._store.validated = !0, l("react_key_warning", 'Each child in an array should have a unique "key" prop.', e, t)) | |
} | |
function s(e, t, n) { | |
v.test(e) && l("react_numeric_key_warning", "Child objects should have non-numeric keys so ordering is preserved.", t, n) | |
} | |
function l(e, t, n, r) { | |
var o = i(), | |
a = r.displayName, | |
s = o || a, | |
l = g[e]; | |
if (!l.hasOwnProperty(s)) { | |
l[s] = !0, t += o ? " Check the render method of " + o + "." : " Check the renderComponent call using <" + a + ">."; | |
var u = null; | |
n._owner && n._owner !== f.current && (u = n._owner.constructor.displayName, t += " It was passed a child from " + u + "."), t += " See http://fb.me/react-warning-keys for more information.", m(e, { | |
component: s, | |
componentOwner: u | |
}), console.warn(t) | |
} | |
} | |
function u() { | |
var e = i() || ""; | |
_.hasOwnProperty(e) || (_[e] = !0, m("react_object_map_children")) | |
} | |
function c(e, t) { | |
if (Array.isArray(e)) | |
for (var n = 0; n < e.length; n++) { | |
var r = e[n]; | |
p.isValidElement(r) && a(r, t) | |
} else if (p.isValidElement(e)) e._store.validated = !0; | |
else if (e && "object" == typeof e) { | |
u(); | |
for (var o in e) s(o, e[o], t) | |
} | |
} | |
function d(e, t, n, r) { | |
for (var o in t) | |
if (t.hasOwnProperty(o)) { | |
var i; | |
try { | |
i = t[o](n, o, e, r) | |
} catch (a) { | |
i = a | |
} | |
i instanceof Error && !(i.message in y) && (y[i.message] = !0, m("react_failed_descriptor_type_check", { | |
message: i.message | |
})) | |
} | |
} | |
var p = t("ReactElement"), | |
h = t("ReactPropTypeLocations"), | |
f = t("ReactCurrentOwner"), | |
m = t("monitorCodeUse"), | |
g = { | |
react_key_warning: {}, | |
react_numeric_key_warning: {} | |
}, | |
_ = {}, | |
y = {}, | |
v = /^\d+$/, | |
S = { | |
createElement: function(e) { | |
var t = p.createElement.apply(this, arguments); | |
if (null == t) return t; | |
for (var n = 2; n < arguments.length; n++) c(arguments[n], e); | |
var r = e.displayName; | |
return e.propTypes && d(r, e.propTypes, t.props, h.prop), e.contextTypes && d(r, e.contextTypes, t._context, h.context), t | |
}, | |
createFactory: function(e) { | |
var t = S.createElement.bind(null, e); | |
return t.type = e, t | |
} | |
}; | |
o.exports = S | |
}), __d("ReactPropTypeLocations", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("keyMirror"), | |
a = i({ | |
prop: null, | |
context: null, | |
childContext: null | |
}); | |
o.exports = a | |
}), __d("monitorCodeUse", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
(!e || /[^a-z0-9_]/.test(e)) && a(0, "You must provide an eventName using only the characters [a-z0-9_]") | |
} | |
var a = t("invariant"); | |
o.exports = i | |
}), __d("ReactEmptyComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
return u || d(0, "Trying to return null from a render, but no null placeholder component was injected."), u() | |
} | |
function a(e) { | |
p[e] = !0 | |
} | |
function s(e) { | |
delete p[e] | |
} | |
function l(e) { | |
return p[e] | |
} | |
var u, c = t("ReactElement"), | |
d = t("invariant"), | |
p = {}, | |
h = { | |
injectEmptyComponent: function(e) { | |
u = c.createFactory(e) | |
} | |
}, | |
f = { | |
deregisterNullComponentID: s, | |
getEmptyComponent: i, | |
injection: h, | |
isNullComponentID: l, | |
registerNullComponentID: a | |
}; | |
o.exports = f | |
}), __d("ReactErrorUtils", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
guard: function(e) { | |
return e | |
} | |
}; | |
o.exports = i | |
}), __d("ReactLegacyElement", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
if (g._isLegacyCallWarningEnabled) { | |
var e = u.current, | |
t = e && e.constructor ? e.constructor.displayName : ""; | |
t || (t = "Something"), h.hasOwnProperty(t) || (h[t] = !0, p(!1, t + " is calling a React component directly. Use a factory or JSX instead. See: http://fb.me/react-legacyfactory"), d("react_legacy_factory_call", { | |
version: 3, | |
name: t | |
})) | |
} | |
} | |
function a(e) { | |
var t = e.prototype && "function" == typeof e.prototype.mountComponent && "function" == typeof e.prototype.receiveComponent; | |
if (t) p(!1, "Did not expect to get a React class here. Use `Component` instead of `Component.type` or `this.constructor`."); | |
else { | |
if (!e._reactWarnedForThisType) { | |
try { | |
e._reactWarnedForThisType = !0 | |
} catch (n) {} | |
d("react_non_component_in_jsx", { | |
version: 3, | |
name: e.name | |
}) | |
} | |
p(!1, "This JSX uses a plain function. Only React components are valid in React's JSX transform.") | |
} | |
} | |
function s(e) { | |
p(!1, "Do not pass React.DOM." + e.type + ' to JSX or createFactory. Use the string "' + e + '" instead.') | |
} | |
function l(e, t) { | |
if ("function" == typeof t) | |
for (var n in t) | |
if (t.hasOwnProperty(n)) { | |
var r = t[n]; | |
if ("function" == typeof r) { | |
var o = r.bind(t); | |
for (var i in r) r.hasOwnProperty(i) && (o[i] = r[i]); | |
e[n] = o | |
} else e[n] = r | |
} | |
} | |
var u = t("ReactCurrentOwner"), | |
c = t("invariant"), | |
d = t("monitorCodeUse"), | |
p = t("warning"), | |
h = {}, | |
f = {}, | |
m = {}, | |
g = {}; | |
g.wrapCreateFactory = function(e) { | |
var t = function(t) { | |
return "function" != typeof t ? e(t) : t.isReactNonLegacyFactory ? (__DEV__ && s(t), e(t.type)) : t.isReactLegacyFactory ? e(t.type) : (__DEV__ && a(t), t) | |
}; | |
return t | |
}, g.wrapCreateElement = function(e) { | |
var t = function(t) { | |
if ("function" != typeof t) return e.apply(this, arguments); | |
var n; | |
return t.isReactNonLegacyFactory ? (__DEV__ && s(t), n = Array.prototype.slice.call(arguments, 0), n[0] = t.type, e.apply(this, n)) : t.isReactLegacyFactory ? (t._isMockFunction && (t.type._mockedReactClassConstructor = t), n = Array.prototype.slice.call(arguments, 0), n[0] = t.type, e.apply(this, n)) : (__DEV__ && a(t), t.apply(null, Array.prototype.slice.call(arguments, 1))) | |
}; | |
return t | |
}, g.wrapFactory = function(e) { | |
"function" != typeof e && c(0, "This is suppose to accept a element factory"); | |
var t = function() { | |
return __DEV__ && i(), e.apply(this, arguments) | |
}; | |
return l(t, e.type), t.isReactLegacyFactory = f, t.type = e.type, t | |
}, g.markNonLegacyFactory = function(e) { | |
return e.isReactNonLegacyFactory = m, e | |
}, g.isValidFactory = function(e) { | |
return "function" == typeof e && e.isReactLegacyFactory === f | |
}, g._isLegacyCallWarningEnabled = !0, o.exports = g | |
}), __d("ReactPropTransferer", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return function(t, n, r) { | |
t[n] = t.hasOwnProperty(n) ? e(t[n], r) : r | |
} | |
} | |
function a(e, t) { | |
for (var n in t) | |
if (t.hasOwnProperty(n)) { | |
var r = h[n]; | |
r && h.hasOwnProperty(n) ? r(e, n, t[n]) : e.hasOwnProperty(n) || (e[n] = t[n]) | |
} | |
return e | |
} | |
var s = t("emptyFunction"), | |
l = t("invariant"), | |
u = t("joinClasses"), | |
c = t("warning"), | |
d = !1, | |
p = i(function(e, t) { | |
return Object.assign({}, t, e) | |
}), | |
h = { | |
children: s, | |
className: i(u), | |
style: p | |
}, | |
f = { | |
TransferStrategies: h, | |
mergeProps: function(e, t) { | |
return a(Object.assign({}, e), t) | |
}, | |
Mixin: { | |
transferPropsTo: function(e) { | |
return e._owner !== this && l(0, "%s: You can't call transferPropsTo() on a component that you don't own, %s. This usually means you are calling transferPropsTo() on a component passed in as props or children.", this.constructor.displayName, "string" == typeof e.type ? e.type : e.type.displayName), __DEV__ && (d || (d = !0, c(!1, "transferPropsTo is deprecated. See http://fb.me/react-transferpropsto for more information."))), a(e.props, this.props), e | |
} | |
} | |
}; | |
o.exports = f | |
}), __d("joinClasses", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
e || (e = ""); | |
var t, n = arguments.length; | |
if (n > 1) | |
for (var r = 1; n > r; r++) t = arguments[r], t && (e = (e ? e + " " : "") + t); | |
return e | |
} | |
o.exports = i | |
}), __d("ReactPropTypeLocationNames", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = {}; | |
__DEV__ && (i = { | |
prop: "prop", | |
context: "context", | |
childContext: "child context" | |
}), o.exports = i | |
}), __d("instantiateReactComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
var n; | |
if (__DEV__ && (a(e && ("function" == typeof e.type || "string" == typeof e.type), "Only functions or strings can be mounted as React components."), e.type._mockedReactClassConstructor)) { | |
l._isLegacyCallWarningEnabled = !1; | |
try { | |
n = new e.type._mockedReactClassConstructor(e.props) | |
} finally { | |
l._isLegacyCallWarningEnabled = !0 | |
} | |
s.isValidElement(n) && (n = new n.type(n.props)); | |
var r = n.render; | |
if (r) return r._isMockFunction && !r._getMockImplementation() && r.mockImplementation(c.getEmptyComponent), n.construct(e), n; | |
e = c.getEmptyComponent() | |
} | |
return n = "string" == typeof e.type ? u.createInstanceForTag(e.type, e.props, t) : new e.type(e.props), __DEV__ && a("function" == typeof n.construct && "function" == typeof n.mountComponent && "function" == typeof n.receiveComponent, "Only React Components can be mounted."), n.construct(e), n | |
} | |
var a = t("warning"), | |
s = t("ReactElement"), | |
l = t("ReactLegacyElement"), | |
u = t("ReactNativeComponent"), | |
c = t("ReactEmptyComponent"); | |
o.exports = i | |
}), __d("ReactNativeComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
var r = l[e]; | |
return null == r ? (s || a(0, "There is no registered component for the tag %s", e), new s(e, t)) : n === e ? (s || a(0, "There is no registered component for the tag %s", e), new s(e, t)) : new r.type(t) | |
} | |
var a = t("invariant"), | |
s = null, | |
l = {}, | |
u = { | |
injectGenericComponentClass: function(e) { | |
s = e | |
}, | |
injectComponentClasses: function(e) { | |
Object.assign(l, e) | |
} | |
}, | |
c = { | |
createInstanceForTag: i, | |
injection: u | |
}; | |
o.exports = c | |
}), __d("keyOf", [], function(e, t, n, r, o) { | |
var i = function(e) { | |
var t; | |
for (t in e) | |
if (e.hasOwnProperty(t)) return t; | |
return null | |
}; | |
o.exports = i | |
}), __d("mapObject", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
if (!e) return null; | |
var r = {}; | |
for (var o in e) a.call(e, o) && (r[o] = t.call(n, e[o], o, e)); | |
return r | |
} | |
var a = Object.prototype.hasOwnProperty; | |
o.exports = i | |
}), __d("shouldUpdateReactComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return e && t && e.type === t.type && e.key === t.key && e._owner === t._owner ? !0 : !1 | |
} | |
o.exports = i | |
}), __d("ReactInstanceHandles", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return m + e.toString(36) | |
} | |
function a(e, t) { | |
return e.charAt(t) === m || t === e.length | |
} | |
function s(e) { | |
return "" === e || e.charAt(0) === m && e.charAt(e.length - 1) !== m | |
} | |
function l(e, t) { | |
return 0 === t.indexOf(e) && a(t, e.length) | |
} | |
function u(e) { | |
return e ? e.substr(0, e.lastIndexOf(m)) : "" | |
} | |
function c(e, t) { | |
if (s(e) && s(t) || f(0, "getNextDescendantID(%s, %s): Received an invalid React DOM ID.", e, t), l(e, t) || f(0, "getNextDescendantID(...): React has made an invalid assumption about the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.", e, t), e === t) return e; | |
for (var n = e.length + g, r = n; r < t.length && !a(t, r); r++); | |
return t.substr(0, r) | |
} | |
function d(e, t) { | |
var n = Math.min(e.length, t.length); | |
if (0 === n) return ""; | |
for (var r = 0, o = 0; n >= o; o++) | |
if (a(e, o) && a(t, o)) r = o; | |
else if (e.charAt(o) !== t.charAt(o)) break; | |
var i = e.substr(0, r); | |
return s(i) || f(0, "getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s", e, t, i), i | |
} | |
function p(e, t, n, r, o, i) { | |
e = e || "", t = t || "", e === t && f(0, "traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.", e); | |
var a = l(t, e); | |
a || l(e, t) || f(0, "traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do not have a parent path.", e, t); | |
for (var s = 0, d = a ? u : c, p = e;; p = d(p, t)) { | |
var h; | |
if (o && p === e || i && p === t || (h = n(p, a, r)), h === !1 || p === t) break; | |
s++ < _ || f(0, "traverseParentPath(%s, %s, ...): Detected an infinite loop while traversing the React DOM ID tree. This may be due to malformed IDs: %s", e, t) | |
} | |
} | |
var h = t("ReactRootIndex"), | |
f = t("invariant"), | |
m = ".", | |
g = m.length, | |
_ = 100, | |
y = { | |
createReactRootID: function() { | |
return i(h.createReactRootIndex()) | |
}, | |
createReactID: function(e, t) { | |
return e + t | |
}, | |
getReactRootIDFromNodeID: function(e) { | |
if (e && e.charAt(0) === m && e.length > 1) { | |
var t = e.indexOf(m, 1); | |
return t > -1 ? e.substr(0, t) : e | |
} | |
return null | |
}, | |
traverseEnterLeave: function(e, t, n, r, o) { | |
var i = d(e, t); | |
i !== e && p(e, i, n, r, !1, !0), i !== t && p(i, t, n, o, !0, !1) | |
}, | |
traverseTwoPhase: function(e, t, n) { | |
e && (p("", e, t, n, !0, !1), p(e, "", t, n, !1, !0)) | |
}, | |
traverseTwoPhaseSkipTarget: function(e, t, n) { | |
e && (p("", e, t, n, !0, !0), p(e, "", t, n, !0, !0)) | |
}, | |
traverseAncestors: function(e, t, n) { | |
p("", e, t, n, !0, !1) | |
}, | |
_getFirstCommonAncestorID: d, | |
_getNextDescendantID: c, | |
isAncestorIDOf: l, | |
SEPARATOR: m | |
}; | |
o.exports = y | |
}), __d("ReactRootIndex", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
injectCreateReactRootIndex: function(e) { | |
a.createReactRootIndex = e | |
} | |
}, | |
a = { | |
createReactRootIndex: null, | |
injection: i | |
}; | |
o.exports = a | |
}), __d("ReactIOSDefaultInjection", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
a.injection.injectEventPluginOrder(l), a.injection.injectInstanceHandle(m), b.injection.injectGlobalResponderHandler(y), a.injection.injectEventPluginsByName({ | |
ResponderEventPlugin: b, | |
IOSNativeBridgeEventPlugin: u | |
}), w.injection.injectReconcileTransaction(g.ReactReconcileTransaction), w.injection.injectBatchingStrategy(h), d.injection.injectEnvironment(g), s.injection.injectMount(v), p.injection.injectMixin(_), S.inject(function(e) { | |
return new f(R.type, null, null, null, null, { | |
text: e | |
}) | |
}), c.injection.injectImplementation(C) | |
} | |
t("InitializeJavaScriptAppEngine"); | |
var a = t("EventPluginHub"), | |
s = t("EventPluginUtils"), | |
l = t("IOSDefaultEventPluginOrder"), | |
u = t("IOSNativeBridgeEventPlugin"), | |
c = t("NodeHandle"), | |
d = t("ReactComponent"), | |
p = t("ReactCompositeComponent"), | |
h = t("ReactDefaultBatchingStrategy"), | |
f = t("ReactElement"), | |
m = t("ReactInstanceHandles"), | |
g = t("ReactIOSComponentEnvironment"), | |
_ = t("ReactIOSComponentMixin"), | |
y = t("ReactIOSGlobalResponderHandler"), | |
v = t("ReactIOSMount"), | |
S = t("ReactTextComponent"), | |
w = t("ReactUpdates"), | |
b = t("ResponderEventPlugin"), | |
R = t("RKRawText"), | |
C = t("UniversalWorkerNodeHandle"); | |
t("RKEventEmitter"), t("RKLog"), t("RKJSTimers"), o.exports = { | |
inject: i | |
} | |
}), __d("InitializeJavaScriptAppEngine", [], function(e, t) { | |
function n(e) { | |
GLOBAL.console.error("Error: \n stack: \n" + e.stack + "\n URL: " + e.sourceURL + "\n line: " + e.line + "\n message: " + e.message), c && (c.reportUnhandledException(e.message, d(e)), __DEV__ && p(function(t) { | |
try { | |
var n = d(e, t); | |
c.updateExceptionMessage(e.message, n) | |
} catch (r) { | |
GLOBAL.console.error("#CLOWNTOWN (error while displaying error): " + r.message) | |
} | |
})) | |
} | |
function r() { | |
l.setGlobalHandler(n) | |
} | |
function o() { | |
GLOBAL.Text = void 0, GLOBAL.Image = void 0, GLOBAL.document = { | |
body: {}, | |
createElement: function() { | |
return {} | |
} | |
} | |
} | |
function i() { | |
GLOBAL.setTimeout = s.setTimeout, GLOBAL.setInterval = s.setInterval, GLOBAL.setImmediate = s.setImmediate, GLOBAL.clearTimeout = s.clearTimeout, GLOBAL.clearInterval = s.clearInterval, GLOBAL.clearImmediate = s.clearImmediate, GLOBAL.cancelAnimationFrame = s.clearInterval, GLOBAL.requestAnimationFrame = function(e) { | |
return s.requestAnimationFrame(e) | |
}, "undefined" != typeof __fbUseWebSocketMessageQueue && s.setInterval(function() {}, 0) | |
} | |
function a() { | |
GLOBAL.alert || (GLOBAL.alert = function(e) { | |
var t = { | |
title: "Alert", | |
message: "" + e, | |
buttons: [{ | |
cancel: "Okay" | |
}] | |
}; | |
u.alertWithArgs(t, null) | |
}) | |
} | |
var s = t("JSTimers"); | |
t("RKDeviceEventEmitter"); | |
var l = t("ErrorUtils"), | |
u = t("RKAlertManager"), | |
c = t("NativeModules").RKExceptionsManager, | |
d = t("errorToString"), | |
p = t("loadSourceMap"); | |
"undefined" == typeof GLOBAL && (GLOBAL = this), "undefined" == typeof window && (window = GLOBAL), r(), o(), i(), a() | |
}), __d("JSTimers", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModules").RKTiming, | |
a = t("JSTimersExecution"), | |
s = { | |
Types: a.Types, | |
_getFreeIndex: function() { | |
var e = a.timerIDs.indexOf(null); | |
return -1 === e && (e = a.timerIDs.length), e | |
}, | |
setTimeout: function(e, t) { | |
for (var n = [], r = 2, o = arguments.length; o > r; r++) n.push(arguments[r]); | |
var l = a.GUID++, | |
u = s._getFreeIndex(); | |
return a.timerIDs[u] = l, a.callbacks[u] = e, a.callbacks[u] = function() { | |
return e.apply(void 0, n) | |
}, a.types[u] = a.Type.setTimeout, i.createTimer(l, t, Date.now(), !1), l | |
}, | |
setInterval: function(e, t) { | |
for (var n = [], r = 2, o = arguments.length; o > r; r++) n.push(arguments[r]); | |
var l = a.GUID++, | |
u = s._getFreeIndex(); | |
return a.timerIDs[u] = l, a.callbacks[u] = e, a.callbacks[u] = function() { | |
return e.apply(void 0, n) | |
}, a.types[u] = a.Type.setInterval, i.createTimer(l, t, Date.now(), !0), l | |
}, | |
setImmediate: function(e) { | |
for (var t = [], n = 1, r = arguments.length; r > n; n++) t.push(arguments[n]); | |
var o = a.GUID++, | |
i = s._getFreeIndex(); | |
return a.timerIDs[i] = o, a.callbacks[i] = e, a.callbacks[i] = function() { | |
return e.apply(void 0, t) | |
}, a.types[i] = a.Type.setImmediate, a.immediates.push(o), o | |
}, | |
requestAnimationFrame: function(e) { | |
var t = a.GUID++, | |
n = s._getFreeIndex(); | |
return a.timerIDs[n] = t, a.callbacks[n] = e, a.types[n] = a.Type.requestAnimationFrame, i.createTimer(t, 0, Date.now(), !1), t | |
}, | |
clearTimeout: function(e) { | |
s._clearTimerID(e) | |
}, | |
clearInterval: function(e) { | |
s._clearTimerID(e) | |
}, | |
clearImmediate: function(e) { | |
s._clearTimerID(e), a.immediates.splice(a.immediates.indexOf(e), 1) | |
}, | |
cancelAnimationFrame: function(e) { | |
s._clearTimerID(e) | |
}, | |
_clearTimerID: function(e) { | |
var t = a.timerIDs.indexOf(e); - 1 !== t && (a._clearIndex(t), a.types[t] !== a.Type.setImmediate && i.deleteTimer(e)) | |
} | |
}; | |
o.exports = s | |
}), __d("NativeModules", [], function(e, t, n, r, o) { | |
"use strict"; | |
o.exports = t("BatchedBridge").RemoteModules | |
}), __d("BatchedBridge", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i, a = t("BatchedBridgeFactory"); | |
i = t("undefined" != typeof __fbUseWebSocketMessageQueue ? "WebSocketMessageQueue" : "MessageQueue"); | |
var s = __fbBatchedBridgeConfig.remoteModuleConfig, | |
l = __fbBatchedBridgeConfig.localModulesConfig, | |
u = a.create(i, s, l); | |
u._config = s, o.exports = u | |
}), __d("BatchedBridgeFactory", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = t("keyMirror"), | |
s = t("mapObject"), | |
l = t("warning"), | |
u = Array.prototype.slice, | |
c = a({ | |
remote: null, | |
local: null | |
}), | |
d = { | |
MethodTypes: c, | |
_createDeprecatedBridgedModule: function(e, t, n) { | |
var r = s(t.methods, function(t, r) { | |
return t.type === c.local ? null : function() { | |
var t = arguments.length ? arguments[arguments.length - 1] : null, | |
o = "function" == typeof t, | |
i = u.call(arguments, 0, arguments.length - (o ? 1 : 0)), | |
a = o ? t : null; | |
return e.callDeprecated(n, r, i, a) | |
} | |
}); | |
for (var o in t.constants) l(!r[o], "saw constant and method named %s", o), r[o] = t.constants[o]; | |
return r | |
}, | |
_createBridgedModule: function(e, t, n) { | |
var r = s(t.methods, function(t, r) { | |
return t.type === c.local ? null : function() { | |
var t = arguments.length > 0 ? arguments[arguments.length - 1] : null, | |
o = arguments.length > 1 ? arguments[arguments.length - 2] : null, | |
a = "function" == typeof t, | |
s = "function" == typeof o, | |
l = a; | |
a && s || !a && !s || i(0, "You must supply error callbacks and success callbacks or neither"); | |
var c = u.call(arguments, 0, arguments.length - (l ? 2 : 0)), | |
d = l ? t : null, | |
p = l ? o : null; | |
return e.call(n, r, c, p, d) | |
} | |
}); | |
for (var o in t.constants) l(!r[o], "saw constant and method named %s", o), r[o] = t.constants[o]; | |
return r | |
}, | |
create: function(e, t, n) { | |
var r = new e(t, n); | |
return { | |
callFunction: r.callFunction.bind(r), | |
callFunctionReturnFlushedQueue: r.callFunctionReturnFlushedQueue.bind(r), | |
invokeCallback: r.invokeCallback.bind(r), | |
invokeCallbackAndReturnFlushedQueue: r.invokeCallbackAndReturnFlushedQueue.bind(r), | |
flushedQueue: r.flushedQueue.bind(r), | |
RemoteModulesDeprecated: s(t, this._createDeprecatedBridgedModule.bind(this, r)), | |
RemoteModules: s(t, this._createBridgedModule.bind(this, r)), | |
setLoggingEnabled: r.setLoggingEnabled.bind(r), | |
getLoggedOutgoingItems: r.getLoggedOutgoingItems.bind(r), | |
getLoggedIncomingItems: r.getLoggedIncomingItems.bind(r), | |
replayPreviousLog: r.replayPreviousLog.bind(r) | |
} | |
} | |
}; | |
o.exports = d | |
}), __d("WebSocketMessageQueue", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
i.instances || (i.instances = []), i.instances.push(this), a.apply(this, e), this._ws = l(u ? i.CatalystJSRuntime(this) : i.RemoteJSRuntime(this)) | |
} | |
var a = t("MessageQueue"), | |
s = t("JSONRPC"), | |
l = t("createJSONRPCWebSocket"), | |
u = "undefined" != typeof navigator && navigator.userAgent.indexOf("Catalyst") > -1; | |
s.MessageID = u ? 2e4 : 3e4, s.Runtime = u ? "Catalyst" : "Browser", i.prototype = Object.create(a.prototype), i.CatalystJSRuntime = function(e) { | |
return { | |
url: "ws://localhost:8188", | |
onerror: function(e) { | |
console.error(e.error) | |
}, | |
methods: { | |
connected: function() { | |
this["CatalystJSRuntime init"]() | |
}, | |
clientAdded: function() { | |
this["CatalystJSRuntime init"]() | |
}, | |
"CatalystJSRuntime init": function() { | |
e._ws.unpause(), e._ws.sendMethodCall("CatalystJSRuntime connected", [{ | |
location: this["CatalystJSRuntime location get"](), | |
"NATIVELY INJECTED OBJECTS": this["CatalystJSRuntime NATIVELY INJECTED OBJECTS get"]() | |
}]), e._ws.pause() | |
}, | |
"RemoteBootstrapJSRuntime ready": function() { | |
this["CatalystJSRuntime init"]() | |
}.bind(this), | |
"RemoteJSRuntime ready": function() { | |
e._ws.unpause(), e._ws.flush() | |
}, | |
"CatalystJSRuntime NATIVELY INJECTED OBJECTS get": function() { | |
var e = document.getElementsByTagName("script")[0].innerText; | |
return e.substr(e.indexOf("/* BEGIN NATIVELY INJECTED OBJECTS */"), e.indexOf("/* END NATIVELY INJECTED OBJECTS */")) | |
}, | |
"CatalystJSRuntime location get": function() { | |
return window.location.href | |
}, | |
"CatalystJSRuntime MessageQueue$_pushRequestToOutgoingItems": function() { | |
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]); | |
a.prototype._pushRequestToOutgoingItems.apply(e, t) | |
} | |
} | |
} | |
}.bind(this), i.RemoteJSRuntime = function(e) { | |
return { | |
url: "ws://localhost:8188", | |
onerror: function(e) { | |
console.error(e.error) | |
}, | |
methods: { | |
connected: function() { | |
e._ws.sendMethodCall("RemoteJSRuntime ready", [], function() { | |
e._ws.unpause(), e._ws.flush() | |
}), e._ws.flush() | |
}, | |
clientAdded: function() { | |
window.onbeforeunload = function() {}, location.reload() | |
}, | |
clientRemoved: function() {}, | |
"CatalystJSRuntime connected": function() {}, | |
"RemoteJSRuntime MessageQueue$_callFunction": function() { | |
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]); | |
return a.prototype._callFunction.apply(e, t) | |
}, | |
"RemoteJSRuntime MessageQueue$_invokeCallback": function() { | |
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]); | |
return a.prototype._invokeCallback.apply(e, t) | |
}, | |
"RemoteJSRuntime MessageQueue$_flushedQueueUnguarded": function() { | |
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]); | |
return a.prototype._flushedQueueUnguarded.apply(e, t) | |
} | |
} | |
} | |
}, u && (i.prototype._callFunction = function() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
this._ws.sendMethodCall("RemoteJSRuntime MessageQueue$_callFunction", e) | |
}, i.prototype._invokeCallback = function() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
this._ws.sendMethodCall("RemoteJSRuntime MessageQueue$_invokeCallback", e) | |
}, i.prototype._isFlushedQueueEmpty = function() { | |
return !(this._outgoingItems.length > 0 && this._outgoingItems[0].length > 0 && this._outgoingItems[0][0].length > 0) | |
}, i.prototype._pushRequestToOutgoingItems = function() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
return console.warn("Ignored _pushRequestToOutgoingItems!", "Catalyst JS runtime is running in remote debug mode. This function should never get called."), a.prototype._pushRequestToOutgoingItems.apply(this, e) | |
}), u || (i.prototype._pushRequestToOutgoingItems = function() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
this._ws.sendMethodCall("CatalystJSRuntime MessageQueue$_pushRequestToOutgoingItems", e) | |
}), o.exports = i | |
}), __d("MessageQueue", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ErrorUtils"), | |
a = t("invariant"), | |
s = t("warning"), | |
l = t("JSTimersExecution"), | |
u = "Error in MessageQueue implementation", | |
c = t, | |
d = function(e, t, n) { | |
return e[t].apply(e, n) | |
}, | |
p = function(e, t, n) { | |
this._requireFunc = n || c, this._initBookeeping(), this._initNamingMap(e, t) | |
}, | |
h = 0, | |
f = 1, | |
m = 2, | |
g = 3, | |
_ = 4, | |
y = function(e, t, n, r) { | |
return e && i.applyWithGuard(e, r, t), n ? i.applyWithGuard(n, r, null) : null | |
}, | |
v = function() { | |
return { | |
GUID: 1, | |
errorCallbackIDForSuccessCallbackID: function(e) { | |
return e + 1 | |
}, | |
successCallbackIDForErrorCallbackID: function(e) { | |
return e - 1 | |
}, | |
allocateCallbackIDs: function(e) { | |
e.successCallbackID = this.GUID++, e.errorCallbackID = this.GUID++ | |
}, | |
isSuccessCallback: function(e) { | |
return e % 2 === 1 | |
} | |
} | |
}, | |
S = { | |
_initNamingMap: function(e, t) { | |
function n(e, t, n, r, o) { | |
for (var i in e) { | |
var a = e[i], | |
s = a.moduleID; | |
t[i] = s, n[s] = i, r[i] = {}, o[i] = {}; | |
var l = a.methods; | |
for (var u in l) { | |
var c = l[u].methodID; | |
r[i][u] = c, o[i][c] = u | |
} | |
} | |
} | |
this._remoteModuleNameToModuleID = {}, this._remoteModuleIDToModuleName = {}, this._remoteModuleNameToMethodNameToID = {}, this._remoteModuleNameToMethodIDToName = {}, this._localModuleNameToModuleID = {}, this._localModuleIDToModuleName = {}, this._localModuleNameToMethodNameToID = {}, this._localModuleNameToMethodIDToName = {}, n(e, this._remoteModuleNameToModuleID, this._remoteModuleIDToModuleName, this._remoteModuleNameToMethodNameToID, this._remoteModuleNameToMethodIDToName), n(t, this._localModuleNameToModuleID, this._localModuleIDToModuleName, this._localModuleNameToMethodNameToID, this._localModuleNameToMethodIDToName) | |
}, | |
_initBookeeping: function() { | |
this._POOLED_CBIDS = { | |
errorCallbackID: null, | |
successCallbackID: null | |
}, this._bookkeeping = v(), this._threadLocalCallbacksByID = [], this._threadLocalScopesByID = [], this._outgoingItems = [ | |
[], | |
[], | |
[], | |
[], | |
[] | |
], this._outgoingItemsSwap = [ | |
[], | |
[], | |
[], | |
[], | |
[] | |
] | |
}, | |
invokeCallback: function(e, t) { | |
return y(this._invokeCallback, [e, t], null, this) | |
}, | |
_invokeCallback: function(e, t) { | |
try { | |
var n = this._threadLocalCallbacksByID[e], | |
r = this._threadLocalScopesByID[e]; | |
s(n, "Cannot find callback with CBID %s. Native module may have invoked both the success callback and the error callback.", e), n.apply(r, t) | |
} catch (o) { | |
throw o | |
} finally { | |
this._freeResourcesForCallbackID(e) | |
} | |
}, | |
invokeCallbackAndReturnFlushedQueue: function(e, t) { | |
return this._enableLogging && this._loggedIncomingItems.push([(new Date).getTime(), e, t]), y(this._invokeCallback, [e, t], this._flushedQueueUnguarded, this) | |
}, | |
callFunction: function(e, t, n) { | |
return y(this._callFunction, [e, t, n], null, this) | |
}, | |
_callFunction: function(e, t, n) { | |
var r = this._localModuleIDToModuleName[e], | |
o = this._localModuleNameToMethodIDToName[r][t], | |
i = d(this._requireFunc(r), o, n); | |
return i | |
}, | |
callFunctionReturnFlushedQueue: function(e, t, n) { | |
return this._enableLogging && this._loggedIncomingItems.push([(new Date).getTime(), e, t, n]), y(this._callFunction, [e, t, n], this._flushedQueueUnguarded, this) | |
}, | |
setLoggingEnabled: function(e) { | |
this._enableLogging = e, this._loggedIncomingItems = [], this._loggedOutgoingItems = [ | |
[], | |
[], | |
[], | |
[], | |
[] | |
] | |
}, | |
getLoggedIncomingItems: function() { | |
return this._loggedIncomingItems | |
}, | |
getLoggedOutgoingItems: function() { | |
return this._loggedOutgoingItems | |
}, | |
replayPreviousLog: function(e) { | |
this._outgoingItems = e | |
}, | |
_swapAndReinitializeBuffer: function() { | |
var e = this._outgoingItems, | |
t = this._outgoingItemsSwap; | |
t[h].length = 0, t[f].length = 0, t[m].length = 0, t[g].length = 0, t[_].length = 0, this._outgoingItemsSwap = e, this._outgoingItems = t | |
}, | |
_pushRequestToOutgoingItems: function(e, t, n) { | |
this._outgoingItems[h].push(e), this._outgoingItems[f].push(t), this._outgoingItems[m].push(n), this._enableLogging && (this._loggedOutgoingItems[h].push(e), this._loggedOutgoingItems[f].push(t), this._loggedOutgoingItems[m].push(n)) | |
}, | |
_pushResponseToOutgoingItems: function(e, t) { | |
this._outgoingItems[g].push(e), this._outgoingItems[_].push(t) | |
}, | |
_freeResourcesForCallbackID: function(e) { | |
var t = this._bookkeeping.isSuccessCallback(e) ? this._bookkeeping.errorCallbackIDForSuccessCallbackID(e) : this._bookkeeping.successCallbackIDForErrorCallbackID(e); | |
this._threadLocalCallbacksByID[e] = null, this._threadLocalScopesByID[e] = null, this._threadLocalCallbacksByID[t] && (this._threadLocalCallbacksByID[t] = null, this._threadLocalScopesByID[t] = null) | |
}, | |
_storeCallbacksInCurrentThread: function(e, t, n) { | |
e || t || a(0, u), this._bookkeeping.allocateCallbackIDs(this._POOLED_CBIDS); | |
var r = this._POOLED_CBIDS.successCallbackID, | |
o = this._POOLED_CBIDS.errorCallbackID; | |
this._threadLocalCallbacksByID[o] = e, this._threadLocalCallbacksByID[r] = t, this._threadLocalScopesByID[o] = n, this._threadLocalScopesByID[r] = n | |
}, | |
flushedQueue: function() { | |
return y(null, null, this._flushedQueueUnguarded, this) | |
}, | |
_flushedQueueUnguarded: function() { | |
l.callImmediates(); | |
var e = this._outgoingItems; | |
this._swapAndReinitializeBuffer(); | |
var t = e[h].length || e[_].length ? e : null; | |
return t | |
}, | |
callDeprecated: function(e, t, n, r, o) { | |
r && "function" != typeof r && a(0, "Last argument (callback) must be function"), r && (this._storeCallbacksInCurrentThread(null, r, o, this._POOLED_CBIDS), n.push(this._POOLED_CBIDS.successCallbackID)); | |
var i = this._remoteModuleNameToModuleID[e]; | |
if (void 0 === i || null === i) throw new Error("Unrecognized module name:" + e); | |
var s = this._remoteModuleNameToMethodNameToID[e][t]; | |
if (void 0 === s || null === i) throw new Error("Unrecognized method name:" + t); | |
this._pushRequestToOutgoingItems(i, s, n) | |
}, | |
call: function(e, t, n, r, o, i) { | |
(r && "function" != typeof r || o && "function" != typeof o) && a(0, "Callbacks must be functions"), (r || o) && (this._storeCallbacksInCurrentThread(r, o, i, this._POOLED_CBIDS), n.push(this._POOLED_CBIDS.errorCallbackID), n.push(this._POOLED_CBIDS.successCallbackID)); | |
var s = this._remoteModuleNameToModuleID[e]; | |
if (void 0 === s || null === s) throw new Error("Unrecognized module name:" + e); | |
var l = this._remoteModuleNameToMethodNameToID[e][t]; | |
if (void 0 === l || null === s) throw new Error("Unrecognized method name:" + t); | |
this._pushRequestToOutgoingItems(s, l, n) | |
}, | |
__numPendingCallbacksOnlyUseMeInTestCases: function() { | |
for (var e = this._threadLocalCallbacksByID, t = 0, n = 0; n < e.length; n++) e[n] && t++; | |
return t | |
} | |
}; | |
Object.assign(p.prototype, S), o.exports = p | |
}), __d("ErrorUtils", [], function(e, t, n, r, o) { | |
var i = this; | |
o.exports = i.ErrorUtils | |
}), __d("JSTimersExecution", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = t("keyMirror"), | |
s = t("performanceNow"), | |
l = t("warning"), | |
u = { | |
GUID: 1, | |
Type: a({ | |
setTimeout: null, | |
setInterval: null, | |
requestAnimationFrame: null, | |
setImmediate: null | |
}), | |
callbacks: [], | |
types: [], | |
timerIDs: [], | |
immediates: [], | |
callTimer: function(e) { | |
l(e <= u.GUID, "Tried to call timer with ID " + e + " but no such timer exists"); | |
var t = u.timerIDs.indexOf(e); | |
if (-1 !== t) { | |
var n = u.types[t], | |
r = u.callbacks[t]; | |
(n === u.Type.setTimeout || n === u.Type.setImmediate || n === u.Type.requestAnimationFrame) && u._clearIndex(t); | |
try { | |
if (n === u.Type.setTimeout || n === u.Type.setInterval || n === u.Type.setImmediate) r(); | |
else { | |
if (n !== u.Type.requestAnimationFrame) return void console.error("Tried to call a callback with invalid type: " + n); | |
var o = s(); | |
r(o) | |
} | |
} catch (i) { | |
u.errors = u.errors || [], u.errors.push(i) | |
} | |
} | |
}, | |
callTimers: function(e) { | |
0 === e.length && i(0, 'Probably shouldn\'t call "callTimers" with no timerIDs'), u.errors = null, e.forEach(u.callTimer); | |
var n = u.errors; | |
if (n) { | |
var r = n.length; | |
if (r > 1) | |
for (var o = 1; r > o; o++) t("JSTimers").setTimeout(function(e) { | |
throw e | |
}.bind(null, n[o]), 0); | |
throw n[0] | |
} | |
}, | |
callImmediates: function() { | |
for (u.errors = null; 0 !== u.immediates.length;) u.callTimer(u.immediates.shift()); | |
u.errors && u.errors.forEach(function(e) { | |
return t("JSTimers").setTimeout(function() { | |
throw e | |
}, 0) | |
}) | |
}, | |
_clearIndex: function(e) { | |
u.timerIDs[e] = null, u.callbacks[e] = null, u.types[e] = null | |
} | |
}; | |
o.exports = u | |
}), __d("performanceNow", [], function(e, t, n, r, o) { | |
var i = t("performance"); | |
i && i.now || (i = Date); | |
var a = i.now.bind(i); | |
o.exports = a | |
}), __d("performance", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i, a = t("ExecutionEnvironment"); | |
a.canUseDOM && (i = window.performance || window.msPerformance || window.webkitPerformance), o.exports = i || {} | |
}), __d("ExecutionEnvironment", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = !("undefined" == typeof window || !window.document || !window.document.createElement), | |
a = { | |
canUseDOM: i, | |
canUseWorkers: "undefined" != typeof Worker, | |
canUseEventListeners: i && !(!window.addEventListener && !window.attachEvent), | |
canUseViewport: i && !!window.screen, | |
isInWorker: !i | |
}; | |
o.exports = a | |
}), __d("JSONRPC", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return e.onmessage = function(e) { | |
this.ondata(e.data) | |
}, e.ondata = function(e) { | |
try { | |
var t = JSON.parse(e) | |
} catch (n) { | |
this.onerror({ | |
type: "error", | |
error: n | |
}) | |
} | |
t && this.onjson(t) | |
}, e.onjson = function(e) { | |
return "2.0" === e.jsonrpc ? this.onjsonrpc(e) : void 0 | |
}, e.onjsonrpc = function(n) { | |
if (null == n.method) return void("result" in n || "error" in n ? this._handleCallback(n.id, n.error, n.result) : console.warn("unhandled message", n)); | |
if ("function" != typeof t[n.method]) return void this.sendErrorMissingMethod(n.id, n.method); | |
try { | |
var r = t[n.method].apply(t, n.params); | |
null == r && (r = null), e.sendResult(n.id, r) | |
} catch (o) { | |
e.sendError(n.id, o) | |
} | |
}, e.sendResult = function(e, t) { | |
this.send(JSON.stringify({ | |
jsonrpc: "2.0", | |
runtime: i.Runtime, | |
id: e, | |
ts: Date.now(), | |
result: t | |
})) | |
}, e.sendErrorMissingMethod = function(e, t) { | |
console.warn("Ignored missing method", t), this.sendErrorRaw(e, { | |
code: -32601, | |
message: "Method not found", | |
data: t | |
}) | |
}, e.sendError = function(e, t) { | |
this.sendErrorRaw(e, { | |
code: -32e3, | |
message: t.message, | |
data: t | |
}) | |
}, e.sendErrorRaw = function(e, t) { | |
this.send(JSON.stringify({ | |
jsonrpc: "2.0", | |
runtime: i.Runtime, | |
id: e, | |
ts: Date.now(), | |
error: t | |
})) | |
}, e._outMessages = {}, e._handleCallback = function(t, n, r) { | |
var o = e._outMessages[t]; | |
o && o.callback && o.callback(n, r), delete e._outMessages[t] | |
}, e.sendMethodCall = function(t, n, r) { | |
var o = i.MessageID++, | |
a = { | |
jsonrpc: "2.0", | |
runtime: i.Runtime, | |
id: o, | |
ts: Date.now(), | |
method: t, | |
params: n, | |
callback: r | |
}; | |
e._outMessages[a.id] = a, this.send(JSON.stringify(a)) | |
}, e | |
} | |
o.exports = i | |
}), __d("createJSONRPCWebSocket", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = new WebSocket(e.url); | |
return t.methods = e.methods, a(t, t.methods), t.flush = function() { | |
if (this.readyState !== WebSocket.OPEN) throw Error("not open"); | |
t._messageQueue.forEach(function(e) { | |
return this._sendForReal(e) | |
}.bind(this)), t._messageQueue.length = 0 | |
}, t._isPaused = !0, t.unpause = function() { | |
if (this.readyState !== WebSocket.OPEN) throw Error("not open"); | |
t._isPaused = !1 | |
}, t.pause = function() { | |
t._isPaused = !0 | |
}, t._sendForReal = t.send, t.send = function(e) { | |
return this.readyState !== WebSocket.OPEN || t._isPaused ? void t._messageQueue.push(e) : void t._sendForReal(e) | |
}, t._messageQueue = [], t.onerror = e.onerror, t.onopen = e.onopen, t | |
} | |
var a = t("JSONRPC"); | |
o.exports = i | |
}), __d("RKDeviceEventEmitter", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("EventEmitter"), | |
a = new i; | |
o.exports = a | |
}), __d("EventEmitter", [], function(e, t, n, r, o) { | |
function i() { | |
"use strict"; | |
this.$EventEmitter_subscriber = new l | |
} | |
var a = t("EmitterSubscription"), | |
s = t("ErrorUtils"), | |
l = t("EventSubscriptionVendor"), | |
u = t("emptyFunction"), | |
c = t("invariant"); | |
i.prototype.addListener = function(e, t, n) { | |
"use strict"; | |
return this.$EventEmitter_subscriber.addSubscription(e, new a(this.$EventEmitter_subscriber, t, n)) | |
}, i.prototype.once = function(e, t, n) { | |
"use strict"; | |
var r = this; | |
return this.addListener(e, function() { | |
r.removeCurrentListener(), t.apply(n, arguments) | |
}) | |
}, i.prototype.removeAllListeners = function(e) { | |
"use strict"; | |
this.$EventEmitter_subscriber.removeAllSubscriptions(e) | |
}, i.prototype.removeCurrentListener = function() { | |
"use strict"; | |
this.$EventEmitter_currentSubscription || c(0, "Not in an emitting cycle; there is no current subscription"), this.$EventEmitter_subscriber.removeSubscription(this.$EventEmitter_currentSubscription) | |
}, i.prototype.listeners = function(e) { | |
"use strict"; | |
var t = this.$EventEmitter_subscriber.getSubscriptionsForType(e); | |
return t ? t.filter(u.thatReturnsTrue).map(function(e) { | |
return e.listener | |
}) : [] | |
}, i.prototype.emit = function(e) { | |
"use strict"; | |
var t = this.$EventEmitter_subscriber.getSubscriptionsForType(e); | |
if (t) { | |
for (var n = Object.keys(t), r = 0; r < n.length; r++) { | |
var o = n[r], | |
i = t[o]; | |
i && (this.$EventEmitter_currentSubscription = i, s.applyWithGuard(i.listener, i.context, Array.prototype.slice.call(arguments, 1), null, "EventEmitter:" + e)) | |
} | |
this.$EventEmitter_currentSubscription = null | |
} | |
}, o.exports = i | |
}), __d("EmitterSubscription", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
a.call(this, e), this.listener = t, this.context = n | |
} | |
var a = t("EventSubscription"); | |
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]); | |
var l = null === a ? null : a.prototype; | |
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i | |
}), __d("EventSubscription", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
this.subscriber = e | |
} | |
i.prototype.remove = function() { | |
this.subscriber.removeSubscription(this) | |
}, o.exports = i | |
}), __d("EventSubscriptionVendor", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.$EventSubscriptionVendor_subscriptionsForType = {}, this.$EventSubscriptionVendor_currentSubscription = null | |
} | |
var a = t("invariant"); | |
i.prototype.addSubscription = function(e, t) { | |
t.subscriber !== this && a(0, "The subscriber of the subscription is incorrectly set."), this.$EventSubscriptionVendor_subscriptionsForType[e] || (this.$EventSubscriptionVendor_subscriptionsForType[e] = []); | |
var n = this.$EventSubscriptionVendor_subscriptionsForType[e].length; | |
return this.$EventSubscriptionVendor_subscriptionsForType[e].push(t), t.eventType = e, t.key = n, t | |
}, i.prototype.removeAllSubscriptions = function(e) { | |
void 0 === e ? this.$EventSubscriptionVendor_subscriptionsForType = {} : delete this.$EventSubscriptionVendor_subscriptionsForType[e] | |
}, i.prototype.removeSubscription = function(e) { | |
var t = e.eventType, | |
n = e.key, | |
r = this.$EventSubscriptionVendor_subscriptionsForType[t]; | |
r && delete r[n] | |
}, i.prototype.getSubscriptionsForType = function(e) { | |
return this.$EventSubscriptionVendor_subscriptionsForType[e] | |
}, o.exports = i | |
}), __d("RKAlertManager", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModulesDeprecated").RKAlertManager; | |
o.exports = i | |
}), __d("NativeModulesDeprecated", [], function(e, t, n, r, o) { | |
"use strict"; | |
o.exports = t("BatchedBridge").RemoteModulesDeprecated | |
}), __d("errorToString", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t) { | |
for (var n = "", r = e.stack.split("\n"), o = 0, i = [], a = 0, s = r.length; s > a; a++) { | |
var l = r[a].split("@"), | |
u = l.length > 1, | |
c = u ? l[0] + " " : "<no name>"; | |
c.length > o && (o = c.length); | |
var d = "", | |
p = -1, | |
h = l[1] ? l[1] : l[0]; | |
if ("[native code]" === h) d = "native code"; | |
else { | |
var f = h.split(":"); | |
if (d = f[f.length - 3], p = parseInt(f[f.length - 2], 10), d) { | |
var m = d.match(/([a-zA-Z_]+).includeRequire.runModule.bundle$/); | |
m && (d = m[1]) | |
} | |
if (t) try { | |
var g = t.originalPositionFor({ | |
line: p, | |
column: null | |
}); | |
if (g) { | |
var _ = g.source.split("/"); | |
d = _[_.length - 1], p = g.line | |
} | |
} catch (y) {} | |
} | |
i.push([c, d, p ? p : "?"]) | |
} | |
for (var v = 0, S = i.length; S > v; v++) { | |
var w = i[v], | |
c = w[0]; | |
n += c; | |
for (var b = 0, R = o - c.length; R > b; b++) n += " "; | |
n += " " + w[1] + ":" + w[2] + "\n" | |
} | |
return n | |
}; | |
o.exports = i | |
}), __d("loadSourceMap", [], function(e, t, n, r, o) { | |
function i(t) { | |
if (void 0 !== s) return void t(s); | |
if (t && d.push(t), !p) { | |
var n = "http://localhost:8081" + e.SOURCE_MAPPING_URL; | |
p = new u, p.onreadystatechange = a, p.open("GET", n), p.send() | |
} | |
} | |
function a() { | |
if (4 === p.readyState) { | |
try { | |
200 !== p.status && c(0, "Non-OK http status code: " + p.status), s = new l(p.responseText) | |
} catch (e) { | |
console.warn("Failed to load source maps", e.message, e), s = null | |
} | |
d.forEach(function(e) { | |
return e(s) | |
}) | |
} | |
} | |
var s, l = t("SourceMap").SourceMapConsumer, | |
u = t("xmlhttprequest").XMLHttpRequest, | |
c = t("invariant"), | |
d = [], | |
p = null; | |
o.exports = i | |
}), __d("SourceMap", [], function(e, t, n, r, o) { | |
function i() { | |
function e(t, n, r) { | |
if ("string" != typeof t) throw new TypeError("Expected string, got: " + t); | |
if (2 == arguments.length && (r = n), t in e.modules) throw new Error("Module already defined: " + t); | |
e.modules[t] = r | |
} | |
function t() { | |
this.modules = {}, this._currentModule = null | |
} | |
e.modules = {}, | |
function() { | |
function n(e) { | |
for (var t = e.split("/"), n = 1; n < t.length;) ".." === t[n] ? t.splice(n - 1, 1) : "." === t[n] ? t.splice(n, 1) : n++; | |
return t.join("/") | |
} | |
function r(e, t) { | |
return e = e.trim(), t = t.trim(), /^\//.test(t) ? t : e.replace(/\/*$/, "/") + t | |
} | |
function o(e) { | |
var t = e.split("/"); | |
return t.pop(), t.join("/") | |
} | |
t.prototype.require = function(e, t) { | |
if (Array.isArray(e)) { | |
var n = e.map(function(e) { | |
return this.lookup(e) | |
}, this); | |
return void(t && t.apply(null, n)) | |
} | |
return this.lookup(e) | |
}, t.prototype.lookup = function(t) { | |
if (/^\./.test(t) && (t = n(r(o(this._currentModule), t))), t in this.modules) { | |
var i = this.modules[t]; | |
return i | |
} | |
if (!(t in e.modules)) throw new Error("Module not defined: " + t); | |
var i = e.modules[t]; | |
if ("function" == typeof i) { | |
var a = {}, | |
s = this._currentModule; | |
this._currentModule = t, i(this.require.bind(this), a, { | |
id: t, | |
uri: "" | |
}), this._currentModule = s, i = a | |
} | |
return this.modules[t] = i, i | |
} | |
}(), e.Domain = t, e.globalDomain = new t; | |
var n = e.globalDomain.require.bind(e.globalDomain); | |
e("source-map/source-map-generator", ["require", "exports", "module", "source-map/base64-vlq", "source-map/util", "source-map/array-set"], function(e, t) { | |
function n(e) { | |
this._file = o.getArg(e, "file"), this._sourceRoot = o.getArg(e, "sourceRoot", null), this._sources = new i, this._names = new i, this._mappings = [], this._sourcesContents = null | |
} | |
var r = e("./base64-vlq"), | |
o = e("./util"), | |
i = e("./array-set").ArraySet; | |
n.prototype._version = 3, n.fromSourceMap = function(e) { | |
var t = e.sourceRoot, | |
r = new n({ | |
file: e.file, | |
sourceRoot: t | |
}); | |
return e.eachMapping(function(e) { | |
var n = { | |
generated: { | |
line: e.generatedLine, | |
column: e.generatedColumn | |
} | |
}; | |
e.source && (n.source = e.source, t && (n.source = o.relative(t, n.source)), n.original = { | |
line: e.originalLine, | |
column: e.originalColumn | |
}, e.name && (n.name = e.name)), r.addMapping(n) | |
}), e.sources.forEach(function(t) { | |
var n = e.sourceContentFor(t); | |
n && r.setSourceContent(t, n) | |
}), r | |
}, n.prototype.addMapping = function(e) { | |
var t = o.getArg(e, "generated"), | |
n = o.getArg(e, "original", null), | |
r = o.getArg(e, "source", null), | |
i = o.getArg(e, "name", null); | |
this._validateMapping(t, n, r, i), r && !this._sources.has(r) && this._sources.add(r), i && !this._names.has(i) && this._names.add(i), this._mappings.push({ | |
generatedLine: t.line, | |
generatedColumn: t.column, | |
originalLine: null != n && n.line, | |
originalColumn: null != n && n.column, | |
source: r, | |
name: i | |
}) | |
}, n.prototype.setSourceContent = function(e, t) { | |
var n = e; | |
this._sourceRoot && (n = o.relative(this._sourceRoot, n)), null !== t ? (this._sourcesContents || (this._sourcesContents = {}), this._sourcesContents[o.toSetString(n)] = t) : (delete this._sourcesContents[o.toSetString(n)], 0 === Object.keys(this._sourcesContents).length && (this._sourcesContents = null)) | |
}, n.prototype.applySourceMap = function(e, t) { | |
t || (t = e.file); | |
var n = this._sourceRoot; | |
n && (t = o.relative(n, t)); | |
var r = new i, | |
a = new i; | |
this._mappings.forEach(function(i) { | |
if (i.source === t && i.originalLine) { | |
var s = e.originalPositionFor({ | |
line: i.originalLine, | |
column: i.originalColumn | |
}); | |
null !== s.source && (i.source = n ? o.relative(n, s.source) : s.source, i.originalLine = s.line, i.originalColumn = s.column, null !== s.name && null !== i.name && (i.name = s.name)) | |
} | |
var l = i.source; | |
l && !r.has(l) && r.add(l); | |
var u = i.name; | |
u && !a.has(u) && a.add(u) | |
}, this), this._sources = r, this._names = a, e.sources.forEach(function(t) { | |
var r = e.sourceContentFor(t); | |
r && (n && (t = o.relative(n, t)), this.setSourceContent(t, r)) | |
}, this) | |
}, n.prototype._validateMapping = function(e, t, n, r) { | |
if (!(e && "line" in e && "column" in e && e.line > 0 && e.column >= 0 && !t && !n && !r || e && "line" in e && "column" in e && t && "line" in t && "column" in t && e.line > 0 && e.column >= 0 && t.line > 0 && t.column >= 0 && n)) throw new Error("Invalid mapping: " + JSON.stringify({ | |
generated: e, | |
source: n, | |
orginal: t, | |
name: r | |
})) | |
}, n.prototype._serializeMappings = function() { | |
var e, t = 0, | |
n = 1, | |
i = 0, | |
a = 0, | |
s = 0, | |
l = 0, | |
u = ""; | |
this._mappings.sort(o.compareByGeneratedPositions); | |
for (var c = 0, d = this._mappings.length; d > c; c++) { | |
if (e = this._mappings[c], e.generatedLine !== n) | |
for (t = 0; e.generatedLine !== n;) u += ";", n++; | |
else if (c > 0) { | |
if (!o.compareByGeneratedPositions(e, this._mappings[c - 1])) continue; | |
u += "," | |
} | |
u += r.encode(e.generatedColumn - t), t = e.generatedColumn, e.source && (u += r.encode(this._sources.indexOf(e.source) - l), l = this._sources.indexOf(e.source), u += r.encode(e.originalLine - 1 - a), a = e.originalLine - 1, u += r.encode(e.originalColumn - i), i = e.originalColumn, e.name && (u += r.encode(this._names.indexOf(e.name) - s), s = this._names.indexOf(e.name))) | |
} | |
return u | |
}, n.prototype._generateSourcesContent = function(e, t) { | |
return e.map(function(e) { | |
if (!this._sourcesContents) return null; | |
t && (e = o.relative(t, e)); | |
var n = o.toSetString(e); | |
return Object.prototype.hasOwnProperty.call(this._sourcesContents, n) ? this._sourcesContents[n] : null | |
}, this) | |
}, n.prototype.toJSON = function() { | |
var e = { | |
version: this._version, | |
file: this._file, | |
sources: this._sources.toArray(), | |
names: this._names.toArray(), | |
mappings: this._serializeMappings() | |
}; | |
return this._sourceRoot && (e.sourceRoot = this._sourceRoot), this._sourcesContents && (e.sourcesContent = this._generateSourcesContent(e.sources, e.sourceRoot)), e | |
}, n.prototype.toString = function() { | |
return JSON.stringify(this) | |
}, t.SourceMapGenerator = n | |
}), e("source-map/base64-vlq", ["require", "exports", "module", "source-map/base64"], function(e, t) { | |
function n(e) { | |
return 0 > e ? (-e << 1) + 1 : (e << 1) + 0 | |
} | |
function r(e) { | |
var t = 1 === (1 & e), | |
n = e >> 1; | |
return t ? -n : n | |
} | |
var o = e("./base64"), | |
i = 5, | |
a = 1 << i, | |
s = a - 1, | |
l = a; | |
t.encode = function(e) { | |
var t, r = "", | |
a = n(e); | |
do t = a & s, a >>>= i, a > 0 && (t |= l), r += o.encode(t); while (a > 0); | |
return r | |
}, t.decode = function(e) { | |
var t, n, a = 0, | |
u = e.length, | |
c = 0, | |
d = 0; | |
do { | |
if (a >= u) throw new Error("Expected more digits in base 64 VLQ value."); | |
n = o.decode(e.charAt(a++)), t = !!(n & l), n &= s, c += n << d, d += i | |
} while (t); | |
return { | |
value: r(c), | |
rest: e.slice(a) | |
} | |
} | |
}), e("source-map/base64", ["require", "exports", "module"], function(e, t) { | |
var n = {}, | |
r = {}; | |
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e, t) { | |
n[e] = t, r[t] = e | |
}), t.encode = function(e) { | |
if (e in r) return r[e]; | |
throw new TypeError("Must be between 0 and 63: " + e) | |
}, t.decode = function(e) { | |
if (e in n) return n[e]; | |
throw new TypeError("Not a valid base 64 digit: " + e) | |
} | |
}), e("source-map/util", ["require", "exports", "module"], function(e, t) { | |
function n(e, t, n) { | |
if (t in e) return e[t]; | |
if (3 === arguments.length) return n; | |
throw new Error('"' + t + '" is a required argument.') | |
} | |
function r(e) { | |
var t = e.match(p); | |
return t ? { | |
scheme: t[1], | |
auth: t[3], | |
host: t[4], | |
port: t[6], | |
path: t[7] | |
} : null | |
} | |
function o(e) { | |
var t = e.scheme + "://"; | |
return e.auth && (t += e.auth + "@"), e.host && (t += e.host), e.port && (t += ":" + e.port), e.path && (t += e.path), t | |
} | |
function i(e, t) { | |
var n; | |
return t.match(p) || t.match(h) ? t : "/" === t.charAt(0) && (n = r(e)) ? (n.path = t, o(n)) : e.replace(/\/$/, "") + "/" + t | |
} | |
function a(e) { | |
return "$" + e | |
} | |
function s(e) { | |
return e.substr(1) | |
} | |
function l(e, t) { | |
e = e.replace(/\/$/, ""); | |
var n = r(e); | |
return "/" == t.charAt(0) && n && "/" == n.path ? t.slice(1) : 0 === t.indexOf(e + "/") ? t.substr(e.length + 1) : t | |
} | |
function u(e, t) { | |
var n = e || "", | |
r = t || ""; | |
return (n > r) - (r > n) | |
} | |
function c(e, t, n) { | |
var r; | |
return (r = u(e.source, t.source)) ? r : (r = e.originalLine - t.originalLine) ? r : (r = e.originalColumn - t.originalColumn, r || n ? r : (r = u(e.name, t.name)) ? r : (r = e.generatedLine - t.generatedLine, r ? r : e.generatedColumn - t.generatedColumn)) | |
} | |
function d(e, t, n) { | |
var r; | |
return (r = e.generatedLine - t.generatedLine) ? r : (r = e.generatedColumn - t.generatedColumn, r || n ? r : (r = u(e.source, t.source)) ? r : (r = e.originalLine - t.originalLine) ? r : (r = e.originalColumn - t.originalColumn, r ? r : u(e.name, t.name))) | |
} | |
t.getArg = n; | |
var p = /([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/, | |
h = /^data:.+\,.+/; | |
t.urlParse = r, t.urlGenerate = o, t.join = i, t.toSetString = a, t.fromSetString = s, t.relative = l, t.compareByOriginalPositions = c, t.compareByGeneratedPositions = d | |
}), e("source-map/array-set", ["require", "exports", "module", "source-map/util"], function(e, t) { | |
function n() { | |
this._array = [], this._set = {} | |
} | |
var r = e("./util"); | |
n.fromArray = function(e, t) { | |
for (var r = new n, o = 0, i = e.length; i > o; o++) r.add(e[o], t); | |
return r | |
}, n.prototype.add = function(e, t) { | |
var n = this.has(e), | |
o = this._array.length; | |
(!n || t) && this._array.push(e), n || (this._set[r.toSetString(e)] = o) | |
}, n.prototype.has = function(e) { | |
return Object.prototype.hasOwnProperty.call(this._set, r.toSetString(e)) | |
}, n.prototype.indexOf = function(e) { | |
if (this.has(e)) return this._set[r.toSetString(e)]; | |
throw new Error('"' + e + '" is not in the set.') | |
}, n.prototype.at = function(e) { | |
if (e >= 0 && e < this._array.length) return this._array[e]; | |
throw new Error("No element indexed by " + e) | |
}, n.prototype.toArray = function() { | |
return this._array.slice() | |
}, t.ArraySet = n | |
}), e("source-map/source-map-consumer", ["require", "exports", "module", "source-map/util", "source-map/binary-search", "source-map/array-set", "source-map/base64-vlq"], function(e, t) { | |
function n(e) { | |
var t = e; | |
"string" == typeof e && (t = JSON.parse(e.replace(/^\)\]\}'/, ""))); | |
var n = r.getArg(t, "version"), | |
o = r.getArg(t, "sources"), | |
a = r.getArg(t, "names", []), | |
s = r.getArg(t, "sourceRoot", null), | |
l = r.getArg(t, "sourcesContent", null), | |
u = r.getArg(t, "mappings"), | |
c = r.getArg(t, "file", null); | |
if (n != this._version) throw new Error("Unsupported version: " + n); | |
this._names = i.fromArray(a, !0), this._sources = i.fromArray(o, !0), this.sourceRoot = s, this.sourcesContent = l, this._mappings = u, this.file = c | |
} | |
var r = e("./util"), | |
o = e("./binary-search"), | |
i = e("./array-set").ArraySet, | |
a = e("./base64-vlq"); | |
n.fromSourceMap = function(e) { | |
var t = Object.create(n.prototype); | |
return t._names = i.fromArray(e._names.toArray(), !0), t._sources = i.fromArray(e._sources.toArray(), !0), t.sourceRoot = e._sourceRoot, t.sourcesContent = e._generateSourcesContent(t._sources.toArray(), t.sourceRoot), t.file = e._file, t.__generatedMappings = e._mappings.slice().sort(r.compareByGeneratedPositions), t.__originalMappings = e._mappings.slice().sort(r.compareByOriginalPositions), t | |
}, n.prototype._version = 3, Object.defineProperty(n.prototype, "sources", { | |
get: function() { | |
return this._sources.toArray().map(function(e) { | |
return this.sourceRoot ? r.join(this.sourceRoot, e) : e | |
}, this) | |
} | |
}), n.prototype.__generatedMappings = null, Object.defineProperty(n.prototype, "_generatedMappings", { | |
get: function() { | |
return this.__generatedMappings || (this.__generatedMappings = [], this.__originalMappings = [], this._parseMappings(this._mappings, this.sourceRoot)), this.__generatedMappings | |
} | |
}), n.prototype.__originalMappings = null, Object.defineProperty(n.prototype, "_originalMappings", { | |
get: function() { | |
return this.__originalMappings || (this.__generatedMappings = [], this.__originalMappings = [], this._parseMappings(this._mappings, this.sourceRoot)), this.__originalMappings | |
} | |
}), n.prototype._parseMappings = function(e) { | |
for (var t, n, o = 1, i = 0, s = 0, l = 0, u = 0, c = 0, d = /^[,;]/, p = e; p.length > 0;) | |
if (";" === p.charAt(0)) o++, p = p.slice(1), i = 0; | |
else if ("," === p.charAt(0)) p = p.slice(1); | |
else { | |
if (t = {}, t.generatedLine = o, n = a.decode(p), t.generatedColumn = i + n.value, i = t.generatedColumn, p = n.rest, p.length > 0 && !d.test(p.charAt(0))) { | |
if (n = a.decode(p), t.source = this._sources.at(u + n.value), u += n.value, p = n.rest, 0 === p.length || d.test(p.charAt(0))) throw new Error("Found a source, but no line and column"); | |
if (n = a.decode(p), t.originalLine = s + n.value, s = t.originalLine, t.originalLine += 1, p = n.rest, 0 === p.length || d.test(p.charAt(0))) throw new Error("Found a source and line, but no column"); | |
n = a.decode(p), t.originalColumn = l + n.value, l = t.originalColumn, p = n.rest, p.length > 0 && !d.test(p.charAt(0)) && (n = a.decode(p), t.name = this._names.at(c + n.value), c += n.value, p = n.rest) | |
} | |
this.__generatedMappings.push(t), "number" == typeof t.originalLine && this.__originalMappings.push(t) | |
} | |
this.__originalMappings.sort(r.compareByOriginalPositions) | |
}, n.prototype._findMapping = function(e, t, n, r, i) { | |
if (e[n] <= 0) throw new TypeError("Line must be greater than or equal to 1, got " + e[n]); | |
if (e[r] < 0) throw new TypeError("Column must be greater than or equal to 0, got " + e[r]); | |
return o.search(e, t, i) | |
}, n.prototype.originalPositionFor = function(e) { | |
var t = { | |
generatedLine: r.getArg(e, "line"), | |
generatedColumn: r.getArg(e, "column") | |
}, | |
n = this._findMapping(t, this._generatedMappings, "generatedLine", "generatedColumn", r.compareByGeneratedPositions); | |
if (n) { | |
var o = r.getArg(n, "source", null); | |
return o && this.sourceRoot && (o = r.join(this.sourceRoot, o)), { | |
source: o, | |
line: r.getArg(n, "originalLine", null), | |
column: r.getArg(n, "originalColumn", null), | |
name: r.getArg(n, "name", null) | |
} | |
} | |
return { | |
source: null, | |
line: null, | |
column: null, | |
name: null | |
} | |
}, n.prototype.sourceContentFor = function(e) { | |
if (!this.sourcesContent) return null; | |
if (this.sourceRoot && (e = r.relative(this.sourceRoot, e)), this._sources.has(e)) return this.sourcesContent[this._sources.indexOf(e)]; | |
var t; | |
if (this.sourceRoot && (t = r.urlParse(this.sourceRoot))) { | |
var n = e.replace(/^file:\/\//, ""); | |
if ("file" == t.scheme && this._sources.has(n)) return this.sourcesContent[this._sources.indexOf(n)]; | |
if ((!t.path || "/" == t.path) && this._sources.has("/" + e)) return this.sourcesContent[this._sources.indexOf("/" + e)] | |
} | |
throw new Error('"' + e + '" is not in the SourceMap.') | |
}, n.prototype.generatedPositionFor = function(e) { | |
var t = { | |
source: r.getArg(e, "source"), | |
originalLine: r.getArg(e, "line"), | |
originalColumn: r.getArg(e, "column") | |
}; | |
this.sourceRoot && (t.source = r.relative(this.sourceRoot, t.source)); | |
var n = this._findMapping(t, this._originalMappings, "originalLine", "originalColumn", r.compareByOriginalPositions); | |
return n ? { | |
line: r.getArg(n, "generatedLine", null), | |
column: r.getArg(n, "generatedColumn", null) | |
} : { | |
line: null, | |
column: null | |
} | |
}, n.GENERATED_ORDER = 1, n.ORIGINAL_ORDER = 2, n.prototype.eachMapping = function(e, t, o) { | |
var i, a = t || null, | |
s = o || n.GENERATED_ORDER; | |
switch (s) { | |
case n.GENERATED_ORDER: | |
i = this._generatedMappings; | |
break; | |
case n.ORIGINAL_ORDER: | |
i = this._originalMappings; | |
break; | |
default: | |
throw new Error("Unknown order of iteration.") | |
} | |
var l = this.sourceRoot; | |
i.map(function(e) { | |
var t = e.source; | |
return t && l && (t = r.join(l, t)), { | |
source: t, | |
generatedLine: e.generatedLine, | |
generatedColumn: e.generatedColumn, | |
originalLine: e.originalLine, | |
originalColumn: e.originalColumn, | |
name: e.name | |
} | |
}).forEach(e, a) | |
}, t.SourceMapConsumer = n | |
}), e("source-map/binary-search", ["require", "exports", "module"], function(e, t) { | |
function n(e, t, r, o, i) { | |
var a = Math.floor((t - e) / 2) + e, | |
s = i(r, o[a], !0); | |
return 0 === s ? o[a] : s > 0 ? t - a > 1 ? n(a, t, r, o, i) : o[a] : a - e > 1 ? n(e, a, r, o, i) : 0 > e ? null : o[e] | |
} | |
t.search = function(e, t, r) { | |
return t.length > 0 ? n(-1, t.length, e, t, r) : null | |
} | |
}), e("source-map/source-node", ["require", "exports", "module", "source-map/source-map-generator", "source-map/util"], function(e, t) { | |
function n(e, t, n, r, o) { | |
this.children = [], this.sourceContents = {}, this.line = void 0 === e ? null : e, this.column = void 0 === t ? null : t, this.source = void 0 === n ? null : n, this.name = void 0 === o ? null : o, null != r && this.add(r) | |
} | |
var r = e("./source-map-generator").SourceMapGenerator, | |
o = e("./util"); | |
n.fromStringWithSourceMap = function(e, t) { | |
function r(e, t) { | |
o.add(null === e || void 0 === e.source ? t : new n(e.originalLine, e.originalColumn, e.source, t, e.name)) | |
} | |
var o = new n, | |
i = e.split("\n"), | |
a = 1, | |
s = 0, | |
l = null; | |
return t.eachMapping(function(e) { | |
if (null === l) { | |
for (; a < e.generatedLine;) o.add(i.shift() + "\n"), a++; | |
if (s < e.generatedColumn) { | |
var t = i[0]; | |
o.add(t.substr(0, e.generatedColumn)), i[0] = t.substr(e.generatedColumn), s = e.generatedColumn | |
} | |
} else if (a < e.generatedLine) { | |
var n = ""; | |
do n += i.shift() + "\n", a++, s = 0; while (a < e.generatedLine); | |
if (s < e.generatedColumn) { | |
var t = i[0]; | |
n += t.substr(0, e.generatedColumn), i[0] = t.substr(e.generatedColumn), s = e.generatedColumn | |
} | |
r(l, n) | |
} else { | |
var t = i[0], | |
n = t.substr(0, e.generatedColumn - s); | |
i[0] = t.substr(e.generatedColumn - s), s = e.generatedColumn, r(l, n) | |
} | |
l = e | |
}, this), r(l, i.join("\n")), t.sources.forEach(function(e) { | |
var n = t.sourceContentFor(e); | |
n && o.setSourceContent(e, n) | |
}), o | |
}, n.prototype.add = function(e) { | |
if (Array.isArray(e)) e.forEach(function(e) { | |
this.add(e) | |
}, this); | |
else { | |
if (!(e instanceof n || "string" == typeof e)) throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + e); | |
e && this.children.push(e) | |
} | |
return this | |
}, n.prototype.prepend = function(e) { | |
if (Array.isArray(e)) | |
for (var t = e.length - 1; t >= 0; t--) this.prepend(e[t]); | |
else { | |
if (!(e instanceof n || "string" == typeof e)) throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + e); | |
this.children.unshift(e) | |
} | |
return this | |
}, n.prototype.walk = function(e) { | |
for (var t, r = 0, o = this.children.length; o > r; r++) t = this.children[r], t instanceof n ? t.walk(e) : "" !== t && e(t, { | |
source: this.source, | |
line: this.line, | |
column: this.column, | |
name: this.name | |
}) | |
}, n.prototype.join = function(e) { | |
var t, n, r = this.children.length; | |
if (r > 0) { | |
for (t = [], n = 0; r - 1 > n; n++) t.push(this.children[n]), t.push(e); | |
t.push(this.children[n]), this.children = t | |
} | |
return this | |
}, n.prototype.replaceRight = function(e, t) { | |
var r = this.children[this.children.length - 1]; | |
return r instanceof n ? r.replaceRight(e, t) : "string" == typeof r ? this.children[this.children.length - 1] = r.replace(e, t) : this.children.push("".replace(e, t)), this | |
}, n.prototype.setSourceContent = function(e, t) { | |
this.sourceContents[o.toSetString(e)] = t | |
}, n.prototype.walkSourceContents = function(e) { | |
for (var t = 0, r = this.children.length; r > t; t++) this.children[t] instanceof n && this.children[t].walkSourceContents(e); | |
for (var i = Object.keys(this.sourceContents), t = 0, r = i.length; r > t; t++) e(o.fromSetString(i[t]), this.sourceContents[i[t]]) | |
}, n.prototype.toString = function() { | |
var e = ""; | |
return this.walk(function(t) { | |
e += t | |
}), e | |
}, n.prototype.toStringWithSourceMap = function(e) { | |
var t = { | |
code: "", | |
line: 1, | |
column: 0 | |
}, | |
n = new r(e), | |
o = !1, | |
i = null, | |
a = null, | |
s = null, | |
l = null; | |
return this.walk(function(e, r) { | |
t.code += e, null !== r.source && null !== r.line && null !== r.column ? ((i !== r.source || a !== r.line || s !== r.column || l !== r.name) && n.addMapping({ | |
source: r.source, | |
original: { | |
line: r.line, | |
column: r.column | |
}, | |
generated: { | |
line: t.line, | |
column: t.column | |
}, | |
name: r.name | |
}), i = r.source, a = r.line, s = r.column, l = r.name, o = !0) : o && (n.addMapping({ | |
generated: { | |
line: t.line, | |
column: t.column | |
} | |
}), i = null, o = !1), e.split("").forEach(function(e) { | |
"\n" === e ? (t.line++, t.column = 0) : t.column++ | |
}) | |
}), this.walkSourceContents(function(e, t) { | |
n.setSourceContent(e, t) | |
}), { | |
code: t.code, | |
map: n | |
} | |
}, t.SourceNode = n | |
}), this.sourceMap = { | |
SourceMapConsumer: n("source-map/source-map-consumer").SourceMapConsumer, | |
SourceMapGenerator: n("source-map/source-map-generator").SourceMapGenerator, | |
SourceNode: n("source-map/source-node").SourceNode | |
} | |
} | |
var a = {}; | |
i.call(a), o.exports = a.sourceMap | |
}), __d("xmlhttprequest", [], function(e, t, n, r, o, i) { | |
"use strict"; | |
i.XMLHttpRequest = t("RKXMLHttpRequest") | |
}), __d("RKXMLHttpRequest", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.UNSENT = 0, this.OPENED = 1, this.HEADERS_RECEIVED = 2, this.LOADING = 3, this.DONE = 4, this.onreadystatechange = void 0, this.upload = void 0, this.readyState = this.UNSENT, this.$RKXMLHttpRequest_method = null, this.$RKXMLHttpRequest_url = null, this.$RKXMLHttpRequest_headers = {}, this.$RKXMLHttpRequest_sent = !1 | |
} | |
var a = t("NativeModulesDeprecated").RKDataManager, | |
s = t("crc32"); | |
i.prototype.getAllResponseHeaders = function() { | |
return null | |
}, i.prototype.setRequestHeader = function(e, t) { | |
this.$RKXMLHttpRequest_headers[e] = t | |
}, i.prototype.open = function(e, t, n) { | |
if (this.readyState !== this.UNSENT) throw new Error("Cannot open, already sending"); | |
if (void 0 !== n && !n) throw new Error("Synchronous http requests are not supported"); | |
this.$RKXMLHttpRequest_method = e, this.$RKXMLHttpRequest_url = t, this.$RKXMLHttpRequest_setReadyState(this.OPENED) | |
}, i.prototype.send = function(e) { | |
if (this.readyState !== this.OPENED) throw new Error("Request has not been opened"); | |
if (this.$RKXMLHttpRequest_sent) throw new Error("Request has already been sent"); | |
this.$RKXMLHttpRequest_sent = !0, a.queryData("http", JSON.stringify({ | |
method: this.$RKXMLHttpRequest_method, | |
url: this.$RKXMLHttpRequest_url, | |
data: e, | |
headers: this.$RKXMLHttpRequest_headers | |
}), "h" + s(this.$RKXMLHttpRequest_method + "|" + this.$RKXMLHttpRequest_url + "|" + e), function(e) { | |
e = JSON.parse(e), this.$RKXMLHttpRequest_callback(e.status, e.responseHeaders, e.responseText) | |
}.bind(this)) | |
}, i.prototype.abort = function() { | |
throw new Error("abort() is not supported") | |
}, i.prototype.$RKXMLHttpRequest_setReadyState = function(e) { | |
this.readyState = e, this.onreadystatechange && this.onreadystatechange(null) | |
}, i.prototype.$RKXMLHttpRequest_callback = function(e, t, n) { | |
this.status = e, this.responseHeaders = t, this.responseText = n, this.$RKXMLHttpRequest_setReadyState(this.DONE) | |
}, o.exports = i | |
}), __d("crc32", [], function(e, t, n, r, o) { | |
function i(e) { | |
var t = 0, | |
n = 0, | |
r = 0; | |
t = -1 ^ t; | |
for (var o = 0, i = e.length; i > o; o++) n = 255 & (t ^ e.charCodeAt(o)), r = "0x" + a.substr(9 * n, 8), t = t >>> 8 ^ r; | |
return -1 ^ t | |
} | |
var a = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D"; | |
o.exports = i | |
}), __d("EventPluginHub", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
var e = !f || !f.traverseTwoPhase || !f.traverseEnterLeave; | |
if (e) throw new Error("InstanceHandle not injected before use!") | |
} | |
var a = t("EventPluginRegistry"), | |
s = t("EventPluginUtils"), | |
l = t("accumulateInto"), | |
u = t("forEachAccumulated"), | |
c = t("invariant"), | |
d = {}, | |
p = null, | |
h = function(e) { | |
if (e) { | |
var t = s.executeDispatch, | |
n = a.getPluginModuleForEvent(e); | |
n && n.executeDispatch && (t = n.executeDispatch), s.executeDispatchesInOrder(e, t), e.isPersistent() || e.constructor.release(e) | |
} | |
}, | |
f = null, | |
m = { | |
injection: { | |
injectMount: s.injection.injectMount, | |
injectInstanceHandle: function(e) { | |
f = e, __DEV__ && i() | |
}, | |
getInstanceHandle: function() { | |
return __DEV__ && i(), f | |
}, | |
injectEventPluginOrder: a.injectEventPluginOrder, | |
injectEventPluginsByName: a.injectEventPluginsByName | |
}, | |
eventNameDispatchConfigs: a.eventNameDispatchConfigs, | |
registrationNameModules: a.registrationNameModules, | |
putListener: function(e, t, n) { | |
n && "function" != typeof n && c(0, "Expected %s listener to be a function, instead got type %s", t, typeof n); | |
var r = d[t] || (d[t] = {}); | |
r[e] = n | |
}, | |
getListener: function(e, t) { | |
var n = d[t]; | |
return n && n[e] | |
}, | |
deleteListener: function(e, t) { | |
var n = d[t]; | |
n && delete n[e] | |
}, | |
deleteAllListeners: function(e) { | |
for (var t in d) delete d[t][e] | |
}, | |
extractEvents: function(e, t, n, r) { | |
for (var o, i = a.plugins, s = 0, u = i.length; u > s; s++) { | |
var c = i[s]; | |
if (c) { | |
var d = c.extractEvents(e, t, n, r); | |
d && (o = l(o, d)) | |
} | |
} | |
return o | |
}, | |
enqueueEvents: function(e) { | |
e && (p = l(p, e)) | |
}, | |
processEventQueue: function() { | |
var e = p; | |
p = null, u(e, h), p && c(0, "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.") | |
}, | |
__purge: function() { | |
d = {} | |
}, | |
__getListenerBank: function() { | |
return d | |
} | |
}; | |
o.exports = m | |
}), __d("EventPluginRegistry", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
if (u) | |
for (var e in c) { | |
var t = c[e], | |
n = u.indexOf(e); | |
if (n > -1 || l(0, "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.", e), !d.plugins[n]) { | |
t.extractEvents || l(0, "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.", e), d.plugins[n] = t; | |
var r = t.eventTypes; | |
for (var o in r) a(r[o], t, o) || l(0, "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", o, e) | |
} | |
} | |
} | |
function a(e, t, n) { | |
d.eventNameDispatchConfigs.hasOwnProperty(n) && l(0, "EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.", n), d.eventNameDispatchConfigs[n] = e; | |
var r = e.phasedRegistrationNames; | |
if (r) { | |
for (var o in r) | |
if (r.hasOwnProperty(o)) { | |
var i = r[o]; | |
s(i, t, n) | |
} | |
return !0 | |
} | |
return e.registrationName ? (s(e.registrationName, t, n), !0) : !1 | |
} | |
function s(e, t, n) { | |
d.registrationNameModules[e] && l(0, "EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.", e), d.registrationNameModules[e] = t, d.registrationNameDependencies[e] = t.eventTypes[n].dependencies | |
} | |
var l = t("invariant"), | |
u = null, | |
c = {}, | |
d = { | |
plugins: [], | |
eventNameDispatchConfigs: {}, | |
registrationNameModules: {}, | |
registrationNameDependencies: {}, | |
injectEventPluginOrder: function(e) { | |
u && l(0, "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."), u = Array.prototype.slice.call(e), i() | |
}, | |
injectEventPluginsByName: function(e) { | |
var t = !1; | |
for (var n in e) | |
if (e.hasOwnProperty(n)) { | |
var r = e[n]; | |
c.hasOwnProperty(n) && c[n] === r || (c[n] && l(0, "EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.", n), c[n] = r, t = !0) | |
} | |
t && i() | |
}, | |
getPluginModuleForEvent: function(e) { | |
var t = e.dispatchConfig; | |
if (t.registrationName) return d.registrationNameModules[t.registrationName] || null; | |
for (var n in t.phasedRegistrationNames) | |
if (t.phasedRegistrationNames.hasOwnProperty(n)) { | |
var r = d.registrationNameModules[t.phasedRegistrationNames[n]]; | |
if (r) return r | |
} | |
return null | |
}, | |
_resetEventPlugins: function() { | |
u = null; | |
for (var e in c) c.hasOwnProperty(e) && delete c[e]; | |
d.plugins.length = 0; | |
var t = d.eventNameDispatchConfigs; | |
for (var n in t) t.hasOwnProperty(n) && delete t[n]; | |
var r = d.registrationNameModules; | |
for (var o in r) r.hasOwnProperty(o) && delete r[o] | |
} | |
}; | |
o.exports = d | |
}), __d("EventPluginUtils", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return e === v.topMouseUp || e === v.topTouchEnd || e === v.topTouchCancel | |
} | |
function a(e) { | |
return e === v.topMouseMove || e === v.topTouchMove | |
} | |
function s(e) { | |
return e === v.topMouseDown || e === v.topTouchStart | |
} | |
function l(e, t) { | |
var n = e._dispatchListeners, | |
r = e._dispatchIDs; | |
if (__DEV__ && m(e), Array.isArray(n)) | |
for (var o = 0; o < n.length && !e.isPropagationStopped(); o++) t(e, n[o], r[o]); | |
else n && t(e, n, r) | |
} | |
function u(e, t, n) { | |
e.currentTarget = y.Mount.getNode(n); | |
var r = t(e, n); | |
return e.currentTarget = null, r | |
} | |
function c(e, t) { | |
l(e, t), e._dispatchListeners = null, e._dispatchIDs = null | |
} | |
function d(e) { | |
var t = e._dispatchListeners, | |
n = e._dispatchIDs; | |
if (__DEV__ && m(e), Array.isArray(t)) { | |
for (var r = 0; r < t.length && !e.isPropagationStopped(); r++) | |
if (t[r](e, n[r])) return n[r] | |
} else if (t && t(e, n)) return n; | |
return null | |
} | |
function p(e) { | |
var t = d(e); | |
return e._dispatchIDs = null, e._dispatchListeners = null, t | |
} | |
function h(e) { | |
__DEV__ && m(e); | |
var t = e._dispatchListeners, | |
n = e._dispatchIDs; | |
Array.isArray(t) && _(0, "executeDirectDispatch(...): Invalid `event`."); | |
var r = t ? t(e, n) : null; | |
return e._dispatchListeners = null, e._dispatchIDs = null, r | |
} | |
function f(e) { | |
return !!e._dispatchListeners | |
} | |
var m, g = t("EventConstants"), | |
_ = t("invariant"), | |
y = { | |
Mount: null, | |
injectMount: function(e) { | |
y.Mount = e, __DEV__ && (e && e.getNode || _(0, "EventPluginUtils.injection.injectMount(...): Injected Mount module is missing getNode.")) | |
} | |
}, | |
v = g.topLevelTypes; | |
__DEV__ && (m = function(e) { | |
var t = e._dispatchListeners, | |
n = e._dispatchIDs, | |
r = Array.isArray(t), | |
o = Array.isArray(n), | |
i = o ? n.length : n ? 1 : 0, | |
a = r ? t.length : t ? 1 : 0; | |
(o !== r || i !== a) && _(0, "EventPluginUtils: Invalid `event`.") | |
}); | |
var S = { | |
isEndish: i, | |
isMoveish: a, | |
isStartish: s, | |
executeDirectDispatch: h, | |
executeDispatch: u, | |
executeDispatchesInOrder: c, | |
executeDispatchesInOrderStopAtTrue: p, | |
hasDispatches: f, | |
injection: y, | |
useTouchEvents: !1 | |
}; | |
o.exports = S | |
}), __d("EventConstants", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("keyMirror"), | |
a = i({ | |
bubbled: null, | |
captured: null | |
}), | |
s = i({ | |
topBlur: null, | |
topChange: null, | |
topClick: null, | |
topCompositionEnd: null, | |
topCompositionStart: null, | |
topCompositionUpdate: null, | |
topContextMenu: null, | |
topCopy: null, | |
topCut: null, | |
topDoubleClick: null, | |
topDrag: null, | |
topDragEnd: null, | |
topDragEnter: null, | |
topDragExit: null, | |
topDragLeave: null, | |
topDragOver: null, | |
topDragStart: null, | |
topDrop: null, | |
topError: null, | |
topFocus: null, | |
topInput: null, | |
topKeyDown: null, | |
topKeyPress: null, | |
topKeyUp: null, | |
topLoad: null, | |
topMouseDown: null, | |
topMouseMove: null, | |
topMouseOut: null, | |
topMouseOver: null, | |
topMouseUp: null, | |
topPaste: null, | |
topReset: null, | |
topScroll: null, | |
topSelectionChange: null, | |
topSubmit: null, | |
topTextInput: null, | |
topTouchCancel: null, | |
topTouchEnd: null, | |
topTouchMove: null, | |
topTouchStart: null, | |
topWheel: null | |
}), | |
l = { | |
topLevelTypes: s, | |
PropagationPhases: a | |
}; | |
o.exports = l | |
}), __d("accumulateInto", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
if (null == t && a(0, "accumulateInto(...): Accumulated items must not be null or undefined."), null == e) return t; | |
var n = Array.isArray(e), | |
r = Array.isArray(t); | |
return n && r ? (e.push.apply(e, t), e) : n ? (e.push(t), e) : r ? [e].concat(t) : [e, t] | |
} | |
var a = t("invariant"); | |
o.exports = i | |
}), __d("forEachAccumulated", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t, n) { | |
Array.isArray(e) ? e.forEach(t, n) : e && t.call(n, e) | |
}; | |
o.exports = i | |
}), __d("IOSDefaultEventPluginOrder", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = ["ResponderEventPlugin", "IOSNativeBridgeEventPlugin"]; | |
o.exports = i | |
}), __d("IOSNativeBridgeEventPlugin", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("EventPropagators"), | |
a = t("NativeModulesDeprecated"), | |
s = t("SyntheticEvent"), | |
l = t("merge"), | |
u = t("warning"), | |
c = a.RKUIManager, | |
d = c.customBubblingEventTypes, | |
p = c.customDirectEventTypes, | |
h = {}; | |
for (var f in d) h[f] = d[f]; | |
for (var m in p) u(!d[m], "Event cannot be both direct and bubbling: %s", m), h[m] = p[m]; | |
var g = { | |
eventTypes: l(d, p), | |
extractEvents: function(e, t, n, r) { | |
var o = d[e], | |
a = p[e], | |
l = s.getPooled(o || a, n, r); | |
if (o) i.accumulateTwoPhaseDispatches(l); | |
else { | |
if (!a) return null; | |
i.accumulateDirectDispatches(l) | |
} | |
return l | |
} | |
}; | |
o.exports = g | |
}), __d("EventPropagators", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
var r = t.dispatchConfig.phasedRegistrationNames[n]; | |
return S(e, r) | |
} | |
function a(e, t, n) { | |
if (__DEV__ && !e) throw new Error("Dispatching id must not be null"); | |
var r = t ? v.bubbled : v.captured, | |
o = i(e, n, r); | |
o && (n._dispatchListeners = _(n._dispatchListeners, o), n._dispatchIDs = _(n._dispatchIDs, e)) | |
} | |
function s(e) { | |
e && e.dispatchConfig.phasedRegistrationNames && g.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker, a, e) | |
} | |
function l(e) { | |
e && e.dispatchConfig.phasedRegistrationNames && g.injection.getInstanceHandle().traverseTwoPhaseSkipTarget(e.dispatchMarker, a, e) | |
} | |
function u(e, t, n) { | |
if (n && n.dispatchConfig.registrationName) { | |
var r = n.dispatchConfig.registrationName, | |
o = S(e, r); | |
o && (n._dispatchListeners = _(n._dispatchListeners, o), n._dispatchIDs = _(n._dispatchIDs, e)) | |
} | |
} | |
function c(e) { | |
e && e.dispatchConfig.registrationName && u(e.dispatchMarker, null, e) | |
} | |
function d(e) { | |
y(e, s) | |
} | |
function p(e) { | |
y(e, l) | |
} | |
function h(e, t, n, r) { | |
g.injection.getInstanceHandle().traverseEnterLeave(n, r, u, e, t) | |
} | |
function f(e) { | |
y(e, c) | |
} | |
var m = t("EventConstants"), | |
g = t("EventPluginHub"), | |
_ = t("accumulateInto"), | |
y = t("forEachAccumulated"), | |
v = m.PropagationPhases, | |
S = g.getListener, | |
w = { | |
accumulateTwoPhaseDispatches: d, | |
accumulateTwoPhaseDispatchesSkipTarget: p, | |
accumulateDirectDispatches: f, | |
accumulateEnterLeaveDispatches: h | |
}; | |
o.exports = w | |
}), __d("SyntheticEvent", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
this.dispatchConfig = e, this.dispatchMarker = t, this.nativeEvent = n; | |
var r = this.constructor.Interface; | |
for (var o in r) | |
if (r.hasOwnProperty(o)) { | |
var i = r[o]; | |
this[o] = i ? i(n) : n[o] | |
} | |
var a = null != n.defaultPrevented ? n.defaultPrevented : n.returnValue === !1; | |
this.isDefaultPrevented = a ? s.thatReturnsTrue : s.thatReturnsFalse, this.isPropagationStopped = s.thatReturnsFalse | |
} | |
var a = t("PooledClass"), | |
s = t("emptyFunction"), | |
l = t("getEventTarget"), | |
u = { | |
type: null, | |
target: l, | |
currentTarget: s.thatReturnsNull, | |
eventPhase: null, | |
bubbles: null, | |
cancelable: null, | |
timeStamp: function(e) { | |
return e.timeStamp || Date.now() | |
}, | |
defaultPrevented: null, | |
isTrusted: null | |
}; | |
Object.assign(i.prototype, { | |
preventDefault: function() { | |
this.defaultPrevented = !0; | |
var e = this.nativeEvent; | |
e.preventDefault ? e.preventDefault() : e.returnValue = !1, this.isDefaultPrevented = s.thatReturnsTrue | |
}, | |
stopPropagation: function() { | |
var e = this.nativeEvent; | |
e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, this.isPropagationStopped = s.thatReturnsTrue | |
}, | |
persist: function() { | |
this.isPersistent = s.thatReturnsTrue | |
}, | |
isPersistent: s.thatReturnsFalse, | |
destructor: function() { | |
var e = this.constructor.Interface; | |
for (var t in e) this[t] = null; | |
this.dispatchConfig = null, this.dispatchMarker = null, this.nativeEvent = null | |
} | |
}), i.Interface = u, i.augmentClass = function(e, t) { | |
var n = this, | |
r = Object.create(n.prototype); | |
Object.assign(r, e.prototype), e.prototype = r, e.prototype.constructor = e, e.Interface = Object.assign({}, n.Interface, t), e.augmentClass = n.augmentClass, a.addPoolingTo(e, a.threeArgumentPooler) | |
}, a.addPoolingTo(i, a.threeArgumentPooler), o.exports = i | |
}), __d("getEventTarget", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = e.target || e.srcElement || window; | |
return 3 === t.nodeType ? t.parentNode : t | |
} | |
o.exports = i | |
}), __d("merge", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t) { | |
return Object.assign({}, e, t) | |
}; | |
o.exports = i | |
}), __d("NodeHandle", [], function(e, t, n, r, o) { | |
var i = { | |
injection: { | |
injectImplementation: function(e) { | |
i._Implementation = e | |
} | |
}, | |
_Implementation: null, | |
getRootNodeID: function(e) { | |
return i._Implementation.getRootNodeID(e) | |
} | |
}; | |
o.exports = i | |
}), __d("ReactDefaultBatchingStrategy", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.reinitializeTransaction() | |
} | |
var a = t("ReactUpdates"), | |
s = t("Transaction"), | |
l = t("emptyFunction"), | |
u = { | |
initialize: l, | |
close: function() { | |
h.isBatchingUpdates = !1 | |
} | |
}, | |
c = { | |
initialize: l, | |
close: a.flushBatchedUpdates.bind(a) | |
}, | |
d = [c, u]; | |
Object.assign(i.prototype, s.Mixin, { | |
getTransactionWrappers: function() { | |
return d | |
} | |
}); | |
var p = new i, | |
h = { | |
isBatchingUpdates: !1, | |
batchedUpdates: function(e, t, n) { | |
var r = h.isBatchingUpdates; | |
h.isBatchingUpdates = !0, r ? e(t, n) : p.perform(e, null, t, n) | |
} | |
}; | |
o.exports = h | |
}), __d("ReactIOSComponentEnvironment", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModulesDeprecated").RKUIManager, | |
a = t("ReactIOSDOMIDOperations"), | |
s = t("ReactIOSReconcileTransaction"), | |
l = t("ReactIOSTagHandles"), | |
u = t("ReactPerf"), | |
c = { | |
BackendIDOperations: a, | |
unmountIDFromEnvironment: function() {}, | |
clearNode: function() {}, | |
mountImageIntoNode: u.measure("ReactComponentBrowserEnvironment", "mountImageIntoNode", function(e, t) { | |
l.associateRootNodeIDWithMountedNodeHandle(e.rootNodeID, e.tag); | |
var n = [e.tag], | |
r = [0]; | |
i.manageChildren(l.mostRecentMountedNodeHandleForRootNodeID(t), null, null, n, r, null) | |
}), | |
ReactReconcileTransaction: s | |
}; | |
o.exports = c | |
}), __d("ReactIOSDOMIDOperations", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactIOSTagHandles"), | |
a = t("ReactMultiChildUpdateTypes"), | |
s = t("NativeModulesDeprecated").RKUIManager, | |
l = t("ReactPerf"), | |
u = function(e, t) { | |
if (e.length) { | |
for (var n = {}, r = 0; r < e.length; r++) { | |
var o = e[r], | |
l = i.mostRecentMountedNodeHandleForRootNodeID(o.parentID), | |
u = n[l] || (n[l] = {}); | |
if (o.type === a.MOVE_EXISTING)(u.moveFromIndices || (u.moveFromIndices = [])).push(o.fromIndex), (u.moveToIndices || (u.moveToIndices = [])).push(o.toIndex); | |
else if (o.type === a.REMOVE_NODE)(u.removeAtIndices || (u.removeAtIndices = [])).push(o.fromIndex); | |
else if (o.type === a.INSERT_MARKUP) { | |
var c = t[o.markupIndex], | |
d = c.tag, | |
p = c.rootNodeID; | |
i.associateRootNodeIDWithMountedNodeHandle(p, d), (u.addAtIndices || (u.addAtIndices = [])).push(o.toIndex), (u.addChildTags || (u.addChildTags = [])).push(d) | |
} | |
} | |
for (var h in n) { | |
var f = +h, | |
m = n[f]; | |
s.manageChildren(f, m.moveFromIndices, m.moveToIndices, m.addChildTags, m.addAtIndices, m.removeAtIndices) | |
} | |
} | |
}, | |
c = { | |
dangerouslyProcessChildrenUpdates: l.measure("ReactDOMIDOperations", "dangerouslyProcessChildrenUpdates", u), | |
dangerouslyReplaceNodeWithMarkupByID: l.measure("ReactDOMIDOperations", "dangerouslyReplaceNodeWithMarkupByID", function(e, t) { | |
var n = i.mostRecentMountedNodeHandleForRootNodeID(e); | |
s.replaceExistingNonRootView(n, t.tag), i.associateRootNodeIDWithMountedNodeHandle(e, t.tag) | |
}) | |
}; | |
o.exports = c | |
}), __d("ReactIOSTagHandles", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = t("warning"), | |
s = 1, | |
l = { | |
tagsStartAt: s, | |
tagCount: s, | |
allocateTag: function() { | |
for (; this.reactTagIsNativeTopRootID(l.tagCount);) l.tagCount++; | |
var e = l.tagCount; | |
return l.tagCount++, e | |
}, | |
associateRootNodeIDWithMountedNodeHandle: function(e, t) { | |
a(e && t, "Root node or tag is null when associating"), l.tagToRootNodeID[t] = e, l.rootNodeIDToTag[e] = t | |
}, | |
allocateRootNodeIDForTag: function(e) { | |
return this.reactTagIsNativeTopRootID(e) || i(0, "Expect a native root tag, instead got ", e), ".r[" + e + "]{TOP_LEVEL}" | |
}, | |
reactTagIsNativeTopRootID: function(e) { | |
return e % 10 === 1 | |
}, | |
mostRecentMountedNodeHandleForRootNodeID: function(e) { | |
return l.rootNodeIDToTag[e] | |
}, | |
tagToRootNodeID: [], | |
rootNodeIDToTag: {} | |
}; | |
o.exports = l | |
}), __d("ReactMultiChildUpdateTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("keyMirror"), | |
a = i({ | |
INSERT_MARKUP: null, | |
MOVE_EXISTING: null, | |
REMOVE_NODE: null, | |
TEXT_CONTENT: null | |
}); | |
o.exports = a | |
}), __d("ReactIOSReconcileTransaction", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.reinitializeTransaction(), this.reactMountReady = a.getPooled(null) | |
} | |
var a = t("CallbackQueue"), | |
s = t("PooledClass"), | |
l = t("Transaction"), | |
u = { | |
initialize: function() { | |
this.reactMountReady.reset() | |
}, | |
close: function() { | |
this.reactMountReady.notifyAll() | |
} | |
}, | |
c = [u], | |
d = { | |
getTransactionWrappers: function() { | |
return c | |
}, | |
getReactMountReady: function() { | |
return this.reactMountReady | |
}, | |
destructor: function() { | |
a.release(this.reactMountReady), this.reactMountReady = null | |
} | |
}; | |
Object.assign(i.prototype, l.Mixin, i, d), s.addPoolingTo(i), o.exports = i | |
}), __d("ReactIOSComponentMixin", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactIOSTagHandles"), | |
a = { | |
getNativeNode: function() { | |
return i.rootNodeIDToTag[this._rootNodeID] | |
}, | |
getNodeHandle: function() { | |
return i.rootNodeIDToTag[this._rootNodeID] | |
} | |
}; | |
o.exports = a | |
}), __d("ReactIOSGlobalResponderHandler", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModules").RKUIManager, | |
a = t("ReactIOSTagHandles"), | |
s = { | |
onChange: function(e, t) { | |
null !== t ? i.setJSResponder(a.mostRecentMountedNodeHandleForRootNodeID(t)) : i.clearJSResponder() | |
} | |
}; | |
o.exports = s | |
}), __d("ReactIOSMount", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return e + "[" + t + "]" | |
} | |
var a = t("NativeModulesDeprecated").RKUIManager, | |
s = t("ReactIOSTagHandles"), | |
l = t("instantiateReactComponent"), | |
u = t("invariant"), | |
c = {}, | |
d = { | |
instanceCount: 0, | |
_instancesByContainerID: {}, | |
renderComponent: function(e, t) { | |
var n = l(e); | |
if (!s.reactTagIsNativeTopRootID(t)) return void console.error("You cannot render into anything but a top root"); | |
var r = s.allocateRootNodeIDForTag(t); | |
s.associateRootNodeIDWithMountedNodeHandle(r, t), c[r] = !0; | |
var o = i(r, d.instanceCount++); | |
d._instancesByContainerID[r] = n, n.mountComponentIntoNode(o, r) | |
}, | |
unmountComponentAtNodeAndRemoveContainer: function(e) { | |
d.unmountComponentAtNode(e), a.removeRootView(e) | |
}, | |
unmountComponentAtNode: function(e) { | |
var t = s.tagToRootNodeID[e]; | |
c[t] || u(0, "We only currently support removing components from the root node"); | |
var n = d._instancesByContainerID[t]; | |
return n ? (d.unmountComponentFromNode(n, t), delete d._instancesByContainerID[t], delete c[t], !0) : (console.error("Tried to unmount a component that does not exist"), !1) | |
}, | |
unmountComponentFromNode: function(e, t) { | |
e.unmountComponent(); | |
var n = s.mostRecentMountedNodeHandleForRootNodeID(t); | |
a.removeSubviewsFromContainerWithID(n) | |
}, | |
getNode: function(e) { | |
return e | |
} | |
}; | |
o.exports = d | |
}), __d("ReactTextComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = null, | |
a = function() { | |
return i.apply(this, arguments) | |
}; | |
a.inject = function(e) { | |
i = e | |
}, o.exports = a | |
}), __d("ResponderEventPlugin", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
var r = _(e) ? E.startShouldSetResponder : y(e) ? E.moveShouldSetResponder : E.scrollShouldSetResponder, | |
o = R ? p._getFirstCommonAncestorID(R, t) : t, | |
i = o === R, | |
a = h.getPooled(r, o, n); | |
a.touchHistory = f.touchHistory, i ? c.accumulateTwoPhaseDispatchesSkipTarget(a) : c.accumulateTwoPhaseDispatches(a); | |
var s = b(a); | |
if (a.isPersistent() || a.constructor.release(a), !s || s === R) return null; | |
var l, u = h.getPooled(E.responderGrant, s, n); | |
if (u.touchHistory = f.touchHistory, c.accumulateDirectDispatches(u), R) { | |
var d = h.getPooled(E.responderTerminationRequest, R, n); | |
d.touchHistory = f.touchHistory, c.accumulateDirectDispatches(d); | |
var g = !w(d) || S(d); | |
if (d.isPersistent() || d.constructor.release(d), g) { | |
var v = E.responderTerminate, | |
D = h.getPooled(v, R, n); | |
D.touchHistory = f.touchHistory, c.accumulateDirectDispatches(D), l = m(l, [u, D]), C(s) | |
} else { | |
var x = h.getPooled(E.responderReject, s, n); | |
x.touchHistory = f.touchHistory, c.accumulateDirectDispatches(x), l = m(l, x) | |
} | |
} else l = m(l, u), C(s); | |
return l | |
} | |
function a(e, t) { | |
return t && (e === l.topLevelTypes.topScroll || _(e) || y(e)) | |
} | |
function s(e) { | |
var t = e.touches; | |
if (!t || 0 === t.length) return !0; | |
for (var n = 0; n < t.length; n++) { | |
var r = t[n], | |
o = r.target; | |
if (null !== o && void 0 !== o && 0 !== o) { | |
var i = p._getFirstCommonAncestorID(R, d.getRootNodeID(o)); | |
if (i === R) return !1 | |
} | |
} | |
return !0 | |
} | |
var l = t("EventConstants"), | |
u = t("EventPluginUtils"), | |
c = t("EventPropagators"), | |
d = t("NodeHandle"), | |
p = t("ReactInstanceHandles"), | |
h = t("ResponderSyntheticEvent"), | |
f = t("ResponderTouchHistoryStore"), | |
m = t("accumulate"), | |
g = t("keyOf"), | |
_ = u.isStartish, | |
y = u.isMoveish, | |
v = u.isEndish, | |
S = u.executeDirectDispatch, | |
w = u.hasDispatches, | |
b = u.executeDispatchesInOrderStopAtTrue, | |
R = null, | |
C = function(e) { | |
var t = R; | |
R = e, null !== D.GlobalResponderHandler && D.GlobalResponderHandler.onChange(t, e) | |
}, | |
E = { | |
startShouldSetResponder: { | |
phasedRegistrationNames: { | |
bubbled: g({ | |
onStartShouldSetResponder: null | |
}), | |
captured: g({ | |
onStartShouldSetResponderCapture: null | |
}) | |
} | |
}, | |
scrollShouldSetResponder: { | |
phasedRegistrationNames: { | |
bubbled: g({ | |
onScrollShouldSetResponder: null | |
}), | |
captured: g({ | |
onScrollShouldSetResponderCapture: null | |
}) | |
} | |
}, | |
moveShouldSetResponder: { | |
phasedRegistrationNames: { | |
bubbled: g({ | |
onMoveShouldSetResponder: null | |
}), | |
captured: g({ | |
onMoveShouldSetResponderCapture: null | |
}) | |
} | |
}, | |
responderStart: { | |
registrationName: g({ | |
onResponderStart: null | |
}) | |
}, | |
responderMove: { | |
registrationName: g({ | |
onResponderMove: null | |
}) | |
}, | |
responderEnd: { | |
registrationName: g({ | |
onResponderEnd: null | |
}) | |
}, | |
responderRelease: { | |
registrationName: g({ | |
onResponderRelease: null | |
}) | |
}, | |
responderTerminationRequest: { | |
registrationName: g({ | |
onResponderTerminationRequest: null | |
}) | |
}, | |
responderGrant: { | |
registrationName: g({ | |
onResponderGrant: null | |
}) | |
}, | |
responderReject: { | |
registrationName: g({ | |
onResponderReject: null | |
}) | |
}, | |
responderTerminate: { | |
registrationName: g({ | |
onResponderTerminate: null | |
}) | |
} | |
}, | |
D = { | |
getResponderID: function() { | |
return R | |
}, | |
eventTypes: E, | |
extractEvents: function(e, t, n, r) { | |
f.recordTouchTrack(e, r); | |
var o = a(e, n) ? i(e, n, r) : null, | |
l = R && _(e), | |
u = R && y(e), | |
d = R && v(e), | |
p = l ? E.responderStart : u ? E.responderMove : d ? E.responderEnd : null; | |
if (p) { | |
var g = h.getPooled(p, R, r); | |
g.touchHistory = f.touchHistory, c.accumulateDirectDispatches(g), o = m(o, g) | |
} | |
var S = R && v(e) && s(r); | |
if (S) { | |
var w = h.getPooled(E.responderRelease, R, r); | |
w.touchHistory = f.touchHistory, c.accumulateDirectDispatches(w), o = m(o, w), C(null) | |
} | |
return o | |
}, | |
GlobalResponderHandler: null, | |
injection: { | |
injectGlobalResponderHandler: function(e) { | |
D.GlobalResponderHandler = e | |
} | |
} | |
}; | |
o.exports = D | |
}), __d("ResponderSyntheticEvent", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
a.call(this, e, t, n) | |
} | |
var a = t("SyntheticEvent"), | |
s = { | |
touchHistory: function() { | |
return null | |
} | |
}; | |
a.augmentClass(i, s), o.exports = i | |
}), __d("ResponderTouchHistoryStore", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("EventPluginUtils"), | |
a = t("invariant"), | |
s = i.isMoveish, | |
l = i.isStartish, | |
u = i.isEndish, | |
c = 20, | |
d = { | |
touchBank: [], | |
numberActiveTouches: 0, | |
indexOfSingleActiveTouch: -1, | |
mostRecentTimeStamp: 0 | |
}, | |
p = function(e) { | |
return { | |
touchActive: !0, | |
startTimeStamp: e.timeStamp, | |
startPageX: e.pageX, | |
startPageY: e.pageY, | |
currentPageX: e.pageX, | |
currentPageY: e.pageY, | |
currentTimeStamp: e.timeStamp, | |
previousPageX: e.pageX, | |
previousPageY: e.pageY, | |
previousTimeStamp: e.timeStamp | |
} | |
}, | |
h = function(e, t) { | |
e.touchActive = !0, e.startTimeStamp = t.timeStamp, e.startPageX = t.pageX, e.startPageY = t.pageY, e.currentPageX = t.pageX, e.currentPageY = t.pageY, e.currentTimeStamp = t.timeStamp, e.previousPageX = t.pageX, e.previousPageY = t.pageY, e.previousTimeStamp = t.timeStamp | |
}, | |
f = function(e) { | |
var t = e.identifier; | |
null == t && a(0, "Touch object is missing identifier"), t > c && console.warn("Touch identifier " + t + " is greater than maximum supported " + c + " which causes performance issues backfilling array locations for all of the indices.") | |
}, | |
m = function(e) { | |
var t = d.touchBank, | |
n = e.identifier, | |
r = t[n]; | |
__DEV__ && f(e), r ? h(r, e) : t[e.identifier] = p(e), d.mostRecentTimeStamp = e.timeStamp | |
}, | |
g = function(e) { | |
var t = d.touchBank, | |
n = t[e.identifier]; | |
__DEV__ && (f(e), n || a(0, "Touch data should have been recorded on start")), n.touchActive = !0, n.previousPageX = n.currentPageX, n.previousPageY = n.currentPageY, n.previousTimeStamp = n.currentTimeStamp, n.currentPageX = e.pageX, n.currentPageY = e.pageY, n.currentTimeStamp = e.timeStamp, d.mostRecentTimeStamp = e.timeStamp | |
}, | |
_ = function(e) { | |
var t = d.touchBank, | |
n = t[e.identifier]; | |
__DEV__ && (f(e), n || a(0, "Touch data should have been recorded on start")), n.previousPageX = n.currentPageX, n.previousPageY = n.currentPageY, n.previousTimeStamp = n.currentTimeStamp, n.currentPageX = e.pageX, n.currentPageY = e.pageY, n.currentTimeStamp = e.timeStamp, n.touchActive = !1, d.mostRecentTimeStamp = e.timeStamp | |
}, | |
y = { | |
recordTouchTrack: function(e, t) { | |
var n = d.touchBank; | |
if (s(e)) t.changedTouches.forEach(g); | |
else if (l(e)) t.changedTouches.forEach(m), d.numberActiveTouches = t.touches.length, 1 === d.numberActiveTouches && (d.indexOfSingleActiveTouch = t.touches[0].identifier); | |
else if (u(e) && (t.changedTouches.forEach(_), d.numberActiveTouches = t.touches.length, 1 === d.numberActiveTouches)) { | |
for (var r = 0; r < n.length; r++) { | |
var o = n[r]; | |
if (null != o && o.touchActive) { | |
d.indexOfSingleActiveTouch = r; | |
break | |
} | |
} | |
if (__DEV__) { | |
var i = n[d.indexOfSingleActiveTouch], | |
c = null != i && !!i.touchActive; | |
c || a(0, "Cannot find single active touch") | |
} | |
} | |
}, | |
touchHistory: d | |
}; | |
o.exports = y | |
}), __d("accumulate", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
if (null == t && a(0, "accumulate(...): Accumulated items must be not be null or undefined."), null == e) return t; | |
var n = Array.isArray(e), | |
r = Array.isArray(t); | |
return n ? e.concat(t) : r ? [e].concat(t) : [e, t] | |
} | |
var a = t("invariant"); | |
o.exports = i | |
}), __d("RKRawText", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = (t("ReactIOSViewAttributes"), t("createReactIOSNativeComponentClass")), | |
a = i({ | |
validAttributes: { | |
text: !0 | |
}, | |
uiViewClassName: "RKRawText" | |
}); | |
o.exports = a | |
}), __d("ReactIOSViewAttributes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = {}; | |
i.UIView = { | |
pointerEvents: !0, | |
accessible: !0, | |
accessibilityLabel: !0, | |
testID: !0 | |
}, i.RKView = i.UIView, o.exports = i | |
}), __d("createReactIOSNativeComponentClass", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactElement"), | |
a = t("ReactLegacyElement"), | |
s = t("ReactIOSNativeComponent"), | |
l = function(e) { | |
var t = function() {}; | |
return t.displayName = e.uiViewClassName, t.prototype = new s(e), t.prototype.constructor = t, a.wrapFactory(i.createFactory(t)) | |
}; | |
o.exports = l | |
}), __d("ReactIOSNativeComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeMethodsMixin"), | |
a = t("ReactComponent"), | |
s = t("ReactIOSComponentMixin"), | |
l = t("ReactIOSEventEmitter"), | |
u = t("ReactIOSStyleAttributes"), | |
c = t("ReactIOSTagHandles"), | |
d = t("ReactMultiChild"), | |
p = t("NativeModulesDeprecated").RKUIManager, | |
h = t("styleDiffer"), | |
f = t("deepFreezeAndThrowOnMutationInDev"), | |
m = t("diffRawProperties"), | |
g = t("flattenStyle"), | |
_ = t("warning"), | |
y = l.registrationNames, | |
v = l.putListener, | |
S = l.deleteAllListeners, | |
w = function(e) { | |
this.viewConfig = e, this.props = null, this.previousFlattenedStyle = null | |
}, | |
b = function(e) { | |
var t = b._cache[e]; | |
if (t) return t; | |
for (var n = [], r = 0; e > r; r++) n[r] = r; | |
return b._cache[e] = n | |
}; | |
b._cache = {}, w.Mixin = { | |
unmountComponent: function() { | |
S(this._rootNodeID), a.Mixin.unmountComponent.call(this), this.unmountChildren() | |
}, | |
initializeChildren: function(e, t, n) { | |
var r = this.mountChildren(e, n); | |
if (r.length) { | |
for (var o = b(r.length), i = [], a = 0; a < r.length; a++) { | |
var s = r[a], | |
l = s.tag, | |
u = s.rootNodeID; | |
_(s && s.rootNodeID && s.tag, "Mount image returned does not have required data"), c.associateRootNodeIDWithMountedNodeHandle(u, l), i[a] = s.tag | |
} | |
p.manageChildren(t, null, null, i, o, null) | |
} | |
}, | |
computeUpdatedProperties: function(e, t, n) { | |
if (__DEV__) | |
for (var r in t) t.hasOwnProperty(r) && t[r] && n[r] && f(t[r]); | |
var o = m(null, e, t, n); | |
if (h(t.style, e.style)) { | |
var i = g(t.style); | |
o = m(o, this.previousFlattenedStyle, i, u), this.previousFlattenedStyle = i | |
} | |
return o | |
}, | |
updateComponent: function(e, t) { | |
a.Mixin.updateComponent.call(this, e, t); | |
var n = this._currentElement, | |
r = this.computeUpdatedProperties(t.props, n.props, this.viewConfig.validAttributes); | |
r && p.updateView(c.mostRecentMountedNodeHandleForRootNodeID(this._rootNodeID), this.viewConfig.uiViewClassName, r), this._reconcileListenersUponUpdate(t.props, n.props), this.updateChildren(this.props.children, e) | |
}, | |
_registerListenersUponCreation: function(e) { | |
for (var t in e) | |
if (y[t] && e[t]) { | |
var n = e[t]; | |
v(this._rootNodeID, t, n) | |
} | |
}, | |
_reconcileListenersUponUpdate: function(e, t) { | |
for (var n in t) y[n] && t[n] != e[n] && v(this._rootNodeID, n, t[n]) | |
}, | |
mountComponent: function(e, t, n) { | |
a.Mixin.mountComponent.call(this, e, t, n); | |
var r = c.allocateTag(); | |
this.previousFlattenedStyle = {}; | |
var o = this.computeUpdatedProperties({}, this.props, this.viewConfig.validAttributes); | |
return p.createView(r, this.viewConfig.uiViewClassName, o), this._registerListenersUponCreation(this.props), this.initializeChildren(this.props.children, r, t), { | |
rootNodeID: e, | |
tag: r | |
} | |
} | |
}, Object.assign(w.prototype, a.Mixin, d.Mixin, w.Mixin, i, s), o.exports = w | |
}), __d("NativeMethodsMixin", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModules"), | |
a = t("NativeModulesDeprecated"), | |
s = i.RKUIManager, | |
l = a.RKUIManager, | |
u = t("TextInputState"), | |
c = t("flattenStyle"), | |
d = t("invariant"), | |
p = t("mergeFast"), | |
h = function(e, t) { | |
t || d(0, e + ' must be called with a valid animation ID returned from ReactIOSAnimation.createAnimation, received: "' + t + '"') | |
}, | |
f = { | |
addAnimation: function(e, t) { | |
h("addAnimation", e), l.addAnimation(this.getNodeHandle(), e, t) | |
}, | |
removeAnimation: function(e) { | |
h("removeAnimation", e), l.removeAnimation(this.getNodeHandle(), e) | |
}, | |
measure: function(e) { | |
l.measure(this.getNodeHandle(), e) | |
}, | |
measureLayout: function(e, t, n) { | |
s.measureLayout(this.getNodeHandle(), e, n, t) | |
}, | |
setNativeProps: function(e) { | |
var t = !0; | |
for (var n in e) | |
if ("style" !== n) { | |
t = !1; | |
break | |
} | |
var r = c(e.style), | |
o = null; | |
o = t ? r : r ? p(e, r) : e, l.updateView(this.getNodeHandle(), this.viewConfig.uiViewClassName, o) | |
}, | |
focus: function() { | |
u.focusTextInput(this.getNodeHandle()) | |
}, | |
blur: function() { | |
u.blurTextInput(this.getNodeHandle()) | |
} | |
}; | |
o.exports = f | |
}), __d("TextInputState", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModulesDeprecated").RKUIManager, | |
a = { | |
_currentlyFocusedID: null, | |
currentlyFocusedField: function() { | |
return this._currentlyFocusedID | |
}, | |
focusTextInput: function(e) { | |
this._currentlyFocusedID != e && null != e && (this._currentlyFocusedID = e, i.becomeFirstResponder(e)) | |
}, | |
blurTextInput: function(e) { | |
this._currentlyFocusedID == e && null != e && (this._currentlyFocusedID = null, i.resignFirstResponder(e)) | |
} | |
}; | |
o.exports = a | |
}), __d("flattenStyle", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return "number" == typeof e ? s.getStyleByID(e) : e | |
} | |
function a(e) { | |
if (!e) return void 0; | |
if (!Array.isArray(e)) return i(e); | |
for (var t = {}, n = 0; n < e.length; ++n) { | |
var r = a(e[n]); | |
r && l(t, r) | |
} | |
return t | |
} | |
var s = t("StyleSheetRegistry"), | |
l = t("mergeIntoFast"); | |
o.exports = a | |
}), __d("StyleSheetRegistry", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() {} | |
var a = {}, | |
s = 1, | |
l = {}; | |
i.registerStyle = function(e) { | |
var t = ++s; | |
return __DEV__ && Object.freeze(e), a[t] = e, t | |
}, i.getStyleByID = function(e) { | |
if (!e) return l; | |
var t = a[e]; | |
return t ? t : (console.warn("Invalid style with id `" + e + "`. Skipping ..."), l) | |
}, o.exports = i | |
}), __d("mergeIntoFast", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t) { | |
for (var n in t) e[n] = t[n] | |
}; | |
o.exports = i | |
}), __d("mergeFast", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t) { | |
var n = {}; | |
for (var r in e) n[r] = e[r]; | |
for (var o in t) n[o] = t[o]; | |
return n | |
}; | |
o.exports = i | |
}), __d("ReactIOSEventEmitter", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("EventPluginHub"), | |
a = t("ReactEventEmitterMixin"), | |
s = t("ReactIOSTagHandles"), | |
l = t("NodeHandle"), | |
u = t("EventConstants"), | |
c = t("merge"), | |
d = t("warning"), | |
p = u.topLevelTypes, | |
h = {}, | |
f = function(e, t) { | |
for (var n = [], r = 0; r < t.length; r++) n.push(e[t[r]]); | |
return n | |
}, | |
m = function(e, t) { | |
for (var n = [], r = 0; r < t.length; r++) { | |
var o = t[r]; | |
n.push(e[o]), e[o] = null | |
} | |
for (var i = 0, a = 0; a < e.length; a++) { | |
var s = e[a]; | |
null !== s && (e[i++] = s) | |
} | |
return e.length = i, n | |
}, | |
g = c(a, { | |
registrationNames: i.registrationNameModules, | |
putListener: i.putListener, | |
getListener: i.getListener, | |
deleteListener: i.deleteListener, | |
deleteAllListeners: i.deleteAllListeners, | |
_receiveRootNodeIDEvent: function(e, t, n) { | |
var r = n || h; | |
g.handleTopLevel(t, e, e, r) | |
}, | |
receiveEvent: function(e, t, n) { | |
var r = s.tagToRootNodeID[e]; | |
g._receiveRootNodeIDEvent(r, t, n) | |
}, | |
receiveTouches: function(e, t, n) { | |
for (var r = e === p.topTouchEnd || e === p.topTouchCancel ? m(t, n) : f(t, n), o = 0; o < r.length; o++) { | |
var i = r[o]; | |
i.changedTouches = r, i.touches = t; | |
var a = i, | |
u = null, | |
c = a.target; | |
null !== c && void 0 !== c && (c < s.tagsStartAt ? __DEV__ && d(!1, "A view is reporting that a touch occured on tag zero.") : u = l.getRootNodeID(c)), g._receiveRootNodeIDEvent(u, e, a) | |
} | |
} | |
}); | |
o.exports = g | |
}), __d("ReactEventEmitterMixin", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
a.enqueueEvents(e), a.processEventQueue() | |
} | |
var a = t("EventPluginHub"), | |
s = { | |
handleTopLevel: function(e, t, n, r) { | |
var o = a.extractEvents(e, t, n, r); | |
i(o) | |
} | |
}; | |
o.exports = s | |
}), __d("ReactIOSStyleAttributes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("TextStylePropTypes"), | |
a = t("ViewStylePropTypes"), | |
s = t("deepDiffer"), | |
l = t("keyMirror"), | |
u = t("matricesDiffer"), | |
c = t("merge"), | |
d = c(l(a), l(i)); | |
d.transformMatrix = { | |
diff: u | |
}, d.shadowOffset = { | |
diff: s | |
}, o.exports = d | |
}), __d("TextStylePropTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactPropTypes"), | |
a = t("ViewStylePropTypes"), | |
s = t("merge"), | |
l = s(a, { | |
fontFamily: i.string, | |
fontSize: i.number, | |
fontWeight: i.oneOf(["normal", "bold"]), | |
lineHeight: i.number, | |
color: i.string, | |
containerBackgroundColor: i.string, | |
textAlign: i.oneOf(["auto", "left", "right", "center", "justify"]), | |
writingDirection: i.oneOf(["auto", "ltr", "rtl"]) | |
}), | |
u = Object.keys({ | |
padding: null, | |
paddingTop: null, | |
paddingLeft: null, | |
paddingRight: null, | |
paddingBottom: null, | |
paddingVertical: null, | |
paddingHorizontal: null | |
}); | |
for (var c in u) delete l[c]; | |
o.exports = l | |
}), __d("ReactPropTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
function t(t, n, r, o, i) { | |
if (o = o || b, null != n[r]) return e(n, r, o, i); | |
var a = S[i]; | |
return t ? new Error("Required " + a + " `" + r + "` was not specified in " + ("`" + o + "`.")) : void 0 | |
} | |
var n = t.bind(null, !1); | |
return n.isRequired = t.bind(null, !0), n | |
} | |
function a(e) { | |
function t(t, n, r, o) { | |
var i = t[n], | |
a = _(i); | |
if (a !== e) { | |
var s = S[o], | |
l = y(i); | |
return new Error("Invalid " + s + " `" + n + "` of type `" + l + "` " + ("supplied to `" + r + "`, expected `" + e + "`.")) | |
} | |
} | |
return i(t) | |
} | |
function s() { | |
return i(w.thatReturns()) | |
} | |
function l(e) { | |
function t(t, n, r, o) { | |
var i = t[n]; | |
if (!Array.isArray(i)) { | |
var a = S[o], | |
s = _(i); | |
return new Error("Invalid " + a + " `" + n + "` of type " + ("`" + s + "` supplied to `" + r + "`, expected an array.")) | |
} | |
for (var l = 0; l < i.length; l++) { | |
var u = e(i, l, r, o); | |
if (u instanceof Error) return u | |
} | |
} | |
return i(t) | |
} | |
function u() { | |
function e(e, t, n, r) { | |
if (!v.isValidElement(e[t])) { | |
var o = S[r]; | |
return new Error("Invalid " + o + " `" + t + "` supplied to " + ("`" + n + "`, expected a React component.")) | |
} | |
} | |
return i(e) | |
} | |
function c(e) { | |
function t(t, n, r, o) { | |
if (!(t[n] instanceof e)) { | |
var i = S[o], | |
a = e.name || b; | |
return new Error("Invalid " + i + " `" + n + "` supplied to " + ("`" + r + "`, expected instance of `" + a + "`.")) | |
} | |
} | |
return i(t) | |
} | |
function d(e) { | |
function t(t, n, r, o) { | |
for (var i = t[n], a = 0; a < e.length; a++) | |
if (i === e[a]) return; | |
var s = S[o], | |
l = JSON.stringify(e); | |
return new Error("Invalid " + s + " `" + n + "` of value `" + i + "` " + ("supplied to `" + r + "`, expected one of " + l + ".")) | |
} | |
return i(t) | |
} | |
function p(e) { | |
function t(t, n, r, o) { | |
var i = t[n], | |
a = _(i); | |
if ("object" !== a) { | |
var s = S[o]; | |
return new Error("Invalid " + s + " `" + n + "` of type " + ("`" + a + "` supplied to `" + r + "`, expected an object.")) | |
} | |
for (var l in i) | |
if (i.hasOwnProperty(l)) { | |
var u = e(i, l, r, o); | |
if (u instanceof Error) return u | |
} | |
} | |
return i(t) | |
} | |
function h(e) { | |
function t(t, n, r, o) { | |
for (var i = 0; i < e.length; i++) { | |
var a = e[i]; | |
if (null == a(t, n, r, o)) return | |
} | |
var s = S[o]; | |
return new Error("Invalid " + s + " `" + n + "` supplied to " + ("`" + r + "`.")) | |
} | |
return i(t) | |
} | |
function f() { | |
function e(e, t, n, r) { | |
if (!g(e[t])) { | |
var o = S[r]; | |
return new Error("Invalid " + o + " `" + t + "` supplied to " + ("`" + n + "`, expected a renderable prop.")) | |
} | |
} | |
return i(e) | |
} | |
function m(e) { | |
function t(t, n, r, o) { | |
var i = t[n], | |
a = _(i); | |
if ("object" !== a) { | |
var s = S[o]; | |
return new Error("Invalid " + s + " `" + n + "` of type `" + a + "` " + ("supplied to `" + r + "`, expected `object`.")) | |
} | |
for (var l in e) { | |
var u = e[l]; | |
if (u) { | |
var c = u(i, l, r, o); | |
if (c) return c | |
} | |
} | |
} | |
return i(t, "expected `object`") | |
} | |
function g(e) { | |
switch (typeof e) { | |
case "number": | |
case "string": | |
return !0; | |
case "boolean": | |
return !e; | |
case "object": | |
if (Array.isArray(e)) return e.every(g); | |
if (v.isValidElement(e)) return !0; | |
for (var t in e) | |
if (!g(e[t])) return !1; | |
return !0; | |
default: | |
return !1 | |
} | |
} | |
function _(e) { | |
var t = typeof e; | |
return Array.isArray(e) ? "array" : e instanceof RegExp ? "object" : t | |
} | |
function y(e) { | |
var t = _(e); | |
if ("object" === t) { | |
if (e instanceof Date) return "date"; | |
if (e instanceof RegExp) return "regexp" | |
} | |
return t | |
} | |
var v = t("ReactElement"), | |
S = t("ReactPropTypeLocationNames"), | |
w = t("emptyFunction"), | |
b = "<<anonymous>>", | |
R = { | |
array: a("array"), | |
bool: a("boolean"), | |
func: a("function"), | |
number: a("number"), | |
object: a("object"), | |
string: a("string"), | |
any: s(), | |
arrayOf: l, | |
component: u(), | |
instanceOf: c, | |
objectOf: p, | |
oneOf: d, | |
oneOfType: h, | |
renderable: f(), | |
shape: m | |
}; | |
o.exports = R | |
}), __d("ViewStylePropTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("LayoutPropTypes"), | |
a = t("ReactPropTypes"), | |
s = t("merge"), | |
l = s(i, { | |
backgroundColor: a.string, | |
borderColor: a.string, | |
borderTopColor: a.string, | |
borderRightColor: a.string, | |
borderBottomColor: a.string, | |
borderLeftColor: a.string, | |
borderRadius: a.number, | |
opacity: a.number, | |
overflow: a.oneOf(["visible", "hidden"]), | |
shadowColor: a.string, | |
shadowOffset: a.shape({ | |
h: a.number, | |
w: a.number | |
}), | |
shadowOpacity: a.number, | |
shadowRadius: a.number, | |
transformMatrix: a.arrayOf(a.number) | |
}); | |
o.exports = l | |
}), __d("LayoutPropTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactPropTypes"), | |
a = { | |
width: i.number, | |
height: i.number, | |
top: i.number, | |
left: i.number, | |
right: i.number, | |
bottom: i.number, | |
margin: i.number, | |
marginVertical: i.number, | |
marginHorizontal: i.number, | |
marginTop: i.number, | |
marginBottom: i.number, | |
marginLeft: i.number, | |
marginRight: i.number, | |
padding: i.number, | |
paddingVertical: i.number, | |
paddingHorizontal: i.number, | |
paddingTop: i.number, | |
paddingBottom: i.number, | |
paddingLeft: i.number, | |
paddingRight: i.number, | |
borderWidth: i.number, | |
borderTopWidth: i.number, | |
borderRightWidth: i.number, | |
borderBottomWidth: i.number, | |
borderLeftWidth: i.number, | |
position: i.oneOf(["absolute", "relative"]), | |
flexDirection: i.oneOf(["row", "column"]), | |
flexWrap: i.oneOf(["wrap", "nowrap"]), | |
justifyContent: i.oneOf(["flex-start", "flex-end", "center", "space-between", "space-around"]), | |
alignItems: i.oneOf(["flex-start", "flex-end", "center", "stretch"]), | |
alignSelf: i.oneOf(["auto", "flex-start", "flex-end", "center", "stretch"]), | |
flex: i.number | |
}; | |
o.exports = a | |
}), __d("deepDiffer", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t) { | |
if (e === t) return !1; | |
if ("function" == typeof e && "function" == typeof t) return !1; | |
if ("object" != typeof e || null === e) return e !== t; | |
if ("object" != typeof t || null === t) return !0; | |
if (e.constructor !== t.constructor) return !0; | |
for (var n in e) | |
if (i(e[n], t[n])) return !0; | |
for (var r in t) | |
if (void 0 === e[r]) return !0; | |
return !1 | |
}; | |
o.exports = i | |
}), __d("matricesDiffer", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t) { | |
return e === t ? !1 : !e || !t || e[12] !== t[12] || e[13] !== t[13] || e[14] !== t[14] || e[5] !== t[5] || e[10] !== t[10] || e[1] !== t[1] || e[2] !== t[2] || e[3] !== t[3] || e[4] !== t[4] || e[6] !== t[6] || e[7] !== t[7] || e[8] !== t[8] || e[9] !== t[9] || e[11] !== t[11] || e[15] !== t[15] | |
}; | |
o.exports = i | |
}), __d("ReactMultiChild", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
_.push({ | |
parentID: e, | |
parentNode: null, | |
type: p.INSERT_MARKUP, | |
markupIndex: y.push(t) - 1, | |
textContent: null, | |
fromIndex: null, | |
toIndex: n | |
}) | |
} | |
function a(e, t, n) { | |
_.push({ | |
parentID: e, | |
parentNode: null, | |
type: p.MOVE_EXISTING, | |
markupIndex: null, | |
textContent: null, | |
fromIndex: t, | |
toIndex: n | |
}) | |
} | |
function s(e, t) { | |
_.push({ | |
parentID: e, | |
parentNode: null, | |
type: p.REMOVE_NODE, | |
markupIndex: null, | |
textContent: null, | |
fromIndex: t, | |
toIndex: null | |
}) | |
} | |
function l(e, t) { | |
_.push({ | |
parentID: e, | |
parentNode: null, | |
type: p.TEXT_CONTENT, | |
markupIndex: null, | |
textContent: t, | |
fromIndex: null, | |
toIndex: null | |
}) | |
} | |
function u() { | |
_.length && (d.BackendIDOperations.dangerouslyProcessChildrenUpdates(_, y), c()) | |
} | |
function c() { | |
_.length = 0, y.length = 0 | |
} | |
var d = t("ReactComponent"), | |
p = t("ReactMultiChildUpdateTypes"), | |
h = t("flattenChildren"), | |
f = t("instantiateReactComponent"), | |
m = t("shouldUpdateReactComponent"), | |
g = 0, | |
_ = [], | |
y = [], | |
v = { | |
Mixin: { | |
mountChildren: function(e, t) { | |
var n = h(e), | |
r = [], | |
o = 0; | |
this._renderedChildren = n; | |
for (var i in n) { | |
var a = n[i]; | |
if (n.hasOwnProperty(i)) { | |
var s = f(a, null); | |
n[i] = s; | |
var l = this._rootNodeID + i, | |
u = s.mountComponent(l, t, this._mountDepth + 1); | |
s._mountIndex = o, r.push(u), o++ | |
} | |
} | |
return r | |
}, | |
updateTextContent: function(e) { | |
g++; | |
var t = !0; | |
try { | |
var n = this._renderedChildren; | |
for (var r in n) n.hasOwnProperty(r) && this._unmountChildByName(n[r], r); | |
this.setTextContent(e), t = !1 | |
} finally { | |
g--, g || (t ? c() : u()) | |
} | |
}, | |
updateChildren: function(e, t) { | |
g++; | |
var n = !0; | |
try { | |
this._updateChildren(e, t), n = !1 | |
} finally { | |
g--, g || (n ? c() : u()) | |
} | |
}, | |
_updateChildren: function(e, t) { | |
var n = h(e), | |
r = this._renderedChildren; | |
if (n || r) { | |
var o, i = 0, | |
a = 0; | |
for (o in n) | |
if (n.hasOwnProperty(o)) { | |
var s = r && r[o], | |
l = s && s._currentElement, | |
u = n[o]; | |
if (m(l, u)) this.moveChild(s, a, i), i = Math.max(s._mountIndex, i), s.receiveComponent(u, t), s._mountIndex = a; | |
else { | |
s && (i = Math.max(s._mountIndex, i), this._unmountChildByName(s, o)); | |
var c = f(u, null); | |
this._mountChildByNameAtIndex(c, o, a, t) | |
} | |
a++ | |
} | |
for (o in r) !r.hasOwnProperty(o) || n && n[o] || this._unmountChildByName(r[o], o) | |
} | |
}, | |
unmountChildren: function() { | |
var e = this._renderedChildren; | |
for (var t in e) { | |
var n = e[t]; | |
n.unmountComponent && n.unmountComponent() | |
} | |
this._renderedChildren = null | |
}, | |
moveChild: function(e, t, n) { | |
e._mountIndex < n && a(this._rootNodeID, e._mountIndex, t) | |
}, | |
createChild: function(e, t) { | |
i(this._rootNodeID, t, e._mountIndex) | |
}, | |
removeChild: function(e) { | |
s(this._rootNodeID, e._mountIndex) | |
}, | |
setTextContent: function(e) { | |
l(this._rootNodeID, e) | |
}, | |
_mountChildByNameAtIndex: function(e, t, n, r) { | |
var o = this._rootNodeID + t, | |
i = e.mountComponent(o, r, this._mountDepth + 1); | |
e._mountIndex = n, this.createChild(e, i), this._renderedChildren = this._renderedChildren || {}, this._renderedChildren[t] = e | |
}, | |
_unmountChildByName: function(e, t) { | |
this.removeChild(e), e._mountIndex = null, e.unmountComponent(), delete this._renderedChildren[t] | |
} | |
} | |
}; | |
o.exports = v | |
}), __d("flattenChildren", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
var r = e, | |
o = !r.hasOwnProperty(n); | |
if (u(o, "flattenChildren(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.", n), o && null != t) { | |
var i, a = typeof t; | |
i = "string" === a ? s(t) : "number" === a ? s("" + t) : t, r[n] = i | |
} | |
} | |
function a(e) { | |
if (null == e) return e; | |
var t = {}; | |
return l(e, i, t), t | |
} | |
var s = t("ReactTextComponent"), | |
l = t("traverseAllChildren"), | |
u = t("warning"); | |
o.exports = a | |
}), __d("traverseAllChildren", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return m[e] | |
} | |
function a(e, t) { | |
return e && null != e.key ? l(e.key) : t.toString(36) | |
} | |
function s(e) { | |
return ("" + e).replace(g, i) | |
} | |
function l(e) { | |
return "$" + s(e) | |
} | |
function u(e, t, n) { | |
return null == e ? 0 : _(e, "", 0, t, n) | |
} | |
var c = t("ReactElement"), | |
d = t("ReactInstanceHandles"), | |
p = t("invariant"), | |
h = d.SEPARATOR, | |
f = ":", | |
m = { | |
"=": "=0", | |
".": "=1", | |
":": "=2" | |
}, | |
g = /[=.:]/g, | |
_ = function(e, t, n, r, o) { | |
var i, s, u = 0; | |
if (Array.isArray(e)) | |
for (var d = 0; d < e.length; d++) { | |
var m = e[d]; | |
i = t + (t ? f : h) + a(m, d), s = n + u, u += _(m, i, s, r, o) | |
} else { | |
var g = typeof e, | |
y = "" === t, | |
v = y ? h + a(e, 0) : t; | |
if (null == e || "boolean" === g) r(o, null, v, n), u = 1; | |
else if ("string" === g || "number" === g || c.isValidElement(e)) r(o, e, v, n), u = 1; | |
else if ("object" === g) { | |
e && 1 === e.nodeType && p(0, "traverseAllChildren(...): Encountered an invalid child; DOM elements are not valid children of React components."); | |
for (var S in e) e.hasOwnProperty(S) && (i = t + (t ? f : h) + l(S) + f + a(e[S], 0), s = n + u, u += _(e[S], i, s, r, o)) | |
} | |
} | |
return u | |
}; | |
o.exports = u | |
}), __d("styleDiffer", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return !a(e, t) | |
} | |
function a(e, t) { | |
if (!e) return !t; | |
if (!t) return !e; | |
if (typeof e != typeof t) return !1; | |
if ("number" == typeof e) return e === t; | |
if (Array.isArray(e)) { | |
if (!Array.isArray(t) || e.length !== t.length) return !1; | |
for (var n = 0; n < e.length; ++n) | |
if (!a(e[n], t[n])) return !1; | |
return !0 | |
} | |
for (var r in e) | |
if (s(e[r], t[r])) return !1; | |
for (var r in t) | |
if (!e.hasOwnProperty(r)) return !1; | |
return !0 | |
} | |
var s = t("deepDiffer"); | |
o.exports = i | |
}), __d("deepFreezeAndThrowOnMutationInDev", [], function(e, t, n, r, o) { | |
function i(e) { | |
if (__DEV__) { | |
if ("object" != typeof e || null === e || Object.isFrozen(e) || Object.isSealed(e)) return; | |
for (var t in e) e.hasOwnProperty(t) && (e.__defineGetter__(t, s.bind(null, e[t])), e.__defineSetter__(t, a.bind(null, t)), i(e[t])); | |
Object.freeze(e), Object.seal(e) | |
} | |
} | |
function a(e, t) { | |
throw Error("You attempted to set the key `" + e + "` with the value `" + JSON.stringify(t) + "` on an object that is meant to be immutable and has been frozen.") | |
} | |
function s(e) { | |
return e | |
} | |
o.exports = i | |
}), __d("diffRawProperties", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n, r) { | |
var o, i, a, s, l; | |
for (var u in n) o = r[u], o && (a = t && t[u], i = n[u], a !== i && (s = "object" != typeof i || null === i, l = s || !a || o.diff && o.diff(a, i), l && (e = e || {}, e[u] = i))); | |
for (var u in t) o = r[u], o && (e && void 0 !== e[u] || (a = t[u], i = n && n[u], a !== i && (void 0 === i && (i = null), s = "object" != typeof i || null === i, l = s && a !== i || o.diff && o.diff(a, i), l && (e = e || {}, e[u] = i)))); | |
return e | |
} | |
o.exports = i | |
}), __d("UniversalWorkerNodeHandle", [], function(e, t, n, r, o) { | |
var i = t("ReactIOSTagHandles"), | |
a = t("invariant"), | |
s = { | |
getRootNodeID: function(e) { | |
return (void 0 === e || null === e || 0 === e) && a(0, "No node handle defined"), i.tagToRootNodeID[e] | |
} | |
}; | |
o.exports = s | |
}), __d("RKEventEmitter", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactIOSEventEmitter"); | |
o.exports = i | |
}), __d("RKLog", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() {} | |
var a = t("invariant"); | |
i.logIfNoNativeHook = function() { | |
var e = Array.prototype.slice.call(arguments), | |
t = e.shift(), | |
n = { | |
log: !0, | |
info: !0, | |
warn: !0, | |
error: !0 | |
}; | |
return n[t] || a(0, 'Level "' + t + '" not one of ' + Object.keys(n)), "undefined" == typeof nativeLoggingHook && console[t].apply(console, e), !0 | |
}, o.exports = i | |
}), __d("RKJSTimers", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("JSTimersExecution"), | |
a = i; | |
o.exports = a | |
}), __d("deprecated", [], function(e, t, n, r, o) { | |
function i(e, t, n, r, o) { | |
var i = !1; | |
if (__DEV__) { | |
var s = function() { | |
return a(i, e + "." + t + " will be deprecated in a future version. " + ("Use " + e + "." + n + " instead.")), i = !0, o.apply(r, arguments) | |
}; | |
return s.displayName = e + "_" + t, s | |
} | |
return o | |
} | |
var a = t("warning"); | |
o.exports = i | |
}), __d("RKRenderingPerf", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() {} | |
var a = t("DliteCatalystProfiler"), | |
s = t("ReactDefaultPerf"), | |
l = t("ReactPerf"); | |
i.toggle = function() { | |
l.enableMeasure ? (s.stop(), s.printInclusive(), s.printWasted(), a.print(), a.reset()) : (s.start(), console.log("Render perfomance measurements started"), a.start(), console.log("Dlite perfomance measurements started")) | |
}, o.exports = i | |
}), __d("DliteCatalystProfiler", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i, a, s, l, u, c = t("DliteProfiler"), | |
d = t("GraphQLStore"), | |
p = t("GraphQLStoreChangeEmitter"), | |
h = t("GraphQLStoreQueryResolver"), | |
f = t("GraphQLStoreReader"), | |
m = t("ReactGraphQL"), | |
g = t("SubscriptionsHandler"), | |
_ = t("invariant"), | |
y = t("mapObject"), | |
v = t("performanceNow"), | |
S = [m.Mixin.getInitialState, m.Mixin.componentWillReceiveProps, m.Mixin._shouldComponentUpdate, m.Mixin.statics.getQueriesForRoute, d.getDiffQueries, d.handleUpdate, p.addListenerForIDs, p.broadcastChangeForID, p._processSubscribers, h.prototype.resolve, f.prototype.retrieveData], | |
w = ["React.setPropsInternal.onSuccess", "React.setPropsInternal.onSubscription"], | |
b = { | |
aggregateTime: 0, | |
callCount: 0 | |
}, | |
R = new g, | |
C = !1, | |
E = !1, | |
D = { | |
start: function() { | |
D.reset(), E = !0, __DEV__ || _(0, "DliteCatalystProfiler (DliteProfiler) requires `__DEV__`."), S.forEach(function(e) { | |
e && e.attachHandler || _(0, "DliteCatalystProfiler: Attempted to measure an invalid method."), e.attachHandler(D.measure) | |
}), w.forEach(function(e) { | |
c.attachAsyncHandler(e, { | |
onStart: D.startMeasurement.bind(D, e), | |
onStop: D.stopMeasurement.bind(D, e) | |
}) | |
}), R.engage(), R.addSubscriptions(m.addListener("beginQueryParamChange", function(e, t) { | |
return C ? void console.warn("DliteCatalystProfiler: Began `setQueryParams(%o)` on `%s` while profiling. Results may be tainted.", t, e) : void(C = !0) | |
}), m.addListener("endQueryParamChange", function() { | |
C = !1 | |
})), c.attachAsyncHandler("fetchRQL.processPending", { | |
onStart: function() { | |
l = v() | |
}, | |
onStop: function() { | |
u || (u = v() - l, l = 0) | |
} | |
}) | |
}, | |
stop: function() { | |
E = !1, S.forEach(function(e) { | |
e.detachHandler(D.measure) | |
}), R.release() | |
}, | |
measure: function(e, t) { | |
D.startMeasurement(e), t(), D.stopMeasurement(e) | |
}, | |
startMeasurement: function(e) { | |
i[e] = i[e] || Object.assign({}, b), a.unshift(0), s.unshift(v()) | |
}, | |
stopMeasurement: function(e) { | |
var t = a.shift(), | |
n = s.shift(), | |
r = v() - n; | |
i[e].aggregateTime += r - t, i[e].callCount++, a[0] += r | |
}, | |
getAggregateTimes: function() { | |
return y(i, function(e) { | |
return e.aggregateTime | |
}) | |
}, | |
reset: function() { | |
i = {}, a = [0], s = [0], l = 0, u = 0 | |
}, | |
getMeasurements: function() { | |
return Object.assign({}, i) | |
}, | |
print: function(e) { | |
if (E) { | |
var t = {}, | |
n = 1; | |
e && (n = e - u, console.info("Overall time: ", e), console.info("Fetch time: ", u), console.info("Estimated Dlite JS time: ", n)), Object.keys(i).sort(function(e, t) { | |
return i[t].aggregateTime - i[e].aggregateTime | |
}).forEach(function(r) { | |
t[r] = i[r], e && (t[r].percentage = Math.round(i[r].aggregateTime / n * 100)) | |
}), console.table ? console.table(t) : console.log(t) | |
} | |
} | |
}; | |
o.exports = D | |
}), __d("DliteProfiler", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("emptyFunction"), | |
a = t("forEachObject"), | |
s = t("invariant"), | |
l = {}, | |
u = {}, | |
c = { | |
stop: i | |
}, | |
d = { | |
instrumentMethods: function(e, t) { | |
a(t, function(t, n) { | |
e[n] = d.instrument(t, e[n]) | |
}) | |
}, | |
instrument: function(e, t) { | |
if (__DEV__) { | |
var n = [], | |
r = function() { | |
var r = l, | |
o = arguments, | |
i = function() { | |
r = t.apply(this, o) | |
}.bind(this); | |
if (n.forEach(function(t) { | |
i = t.bind(this, e, i) | |
}, this), i(), r === l) throw new Error("DliteProfiler: Handler did not invoke original function."); | |
return r | |
}; | |
return r.attachHandler = function(e) { | |
n.push(e) | |
}, r.detachHandler = function(e) { | |
var t = n.indexOf(e); | |
t >= 0 && n.splice(t, 1) | |
}, r.displayName = "(instrumented " + e + ")", r | |
} | |
return t.attachHandler = i, t.detachHandler = i, t | |
}, | |
instrumentAsync: function(e) { | |
return __DEV__ ? (u[e] && u[e].onStart(), { | |
stop: function() { | |
u[e] && u[e].onStop() | |
} | |
}) : c | |
}, | |
attachAsyncHandler: function(e, t) { | |
__DEV__ && (u.hasOwnProperty(e) && s(0, "DliteProfiler: Property with name `%s` already exists.", e), u[e] = t) | |
} | |
}; | |
o.exports = d | |
}), __d("forEachObject", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
for (var r in e) a.call(e, r) && t.call(n, e[r], r, e) | |
} | |
var a = Object.prototype.hasOwnProperty; | |
o.exports = i | |
}), __d("GraphQLStore", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return new T(B, U, q, H, N, e, E.broadcastChangeForID, t) | |
} | |
function a(e) { | |
var t = N[e.client_mutation_id]; | |
u(t, C.ERROR) | |
} | |
function s(e, t, n) { | |
var r = v.getMutationType(e); | |
e = e[r], t instanceof _.Mutation || k(0, "must pass a mutation into handleMutationResult"); | |
for (var o = b.getConfigs(r), a = i(n, L()), s = 0; s < o.length; s++) { | |
var l = o[s]; | |
switch (l.handlerType) { | |
case w.NODE_DELETE_HANDLER: | |
a.handleNodeDeleteMutation(e, l.config); | |
break; | |
case w.RANGE_ADD_HANDLER: | |
a.handleRangeAddMutation(e, t, l.config, S.getRangeConfigForType(r)); | |
break; | |
case w.RANGE_DELETE_HANDLER: | |
a.handleRangeDeleteMutation(e, l.config); | |
break; | |
default: | |
console.error('"%s" is not mapped to a mutation handler', l.handlerType) | |
} | |
} | |
a.handleMergeMutation(e, t, r) | |
} | |
function l(e) { | |
s(e.getOptimisticPayload(), e.getOptimisticPayloadQuery(), w.OPTIMISTIC_UPDATE) | |
} | |
function u(e, t) { | |
t in C || k(0, '"%s" is not a valid GraphQLStatusConstant.', t); | |
var n = U[e]; | |
n || k(0, "Invalid dataID %s was passed to `setStatusForID`. Can only set status for queued node.", e), n.__status__ = t, E.broadcastChangeForID(e) | |
} | |
function c(e) { | |
var t = U[e]; | |
t || k(0, "Invalid dataID %s was passed to `clearStatusForID`. Can only set status for queued node.", e), delete t.__status__, E.broadcastChangeForID(e) | |
} | |
function d() { | |
for (var e in U) U.hasOwnProperty(e) && delete U[e] | |
} | |
var p = t("ActionCollisionMap"), | |
h = t("ActionQueue"), | |
f = t("DiffQueryBuilder"), | |
m = (t("DliteLog"), t("DliteLogger")), | |
g = t("DliteProfiler"), | |
_ = t("GraphQL_EXPERIMENTAL"), | |
y = t("GraphQLConstants"), | |
v = t("GraphQLMutationDataHandler"), | |
S = t("GraphQLMutationProperties"), | |
w = t("GraphQLMutatorConstants"), | |
b = t("GraphQLMutatorHub"), | |
R = t("GraphQLQueryTracker"), | |
C = t("GraphQLStatusConstants"), | |
E = t("GraphQLStoreChangeEmitter"), | |
D = t("GraphQLStoreDataHandler"), | |
x = t("GraphQLStoreNodeRangeTracker"), | |
F = t("GraphQLStoreQueryPath"), | |
I = (t("GraphQLStoreRangeUtils"), t("GraphQLStoreReader")), | |
T = t("GraphQLStoreWriter"), | |
P = t("generateClientID"), | |
L = t("generateForceIndex"), | |
k = t("invariant"), | |
M = t("isEmpty"), | |
A = t("keyMirror"), | |
Q = t("mapObject"), | |
O = t("mixInEventEmitter"), | |
N = {}, | |
G = {}, | |
$ = {}, | |
B = {}, | |
U = {}, | |
V = {}, | |
q = new R, | |
H = new x, | |
j = y.NODE, | |
W = y.NODES, | |
K = y.VIEWER, | |
z = y.CUSTOM_ROOTCALLS, | |
Y = y.IDLESS_ROOTCALLS, | |
X = { | |
Events: A({ | |
beginQuery: !0, | |
dataFromServer: !0, | |
endQuery: !0 | |
}), | |
handleOptimisticMutation: function(e) { | |
h.appendToQueue(e), l(e) | |
}, | |
handleServerMutation: function(e, t) { | |
var n = v.getMutationType(e), | |
r = e[n].client_mutation_id, | |
o = p.getKeyForClientMutationID(r); | |
if (o) { | |
var i = p.shiftActionForKey(o); | |
i.getClientMutationID() !== r && k(0, "action sent to server must be first in the list for its key"); | |
var a = p.getFirstActionForKey(o); | |
a && a.rerunServerAction() | |
} | |
var u = h.getActionByID(r); | |
u && (h.removeFromQueue(r), d(), h.iterateOverQueue(l)), s(e, t, w.SERVER_UPDATE) | |
}, | |
handleMutationError: function(e) { | |
var t = v.getMutationType(e); | |
e = e[t]; | |
var n = e.client_mutation_id, | |
r = p.getKeyForClientMutationID(n); | |
r && (p.shiftActionForKey(r), p.iterateOverActionsForKey(r, function(e) { | |
h.removeFromQueue(e.getClientMutationID()) | |
}), p.clearActionsForKey(r), d(), h.iterateOverQueue(l)); | |
var o = b.getConfigs(t); | |
if (o) { | |
for (var i = 0; i < o.length; i++) { | |
var s = o[i]; | |
switch (s.handlerType) { | |
case w.RANGE_ADD_HANDLER: | |
a(e, s.config) | |
} | |
} | |
var u = N[n]; | |
G[u] = n | |
} | |
}, | |
handleMutationRetry: function(e) { | |
var t = G[e]; | |
t || k(0, "Can only retry mutations that encountered errors"); | |
var n = h.getActionByID(t); | |
n || k(0, "Cannot retry a mutation that has not previously been tried"), delete G[e], c(e), n.rerunServerAction() | |
}, | |
handleUpdate: function(e, t, n, r) { | |
t = t.getQuery(); | |
var o, a = m.logClientEvent("GraphQLStore.handleUpdate:" + t.getDescription()), | |
s = t.rootCall().getName(); | |
if (s === K) o = i(n, r), o.storeNodeWithID(t, e.viewer, y.VIEWER_CLIENT_ID, new F(t)); | |
else { | |
if (!(s === j || s === W || s in z)) throw new Error("Unsupported graphQL root call: use viewer, username, group, node, or nodes"); | |
for (var l in e) { | |
o = i(n, r); | |
var u = e[l]; | |
if (null === u) o.deleteNodeWithID(l); | |
else { | |
var c = l; | |
if (s !== W && s !== j) { | |
var d = t.rootCall().getArgs(); | |
if (1 !== d.length) throw new Error("Custom root calls must request with only one argument"); | |
var p = d[0].getCallValue(); | |
if (V[s] = V[s] || {}, c = V[s][p], !c) { | |
if (c = s in Y ? P() : u.id, !c) throw new Error("Root calls that has an id field must request for id"); | |
V[s][p] = c | |
} | |
} | |
var h = new F(s === W ? new _.Query("node", [c]) : t); | |
o.storeNodeWithID(t, u, c, h) | |
} | |
} | |
} | |
a.stop() | |
}, | |
buildFragmentQueryForDataID: function(e, t) { | |
if (D.isClientID(t)) { | |
var n = B[t] || U[t]; | |
return n.__path__.getQueryForFragment(e) | |
} | |
return new F(new _.Query("node", [t])).getQueryForFragment(e) | |
}, | |
resolveQueryFromStore: function(e) { | |
var t = X.getIDsFromQuery(e), | |
n = {}; | |
for (var r in t) { | |
var o = X.getDeepNodeByID(t[r], e.getQuery()); | |
void 0 !== o && (n[r] = o) | |
} | |
return n | |
}, | |
canResolveQueriesFromStore: function(e) { | |
for (var t in e) | |
if (e.hasOwnProperty(t) && e[t] && X.getDiffQueries(e[t]).length) return !1; | |
return !0 | |
}, | |
getDiffQueries: function(e) { | |
var t = new f(B, q); | |
return t.getDiffQueries(e, X.getIDsFromQuery(e)) | |
}, | |
resolvePointersForQuery: function(e) { | |
return Q(X.getIDsFromQuery(e), D.createPointerWithID) | |
}, | |
injectCachingConfig: function(e) { | |
$ = e | |
}, | |
isValidNodeID: function(e) { | |
return B.hasOwnProperty(e) || U.hasOwnProperty(e) | |
}, | |
isQueuedNodeID: function(e) { | |
return U.hasOwnProperty(e) | |
}, | |
getDeepNodeFromData: function(e, t, n, r) { | |
var o = new I(B, U, n); | |
return o.retrieveData(e, t, void 0, r) | |
}, | |
getDeepNodeByID: function(e, t, n) { | |
return X.getDeepNodeFromData(t, D.createPointerWithID(e), n) | |
}, | |
__debug: { | |
nodeData: B, | |
queuedData: U | |
}, | |
getTrackedQueryByID: function(e) { | |
return Array.isArray(e) || (e = [e]), q.getQueryForIDs(e) | |
}, | |
getIDsFromQuery: function(e) { | |
e = e.getQuery(); | |
var t = {}, | |
n = e.rootCall(), | |
r = n.getName(); | |
if (r === K) t.viewer = y.VIEWER_CLIENT_ID; | |
else if (r === j || r === W || r in z) | |
for (var o = n.getArgs(), i = 0; i < o.length; i++) | |
if (!(o[i] instanceof _.BatchCallVariable)) { | |
var a = o[i].getCallValue(); | |
V[r] && V[r][a] && (a = V[r][a]), t[o[i].getCallValue()] = a | |
} | |
return M(t) && k(0, "Unsupported graphQL root call: use viewer, username, group, node, or nodes"), t | |
} | |
}; | |
g.instrumentMethods(X, { | |
handleUpdate: "GraphQLStore.handleUpdate", | |
getDiffQueries: "GraphQLStore.getDiffQueries", | |
resolveQueryFromStore: "GraphQLStore.resolveQueryFromStore" | |
}), O(X, X.Events), o.exports = X | |
}), __d("ActionCollisionMap", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = {}, | |
s = {}, | |
l = { | |
hasPendingActionForKey: function(e) { | |
return !(!a[e] || !a[e].length) | |
}, | |
appendActionForKey: function(e, t) { | |
var n = t.getClientMutationID(); | |
l.existsInMap(n) && i(0, "Cannot append an action that's already in the map"), s[n] = e; | |
var r = a[e] || []; | |
r.push(t), a[e] = r | |
}, | |
getFirstActionForKey: function(e) { | |
var t = a[e]; | |
return t && t.length ? t[0] : null | |
}, | |
shiftActionForKey: function(e) { | |
var t = a[e]; | |
t && t.length || i(0, "Cannot shift unless there are actions"); | |
var n = t.shift(); | |
return 0 === t.length && delete a[e], delete s[n.getClientMutationID()], n | |
}, | |
iterateOverActionsForKey: function(e, t) { | |
var n = a[e] || []; | |
n.forEach(t) | |
}, | |
clearActionsForKey: function(e) { | |
for (var t = a[e] || [], n = 0; n < t.length; n++) delete s[t[n].getClientMutationID()]; | |
delete a[e] | |
}, | |
getKeyForClientMutationID: function(e) { | |
return s[e] || null | |
}, | |
existsInMap: function(e) { | |
return !!l.getKeyForClientMutationID(e) | |
} | |
}; | |
o.exports = l | |
}), __d("ActionQueue", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = [], | |
s = {}, | |
l = { | |
appendToQueue: function(e) { | |
var t = e.getClientMutationID(); | |
t in s && i(0, "Cannot add an action to the queue that was already added"), a.push(t), s[t] = e | |
}, | |
removeFromQueue: function(e) { | |
e in s || i(0, "Cannot remove something not in the queue from the queue"), delete s[e]; | |
var t = a.indexOf(e); | |
t >= 0 || i(0, "clientMutationID most occur somewhere in the queue"), a.splice(t, 1) | |
}, | |
iterateOverQueue: function(e) { | |
for (var t = 0; t < a.length; t++) { | |
var n = s[a[t]]; | |
e(n) | |
} | |
}, | |
getQueueLength: function() { | |
return a.length | |
}, | |
getActionByID: function(e) { | |
return s[e] | |
} | |
}; | |
o.exports = l | |
}), __d("DiffQueryBuilder", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
this.$DiffQueryBuilder_store = e, this.$DiffQueryBuilder_queryTracker = t, this.$DiffQueryBuilder_rootFragments = null | |
} | |
var a = t("GraphQL_EXPERIMENTAL"), | |
s = t("GraphQLConstants"), | |
l = t("GraphQLRangeTracker"), | |
u = t("GraphQLStoreDataHandler"), | |
c = t("GraphQLStoreRangeUtils"), | |
d = [], | |
p = new a.QueryFragment("DiffQueryFragment", "UnknownConnection", [new a.Field("edges", [new a.Field("node", [new a.Field("id")])])]); | |
i.prototype.getDiffQueries = function(e, t) { | |
var n = e.getQuery(), | |
r = n.rootCall().getName(), | |
o = []; | |
for (var i in t) { | |
var s = t[i], | |
l = this.$DiffQueryBuilder_diffNode(n, s), | |
u = l.nodes; | |
null === u && (u = [n]); | |
for (var c = 0; c < u.length; c++) { | |
var d = u[c].getFragments(), | |
p = u[c].getOwnFields(), | |
h = null; | |
h = 1 === d.length && 0 === p.length ? d[0].getName() : u[c].getQueryName(), h = "diff_" + h, o.push(new a.QueryWithValues(new a.Query(r, "viewer" === r ? null : [i], p, d, null, h))) | |
} | |
} | |
if (this.$DiffQueryBuilder_rootFragments) | |
for (var f in this.$DiffQueryBuilder_rootFragments) o.push(new a.QueryWithValues(new a.Query("node", [f], null, this.$DiffQueryBuilder_rootFragments[f]))); | |
return this.$DiffQueryBuilder_rootFragments = null, o | |
}, i.prototype.$DiffQueryBuilder_diffNode = function(e, t, n) { | |
var r = null, | |
o = null, | |
i = !1, | |
c = null, | |
h = null, | |
f = null, | |
m = null, | |
g = null, | |
_ = e.getOwnFields(), | |
y = e.getFragments(), | |
v = this.$DiffQueryBuilder_store[t]; | |
if (!v) return { | |
nodes: null === v ? [] : [e], | |
trackedField: f | |
}; | |
for (var S = this.$DiffQueryBuilder_getRangeInfo(e, v), w = S.diffCalls, b = S.filterCalls, R = S.requestedEdges, C = 0; C < _.length; C++) { | |
var E = null, | |
D = null, | |
x = _[C], | |
F = x.getFieldName(); | |
if ("node" === F && n) E = d; | |
else if ("edges" === F) { | |
if (R) { | |
for (var I, T, P = x.getOwnField("node"), L = R.length > l.THRESHOLD, k = 0; k < R.length; k++) { | |
var M = R[k], | |
A = M.__dataID__; | |
if (!l.hasEdge(x, A)) { | |
var Q = M.node.__dataID__; | |
if (!u.isClientID(Q)) { | |
if (e.isFindable()) { | |
var O = this.$DiffQueryBuilder_diffNode(x, A, !0), | |
N = O.nodes, | |
G = O.trackedField; | |
N || (N = [x]), N.length && (r = r || [], r.push(e.shallowClone(N, [p], b.concat(new a.Call("find", Q))))), G && (T = T || [], T.push(new a.QueryFragment("DiffQueryBuilderTrackedQuery", "UnknownConnectionEdge", G.getOwnFields(), G.getFragments()))) | |
} | |
var $ = this.$DiffQueryBuilder_getFragmentForNewQuery(P, Q); | |
$ && (I = I || [], I.push($)), L && l.trackEdge(x, A, t) | |
} | |
} | |
}(I || T) && (D = x.shallowClone(I ? [P.shallowClone(null, I)] : null, T)) | |
} | |
E = w ? null : d | |
} else if ("page_info" === F) E = w ? null : d; | |
else { | |
var B = this.$DiffQueryBuilder_diffField(x, v); | |
E = B.fields, D = B.trackedField | |
} | |
"id" === F && (i = !!E, o = x, E = null), (c || E) && (c = c || _.slice(0, C), null === E ? c.push(x) : E.length > 0 && c.push.apply(c, E)), D && (m = m || [], m.push(D)) | |
} | |
for (var U = 0; U < y.length; U++) { | |
var V = y[U], | |
q = this.$DiffQueryBuilder_diffNode(V, t), | |
H = q.nodes, | |
j = q.trackedField; | |
(h || H) && (h = h || y.slice(0, U), null === H ? h.push(V) : H.length > 0 && h.push.apply(h, H)), j && (g = g || [], g.push(j)) | |
} | |
return c = c || _, h = h || y, 0 === h.length && (0 === c.length || i && 1 === c.length && c[0] === o) ? r = r || [] : c === _ && h === y ? w ? (r = r || [], r.push(e.shallowClone(_, y, w))) : r && r.push(e) : (r = r || [], r.push(w ? e.shallowClone(c, h, w) : e.shallowClone(c, h))), (m || g) && (f = e.shallowClone(m, g), e instanceof a.QueryFragment || t !== s.VIEWER_CLIENT_ID && u.isClientID(t) || this.$DiffQueryBuilder_queryTracker.addQueryForID(t, f)), { | |
nodes: r, | |
trackedField: f | |
} | |
}, i.prototype.$DiffQueryBuilder_diffField = function(e, t) { | |
var n, r, o = c.getStorageKeyForField(e, {}), | |
i = t[o]; | |
if (void 0 === i) n = null; | |
else if (e.isPlural()) | |
if (null === i || 0 === i.length) n = d; | |
else if (e.hasFields()) | |
if ("node" === e.getInferredRootCallName()) n = d, r = this.$DiffQueryBuilder_getFragmentsForNewQuery(e, i); | |
else { | |
var a = i[0].__dataID__; | |
if (a && a in this.$DiffQueryBuilder_store) { | |
var s = this.$DiffQueryBuilder_diffNode(e, a); | |
n = s.nodes, r = s.trackedField | |
} | |
} else n = d; | |
else if (null !== i && e.hasFields()) { | |
var l = this.$DiffQueryBuilder_diffNode(e, i.__dataID__); | |
n = l.nodes, r = l.trackedField | |
} else n = d; | |
return { | |
fields: n, | |
trackedField: r | |
} | |
}, i.prototype.$DiffQueryBuilder_getFragmentsForNewQuery = function(e, t) { | |
for (var n = null, r = 0; r < t.length; r++) { | |
var o = t[r].__dataID__, | |
i = this.$DiffQueryBuilder_getFragmentForNewQuery(e, o); | |
i && (n = n || [], n.push(i)) | |
} | |
return n ? e.shallowClone(null, n) : null | |
}, i.prototype.$DiffQueryBuilder_getFragmentForNewQuery = function(e, t) { | |
var n = this.$DiffQueryBuilder_diffNode(e, t), | |
r = n.nodes, | |
o = n.trackedField; | |
null === r && (r = [e]); | |
for (var i, s = 0; s < r.length; s++) i = new a.QueryFragment("DiffQueryBuilder", "Node", r[s].getOwnFields(), r[s].getFragments()), this.$DiffQueryBuilder_rootFragments = this.$DiffQueryBuilder_rootFragments || {}, this.$DiffQueryBuilder_rootFragments[t] = this.$DiffQueryBuilder_rootFragments[t] || [], this.$DiffQueryBuilder_rootFragments[t].push(i); | |
if (o || i) { | |
var l; | |
return l = o && i ? o.getFragments().concat(i) : o ? o.getFragments() : [i], new a.QueryFragment("DiffQueryBuilderTrackedQuery", "Node", o ? o.getOwnFields() : null, l) | |
} | |
return null | |
}, i.prototype.$DiffQueryBuilder_getRangeInfo = function(e, t) { | |
var n, r, o; | |
if (c.isRangeNode(e)) { | |
var i = e.getCalls(); | |
if (t.__range__) { | |
var a = t.__range__.retrieveRangeInfoForQuery(i, {}); | |
o = t.__filterCalls__ || [], a.diffCalls && a.diffCalls.length && (n = o.concat(a.diffCalls)), r = a.requestedEdges | |
} else i && i.length && (n = i) | |
} | |
return { | |
diffCalls: n, | |
filterCalls: o, | |
requestedEdges: r | |
} | |
}, o.exports = i | |
}), __d("GraphQL_EXPERIMENTAL", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
if (this.$GraphQLNode_fields = e || k, this.$GraphQLNode_fieldMap = L, this.$GraphQLNode_fragments = t && t.length > 0 ? t.filter(v) : k, this.$GraphQLNode_hasNestedVariables = !1, this.$GraphQLNode_numNestedFragmentsWithVariables = 0, e && e.length > 0) { | |
this.$GraphQLNode_fieldMap = {}; | |
for (var n = 0; n < e.length; n++) { | |
var r = e[n], | |
o = r.getGeneratedAlias(); | |
void 0 !== this.$GraphQLNode_fieldMap[o] && T(0, 'Field "%s" is already in fields with the same calls.', r.getFieldName()), this.$GraphQLNode_fieldMap[o] = r, (r.hasVariables() || r.$GraphQLNode_hasNestedVariables) && (this.$GraphQLNode_hasNestedVariables = !0), this.$GraphQLNode_numNestedFragmentsWithVariables += r.$GraphQLNode_numNestedFragmentsWithVariables | |
} | |
} | |
for (var i = 0; i < this.$GraphQLNode_fragments.length; i++)(this.$GraphQLNode_fragments[i].$GraphQLNode_hasNestedVariables || this.$GraphQLNode_fragments[i].$GraphQLNode_numNestedFragmentsWithVariables) && (this.$GraphQLNode_numNestedFragmentsWithVariables += 1) | |
} | |
function a(e, t, n) { | |
this.$GraphQLCallvNode_name = e, this.$GraphQLCallvNode_metadata = n || L, this.isVarArgs() && t && 1 === t.length && Array.isArray(t[0]) && (t = t[0]), this.$GraphQLCallvNode_args = t ? t.map(S) : k | |
} | |
function s(e) { | |
for (var t = [], n = 1, r = arguments.length; r > n; n++) t.push(arguments[n]); | |
a.call(this, e, t) | |
} | |
function l(e) { | |
this.$GraphQLCallValue_callValue = e + "" | |
} | |
function u(e, t) { | |
this.$GraphQLBatchCallVariable_sourceQueryID = e, this.$GraphQLBatchCallVariable_jsonPath = t | |
} | |
function c(e) { | |
this.$GraphQLCallVariable_callVariableName = e | |
} | |
function d(e, t, n, r, o, a, s) { | |
i.call(this, t, n), A.test(e) || T(0, '"%s" is not a valid field name', e), Q.test(o) || T(0, '"%s" is not a valid alias name', o), this.$GraphQLFieldNode_fieldName = e, this.$GraphQLFieldNode_calls = r || k, this.$GraphQLFieldNode_alias = o || null, this.$GraphQLFieldNode_condition = a || null, this.$GraphQLFieldNode_metadata = s || L, this.$GraphQLFieldNode_generatedAlias = null, this.$GraphQLFieldNode_generatedFieldName = null, this.$GraphQLFieldNode_hasVariables = this.$GraphQLFieldNode_calls.some(R) | |
} | |
function p(e, t, n, r, o) { | |
i.call(this, n, r), this.$GraphQLQueryFragment_name = e, this.$GraphQLQueryFragment_type = t, this.$GraphQLQueryFragment_metadata = o || L, this.$GraphQLQueryFragment_isDeferred = null, this.$GraphQLQueryFragment_deferredCopy = null | |
} | |
function h(e, t, n, r, o, s) { | |
i.call(this, n, r), this.$GraphQLQuery_rootCall = e, this.$GraphQLQuery_metadata = o || L; | |
var l = this.$GraphQLQuery_metadata.varargs ? { | |
varargs: this.$GraphQLQuery_metadata.varargs | |
} : null; | |
this.$GraphQLQuery_rootNode = new a(e, t, l), this.$GraphQLQuery_queryName = s, this.$GraphQLQuery_allFragmentNames = null, this.$GraphQLQuery_deferredFragmentNames = null, this.$GraphQLQuery_description = null | |
} | |
function f(e, t) { | |
this.$GraphQLQueryWithValues_query = e, this.$GraphQLQueryWithValues_values = t | |
} | |
function m(e, t, n, r, o) { | |
i.call(this, r, o), this.$GraphQLMutation_name = e, this.$GraphQLMutation_responseType = t, this.$GraphQLMutation_mutationCall = n | |
} | |
function g(e) { | |
var t = ""; | |
return e.getCondition() && (t += e.getCondition() + "?"), t += e.getFieldName(), 0 !== e.getCalls().length && (t += "." + e.getCalls().join("."), t += " as " + e.getGeneratedAlias()), t | |
} | |
function _(e) { | |
var t = y(e); | |
if (0 === t.length) return ""; | |
for (var n = [], r = 0; r < t.length; r++) { | |
var o = t[r]; | |
n.push(Array.isArray(o) ? g(o[0]) + _(o) : o.toString()) | |
} | |
return "{" + n.join(",") + "}" | |
} | |
function y(e) { | |
for (var t = null, n = 0; e.length > 0;) { | |
n++ < 1e4 || T(0, "Endless loop!"); | |
for (var r = e.shift(), o = r.getFragments(), i = 0; i < o.length; i++) e.push(o[i]); | |
for (var a = r.getOwnFields(), s = 0; s < a.length; s++) { | |
var l = a[s], | |
u = l.getGeneratedAlias(); | |
t = t || {}, t.hasOwnProperty(u) ? (Array.isArray(t[u]) || (t[u] = [t[u]]), t[u].push(l)) : t[u] = l | |
} | |
} | |
if (!t) return k; | |
for (var c = [], d = Object.keys(t).sort(), p = 0; p < d.length; p++) c.push(t[d[p]]); | |
return c | |
} | |
function v(e) { | |
return !!e | |
} | |
function S(e) { | |
var t = typeof e; | |
if (null === e ? e = new c("__null__") : ("string" === t || "number" === t || "boolean" === t) && (e = new l(e + "")), !(e instanceof l || e instanceof c || e instanceof u)) throw new TypeError("Unable to cast argument to GraphQL.Callv, got " + Object.prototype.toString.call(e)); | |
return e | |
} | |
function w(e) { | |
for (var t = -1, n = e.length - 1; n >= 0; n--) | |
if (null !== e[n]) { | |
t = n; | |
break | |
} | |
return e.length = t + 1, e | |
} | |
function b(e) { | |
var t = e[0]; | |
switch (t) { | |
case N.CALL_VALUE: | |
return l.fromJSON(e); | |
case N.CALL_VARIABLE: | |
return c.fromJSON(e); | |
case N.BATCH_VARIABLE: | |
return u.fromJSON(e); | |
default: | |
throw new Error("Unknown type") | |
} | |
} | |
function R(e) { | |
return e.getArgs().some(x) | |
} | |
function C(e) { | |
return e instanceof u | |
} | |
function E(e) { | |
return e.getRefParam() | |
} | |
function D(e) { | |
return e.getSourceQueryID() | |
} | |
function x(e) { | |
return e instanceof c | |
} | |
function F(e) { | |
return e.replace(/[)(}{><,.\\]/g, "\\$&") | |
} | |
var I = t("generateRQLFieldAlias"), | |
T = t("invariant"), | |
P = t("isEmpty"), | |
L = {}, | |
k = [], | |
M = "skip", | |
A = /^[a-z_][a-z0-9_:\-]*$/, | |
Q = /^[\w-]+$/, | |
O = "ref_"; | |
__DEV__ && (Object.freeze(L), Object.freeze(k)); | |
var N = { | |
QUERY: 1, | |
FRAGMENT: 2, | |
FIELD: 3, | |
CALL: 4, | |
CALL_VALUE: 5, | |
CALL_VARIABLE: 6, | |
BATCH_VARIABLE: 7, | |
MUTATION: 8, | |
QUERY_WITH_VALUES: 9 | |
}, | |
G = 0; | |
i.prototype.getOwnFields = function() { | |
return this.$GraphQLNode_fields | |
}, i.prototype.getUnaliasedFields = function(e) { | |
return this.$GraphQLNode_collectFields(this.getOwnUnaliasedFields, e) | |
}, i.prototype.$GraphQLNode_collectFields = function(e, t, n) { | |
n || (n = []); | |
for (var r = e.call(this, t), o = 0; o < r.length; o++) n.push(r[o]); | |
for (var i = this.getFragments(), a = 0; a < i.length; a++) i[a].$GraphQLNode_collectFields(e, t, n); | |
return n | |
}, i.prototype.getOwnField = function(e) { | |
return this.$GraphQLNode_fieldMap[e] || null | |
}, i.prototype.hasFields = function() { | |
return this.$GraphQLNode_someFields(this.hasOwnFields, this.hasFields) | |
}, i.prototype.hasOwnFields = function() { | |
for (var e in this.$GraphQLNode_fieldMap) return !0; | |
return !1 | |
}, i.prototype.hasOwnField = function(e) { | |
return this.$GraphQLNode_fieldMap.hasOwnProperty(e) | |
}, i.prototype.hasUnaliasedField = function(e) { | |
return this.$GraphQLNode_someFields(this.hasOwnUnaliasedField, this.hasUnaliasedField, e) | |
}, i.prototype.getOwnUnaliasedFields = function(e) { | |
for (var t = this.$GraphQLNode_fields, n = [], r = 0; r < t.length; r++) t[r].getFieldName() === e && n.push(t[r]); | |
return n | |
}, i.prototype.hasOwnUnaliasedField = function(e) { | |
return this.getOwnUnaliasedFields(e).length > 0 | |
}, i.prototype.getFragments = function() { | |
return this.$GraphQLNode_fragments | |
}, i.prototype.hasNestedVariables = function() { | |
return this.$GraphQLNode_hasNestedVariables | |
}, i.prototype.getNumNestedFragmentsWithVariables = function() { | |
return this.$GraphQLNode_numNestedFragmentsWithVariables | |
}, i.prototype.equals = function(e) { | |
if (!e || this.$GraphQLNode_fields.length !== e.$GraphQLNode_fields.length || this.$GraphQLNode_fragments.length !== e.$GraphQLNode_fragments.length) return !1; | |
if (this !== e) { | |
for (var t = 0; t < this.$GraphQLNode_fields.length; t++) | |
if (!this.$GraphQLNode_fields[t].equals(e.$GraphQLNode_fields[t])) return !1; | |
for (var n = 0; n < this.$GraphQLNode_fragments.length; n++) | |
if (!this.$GraphQLNode_fragments[n].equals(e.$GraphQLNode_fragments[n])) return !1 | |
} | |
return !0 | |
}, i.prototype.$GraphQLNode_someFields = function(e, t, n) { | |
if (e.call(this, n)) return !0; | |
for (var r = 0; r < this.$GraphQLNode_fragments.length; r++) | |
if (t.call(this.$GraphQLNode_fragments[r], n)) return !0; | |
return !1 | |
}, a.prototype.getName = function() { | |
return this.$GraphQLCallvNode_name | |
}, a.prototype.getArgs = function() { | |
return this.$GraphQLCallvNode_args | |
}, a.prototype.hasRefParam = function() { | |
return !P(this.getRefParams()) | |
}, a.prototype.getRefParams = function() { | |
if (!this.$GraphQLCallvNode_refParams) { | |
var e = this.$GraphQLCallvNode_args.filter(C).map(E); | |
e.length <= 1 || T(0, "GraphQLQuery may have at most one BatchCallVariable root argument"), this.$GraphQLCallvNode_refParams = e.length ? e[0] : null | |
} | |
return this.$GraphQLCallvNode_refParams | |
}, a.prototype.getRefTarget = function() { | |
var e = this.getRefParams(); | |
if (e) { | |
var t = Object.keys(e); | |
if (t.length) return e[t[0]].target | |
} | |
return null | |
}, a.prototype.getSourceQueryID = function() { | |
var e = this.$GraphQLCallvNode_args.filter(C).map(D); | |
return e.length < 2 || T(0, "GraphQLCallvNode.getSourceQueryID a query can only have one source query"), e.length ? e[0] : null | |
}, a.prototype.isVarArgs = function() { | |
return !!this.$GraphQLCallvNode_metadata.varargs | |
}, a.prototype.toString = function(e) { | |
var t = this.$GraphQLCallvNode_args.map(function(t) { | |
return t.toString(e) | |
}); | |
return this.$GraphQLCallvNode_name + "(" + t.join(",") + ")" | |
}, a.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2], | |
i = t[3]; | |
return n !== N.CALL && T(0, "Expected call descriptor"), new a(r, o ? o.map(b) : null, i) | |
}, a.prototype.toJSON = function() { | |
return w([N.CALL, this.getName(), this.$GraphQLCallvNode_args.length ? this.$GraphQLCallvNode_args : null, this.$GraphQLCallvNode_metadata === L ? null : this.$GraphQLCallvNode_metadata]) | |
}, a.prototype.equals = function(e) { | |
var t = this.getArgs(), | |
n = e.getArgs(); | |
if (this.getName() !== e.getName() || t.length !== n.length) return !1; | |
for (var r = 0; r < t.length; r++) | |
if (!t[r].equals(n[r])) return !1; | |
return !0 | |
}; | |
for (var $ in a) a.hasOwnProperty($) && (s[$] = a[$]); | |
var B = null === a ? null : a.prototype; | |
s.prototype = Object.create(B), s.prototype.constructor = s, s.__superConstructor__ = a, l.prototype.getCallValue = function() { | |
return this.$GraphQLCallValue_callValue | |
}, l.prototype.equals = function(e) { | |
return e instanceof l && e.getCallValue() === this.getCallValue() | |
}, l.prototype.toString = function() { | |
return F(this.$GraphQLCallValue_callValue) | |
}, l.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1]; | |
return n !== N.CALL_VALUE && T(0, "Expected value descriptor"), new l(r) | |
}, l.prototype.toJSON = function() { | |
return [N.CALL_VALUE, this.$GraphQLCallValue_callValue] | |
}, u.prototype.getSourceQueryID = function() { | |
return this.$GraphQLBatchCallVariable_sourceQueryID | |
}, u.prototype.getRefParam = function() { | |
if (!this.$GraphQLBatchCallVariable_refParam) { | |
var e = {}; | |
e[O + this.$GraphQLBatchCallVariable_sourceQueryID] = { | |
query: this.$GraphQLBatchCallVariable_sourceQueryID, | |
target: this.$GraphQLBatchCallVariable_jsonPath, | |
fallback: M | |
}, this.$GraphQLBatchCallVariable_refParam = e | |
} | |
return this.$GraphQLBatchCallVariable_refParam | |
}, u.prototype.getJSONPath = function() { | |
return this.$GraphQLBatchCallVariable_jsonPath | |
}, u.prototype.equals = function(e) { | |
return e instanceof u && e.getSourceQueryID() == this.getSourceQueryID() && e.getJSONPath() == this.getJSONPath() | |
}, u.prototype.toString = function() { | |
return "<" + O + this.$GraphQLBatchCallVariable_sourceQueryID + ">" | |
}, u.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2]; | |
return n !== N.BATCH_VARIABLE && T(0, "Expected batch variable descriptor"), new u(r, o) | |
}, u.prototype.toJSON = function() { | |
return [N.BATCH_VARIABLE, this.$GraphQLBatchCallVariable_sourceQueryID, this.$GraphQLBatchCallVariable_jsonPath] | |
}, c.prototype.getCallVariableName = function() { | |
return this.$GraphQLCallVariable_callVariableName | |
}, c.prototype.equals = function(e) { | |
return e instanceof c && e.getCallVariableName() == this.getCallVariableName() | |
}, c.prototype.toString = function(e) { | |
var t = this.$GraphQLCallVariable_callVariableName; | |
return e && t in e ? F(e[t]) : "<" + t + ">" | |
}, c.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1]; | |
return n !== N.CALL_VARIABLE && T(0, "Expected variable descriptor"), new c(r) | |
}, c.prototype.toJSON = function() { | |
return [N.CALL_VARIABLE, this.$GraphQLCallVariable_callVariableName] | |
}; | |
for (var U in i) i.hasOwnProperty(U) && (d[U] = i[U]); | |
var V = null === i ? null : i.prototype; | |
d.prototype = Object.create(V), d.prototype.constructor = d, d.__superConstructor__ = i, d.prototype.getFieldName = function() { | |
return this.$GraphQLFieldNode_fieldName | |
}, d.prototype.getAlias = function() { | |
return this.$GraphQLFieldNode_alias | |
}, d.prototype.getNameForClient = function() { | |
return this.$GraphQLFieldNode_alias || this.$GraphQLFieldNode_fieldName | |
}, d.prototype.getCalls = function() { | |
return this.$GraphQLFieldNode_calls | |
}, d.prototype.getCall = function(e) { | |
for (var t = 0; t < this.$GraphQLFieldNode_calls.length; t++) | |
if (this.$GraphQLFieldNode_calls[t].getName() === e) return this.$GraphQLFieldNode_calls[t] | |
}, d.prototype.getCondition = function() { | |
return this.$GraphQLFieldNode_condition | |
}, d.prototype.getInferredRootCallName = function() { | |
return this.$GraphQLFieldNode_metadata.rootCall || null | |
}, d.prototype.getInferredPrimaryKey = function() { | |
return this.$GraphQLFieldNode_metadata.pk || null | |
}, d.prototype.getEdgesID = function() { | |
return this.$GraphQLFieldNode_metadata.edgesID | |
}, d.prototype.isPlural = function() { | |
return !!this.$GraphQLFieldNode_metadata.plural | |
}, d.prototype.isConnection = function() { | |
return !!this.$GraphQLFieldNode_metadata.connection | |
}, d.prototype.isFindable = function() { | |
return this.isConnection() && !this.$GraphQLFieldNode_metadata.nonFindable | |
}, d.prototype.isLimitable = function() { | |
return this.isConnection() && !this.$GraphQLFieldNode_metadata.nonLimitable | |
}, d.prototype.isGenerated = function() { | |
return !!this.$GraphQLFieldNode_metadata.generated | |
}, d.prototype.hasVariables = function() { | |
return this.$GraphQLFieldNode_hasVariables | |
}, d.prototype.shallowClone = function(e, t, n) { | |
return new d(this.$GraphQLFieldNode_fieldName, e, t, n || this.getCalls(), this.$GraphQLFieldNode_alias, this.$GraphQLFieldNode_condition, this.$GraphQLFieldNode_metadata) | |
}, d.prototype.getGeneratedAlias = function() { | |
return this.$GraphQLFieldNode_generatedAlias || (this.$GraphQLFieldNode_generatedAlias = I(this.getGeneratedFieldName())), this.$GraphQLFieldNode_generatedAlias | |
}, d.prototype.getGeneratedFieldName = function() { | |
if (!this.$GraphQLFieldNode_generatedFieldName) { | |
var e = this.getFieldName(); | |
0 !== this.$GraphQLFieldNode_calls.length && (e += "." + this.$GraphQLFieldNode_calls.join(".")), this.$GraphQLFieldNode_generatedFieldName = e | |
} | |
return this.$GraphQLFieldNode_generatedFieldName | |
}, d.prototype.equals = function(e) { | |
if (!e || this.$GraphQLFieldNode_fieldName !== e.$GraphQLFieldNode_fieldName || this.$GraphQLFieldNode_alias !== e.$GraphQLFieldNode_alias) return !1; | |
var t = e.getCalls(); | |
if (this.$GraphQLFieldNode_calls.length !== t.length) return !1; | |
for (var n = 0; n < this.$GraphQLFieldNode_calls.length; n++) | |
if (!this.$GraphQLFieldNode_calls[n].equals(t[n])) return !1; | |
return V.equals.call(this, e) | |
}, d.prototype.toString = function() { | |
return g(this) + _([this]) | |
}, d.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2], | |
i = t[3], | |
s = t[4], | |
l = t[5], | |
u = t[6], | |
c = t[7]; | |
return n !== N.FIELD && T(0, "Expected field descriptor"), new d(r, o ? o.map(d.fromJSON) : null, i ? i.map(p.fromJSON) : null, s ? s.map(a.fromJSON) : null, l, u, c) | |
}, d.prototype.toJSON = function() { | |
var e = this.getFragments(); | |
return w([N.FIELD, this.getFieldName(), this.hasOwnFields() ? this.getOwnFields() : null, e.length ? e : null, this.$GraphQLFieldNode_calls.length ? this.$GraphQLFieldNode_calls : null, this.getAlias(), this.$GraphQLFieldNode_condition, this.$GraphQLFieldNode_metadata === L ? null : this.$GraphQLFieldNode_metadata]) | |
}; | |
for (U in i) i.hasOwnProperty(U) && (p[U] = i[U]); | |
p.prototype = Object.create(V), p.prototype.constructor = p, p.__superConstructor__ = i, p.prototype.getName = function() { | |
return this.$GraphQLQueryFragment_name | |
}, p.prototype.type = function() { | |
return this.$GraphQLQueryFragment_type | |
}, p.prototype.getScope = function() { | |
return this.$GraphQLQueryFragment_metadata.scope || null | |
}, p.prototype.isDeferred = function() { | |
return !!this.$GraphQLQueryFragment_isDeferred | |
}, p.prototype.getDeferredFragmentNames = function() { | |
function e(n) { | |
n.isDeferred() && (t[n.getName()] = n.getName()); | |
for (var r = n.getFragments(), o = 0; o < r.length; o++) e(r[o]) | |
} | |
var t = {}; | |
return e(this), t | |
}, p.prototype.isPlural = function() { | |
return !!this.$GraphQLQueryFragment_metadata.isPlural | |
}, p.prototype.defer = function() { | |
return this.$GraphQLQueryFragment_deferredCopy || (this.$GraphQLQueryFragment_deferredCopy = this.shallowClone(this.getOwnFields(), this.getFragments()), this.$GraphQLQueryFragment_deferredCopy.$GraphQLQueryFragment_isDeferred = !0), this.$GraphQLQueryFragment_deferredCopy | |
}, p.prototype.shallowClone = function(e, t) { | |
var n = new p(this.getName(), this.type(), e, t, this.$GraphQLQueryFragment_metadata); | |
return this.isDeferred() && (n.$GraphQLQueryFragment_isDeferred = !0), n | |
}, p.prototype.toString = function() { | |
return "QueryFragment " + this.getName() + " : " + this.type() + " " + _([this]) | |
}, p.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2], | |
i = t[3], | |
a = t[4], | |
s = t[5]; | |
n !== N.FRAGMENT && T(0, "Expected fragment descriptor"); | |
var l = new p(r, o, a ? a.map(d.fromJSON) : null, s ? s.map(p.fromJSON) : null); | |
return i && (l.$GraphQLQueryFragment_isDeferred = !0), l | |
}, p.prototype.toJSON = function() { | |
var e = this.getFragments(); | |
return w([N.FRAGMENT, this.getName(), this.type(), this.isDeferred() ? 1 : 0, this.hasOwnFields() ? this.getOwnFields() : null, e.length ? e : null]) | |
}; | |
for (U in i) i.hasOwnProperty(U) && (h[U] = i[U]); | |
h.prototype = Object.create(V), h.prototype.constructor = h, h.__superConstructor__ = i, h.prototype.getID = function() { | |
return this.$GraphQLQuery_id || (this.$GraphQLQuery_id = "q" + G++), this.$GraphQLQuery_id | |
}, h.prototype.getQueryName = function() { | |
return this.$GraphQLQuery_queryName | |
}, h.prototype.getDescription = function() { | |
if (!this.$GraphQLQuery_description) { | |
var e = this.getID(), | |
t = this.getAllFragmentNames(!0); | |
t && (e = e + ":" + Object.keys(t).join(":")), this.$GraphQLQuery_description = e | |
} | |
return this.$GraphQLQuery_description | |
}, h.prototype.rootCall = function() { | |
return this.$GraphQLQuery_rootNode | |
}, h.prototype.getAllFragmentNames = function() { | |
return this.$GraphQLQuery_allFragmentNames || (this.$GraphQLQuery_allFragmentNames = this.$GraphQLQuery_getFragmentNames(!0)), this.$GraphQLQuery_allFragmentNames | |
}, h.prototype.getDeferredFragmentNames = function() { | |
return this.$GraphQLQuery_deferredFragmentNames || (this.$GraphQLQuery_deferredFragmentNames = this.$GraphQLQuery_getFragmentNames(!1)), this.$GraphQLQuery_deferredFragmentNames | |
}, h.prototype.isDeferred = function() { | |
return !!this.$GraphQLQuery_metadata.isDeferred | |
}, h.prototype.$GraphQLQuery_getFragmentNames = function(e) { | |
function t(r) { | |
var o; | |
r instanceof p && (e || r.isDeferred()) && (n = n || {}, o = r.getName(), n[o] = o); | |
for (var i = r.getOwnFields(), a = 0; a < i.length; a++) t(i[a]); | |
for (var s = r.getFragments(), l = 0; l < s.length; l++) t(s[l]) | |
} | |
var n = null; | |
return t(this), n | |
}, h.prototype.shallowClone = function(e, t, n, r) { | |
var o = this.rootCall(); | |
return new h(o.getName(), o.getArgs(), e, t, n ? Object.assign({}, this.$GraphQLQuery_metadata, n) : this.$GraphQLQuery_metadata, r || this.$GraphQLQuery_queryName) | |
}, h.prototype.shallowCloneWithSameID = function(e, t) { | |
var n = this.shallowClone(e, t); | |
return n.$GraphQLQuery_id = this.getID(), n | |
}, h.prototype.toString = function() { | |
return this.$GraphQLQuery_queryName ? "Query " + this.$GraphQLQuery_queryName + " {" + this.toStringWithoutName() + "}" : this.toStringWithoutName() | |
}, h.prototype.toStringWithoutName = function() { | |
return this.$GraphQLQuery_rootNode.toString() + _([this]) | |
}, h.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2], | |
i = t[3], | |
a = t[4], | |
s = t[5], | |
l = t[6]; | |
return n !== N.QUERY && T(0, "Expected query descriptor"), new h(r, o ? o.map(b) : null, i ? i.map(d.fromJSON) : null, a ? a.map(p.fromJSON) : null, s, l) | |
}, h.prototype.toJSON = function() { | |
var e = this.rootCall(), | |
t = e.getArgs(), | |
n = this.getFragments(); | |
return w([N.QUERY, e.getName(), t.length ? t : null, this.hasOwnFields() ? this.getOwnFields() : null, n.length ? n : null, this.$GraphQLQuery_metadata !== L ? this.$GraphQLQuery_metadata : null, this.$GraphQLQuery_queryName ? this.$GraphQLQuery_queryName : null]) | |
}, f.prototype.getQuery = function() { | |
return this.$GraphQLQueryWithValues_query | |
}, f.prototype.getValues = function() { | |
return this.$GraphQLQueryWithValues_values | |
}, f.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2]; | |
return n !== N.QUERY_WITH_VALUES && T(0, "Expected query descriptor"), new f(h.fromJSON(r), o) | |
}, f.prototype.toJSON = function() { | |
return w([N.QUERY_WITH_VALUES, this.getQuery(), this.getValues()]) | |
}; | |
for (U in i) i.hasOwnProperty(U) && (m[U] = i[U]); | |
m.prototype = Object.create(V), m.prototype.constructor = m, m.__superConstructor__ = i, m.prototype.getName = function() { | |
return this.$GraphQLMutation_name | |
}, m.prototype.getResponseType = function() { | |
return this.$GraphQLMutation_responseType | |
}, m.prototype.getCall = function() { | |
return this.$GraphQLMutation_mutationCall | |
}, m.prototype.shallowClone = function(e, t) { | |
return new m(this.getName(), this.getResponseType(), this.getCall(), e, t) | |
}, m.prototype.toString = function() { | |
return "Mutation " + this.getName() + " : " + this.getResponseType() + " {" + this.getCall().toString() + _([this]) + "}" | |
}, m.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2], | |
i = t[3], | |
s = t[4], | |
l = t[5]; | |
return n !== N.MUTATION && T(0, "Expected mutation descriptor"), new m(r, o, a.fromJSON(i), s ? s.map(d.fromJSON) : null, l ? l.map(p.fromJSON) : null) | |
}, m.prototype.toJSON = function() { | |
var e = this.getFragments(); | |
return w([N.MUTATION, this.getName(), this.getResponseType(), this.getCall(), this.hasOwnFields() ? this.getOwnFields() : null, e.length ? e : null]) | |
}; | |
var q = { | |
BatchCallVariable: u, | |
Call: s, | |
Callv: a, | |
CallValue: l, | |
CallVariable: c, | |
Field: d, | |
Mutation: m, | |
Query: h, | |
QueryFragment: p, | |
QueryWithValues: f | |
}; | |
o.exports = q | |
}), __d("generateRQLFieldAlias", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = e.indexOf("."); | |
return -1 === t ? e : s + e.substr(0, t) + a(e).toString(36) | |
} | |
var a = t("crc32"), | |
s = "_"; | |
o.exports = i | |
}), __d("isEmpty", [], function(e, t, n, r, o) { | |
function i(e) { | |
if (Array.isArray(e)) return 0 === e.length; | |
if ("object" == typeof e) { | |
for (var t in e) return !1; | |
return !0 | |
} | |
return !e | |
} | |
o.exports = i | |
}), __d("GraphQLConstants", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
CHECKIN_SEARCH_QUERY: "checkin_search_query", | |
CLIENT_SESSION: "client_session", | |
CLIENT_SESSION_ID: "client_session_id", | |
CURSOR: "cursor", | |
EDGES: "edges", | |
ENTITY_SEARCH: "entities_named", | |
GROUP: "group_address", | |
NODE: "node", | |
NODES: "nodes", | |
PAGE_INFO: "page_info", | |
STORY: "story", | |
USERNAME: "username", | |
VIEWER: "viewer", | |
CUSTOM_ROOTCALLS: {}, | |
IDLESS_ROOTCALLS: {}, | |
RANGE_CALLS: { | |
after: !0, | |
before: !0, | |
client_session: !0, | |
find: !0, | |
first: !0, | |
last: !0, | |
surrounds: !0, | |
wrapper: !0 | |
}, | |
VIEWER_CLIENT_ID: "client:viewer", | |
DUMMY_CURSOR_ID: "client:cursor" | |
}; | |
i.CUSTOM_ROOTCALLS[i.ENTITY_SEARCH] = !0, i.CUSTOM_ROOTCALLS[i.GROUP] = !0, i.CUSTOM_ROOTCALLS[i.STORY] = !0, i.CUSTOM_ROOTCALLS[i.USERNAME] = !0, i.CUSTOM_ROOTCALLS[i.CHECKIN_SEARCH_QUERY] = !0, i.IDLESS_ROOTCALLS[i.CHECKIN_SEARCH_QUERY] = !0, o.exports = i | |
}), __d("GraphQLRangeTracker", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return e + "." + t | |
} | |
function a(e, t) { | |
return e + "." + t | |
} | |
function s(e) { | |
l.warn("GraphQLRangeTracker can only track `edges` fields with `EdgesID` fieldName: %s inferredRootCallName: %s inferredPrimaryKey: %s isPlural: %s isConnection: %s isFindable: %s isLimitable: %s isGenerated: %s", e.getFieldName(), e.getInferredRootCallName(), e.getInferredPrimaryKey(), e.isPlural(), e.isConnection(), e.isFindable(), e.isLimitable(), e.isGenerated()) | |
} | |
var l = t("DliteLog"), | |
u = {}, | |
c = {}, | |
d = { | |
THRESHOLD: 10, | |
trackEdge: function(e, t, n) { | |
var r = e.getEdgesID(); | |
if (!r) return void s(e); | |
var o = a(r, t); | |
u[o] = e; | |
var l = i(r, n); | |
c[l] = !0 | |
}, | |
hasEdge: function(e, t) { | |
var n = e.getEdgesID(); | |
if (!n) return s(e), !1; | |
var r = a(n, t); | |
return u.hasOwnProperty(r) && u[r].equals(e) | |
}, | |
isFieldTracked: function(e, t) { | |
var n = e.getEdgesID(); | |
return n ? c.hasOwnProperty(i(n, t)) : (s(e), !1) | |
} | |
}; | |
o.exports = d | |
}), __d("DliteLog", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("DliteLogLevel"), | |
a = t("ex"), | |
s = t("keyMirror"), | |
l = t("mixInEventEmitter"), | |
u = { | |
Events: s({ | |
loggedError: null | |
}), | |
warn: function() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
var r = new Error(a.apply(null, e)); | |
r.type = i.WARNING, __DEV__ && console.warn.apply(console, e), this.emitAndHold(u.Events.loggedError, r) | |
} | |
}; | |
l(u, u.Events), o.exports = u | |
}), __d("DliteLogLevel", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
MUSTFIX: "mustfix", | |
WARNING: "warn" | |
}; | |
o.exports = i | |
}), __d("ex", [], function(e, t, n, r, o) { | |
var i = t("eprintf"), | |
a = function() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
return e = e.map(function(e) { | |
return String(e) | |
}), e[0].split("%s").length !== e.length ? a("ex args number mismatch: %s", JSON.stringify(e)) : __DEV__ ? i.apply(null, e) : a._prefix + JSON.stringify(e) + a._suffix | |
}; | |
a._prefix = "<![EX[", a._suffix = "]]>", o.exports = a | |
}), __d("eprintf", [], function(e, t, n, r, o) { | |
var i = function(e) { | |
var t = Array.prototype.slice.call(arguments).map(function(e) { | |
return String(e) | |
}), | |
n = e.split("%s").length - 1; | |
if (n !== t.length - 1) return i("eprintf args number mismatch: %s", JSON.stringify(t)); | |
var r = 1; | |
return e.replace(/%s/g, function() { | |
return String(t[r++]) | |
}) | |
}; | |
o.exports = i | |
}), __d("mixInEventEmitter", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
t || d(0, "Must supply set of valid event types"), this.__eventEmitter && d(0, "An active emitter is already mixed in"); | |
var n = e.prototype || e, | |
r = e.constructor; | |
r && r !== Object && r !== Function && d(0, "Mix EventEmitter into a class, not an instance"), n.hasOwnProperty(h) ? c(n.__types, t) : n.__types = n.__types ? c({}, n.__types, t) : t, c(n, f) | |
} | |
var a = t("EventEmitter"), | |
s = t("EventEmitterWithHolding"), | |
l = t("EventHolder"), | |
u = t("EventValidator"), | |
c = t("copyProperties"), | |
d = t("invariant"), | |
p = t("keyOf"), | |
h = p({ | |
__types: !0 | |
}), | |
f = { | |
emit: function(e, t, n, r, o, i, a) { | |
return this.__getEventEmitter().emit(e, t, n, r, o, i, a) | |
}, | |
emitAndHold: function(e, t, n, r, o, i, a) { | |
return this.__getEventEmitter().emitAndHold(e, t, n, r, o, i, a) | |
}, | |
addListener: function(e, t, n) { | |
return this.__getEventEmitter().addListener(e, t, n) | |
}, | |
once: function(e, t, n) { | |
return this.__getEventEmitter().once(e, t, n) | |
}, | |
addRetroactiveListener: function(e, t, n) { | |
return this.__getEventEmitter().addRetroactiveListener(e, t, n) | |
}, | |
addListenerMap: function(e, t) { | |
return this.__getEventEmitter().addListenerMap(e, t) | |
}, | |
addRetroactiveListenerMap: function(e, t) { | |
return this.__getEventEmitter().addListenerMap(e, t) | |
}, | |
removeAllListeners: function() { | |
this.__getEventEmitter().removeAllListeners() | |
}, | |
removeCurrentListener: function() { | |
this.__getEventEmitter().removeCurrentListener() | |
}, | |
releaseHeldEventType: function(e) { | |
this.__getEventEmitter().releaseHeldEventType(e) | |
}, | |
__getEventEmitter: function() { | |
if (!this.__eventEmitter) { | |
var e = new a; | |
e = u.addValidation(e, this.__types); | |
var t = new l; | |
this.__eventEmitter = new s(e, t) | |
} | |
return this.__eventEmitter | |
} | |
}; | |
o.exports = i | |
}), __d("EventEmitterWithHolding", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
this.$EventEmitterWithHolding_emitter = e, this.$EventEmitterWithHolding_eventHolder = t, this.$EventEmitterWithHolding_currentEventToken = null, this.$EventEmitterWithHolding_emittingHeldEvents = !1 | |
} | |
i.prototype.addListener = function(e, t, n) { | |
return this.$EventEmitterWithHolding_emitter.addListener(e, t, n) | |
}, i.prototype.once = function(e, t, n) { | |
return this.$EventEmitterWithHolding_emitter.once(e, t, n) | |
}, i.prototype.addRetroactiveListener = function(e, t, n) { | |
var r = this.$EventEmitterWithHolding_emitter.addListener(e, t, n); | |
return this.$EventEmitterWithHolding_emittingHeldEvents = !0, this.$EventEmitterWithHolding_eventHolder.emitToListener(e, t, n), this.$EventEmitterWithHolding_emittingHeldEvents = !1, r | |
}, i.prototype.removeAllListeners = function(e) { | |
this.$EventEmitterWithHolding_emitter.removeAllListeners(e) | |
}, i.prototype.removeCurrentListener = function() { | |
this.$EventEmitterWithHolding_emitter.removeCurrentListener() | |
}, i.prototype.listeners = function(e) { | |
return this.$EventEmitterWithHolding_emitter.listeners(e) | |
}, i.prototype.emit = function(e, t, n, r, o, i, a) { | |
this.$EventEmitterWithHolding_emitter.emit(e, t, n, r, o, i, a) | |
}, i.prototype.emitAndHold = function(e, t, n, r, o, i, a) { | |
this.$EventEmitterWithHolding_currentEventToken = this.$EventEmitterWithHolding_eventHolder.holdEvent(e, t, n, r, o, i, a), this.$EventEmitterWithHolding_emitter.emit(e, t, n, r, o, i, a), this.$EventEmitterWithHolding_currentEventToken = null | |
}, i.prototype.releaseCurrentEvent = function() { | |
null !== this.$EventEmitterWithHolding_currentEventToken ? this.$EventEmitterWithHolding_eventHolder.releaseEvent(this.$EventEmitterWithHolding_currentEventToken) : this.$EventEmitterWithHolding_emittingHeldEvents && this.$EventEmitterWithHolding_eventHolder.releaseCurrentEvent() | |
}, i.prototype.releaseHeldEventType = function(e) { | |
this.$EventEmitterWithHolding_eventHolder.releaseEventType(e) | |
}, o.exports = i | |
}), __d("EventHolder", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.$EventHolder_heldEvents = {}, this.$EventHolder_currentEventKey = null | |
} | |
var a = t("invariant"); | |
i.prototype.holdEvent = function(e, t, n, r, o, i, a) { | |
this.$EventHolder_heldEvents[e] = this.$EventHolder_heldEvents[e] || []; | |
var s = this.$EventHolder_heldEvents[e], | |
l = { | |
eventType: e, | |
index: s.length | |
}; | |
return s.push([t, n, r, o, i, a]), l | |
}, i.prototype.emitToListener = function(e, t, n) { | |
var r = this.$EventHolder_heldEvents[e]; | |
if (r) { | |
var o = this.$EventHolder_currentEventKey; | |
r.forEach(function(r, o) { | |
r && (this.$EventHolder_currentEventKey = { | |
eventType: e, | |
index: o | |
}, t.apply(n, r)) | |
}.bind(this)), this.$EventHolder_currentEventKey = o | |
} | |
}, i.prototype.releaseCurrentEvent = function() { | |
null === this.$EventHolder_currentEventKey && a(0, "Not in an emitting cycle; there is no current event"), this.releaseEvent(this.$EventHolder_currentEventKey) | |
}, i.prototype.releaseEvent = function(e) { | |
delete this.$EventHolder_heldEvents[e.eventType][e.index] | |
}, i.prototype.releaseEventType = function(e) { | |
this.$EventHolder_heldEvents[e] = [] | |
}, o.exports = i | |
}), __d("EventValidator", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
if (-1 === t.indexOf(e)) throw new TypeError(a(e, t)) | |
} | |
function a(e, t) { | |
var n = 'Unknown event type "' + e + '". '; | |
return __DEV__ && (n += u(e, t)), n += "Known event types: " + t.join(", ") + "." | |
} | |
var s = t("copyProperties"), | |
l = { | |
addValidation: function(e, t) { | |
var n = Object.keys(t), | |
r = Object.create(e); | |
return s(r, { | |
emit: function(t, r, o, a, s, l, u) { | |
return i(t, n), e.emit.call(this, t, r, o, a, s, l, u) | |
} | |
}), r | |
} | |
}; | |
if (__DEV__) var u = function(e, t) { | |
var n = c(e, t); | |
return h(n, e) ? 'Did you mean "' + n.type + '"? ' : "" | |
}, | |
c = function(e, t) { | |
var n = t.map(d.bind(this, e)); | |
return n.sort(p)[0] | |
}, | |
d = function(e, t) { | |
return { | |
type: t, | |
distance: f(e, t) | |
} | |
}, | |
p = function(e, t) { | |
return e.distance < t.distance ? -1 : e.distance > t.distance ? 1 : 0 | |
}, | |
h = function(e, t) { | |
return e.distance / t.length < .334 | |
}, | |
f = function(e, t) { | |
var n, r, o = []; | |
for (n = 0; n <= e.length; n++) o[n] = [n]; | |
for (r = 1; r <= t.length; r++) o[0][r] = r; | |
for (n = 1; n <= e.length; n++) | |
for (r = 1; r <= t.length; r++) { | |
var i = e.charAt(n - 1) === t.charAt(r - 1) ? 0 : 1; | |
o[n][r] = Math.min(o[n - 1][r] + 1, o[n][r - 1] + 1, o[n - 1][r - 1] + i), n > 1 && r > 1 && e.charAt(n - 1) == t.charAt(r - 2) && e.charAt(n - 2) == t.charAt(r - 1) && (o[n][r] = Math.min(o[n][r], o[n - 2][r - 2] + i)) | |
} | |
return o[e.length][t.length] | |
}; | |
o.exports = l | |
}), __d("copyProperties", [], function(e, t, n, r, o) { | |
function i(e, t, n, r, o, i, a) { | |
if (e = e || {}, __DEV__ && a) throw new Error("Too many arguments passed to copyProperties"); | |
for (var s, l = [t, n, r, o, i], u = 0; l[u];) { | |
s = l[u++]; | |
for (var c in s) e[c] = s[c]; | |
s.hasOwnProperty && s.hasOwnProperty("toString") && "undefined" != typeof s.toString && e.toString !== s.toString && (e.toString = s.toString) | |
} | |
return e | |
} | |
o.exports = i | |
}), __d("GraphQLStoreDataHandler", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = {}, | |
a = { | |
__dataID__: !0, | |
__masked__: !0, | |
__range__: !0, | |
__status__: !0 | |
}, | |
s = { | |
getID: function(e) { | |
return e.__dataID__ | |
}, | |
createPointerWithID: function(e) { | |
return { | |
__dataID__: e | |
} | |
}, | |
isClientID: function(e) { | |
return "client:" === e.substring(0, 7) | |
}, | |
isClientOnlyID: function(e) { | |
return this.isClientID(e) && !i[e] | |
}, | |
updateClientServerIDMap: function(e, t) { | |
i[e] = t | |
}, | |
getServerIDForClientID: function(e) { | |
return i[e] || null | |
}, | |
isMetadataKey: function(e) { | |
return a[e] || !1 | |
} | |
}; | |
o.exports = s | |
}), __d("GraphQLStoreRangeUtils", [], function(e, t, n, r, o) { | |
var i = t("GraphQL_EXPERIMENTAL"), | |
a = t("GraphQLConstants"), | |
s = {}, | |
l = { | |
isRangeClientID: function(e) { | |
return !!s[e] | |
}, | |
getClientIDForRangeWithID: function(e, t, n) { | |
var r = e.getCalls().map(function(e) { | |
return e.toString(t) | |
}).join(","), | |
o = n + "_" + r, | |
i = s[o]; | |
return i || (s[o] = { | |
dataID: n, | |
calls: e.getCalls(), | |
callValues: t | |
}), o | |
}, | |
parseRangeClientID: function(e) { | |
return s[e] || null | |
}, | |
isRangeNode: function(e) { | |
if (!(e instanceof i.Field && e.isLimitable())) return !1; | |
if (e.hasUnaliasedField(a.EDGES) || e.hasUnaliasedField(a.PAGE_INFO)) return !0; | |
var t = e.getCalls(); | |
if (t.length) | |
for (var n = 0; n < t.length; n++) | |
if (t[n].getName() in a.RANGE_CALLS) return !0; | |
return !1 | |
}, | |
getStorageKeyForField: function(e, t) { | |
var n = e.getFieldName(), | |
r = e.getCalls(); | |
return r.length && (l.isRangeNode(e) && (r = l.getFilterCalls(r)), r.length && (n += "." + r.map(function(e) { | |
return e.toString(t) | |
}).join("."))), n | |
}, | |
getFilterCalls: function(e) { | |
for (var t = [], n = 0; n < e.length; n++) a.RANGE_CALLS[e[n].getName()] || t.push(e[n]); | |
return t | |
} | |
}; | |
o.exports = l | |
}), __d("DliteLogger", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n, r, o) { | |
var i = m[t] = m[t] || 0, | |
s = { | |
type: e, | |
name: i ? t + " " + i : t, | |
depth: p, | |
startTime: n, | |
endTime: r, | |
insertOrder: h.length, | |
data: o || {} | |
}; | |
return p++, h.push(s), m[t] ++, isNaN(s.endTime) || a(s), s | |
} | |
function a(e) { | |
f.push(e), _.emitAndHold(_.Events.completedEvent, e) | |
} | |
function s(e, t) { | |
if (__DEV__) | |
for (var n = 0; n < g.length; n++) { | |
var r = g[n]; | |
if (-1 !== e.indexOf(r)) { | |
var o = (t ? "Starting event " : "Ending event ") + '"' + e + '" matches breakpoint "' + r + '"'; | |
return void console.log(o) | |
} | |
} | |
} | |
var l = t("invariant"), | |
u = t("keyMirror"), | |
c = t("mixInEventEmitter"), | |
d = u({ | |
CLIENT: null, | |
SERVER: null | |
}), | |
p = 0, | |
h = [], | |
f = [], | |
m = {}, | |
g = [], | |
_ = { | |
Events: u({ | |
completedEvent: null | |
}), | |
logClientEventRetroactive: function(e, t, n, r) { | |
s(e, !0), console.timeStamp && console.timeStamp(e); | |
var o = i(d.CLIENT, e, t, n, r); | |
return { | |
stop: function() { | |
isNaN(o.endTime) || l(0, "Cannot end `%s` more than once.", e), -1 !== h.indexOf(o) && p--, o.endTime = Date.now(), a(o), s(e, !1) | |
} | |
} | |
}, | |
logClientEvent: function(e, t) { | |
return _.logClientEventRetroactive(e, Date.now(), 0 / 0, t) | |
}, | |
breakOnClientEvent: function(e) { | |
g.push(e) | |
}, | |
flushCompletedEvents: function() { | |
var e = f; | |
return p = 0, f = [], e | |
}, | |
flush: function() { | |
var e = h.concat(f); | |
return p = 0, h = [], f = [], m = {}, e | |
} | |
}; | |
c(_, _.Events), o.exports = _ | |
}), __d("GraphQLMutationDataHandler", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("invariant"), | |
a = { | |
getMutationType: function(e) { | |
return e && 1 === Object.keys(e).length || i(0, "malformed mutation result payload received"), Object.keys(e)[0] | |
} | |
}; | |
o.exports = a | |
}), __d("GraphQLMutationProperties", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("GraphQLMutatorConstants"), | |
a = t("invariant"), | |
s = t("rql"), | |
l = {}, | |
u = {}, | |
c = {}; | |
u.actor_subscribe = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f0", "ActorSubscribeResponsePayload", [new e.Field("subscribee", [new e.Field("subscribers", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.actor_unsubscribe = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f1", "ActorUnsubscribeResponsePayload", [new e.Field("unsubscribee", [new e.Field("subscribers", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.comment_create = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f2", "CommentCreateResponsePayload", [new e.Field("feedback", [new e.Field("comments", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("top_level_comments", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("comment", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("feedback_comment_edge", [new e.Field("cursor", null, null, null, null, null, { | |
requisite: !0 | |
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
requisite: !0 | |
}), new e.Field("source", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})])]) | |
}() | |
}, c.comment_create = { | |
"": i.PREPEND | |
}, u.undirected_story_create = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f3", "UndirectedStoryCreateResponsePayload", [new e.Field("story", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("feed_story_edge", [new e.Field("cursor", null, null, null, null, null, { | |
requisite: !0 | |
}), new e.Field("node", null, null, null, null, null, { | |
requisite: !0 | |
}), new e.Field("source")])]) | |
}() | |
}, c.undirected_story_create = { | |
"environment(tablet_site)": i.PREPEND | |
}, u.story_delete = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f4", "StoryDeleteResponsePayload", [new e.Field("deleted_story_id")]) | |
}() | |
}, u.comment_delete = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f5", "CommentDeleteResponsePayload", [new e.Field("feedback", [new e.Field("comments", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("top_level_comments", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.comment_edit = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f6", "CommentEditResponsePayload", [new e.Field("comment", [new e.Field("body"), new e.Field("edit_history", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("attachments", null, null, null, null, null, { | |
plural: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.feedback_like = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f7", "FeedbackLikeResponsePayload", [new e.Field("feedback", [new e.Field("does_viewer_like"), new e.Field("likers", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("like_sentence"), new e.Field("viewer_likes_sentence"), new e.Field("viewer_does_not_like_sentence"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.feedback_unlike = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f8", "FeedbackUnlikeResponsePayload", [new e.Field("feedback", [new e.Field("does_viewer_like"), new e.Field("likers", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("like_sentence"), new e.Field("viewer_likes_sentence"), new e.Field("viewer_does_not_like_sentence"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.friend_remove = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f9", "FriendRemoveResponsePayload", [new e.Field("unfriended_user", [new e.Field("friends", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("friendship_status"), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.viewer_friend_requests_mark_all_seen = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f10", "ViewerFriendRequestsMarkAllSeenResponsePayload", [new e.Field("viewer", [new e.Field("friending_possibilities", [new e.Field("unseen_count")], null, null, null, null, { | |
connection: !0 | |
})])]) | |
}() | |
}, u.friend_request_accept = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f11", "FriendRequestAcceptResponsePayload", [new e.Field("viewer", [new e.Field("friending_possibilities", null, null, null, null, null, { | |
connection: !0 | |
})]), new e.Field("friend_requester", [new e.Field("friends", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.friend_request_cancel = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f12", "FriendRequestCancelResponsePayload", [new e.Field("cancelled_friend_requestee", [new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.friend_request_delete = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f13", "FriendRequestDeleteResponsePayload", [new e.Field("friend_requester", [new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.friend_request_send = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f14", "FriendRequestSendResponsePayload", [new e.Field("friend_requestees", [new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
plural: !0 | |
})]) | |
}() | |
}, u.group_request_to_join = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f15", "GroupRequestToJoinResponsePayload", [new e.Field("group", [new e.Field("group_members", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("viewer_join_state"), new e.Field("viewer_subscription_level"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.group_leave = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f16", "GroupLeaveResponsePayload", [new e.Field("group", [new e.Field("group_members", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("viewer_join_state"), new e.Field("viewer_subscription_level"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.viewer_messages_mark_all_seen = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f17", "ViewerMessagesMarkAllSeenResponsePayload", [new e.Field("viewer", [new e.Field("message_threads", [new e.Field("unseen_count")], null, null, null, null, { | |
connection: !0 | |
})])]) | |
}() | |
}, u.message_thread_update_read_state = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f18", "MessageThreadUpdateReadStateResponsePayload", [new e.Field("thread", [new e.Field("messages", [new e.Field("unread_count")], null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("viewer", [new e.Field("message_threads", [new e.Field("unseen_count")], null, null, null, null, { | |
connection: !0 | |
})])]) | |
}() | |
}, u.notification_story_mark_read = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f19", "NotificationStoryMarkReadResponsePayload", [new e.Field("story", [new e.Field("seen_state"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.viewer_notifications_update_all_seen_state = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f20", "ViewerNotificationsUpdateAllSeenStateResponsePayload", [new e.Field("viewer", [new e.Field("notification_stories", [new e.Field("unseen_count")], null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
})]), new e.Field("stories", [new e.Field("seen_state"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
plural: !0 | |
})]) | |
}() | |
}, u.feedback_subscribe = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f21", "FeedbackSubscribeResponsePayload", [new e.Field("feedback", [new e.Field("can_viewer_subscribe"), new e.Field("is_viewer_subscribed"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.feedback_unsubscribe = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f22", "FeedbackUnsubscribeResponsePayload", [new e.Field("feedback", [new e.Field("can_viewer_subscribe"), new e.Field("is_viewer_subscribed"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.message_send = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f23", "MessageSendResponsePayload", [new e.Field("thread", [new e.Field("messages", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("message", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("thread_message_edge", [new e.Field("cursor", null, null, null, null, null, { | |
requisite: !0 | |
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
requisite: !0 | |
}), new e.Field("source", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})])]) | |
}() | |
}, c.message_send = { | |
"": i.APPEND | |
}, c.instagram_business_invite = { | |
"": i.PREPEND | |
}, c.instagram_user_role_create = { | |
"": i.PREPEND | |
}, c.instagram_ad_account_group_role_create = { | |
"": i.PREPEND | |
}, u.page_like = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f24", "PageLikeResponsePayload", [new e.Field("page", [new e.Field("does_viewer_like"), new e.Field("page_likers", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.page_unlike = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f25", "PageUnlikeResponsePayload", [new e.Field("page", [new e.Field("does_viewer_like"), new e.Field("page_likers", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.event_rsvp = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f26", "EventRsvpResponsePayload", [new e.Field("event", [new e.Field("can_view_members"), new e.Field("can_viewer_invite"), new e.Field("can_viewer_join"), new e.Field("can_viewer_post"), new e.Field("can_viewer_share"), new e.Field("event_declines", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_decline_stories", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("event_invitees", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_maybes", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_members", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_viewer_capability"), new e.Field("viewer_guest_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.event_invite = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f27", "EventInviteResponsePayload", [new e.Field("event", [new e.Field("event_invitees", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("invitee_candidates", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.event_remove = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f28", "EventRemoveResponsePayload", [new e.Field("event", [new e.Field("can_view_members"), new e.Field("can_viewer_invite"), new e.Field("can_viewer_join"), new e.Field("can_viewer_post"), new e.Field("can_viewer_share"), new e.Field("event_declines", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_decline_stories", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("event_invitees", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_maybes", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_members", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("event_viewer_capability"), new e.Field("viewer_guest_status"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.story_take_negative_action = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f29", "StoryTakeNegativeActionResponsePayload", [new e.Field("negative_feedback_action", [new e.Field("already_completed"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.story_undo_negative_action = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f30", "StoryUndoNegativeActionResponsePayload", [new e.Field("negative_feedback_action", [new e.Field("already_completed"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_account_select_mobile_preference = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f31", "AdAccountSelectMobilePreferenceResponsePayload", [new e.Field("viewer", [new e.Field("ad_accounts", null, null, null, null, null, { | |
connection: !0 | |
})])]) | |
}() | |
}, u.ad_campaign_pause = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f32", "AdCampaignPauseResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_campaign_activate = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f33", "AdCampaignActivateResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_campaign_group_pause = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f34", "AdCampaignGroupPauseResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_campaign_group_activate = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f35", "AdCampaignGroupActivateResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.adgroup_pause = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f36", "AdgroupPauseResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("adgroup", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.adgroup_activate = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f37", "AdgroupActivateResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("adgroup", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_account_edit_spend_limit = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f38", "AdAccountEditSpendLimitResponsePayload", [new e.Field("ad_account", [new e.Field("spend_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_account_remove_spend_limit = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f39", "AdAccountRemoveSpendLimitResponsePayload", [new e.Field("ad_account", [new e.Field("spend_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_account_reset_spend_limit = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f40", "AdAccountResetSpendLimitResponsePayload", [new e.Field("ad_account", [new e.Field("spend_info"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_account_notifications_update_seen_state = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f41", "AdAccountNotificationsUpdateSeenStateResponsePayload", [new e.Field("ad_account", [new e.Field("adalerts_and_tips", [new e.Field("unseen_count")], null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new e.Field("stories", [new e.Field("seen_state"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
plural: !0 | |
})]) | |
}() | |
}, u.ad_audience_create = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f42", "AdAudienceCreateResponsePayload", [new e.Field("ad_account_ad_audiences_edge", [new e.Field("cursor", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
generated: !0, | |
requisite: !0 | |
})])]) | |
}() | |
}, c.ad_audience_create = { | |
"": i.PREPEND | |
}, u.ad_audience_edit = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f43", "AdAudienceEditResponsePayload", [new e.Field("ad_audience", [new e.Field("name"), new e.Field("target_spec"), new e.Field("updated"), new e.Field("reach_estimate"), new e.Field("targeting_sentences", null, null, null, null, null, { | |
plural: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_campaign_edit = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f44", "AdCampaignEditResponsePayload", [new e.Field("ad_campaign", [new e.Field("name"), new e.Field("daily_budget"), new e.Field("lifetime_budget"), new e.Field("lifetime_target_spend"), new e.Field("time_range"), new e.Field("today_target_spend"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_campaign_group_create = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f45", "AdCampaignGroupCreateResponsePayload", [new e.Field("ad_account_ad_campaign_groups_edge", [new e.Field("cursor", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
generated: !0, | |
requisite: !0 | |
})])]) | |
}() | |
}, c.ad_campaign_group_create = { | |
"orderby(ad_activity_status,reverse_start_time).for_run_status(ALL_NOT_ARCHIVED_OR_DELETED)": i.PREPEND | |
}, u.ad_account_enable_notification = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f46", "AdAccountEnableNotificationResponsePayload", [new e.Field("ad_account", [new e.Field("notification_settings", [new e.Field("settings", [new e.Field("enabled")], null, null, null, null, { | |
plural: !0 | |
})]), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_account_disable_notification = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f47", "AdAccountDisableNotificationResponsePayload", [new e.Field("ad_account", [new e.Field("notification_settings", [new e.Field("settings", [new e.Field("enabled")], null, null, null, null, { | |
plural: !0 | |
})]), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.ad_account_mute_notifications = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f48", "AdAccountMuteNotificationsResponsePayload", [new e.Field("ad_account", [new e.Field("notification_settings", [new e.Field("muted_until")]), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.instagram_business_invite = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f49", "InstagramBusinessInviteResponsePayload", [new e.Field("instagram_business_role_set_edge", [new e.Field("cursor", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
generated: !0, | |
requisite: !0 | |
})])]) | |
}() | |
}, u.instagram_user_role_update = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f50", "InstagramUserRoleUpdateResponsePayload", [new e.Field("instagram_user_role", [new e.Field("user_permission_role"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.instagram_user_role_create = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f51", "InstagramUserRoleCreateResponsePayload", [new e.Field("instagram_role_set_instagram_user_role", [new e.Field("cursor", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
generated: !0, | |
requisite: !0 | |
})])]) | |
}() | |
}, u.instagram_user_role_delete = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f52", "InstagramUserRoleDeleteResponsePayload", [new e.Field("instagram_role_set", [new e.Field("instagram_user_roles", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.instagram_role_set_delete = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f53", "InstagramRoleSetDeleteResponsePayload", [new e.Field("instagram_business", [new e.Field("role_sets", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("instagram_users", [new e.Field("edges", [new e.Field("node", [new e.Field("assigned_user_roles", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
requisite: !0 | |
}), new e.Field("cursor", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
plural: !0 | |
}), new e.Field("page_info", [new e.Field("has_next_page", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new e.Field("has_previous_page", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.instagram_ad_account_group_role_create = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f54", "InstagramAdAccountGroupRoleCreateResponsePayload", [new e.Field("instagram_role_set_ad_account_group_role_edge", [new e.Field("cursor", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
generated: !0, | |
requisite: !0 | |
})])]) | |
}() | |
}, u.instagram_ad_account_group_role_delete = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f55", "InstagramAdAccountGroupRoleDeleteResponsePayload", [new e.Field("instagram_role_set", [new e.Field("ad_account_group_roles", null, null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.group_pin_story = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f56", "GroupPinStoryResponsePayload", [new e.Field("group", [new e.Field("group_pinned_stories", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("group_stories", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.group_unpin_story = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f57", "GroupUnpinStoryResponsePayload", [new e.Field("group", [new e.Field("group_pinned_stories", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("group_stories", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.group_block = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f58", "GroupBlockResponsePayload", [new e.Field("group", [new e.Field("group_stories", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("group_members", null, null, null, null, null, { | |
connection: !0 | |
}), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}, u.support_dashboard_item_mark_as_read = function() { | |
return function() { | |
var e = s.__GraphQL; | |
return new e.QueryFragment("UnknownFile_f59", "SupportDashboardItemMarkAsReadResponsePayload", [new e.Field("support_dashboard_item", [new e.Field("is_unread"), new e.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
})]) | |
}() | |
}; | |
var d = { | |
getFatQueryForType: function(e) { | |
if (e in u || a(0, "Must have a fat query for the mutation type %s. Please see https://our.intern.facebook.com/intern/dex/graphql-mutations/mutations-in-dlite/.", e), !(e in l)) { | |
var t = u[e]; | |
l[e] = t() | |
} | |
return l[e] | |
}, | |
getRangeConfigForType: function(e) { | |
var t = c[e]; | |
if (!t) return {}; | |
for (var n in t) t[n] !== i.PREPEND && t[n] !== i.APPEND && a(0, "range config must map to either GraphQLMutatorConstants.APPEND/PREPEND"); | |
return t | |
}, | |
__getAllRangeConfigs: function() { | |
return c | |
} | |
}; | |
o.exports = d | |
}), __d("GraphQLMutatorConstants", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
APPEND: "append", | |
PREPEND: "prepend", | |
REMOVE: "remove", | |
NODE_DELETE_HANDLER: "node_delete", | |
RANGE_ADD_HANDLER: "range_add", | |
RANGE_DELETE_HANDLER: "range_delete", | |
HANDLER_TYPES: {}, | |
OPTIMISTIC_UPDATE: "optimistic", | |
SERVER_UPDATE: "server", | |
POLLER_UPDATE: "poller", | |
UPDATE_TYPES: {}, | |
RANGE_OPERATIONS: {} | |
}; | |
i.HANDLER_TYPES[i.NODE_DELETE_HANDLER] = !0, i.HANDLER_TYPES[i.RANGE_ADD_HANDLER] = !0, i.HANDLER_TYPES[i.RANGE_DELETE_HANDLER] = !0, i.UPDATE_TYPES[i.OPTIMISTIC_UPDATE] = !0, i.UPDATE_TYPES[i.SERVER_UPDATE] = !0, i.UPDATE_TYPES[i.POLLER_UPDATE] = !0, i.RANGE_OPERATIONS[i.APPEND] = !0, i.RANGE_OPERATIONS[i.PREPEND] = !0, i.RANGE_OPERATIONS[i.REMOVE] = !0, o.exports = i | |
}), __d("rql", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
throw new Error("rql transform failure!") | |
} | |
var a = t("GraphQL_EXPERIMENTAL"); | |
i.__GraphQL = a, i.__var = i.__frag = function(e) { | |
return e | |
}, o.exports = i | |
}), __d("GraphQLMutatorHub", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
"string" != typeof e.deletedIDFieldName && c(0, "Node delete mutation config must have valid types on register") | |
} | |
function a(e) { | |
(e.sourceID && "string" != typeof e.sourceID || "string" != typeof e.connectionName || "string" != typeof e.edgeName) && c(0, "Range add mutation config must have valid types on register") | |
} | |
function s(e) { | |
Array.isArray(e.pathToConnection) && e.pathToConnection.length >= 2 && "string" == typeof e.deletedIDFieldName || c(0, "Range delete mutation config must have valid types on register") | |
} | |
function l(e, t, n) { | |
t in u.HANDLER_TYPES || c(0, "Cannot register invalid handler type"), void 0 === d[e] && (d[e] = []), d[e].push({ | |
handlerType: t, | |
config: n | |
}) | |
} | |
var u = t("GraphQLMutatorConstants"), | |
c = t("invariant"), | |
d = {}, | |
p = { | |
registerForRangeAddMutationType: function(e, t) { | |
a(t), l(e, u.RANGE_ADD_HANDLER, t) | |
}, | |
registerForRangeDeleteMutationType: function(e, t) { | |
s(t), l(e, u.RANGE_DELETE_HANDLER, t) | |
}, | |
registerForNodeDeleteMutationType: function(e, t) { | |
i(t), l(e, u.NODE_DELETE_HANDLER, t) | |
}, | |
getConfigs: function(e) { | |
return d[e] ? d[e] : [] | |
} | |
}; | |
o.exports = p | |
}), __d("GraphQLQueryTracker", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.$GraphQLQueryTracker_trackedQueriesByID = {} | |
} | |
function a(e, t) { | |
return new l.Field("tracked_field", e, t) | |
} | |
function s(e) { | |
return new l.QueryFragment("FakeTrackedFragment", "FakeNode", e.getOwnFields(), e.getFragments()) | |
} | |
var l = t("GraphQL_EXPERIMENTAL"), | |
u = t("GraphQLConstants"), | |
c = t("GraphQLStoreDataHandler"); | |
i.prototype.addQueryForID = function(e, t) { | |
if (e === u.VIEWER_CLIENT_ID || !c.isClientID(e)) { | |
var n = this.$GraphQLQueryTracker_trackedQueriesByID; | |
if (n.hasOwnProperty(e)) { | |
if (t.getFieldName && "__type__" === t.getFieldName()) return | |
} else n[e] = []; | |
n[e].push(t) | |
} | |
}, i.prototype.getQueryForIDs = function(e) { | |
for (var t = null, n = this.$GraphQLQueryTracker_trackedQueriesByID, r = 0; r < e.length; r++) { | |
var o = e[r]; | |
if (n.hasOwnProperty(o)) { | |
t = t || []; | |
for (var i = n[o], l = 0; l < i.length; l++) t.push(s(i[l])) | |
} | |
} | |
return t ? a(null, t) : null | |
}, o.exports = i | |
}), __d("GraphQLStatusConstants", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("keyMirror"), | |
a = i({ | |
ERROR: null | |
}); | |
o.exports = a | |
}), __d("GraphQLStoreChangeEmitter", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
m(a), f = null | |
} | |
function a() { | |
h.forEach(s) | |
} | |
function s(e, t) { | |
var n = e.subscribedIDs, | |
r = e.callback; | |
for (var o in f) | |
if (f.hasOwnProperty(o)) { | |
var i = f[o]; | |
if (t > i) break; | |
if (n.indexOf(o) >= 0) { | |
c.applyWithGuard(r, null, null, null, "GraphQLStoreChangeEmitter"); | |
break | |
} | |
} | |
} | |
function l(e) { | |
var t = d.parseRangeClientID(e); | |
return t ? t.dataID : e | |
} | |
var u = t("DliteProfiler"), | |
c = t("ErrorUtils"), | |
d = t("GraphQLStoreRangeUtils"), | |
p = t("setImmediate"), | |
h = [], | |
f = null, | |
m = function(e) { | |
return e() | |
}, | |
g = { | |
addListenerForIDs: function(e, t) { | |
var n = e.map(l), | |
r = h.length; | |
return h.push({ | |
subscribedIDs: n, | |
callback: t | |
}), { | |
remove: function() { | |
delete h[r] | |
} | |
} | |
}, | |
broadcastChangeForID: function(e) { | |
null === f && (p(i), f = {}), f[l(e)] = h.length - 1 | |
}, | |
injectBatchingStrategy: function(e) { | |
m = e | |
}, | |
_processSubscribers: a | |
}; | |
u.instrumentMethods(g, { | |
addListenerForIDs: "GraphQLStoreChangeEmitter.addListenerForIDs", | |
broadcastChangeForID: "GraphQLStoreChangeEmitter.broadcastChangeForID", | |
_processSubscribers: "GraphQLStoreChangeEmitter.processSubscribers" | |
}), o.exports = g | |
}), __d("setImmediate", [], function(e, t, n, r, o) { | |
o.exports = e.setImmediate || t("ImmediateImplementation").setImmediate | |
}), __d("ImmediateImplementation", [], function(e, t, n, r, o, i) { | |
! function(e, t) { | |
"use strict"; | |
function n(e) { | |
var n = e[0]; | |
return e = Array.prototype.slice.call(e, 1), h[p] = function() { | |
n.apply(t, e) | |
}, m = m.next = { | |
handle: p++ | |
}, m.handle | |
} | |
function r() { | |
for (var e, t; !g && (e = f.next);) | |
if (f = e, t = h[e.handle]) { | |
g = !0; | |
try { | |
t(), g = !1 | |
} finally { | |
o(e.handle), g && (g = !1, f.next && d(r)) | |
} | |
} | |
} | |
function o(e) { | |
delete h[e] | |
} | |
function a() { | |
if (e.postMessage && !e.importScripts) { | |
var t = !0, | |
n = function() { | |
t = !1, e.removeEventListener ? e.removeEventListener("message", n, !1) : e.detachEvent("onmessage", n) | |
}; | |
if (e.addEventListener) e.addEventListener("message", n, !1); | |
else { | |
if (!e.attachEvent) return !1; | |
e.attachEvent("onmessage", n) | |
} | |
return e.postMessage("", "*"), t | |
} | |
} | |
function s() { | |
var t = "setImmediate$" + Math.random() + "$", | |
o = function(n) { | |
n.source === e && "string" == typeof n.data && 0 === n.data.indexOf(t) && r() | |
}; | |
e.addEventListener ? e.addEventListener("message", o, !1) : e.attachEvent("onmessage", o), d = function() { | |
var r = n(arguments); | |
return e.postMessage(t + r, "*"), r | |
} | |
} | |
function l() { | |
var e = new MessageChannel; | |
e.port1.onmessage = r, d = function() { | |
var t = n(arguments); | |
return e.port2.postMessage(t), t | |
} | |
} | |
function u() { | |
var e = _.documentElement; | |
d = function() { | |
var t = n(arguments), | |
o = _.createElement("script"); | |
return o.onreadystatechange = function() { | |
o.onreadystatechange = null, e.removeChild(o), o = null, r() | |
}, e.appendChild(o), t | |
} | |
} | |
function c() { | |
d = function() { | |
return setTimeout(r, 0), n(arguments) | |
} | |
} | |
var d, p = 1, | |
h = {}, | |
f = {}, | |
m = f, | |
g = !1, | |
_ = e.document; | |
a() ? s() : e.MessageChannel ? l() : _ && "onreadystatechange" in _.createElement("script") ? u() : c(), i.setImmediate = d, i.clearImmediate = o | |
}(Function("return this")()) | |
}), __d("GraphQLStoreNodeRangeTracker", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID = {} | |
} | |
var a = Object.freeze([]); | |
i.prototype.addRangeIDForNodeID = function(e, t) { | |
this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[t] = this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[t] || {}, this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[t][e] = !0 | |
}, i.prototype.getRangeIDsForNodeID = function(e) { | |
var t = this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[e]; | |
return t ? Object.keys(t) : a | |
}, i.prototype.clearRangeIDsForNodeID = function(e) { | |
var t = this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[e]; | |
t && delete this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[e] | |
}, o.exports = i | |
}), __d("GraphQLStoreQueryPath", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
this.$GraphQLStoreQueryPath_root = e, this.$GraphQLStoreQueryPath_fields = [] | |
} | |
var a = t("GraphQL_EXPERIMENTAL"), | |
s = t("GraphQLConstants"), | |
l = t("GraphQLStoreDataHandler"), | |
u = t("invariant"); | |
i.prunePathForDataID = function(e, t) { | |
return t && 1 === t.getLength() ? t : e === s.VIEWER_CLIENT_ID ? new i(new a.Query("viewer")) : l.isClientID(e) ? (t || u(0, "Cannot prune a path to a client ID without a current path"), t) : new i(new a.Query("node", [e])) | |
}, i.prototype.withField = function(e, t) { | |
var n = this.$GraphQLStoreQueryPath_fields[this.$GraphQLStoreQueryPath_fields.length - 1]; | |
this.pushField(e); | |
var r = t(); | |
return this.popField(), this.$GraphQLStoreQueryPath_fields[this.$GraphQLStoreQueryPath_fields.length - 1] !== n && u(0, "Popped unexpected field from currentPath"), r | |
}, i.prototype.pushField = function(e) { | |
return this.$GraphQLStoreQueryPath_fields.push(e), this | |
}, i.prototype.popField = function() { | |
this.$GraphQLStoreQueryPath_fields.length > 0 || u(0, "No fields to pop!"), this.$GraphQLStoreQueryPath_fields.pop() | |
}, i.prototype.getLength = function() { | |
return this.$GraphQLStoreQueryPath_fields.length + 1 | |
}, i.prototype.clone = function() { | |
for (var e = new i(this.$GraphQLStoreQueryPath_root), t = 0; t < this.$GraphQLStoreQueryPath_fields.length; t++) e.pushField(this.$GraphQLStoreQueryPath_fields[t]); | |
return e | |
}, i.prototype.getQueryForFragment = function(e) { | |
var t = this.$GraphQLStoreQueryPath_fields; | |
if (0 === t.length) return new a.QueryWithValues(this.$GraphQLStoreQueryPath_root.shallowClone(this.$GraphQLStoreQueryPath_root.getOwnUnaliasedFields("id"), [e])); | |
var n = t[t.length - 1], | |
r = n.getInferredPrimaryKey(); | |
n = r ? n.shallowClone(n.getOwnUnaliasedFields(r), [e]) : n.shallowClone(null, [e]); | |
for (var o = t.length - 2; o >= 0; o--) { | |
var i = t[o]; | |
r = i.getInferredPrimaryKey(), n = i.shallowClone(r ? i.getOwnUnaliasedFields(r).concat(n) : [n]) | |
} | |
return new a.QueryWithValues(this.$GraphQLStoreQueryPath_root.shallowClone(this.$GraphQLStoreQueryPath_root.getOwnUnaliasedFields("id").concat(n))) | |
}, i.prototype.getJSONPath = function() { | |
for (var e = ["$", "*"], t = 0; t < this.$GraphQLStoreQueryPath_fields.length; t++) { | |
var n = this.$GraphQLStoreQueryPath_fields[t], | |
r = n.getAlias() || n.getFieldName(); | |
e.push(r), n.isPlural() && e.push("*") | |
} | |
return e.join(".") | |
}, i.prototype.toJSON = function() { | |
return [this.$GraphQLStoreQueryPath_root.shallowClone(), this.$GraphQLStoreQueryPath_fields.map(function(e) { | |
return e.shallowClone() | |
})] | |
}, i.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = new i(a.Query.fromJSON(n)); | |
return o.$GraphQLStoreQueryPath_fields = r.map(a.Field.fromJSON), o | |
}, o.exports = i | |
}), __d("GraphQLStoreReader", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
this.$GraphQLStoreReader_store = e, this.$GraphQLStoreReader_queuedStore = t, this.$GraphQLStoreReader_fragmentFilter = n || h.thatReturnsTrue | |
} | |
function a(e, t) { | |
for (var n = {}, r = [], o = 0; o < e.length; o++) { | |
var i = e[o]; | |
i.__dataID__ || (i = f(i), i.__dataID__ = "fakeEdge:" + o), n[i.__dataID__] = i, r.push(i) | |
} | |
var a = new c(n); | |
return a.addItems(t, {}, r, { | |
has_previous_page: !1, | |
has_next_page: !1 | |
}), a | |
} | |
var s = t("DliteLog"), | |
l = t("DliteProfiler"), | |
u = t("GraphQLConstants"), | |
c = t("GraphQLRange"), | |
d = t("GraphQLStoreDataHandler"), | |
p = t("GraphQLStoreRangeUtils"), | |
h = t("emptyFunction"), | |
f = t("merge"), | |
m = u.CLIENT_SESSION_ID, | |
g = u.EDGES, | |
_ = u.NODE, | |
y = u.PAGE_INFO; | |
i.prototype.retrieveData = function(e, t, n, r) { | |
var o, i, s, l = t.__dataID__; | |
!l && t.__masked__ && (t = t.__masked__); | |
var u = l && l in this.$GraphQLStoreReader_queuedStore ? this.$GraphQLStoreReader_queuedStore[l] : {}; | |
if (null === u) return null; | |
if (l && p.isRangeClientID(l)) { | |
var c = p.parseRangeClientID(l); | |
t = this.$GraphQLStoreReader_store[c.dataID], i = c.calls, o = !0 | |
} else o = p.isRangeNode(e), l && (t = l in this.$GraphQLStoreReader_store ? this.$GraphQLStoreReader_store[l] : this.$GraphQLStoreReader_queuedStore[l]), o && (i = e.getCalls()); | |
if (!t) return t; | |
if (o) { | |
if (0 === i.length) throw new Error("The field " + e.getFieldName() + " is a range node, and thus expected to have a first() or last() filter call."); | |
var d; | |
t.__range__ ? d = t.__range__ : !l && t[g] && (d = a(t[g], i)), d && (s = d.retrieveRangeInfoForQuery(i, {}, u)) | |
} | |
var h; | |
if (__DEV__ && (h = {}), n = this.$GraphQLStoreReader_traverseNode(e, t, u, s, n, r, h), !n && r) n = r, t.__status__ !== r.__status__ && (n = this.$GraphQLStoreReader_createSink(n, r), n.__status__ = t.__status__); | |
else { | |
n = n || {}; | |
var f = l && o && !p.isRangeClientID(l); | |
n.__dataID__ = f ? p.getClientIDForRangeWithID(e, {}, l) : l, n.__masked__ = l ? void 0 : t, n.__status__ = t.__status__ | |
} | |
return n | |
}, i.prototype.$GraphQLStoreReader_traverseNode = function(e, t, n, r, o, i, a) { | |
for (var s = e.getOwnFields(), l = 0; l < s.length; l++) __DEV__ && v(s[l], a), o = this.$GraphQLStoreReader_retrieveSubfield(s[l], t, n, r, o, i); | |
for (var u = e.getFragments(), c = 0; c < u.length; c++) this.$GraphQLStoreReader_fragmentFilter(u[c]) && (o = this.$GraphQLStoreReader_traverseNode(u[c], t, n, r, o, i, a)); | |
return o | |
}, i.prototype.$GraphQLStoreReader_retrieveSubfield = function(e, t, n, r, o, i) { | |
var a = e.getFieldName(), | |
l = e.getNameForClient(), | |
u = p.isRangeNode(e), | |
c = p.getStorageKeyForField(e, {}), | |
h = t[c], | |
f = n[c]; | |
if (e.isGenerated()) return o; | |
if (a === m) { | |
var _ = r ? r.sessionID : null; | |
(o || !i || i[l] !== _) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = _) | |
} else if (a === y) { | |
if (!r) return o; | |
var v = this.retrieveData(e, r.pageInfo, o && o[l], i && i[l]); | |
(o || !i || i[l] !== v) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = v) | |
} else if (a === g && r) { | |
var S = this.$GraphQLStoreReader_retrieveRangeData(e, r, o && o[l], i && i[l]); | |
(o || !i || i[l] !== S && void 0 !== S) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = S || []) | |
} else if (null === h)(o || !i || i[l] !== h) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = h); | |
else if (void 0 === h && void 0 === f) !t.__dataID__ && t.hasOwnProperty(a) && s.warn("Data source has key '%s' but GraphQLStore expected '%s'.", a, c), i && i[l] !== h && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = h); | |
else if (Array.isArray(h)) { | |
for (var w = 0; w < h.length; w++) { | |
var b; | |
b = "object" == typeof h[w] ? this.retrieveData(e, h[w], o && o[l] && o[l][w], i && i[l] && i[l][w]) : h[w], i && i[l] === b || (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = o[l] || [], o[l][w] = b) | |
}(o || !i) && (o = o || {}, o[l] = o[l] || i && i[l] || []) | |
} else if (e.hasFields()) { | |
var R = this.retrieveData(e, h || f, o && o[l], i && i[l]); | |
(o || !i || i[l] !== R) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = R) | |
} else if (u) o = o || {}, o[l] = d.createPointerWithID(p.getClientIDForRangeWithID(e, {}, h.__dataID__)); | |
else { | |
var C = void 0 !== f ? f : h; | |
(o || !i || i[l] !== C) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = C) | |
} | |
return o | |
}, i.prototype.$GraphQLStoreReader_retrieveRangeData = function(e, t, n, r) { | |
for (var o = t.requestedEdges, i = 0, a = 0; a < o.length; a++) { | |
var l = o[a]; | |
if (l) { | |
var u = l[_].__dataID__; | |
if (!u || null !== this.$GraphQLStoreReader_queuedStore[u] && (this.$GraphQLStoreReader_store[u] || this.$GraphQLStoreReader_queuedStore[u])) { | |
0 === l.__dataID__.indexOf("fakeEdge:") && delete l.__dataID__; | |
var c = this.retrieveData(e, l, n && n[i], r && r[i]); | |
(n || !r || r[i] !== c) && (n = n || r && r.slice(0) || [], n[i] = c), i++ | |
} else s.warn("dataID %s has no data, but is still referenced in range", u) | |
} else s.warn("Received a null edge from the range") | |
} | |
return r ? (n ? n.length > i && (n = n.slice(0, i)) : r.length > i && (n = r.slice(0, i)), n) : n || [] | |
}, i.prototype.$GraphQLStoreReader_createSink = function(e, t) { | |
return e && e !== t ? e : t ? Object.assign({}, t) : {} | |
}, l.instrumentMethods(i.prototype, { | |
retrieveData: "GraphQLStoreReader.retrieveData" | |
}); | |
var v; | |
__DEV__ && (v = function(e, t) { | |
var n = e.getNameForClient(), | |
r = e.getGeneratedAlias(), | |
o = t[n]; | |
o ? o !== r && console.error("`%s` is used as an alias twice. Please rename one of them.", n) : t[n] = r | |
}), o.exports = i | |
}), __d("GraphQLRange", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
for (var n = {}, r = 0; r < e.length; r++) { | |
var o = e[r].getName(), | |
i = e[r].getArgs(); | |
if (i.length) { | |
var a = i[0] instanceof h.CallVariable ? t[i[0].getCallVariableName()] : i[0].getCallValue(); | |
if (null === a) continue; | |
n[o] = a | |
} | |
} | |
return n.first ? (isNaN(n.first) && _(0, "Argument for first query must be a number"), n.first = +n.first) : n.last && (isNaN(n.last) && _(0, "Argument for last query must be a number"), n.last = +n.last), n.client_session && (isNaN(n.client_session) && _(0, "Argument for sessionID call must be a number"), n.client_session = +n.client_session), n | |
} | |
function a(e) { | |
return e.hasOwnProperty("surrounds") || e.hasOwnProperty("find") | |
} | |
function s(e) { | |
var t = e.hasOwnProperty("first"), | |
n = e.hasOwnProperty("last"); | |
return (t || n) && !(t && n) | |
} | |
function l(e) { | |
void 0 === g.getID(e) && _(0, "GraphQLStore: `edge` must have a data id"), void 0 === e.node && _(0, "GraphQLStore: `edge` must have `node` field") | |
} | |
function u(e) { | |
e.forEach(l) | |
} | |
function c(e) { | |
this.$GraphQLRange_dataStore = e, this.reset() | |
} | |
function d(e, t) { | |
return e.map(function(e) { | |
return e.toString(t) | |
}).join(",") | |
} | |
var p = t("DliteLog"), | |
h = t("GraphQL_EXPERIMENTAL"), | |
f = t("GraphQLMutatorConstants"), | |
m = t("GraphQLSegment"), | |
g = t("GraphQLStoreDataHandler"), | |
_ = t("invariant"), | |
y = t("merge"), | |
v = { | |
start_cursor: void 0, | |
end_cursor: void 0, | |
has_next_page: !1, | |
has_previous_page: !1 | |
}, | |
S = 1e3; | |
c.prototype.setDataStore = function(e) { | |
this.$GraphQLRange_dataStore = e | |
}, c.prototype.reset = function() { | |
this.$GraphQLRange_orderedSegments = [new m, new m], this.$GraphQLRange_staticQueriesMap = {}, this.$GraphQLRange_hasFirst = !1, this.$GraphQLRange_hasLast = !1, this.$GraphQLRange_sessionID = S | |
}, c.prototype.$GraphQLRange_resetSegment = function(e) { | |
e >= 0 && e < this.$GraphQLRange_orderedSegments.length || _(0, "cannot reset non-existent segment"), this.$GraphQLRange_orderedSegments[e] = new m(this.$GraphQLRange_orderedSegments[e].getSessionID()) | |
}, c.prototype.$GraphQLRange_getSegmentIndexByCursor = function(e) { | |
for (var t = 0; t < this.$GraphQLRange_orderedSegments.length; t++) | |
if (this.$GraphQLRange_orderedSegments[t].containsEdgeWithCursor(e)) return t; | |
return null | |
}, c.prototype.$GraphQLRange_getSegmentIndexByID = function(e) { | |
for (var t = 0; t < this.$GraphQLRange_orderedSegments.length; t++) | |
if (this.$GraphQLRange_orderedSegments[t].containsEdgeWithID(e)) return t; | |
return null | |
}, c.prototype.$GraphQLRange_addStaticEdges = function(e, t, n) { | |
for (var r = d(e, t), o = [], i = [], a = 0; a < n.length; a++) { | |
var s = n[a]; | |
o.push(g.getID(s)), i.push(s.cursor) | |
} | |
this.$GraphQLRange_staticQueriesMap[r] = { | |
edgeIDs: o, | |
cursors: i | |
} | |
}, c.prototype.addItems = function(e, t, n, r) { | |
u(n); | |
var o, l, c = i(e, t); | |
return a(c) ? void this.$GraphQLRange_addStaticEdges(e, t, n) : s(c) ? null === c.before || null === c.after ? void console.error("GraphQLRange received null as a cursor.") : (this.$GraphQLRange_sessionID++, void(c.first ? c.before && !c.after ? r.has_next_page === !0 ? (0 === this.$GraphQLRange_getSegmentIndexByCursor(c.before) && this.$GraphQLRange_orderedSegments.unshift(new m(this.$GraphQLRange_sessionID)), this.$GraphQLRange_addAfterFirstItems(n, r.has_next_page, void 0, c.before, null)) : this.$GraphQLRange_addBeforeLastItems(n, r.has_previous_page, c.before, void 0, this.$GraphQLRange_sessionID) : (c.after || (l = 0, o = this.getFirstSegment().getCount(), o && (c.first > o || n.length > o) && !this.getFirstSegment().getFirstCursor() && this.$GraphQLRange_resetSegment(l)), this.$GraphQLRange_addAfterFirstItems(n, r.has_next_page, c.after, c.before, null)) : c.last && (c.after && !c.before ? r.has_previous_page === !0 ? (this.$GraphQLRange_getSegmentIndexByCursor(c.after) === this.$GraphQLRange_orderedSegments.length - 1 && this.$GraphQLRange_orderedSegments.push(new m(this.$GraphQLRange_sessionID)), this.$GraphQLRange_addBeforeLastItems(n, r.has_previous_page, void 0, c.after, null)) : this.$GraphQLRange_addAfterFirstItems(n, r.has_next_page, c.after, void 0, this.$GraphQLRange_sessionID) : (c.before || (l = this.$GraphQLRange_orderedSegments.length - 1, o = this.getLastSegment().getCount(), o && (c.last > o || n.length > o) && !this.getLastSegment().getLastCursor() && this.$GraphQLRange_resetSegment(l)), this.$GraphQLRange_addBeforeLastItems(n, r.has_previous_page, c.before, c.after, null))))) : void console.error("GraphQLRange currently only handles first(<count>), after(<cursor>).first(<count>), last(<count>), before(<cursor>).last(<count>), before(<cursor>).first(<count>), and after(<cursor>).last(<count>)") | |
}, c.prototype.getFirstSegment = function() { | |
return this.$GraphQLRange_orderedSegments[0] | |
}, c.prototype.getLastSegment = function() { | |
return this.$GraphQLRange_orderedSegments[this.$GraphQLRange_orderedSegments.length - 1] | |
}, c.prototype.$GraphQLRange_concatSegments = function(e) { | |
e + 1 < this.$GraphQLRange_orderedSegments.length && e >= 0 || _(0, "GraphQLRange cannot concat segments outside the range of orderedSegments"); | |
var t = this.$GraphQLRange_orderedSegments[e], | |
n = this.$GraphQLRange_orderedSegments[e + 1]; | |
t.concatSegment(n) ? this.$GraphQLRange_orderedSegments.splice(e + 1, 1) : console.error("GraphQLRange was unable to concat segment %d and segment %d", e, e + 1) | |
}, c.prototype.prependEdge = function(e) { | |
l(e), this.$GraphQLRange_sessionID++, this.$GraphQLRange_hasFirst = !0; | |
var t = this.getFirstSegment(); | |
this.$GraphQLRange_removeEdgeIfApplicable(e, this.$GraphQLRange_sessionID), t.prependEdge(e, this.$GraphQLRange_sessionID) | |
}, c.prototype.appendEdge = function(e) { | |
l(e), this.$GraphQLRange_sessionID++, this.$GraphQLRange_hasLast = !0; | |
var t = this.getLastSegment(); | |
this.$GraphQLRange_removeEdgeIfApplicable(e, this.$GraphQLRange_sessionID), t.appendEdge(e, this.$GraphQLRange_sessionID) | |
}, c.prototype.$GraphQLRange_removeEdgeIfApplicable = function(e, t) { | |
var n = g.getID(e), | |
r = this.$GraphQLRange_getSegmentIndexByID(n); | |
null != r && this.$GraphQLRange_orderedSegments[r].removeEdge(n, t) | |
}, c.prototype.$GraphQLRange_removeEdgesIfApplicable = function(e, t) { | |
for (var n = 0; n < e.length; n++) this.$GraphQLRange_removeEdgeIfApplicable(e[n], t ? t : S) | |
}, c.prototype.$GraphQLRange_addAfterFirstItems = function(e, t, n, r, o) { | |
var i, a, s; | |
if (void 0 !== n) { | |
if (a = this.$GraphQLRange_getSegmentIndexByCursor(n), null == a) return void console.error("GraphQLRange cannot find a segment that has the cursor: " + n); | |
if (i = this.$GraphQLRange_orderedSegments[a], s = i.getLastCursor(), s !== n && (e = this.$GraphQLRange_reconcileAfterFirstEdges(i, e, n), n = s, !e)) return | |
} else if (a = 0, i = this.$GraphQLRange_orderedSegments[a], s = i.getLastCursor(), void 0 !== s && (e = this.$GraphQLRange_reconcileAfterFirstEdges(i, e), n = s, !e)) return; | |
if (void 0 !== r) { | |
if (a === this.$GraphQLRange_orderedSegments.length - 1) return void console.error("GraphQLRange cannot add because there is no next segment"); | |
if (this.$GraphQLRange_orderedSegments[a + 1].getFirstCursor() !== r) return void console.error("GraphQLRange cannot add because beforeCursor does not match first cursor of the next segment") | |
} | |
void 0 === n && (this.$GraphQLRange_hasFirst = !0), o = o || i.getSessionID(), this.$GraphQLRange_removeEdgesIfApplicable(e, o), i.addEdgesAfterCursor(e, n, o), t || (void 0 !== r ? this.$GraphQLRange_concatSegments(a) : (this.$GraphQLRange_hasLast = !0, this.$GraphQLRange_orderedSegments.splice(a + 1, this.$GraphQLRange_orderedSegments.length - 1 - a))) | |
}, c.prototype.$GraphQLRange_reconcileAfterFirstEdges = function(e, t, n) { | |
var r = e.getMetadataAfterCursor(t.length + 1, n), | |
o = r.edgeIDs; | |
if (o.length > t.length) return void 0; | |
for (var i = 0; i < o.length; i++) | |
if (o[i] !== g.getID(t[i])) return void p.warn("GraphQLRange cannot reconcile input because there is an id mismatch at index %s", i); | |
return t.slice(o.length) | |
}, c.prototype.$GraphQLRange_addBeforeLastItems = function(e, t, n, r, o) { | |
var i, a, s; | |
if (void 0 !== n) { | |
if (a = this.$GraphQLRange_getSegmentIndexByCursor(n), null == a) return void console.error("GraphQLRange cannot find a segment that has the cursor: " + n); | |
if (i = this.$GraphQLRange_orderedSegments[a], s = i.getFirstCursor(), s !== n && (e = this.$GraphQLRange_reconcileBeforeLastEdges(i, e, n), n = s, !e)) return | |
} else if (a = this.$GraphQLRange_orderedSegments.length - 1, i = this.$GraphQLRange_orderedSegments[a], s = i.getFirstCursor(), void 0 !== s && (e = this.$GraphQLRange_reconcileBeforeLastEdges(i, e, n), n = s, !e)) return; | |
if (void 0 !== r) { | |
if (0 === a) return void console.error("GraphQLRange cannot add because there is no previous segment"); | |
if (this.$GraphQLRange_orderedSegments[a - 1].getLastCursor() !== r) return void console.error("GraphQLRange cannot add because afterCursor does not match last cursor of the previous segment") | |
} | |
void 0 === n && (this.$GraphQLRange_hasLast = !0), o = o || i.getSessionID(), this.$GraphQLRange_removeEdgesIfApplicable(e, o), i.addEdgesBeforeCursor(e, n, o), t || (void 0 !== r ? this.$GraphQLRange_concatSegments(a - 1) : (this.$GraphQLRange_hasFirst = !0, this.$GraphQLRange_orderedSegments.splice(0, a))) | |
}, c.prototype.$GraphQLRange_reconcileBeforeLastEdges = function(e, t, n) { | |
var r = e.getMetadataBeforeCursor(t.length + 1, n), | |
o = r.edgeIDs; | |
if (o.length > t.length) return void 0; | |
for (var i = 1; i <= o.length; i++) | |
if (o[o.length - i] !== g.getID(t[t.length - i])) return void p.warn("GraphQLRange cannot reconcile input because there is an id mismatch at index %s", i); | |
return t.slice(0, t.length - o.length) | |
}, c.prototype.removeEdgeWithID = function(e) { | |
var t = this.$GraphQLRange_getSegmentIndexByID(e); | |
null != t && this.$GraphQLRange_orderedSegments[t].removeEdge(e, S) | |
}, c.prototype.retrieveRangeInfoForQuery = function(e, t, n) { | |
var r = i(e, t); | |
return a(r) ? this.$GraphQLRange_retrieveRangeInfoForStaticCalls(e, t) : s(r) ? r.first && r.before || r.last && r.after ? (console.error("GraphQLRange does not currently handle retrieval for before(<cursor>).first(<count>) and after(<cursor>).last(<count>)"), { | |
requestedEdges: [], | |
diffCalls: [], | |
pageInfo: v, | |
sessionID: this.$GraphQLRange_sessionID | |
}) : r.first ? this.$GraphQLRange_retrieveRangeInfoForFirstQuery(e, t, n) : r.last ? this.$GraphQLRange_retrieveRangeInfoForLastQuery(e, t, n) : void 0 : (console.error("GraphQLRange currently only handles first(<count>), after(<cursor>).first(<count>), last(<count>), before(<cursor>).last(<count>), before(<cursor>).first(<count>), and after(<cursor>).last(<count>)"), { | |
requestedEdges: [], | |
diffCalls: [], | |
pageInfo: v, | |
sessionID: this.$GraphQLRange_sessionID | |
}) | |
}, c.prototype.$GraphQLRange_getEdgeByID = function(e) { | |
return this.$GraphQLRange_dataStore[e] | |
}, c.prototype.$GraphQLRange_retrieveRangeInfoForStaticCalls = function(e, t) { | |
var n = d(e, t), | |
r = this.$GraphQLRange_staticQueriesMap[n]; | |
if (r) { | |
var o = { | |
has_next_page: !0, | |
has_previous_page: !0 | |
}; | |
return o.start_cursor = r.cursors[0], o.end_cursor = r.cursors[r.cursors.length - 1], { | |
requestedEdges: r.edgeIDs.map(this.$GraphQLRange_getEdgeByID, this), | |
diffCalls: [], | |
pageInfo: o, | |
sessionID: this.$GraphQLRange_sessionID | |
} | |
} | |
return { | |
requestedEdges: [], | |
diffCalls: e, | |
pageInfo: v, | |
sessionID: this.$GraphQLRange_sessionID | |
} | |
}, c.prototype.$GraphQLRange_retrieveRangeInfoForFirstQuery = function(e, t, n) { | |
var r = [], | |
o = []; | |
n && (r = n[f.PREPEND] || [], o = n[f.REMOVE] || []); | |
var a, s, l = i(e, t), | |
u = l.first + o.length, | |
c = y(v); | |
c.sessionID = this.$GraphQLRange_sessionID; | |
var d = l.client_session ? l.client_session : null, | |
p = l.after; | |
if (void 0 !== p) { | |
if (s = this.$GraphQLRange_getSegmentIndexByCursor(p), null == s) return console.error("GraphQLRange cannot find a segment that has the cursor: " + p), { | |
requestedEdges: [], | |
diffCalls: [], | |
pageInfo: c, | |
sessionID: this.$GraphQLRange_sessionID | |
}; | |
a = this.$GraphQLRange_orderedSegments[s] | |
} else { | |
var m = r.length; | |
if (u -= m, s = 0, a = this.$GraphQLRange_orderedSegments[s], d) | |
for (; s < this.$GraphQLRange_orderedSegments.length - 1 && a.getSessionID() > d;) s++, a = this.$GraphQLRange_orderedSegments[s] | |
} | |
var _ = a.getMetadataAfterCursor(u, p, d), | |
S = _.edgeIDs, | |
w = _.cursors, | |
b = []; | |
if (w.length && (c.start_cursor = w[0], c.end_cursor = w[w.length - 1]), (!this.$GraphQLRange_hasLast || s !== this.$GraphQLRange_orderedSegments.length - 1 || c.end_cursor && c.end_cursor !== a.getLastCursor(d)) && (c.has_next_page = !0, S.length < u)) { | |
u -= S.length; | |
var R = a.getLastCursor(); | |
if (null === R) b.push(new h.Call("first", l.first)); | |
else { | |
if (void 0 !== R && b.push(new h.Call("after", R)), s !== this.$GraphQLRange_orderedSegments.length - 1) { | |
var C = this.$GraphQLRange_orderedSegments[s + 1], | |
E = C.getFirstCursor(); | |
void 0 !== E && b.push(new h.Call("before", E)) | |
} | |
b.push(new h.Call("first", u)) | |
} | |
} | |
var D = S.map(this.$GraphQLRange_getEdgeByID, this); | |
return l.after || (D = r.concat(D)), o.length && (D = D.filter(function(e) { | |
var t = g.getID(e); | |
return -1 == o.indexOf(t) | |
})), { | |
requestedEdges: D, | |
diffCalls: b, | |
pageInfo: c, | |
sessionID: this.$GraphQLRange_sessionID | |
} | |
}, c.prototype.$GraphQLRange_retrieveRangeInfoForLastQuery = function(e, t, n) { | |
var r = [], | |
o = []; | |
n && (r = n[f.APPEND] || [], o = n[f.REMOVE] || []); | |
var a, s, l = i(e, t), | |
u = l.last + o.length, | |
c = y(v); | |
c.sessionID = this.$GraphQLRange_sessionID; | |
var d = l.client_session ? l.client_session : null, | |
p = l.before; | |
if (void 0 !== p) { | |
if (s = this.$GraphQLRange_getSegmentIndexByCursor(p), null == s) return console.error("GraphQLRange cannot find a segment that has the cursor: " + p), { | |
requestedEdges: [], | |
diffCalls: [], | |
pageInfo: c, | |
sessionID: this.$GraphQLRange_sessionID | |
}; | |
a = this.$GraphQLRange_orderedSegments[s] | |
} else { | |
var m = r.length; | |
if (u -= m, s = this.$GraphQLRange_orderedSegments.length - 1, a = this.$GraphQLRange_orderedSegments[s], d) | |
for (; s > 0 && a.getSessionID() > d;) s--, a = this.$GraphQLRange_orderedSegments[s] | |
} | |
var _ = a.getMetadataBeforeCursor(u, p, d), | |
S = _.edgeIDs, | |
w = _.cursors, | |
b = []; | |
if (w.length && (c.start_cursor = w[0], c.end_cursor = w[w.length - 1]), (!this.$GraphQLRange_hasFirst || 0 !== s || c.start_cursor && c.start_cursor !== a.getFirstCursor(d)) && (c.has_previous_page = !0, S.length < u)) { | |
u -= S.length; | |
var R = a.getFirstCursor(); | |
if (null === R) b.push(new h.Call("last", l.last)); | |
else { | |
if (void 0 !== R && b.push(new h.Call("before", R)), 0 !== s) { | |
var C = this.$GraphQLRange_orderedSegments[s - 1], | |
E = C.getLastCursor(); | |
void 0 !== E && b.push(new h.Call("after", E)) | |
} | |
b.push(new h.Call("last", u)) | |
} | |
} | |
var D = S.map(this.$GraphQLRange_getEdgeByID, this); | |
return l.before || (D = D.concat(r)), o.length && (D = D.filter(function(e) { | |
var t = g.getID(e); | |
return -1 == o.indexOf(t) | |
})), { | |
requestedEdges: D, | |
diffCalls: b, | |
pageInfo: c, | |
sessionID: this.$GraphQLRange_sessionID | |
} | |
}, c.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2], | |
i = t[3], | |
a = t[4], | |
s = new c; | |
return s.$GraphQLRange_hasFirst = n, s.$GraphQLRange_hasLast = r, s.$GraphQLRange_sessionID = o, s.$GraphQLRange_staticQueriesMap = i, s.$GraphQLRange_orderedSegments = a.map(function(e) { | |
return m.fromJSON(e) | |
}), s | |
}, c.prototype.toJSON = function() { | |
return [this.$GraphQLRange_hasFirst, this.$GraphQLRange_hasLast, this.$GraphQLRange_sessionID, this.$GraphQLRange_staticQueriesMap, this.$GraphQLRange_orderedSegments] | |
}, c.prototype.__debug = function() { | |
return { | |
dataStore: this.$GraphQLRange_dataStore, | |
orderedSegments: this.$GraphQLRange_orderedSegments | |
} | |
}, o.exports = c | |
}), __d("GraphQLSegment", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
this.$GraphQLSegment_indexToMetadataMap = {}, this.$GraphQLSegment_idToIndexMap = {}, this.$GraphQLSegment_cursorToIndexMap = {}, this.$GraphQLSegment_count = 0, this.$GraphQLSegment_minIndex = null, this.$GraphQLSegment_maxIndex = null, this.$GraphQLSegment_sessionID = e | |
} | |
var a = t("GraphQLConstants"), | |
s = t("GraphQLStoreDataHandler"); | |
i.prototype.$GraphQLSegment_getIndexForCursor = function(e) { | |
return this.$GraphQLSegment_cursorToIndexMap[e] | |
}, i.prototype.$GraphQLSegment_getIndexForID = function(e) { | |
return this.$GraphQLSegment_idToIndexMap[e] | |
}, i.prototype.getFirstCursor = function(e) { | |
if (this.getLength()) | |
for (var t = this.$GraphQLSegment_minIndex; t <= this.$GraphQLSegment_maxIndex; t++) { | |
var n = this.$GraphQLSegment_indexToMetadataMap[t]; | |
if (this.$GraphQLSegment_edgeExistsAtSession(n, e)) return n.cursor | |
} | |
}, i.prototype.getLastCursor = function(e) { | |
if (this.getLength()) | |
for (var t = this.$GraphQLSegment_maxIndex; t >= this.$GraphQLSegment_minIndex; t--) { | |
var n = this.$GraphQLSegment_indexToMetadataMap[t]; | |
if (this.$GraphQLSegment_edgeExistsAtSession(n, e)) return n.cursor | |
} | |
}, i.prototype.$GraphQLSegment_getEdgeAtIndex = function(e) { | |
var t = this.$GraphQLSegment_indexToMetadataMap[e]; | |
return t && !t.removalTime ? t : null | |
}, i.prototype.containsEdgeWithID = function(e) { | |
var t = this.$GraphQLSegment_getIndexForID(e); | |
return void 0 === t ? !1 : !!this.$GraphQLSegment_getEdgeAtIndex(t) | |
}, i.prototype.containsEdgeWithCursor = function(e) { | |
var t = this.$GraphQLSegment_getIndexForCursor(e); | |
return void 0 === t ? !1 : !!this.$GraphQLSegment_getEdgeAtIndex(t) | |
}, i.prototype.$GraphQLSegment_edgeExistsAtSession = function(e, t) { | |
return null == t ? !e.removalTime : e.cursor === a.DUMMY_CURSOR_ID ? !e.removalTime || e.removalTime > t : (!e.removalTime || e.removalTime > t) && (!e.insertionTime || e.insertionTime <= t) | |
}, i.prototype.getMetadataAfterCursor = function(e, t, n) { | |
if (!this.getLength()) return { | |
edgeIDs: [], | |
cursors: [] | |
}; | |
var r = this.$GraphQLSegment_minIndex; | |
if (t) { | |
var o = this.$GraphQLSegment_getIndexForCursor(t); | |
if (void 0 === o) return console.error("This segment does not have a cursor %s", t), { | |
edgeIDs: [], | |
cursors: [] | |
}; | |
r = o + 1 | |
} | |
for (var i = 0, a = [], s = []; r <= this.$GraphQLSegment_maxIndex && e > i;) { | |
var l = this.$GraphQLSegment_indexToMetadataMap[r]; | |
this.$GraphQLSegment_edgeExistsAtSession(l, n) && (a.push(l.edgeID), s.push(l.cursor), i++), r++ | |
} | |
return { | |
edgeIDs: a, | |
cursors: s | |
} | |
}, i.prototype.getMetadataBeforeCursor = function(e, t, n) { | |
if (!this.getLength()) return { | |
edgeIDs: [], | |
cursors: [] | |
}; | |
var r = this.$GraphQLSegment_maxIndex; | |
if (t) { | |
var o = this.$GraphQLSegment_getIndexForCursor(t); | |
if (void 0 === o) return console.error("This segment does not have a cursor %s", t), { | |
edgeIDs: [], | |
cursors: [] | |
}; | |
r = o - 1 | |
} | |
for (var i = 0, a = [], s = []; r >= this.$GraphQLSegment_minIndex && e > i;) { | |
var l = this.$GraphQLSegment_indexToMetadataMap[r]; | |
this.$GraphQLSegment_edgeExistsAtSession(l, n) && (a.push(l.edgeID), s.push(l.cursor), i++), r-- | |
} | |
return { | |
edgeIDs: a.reverse(), | |
cursors: s.reverse() | |
} | |
}, i.prototype.$GraphQLSegment_addEdgeAtIndex = function(e, t, n) { | |
if (0 === this.getLength()) this.$GraphQLSegment_minIndex = t, this.$GraphQLSegment_maxIndex = t; | |
else if (this.$GraphQLSegment_minIndex == t + 1) this.$GraphQLSegment_minIndex = t; | |
else { | |
if (this.$GraphQLSegment_maxIndex != t - 1) return void console.error("Attempted to add noncontiguous index to GraphQLSegment: " + t + " to (" + this.$GraphQLSegment_minIndex + ", " + this.$GraphQLSegment_maxIndex + ")"); | |
this.$GraphQLSegment_maxIndex = t | |
} | |
var r = s.getID(e), | |
o = e.cursor, | |
i = this.$GraphQLSegment_getIndexForID(r); | |
return void 0 !== i && this.$GraphQLSegment_getEdgeAtIndex(i) ? void console.error("Attempted to add an ID already in GraphQLSegment: %s", r) : (this.$GraphQLSegment_indexToMetadataMap[t] = { | |
edgeID: r, | |
cursor: o, | |
insertionTime: n || null, | |
removalTime: null | |
}, this.$GraphQLSegment_idToIndexMap[r] = t, this.$GraphQLSegment_count++, void(o && (this.$GraphQLSegment_cursorToIndexMap[o] = t))) | |
}, i.prototype.prependEdge = function(e, t) { | |
this.$GraphQLSegment_addEdgeAtIndex(e, null !== this.$GraphQLSegment_minIndex ? this.$GraphQLSegment_minIndex - 1 : 0, t) | |
}, i.prototype.appendEdge = function(e, t) { | |
this.$GraphQLSegment_addEdgeAtIndex(e, null !== this.$GraphQLSegment_maxIndex ? this.$GraphQLSegment_maxIndex + 1 : 0, t) | |
}, i.prototype.removeEdge = function(e, t) { | |
var n = this.$GraphQLSegment_getIndexForID(e); | |
if (void 0 === n) return void console.error("Attempted to remove edge with ID that was never in GraphQLSegment: " + e); | |
var r = this.$GraphQLSegment_indexToMetadataMap[n]; | |
return r.removalTime ? void console.error("Attempted to remove edge with ID that was already removed: " + e) : (r.removalTime = t, void this.$GraphQLSegment_count--) | |
}, i.prototype.addEdgesAfterCursor = function(e, t, n) { | |
var r = -1; | |
if (t && (r = this.$GraphQLSegment_getIndexForCursor(t), void 0 === r)) return void console.error("This segment does not have a cursor %s", t); | |
for (; null !== this.$GraphQLSegment_maxIndex && r < this.$GraphQLSegment_maxIndex;) { | |
var o = this.$GraphQLSegment_indexToMetadataMap[r + 1]; | |
if (!o.removalTime) return void console.error("Attempted to do an overwrite to GraphQLSegment: last index is " + this.$GraphQLSegment_maxIndex + " trying to add edges before " + r); | |
r++ | |
} | |
for (var i = r + 1, a = 0; a < e.length; a++) { | |
var s = e[a]; | |
this.$GraphQLSegment_addEdgeAtIndex(s, i + a, n) | |
} | |
}, i.prototype.addEdgesBeforeCursor = function(e, t, n) { | |
var r = 1; | |
if (t && (r = this.$GraphQLSegment_getIndexForCursor(t), void 0 === r)) return void console.error("This segment does not have a cursor %s", t); | |
for (; null !== this.$GraphQLSegment_minIndex && r > this.$GraphQLSegment_minIndex;) { | |
var o = this.$GraphQLSegment_indexToMetadataMap[r - 1]; | |
if (!o.removalTime) return void console.error("Attempted to do an overwrite to GraphQLSegment: first index is " + this.$GraphQLSegment_minIndex + " trying to add edges after " + r); | |
r-- | |
} | |
for (var i = r - 1, a = 0; a < e.length; a++) { | |
var s = e[e.length - a - 1]; | |
this.$GraphQLSegment_addEdgeAtIndex(s, i - a, n) | |
} | |
}, i.prototype.getLength = function() { | |
return null === this.$GraphQLSegment_minIndex && null === this.$GraphQLSegment_maxIndex ? 0 : this.$GraphQLSegment_maxIndex - this.$GraphQLSegment_minIndex + 1 | |
}, i.prototype.getCount = function() { | |
return this.$GraphQLSegment_count | |
}, i.prototype.getSessionID = function() { | |
return this.$GraphQLSegment_sessionID | |
}, i.prototype.$GraphQLSegment_rollback = function(e, t, n) { | |
Object.assign(this.$GraphQLSegment_cursorToIndexMap, e), Object.assign(this.$GraphQLSegment_idToIndexMap, t), this.$GraphQLSegment_count = n.count, this.$GraphQLSegment_maxIndex = n.maxIndex, this.$GraphQLSegment_minIndex = n.minIndex | |
}, i.prototype.$GraphQLSegment_getCounterState = function() { | |
return { | |
count: this.$GraphQLSegment_count, | |
maxIndex: this.$GraphQLSegment_maxIndex, | |
minIndex: this.$GraphQLSegment_minIndex | |
} | |
}, i.prototype.concatSegment = function(e) { | |
if (!e.getLength()) return !0; | |
for (var t = {}, n = {}, r = this.$GraphQLSegment_getCounterState(), o = e.$GraphQLSegment_indexToMetadataMap, i = e.$GraphQLSegment_minIndex; i <= e.$GraphQLSegment_maxIndex; i++) { | |
var a; | |
this.getLength() ? a = this.$GraphQLSegment_maxIndex + 1 : (a = 0, this.$GraphQLSegment_minIndex = 0), this.$GraphQLSegment_maxIndex = a; | |
var s = o[i], | |
l = this.$GraphQLSegment_getIndexForID(s.edgeID); | |
if (void 0 !== l) { | |
var u = this.$GraphQLSegment_indexToMetadataMap[l]; | |
if (u.removalTime && (!s.removalTime || u.removalTime < s.removalTime)) t[s.edgeID] = this.$GraphQLSegment_idToIndexMap[s.edgeID], this.$GraphQLSegment_idToIndexMap[s.edgeID] = a; | |
else if (!s.removalTime) return console.error("Attempt to concat an ID already in GraphQLSegment: %s", s.edgeID), this.$GraphQLSegment_rollback(n, t, r), !1 | |
} else t[s.edgeID] = this.$GraphQLSegment_idToIndexMap[s.edgeID], this.$GraphQLSegment_idToIndexMap[s.edgeID] = a; | |
var c = this.$GraphQLSegment_getIndexForCursor(s.cursor); | |
if (void 0 !== c) { | |
var d = this.$GraphQLSegment_indexToMetadataMap[c]; | |
if (d.removalTime && (!s.removalTime || d.removalTime < s.removalTime)) n[s.cursor] = this.$GraphQLSegment_cursorToIndexMap[s.cursor], this.$GraphQLSegment_cursorToIndexMap[s.cursor] = a; | |
else if (!s.removalTime) return console.error("Attempt to concat a cursor already in GraphQLSegment: %s", s.cursor), this.$GraphQLSegment_rollback(n, t, r), !1 | |
} else s.cursor && (n[s.cursor] = this.$GraphQLSegment_cursorToIndexMap[s.cursor], this.$GraphQLSegment_cursorToIndexMap[s.cursor] = a); | |
s.removalTime || this.$GraphQLSegment_count++, this.$GraphQLSegment_indexToMetadataMap[a] = Object.assign({}, s) | |
} | |
return this.getSessionID() && (!e.getSessionID() || e.getSessionID() < this.getSessionID()) && (this.$GraphQLSegment_sessionID = e.getSessionID()), !0 | |
}, i.prototype.toJSON = function() { | |
return [this.$GraphQLSegment_sessionID, this.$GraphQLSegment_indexToMetadataMap, this.$GraphQLSegment_idToIndexMap, this.$GraphQLSegment_cursorToIndexMap, this.$GraphQLSegment_minIndex, this.$GraphQLSegment_maxIndex, this.$GraphQLSegment_count] | |
}, i.fromJSON = function(e) { | |
var t = e, | |
n = t[0], | |
r = t[1], | |
o = t[2], | |
a = t[3], | |
s = t[4], | |
l = t[5], | |
u = t[6], | |
c = new i(n); | |
return c.$GraphQLSegment_indexToMetadataMap = r, c.$GraphQLSegment_idToIndexMap = o, c.$GraphQLSegment_cursorToIndexMap = a, c.$GraphQLSegment_minIndex = s, c.$GraphQLSegment_maxIndex = l, c.$GraphQLSegment_count = u, c | |
}, i.prototype.__debug = function() { | |
return { | |
metadata: this.$GraphQLSegment_indexToMetadataMap, | |
idToIndex: this.$GraphQLSegment_idToIndexMap, | |
cursorToIndex: this.$GraphQLSegment_cursorToIndexMap | |
} | |
}, o.exports = i | |
}), __d("GraphQLStoreWriter", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n, r, o, i, a, s) { | |
this.$GraphQLStoreWriter_nodeData = e, this.$GraphQLStoreWriter_queuedData = t, this.$GraphQLStoreWriter_queryTracker = n, this.$GraphQLStoreWriter_nodeRangeTracker = r, this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap = o, this.$GraphQLStoreWriter_onChange = a, this.$GraphQLStoreWriter_forceIndex = s || null, !i || i in p.UPDATE_TYPES || S(0, "Invalid mutation update type %s passed into GraphQLStore", i), this.$GraphQLStoreWriter_shouldUpdateTrackedQueries = !i, this.$GraphQLStoreWriter_isOptimisticUpdate = i === p.OPTIMISTIC_UPDATE, this.$GraphQLStoreWriter_newlyAddedIDs = {} | |
} | |
function a(e) { | |
return e.split(".")[0] | |
} | |
function s(e, t) { | |
if (1 === e.length && e[0] === D) return d.VIEWER_CLIENT_ID; | |
for (var n = 0; n < e.length; n++) { | |
var r = e[n]; | |
if (!t || !t.hasOwnProperty(r)) return null; | |
t = t[r] | |
} | |
return t && t.id && "string" == typeof t.id ? t.id : null | |
} | |
function l(e, t) { | |
for (var n in e) | |
if (n === t) return e[n]; | |
return null | |
} | |
var u = t("DliteLog"), | |
c = t("GraphQL_EXPERIMENTAL"), | |
d = t("GraphQLConstants"), | |
p = t("GraphQLMutatorConstants"), | |
h = t("GraphQLRange"), | |
f = t("GraphQLRangeTracker"), | |
m = t("GraphQLStoreDataHandler"), | |
g = t("GraphQLStoreQueryPath"), | |
_ = t("GraphQLStoreRangeUtils"), | |
y = t("generateClientID"), | |
v = t("generateClientEdgeID"), | |
S = t("invariant"), | |
w = t("isEmpty"), | |
b = d.EDGES, | |
R = d.NODE, | |
C = d.NODES, | |
E = d.PAGE_INFO, | |
D = d.VIEWER, | |
x = { | |
error: !0, | |
client_mutation_id: !0 | |
}, | |
F = new c.Field(b, null, null, null, null, null, { | |
plural: !0 | |
}); | |
i.prototype.handleFieldMergeMutation = function(e, t) { | |
var n = Object.keys(e).filter(function(e) { | |
return !x[e] | |
}); | |
1 !== n.length && S(0, "Simple mutations must have exactly one top-level payload field."); | |
var r, o = n[0]; | |
o === D && (r = g.prunePathForDataID(d.VIEWER_CLIENT_ID)); | |
var i = function(n) { | |
var a = n.getOwnField(o); | |
a && this.$GraphQLStoreWriter_storeField(t, a, e, {}, r), n.getFragments().forEach(i) | |
}.bind(this); | |
i(t) | |
}, i.prototype.handleMergeMutation = function(e, t) { | |
for (var n in e) | |
if (e.hasOwnProperty(n)) { | |
var r = e[n]; | |
if ("object" == typeof r && ("id" in r || n === d.VIEWER || Array.isArray(r))) { | |
var o = {}; | |
o[n] = r, this.handleFieldMergeMutation(o, t) | |
} | |
} | |
}, i.prototype.handleRangeAddMutation = function(e, t, n, r) { | |
var o = e[n.edgeName]; | |
o.node || S(0, "newly added edge must have node field"); | |
var i; | |
n.sourceID ? i = n.sourceID : (o.source.id || S(0, "add mutation without sourceID in the config must have an id in the source field of the new edge"), i = o.source.id); | |
var a = e.client_mutation_id, | |
s = this.$GraphQLStoreWriter_getRanges(i, n.connectionName), | |
u = o.node.id ? o.node.id : y(); | |
o.node.__dataID__ = u, this.$GraphQLStoreWriter_isOptimisticUpdate ? o.node.id = u : this.$GraphQLStoreWriter_shouldUpdateTrackedQueries = !0, o.cursor = o.cursor || d.DUMMY_CURSOR_ID; | |
for (var c = 0; c < s.length; c++) { | |
var h = l(r, s[c].calls.toString()); | |
if (h) { | |
var f = s[c].rangeID, | |
g = this.$GraphQLStoreWriter_nodeData[f].__path__.clone(); | |
g.pushField(F); | |
var _ = v(f, u), | |
w = !1, | |
b = function(e) { | |
var t = e.getOwnField(n.edgeName); | |
t && (this.storeNodeWithID(t, o, _, g), w = !0), e.getFragments().forEach(b) | |
}.bind(this); | |
if (b(t), w || S(0, "Mutation query must include the relevant edge"), this.$GraphQLStoreWriter_isOptimisticUpdate) this.$GraphQLStoreWriter_handleOptimisticRangeUpdate(this.$GraphQLStoreWriter_queuedData[_], f, h); | |
else { | |
var R = this.$GraphQLStoreWriter_nodeData[_]; | |
switch (h) { | |
case p.PREPEND: | |
s[c].range.prependEdge(R); | |
break; | |
case p.APPEND: | |
s[c].range.appendEdge(R); | |
break; | |
default: | |
console.error("Invalid GraphQLRange operation") | |
} | |
this.$GraphQLStoreWriter_nodeRangeTracker.addRangeIDForNodeID(f, u); | |
var C = this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap[a]; | |
C && (m.updateClientServerIDMap(C, R.node.__dataID__), delete this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap[a]) | |
} | |
} | |
} | |
this.$GraphQLStoreWriter_isOptimisticUpdate && (this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap[a] = u), this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(i) | |
}, i.prototype.handleRangeDeleteMutation = function(e, t) { | |
var n = e[t.deletedIDFieldName]; | |
void 0 === n && S(0, "deleted id must be in the payload"); | |
var r = t.pathToConnection.pop(), | |
o = s(t.pathToConnection, e); | |
if (t.pathToConnection.push(r), o) | |
for (var i = this.$GraphQLStoreWriter_getRanges(o, r), a = 0; a < i.length; a++) this.deleteNodeFromRangeWithID(n, i[a].rangeID) | |
}, i.prototype.handleNodeDeleteMutation = function(e, t) { | |
var n = e[t.deletedIDFieldName]; | |
void 0 === n && S(0, "deleted id must be in the payload"), this.deleteNodeWithID(n) | |
}, i.prototype.deleteNodeFromRangeWithID = function(e, t) { | |
var n = v(t, e); | |
if (this.$GraphQLStoreWriter_isOptimisticUpdate) this.$GraphQLStoreWriter_handleOptimisticRangeUpdate(n, t, p.REMOVE); | |
else { | |
var r = this.$GraphQLStoreWriter_nodeData[t]; | |
r.__range__.removeEdgeWithID(n) | |
} | |
this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(t), this.deleteNodeWithID(n) | |
}, i.prototype.deleteNodeWithID = function(e) { | |
var t = this.$GraphQLStoreWriter_queuedData[e] || this.$GraphQLStoreWriter_nodeData[e]; | |
if (null !== t) { | |
var n = this.$GraphQLStoreWriter_getNodeSink(); | |
null !== n[e] && (n[e] = null, this.$GraphQLStoreWriter_nodeRangeTracker.getRangeIDsForNodeID(e).forEach(function(t) { | |
this.deleteNodeFromRangeWithID(e, t) | |
}.bind(this)), this.$GraphQLStoreWriter_isOptimisticUpdate || this.$GraphQLStoreWriter_nodeRangeTracker.clearRangeIDsForNodeID(e), this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(e)) | |
} | |
}, i.prototype.storeNodeWithID = function(e, t, n, r) { | |
r = g.prunePathForDataID(n, r); | |
var o = this.$GraphQLStoreWriter_getNodeSink(); | |
o[n] || (o[n] = m.createPointerWithID(n), this.$GraphQLStoreWriter_shouldUpdateTrackedQueries || (this.$GraphQLStoreWriter_newlyAddedIDs[n] = !0)), m.isClientID(n) && !o[n].__path__ && (o[n].__path__ = r.clone()), this.$GraphQLStoreWriter_traverseNode(e, t, o[n], r), (this.$GraphQLStoreWriter_shouldUpdateTrackedQueries || this.$GraphQLStoreWriter_newlyAddedIDs[n]) && this.$GraphQLStoreWriter_queryTracker.addQueryForID(n, e) | |
}, i.prototype.$GraphQLStoreWriter_traverseNode = function(e, t, n, r, o) { | |
for (var i = e.getOwnFields(), a = 0; a < i.length; a++) { | |
var s = i[a]; | |
r.withField(s, function() { | |
this.$GraphQLStoreWriter_storeField(o || e, s, t, n, r) | |
}.bind(this)) | |
} | |
for (var l = e.getFragments(), u = 0; u < l.length; u++) this.$GraphQLStoreWriter_traverseNode(l[u], t, n, r, o || e) | |
}, i.prototype.$GraphQLStoreWriter_storeField = function(e, t, n, r, o) { | |
var i, a, s = r.__dataID__, | |
l = _.getStorageKeyForField(t, {}), | |
u = t.getGeneratedAlias(); | |
if (i = n.hasOwnProperty(u) ? n[u] : n[t.getGeneratedFieldName()], Array.isArray(i)) | |
if (l == b && _.isRangeNode(e)) { | |
var c = e.getCalls(); | |
if (w(c)) return void console.error("The field %s is a range node, and thus expected to have a first() or last() filter call", e.getFieldName()); | |
s || S(0, "Parent of edges must have an ID"); | |
for (var p, m = f.isFieldTracked(t, s), g = 0; g < i.length; g++) { | |
var x = i[g], | |
F = x.node; | |
if (null === F) p = p || i.slice(0, g); | |
else { | |
var I = F.id || F.__dataID__ || y(), | |
T = v(s, I); | |
F.__dataID__ = I, x.__dataID__ = T, this.$GraphQLStoreWriter_nodeRangeTracker.addRangeIDForNodeID(s, I), this.storeNodeWithID(t, x, T, o), p && p.push(x), m && f.trackEdge(t, T, s) | |
} | |
} | |
i = p || i; | |
var P = !1, | |
L = this.$GraphQLStoreWriter_nodeData[s] || r, | |
k = this.$GraphQLStoreWriter_forceIndex && (void 0 === L.__forceIndex__ || this.$GraphQLStoreWriter_forceIndex > L.__forceIndex__); | |
!L.__range__ || k ? (r.__range__ = new h(this.$GraphQLStoreWriter_nodeData), r.__filterCalls__ = _.getFilterCalls(c), P = !0, k && (r.__forceIndex__ = this.$GraphQLStoreWriter_forceIndex)) : r.__range__ = L.__range__; | |
var M = n[E]; | |
M || (M = { | |
has_previous_page: !1, | |
has_next_page: !1 | |
}), r.__range__.addItems(c, {}, i, M), w(L) || w(i) || this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(s) | |
} else { | |
if (l == C) throw new Error("Request edges instead of nodes, cursor field is required"); | |
r[l] || (r[l] = [], s && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(s)), i.length < r[l].length && (r[l].length = i.length, s && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(s)); | |
for (var A = 0; A < i.length; A++) | |
if ("object" != typeof i[A]) this.$GraphQLStoreWriter_writeData(r[l], A, i[A]); | |
else { | |
if (a = null, i[A].id) a = i[A].id; | |
else { | |
var Q = this.$GraphQLStoreWriter_nodeData[s] || r; | |
Q && Array.isArray(Q[l]) && Q[l][A] && (a = Q[l][A].__dataID__) | |
} | |
a || (a = y()), this.$GraphQLStoreWriter_writePointer(r[l], A, a), this.storeNodeWithID(t, i[A], a, o) | |
} | |
} else if (t.hasFields()) { | |
if (a = null, l == E) return; | |
if (void 0 === i || null === i) return void this.$GraphQLStoreWriter_writeData(r, l, i); | |
l === D ? a = d.VIEWER_CLIENT_ID : l == R ? a = i.__dataID__ || i.id || y() : (a = i.id, !a && s && (Q = this.$GraphQLStoreWriter_nodeData[s], Q && Q[l] ? a = Q[l].__dataID__ : r && r[l] && (a = r[l].__dataID__)), a || (a = y())), this.$GraphQLStoreWriter_writePointer(r, l, a), this.storeNodeWithID(t, i, a, o) | |
} else this.$GraphQLStoreWriter_writeData(r, l, i) | |
}, i.prototype.$GraphQLStoreWriter_handleOptimisticRangeUpdate = function(e, t, n) { | |
n in p.RANGE_OPERATIONS || S(0, "Invalid operation %s provided", n), n === p.REMOVE && "string" == typeof e || n !== p.REMOVE && "object" == typeof e || S(0, "Incorrect edge information provided"); | |
var r = this.$GraphQLStoreWriter_queuedData; | |
t in r || (r[t] = {}), n in r[t] || (r[t][n] = []), n === p.PREPEND ? r[t][n].unshift(e) : r[t][n].push(e) | |
}, i.prototype.$GraphQLStoreWriter_getRanges = function(e, t) { | |
var n = this.$GraphQLStoreWriter_nodeData, | |
r = n[e], | |
o = []; | |
if (r) | |
for (var i in r) { | |
var s = a(i); | |
if (s === t) { | |
var l = n[r[i].__dataID__]; | |
l && l.__range__ && l.__range__ instanceof h && l.__filterCalls__ ? o.push({ | |
rangeID: l.__dataID__, | |
range: l.__range__, | |
calls: l.__filterCalls__ | |
}) : u.warn("Found a field matching connectionName with no range") | |
} | |
} | |
return o | |
}, i.prototype.$GraphQLStoreWriter_writeData = function(e, t, n) { | |
e[t] !== n && (e[t] = n, e.__dataID__ && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(e.__dataID__)) | |
}, i.prototype.$GraphQLStoreWriter_writePointer = function(e, t, n) { | |
e[t] && n === e[t].__dataID__ || (e[t] = m.createPointerWithID(n), e.__dataID__ && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(e.__dataID__)) | |
}, i.prototype.$GraphQLStoreWriter_getNodeSink = function() { | |
return this.$GraphQLStoreWriter_isOptimisticUpdate ? this.$GraphQLStoreWriter_queuedData : this.$GraphQLStoreWriter_nodeData | |
}, o.exports = i | |
}), __d("generateClientID", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
return u + l++ | |
} | |
var a = t("crc32"), | |
s = t("performanceNow"), | |
l = 1, | |
u = "client:" + a("" + s()); | |
o.exports = i | |
}), __d("generateClientEdgeID", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return "client:" + e + ":" + t | |
} | |
o.exports = i | |
}), __d("generateForceIndex", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
return a++ | |
} | |
var a = 1; | |
o.exports = i | |
}), __d("GraphQLStoreQueryResolver", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
this.reset(), this.$GraphQLStoreQueryResolver_callback = e | |
} | |
function a(e) { | |
this.reset(), this.$GraphQLStorePluralQueryResolver_callback = e | |
} | |
function s(e) { | |
this.reset(), this.$GraphQLStoreSingleQueryResolver_callback = e | |
} | |
function l(e, t, n) { | |
var r, o = p.getDeepNodeFromData(e, t, function(t) { | |
return !t.getScope() || e.getScope() === t.getScope() | |
}, n); | |
return o && (r = u(o)), [o, r] | |
} | |
function u(e) { | |
function t(e) { | |
Array.isArray(e) ? r.push.apply(r, e) : r.push(e) | |
} | |
for (var n = {}, r = [e]; r.length;) { | |
var o = r.shift(); | |
if (o && "object" == typeof o) { | |
var i = f.getID(o); | |
null != i && (n[i] = null), g(o, t) | |
} | |
} | |
return n | |
} | |
function c(e) { | |
var t = m.parseRangeClientID(e); | |
return t ? t.dataID : e | |
} | |
var d = t("DliteProfiler"), | |
p = t("GraphQLStore"), | |
h = t("GraphQLStoreChangeEmitter"), | |
f = t("GraphQLStoreDataHandler"), | |
m = t("GraphQLStoreRangeUtils"), | |
g = t("forEachObject"), | |
_ = t("invariant"); | |
i.prototype.reset = function() { | |
this.$GraphQLStoreQueryResolver_callback = null, this.$GraphQLStoreQueryResolver_resolver && this.$GraphQLStoreQueryResolver_resolver.reset(), this.$GraphQLStoreQueryResolver_resolver = null, this.$GraphQLStoreQueryResolver_isPluralResolver = null | |
}, i.prototype.resolve = function(e, t) { | |
var n = null === this.$GraphQLStoreQueryResolver_isPluralResolver; | |
return n ? (this.$GraphQLStoreQueryResolver_isPluralResolver = e.isPlural(), this.$GraphQLStoreQueryResolver_resolver = this.$GraphQLStoreQueryResolver_isPluralResolver ? new a(this.$GraphQLStoreQueryResolver_callback) : new s(this.$GraphQLStoreQueryResolver_callback)) : this.$GraphQLStoreQueryResolver_isPluralResolver !== e.isPlural() && _(0, "GraphQLStoreQueryResolver: Expected a %s query fragment. Got a %s query fragment instead.", this.$GraphQLStoreQueryResolver_isPluralResolver ? "plural" : "single", e.isPlural() ? "plural" : "single"), this.$GraphQLStoreQueryResolver_resolver.resolve(e, t) | |
}, a.prototype.reset = function() { | |
this.$GraphQLStorePluralQueryResolver_resolvers ? (this.$GraphQLStorePluralQueryResolver_resolvers.forEach(function(e) { | |
return e.reset() | |
}), this.$GraphQLStorePluralQueryResolver_resolvers.length = 0) : this.$GraphQLStorePluralQueryResolver_resolvers = [], this.$GraphQLStorePluralQueryResolver_callback = null, this.$GraphQLStorePluralQueryResolver_results = [] | |
}, a.prototype.resolve = function(e, t) { | |
null == t || Array.isArray(t) || _(0, "GraphQLStoreQueryResolver: Plural fragment can only resolve an array of pointers."); | |
for (var n, r = this.$GraphQLStorePluralQueryResolver_results, o = r.length, i = t ? t.length : 0, a = this.$GraphQLStorePluralQueryResolver_resolvers; a.length < i;) a.push(new s(this.$GraphQLStorePluralQueryResolver_callback)); | |
for (; a.length > i;) a.pop().reset(); | |
o !== i && (n = []); | |
for (var l = 0; i > l; l++) { | |
var u = a[l].resolve(e, t[l]); | |
(n || l >= o || u !== r[l]) && (n = n || r.slice(0, l), n.push(u)) | |
} | |
return n && (this.$GraphQLStorePluralQueryResolver_results = n), this.$GraphQLStorePluralQueryResolver_results | |
}, s.prototype.reset = function() { | |
this.$GraphQLStoreSingleQueryResolver_subscription && (this.$GraphQLStoreSingleQueryResolver_subscription.remove(), this.$GraphQLStoreSingleQueryResolver_subscription = null), this.$GraphQLStoreSingleQueryResolver_queryFragment = null, this.$GraphQLStoreSingleQueryResolver_callback = null, this.$GraphQLStoreSingleQueryResolver_isDirty = !1, this.$GraphQLStoreSingleQueryResolver_resultID = null, this.$GraphQLStoreSingleQueryResolver_result = null | |
}, s.prototype.resolve = function(e, t) { | |
Array.isArray(t) && _(0, "GraphQLStoreQueryResolver: Singular fragment cannot resolve an array of pointers."); | |
var n, r, o, i = this.$GraphQLStoreSingleQueryResolver_resultID, | |
a = this.$GraphQLStoreSingleQueryResolver_result, | |
s = this.$GraphQLStoreSingleQueryResolver_queryFragment; | |
if (t) { | |
if (r = f.getID(t), null != i && null != r && c(i) === c(r)) | |
if (this.$GraphQLStoreSingleQueryResolver_isDirty || i != r || s !== e) { | |
var u = l(e, t, a); | |
o = u[0], n = u[1] | |
} else o = a; | |
else { | |
var d = l(e, t), | |
p = d[0], | |
m = d[1]; | |
null != r && (n = m), o = p | |
} | |
this.$GraphQLStoreSingleQueryResolver_isDirty = !1 | |
} else o = t; | |
return a !== o && (this.$GraphQLStoreSingleQueryResolver_subscription && (this.$GraphQLStoreSingleQueryResolver_subscription.remove(), this.$GraphQLStoreSingleQueryResolver_subscription = null), n && (this.$GraphQLStoreSingleQueryResolver_subscription = h.addListenerForIDs(Object.keys(n), this.$GraphQLStoreSingleQueryResolver_handleChange.bind(this))), this.$GraphQLStoreSingleQueryResolver_resultID = r, this.$GraphQLStoreSingleQueryResolver_result = o), this.$GraphQLStoreSingleQueryResolver_queryFragment = e, this.$GraphQLStoreSingleQueryResolver_result | |
}, s.prototype.$GraphQLStoreSingleQueryResolver_handleChange = function() { | |
this.$GraphQLStoreSingleQueryResolver_isDirty || (this.$GraphQLStoreSingleQueryResolver_isDirty = !0, this.$GraphQLStoreSingleQueryResolver_callback()) | |
}, d.instrumentMethods(i.prototype, { | |
resolve: "GraphQLStoreQueryResolver.resolve" | |
}), o.exports = i | |
}), __d("ReactGraphQL", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
C(e.queries, function(n, r) { | |
var o = e.getQuery(r); | |
o && t(o, r) | |
}) | |
} | |
function a(e, t) { | |
return e + "." + t | |
} | |
var s = t("DliteDebugger"), | |
l = t("DliteProfiler"), | |
u = t("DliteReactQueryParamCache"), | |
c = t("DliteRoute"), | |
d = t("DliteRouteQueryCache"), | |
p = t("ErrorUtils"), | |
h = t("GraphQLDeferredQueryTracker"), | |
f = t("GraphQLQueryRunner"), | |
m = t("GraphQLStore"), | |
g = t("GraphQLStoreChangeEmitter"), | |
_ = t("GraphQLStoreDataHandler"), | |
y = t("GraphQLStoreQueryResolver"), | |
v = t("Map"), | |
S = t("React"), | |
w = t("ReactGraphQLComparators"), | |
b = t("ReactGraphQLQueryBuilder"), | |
R = t("ReactUpdates"), | |
C = t("forEachObject"), | |
E = t("invariant"), | |
D = t("mapObject"), | |
x = t("mixInEventEmitter"); | |
g.injectBatchingStrategy(R.batchedUpdates); | |
var F = {}, | |
I = Object.freeze({}), | |
T = { | |
Mixin: { | |
statics: { | |
getQueriesForRoute: function(e) { | |
var t = this, | |
n = d.get(t, e); | |
if (n) return n; | |
var r = D(t.queries, function(n, r) { | |
if (e.hasQuery(r)) { | |
var o = t.getQuery(r); | |
return e.getQuery(r, o) | |
} | |
return null | |
}); | |
return d.set(t, e, r), r | |
}, | |
getQuery: function(e, t) { | |
var n = this; | |
return b.get(n, e, t) | |
} | |
}, | |
mixins: [w.Mixin], | |
setQueryParams: function(e) { | |
var t, n = this._unresolvedQueryParams || this._resolvableQueryParams || this.queryParams; | |
for (var r in e) | |
if (n[r] !== e[r]) { | |
t = Object.assign({}, n, e); | |
break | |
} | |
if (t) { | |
__DEV__ && T.emit("beginQueryParamChange", this.constructor.displayName, t), this._abortPendingQueryParamsRun(), t = this._processQueryParams(this.context.route, t); | |
var o; | |
i(this.constructor, function(e, n) { | |
var r = this.props[n]; | |
if (r) { | |
var i = e.getQueryFragment(this.context.route, t); | |
i && (o = o || {}, o[n] = m.buildFragmentQueryForDataID(i, _.getID(r))) | |
} | |
}.bind(this)), o && (this._pendingQueryParamsRun = f.run(o, { | |
onSuccess: p.guard(function() { | |
this._unresolvedQueryParams = null, this._resolvableQueryParams = t, this._pendingQueryParamsRun = null; | |
var e = l.instrumentAsync("React.setPropsInternal.onSuccess"); | |
this._setPropsInternal(F, e.stop), __DEV__ && T.emit("endQueryParamChange", this.constructor.displayName, t) | |
}.bind(this), "ReactGraphQL:setQueryParams") | |
})), this._unresolvedQueryParams = t | |
} | |
}, | |
hasQueryData: function(e, t) { | |
if (!f.hasPendingQueries()) return !0; | |
var n = e.getQueryFragment(this.context.route), | |
r = _.getID(t), | |
o = m.buildFragmentQueryForDataID(n, r), | |
i = !h.isQueryPending(o); | |
if (!i) { | |
var s = n.getName(), | |
l = a(r, s); | |
this._deferredQuerySubscriptions || (this._deferredQuerySubscriptions = {}), this._deferredQuerySubscriptions.hasOwnProperty(l) || (this._deferredQuerySubscriptions[l] = h.addListenerForFragment(r, s, this._handleDeferredQueryResolution)) | |
} | |
return i | |
}, | |
contextTypes: { | |
route: S.PropTypes.instanceOf(c).isRequired | |
}, | |
getInitialState: function() { | |
return this.constructor.queries || E(0, "ReactGraphQL.Mixin: %s must provide a valid object for queries.", this.constructor.displayName), __DEV__ && (Object.keys(this.constructor.queries).length || console.warn("ReactGraphQL.Mixin is unnecessary for %s if no queries are defined.", this.constructor.displayName)), this._unresolvedQueryParams = null, this._resolvableQueryParams = null, this._pendingQueryParamsRun = null, this.queryParams = this._getInitialQueryParams(), this._queryFragments = null, this._updateQueryFragments(this.context.route, this.queryParams), this._queryResolvers = null, this._processQueryProps(this.context.route, this.queryParams, this.props), this._originalShouldComponentUpdate = this.shouldComponentUpdate, this.shouldComponentUpdate = this._shouldComponentUpdate, {} | |
}, | |
componentWillReceiveProps: function(e, t) { | |
var n = this._resolvableQueryParams || this.queryParams; | |
this._updateQueryFragments(t.route, n), this._processQueryProps(t.route, n, e), this._resolvableQueryParams && (this.queryParams = this._resolvableQueryParams, this._resolvableQueryParams = null, u.set(this, this.queryParams)) | |
}, | |
_shouldComponentUpdate: function(e, t, n) { | |
return this._hasStaleQueryData ? (this._hasStaleQueryData = !1, !0) : this._hasNewDeferredData ? (this._hasNewDeferredData = !1, !0) : this._originalShouldComponentUpdate && this._originalShouldComponentUpdate.apply(this, arguments) ? !0 : this._originalShouldComponentUpdate ? !this.areDlitePropsEqualTo(e) || !this.isDliteContextEqualTo(n) : !this.arePropsEqualTo(e) || !this.isStateEqualTo(t) || !this.isContextEqualTo(n) | |
}, | |
componentWillMount: function() { | |
__DEV__ && s.installIntoComponent(this) | |
}, | |
componentWillUnmount: function() { | |
this._queryResolvers.forEach(function(e) { | |
return e.reset() | |
}), this._queryResolvers = null, this._deferredQuerySubscriptions && (C(this._deferredQuerySubscriptions, function(e) { | |
e && e.remove() | |
}), this._deferredQuerySubscriptions = null), this._unresolvedQueryParams = null, this._resolvableQueryParams = null, this._abortPendingQueryParamsRun() | |
}, | |
_processQueryProps: function(e, t, n) { | |
var r = !this._queryResolvers; | |
r && (this._queryResolvers = new v, i(this.constructor, function(e, t) { | |
var n = new y(this._handleQueryPropChange); | |
this._queryResolvers.set(t, n) | |
}.bind(this))), this._queryResolvers.forEach(function(e, t) { | |
var o, i = this._queryFragments && this._queryFragments[t]; | |
if (i) { | |
var a = n[t]; | |
o = e.resolve(i, a), r || this.props[t] === o || (this._hasStaleQueryData = !0) | |
} else o = null; | |
n[t] = o | |
}.bind(this)) | |
}, | |
_handleQueryPropChange: function() { | |
var e = l.instrumentAsync("React.setPropsInternal.onSubscription"); | |
this._setPropsInternal(F, e.stop) | |
}, | |
_handleDeferredQueryResolution: function(e, t) { | |
var n = a(e, t); | |
if (this._deferredQuerySubscriptions && this._deferredQuerySubscriptions.hasOwnProperty(n)) { | |
var r = l.instrumentAsync("React.setPropsInternal.onSubscription"); | |
this._hasNewDeferredData = !0, this._deferredQuerySubscriptions[n].remove(), delete this._deferredQuerySubscriptions[n], this._setPropsInternal(F, r.stop) | |
} | |
}, | |
_abortPendingQueryParamsRun: function() { | |
this._pendingQueryParamsRun && (this._pendingQueryParamsRun.abort(), this._pendingQueryParamsRun = null) | |
}, | |
_updateQueryFragments: function(e, t) { | |
this._queryFragments && this.queryParams === t && this.context.route.getCacheKey() === e.getCacheKey() || (t = this._processQueryParams(e, t), this._queryFragments = null, i(this.constructor, function(n, r) { | |
var o = n.getQueryFragment(e, t); | |
o && (this._queryFragments = this._queryFragments || {}, this._queryFragments[r] = o) | |
}.bind(this))) | |
}, | |
_getInitialQueryParams: function() { | |
var e = this.constructor.queryParams, | |
t = u.get(this); | |
if (!t && e) { | |
var n; | |
for (var r in e) r in this.props && (n = n || Object.assign({}, e), n[r] = this.props[r]); | |
t = n || e | |
} | |
return t || I | |
}, | |
_processQueryParams: function(e, t) { | |
var n = this.constructor.processQueryParams; | |
if (n) | |
if (__DEV__) { | |
var r = Object.freeze(Object.assign({}, t)), | |
o = n(e, r); | |
o !== r && (t = o) | |
} else t = n(e, t); | |
return t | |
} | |
} | |
}; | |
x(T, { | |
beginQueryParamChange: !0, | |
endQueryParamChange: !0 | |
}), l.instrumentMethods(T.Mixin.statics, { | |
getQueriesForRoute: "ReactGraphQL.getQueriesForRoute" | |
}), l.instrumentMethods(T.Mixin, { | |
getInitialState: "ReactGraphQL.getInitialState", | |
componentWillReceiveProps: "ReactGraphQL.componentWillReceiveProps", | |
_shouldComponentUpdate: "ReactGraphQL.shouldComponentUpdate" | |
}), o.exports = T | |
}), __d("DliteDebugger", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
var n = e.constructor.getQuery(t).getQueryFragment(e.context.route, e.queryParams); | |
if (n instanceof p.QueryFragment) { | |
var r = f.getID(e.props[t]); | |
n = h.buildFragmentQueryForDataID(n, r) | |
} | |
return n | |
} | |
function a(e) { | |
var t = e.constructor, | |
n = g(t.queries, function(t, n) { | |
return e.props[n] | |
}); | |
return m(n, function(e) { | |
return e && Object.keys(e).some(function(e) { | |
return !e.startsWith("__") | |
}) | |
}) | |
} | |
function s(e) { | |
var t = a(e); | |
t && (t.component = e.constructor.displayName); | |
var n; | |
return e._renderedComponent ? n = s(e._renderedComponent) : e._renderedChildren && (n = Object.keys(e._renderedChildren).map(function(t) { | |
return s(e._renderedChildren[t]) | |
}).filter(function(e) { | |
return e | |
})), Array.isArray(n) && (1 === n.length ? n = n[0] : n.length || (n = null)), t && n && (t.children = n), t || n | |
} | |
function l(e, t) { | |
var n = e.props[t]; | |
return !!(n && "object" == typeof n && !Array.isArray(n) && f.getID(n) && e.constructor.getQuery && e.constructor.getQuery(t)) | |
} | |
function u(e, t) { | |
var n = {}; | |
for (var r in e.props) l(e, r) && (n[r] = t(e, r)); | |
return n | |
} | |
function c(e, t) { | |
var n = i(e, t).getQuery(), | |
r = s(e), | |
o = r[t]; | |
console.log(t, o, _ + encodeURIComponent(n)) | |
} | |
function d(e, t, n) { | |
Object.defineProperty(e, t, { | |
configurable: !0, | |
enumerable: !0, | |
get: n | |
}) | |
} | |
var p = t("GraphQL_EXPERIMENTAL"), | |
h = t("GraphQLStore"), | |
f = t("GraphQLStoreDataHandler"), | |
m = t("filterObject"), | |
g = t("mapObject"), | |
_ = "https://our.intern.facebook.com/intern/graphiql?query=", | |
y = { | |
getQueries: function(e) { | |
return u(e, i) | |
}, | |
getProps: function(e) { | |
return s(e) | |
}, | |
logProps: function(e) { | |
Object.keys(e.props).filter(function(t) { | |
return l(e, t) | |
}).forEach(function(t) { | |
return c(e, t) | |
}) | |
}, | |
installIntoComponent: function(e) { | |
d(e, "debugQueries", function() { | |
return g(y.getQueries(e), function(e) { | |
return e.getQuery().toString() | |
}) | |
}), d(e, "debugProps", function() { | |
return g(y.getProps(e), function(e) { | |
return JSON.stringify(e, null, " ") | |
}) | |
}), d(e, "debugConsole", function() { | |
return y.logProps(e), "Info logged to console..." | |
}) | |
} | |
}; | |
o.exports = y | |
}), __d("filterObject", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
if (!e) return null; | |
var r = {}; | |
for (var o in e) e.hasOwnProperty(o) && t.call(n, e[o], o) && (r[o] = e[o]); | |
return r | |
} | |
o.exports = i | |
}), __d("DliteReactQueryParamCache", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("createComponentCacheKey"), | |
a = t("emptyFunction"), | |
s = a, | |
l = { | |
injectStorageStrategy: function(e) { | |
s = e | |
}, | |
set: function(e, t) { | |
var n = s(); | |
if (n) { | |
var r = i(e); | |
n.addQueryParams(t, r) | |
} | |
}, | |
get: function(e) { | |
var t = s(), | |
n = null; | |
if (t && t.hasQueryParams()) { | |
var r = i(e); | |
n = t.copyQueryParams(r) | |
} | |
return n | |
} | |
}; | |
o.exports = l | |
}), __d("createComponentCacheKey", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return e.displayName || u(0, "Cannot create cache key for component without `displayName`."), e.displayName | |
} | |
function a(e) { | |
var t = e._rootNodeID, | |
n = l.getReactRootIDFromNodeID(t); | |
return t.substr(n.length) | |
} | |
function s(e) { | |
e._rootNodeID || u(0, "Cannot create cache key for component unless it is mounting or mounted."); | |
var t = []; | |
do { | |
var n = i(e.constructor), | |
r = a(e); | |
t.unshift("(" + n + ")" + r), e = e._owner | |
} while (e); | |
return t.join(":") | |
} | |
var l = t("ReactInstanceHandles"), | |
u = t("invariant"); | |
o.exports = s | |
}), __d("DliteRoute", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
this.$DliteRoute_data = t || this.constructor.parse(e) || this.constructor.__defaultData, this.$DliteRoute_uri = e, this.$DliteRoute_cacheKey = null | |
} | |
function a(e) { | |
return (e + "").replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1") | |
} | |
var s = t("DliteRouteInitialData"), | |
l = t("DliteRouteRegExps"), | |
u = t("DliteRouter"), | |
c = t("GraphQL_EXPERIMENTAL"), | |
d = t("ReactGraphQLQueryBuilder"), | |
p = t("XControllerURIBuilder"), | |
h = t("invariant"), | |
f = t("mapObject"), | |
m = t("merge"), | |
g = t("stableStringify"), | |
_ = { | |
viewer: !0 | |
}; | |
i.create = function(e) { | |
e.name && "string" == typeof e.name || h(0, "Route spec must have a `name` property of type string"), e.path && "string" == typeof e.path || h(0, "Route spec must have a `path` property of type string"), e.path.match("^/") || h(0, "Route `path` must begin with a slash"), "/" === e.path || e.path.match("[^/]$") || h(0, "Route `path` must not end with a slash"); | |
var t = function() { | |
function e() { | |
null !== i && i.apply(this, arguments) | |
} | |
for (var t in i) i.hasOwnProperty(t) && (e[t] = i[t]); | |
var n = null === i ? null : i.prototype; | |
return e.prototype = Object.create(n), e.prototype.constructor = e, e.__superConstructor__ = i, e | |
}(); | |
return t.__name = e.name, t.__path = e.path, t.__paramDefinitions = e.paramDefinitions, t.__queries = e.queries, t.__renderTitle = e.renderTitle, t.__component = e.component, t.__defaultData = e.defaultData, t | |
}, i.getName = function() { | |
return this.__name | |
}, i.register = function() { | |
this.$DliteRoute_routeRegistered || (u.addRoute(this), this.$DliteRoute_routeRegistered = !0) | |
}, i.getURIBuilder = function() { | |
return this.register(), new p(this.__path, this.__paramDefinitions) | |
}, i.getSortKey = function() { | |
var e = this.$DliteRoute_getRegexAndCaptureNames(); | |
return e.regexString | |
}, i.parse = function(e) { | |
var t = e.getDomain(); | |
if (t && t !== s.domain) return null; | |
var n = this.$DliteRoute_getRegexAndCaptureNames(), | |
r = n.regex, | |
o = n.captureNames, | |
i = e.getPath(), | |
a = r.exec(i); | |
if (!a) return null; | |
for (var l = m(e.getQueryData()), u = 1; u < a.length; u++) l[o[u - 1]] = a[u]; | |
return l | |
}, i.prototype.getName = function() { | |
return this.constructor.__name | |
}, i.prototype.getData = function() { | |
return this.$DliteRoute_data | |
}, i.prototype.getQuery = function(e, t) { | |
var n = this.$DliteRoute_data[e], | |
r = this.constructor.__queries, | |
o = r && r[e]; | |
if (!o && "viewer" === e) { | |
var i = t && [t.getQueryFragment(this)]; | |
return new c.QueryWithValues(new c.Query("viewer", null, null, i, null, this.getName())) | |
} | |
if (!o) return null; | |
if (!_.hasOwnProperty(e)) { | |
var a = this.constructor.__paramDefinitions; | |
if (null == n && a.hasOwnProperty(e) && !a[e].required) return null; | |
null == n && h(0, 'Required param "%s" for %s is %s. Check your URI.', e, this.getName(), null === n ? "null" : "undefined") | |
} | |
return new c.QueryWithValues(o(n, t, d.getQueryInterpreter(this))) | |
}, i.prototype.getQueries = function() { | |
return f(this.constructor.__queries, function(e, t) { | |
return this.getQuery(t) | |
}.bind(this)) | |
}, i.prototype.hasQuery = function(e) { | |
var t = this.constructor.__queries; | |
return "viewer" === e || !(!t || !t[e]) | |
}, i.prototype.getURI = function() { | |
return this.$DliteRoute_uri | |
}, i.prototype.getCacheKey = function() { | |
return this.$DliteRoute_cacheKey || (this.$DliteRoute_cacheKey = g({ | |
route: this.getName(), | |
args: this.getData() | |
})), this.$DliteRoute_cacheKey | |
}, i.prototype.isA = function(e) { | |
return this.getName() === e | |
}, i.prototype.renderTitle = function(e) { | |
var t = this.constructor.__renderTitle; | |
return t && t(e) | |
}, i.prototype.getComponent = function() { | |
return this.constructor.__component | |
}, i.$DliteRoute_getRegexAndCaptureNames = function() { | |
if (!this.$DliteRoute_regex) { | |
if (this.$DliteRoute_captureNames = [], "/" === this.__path) this.$DliteRoute_regexString = "^/$"; | |
else { | |
var e = this.__path.slice(1).split("/"), | |
t = e.map(function(e) { | |
if (l.PATH_COMPONENT.test(e)) return "/" + a(e); | |
var t = "?" == e[1], | |
n = e.slice(t ? 2 : 1, -1), | |
r = this.__paramDefinitions[n], | |
o = l.COMPONENT_VALUE[r.type], | |
i = "(" + o + ")"; | |
return this.$DliteRoute_captureNames.push(n), t ? "(?:/" + i + ")?" : "/" + i | |
}.bind(this), this); | |
this.$DliteRoute_regexString = "^" + t.join("") + "/?$" | |
} | |
this.$DliteRoute_regex = new RegExp(this.$DliteRoute_regexString) | |
} | |
return { | |
regex: this.$DliteRoute_regex, | |
regexString: this.$DliteRoute_regexString, | |
captureNames: this.$DliteRoute_captureNames | |
} | |
}, o.exports = i | |
}), __d("DliteRouteInitialData", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
domain: "www.facebook.com" | |
}; | |
o.exports = i | |
}), __d("DliteRouteRegExps", [], function(e, t, n, r, o) { | |
var i = { | |
PATH_COMPONENT: /^[^\/{}]+$/, | |
COMPONENT_VALUE: { | |
Float: "-?(?:\\.\\d+|\\d+(?:\\.\\d+)?)", | |
Int: "-?\\d+", | |
Path: ".+?", | |
String: "[^/]+" | |
} | |
}; | |
o.exports = i | |
}), __d("DliteRouter", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
var r = e.getSortKey(), | |
o = n - t; | |
if (0 === o) return t; | |
var a = t + o / 2 | 0; | |
return s(r, u[a].getSortKey()) <= 0 ? i(e, t, a) : i(e, a + 1, n) | |
} | |
function a(e) { | |
for (var t = [], n = 0, r = 0, o = 0; n < e.length; n++) switch (e.charAt(n)) { | |
case "/": | |
o || (n - r > 0 && t.push(e.slice(r, n)), "?" === e.charAt(n + 1) && n++, r = n + 1); | |
break; | |
case "(": | |
o++ || (n - r > 0 && t.push(e.slice(r, n)), r = n); | |
break; | |
case ")": | |
--o || ("?" === e.charAt(n + 1) && n++, t.push(e.slice(r, n + 1)), r = n + 1) | |
} | |
return t | |
} | |
function s(e, t) { | |
e = a(e), t = a(t); | |
for (var n = 0; n < Math.min(e.length, t.length); n++) { | |
var r = e[n], | |
o = t[n], | |
i = l(r) - l(o); | |
if (i) return i; | |
var s = r.toLowerCase(), | |
u = o.toLowerCase(); | |
if (s !== u) return u > s ? -1 : 1; | |
if (r !== o) return o > r ? -1 : 1 | |
} | |
return e.length - t.length | |
} | |
function l(e) { | |
return "<<vanity>>" == e ? 3 : (e = e.replace(/\\\./, "x"), /[.+*?\[\](){}=!|:]/.test(e) ? -1 !== e.indexOf("\\d") ? 1 : 2 : 0) | |
} | |
var u = [], | |
c = { | |
addRoute: function(e) { | |
var t = i(e, 0, u.length); | |
u[t] !== e && u.splice(t, 0, e) | |
}, | |
__getRoutes: function() { | |
return u | |
}, | |
getRoute: function(e) { | |
for (var t = 0; t < u.length; t++) { | |
var n = u[t], | |
r = n.parse(e); | |
if (null !== r) return new n(e, r) | |
} | |
return null | |
}, | |
orderExpressions: s | |
}; | |
o.exports = c | |
}), __d("ReactGraphQLQueryBuilder", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
this.$ReactGraphQLQueryBuilder_queryFunction = e, this.$ReactGraphQLQueryBuilder_initialParams = t, this.$ReactGraphQLQueryBuilder_deferred = !1, this.$ReactGraphQLQueryBuilder_deepQueryFragmentCacheKey = null | |
} | |
function a(e, t) { | |
return e.getCacheKey() + ":" + p(t) | |
} | |
var s, l = t("GraphQL_EXPERIMENTAL"), | |
u = t("invariant"), | |
c = t("keyOf"), | |
d = t("mapObject"), | |
p = t("stableStringify"), | |
h = {}; | |
i.get = function(e, t, n) { | |
e.displayName || u(0, "Cannot create cache key for component without `displayName`."); | |
var r = e.displayName + ":" + t; | |
if (n) { | |
var o = i.$ReactGraphQLQueryBuilder_getValueKey(); | |
n = d(n, function(e) { | |
return "object" == typeof e && o in e ? e[o] : e | |
}), r += ":" + p(n) | |
} | |
if (!h[r]) { | |
e.queries.hasOwnProperty(t) || u(0, "ReactGraphQL.Mixin.getQuery: %s does not have a query defined for %s.", e.displayName, t); | |
var a = e.queries[t], | |
s = e.queryParams || {}, | |
l = n ? Object.assign({}, s, n) : s; | |
h[r] = a ? new i(a, l) : null | |
} | |
return h[r] | |
}, i.getQueryInterpreter = function(e) { | |
function t() { | |
throw new Error("ReactGraphQL transform failed! Did you forget to run arc build?") | |
} | |
var n = i.$ReactGraphQLQueryBuilder_getValueKey(); | |
return t.__GraphQL = l, t.__frag = function(t) { | |
return t instanceof i && (t = t.getQueryFragment(e)), t | |
}, t.__var = function(e) { | |
var t = typeof e; | |
if ("undefined" === t) throw new TypeError("Variables must not be undefined (they can be null, though)"); | |
return "object" === t && e.hasOwnProperty(n) ? e.$ReactGraphQLQueryBuilder_value : e | |
}, t | |
}, i.$ReactGraphQLQueryBuilder_getValueKey = function() { | |
return s || (s = c({ | |
$ReactGraphQLQueryBuilder_value: null | |
})), s | |
}, i.prototype.defer = function() { | |
return this.$ReactGraphQLQueryBuilder_deferredBuilder || (this.$ReactGraphQLQueryBuilder_deferredBuilder = new i(this.$ReactGraphQLQueryBuilder_queryFunction, this.$ReactGraphQLQueryBuilder_initialParams), this.$ReactGraphQLQueryBuilder_deferredBuilder.$ReactGraphQLQueryBuilder_deferred = !0), this.$ReactGraphQLQueryBuilder_deferredBuilder | |
}, i.prototype.getQueryFragment = function(e, t) { | |
t = t || this.$ReactGraphQLQueryBuilder_initialParams; | |
var n = a(e, t); | |
if (n !== this.$ReactGraphQLQueryBuilder_deepQueryFragmentCacheKey) { | |
var r = i.getQueryInterpreter(e), | |
o = d(this.$ReactGraphQLQueryBuilder_initialParams, function(e, n) { | |
return { | |
$ReactGraphQLQueryBuilder_value: t[n] | |
} | |
}), | |
s = this.$ReactGraphQLQueryBuilder_queryFunction(e, r, o); | |
s && this.$ReactGraphQLQueryBuilder_deferred && (s = s.defer()), this.$ReactGraphQLQueryBuilder_deepQueryFragment = s, this.$ReactGraphQLQueryBuilder_deepQueryFragmentCacheKey = n | |
} | |
return this.$ReactGraphQLQueryBuilder_deepQueryFragment | |
}, i.prototype["if"] = function(e) { | |
return e.$ReactGraphQLQueryBuilder_value ? this : null | |
}, i.prototype.unless = function(e) { | |
return e.$ReactGraphQLQueryBuilder_value ? null : this | |
}, o.exports = i | |
}), __d("stableStringify", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return null !== e && "[object Object]" === Object.prototype.toString.call(e) | |
} | |
function a(e) { | |
var t = Object.keys(e); | |
if (t.length) { | |
var n = []; | |
t.sort(); | |
for (var r = 0; r < t.length; r++) { | |
var o = t[r], | |
s = e[o]; | |
s = i(s) || Array.isArray(s) ? a(s) : JSON.stringify(s), n.push(o + ":" + s) | |
} | |
return Array.isArray(e) ? "[" + n.join(",") + "]" : "{" + n.join(",") + "}" | |
} | |
return JSON.stringify(e) | |
} | |
o.exports = a | |
}), __d("XControllerURIBuilder", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
"use strict"; | |
this.$XControllerURIBuilder_path = e, this.$XControllerURIBuilder_paramDefinitions = t, this.$XControllerURIBuilder_params = {} | |
} | |
var a = t("URI"), | |
s = t("invariant"); | |
i.prototype.setInt = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "Int", t) | |
}, i.prototype.setFloat = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "Float", t) | |
}, i.prototype.setString = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "String", t) | |
}, i.prototype.setExists = function(e, t) { | |
"use strict"; | |
return t === !1 && (t = void 0), this.__setParam(e, "Exists", t) | |
}, i.prototype.setBool = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "Bool", t) | |
}, i.prototype.setEnum = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "Enum", t) | |
}, i.prototype.setIntVector = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "IntVector", t) | |
}, i.prototype.setFloatVector = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "FloatVector", t) | |
}, i.prototype.setStringVector = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "StringVector", t) | |
}, i.prototype.setEnumVector = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "EnumVector", t) | |
}, i.prototype.setIntToIntMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "IntToIntMap", t) | |
}, i.prototype.setIntToFloatMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "IntToFloatMap", t) | |
}, i.prototype.setIntToStringMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "IntToStringMap", t) | |
}, i.prototype.setIntToBoolMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "IntToBoolMap", t) | |
}, i.prototype.setStringToIntMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "StringToIntMap", t) | |
}, i.prototype.setStringToFloatMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "StringToFloatMap", t) | |
}, i.prototype.setStringToStringMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "StringToStringMap", t) | |
}, i.prototype.setStringToBoolMap = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "StringToBoolMap", t) | |
}, i.prototype.setHackType = function(e, t) { | |
"use strict"; | |
return this.__setParam(e, "HackType", t) | |
}, i.prototype.__validateRequiredParamsExistence = function() { | |
"use strict"; | |
for (var e in this.$XControllerURIBuilder_paramDefinitions) this.$XControllerURIBuilder_paramDefinitions[e].required && !this.$XControllerURIBuilder_params.hasOwnProperty(e) && s(0, "Missing required parameter: %s", e) | |
}, i.prototype.__setParam = function(e, t, n) { | |
"use strict"; | |
e in this.$XControllerURIBuilder_paramDefinitions || s(0, 'Attempting to set invalid param "%s". Make sure the param is defined in the controller\'s getParamDefinition() method.', e); | |
var r = this.$XControllerURIBuilder_paramDefinitions[e].type; | |
return r !== t && s(0, 'Attempting to set param "%s" as %s, but it is defined in the controller\'s getParamDefinition() method as %s.', e, t, r), this.__setParamInt(e, n), this | |
}, i.prototype.__setParamInt = function(e, t) { | |
"use strict"; | |
this.$XControllerURIBuilder_params[e] = t | |
}, i.prototype.getURI = function() { | |
"use strict"; | |
this.__validateRequiredParamsExistence(); | |
for (var e = {}, t = "", n = new RegExp(/^\{(\?)?(\*)?(.+?)\}$/), r = this.$XControllerURIBuilder_path.split("/"), o = !1, i = 0; i < r.length; i++) { | |
var l = r[i]; | |
if ("" !== l) { | |
var u = n.exec(l); | |
if (u) { | |
var c = "?" === u[1], | |
d = ("*" === u[2], u[3]), | |
p = this.$XControllerURIBuilder_paramDefinitions[d]; | |
if (p || s(0, 'Found unknown token "%s" in path "%s". Ensure it is defined in getParamDefinition().', d, this.$XControllerURIBuilder_path), c && o) continue; | |
var h = this.$XControllerURIBuilder_params[d]; | |
if (null == h && c) { | |
o = !0; | |
continue | |
} | |
null == h && s(0, "Missing required template parameter: %s", d), t += "/" + h, e[d] = !0 | |
} else t += "/" + l | |
} | |
} | |
"/" === this.$XControllerURIBuilder_path.slice(-1) && (t += "/"); | |
var f = new a(t); | |
for (p in this.$XControllerURIBuilder_params) | |
if (h = this.$XControllerURIBuilder_params[p], !e[p] && null != h) { | |
var m = this.$XControllerURIBuilder_paramDefinitions[p]; | |
f.addQueryData(p, m && "Exists" === m.type ? null : h) | |
} | |
return f | |
}, i.create = function(e, t) { | |
return i.bind(null, e, t) | |
}, o.exports = i | |
}), __d("URI", [], function(e, t, n, r, o) { | |
function i(e) { | |
"use strict"; | |
return this instanceof i ? void s.call(this, e || "", a) : new i(e || window.location.href) | |
} | |
var a = t("PHPQuerySerializer"), | |
s = t("URIBase"), | |
l = t("isFacebookURI"), | |
u = t("unqualifyURI"), | |
c = t("areSameOrigin"), | |
d = t("copyProperties"), | |
p = t("goURI"); | |
for (var h in s) s.hasOwnProperty(h) && (i[h] = s[h]); | |
var f = null === s ? null : s.prototype; | |
i.prototype = Object.create(f), i.prototype.constructor = i, i.__superConstructor__ = s, i.prototype.setPath = function(e) { | |
"use strict"; | |
return this.path = e, f.setPath.call(this, e) | |
}, i.prototype.getPath = function() { | |
"use strict"; | |
var e = f.getPath.call(this); | |
return e ? e.replace(/^\/+/, "/") : e | |
}, i.prototype.setProtocol = function(e) { | |
"use strict"; | |
return this.protocol = e, f.setProtocol.call(this, e) | |
}, i.prototype.setDomain = function(e) { | |
"use strict"; | |
return this.domain = e, f.setDomain.call(this, e) | |
}, i.prototype.setPort = function(e) { | |
"use strict"; | |
return this.port = e, f.setPort.call(this, e) | |
}, i.prototype.setFragment = function(e) { | |
"use strict"; | |
return this.fragment = e, f.setFragment.call(this, e) | |
}, i.prototype.valueOf = function() { | |
"use strict"; | |
return this.toString() | |
}, i.prototype.isFacebookURI = function() { | |
"use strict"; | |
if (__DEV__) throw new Error("URI.prototype.isFacebookURI is deprecated, use isFacebookURI mirco-module instead"); | |
return l(this) | |
}, i.prototype.isLinkshimURI = function() { | |
"use strict"; | |
return !l(this) || "/l.php" !== this.getPath() && 0 !== this.getPath().indexOf("/si/ajax/l/") && 0 !== this.getPath().indexOf("/l/") && 0 !== this.getPath().indexOf("l/") ? !1 : !0 | |
}, i.prototype.getRegisteredDomain = function() { | |
"use strict"; | |
if (!this.getDomain()) return ""; | |
if (!l(this)) return null; | |
var e = this.getDomain().split("."), | |
t = e.indexOf("facebook"); | |
return e.slice(t).join(".") | |
}, i.prototype.getUnqualifiedURI = function() { | |
"use strict"; | |
var e = new i(this); | |
return u(e), e | |
}, i.prototype.getQualifiedURI = function() { | |
"use strict"; | |
return new i(this).$URI_qualify() | |
}, i.prototype.$URI_qualify = function() { | |
"use strict"; | |
if (!this.getDomain()) { | |
var e = i(); | |
this.setProtocol(e.getProtocol()).setDomain(e.getDomain()).setPort(e.getPort()) | |
} | |
return this | |
}, i.prototype.isSameOrigin = function(e) { | |
"use strict"; | |
var t = e || window.location.href; | |
return t instanceof i || (t = new i(t.toString())), c(this, t) | |
}, i.prototype.go = function(e) { | |
"use strict"; | |
p(this, e) | |
}, i.prototype.setSubdomain = function(e) { | |
"use strict"; | |
var t = this.$URI_qualify().getDomain().split("."); | |
return t.length <= 2 ? t.unshift(e) : t[0] = e, this.setDomain(t.join(".")) | |
}, i.prototype.getSubdomain = function() { | |
"use strict"; | |
if (!this.getDomain()) return ""; | |
var e = this.getDomain().split("."); | |
return e.length <= 2 ? "" : e[0] | |
}, i.isValidURI = function(e) { | |
"use strict"; | |
return s.isValidURI(e, a) | |
}, d(i, { | |
getRequestURI: function(t, n) { | |
t = void 0 === t || t; | |
var r = e.PageTransitions; | |
return t && r && r.isInitialized() ? r.getCurrentURI(!!n).getQualifiedURI() : new i(window.location.href) | |
}, | |
getMostRecentURI: function() { | |
var t = e.PageTransitions; | |
return t && t.isInitialized() ? t.getMostRecentURI().getQualifiedURI() : new i(window.location.href) | |
}, | |
getNextURI: function() { | |
var t = e.PageTransitions; | |
return t && t.isInitialized() ? t._next_uri.getQualifiedURI() : new i(window.location.href) | |
}, | |
expression: /(((\w+):\/\/)([^\/:]*)(:(\d+))?)?([^#?]*)(\?([^#]*))?(#(.*))?/, | |
arrayQueryExpression: /^(\w+)((?:\[\w*\])+)=?(.*)/, | |
encodeComponent: function(e) { | |
return encodeURIComponent(e).replace(/%5D/g, "]").replace(/%5B/g, "[") | |
}, | |
decodeComponent: function(e) { | |
return decodeURIComponent(e.replace(/\+/g, " ")) | |
} | |
}), __DEV__ && i.prototype.__defineGetter__ && i.prototype._defineSetter__ && (i.prototype.__defineGetter__("path", function() { | |
return console.warn("URI: Do not access the path property directly use getPath(). Fix URI.prototype."), this.path | |
}), i.prototype.__defineSetter__("path", function(e) { | |
this.path = e | |
}), i.prototype.__defineGetter__("protocol", function() { | |
return console.warn("URI: Do not access the protocol property directly use getProtocol(). Fix URI.prototype."), this.protocol | |
}), i.prototype.__defineSetter__("protocol", function(e) { | |
this.protocol = e | |
}), i.prototype.__defineGetter__("domain", function() { | |
return console.warn("URI: Do not access the domain property directly use getDomain(). Fix URI.prototype."), this.domain | |
}), i.prototype.__defineSetter__("domain", function(e) { | |
this.domain = e | |
}), i.prototype.__defineGetter__("port", function() { | |
return console.warn("URI: Do not access the port property directly use getPort(). Fix URI.prototype."), this.port | |
}), i.prototype.__defineSetter__("port", function(e) { | |
this.port = e | |
}), i.prototype.__defineGetter__("fragment", function() { | |
return console.warn("URI: Do not access the fragment property directly use getFragment(). Fix URI.prototype."), this.fragment | |
}), i.prototype.__defineSetter__("fragment", function(e) { | |
this.fragment = e | |
})), o.exports = i | |
}), __d("PHPQuerySerializer", [], function(e, t, n, r, o) { | |
function i(e) { | |
return a(e, null) | |
} | |
function a(e, t) { | |
t = t || ""; | |
var n = []; | |
if (null === e || void 0 === e) n.push(s(t)); | |
else if ("object" == typeof e) { | |
("nodeName" in e || "nodeType" in e) && c(0, "PHPQuerySerializer serializing a DOM element, not good ..."); | |
for (var r in e) e.hasOwnProperty(r) && void 0 !== e[r] && n.push(a(e[r], t ? t + "[" + r + "]" : r)) | |
} else n.push(s(t) + "=" + s(e)); | |
return n.join("&") | |
} | |
function s(e) { | |
return encodeURIComponent(e).replace(/%5D/g, "]").replace(/%5B/g, "[") | |
} | |
function l(e) { | |
if (!e) return {}; | |
var t = {}; | |
e = e.replace(/%5B/gi, "[").replace(/%5D/gi, "]"), e = e.split("&"); | |
for (var n = Object.prototype.hasOwnProperty, r = 0, o = e.length; o > r; r++) { | |
var i = e[r].match(d); | |
if (i) { | |
var a = i[2].split(/\]\[|\[|\]/).slice(0, -1), | |
s = i[1], | |
l = u(i[3] || ""); | |
a[0] = s; | |
for (var c = t, p = 0; p < a.length - 1; p++) | |
if (a[p]) { | |
if (!n.call(c, a[p])) { | |
var h = a[p + 1] && !a[p + 1].match(/^\d{1,3}$/) ? {} : []; | |
if (c[a[p]] = h, c[a[p]] !== h) return t | |
} | |
c = c[a[p]] | |
} else c.push(a[p + 1] && !a[p + 1].match(/^\d{1,3}$/) ? {} : []), c = c[c.length - 1]; | |
c instanceof Array && "" === a[a.length - 1] ? c.push(l) : c[a[a.length - 1]] = l | |
} else { | |
var f = e[r].split("="); | |
t[u(f[0])] = void 0 === f[1] ? null : u(f[1]) | |
} | |
} | |
return t | |
} | |
function u(e) { | |
return decodeURIComponent(e.replace(/\+/g, " ")) | |
} | |
var c = t("invariant"), | |
d = /^([-_\w]+)((?:\[[-_\w]*\])+)=?(.*)/, | |
p = { | |
serialize: i, | |
encodeComponent: s, | |
deserialize: l, | |
decodeComponent: u | |
}; | |
o.exports = p | |
}), __d("URIBase", [], function(e, t, n, r, o) { | |
function i(e, t, n, r) { | |
if (!t) return !0; | |
if (t instanceof a) return e.setProtocol(t.getProtocol()), e.setDomain(t.getDomain()), e.setPort(t.getPort()), e.setPath(t.getPath()), e.setQueryData(r.deserialize(r.serialize(t.getQueryData()))), e.setFragment(t.getFragment()), !0; | |
t = t.toString().trim(); | |
var o = s.parse(t) || {}; | |
if (!n && !l.isAllowed(o.scheme)) return !1; | |
if (e.setProtocol(o.scheme || ""), !n && p.test(o.host)) return !1; | |
if (e.setDomain(o.host || ""), e.setPort(o.port || ""), e.setPath(o.path || ""), n) e.setQueryData(r.deserialize(o.query) || {}); | |
else try { | |
e.setQueryData(r.deserialize(o.query) || {}) | |
} catch (i) { | |
return !1 | |
} | |
if (e.setFragment(o.fragment || ""), null !== o.userinfo) { | |
if (n) throw new Error(c("URI.parse: invalid URI (userinfo is not allowed in a URI): %s", e.toString())); | |
return !1 | |
} | |
if (!e.getDomain() && -1 !== e.getPath().indexOf("\\")) { | |
if (n) throw new Error(c("URI.parse: invalid URI (no domain but multiple back-slashes): %s", e.toString())); | |
return !1 | |
} | |
if (!e.getProtocol() && h.test(t)) { | |
if (n) throw new Error(c("URI.parse: invalid URI (unsafe protocol-relative URLs): %s", e.toString())); | |
return !1 | |
} | |
return !0 | |
} | |
function a(e, t) { | |
"use strict"; | |
t || d(0, "no serializer set"), this.$URIBase_serializer = t, this.$URIBase_protocol = "", this.$URIBase_domain = "", this.$URIBase_port = "", this.$URIBase_path = "", this.$URIBase_fragment = "", this.$URIBase_queryData = {}, i(this, e, !0, t) | |
} | |
var s = t("URIRFC3986"), | |
l = t("URISchemes"), | |
u = t("copyProperties"), | |
c = t("ex"), | |
d = t("invariant"), | |
p = new RegExp("[\\x00-\\x2c\\x2f\\x3b-\\x40\\x5c\\x5e\\x60\\x7b-\\x7f\\uFDD0-\\uFDEF\\uFFF0-\\uFFFF\\u2047\\u2048\\uFE56\\uFE5F\\uFF03\\uFF0F\\uFF1F]"), | |
h = new RegExp("^(?:[^/]*:|[\\x00-\\x1f]*/[\\x00-\\x1f]*/)"); | |
a.prototype.setProtocol = function(e) { | |
"use strict"; | |
return l.isAllowed(e) || d(0, '"%s" is not a valid protocol for a URI.', e), this.$URIBase_protocol = e, this | |
}, a.prototype.getProtocol = function() { | |
"use strict"; | |
return this.$URIBase_protocol | |
}, a.prototype.setSecure = function(e) { | |
"use strict"; | |
return this.setProtocol(e ? "https" : "http") | |
}, a.prototype.isSecure = function() { | |
"use strict"; | |
return "https" === this.getProtocol() | |
}, a.prototype.setDomain = function(e) { | |
"use strict"; | |
if (p.test(e)) throw new Error(c("URI.setDomain: unsafe domain specified: %s for url %s", e, this.toString())); | |
return this.$URIBase_domain = e, this | |
}, a.prototype.getDomain = function() { | |
"use strict"; | |
return this.$URIBase_domain | |
}, a.prototype.setPort = function(e) { | |
"use strict"; | |
return this.$URIBase_port = e, this | |
}, a.prototype.getPort = function() { | |
"use strict"; | |
return this.$URIBase_port | |
}, a.prototype.setPath = function(e) { | |
"use strict"; | |
return __DEV__ && e && "/" !== e.charAt(0) && console.warn('Path does not begin with a "/" which means this URI will likely be malformed. Ensure any string passed to .setPath() leads with "/"'), this.$URIBase_path = e, this | |
}, a.prototype.getPath = function() { | |
"use strict"; | |
return this.$URIBase_path | |
}, a.prototype.addQueryData = function(e, t) { | |
"use strict"; | |
return "[object Object]" === Object.prototype.toString.call(e) ? u(this.$URIBase_queryData, e) : this.$URIBase_queryData[e] = t, this | |
}, a.prototype.setQueryData = function(e) { | |
"use strict"; | |
return this.$URIBase_queryData = e, this | |
}, a.prototype.getQueryData = function() { | |
"use strict"; | |
return this.$URIBase_queryData | |
}, a.prototype.removeQueryData = function(e) { | |
"use strict"; | |
Array.isArray(e) || (e = [e]); | |
for (var t = 0, n = e.length; n > t; ++t) delete this.$URIBase_queryData[e[t]]; | |
return this | |
}, a.prototype.setFragment = function(e) { | |
"use strict"; | |
return this.$URIBase_fragment = e, this | |
}, a.prototype.getFragment = function() { | |
"use strict"; | |
return this.$URIBase_fragment | |
}, a.prototype.isEmpty = function() { | |
"use strict"; | |
return !(this.getPath() || this.getProtocol() || this.getDomain() || this.getPort() || Object.keys(this.getQueryData()).length > 0 || this.getFragment()) | |
}, a.prototype.toString = function() { | |
"use strict"; | |
var e = ""; | |
this.$URIBase_protocol && (e += this.$URIBase_protocol + "://"), this.$URIBase_domain && (e += this.$URIBase_domain), this.$URIBase_port && (e += ":" + this.$URIBase_port), this.$URIBase_path ? e += this.$URIBase_path : e && (e += "/"); | |
var t = this.$URIBase_serializer.serialize(this.$URIBase_queryData); | |
return t && (e += "?" + t), this.$URIBase_fragment && (e += "#" + this.$URIBase_fragment), e | |
}, a.prototype.getOrigin = function() { | |
"use strict"; | |
return this.$URIBase_protocol + "://" + this.$URIBase_domain + (this.$URIBase_port ? ":" + this.$URIBase_port : "") | |
}, a.isValidURI = function(e, t) { | |
return i(new a(null, t), e, !1, t) | |
}, o.exports = a | |
}), __d("URIRFC3986", [], function(e, t, n, r, o) { | |
var i = new RegExp("^([^:/?#]+:)?(//([^\\\\/?#@]*@)?(\\[[A-Fa-f0-9:.]+\\]|[^\\/?#:]*)(:[0-9]*)?)?([^?#]*)(\\?[^#]*)?(#.*)?"), | |
a = { | |
parse: function(e) { | |
if ("" === e.trim()) return null; | |
var t = e.match(i), | |
n = {}; | |
return n.uri = t[0] ? t[0] : null, n.scheme = t[1] ? t[1].substr(0, t[1].length - 1) : null, n.authority = t[2] ? t[2].substr(2) : null, n.userinfo = t[3] ? t[3].substr(0, t[3].length - 1) : null, n.host = t[2] ? t[4] : null, n.port = t[5] ? t[5].substr(1) ? parseInt(t[5].substr(1), 10) : null : null, n.path = t[6] ? t[6] : null, n.query = t[7] ? t[7].substr(1) : null, n.fragment = t[8] ? t[8].substr(1) : null, n.isGenericURI = null === n.authority && !!n.scheme, n | |
} | |
}; | |
o.exports = a | |
}), __d("URISchemes", [], function(e, t, n, r, o) { | |
var i = t("createObjectFrom"), | |
a = i(["fb", "fbcf", "fbconnect", "fb-messenger", "fbrpc", "file", "ftp", "http", "https", "mailto", "ms-app", "itms", "itms-apps", "itms-services", "market", "svn+ssh", "fbstaging", "tel", "sms"]), | |
s = { | |
isAllowed: function(e) { | |
return e ? a.hasOwnProperty(e.toLowerCase()) : !0 | |
} | |
}; | |
o.exports = s | |
}), __d("createObjectFrom", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
if (__DEV__ && !Array.isArray(e)) throw new TypeError("Must pass an array of keys."); | |
var n = {}, | |
r = Array.isArray(t); | |
"undefined" == typeof t && (t = !0); | |
for (var o = e.length; o--;) n[e[o]] = r ? t[o] : t; | |
return n | |
} | |
o.exports = i | |
}), __d("isFacebookURI", [], function(e, t, n, r, o) { | |
function i(e) { | |
return a || (a = new RegExp("(^|\\.)facebook\\.com$", "i")), e.isEmpty() && "#" !== e.toString() ? !1 : e.getDomain() || e.getProtocol() ? -1 !== s.indexOf(e.getProtocol()) && a.test(e.getDomain()) : !0 | |
} | |
var a = null, | |
s = ["http", "https"]; | |
i.setRegex = function(e) { | |
a = e | |
}, o.exports = i | |
}), __d("unqualifyURI", [], function(e, t, n, r, o) { | |
function i(e) { | |
e.setProtocol(null).setDomain(null).setPort(null) | |
} | |
o.exports = i | |
}), __d("areSameOrigin", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
return e.isEmpty() || t.isEmpty() ? !1 : e.getProtocol() && e.getProtocol() != t.getProtocol() ? !1 : e.getDomain() && e.getDomain() != t.getDomain() ? !1 : e.getPort() && e.getPort() != t.getPort() ? !1 : !0 | |
} | |
o.exports = i | |
}), __d("goURI", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
throw new Error("goURI() behavior is undefined in Catalyst") | |
} | |
t("URISchemes"); | |
o.exports = i | |
}), __d("DliteRouteQueryCache", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
get: function(e, t) { | |
var n = t.getCacheKey(); | |
if (e.__queryCache) { | |
var r = e.__queryCache[n]; | |
if (r) return r | |
} | |
return null | |
}, | |
set: function(e, t, n) { | |
var r = t.getCacheKey(); | |
e.__queryCache || (e.__queryCache = {}), e.__queryCache[r] = n | |
} | |
}; | |
o.exports = i | |
}), __d("GraphQLDeferredQueryTracker", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
_ || (m(a), _ = {}), _.hasOwnProperty(e) || (_[e] = {}), _[e].hasOwnProperty(t) || (_[e][t] = null) | |
} | |
function a() { | |
h(_, function(e, t) { | |
h(e, function(e, n) { | |
for (var r = 0; r < g.length; r++) | |
if (g[r]) { | |
var o = g[r], | |
i = o.callback, | |
a = o.dataID, | |
s = o.fragmentName; | |
a === t && s === n && c.applyWithGuard(i, null, [t, n], null, "GraphQLDeferredQueryTracker") | |
} | |
}) | |
}), _ = null | |
} | |
function s(e, t) { | |
var n = t.getQuery().rootCall().getRefTarget(); | |
if (!n) return {}; | |
var r = {}, | |
o = n.split("."); | |
return l(r, e, o, 1), r | |
} | |
function l(e, t, n, r) { | |
if (r === n.length && "string" == typeof t) return void(e[t] = t); | |
if (!(r >= n.length || !t || "object" != typeof t || Array.isArray(t))) { | |
var o = n[r]; | |
"*" === o ? h(t, function(t) { | |
l(e, t, n, r + 1) | |
}) : t.hasOwnProperty(o) && l(e, t[o], n, r + 1) | |
} | |
} | |
function u(e) { | |
return e.getQuery().rootCall().getSourceQueryID() | |
} | |
var c = t("ErrorUtils"), | |
d = t("GraphQLStore"), | |
p = t("Map"), | |
h = t("forEachObject"), | |
f = t("isEmpty"), | |
m = t("setImmediate"), | |
g = [], | |
_ = null, | |
y = new p, | |
v = new p, | |
S = new p, | |
w = { | |
addListenerForFragment: function(e, t, n) { | |
var r = g.length; | |
return g.push({ | |
callback: n, | |
dataID: e, | |
fragmentName: t | |
}), { | |
remove: function() { | |
delete g[r] | |
} | |
} | |
}, | |
recordQuery: function(e) { | |
var t = u(e); | |
if (t) { | |
var n = v.get(t) || []; | |
n.push(e), v.set(t, n) | |
} else { | |
var r = e.getQuery().getDeferredFragmentNames(); | |
if (r) { | |
var o = d.getIDsFromQuery(e); | |
h(o, function(e) { | |
var t = y.get(e) || {}; | |
Object.assign(t, r), y.set(e, t) | |
}) | |
} | |
} | |
}, | |
resolveQuery: function(e, t) { | |
var n, r, o = e.getQuery(), | |
a = u(e), | |
l = o.getDeferredFragmentNames(); | |
if (l && (r = o.rootCall().hasRefParam() ? S.get(o.getID()) || {} : d.getIDsFromQuery(e), h(r, function(e) { | |
var t = y.get(e) || {}; | |
h(l, function(n) { | |
delete t[n], i(e, n) | |
}), f(t) ? y.delete(e) : y.set(e, t) | |
})), a) n = v.get(a) || [], n = n.filter(function(t) { | |
return t !== e | |
}), n.length ? v.set(a, n) : v.delete(a), S.delete(o.getID()); | |
else if (t) { | |
n = v.get(o.getID()) || []; | |
for (var c = 0; c < n.length; c++) { | |
var p = n[c], | |
m = p.getQuery(), | |
g = m.getAllFragmentNames(), | |
_ = s(t, p); | |
S.set(m.getID(), _), h(_, function(e) { | |
var t = y.get(e) || {}; | |
Object.assign(t, g), y.set(e, t) | |
}) | |
} | |
} | |
}, | |
isQueryPending: function(e) { | |
var t = e.getQuery().getAllFragmentNames(), | |
n = d.getIDsFromQuery(e); | |
for (var r in n) | |
if (n.hasOwnProperty(r) && y.has(n[r])) { | |
var o = y.get(n[r]); | |
for (var i in t) | |
if (t.hasOwnProperty(i) && o.hasOwnProperty(i)) return !0 | |
} | |
return !1 | |
}, | |
reset: function() { | |
y = new p, S = new p, v = new p, g = [] | |
} | |
}; | |
o.exports = w | |
}), __d("Map", [], function(e, t, n, r, o) { | |
var i = t("guid"), | |
a = t("isNode"), | |
s = t("toIterator"), | |
l = t("_shouldPolyfillES6Collection"); | |
o.exports = function(e, t) { | |
function n(e) { | |
"use strict"; | |
if (!d(this)) throw new TypeError("Wrong map object type."); | |
if (c(this), null != e) | |
for (var t, n = s(e); !(t = n.next()).done;) { | |
if (!d(t.value)) throw new TypeError("Expected iterable items to be pair objects."); | |
this.set(t.value[0], t.value[1]) | |
} | |
} | |
function r(e, t) { | |
"use strict"; | |
if (!d(e) || !e._mapData) throw new TypeError("Object is not a map."); | |
if (-1 === [g, y, _].indexOf(t)) throw new Error("Invalid iteration kind."); | |
this._map = e, this._nextIndex = 0, this._kind = t | |
} | |
function o(e, t) { | |
if (d(t)) { | |
var n = b(t); | |
return e._objectIndex[n] | |
} | |
var r = v + t; | |
return "string" == typeof t ? e._stringIndex[r] : e._otherIndex[r] | |
} | |
function u(e, t, n) { | |
var r = null == n; | |
if (d(t)) { | |
var o = b(t); | |
r ? delete e._objectIndex[o] : e._objectIndex[o] = n | |
} else { | |
var i = v + t; | |
"string" == typeof t ? r ? delete e._stringIndex[i] : e._stringIndex[i] = n : r ? delete e._otherIndex[i] : e._otherIndex[i] = n | |
} | |
} | |
function c(e) { | |
return e._mapData = [], e._objectIndex = {}, e._stringIndex = {}, e._otherIndex = {}, __DEV__ && w ? void(e.hasOwnProperty(m) ? e[m] = 0 : (Object.defineProperty(e, m, { | |
value: 0, | |
writable: !0 | |
}), Object.defineProperty(e, "size", { | |
set: function() { | |
throw console.error("PLEASE FIX ME: You are changing the map size property which should not be writable and will break in production."), new Error("The map size property is not writable.") | |
}, | |
get: function() { | |
return e[m] | |
} | |
}))) : void(e.size = 0) | |
} | |
function d(e) { | |
return null != e && ("object" == typeof e || "function" == typeof e) | |
} | |
function p(e, t) { | |
return { | |
value: e, | |
done: t | |
} | |
} | |
function h(e) { | |
return w ? Object.isExtensible(e) : !0 | |
} | |
function f(e) { | |
var t; | |
switch (e.nodeType) { | |
case 1: | |
t = e.uniqueID; | |
break; | |
case 9: | |
t = e.documentElement.uniqueID; | |
break; | |
default: | |
return null | |
} | |
return t ? S + t : null | |
} | |
if (!l("Map")) return e.Map; | |
var m, g = "key", | |
_ = "value", | |
y = "key+value", | |
v = "$map_"; | |
__DEV__ && (m = "$size" + i()); | |
var S = "IE_HASH_"; | |
n.prototype.clear = function() { | |
"use strict"; | |
c(this) | |
}, n.prototype.has = function(e) { | |
"use strict"; | |
var t = o(this, e); | |
return !(null == t || !this._mapData[t]) | |
}, n.prototype.set = function(e, t) { | |
"use strict"; | |
var n = o(this, e); | |
return null != n && this._mapData[n] ? this._mapData[n][1] = t : (n = this._mapData.push([e, t]) - 1, u(this, e, n), __DEV__ ? this[m] += 1 : this.size += 1), this | |
}, n.prototype.get = function(e) { | |
"use strict"; | |
var n = o(this, e); | |
return null == n ? t : this._mapData[n][1] | |
}, n.prototype["delete"] = function(e) { | |
"use strict"; | |
var n = o(this, e); | |
return null != n && this._mapData[n] ? (u(this, e, t), this._mapData[n] = t, __DEV__ ? this[m] -= 1 : this.size -= 1, !0) : !1 | |
}, n.prototype.entries = function() { | |
"use strict"; | |
return new r(this, y) | |
}, n.prototype.keys = function() { | |
"use strict"; | |
return new r(this, g) | |
}, n.prototype.values = function() { | |
"use strict"; | |
return new r(this, _) | |
}, n.prototype.forEach = function(e, n) { | |
"use strict"; | |
if ("function" != typeof e) throw new TypeError("Callback must be callable."); | |
for (var r = e.bind(n || t), o = this._mapData, i = 0; i < o.length; i++) { | |
var a = o[i]; | |
null != a && r(a[1], a[0], this) | |
} | |
}, n.prototype[s.ITERATOR_SYMBOL] = n.prototype.entries, r.prototype.next = function() { | |
"use strict"; | |
if (!this instanceof n) throw new TypeError("Expected to be called on a MapIterator."); | |
var e = this._map, | |
r = this._nextIndex, | |
o = this._kind; | |
if (null == e) return p(t, !0); | |
for (var i = e._mapData; r < i.length;) { | |
var a = i[r]; | |
if (r += 1, this._nextIndex = r, a) { | |
if (o === g) return p(a[0], !1); | |
if (o === _) return p(a[1], !1); | |
if (o) return p(a, !1) | |
} | |
} | |
return this._map = t, p(t, !0) | |
}, r.prototype[s.ITERATOR_SYMBOL] = function() { | |
return this | |
}; | |
var w = function() { | |
try { | |
return Object.defineProperty({}, "x", {}), !0 | |
} catch (e) { | |
return !1 | |
} | |
}(), | |
b = function() { | |
var e = Object.prototype.propertyIsEnumerable, | |
t = i(), | |
n = 0; | |
return function(r) { | |
if (r[t]) return r[t]; | |
if (!w && r.propertyIsEnumerable && r.propertyIsEnumerable[t]) return r.propertyIsEnumerable[t]; | |
if (!w && a(r) && f(r)) return f(r); | |
if (!w && r[t]) return r[t]; | |
if (h(r)) { | |
if (n += 1, w) Object.defineProperty(r, t, { | |
enumerable: !1, | |
writable: !1, | |
configurable: !1, | |
value: n | |
}); | |
else if (r.propertyIsEnumerable) r.propertyIsEnumerable = function() { | |
return e.apply(this, arguments) | |
}, r.propertyIsEnumerable[t] = n; | |
else { | |
if (!a(r)) throw new Error("Unable to set a non-enumerable property on object."); | |
r[t] = n | |
} | |
return n | |
} | |
throw new Error("Non-extensible objects are not allowed as keys.") | |
} | |
}(); | |
return n | |
}(Function("return this")()) | |
}), __d("guid", [], function(e, t, n, r, o) { | |
function i() { | |
return "f" + (Math.random() * (1 << 30)).toString(16).replace(".", "") | |
} | |
o.exports = i | |
}), __d("isNode", [], function(e, t, n, r, o) { | |
function i(e) { | |
return !(!e || !("function" == typeof Node ? e instanceof Node : "object" == typeof e && "number" == typeof e.nodeType && "string" == typeof e.nodeName)) | |
} | |
o.exports = i | |
}), __d("toIterator", [], function(e, t, n, r, o) { | |
var i = "key", | |
a = "value", | |
s = "key+value", | |
l = "function" == typeof Symbol ? Symbol.iterator : "@@iterator", | |
u = function() { | |
return Array.prototype[l] && String.prototype[l] ? function(e) { | |
return e[l]() | |
} : function() { | |
function e(e, t) { | |
"use strict"; | |
if (!Array.isArray(e)) throw new TypeError("Object is not an Array"); | |
this.$ArrayIterator_iteratedObject = e, this.$ArrayIterator_kind = t, this.$ArrayIterator_nextIndex = 0 | |
} | |
function t(e) { | |
"use strict"; | |
if ("string" != typeof e) throw new TypeError("Object is not a string"); | |
this.$StringIterator_iteratedString = e, this.$StringIterator_nextIndex = 0 | |
} | |
function n(e, t) { | |
return { | |
value: e, | |
done: t | |
} | |
} | |
return e.prototype.next = function() { | |
"use strict"; | |
if (!this instanceof e) throw new TypeError("Object is not an ArrayIterator"); | |
if (null == this.$ArrayIterator_iteratedObject) return n(void 0, !0); | |
var t = this.$ArrayIterator_iteratedObject, | |
r = this.$ArrayIterator_iteratedObject.length, | |
o = this.$ArrayIterator_nextIndex, | |
l = this.$ArrayIterator_kind; | |
return o >= r ? (this.$ArrayIterator_iteratedObject = void 0, n(void 0, !0)) : (this.$ArrayIterator_nextIndex = o + 1, l === i ? n(o, !1) : l === a ? n(t[o], !1) : l === s ? n([o, t[o]], !1) : void 0) | |
}, e.prototype["@@iterator"] = function() { | |
"use strict"; | |
return this | |
}, t.prototype.next = function() { | |
"use strict"; | |
if (!this instanceof t) throw new TypeError("Object is not a StringIterator"); | |
if (null == this.$StringIterator_iteratedString) return n(void 0, !0); | |
var e = this.$StringIterator_nextIndex, | |
r = this.$StringIterator_iteratedString, | |
o = r.length; | |
if (e >= o) return this.$StringIterator_iteratedString = void 0, n(void 0, !0); | |
var i, a = r.charCodeAt(e); | |
if (55296 > a || a > 56319 || e + 1 === o) i = r[e]; | |
else { | |
var s = r.charCodeAt(e + 1); | |
i = 56320 > s || s > 57343 ? r[e] : r[e] + r[e + 1] | |
} | |
return this.$StringIterator_nextIndex = e + i.length, n(i, !1) | |
}, t.prototype["@@iterator"] = function() { | |
"use strict"; | |
return this | |
}, | |
function(n, r) { | |
return "string" == typeof n ? new t(n) : Array.isArray(n) ? new e(n, r || a) : n[l]() | |
} | |
}() | |
}(); | |
Object.assign(u, { | |
KIND_KEY: i, | |
KIND_VALUE: a, | |
KIND_KEY_VAL: s, | |
ITERATOR_SYMBOL: l | |
}), o.exports = u | |
}), __d("_shouldPolyfillES6Collection", [], function(e, t, n, r, o) { | |
function i(t) { | |
var n = e[t]; | |
if (null == n) return !0; | |
var r = n.prototype; | |
return null == n || "function" != typeof n || "function" != typeof r.clear || 0 !== (new n).size || "function" != typeof r.keys || "function" != typeof r.forEach || s(n) || !a(n) | |
} | |
function a(e) { | |
function t() { | |
"use strict"; | |
null !== e && e.apply(this, arguments) | |
} | |
for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]); | |
var r = null === e ? null : e.prototype; | |
t.prototype = Object.create(r), t.prototype.constructor = t, t.__superConstructor__ = e; | |
try { | |
var o = new t([]); | |
return o.size, o instanceof e | |
} catch (i) { | |
return !1 | |
} | |
} | |
function s(e) { | |
try { | |
e() | |
} catch (t) { | |
return !1 | |
} | |
return !0 | |
} | |
o.exports = i | |
}), __d("GraphQLQueryRunner", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return !!e | |
} | |
function a(e) { | |
var t = [], | |
n = e.getQuery().rootCall(); | |
return P.every(function(r) { | |
var o = r.query; | |
if (w(o.getQuery().rootCall(), n)) { | |
var i = I(e, o); | |
i !== e && (t.push(r.promise), e = i) | |
} | |
return null !== e | |
}), { | |
query: e, | |
dependencies: t | |
} | |
} | |
function s(e) { | |
var t = e.getOwnFields(); | |
return 1 !== t.length || "id" !== t[0].getFieldName() ? !0 : e.getFragments().some(s) | |
} | |
function l(e) { | |
var t = e.getQuery(); | |
return "node" === t.rootCall().getName() && !s(t) | |
} | |
function u(e) { | |
return e.getQuery().isDeferred() | |
} | |
function c(e, t, n, r) { | |
var o = t.onBlockingRequest, | |
i = t.onResolvable, | |
s = t.onSuccess, | |
c = t.onFailure, | |
d = 0; | |
g.await(function() { | |
var t = []; | |
e.forEach(function(e) { | |
F(e).forEach(function(e) { | |
l(e) || (u(e) || d++, t.push(e)) | |
}) | |
}); | |
var f = r === p.FETCH_MODE_REFETCH ? E() : null, | |
m = function(e) { | |
if (u(e) || d--, !d) try { | |
i() | |
} catch (t) { | |
T(t) | |
} | |
}, | |
g = function(e, t) { | |
return e.map(r === p.FETCH_MODE_CLIENT || r === p.FETCH_MODE_REFETCH ? function(e) { | |
var n = a(e); | |
return n.query && n.dependencies.push(L.add(n.query, R(n.query), t, f)), v.all(n.dependencies).then(function() { | |
return m(e) | |
}) | |
} : function(e) { | |
return L.add(e, new S, t, null).then(function() { | |
return m(e) | |
}) | |
}) | |
}; | |
if (t.length) { | |
var _ = u(t[0]) ? [] : t.splice(0, 1), | |
y = g(_, []), | |
w = g(t, y); | |
v.all(y.concat(w)).done(function() { | |
n.stop(), s() | |
}, function(e) { | |
n.stop(), c(e), h.warn(e) | |
}), x(d ? o : i) | |
} else x(i), x(s) | |
}) | |
} | |
function d(e) { | |
var t = e.onBlockingRequest, | |
n = e.onResolvable, | |
r = e.onSuccess, | |
o = e.onFailure, | |
i = !1; | |
return { | |
abort: function() { | |
i = !0 | |
}, | |
abortableCallbacks: D({ | |
onBlockingRequest: t, | |
onResolvable: n, | |
onSuccess: r, | |
onFailure: o | |
}, function(e) { | |
return function() { | |
return e && !i ? e.apply(null, arguments) : void 0 | |
} | |
}) | |
} | |
} | |
var p = t("DliteFetchModeConstants"), | |
h = t("DliteLog"), | |
f = t("DliteLogger"), | |
m = t("DliteProfiler"), | |
g = t("DliteTaskScheduler"), | |
_ = t("GraphQLDeferredQueryTracker"), | |
y = t("GraphQLStore"), | |
v = t("Promise"), | |
S = t("PublicPromise"), | |
w = t("containsQueryRootCall"), | |
b = t("extendArray"), | |
R = t("fetchRQL"), | |
C = t("forEachObject"), | |
E = t("generateForceIndex"), | |
D = t("mapObject"), | |
x = t("setImmediate"), | |
F = t("splitDeferredQueries"), | |
I = t("subtractQuery"), | |
T = t("throwImmediate"), | |
P = [], | |
L = { | |
run: function(e, t, n) { | |
var r = d(t), | |
o = r.abort, | |
i = r.abortableCallbacks; | |
y.emit(y.Events.beginQuery); | |
var a = f.logClientEvent("GraphQLQueryRunner.run"); | |
n = n || p.FETCH_MODE_CLIENT; | |
var s = []; | |
return n === p.FETCH_MODE_CLIENT ? C(e, function(e) { | |
e && b(s, y.getDiffQueries(e)) | |
}) : C(e, function(e) { | |
e && s.push(e) | |
}), c(s, i, a, n), y.emit(y.Events.endQuery), { | |
abort: o | |
} | |
}, | |
forceFetch: function(e, t) { | |
var n = d(t), | |
r = n.abort, | |
o = n.abortableCallbacks; | |
y.emit(y.Events.beginQuery); | |
var i = f.logClientEvent("GraphQLQueryRunner.forceFetch"), | |
a = []; | |
C(e, function(e) { | |
e && b(a, y.getDiffQueries(e)) | |
}), 0 === a.length && (x(o.onResolvable), o.onBlockingRequest = function() {}); | |
var s = []; | |
return C(e, function(e) { | |
e && s.push(e) | |
}), c(s, o, i, p.FETCH_MODE_REFETCH), y.emit(y.Events.endQuery), { | |
abort: r | |
} | |
}, | |
add: function(e, t, n, r) { | |
_.recordQuery(e); | |
var o = P.length, | |
i = v.all(n).finally(function() { | |
return t.then(function(t) { | |
return g.await(function() { | |
var n = t.response; | |
y.emit(y.Events.dataFromServer, n), y.handleUpdate(n, e, null, r), _.resolveQuery(e, n), delete P[o] | |
}) | |
}, function(t) { | |
throw _.resolveQuery(e), delete P[o], t | |
}) | |
}); | |
return P[o] = { | |
fetchPromise: t, | |
id: e.getQuery().getID(), | |
promise: i, | |
query: e | |
}, i | |
}, | |
resetPending: function() { | |
P = [], _.reset() | |
}, | |
resolveQueryByID: function(e, t) { | |
var n = P.find(function(t) { | |
return t && t.id === e | |
}); | |
n && n.fetchPromise.resolve && n.fetchPromise.resolve(t) | |
}, | |
rejectQueryByID: function(e, t) { | |
var n = P.find(function(t) { | |
return t && t.id === e | |
}); | |
n && n.fetchPromise.reject && n.fetchPromise.reject(new Error(t)) | |
}, | |
hasPendingQueries: function() { | |
return P.some(i) | |
}, | |
hasPendingQuery: function(e) { | |
return _.isQueryPending(e) | |
} | |
}; | |
m.instrumentMethods(L, { | |
hasPendingQuery: "GraphQLQueryRunner.hasPendingQuery" | |
}), o.exports = L | |
}), __d("DliteFetchModeConstants", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("keyMirror"), | |
a = i({ | |
FETCH_MODE_CLIENT: null, | |
FETCH_MODE_PRELOAD: null, | |
FETCH_MODE_REFETCH: null | |
}); | |
o.exports = a | |
}), __d("DliteTaskScheduler", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
p || (d.length ? (p = !0, u.resolve().done(function() { | |
var e = a(d.shift()); | |
l ? l(e) : e() | |
})) : p = !1) | |
} | |
function a(e) { | |
var t = !1; | |
return function() { | |
t && c(0, "DliteTaskScheduler: Tasks can only be executed once."), t = !0, s(e), p = !1, i() | |
} | |
} | |
function s(e) { | |
var t = d; | |
d = []; | |
try { | |
e() | |
} finally { | |
Array.prototype.unshift.apply(t, d), d = t | |
} | |
} | |
var l, u = t("Promise"), | |
c = t("invariant"), | |
d = [], | |
p = !1, | |
h = { | |
injectScheduler: function(e) { | |
l = e | |
}, | |
await: function() { | |
var e = arguments, | |
t = new u(function(t) { | |
function n(o) { | |
d.push(function() { | |
var i = e[r++](o); | |
r < e.length ? n(i) : t(i) | |
}) | |
} | |
var r = 0; | |
n() | |
}); | |
return i(), t | |
} | |
}; | |
o.exports = h | |
}), __d("Promise", [], function(e, t, n, r, o) { | |
var i = t("ES6Promise"), | |
a = i.prototype, | |
s = t("invariant"), | |
l = (t("setImmediate"), t("throwImmediate")); | |
a.finally = function(e) { | |
return this.then(e, e) | |
}, a.done = function(e, t) { | |
this.then(e, t).then(null, l) | |
}, i.allObject = function(e) { | |
Array.isArray(e) && s(0, "expected an object, got an array instead"); | |
var t = Object.keys(e); | |
return i.all(t.map(function(t) { | |
return e[t] | |
})).then(function(e) { | |
var n = {}; | |
return e.forEach(function(e, r) { | |
n[t[r]] = e | |
}), n | |
}) | |
}, o.exports = i | |
}), __d("ES6Promise", [], function(e, t, n, r, o) { | |
o.exports = function(e, n) { | |
"use strict"; | |
function r(e) { | |
var t = e[f]; | |
if (!t && (e[f] = t = {}, Object.defineProperty)) try { | |
Object.defineProperty(e, f, { | |
value: t | |
}) | |
} catch (n) {} | |
return t | |
} | |
function o(e) { | |
return e | |
} | |
function i(e) { | |
throw e | |
} | |
function a(e) { | |
var t = r(this); | |
t.state = d, t.fulfillReactions = [], t.rejectReactions = []; | |
var n = s(this), | |
o = n.reject; | |
try { | |
e(n.resolve, o) | |
} catch (i) { | |
o(i) | |
} | |
} | |
function s(e) { | |
var t = !1; | |
return { | |
resolve: function(n) { | |
if (!t) { | |
if (t = !0, n === e) return l(e, h, new TypeError("Cannot resolve promise with itself")); | |
if (!n || "object" != typeof n || "function" != typeof n.then) return l(e, p, n); | |
var r = s(e), | |
o = r.reject; | |
try { | |
n.then(r.resolve, o) | |
} catch (i) { | |
o(i) | |
} | |
} | |
}, | |
reject: function(n) { | |
t || (t = !0, l(e, h, n)) | |
} | |
} | |
} | |
function l(e, t, o) { | |
var i = r(e); | |
if (i.state !== d) throw new Error("Settling a " + i.state + " promise"); | |
var a; | |
t === p ? a = i.fulfillReactions : t === h && (a = i.rejectReactions), i.result = o, i.fulfillReactions = n, i.rejectReactions = n, i.state = t; | |
var s = a.length; | |
s && c(function() { | |
for (var e = 0; s > e; ++e) a[e](i.result) | |
}) | |
} | |
function u(e, t, n, r) { | |
var o = arguments.length > 3; | |
return function(i) { | |
try { | |
i = n(o ? r : i) | |
} catch (a) { | |
return void t(a) | |
} | |
e(i) | |
} | |
} | |
var c = t("setImmediate"), | |
d = "pending", | |
p = "fulfilled", | |
h = "rejected", | |
f = "__slots$" + Math.random().toString(36).slice(2); | |
a.all = function(e) { | |
var t = this; | |
return new t(function(n, r) { | |
var o = [], | |
i = 0; | |
e.forEach(function(e, a) { | |
++i, t.resolve(e).then(function(e) { | |
o.hasOwnProperty(a) || (o[a] = e, --i || n(o)) | |
}, r) | |
}), i || n(o) | |
}) | |
}, a.race = function(e) { | |
var t = this; | |
return new t(function(n, r) { | |
e.forEach(function(e) { | |
t.resolve(e).then(n, r) | |
}) | |
}) | |
}, a.resolve = function(e) { | |
return e instanceof a && e.constructor === this ? e : new this(function(t) { | |
t(e) | |
}) | |
}, a.reject = function(e) { | |
return new this(function(t, n) { | |
n(e) | |
}) | |
}; | |
var m = a.prototype; | |
return m.then = function(e, t) { | |
var a, s, l = new this.constructor(function(e, t) { | |
a = e, s = t | |
}); | |
if ("function" != typeof a) throw new TypeError("Uncallable Promise resolve function"); | |
if ("function" != typeof s) throw new TypeError("Uncallable Promise reject function"); | |
(e === n || null === e) && (e = o), (t === n || null === t) && (t = i); | |
var f = r(this), | |
m = f.state; | |
return m === d ? (f.fulfillReactions.push(u(a, s, e)), f.rejectReactions.push(u(a, s, t))) : (m === p || m === h) && c(u(a, s, m === p ? e : t, f.result)), l | |
}, m["catch"] = function(e) { | |
return this.then(n, e) | |
}, m.toString = function() { | |
return "[object Promise]" | |
}, a | |
}(Function("return this")()) | |
}), __d("throwImmediate", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
throw e | |
} | |
function a(e) { | |
s(i, e) | |
} | |
var s = t("setImmediate"); | |
o.exports = a | |
}), __d("PublicPromise", [], function(e, t, n, r, o) { | |
function i() { | |
"use strict"; | |
this.$PublicPromise_aborted = !1, this.$PublicPromise_settled = !1, this.$PublicPromise_promise = new a(function(e, t) { | |
this.$PublicPromise_resolve = e, this.$PublicPromise_reject = t | |
}.bind(this)) | |
} | |
var a = t("Promise"); | |
i.prototype.getPromise = function() { | |
"use strict"; | |
return this.$PublicPromise_promise | |
}, i.prototype.resolve = function(e) { | |
"use strict"; | |
this.$PublicPromise_aborted || (this.$PublicPromise_settled = !0, this.$PublicPromise_resolve(e)) | |
}, i.prototype.reject = function(e) { | |
"use strict"; | |
this.$PublicPromise_aborted || (this.$PublicPromise_settled = !0, this.$PublicPromise_reject(e)) | |
}, i.prototype.then = function() { | |
"use strict"; | |
return a.prototype.then.apply(this.$PublicPromise_promise, arguments) | |
}, i.prototype.done = function() { | |
"use strict"; | |
return a.prototype.done.apply(this.$PublicPromise_promise, arguments) | |
}, i.prototype.abort = function() { | |
"use strict"; | |
this.$PublicPromise_aborted = !0 | |
}, i.prototype.isSettled = function() { | |
"use strict"; | |
return this.$PublicPromise_settled | |
}, i.prototype.isAborted = function() { | |
"use strict"; | |
return this.$PublicPromise_aborted | |
}, o.exports = i | |
}), __d("containsQueryRootCall", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
if (e.getName() !== t.getName() && !a(e, t)) return !1; | |
var n = e.getArgs(); | |
return t.getArgs().every(function(e) { | |
for (var t = 0; t < n.length; t++) | |
if (e.equals(n[t])) return !0; | |
return !1 | |
}) | |
} | |
function a(e, t) { | |
return "nodes" === e.getName() && "node" === t.getName() | |
} | |
o.exports = i | |
}), __d("extendArray", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
return Array.prototype.push.apply(e, t), e | |
} | |
o.exports = i | |
}), __d("fetchRQL", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
h.length || (h = [], p(a)); | |
var t = new u; | |
return h.push({ | |
query: e, | |
promise: t | |
}), t.getPromise() | |
} | |
function a() { | |
var e = l.instrumentAsync("fetchRQL.processPending"); | |
d(h.map(s.bind(null, e.stop))), h.length = 0 | |
} | |
function s(e, t) { | |
var n = t.query, | |
r = t.promise; | |
return new c(n.getQuery().getID(), n, function(t, n) { | |
n ? (e(), r.resolve({ | |
error: t, | |
response: n | |
})) : r.reject(t) | |
}) | |
} | |
var l = t("DliteProfiler"), | |
u = t("PublicPromise"), | |
c = t("RQLRequest"), | |
d = t("fetchBatchedRQL"), | |
p = t("setImmediate"), | |
h = []; | |
o.exports = i | |
}), __d("RQLRequest", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
this.$RQLRequest_name = e, this.$RQLRequest_query = t, this.$RQLRequest_callback = n | |
} | |
i.prototype.getName = function() { | |
return this.$RQLRequest_name | |
}, i.prototype.getQuery = function() { | |
return this.$RQLRequest_query | |
}, i.prototype.getCallback = function() { | |
return this.$RQLRequest_callback | |
}, o.exports = i | |
}), __d("fetchBatchedRQL", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t, n = {}; | |
e.forEach(function(e) { | |
var r = e.getQuery().getQuery(); | |
t = t || r.getQueryName(), n[e.getName()] = { | |
q: r.toString(), | |
ref_params: r.rootCall().getRefParams() | |
} | |
}); | |
var r = { | |
access_token: u.accessToken, | |
pretty: !!__DEV__, | |
flush: 1, | |
method: "GET", | |
batch_name: t, | |
queries: JSON.stringify(n) | |
}, | |
o = {}; | |
e.forEach(function(e) { | |
o[e.getName()] = e.getCallback() | |
}), a(r, o) | |
} | |
function a(e, t) { | |
function n() { | |
return a <= u.retryDelays.length | |
} | |
function r() { | |
var e = u.retryDelays[a - 1], | |
t = Date.now() - l; | |
setTimeout(p.guard(o, "fetchBatchedRQL:retryRequest"), e - t) | |
} | |
function o() { | |
a++, l = Date.now(); | |
var o = new _(u.graphBatchURI).setMethod("POST").setTransportBuilder(b).setTimeout(u.fetchTimeout).setRequestHeader("Content-Type", "application/x-www-form-urlencoded").setErrorHandler(function(e) { | |
n() && -1 !== C.indexOf(e.errorCode) ? (c.warn("HTTP error for fetchBatchedRQL, retrying. %s %s %s", e.errorType || "", e.errorCode || "", e.errorMsg || ""), r()) : w(t, function(t) { | |
t(y(e), null) | |
}) | |
}).setTimeoutHandler(function() { | |
n() ? (c.warn("HTTP timeout for fetchBatchedRQL, retrying."), r()) : w(t, function(e) { | |
e(new m, null) | |
}) | |
}), | |
d = 0, | |
p = function(e, n, r, o) { | |
i && (i.stop(), i = null); | |
var a; | |
try { | |
a = JSON.parse(e) | |
} catch (s) { | |
throw new f(S("JSON.parse(...) failed on: %s\nLengths: %s\nResponse:\n%s", e, JSON.stringify(o.lengths), o.rawText)) | |
} | |
if (r) { | |
if (a.error) throw y({ | |
errorType: a.error.type, | |
errorCode: a.error.code, | |
errorMsg: a.error.message | |
}); | |
(void 0 === a.successful_results || void 0 === a.skipped_results) && R(0, "fetchBatchedRQL(...): Result count is undefined, successful_results: %s skipped_results: %s", a.successful_results, a.skipped_results); | |
var l = a.successful_results + a.skipped_results; | |
l !== d && R(0, "fetchBatchedRQL(...): Expected a total of %s responses, parsed %s total responses.", l, d) | |
} else w(a, function(e, n) { | |
var r = null; | |
e.error && (r = new h(e.error)); | |
var o = e.response; | |
o && d++, t[n](r, o) | |
}) | |
}; | |
E(o, e, v(p, s)) | |
} | |
var i = d.logClientEvent("fetchBatchedRQL"), | |
a = 0, | |
l = 0; | |
o() | |
} | |
function s(e) { | |
return e.trim() | |
} | |
function l(e, t, n) { | |
e.setResponseHandler(n).setData(t).send() | |
} | |
var u = t("DliteAPIConfig"), | |
c = t("DliteLog"), | |
d = t("DliteLogger"), | |
p = t("ErrorUtils"), | |
h = t("GraphQLCodedError"), | |
f = t("RQLError"), | |
m = t("RQLTimeoutError"), | |
g = t("XHRHttpError"), | |
_ = t("XHRRequest"), | |
y = t("createRQLError"), | |
v = t("createChunkedResponseParser"), | |
S = t("ex"), | |
w = t("forEachObject"), | |
b = t("getCrossOriginTransport"), | |
R = t("invariant"), | |
C = [g.HTTP_TRANSPORT_ERROR, g.HTTP_SERVER_ERROR], | |
E = l; | |
__DEV__ && (i.mockSendRequest = function(e) { | |
E = e | |
}, i.unmockSendRequest = function() { | |
E = l | |
}), o.exports = i | |
}), __d("DliteAPIConfig", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModules").DliteAPIConfig; | |
o.exports = i | |
}), __d("GraphQLCodedError", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
this.name = "GraphQLCodedError", this.code = e.code, this.summary = e.summary, this.userMessage = e.description, this.debugInfo = e.debug_info, this.message = a(this.name + "(" + this.code + "): %s description: %s debug_info: %s", this.summary, this.userMessage, this.debugInfo), Error.captureStackTrace ? Error.captureStackTrace(this) : this.stack = (new Error).stack | |
} | |
var a = t("ex"); | |
for (var s in Error) Error.hasOwnProperty(s) && (i[s] = Error[s]); | |
var l = null === Error ? null : Error.prototype; | |
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = Error, o.exports = i | |
}), __d("RQLError", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
this.name = "RQLError", this.message = e, this.type = "mustfix", Error.captureStackTrace ? Error.captureStackTrace(this) : this.stack = (new Error).stack, __DEV__ && (this.message += " -- Check your console.log or slog!") | |
} | |
for (var a in Error) Error.hasOwnProperty(a) && (i[a] = Error[a]); | |
var s = null === Error ? null : Error.prototype; | |
i.prototype = Object.create(s), i.prototype.constructor = i, i.__superConstructor__ = Error, o.exports = i | |
}), __d("RQLTimeoutError", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.name = "RQLTimeoutError", this.message = "Request timed out", this.type = "warn" | |
} | |
var a = t("RQLError"); | |
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]); | |
var l = null === a ? null : a.prototype; | |
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i | |
}), __d("XHRHttpError", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
if (0 === t) { | |
var n = e.getProtocol(); | |
return "file" === n || "ftp" === n ? null : u | |
} | |
return t >= 100 && 200 > t ? s : t >= 200 && 300 > t ? null : t >= 400 && 500 > t ? a : t >= 500 && 600 > t ? l : t >= 12001 && 12156 > t ? u : c | |
} | |
var a = "HTTP_CLIENT_ERROR", | |
s = "HTTP_PROXY_ERROR", | |
l = "HTTP_SERVER_ERROR", | |
u = "HTTP_TRANSPORT_ERROR", | |
c = "HTTP_UNKNOWN_ERROR"; | |
o.exports = { | |
getErrorCode: i, | |
HTTP_CLIENT_ERROR: a, | |
HTTP_PROXY_ERROR: s, | |
HTTP_SERVER_ERROR: l, | |
HTTP_TRANSPORT_ERROR: u, | |
HTTP_UNKNOWN_ERROR: c | |
} | |
}), __d("XHRRequest", [], function(e, t, n, r, o) { | |
function i(e) { | |
"use strict"; | |
this.setURI(e), this.setMethod("POST"), this.setIsAsynchronous(!0), this.setTransportBuilder(u), this.setDataSerializer(d), this.$XHRRequest_onreadystatechange = this.$XHRRequest_onreadystatechange.bind(this) | |
} | |
var a = t("ErrorUtils"), | |
s = t("URI"), | |
l = t("XHRHttpError"), | |
u = t("getSameOriginTransport"), | |
c = t("invariant"), | |
d = t("xhrSimpleDataSerializer"), | |
p = { | |
errorCode: null, | |
errorMsg: null, | |
errorType: null | |
}, | |
h = { | |
loadedBytes: null, | |
totalBytes: null | |
}; | |
i.prototype.setURI = function(e) { | |
"use strict"; | |
return this.$XHRRequest_uri = new s(e), this | |
}, i.prototype.getURI = function() { | |
"use strict"; | |
return this.$XHRRequest_uri | |
}, i.prototype.setMethod = function(e) { | |
"use strict"; | |
return this.$XHRRequest_method = e, this | |
}, i.prototype.getMethod = function() { | |
"use strict"; | |
return this.$XHRRequest_method | |
}, i.prototype.setData = function(e) { | |
"use strict"; | |
return this.$XHRRequest_data = e, this | |
}, i.prototype.getData = function() { | |
"use strict"; | |
return this.$XHRRequest_data | |
}, i.prototype.setRawData = function(e) { | |
"use strict"; | |
return this.$XHRRequest_rawData = e, this | |
}, i.prototype.setRequestHeader = function(e, t) { | |
"use strict"; | |
return this.$XHRRequest_headers || (this.$XHRRequest_headers = {}), this.$XHRRequest_headers[e] = t, this | |
}, i.prototype.setTimeout = function(e) { | |
"use strict"; | |
return this.$XHRRequest_timeout = e, this | |
}, i.prototype.setResponseHandler = function(e) { | |
"use strict"; | |
return this.$XHRRequest_responseHandler = e, this | |
}, i.prototype.setErrorHandler = function(e) { | |
"use strict"; | |
return this.$XHRRequest_errorHandler = e, this | |
}, i.prototype.setAbortHandler = function(e) { | |
"use strict"; | |
return this.$XHRRequest_abortHandler = e, this | |
}, i.prototype.setTimeoutHandler = function(e) { | |
"use strict"; | |
return this.$XHRRequest_timeoutHandler = e, this | |
}, i.prototype.setUploadProgressHandler = function(e) { | |
"use strict"; | |
return this.$XHRRequest_uploadProgressHandler = e, this | |
}, i.prototype.setIsAsynchronous = function(e) { | |
"use strict"; | |
return this.$XHRRequest_isAsynchronous = e, this | |
}, i.prototype.setTransportBuilder = function(e) { | |
"use strict"; | |
return this.$XHRRequest_transportBuilder = e, this | |
}, i.prototype.setDataSerializer = function(e) { | |
"use strict"; | |
return this.$XHRRequest_dataSerializer = e, this | |
}, i.prototype.send = function() { | |
"use strict"; | |
var e = this.$XHRRequest_timeout, | |
t = this.$XHRRequest_transportBuilder(), | |
n = this.getURI(); | |
this.$XHRRequest_pendingTransport = t; | |
var r; | |
if ("POST" !== this.$XHRRequest_method && this.$XHRRequest_rawData && c(0, "Must send raw data on post. Data: %s URI: %s", this.$XHRRequest_rawData, n), "GET" === this.$XHRRequest_method || this.$XHRRequest_rawData ? (n.addQueryData(this.$XHRRequest_data), r = this.$XHRRequest_rawData) : r = this.$XHRRequest_dataSerializer(this.$XHRRequest_data), t.onreadystatechange = this.$XHRRequest_onreadystatechange, t.upload && this.$XHRRequest_uploadProgressHandler && (t.upload.onprogress = this.$XHRRequest_onuploadprogress.bind(this)), e && (this.$XHRRequest_timeoutTimer = setTimeout(this.$XHRRequest_ontimeout.bind(this), e)), t.open(this.$XHRRequest_method, n.toString(), this.$XHRRequest_isAsynchronous), this.$XHRRequest_headers) | |
for (var o in this.$XHRRequest_headers) t.setRequestHeader(o, this.$XHRRequest_headers[o]); | |
t.send(r), this.$XHRRequest_isAsynchronous || t.onreadystatechange(null, !0) | |
}, i.prototype.abort = function() { | |
"use strict"; | |
this.$XHRRequest_abort(), this.$XHRRequest_abortHandler && a.applyWithGuard(this.$XHRRequest_abortHandler, null, null, null, "XHRRequest:_abortHandler") | |
}, i.prototype.$XHRRequest_abort = function() { | |
"use strict"; | |
var e = this.$XHRRequest_pendingTransport; | |
e && (e.onreadystatechange = null, e.abort()), this.$XHRRequest_cleanup() | |
}, i.prototype.$XHRRequest_ontimeout = function() { | |
"use strict"; | |
this.$XHRRequest_abort(), this.$XHRRequest_timeoutHandler && a.applyWithGuard(this.$XHRRequest_timeoutHandler, null, null, null, "XHRRequest:_abortHandler") | |
}, i.prototype.$XHRRequest_onreadystatechange = function(e, t) { | |
"use strict"; | |
if (this.$XHRRequest_isAsynchronous || t === !0) { | |
var n = this.$XHRRequest_pendingTransport, | |
r = n, | |
o = r.readyState; | |
if (o >= 2) { | |
var i = 4 === o, | |
s = this.getURI(), | |
u = l.getErrorCode(s, n.status), | |
c = this.$XHRRequest_responseHandler; | |
if (null !== u) i && (p.errorCode = u, p.errorMsg = n.responseText, p.errorType = "HTTP", this.$XHRRequest_errorHandler && a.applyWithGuard(this.$XHRRequest_errorHandler, null, [p], null, "XHRRequest:_errorHandler")); | |
else if (c) { | |
var d = null; | |
c.includeHeaders && (d = n.getAllResponseHeaders()), (i || c.parseStreaming && 3 === o) && a.applyWithGuard(c, null, [n.responseText, d, i], null, "XHRRequest:handler") | |
} | |
i && this.$XHRRequest_cleanup() | |
} | |
} | |
}, i.prototype.$XHRRequest_onuploadprogress = function(e) { | |
"use strict"; | |
h.loadedBytes = e.loaded, h.totalBytes = e.total, this.$XHRRequest_uploadProgressHandler && a.applyWithGuard(this.$XHRRequest_uploadProgressHandler, null, [h], null, "XHRRequest:_uploadProgressHandler") | |
}, i.prototype.$XHRRequest_cleanup = function() { | |
"use strict"; | |
clearTimeout(this.$XHRRequest_timeoutTimer), delete this.$XHRRequest_pendingTransport | |
}, o.exports = i | |
}), __d("getSameOriginTransport", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
return new a | |
} | |
var a = t("RKXMLHttpRequest"); | |
o.exports = i | |
}), __d("xhrSimpleDataSerializer", [], function(e, t, n, r, o) { | |
function i(e) { | |
var t, n = []; | |
for (t in e) n.push(encodeURIComponent(t) + "=" + encodeURIComponent(e[t])); | |
return n.join("&") | |
} | |
o.exports = i | |
}), __d("createRQLError", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n = e.errorCode === a.HTTP_CLIENT_ERROR, | |
r = e.errorCode === a.HTTP_TRANSPORT_ERROR; | |
return t = t || c("HTTP error: %s %s: %s", e.errorType, e.errorCode, e.errorMsg), r ? new u(t) : n && /OAuthException/.test(e.errorMsg || "") ? new l(t) : new s(t) | |
} | |
var a = t("XHRHttpError"), | |
s = t("RQLError"), | |
l = t("RQLOAuthError"), | |
u = t("RQLTransportError"), | |
c = t("ex"); | |
o.exports = i | |
}), __d("RQLOAuthError", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
this.message = "OAuth Exception", this.name = "RQLOAuthError", this.type = "mustfix" | |
} | |
var a = t("RQLError"); | |
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]); | |
var l = null === a ? null : a.prototype; | |
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i | |
}), __d("RQLTransportError", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
this.name = "RQLTransportError", this.message = e, this.type = "warn" | |
} | |
var a = t("RQLError"); | |
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]); | |
var l = null === a ? null : a.prototype; | |
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i | |
}), __d("createChunkedResponseParser", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n = 0, | |
r = { | |
lengths: [], | |
rawText: "" | |
}, | |
o = function(o, i, u) { | |
if (r.rawText = o, r.lengths.push(o.length), t && (o = t(o), null != o && "string" != typeof o && a(0, "createChunkedResponseParser: Filtered response must be a ?string")), o) | |
for (var c = o.length; c > n;) { | |
var d = o.indexOf(s, n); | |
if (0 > d) { | |
if (!u) break; | |
d = c | |
} | |
var p = o.slice(n, d); | |
n += p.length + l, e(p, i, u && n >= c, r) | |
} else u && e("", i, !0, r) | |
}; | |
return o.parseStreaming = !0, o | |
} | |
var a = t("invariant"), | |
s = "\r\n", | |
l = 2; | |
o.exports = i | |
}), __d("getCrossOriginTransport", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
return new a | |
} | |
var a = t("RKXMLHttpRequest"); | |
o.exports = i | |
}), __d("splitDeferredQueries", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = e.getQuery(), | |
n = t.getID(), | |
r = null, | |
o = a(t), | |
i = o.required, | |
u = o.deferredFields, | |
c = o.deferredFragments, | |
p = o.deferredQueries; | |
r = i === t ? [e] : i ? [new d.QueryWithValues(i)] : []; | |
for (var h = 0; h < u.length; h++) r.push(l(t, u[h], null)); | |
for (var f = 0; f < c.length; f++) c[f].hasFields() && r.push(l(t, null, c[f])); | |
for (var m = 0; m < p.length; m++) r.push(s(n, p[m])); | |
return r | |
} | |
function a(e) { | |
var t, n, r = null, | |
o = null, | |
i = null, | |
s = null, | |
l = null, | |
p = null, | |
f = u(e), | |
m = e.getOwnFields(); | |
for (t = 0; t < m.length; t++) { | |
var g = m[t]; | |
for (p = a(g), (r || p.required !== g) && (r = r || m.slice(0, t), p.required && r.push(p.required)), n = 0; n < p.deferredFields.length; n++) i = i || [], i.push(g.shallowClone([p.deferredFields[n]], null)); | |
for (n = 0; n < p.deferredFragments.length; n++) i = i || [], i.push(g.shallowClone(null, [p.deferredFragments[n]])); | |
for (n = 0; n < p.deferredQueries.length; n++) l = l || [], l.push(p.deferredQueries[n]) | |
} | |
if (e instanceof d.Field && l) | |
for (t = 0; t < l.length; t++) l[t].path.unshift(c(e)); | |
var _ = e.getFragments(); | |
for (t = 0; t < _.length; t++) { | |
var y = _[t]; | |
if (y.isDeferred()) { | |
if (f) { | |
var v = e.getInferredPrimaryKey(); | |
l = l || [], l.push({ | |
rootCallName: f, | |
path: [c(e), v], | |
fields: e.getOwnUnaliasedFields(v), | |
fragments: [y.shallowClone(y.getOwnFields(), y.getFragments())] | |
}) | |
} else s = s || [], s.push(y); | |
o = o || _.slice(0, t) | |
} else { | |
for (p = a(y), (o || p.required !== y) && (o = o || _.slice(0, t), p.required && o.push(p.required)), n = 0; n < p.deferredFields.length; n++) s = s || [], s.push(y.shallowClone([p.deferredFields[n]], null)); | |
for (n = 0; n < p.deferredFragments.length; n++) f ? (l = l || [], l.push({ | |
rootCallName: f, | |
path: [c(e), e.getInferredPrimaryKey()], | |
fields: h, | |
fragments: [y.shallowClone(null, [p.deferredFragments[n]])] | |
})) : (s = s || [], s.push(y.shallowClone(null, [p.deferredFragments[n]]))); | |
for (n = 0; n < p.deferredQueries.length; n++) l = l || [], l.push(p.deferredQueries[n]) | |
} | |
} | |
var S; | |
return S = r || o ? 0 === (r || m).length && 0 === (o || _).length ? null : e instanceof d.Query ? e.shallowCloneWithSameID(r || m, o || _) : e.shallowClone(r || m, o || _) : e, { | |
required: S, | |
deferredFields: i || h, | |
deferredFragments: s || h, | |
deferredQueries: l || h | |
} | |
} | |
function s(e, t) { | |
return new d.QueryWithValues(new d.Query(t.rootCallName, [new d.BatchCallVariable(e, "$.*." + t.path.join("."))], t.fields, t.fragments, { | |
isDeferred: !0 | |
}, null)) | |
} | |
function l(e, t, n) { | |
var r = e.getOwnUnaliasedFields("id"), | |
o = null; | |
if (n) { | |
var i = Object.keys(n.getDeferredFragmentNames()); | |
1 !== i.length && p(0, "Only one fragment should be returned"), o = i[0] | |
} | |
return o = o || e.getQueryName() + "_defer", new d.QueryWithValues(e.shallowClone(t ? r.concat(t) : r, n ? [n] : null, { | |
isDeferred: !0 | |
}, o)) | |
} | |
function u(e) { | |
return e instanceof d.Field ? e.getInferredRootCallName() : null | |
} | |
function c(e) { | |
return (e.getAlias() || e.getFieldName()) + (e.isPlural() ? ".*" : "") | |
} | |
var d = t("GraphQL_EXPERIMENTAL"), | |
p = t("invariant"), | |
h = []; | |
o.exports = i | |
}), __d("subtractQuery", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
var n = e.getQuery(), | |
r = t.getQuery(), | |
o = a(n, [r]); | |
return o === n ? e : o ? new f.QueryWithValues(o) : null | |
} | |
function a(e, t) { | |
var n, r = e.getOwnFields(), | |
o = s(r, function(e) { | |
return "id" === e.getFieldName() ? (n = e, e) : l(e, t) | |
}); | |
o && 1 === o.length && o[0] === n && (o = null); | |
var i = e.getFragments(), | |
u = s(i, function(e) { | |
return a(e, t) | |
}); | |
return r === o && i === u ? e : o && 0 !== o.length || u && 0 !== u.length ? e.shallowClone(o, u) : null | |
} | |
function s(e, t) { | |
if (0 === e.length) return e; | |
var n = null; | |
return e.forEach(function(r, o) { | |
var i = t(r); | |
i !== r && (n = n || e.slice(0, o)), null !== n && null !== i && n.push(i) | |
}), n ? 0 === n.length ? null : n : e | |
} | |
function l(e, t) { | |
var n = e.getFieldName(); | |
if (e.hasOwnFields() || e.getFragments().length) { | |
var r; | |
if (t.forEach(function(t) { | |
u(t, n, function(t) { | |
d(e, t) && (r = r || [], r.push(t)) | |
}) | |
}), r) return a(e, r) | |
} else { | |
var o = t.some(function(t) { | |
return c(t, n, function(t) { | |
return d(e, t) | |
}) | |
}); | |
if (o) return null | |
} | |
return e | |
} | |
function u(e, t, n) { | |
c(e, t, function() { | |
n.apply(this, arguments) | |
}) | |
} | |
function c(e, t, n) { | |
for (var r, o = [e]; r = o.shift();) { | |
if (r.getOwnUnaliasedFields(t).some(n)) return !0; | |
m.apply(o, r.getFragments()) | |
} | |
return !1 | |
} | |
function d(e, t) { | |
var n = e.getCalls(), | |
r = t.getCalls(), | |
o = n.length; | |
if (o !== r.length) return !1; | |
if (o) | |
for (var i = e.isConnection() ? p : h, a = 0; o > a; a++) { | |
var s = n[a], | |
l = r[a]; | |
if (s.getName() !== l.getName() || !i(s, l)) return !1 | |
} | |
return !0 | |
} | |
function p(e, t) { | |
var n = e.getName(); | |
return "first" === n || "last" === n ? e.getArgs()[0] <= t.getArgs()[0] : h(e, t) | |
} | |
function h(e, t) { | |
var n = e.getArgs(), | |
r = t.getArgs(), | |
o = n.length; | |
if (o !== r.length) return !1; | |
for (var i = 0; o > i; i++) | |
if (!n[i].equals(r[i])) return !1; | |
return !0 | |
} | |
var f = t("GraphQL_EXPERIMENTAL"), | |
m = Array.prototype.push; | |
o.exports = i | |
}), __d("ReactGraphQLComparators", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n, r) { | |
var o; | |
for (o in t) | |
if (!(r && !r.hasOwnProperty(o) || !t.hasOwnProperty(o) || n.hasOwnProperty(o) && e(t[o], n[o], o))) return !1; | |
for (o in n) | |
if ((!r || r.hasOwnProperty(o)) && n.hasOwnProperty(o) && !t.hasOwnProperty(o)) return !1; | |
return !0 | |
} | |
function a(e, t) { | |
return e === t && (null === e || "object" != typeof e) | |
} | |
function s(e, t, n) { | |
return n in l ? e === t : a(e, t) | |
} | |
var l = { | |
route: !0 | |
}, | |
u = { | |
Mixin: { | |
isStateEqualTo: function(e) { | |
return i(a, this.state, e) | |
}, | |
isContextEqualTo: function(e) { | |
return i(s, this.context, e) | |
}, | |
isDliteContextEqualTo: function(e) { | |
return i(s, this.context, e, l) | |
}, | |
arePropsEqualTo: function(e) { | |
return i(this._isPropEqual, this.props, e) | |
}, | |
areDlitePropsEqualTo: function(e) { | |
return i(this._isPropEqual, this.props, e, this.constructor.queries) | |
}, | |
_isPropEqual: function(e, t, n) { | |
return this.constructor.queries.hasOwnProperty(n) ? e === t : a(e, t) | |
} | |
} | |
}; | |
o.exports = u | |
}), __d("SubscriptionsHandler", [], function(e, t, n, r, o) { | |
function i(e) { | |
return e.remove || e.reset || e.unsubscribe | |
} | |
function a(e) { | |
var t = i(e); | |
t.call(e) | |
} | |
function s() { | |
"use strict"; | |
this._subscriptions = [] | |
} | |
var l = t("invariant"); | |
s.prototype.addSubscriptions = function() { | |
"use strict"; | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
e.forEach(function(e) { | |
var t = i(e); | |
t || l(0, "Subscription requires release function") | |
}), this._subscriptions ? this._subscriptions = this._subscriptions.concat(e) : e.forEach(a) | |
}, s.prototype.engage = function() { | |
"use strict"; | |
this._subscriptions = this._subscriptions || [] | |
}, s.prototype.release = function() { | |
"use strict"; | |
this._subscriptions && (this._subscriptions.forEach(a), this._subscriptions = null) | |
}, o.exports = s | |
}), __d("ReactDefaultPerf", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return Math.floor(100 * e) / 100 | |
} | |
function a(e, t, n) { | |
e[t] = (e[t] || 0) + n | |
} | |
var s = t("DOMProperty"), | |
l = t("ReactDefaultPerfAnalysis"), | |
u = t("ReactMount"), | |
c = t("ReactPerf"), | |
d = t("performanceNow"), | |
p = { | |
_allMeasurements: [], | |
_mountStack: [0], | |
_injected: !1, | |
start: function() { | |
p._injected || c.injection.injectMeasure(p.measure), p._allMeasurements.length = 0, c.enableMeasure = !0 | |
}, | |
stop: function() { | |
c.enableMeasure = !1 | |
}, | |
getLastMeasurements: function() { | |
return p._allMeasurements | |
}, | |
printExclusive: function(e) { | |
e = e || p._allMeasurements; | |
var t = l.getExclusiveSummary(e); | |
console.table(t.map(function(e) { | |
return { | |
"Component class name": e.componentName, | |
"Total inclusive time (ms)": i(e.inclusive), | |
"Exclusive mount time (ms)": i(e.exclusive), | |
"Exclusive render time (ms)": i(e.render), | |
"Mount time per instance (ms)": i(e.exclusive / e.count), | |
"Render time per instance (ms)": i(e.render / e.count), | |
Instances: e.count | |
} | |
})) | |
}, | |
printInclusive: function(e) { | |
e = e || p._allMeasurements; | |
var t = l.getInclusiveSummary(e); | |
console.table(t.map(function(e) { | |
return { | |
"Owner > component": e.componentName, | |
"Inclusive time (ms)": i(e.time), | |
Instances: e.count | |
} | |
})), console.log("Total time:", l.getTotalTime(e).toFixed(2) + " ms") | |
}, | |
getMeasurementsSummaryMap: function(e) { | |
var t = l.getInclusiveSummary(e, !0); | |
return t.map(function(e) { | |
return { | |
"Owner > component": e.componentName, | |
"Wasted time (ms)": e.time, | |
Instances: e.count | |
} | |
}) | |
}, | |
printWasted: function(e) { | |
e = e || p._allMeasurements, console.table(p.getMeasurementsSummaryMap(e)), console.log("Total time:", l.getTotalTime(e).toFixed(2) + " ms") | |
}, | |
printDOM: function(e) { | |
e = e || p._allMeasurements; | |
var t = l.getDOMSummary(e); | |
console.table(t.map(function(e) { | |
var t = {}; | |
return t[s.ID_ATTRIBUTE_NAME] = e.id, t.type = e.type, t.args = JSON.stringify(e.args), t | |
})), console.log("Total time:", l.getTotalTime(e).toFixed(2) + " ms") | |
}, | |
_recordWrite: function(e, t, n, r) { | |
var o = p._allMeasurements[p._allMeasurements.length - 1].writes; | |
o[e] = o[e] || [], o[e].push({ | |
type: t, | |
time: n, | |
args: r | |
}) | |
}, | |
measure: function(e, t, n) { | |
return function() { | |
for (var r = [], o = 0, i = arguments.length; i > o; o++) r.push(arguments[o]); | |
var s, l, c; | |
if ("_renderNewRootComponent" === t || "flushBatchedUpdates" === t) return p._allMeasurements.push({ | |
exclusive: {}, | |
inclusive: {}, | |
render: {}, | |
counts: {}, | |
writes: {}, | |
displayNames: {}, | |
totalTime: 0 | |
}), c = d(), l = n.apply(this, r), p._allMeasurements[p._allMeasurements.length - 1].totalTime = d() - c, l; | |
if ("ReactDOMIDOperations" === e || "ReactComponentBrowserEnvironment" === e) { | |
if (c = d(), l = n.apply(this, r), s = d() - c, "mountImageIntoNode" === t) { | |
var h = u.getID(r[1]); | |
p._recordWrite(h, t, s, r[0]) | |
} else "dangerouslyProcessChildrenUpdates" === t ? r[0].forEach(function(e) { | |
var t = {}; | |
null !== e.fromIndex && (t.fromIndex = e.fromIndex), null !== e.toIndex && (t.toIndex = e.toIndex), null !== e.textContent && (t.textContent = e.textContent), null !== e.markupIndex && (t.markup = r[1][e.markupIndex]), p._recordWrite(e.parentID, e.type, s, t) | |
}) : p._recordWrite(r[0], t, s, Array.prototype.slice.call(r, 1)); | |
return l | |
} | |
if ("ReactCompositeComponent" !== e || "mountComponent" !== t && "updateComponent" !== t && "_renderValidatedComponent" !== t) return n.apply(this, r); | |
var f = "mountComponent" === t ? r[0] : this._rootNodeID, | |
m = "_renderValidatedComponent" === t, | |
g = "mountComponent" === t, | |
_ = p._mountStack, | |
y = p._allMeasurements[p._allMeasurements.length - 1]; | |
if (m ? a(y.counts, f, 1) : g && _.push(0), c = d(), l = n.apply(this, r), s = d() - c, m) a(y.render, f, s); | |
else if (g) { | |
var v = _.pop(); | |
_[_.length - 1] += s, a(y.exclusive, f, s - v), a(y.inclusive, f, s) | |
} else a(y.inclusive, f, s); | |
return y.displayNames[f] = { | |
current: this.constructor.displayName, | |
owner: this._owner ? this._owner.constructor.displayName : "<root>" | |
}, l | |
} | |
} | |
}; | |
o.exports = p | |
}), __d("DOMProperty", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return (e & t) === t | |
} | |
var a = t("invariant"), | |
s = { | |
MUST_USE_ATTRIBUTE: 1, | |
MUST_USE_PROPERTY: 2, | |
HAS_SIDE_EFFECTS: 4, | |
HAS_BOOLEAN_VALUE: 8, | |
HAS_NUMERIC_VALUE: 16, | |
HAS_POSITIVE_NUMERIC_VALUE: 48, | |
HAS_OVERLOADED_BOOLEAN_VALUE: 64, | |
injectDOMPropertyConfig: function(e) { | |
var t = e.Properties || {}, | |
n = e.DOMAttributeNames || {}, | |
r = e.DOMPropertyNames || {}, | |
o = e.DOMMutationMethods || {}; | |
e.isCustomAttribute && u._isCustomAttributeFunctions.push(e.isCustomAttribute); | |
for (var l in t) { | |
u.isStandardName.hasOwnProperty(l) && a(0, "injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.", l), u.isStandardName[l] = !0; | |
var c = l.toLowerCase(); | |
if (u.getPossibleStandardName[c] = l, n.hasOwnProperty(l)) { | |
var d = n[l]; | |
u.getPossibleStandardName[d] = l, u.getAttributeName[l] = d | |
} else u.getAttributeName[l] = c; | |
u.getPropertyName[l] = r.hasOwnProperty(l) ? r[l] : l, u.getMutationMethod[l] = o.hasOwnProperty(l) ? o[l] : null; | |
var p = t[l]; | |
u.mustUseAttribute[l] = i(p, s.MUST_USE_ATTRIBUTE), u.mustUseProperty[l] = i(p, s.MUST_USE_PROPERTY), u.hasSideEffects[l] = i(p, s.HAS_SIDE_EFFECTS), u.hasBooleanValue[l] = i(p, s.HAS_BOOLEAN_VALUE), u.hasNumericValue[l] = i(p, s.HAS_NUMERIC_VALUE), u.hasPositiveNumericValue[l] = i(p, s.HAS_POSITIVE_NUMERIC_VALUE), u.hasOverloadedBooleanValue[l] = i(p, s.HAS_OVERLOADED_BOOLEAN_VALUE), u.mustUseAttribute[l] && u.mustUseProperty[l] && a(0, "DOMProperty: Cannot require using both attribute and property: %s", l), !u.mustUseProperty[l] && u.hasSideEffects[l] && a(0, "DOMProperty: Properties that have side effects must use property: %s", l), !!u.hasBooleanValue[l] + !!u.hasNumericValue[l] + !!u.hasOverloadedBooleanValue[l] <= 1 || a(0, "DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s", l) | |
} | |
} | |
}, | |
l = {}, | |
u = { | |
ID_ATTRIBUTE_NAME: "data-reactid", | |
isStandardName: {}, | |
getPossibleStandardName: {}, | |
getAttributeName: {}, | |
getPropertyName: {}, | |
getMutationMethod: {}, | |
mustUseAttribute: {}, | |
mustUseProperty: {}, | |
hasSideEffects: {}, | |
hasBooleanValue: {}, | |
hasNumericValue: {}, | |
hasPositiveNumericValue: {}, | |
hasOverloadedBooleanValue: {}, | |
_isCustomAttributeFunctions: [], | |
isCustomAttribute: function(e) { | |
for (var t = 0; t < u._isCustomAttributeFunctions.length; t++) { | |
var n = u._isCustomAttributeFunctions[t]; | |
if (n(e)) return !0 | |
} | |
return !1 | |
}, | |
getDefaultValueForProperty: function(e, t) { | |
var n, r = l[e]; | |
return r || (l[e] = r = {}), t in r || (n = document.createElement(e), r[t] = n[t]), r[t] | |
}, | |
injection: s | |
}; | |
o.exports = u | |
}), __d("ReactDefaultPerfAnalysis", [], function(e, t, n, r, o) { | |
function i(e) { | |
for (var t = 0, n = 0; n < e.length; n++) { | |
var r = e[n]; | |
t += r.totalTime | |
} | |
return t | |
} | |
function a(e) { | |
for (var t = [], n = 0; n < e.length; n++) { | |
var r, o = e[n]; | |
for (r in o.writes) o.writes[r].forEach(function(e) { | |
t.push({ | |
id: r, | |
type: d[e.type] || e.type, | |
args: e.args | |
}) | |
}) | |
} | |
return t | |
} | |
function s(e) { | |
for (var t, n = {}, r = 0; r < e.length; r++) { | |
var o = e[r], | |
i = Object.assign({}, o.exclusive, o.inclusive); | |
for (var a in i) t = o.displayNames[a].current, n[t] = n[t] || { | |
componentName: t, | |
inclusive: 0, | |
exclusive: 0, | |
render: 0, | |
count: 0 | |
}, o.render[a] && (n[t].render += o.render[a]), o.exclusive[a] && (n[t].exclusive += o.exclusive[a]), o.inclusive[a] && (n[t].inclusive += o.inclusive[a]), o.counts[a] && (n[t].count += o.counts[a]) | |
} | |
var s = []; | |
for (t in n) n[t].exclusive >= c && s.push(n[t]); | |
return s.sort(function(e, t) { | |
return t.exclusive - e.exclusive | |
}), s | |
} | |
function l(e, t) { | |
for (var n, r = {}, o = 0; o < e.length; o++) { | |
var i, a = e[o], | |
s = Object.assign({}, a.exclusive, a.inclusive); | |
t && (i = u(a)); | |
for (var l in s) | |
if (!t || i[l]) { | |
var d = a.displayNames[l]; | |
n = d.owner + " > " + d.current, r[n] = r[n] || { | |
componentName: n, | |
time: 0, | |
count: 0 | |
}, a.inclusive[l] && (r[n].time += a.inclusive[l]), a.counts[l] && (r[n].count += a.counts[l]) | |
} | |
} | |
var p = []; | |
for (n in r) r[n].time >= c && p.push(r[n]); | |
return p.sort(function(e, t) { | |
return t.time - e.time | |
}), p | |
} | |
function u(e) { | |
var t = {}, | |
n = Object.keys(e.writes), | |
r = Object.assign({}, e.exclusive, e.inclusive); | |
for (var o in r) { | |
for (var i = !1, a = 0; a < n.length; a++) | |
if (0 === n[a].indexOf(o)) { | |
i = !0; | |
break | |
}!i && e.counts[o] > 0 && (t[o] = !0) | |
} | |
return t | |
} | |
var c = 1.2, | |
d = { | |
mountImageIntoNode: "set innerHTML", | |
INSERT_MARKUP: "set innerHTML", | |
MOVE_EXISTING: "move", | |
REMOVE_NODE: "remove", | |
TEXT_CONTENT: "set textContent", | |
updatePropertyByID: "update attribute", | |
deletePropertyByID: "delete attribute", | |
updateStylesByID: "update styles", | |
updateInnerHTMLByID: "set innerHTML", | |
dangerouslyReplaceNodeWithMarkupByID: "replace" | |
}, | |
p = { | |
getExclusiveSummary: s, | |
getInclusiveSummary: l, | |
getDOMSummary: a, | |
getTotalTime: i | |
}; | |
o.exports = p | |
}), __d("ReactMount", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = R(e); | |
return t && G.getID(t) | |
} | |
function a(e) { | |
var t = s(e); | |
if (t) | |
if (P.hasOwnProperty(t)) { | |
var n = P[t]; | |
n !== e && (c(n, t) && E(0, "ReactMount: Two valid but unequal nodes with the same `%s`: %s", T, t), P[t] = e) | |
} else P[t] = e; | |
return t | |
} | |
function s(e) { | |
return e && e.getAttribute && e.getAttribute(T) || "" | |
} | |
function l(e, t) { | |
var n = s(e); | |
n !== t && delete P[n], e.setAttribute(T, t), P[t] = e | |
} | |
function u(e) { | |
return P.hasOwnProperty(e) && c(P[e], e) || (P[e] = G.findReactNodeByID(e)), P[e] | |
} | |
function c(e, t) { | |
if (e) { | |
s(e) !== t && E(0, "ReactMount: Unexpected modification of `%s`", T); | |
var n = G.findReactContainerForID(t); | |
if (n && w(n, e)) return !0 | |
} | |
return !1 | |
} | |
function d(e) { | |
delete P[e] | |
} | |
function p(e) { | |
var t = P[e]; | |
return t && c(t, e) ? void(N = t) : !1 | |
} | |
function h(e) { | |
N = null, v.traverseAncestors(e, p); | |
var t = N; | |
return N = null, t | |
} | |
var f = t("DOMProperty"), | |
m = t("ReactBrowserEventEmitter"), | |
g = t("ReactCurrentOwner"), | |
_ = t("ReactElement"), | |
y = t("ReactLegacyElement"), | |
v = t("ReactInstanceHandles"), | |
S = t("ReactPerf"), | |
w = t("containsNode"), | |
b = t("deprecated"), | |
R = t("getReactRootElementInContainer"), | |
C = t("instantiateReactComponent"), | |
E = t("invariant"), | |
D = t("shouldUpdateReactComponent"), | |
x = t("warning"), | |
F = y.wrapCreateElement(_.createElement), | |
I = v.SEPARATOR, | |
T = f.ID_ATTRIBUTE_NAME, | |
P = {}, | |
L = 1, | |
k = 9, | |
M = {}, | |
A = {}; | |
if (__DEV__) var Q = {}; | |
var O = [], | |
N = null, | |
G = { | |
_instancesByReactRootID: M, | |
scrollMonitor: function(e, t) { | |
t() | |
}, | |
_updateRootComponent: function(e, t, n, r) { | |
var o = t.props; | |
return G.scrollMonitor(n, function() { | |
e.replaceProps(o, r) | |
}), __DEV__ && (Q[i(n)] = R(n)), e | |
}, | |
_registerComponent: function(e, t) { | |
(!t || t.nodeType !== L && t.nodeType !== k) && E(0, "_registerComponent(...): Target container is not a DOM element."), m.ensureScrollValueMonitoring(); | |
var n = G.registerContainer(t); | |
return M[n] = e, n | |
}, | |
_renderNewRootComponent: S.measure("ReactMount", "_renderNewRootComponent", function(e, t, n) { | |
x(null == g.current, "_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."); | |
var r = C(e, null), | |
o = G._registerComponent(r, t); | |
return r.mountComponentIntoNode(o, t, n), __DEV__ && (Q[o] = R(t)), r | |
}), | |
render: function(e, t, n) { | |
_.isValidElement(e) || E(0, "renderComponent(): Invalid component element.%s", "string" == typeof e ? " Instead of passing an element string, make sure to instantiate it by passing it to React.createElement." : y.isValidFactory(e) ? " Instead of passing a component class, make sure to instantiate it by passing it to React.createElement." : "undefined" != typeof e.props ? " This may be caused by unintentionally loading two independent copies of React." : ""); | |
var r = M[i(t)]; | |
if (r) { | |
var o = r._currentElement; | |
if (D(o, e)) return G._updateRootComponent(r, e, t, n); | |
G.unmountComponentAtNode(t) | |
} | |
var a = R(t), | |
s = a && G.isRenderedByReact(a), | |
l = s && !r, | |
u = G._renderNewRootComponent(e, t, l); | |
return n && n.call(u), u | |
}, | |
constructAndRenderComponent: function(e, t, n) { | |
var r = F(e, t); | |
return G.render(r, n) | |
}, | |
constructAndRenderComponentByID: function(e, t, n) { | |
var r = document.getElementById(n); | |
return r || E(0, 'Tried to get element with id of "%s" but it is not present on the page.', n), G.constructAndRenderComponent(e, t, r) | |
}, | |
registerContainer: function(e) { | |
var t = i(e); | |
return t && (t = v.getReactRootIDFromNodeID(t)), t || (t = v.createReactRootID()), A[t] = e, t | |
}, | |
unmountComponentAtNode: function(e) { | |
x(null == g.current, "unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."); | |
var t = i(e), | |
n = M[t]; | |
return n ? (G.unmountComponentFromNode(n, e), delete M[t], delete A[t], __DEV__ && delete Q[t], !0) : !1 | |
}, | |
unmountComponentFromNode: function(e, t) { | |
for (e.unmountComponent(), t.nodeType === k && (t = t.documentElement); t.lastChild;) t.removeChild(t.lastChild) | |
}, | |
findReactContainerForID: function(e) { | |
var t = v.getReactRootIDFromNodeID(e), | |
n = A[t]; | |
if (__DEV__) { | |
var r = Q[t]; | |
if (r && r.parentNode !== n) { | |
s(r) !== t && E(0, "ReactMount: Root element ID differed from reactRootID."); | |
var o = n.firstChild; | |
o && t === s(o) ? Q[t] = o : console.warn("ReactMount: Root element has been removed from its original container. New container:", r.parentNode) | |
} | |
} | |
return n | |
}, | |
findReactNodeByID: function(e) { | |
var t = G.findReactContainerForID(e); | |
return G.findComponentRoot(t, e) | |
}, | |
isRenderedByReact: function(e) { | |
if (1 !== e.nodeType) return !1; | |
var t = G.getID(e); | |
return t ? t.charAt(0) === I : !1 | |
}, | |
getFirstReactDOM: function(e) { | |
for (var t = e; t && t.parentNode !== t;) { | |
if (G.isRenderedByReact(t)) return t; | |
t = t.parentNode | |
} | |
return null | |
}, | |
findComponentRoot: function(e, t) { | |
var n = O, | |
r = 0, | |
o = h(t) || e; | |
for (n[0] = o.firstChild, n.length = 1; r < n.length;) { | |
for (var i, a = n[r++]; a;) { | |
var s = G.getID(a); | |
s ? t === s ? i = a : v.isAncestorIDOf(s, t) && (n.length = r = 0, n.push(a.firstChild)) : n.push(a.firstChild), a = a.nextSibling | |
} | |
if (i) return n.length = 0, i | |
} | |
n.length = 0, E(0, "findComponentRoot(..., %s): Unable to find element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID `%s`.", t, G.getID(e)) | |
}, | |
getReactRootID: i, | |
getID: a, | |
setID: l, | |
getNode: u, | |
purgeID: d | |
}; | |
G.renderComponent = b("ReactMount", "renderComponent", "render", this, G.render), o.exports = G | |
}), __d("ReactBrowserEventEmitter", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return Object.prototype.hasOwnProperty.call(e, g) || (e[g] = f++, p[e[g]] = {}), p[e[g]] | |
} | |
var a = t("EventConstants"), | |
s = t("EventPluginHub"), | |
l = t("EventPluginRegistry"), | |
u = t("ReactEventEmitterMixin"), | |
c = t("ViewportMetrics"), | |
d = t("isEventSupported"), | |
p = {}, | |
h = !1, | |
f = 0, | |
m = { | |
topBlur: "blur", | |
topChange: "change", | |
topClick: "click", | |
topCompositionEnd: "compositionend", | |
topCompositionStart: "compositionstart", | |
topCompositionUpdate: "compositionupdate", | |
topContextMenu: "contextmenu", | |
topCopy: "copy", | |
topCut: "cut", | |
topDoubleClick: "dblclick", | |
topDrag: "drag", | |
topDragEnd: "dragend", | |
topDragEnter: "dragenter", | |
topDragExit: "dragexit", | |
topDragLeave: "dragleave", | |
topDragOver: "dragover", | |
topDragStart: "dragstart", | |
topDrop: "drop", | |
topFocus: "focus", | |
topInput: "input", | |
topKeyDown: "keydown", | |
topKeyPress: "keypress", | |
topKeyUp: "keyup", | |
topMouseDown: "mousedown", | |
topMouseMove: "mousemove", | |
topMouseOut: "mouseout", | |
topMouseOver: "mouseover", | |
topMouseUp: "mouseup", | |
topPaste: "paste", | |
topScroll: "scroll", | |
topSelectionChange: "selectionchange", | |
topTextInput: "textInput", | |
topTouchCancel: "touchcancel", | |
topTouchEnd: "touchend", | |
topTouchMove: "touchmove", | |
topTouchStart: "touchstart", | |
topWheel: "wheel" | |
}, | |
g = "_reactListenersID" + String(Math.random()).slice(2), | |
_ = Object.assign({}, u, { | |
ReactEventListener: null, | |
injection: { | |
injectReactEventListener: function(e) { | |
e.setHandleTopLevel(_.handleTopLevel), _.ReactEventListener = e | |
} | |
}, | |
setEnabled: function(e) { | |
_.ReactEventListener && _.ReactEventListener.setEnabled(e) | |
}, | |
isEnabled: function() { | |
return !(!_.ReactEventListener || !_.ReactEventListener.isEnabled()) | |
}, | |
listenTo: function(e, t) { | |
for (var n = t, r = i(n), o = l.registrationNameDependencies[e], s = a.topLevelTypes, u = 0, c = o.length; c > u; u++) { | |
var p = o[u]; | |
r.hasOwnProperty(p) && r[p] || (p === s.topWheel ? d("wheel") ? _.ReactEventListener.trapBubbledEvent(s.topWheel, "wheel", n) : d("mousewheel") ? _.ReactEventListener.trapBubbledEvent(s.topWheel, "mousewheel", n) : _.ReactEventListener.trapBubbledEvent(s.topWheel, "DOMMouseScroll", n) : p === s.topScroll ? d("scroll", !0) ? _.ReactEventListener.trapCapturedEvent(s.topScroll, "scroll", n) : _.ReactEventListener.trapBubbledEvent(s.topScroll, "scroll", _.ReactEventListener.WINDOW_HANDLE) : p === s.topFocus || p === s.topBlur ? (d("focus", !0) ? (_.ReactEventListener.trapCapturedEvent(s.topFocus, "focus", n), _.ReactEventListener.trapCapturedEvent(s.topBlur, "blur", n)) : d("focusin") && (_.ReactEventListener.trapBubbledEvent(s.topFocus, "focusin", n), _.ReactEventListener.trapBubbledEvent(s.topBlur, "focusout", n)), r[s.topBlur] = !0, r[s.topFocus] = !0) : m.hasOwnProperty(p) && _.ReactEventListener.trapBubbledEvent(p, m[p], n), r[p] = !0) | |
} | |
}, | |
trapBubbledEvent: function(e, t, n) { | |
return _.ReactEventListener.trapBubbledEvent(e, t, n) | |
}, | |
trapCapturedEvent: function(e, t, n) { | |
return _.ReactEventListener.trapCapturedEvent(e, t, n) | |
}, | |
ensureScrollValueMonitoring: function() { | |
if (!h) { | |
var e = c.refreshScrollValues; | |
_.ReactEventListener.monitorScrollValue(e), h = !0 | |
} | |
}, | |
eventNameDispatchConfigs: s.eventNameDispatchConfigs, | |
registrationNameModules: s.registrationNameModules, | |
putListener: s.putListener, | |
getListener: s.getListener, | |
deleteListener: s.deleteListener, | |
deleteAllListeners: s.deleteAllListeners | |
}); | |
o.exports = _ | |
}), __d("ViewportMetrics", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("getUnboundedScrollPosition"), | |
a = { | |
currentScrollLeft: 0, | |
currentScrollTop: 0, | |
refreshScrollValues: function() { | |
var e = i(window); | |
a.currentScrollLeft = e.x, a.currentScrollTop = e.y | |
} | |
}; | |
o.exports = a | |
}), __d("getUnboundedScrollPosition", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return e === window ? { | |
x: window.pageXOffset || document.documentElement.scrollLeft, | |
y: window.pageYOffset || document.documentElement.scrollTop | |
} : { | |
x: e.scrollLeft, | |
y: e.scrollTop | |
} | |
} | |
o.exports = i | |
}), __d("isEventSupported", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
if (!s.canUseDOM || t && !("addEventListener" in document)) return !1; | |
var n = "on" + e, | |
r = n in document; | |
if (!r) { | |
var o = document.createElement("div"); | |
o.setAttribute(n, "return;"), r = "function" == typeof o[n] | |
} | |
return !r && a && "wheel" === e && (r = document.implementation.hasFeature("Events.wheel", "3.0")), r | |
} | |
var a, s = t("ExecutionEnvironment"); | |
s.canUseDOM && (a = document.implementation && document.implementation.hasFeature && document.implementation.hasFeature("", "") !== !0), o.exports = i | |
}), __d("containsNode", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
return e && t ? e === t ? !0 : a(e) ? !1 : a(t) ? i(e, t.parentNode) : e.contains ? e.contains(t) : e.compareDocumentPosition ? !!(16 & e.compareDocumentPosition(t)) : !1 : !1 | |
} | |
var a = t("isTextNode"); | |
o.exports = i | |
}), __d("isTextNode", [], function(e, t, n, r, o) { | |
function i(e) { | |
return a(e) && 3 == e.nodeType | |
} | |
var a = t("isNode"); | |
o.exports = i | |
}), __d("getReactRootElementInContainer", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return e ? e.nodeType === a ? e.documentElement : e.firstChild : null | |
} | |
var a = 9; | |
o.exports = i | |
}), __d("GroupsFeedApp", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("DliteLoadingComponent"), | |
a = t("GroupRoute"), | |
s = t("React"), | |
l = t("THGroupView"), | |
u = t("View"); | |
t("THRoutingConfig").initialize(); | |
var c = s.createClass({ | |
displayName: "GroupsFeedApp", | |
render: function() { | |
var e = s.createElement(u, { | |
style: { | |
paddingTop: this.props.topInset | |
} | |
}, l.getFakeStoryView()); | |
return s.createElement(i, { | |
component: l, | |
route: new a(null, { | |
group: this.props.group | |
}), | |
loadingView: e, | |
refetchRoute: !0, | |
passProps: this.props | |
}) | |
} | |
}); | |
o.exports = c | |
}), __d("DliteLoadingComponent", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i, a = t("Dlite"), | |
s = t("FBSpinner"), | |
l = t("React"), | |
u = t("StyleSheet"), | |
c = t("StyleSheetPropType"), | |
d = t("TimerMixin"), | |
p = t("View"), | |
h = t("merge"), | |
f = t("performanceNow"), | |
m = 250, | |
g = u.create({ | |
spinner: { | |
alignItems: "center", | |
paddingTop: 200 | |
} | |
}), | |
_ = l.createClass({ | |
displayName: "DliteLoadingComponent", | |
mixins: [d], | |
propTypes: { | |
loadingView: l.PropTypes.component, | |
delayLoad: l.PropTypes.bool, | |
refetchRoute: l.PropTypes.bool, | |
onDataReady: l.PropTypes.func, | |
passProps: l.PropTypes.object, | |
style: c, | |
navigator: l.PropTypes.object, | |
navigationOperations: l.PropTypes.object | |
}, | |
getInitialState: function() { | |
return { | |
dataReady: !1 | |
} | |
}, | |
getDefaultProps: function() { | |
return { | |
loadingView: l.createElement(p, { | |
style: g.spinner | |
}, l.createElement(s, null)), | |
delayLoad: !1, | |
refetchRoute: !1 | |
} | |
}, | |
shouldComponentUpdate: function(e, t) { | |
return t.dataReady !== this.state.dataReady || e.style !== this.props.style || e.passProps !== this.props.passProps | |
}, | |
componentWillReceiveProps: function(e) { | |
this.props.route !== e.route && (this.setState({ | |
dataReady: !1 | |
}), this._loadData(e)) | |
}, | |
componentWillMount: function() { | |
this._loadData(this.props) | |
}, | |
_runQueries: function(e) { | |
var t = e.component, | |
n = { | |
refetch: e.refetchRoute | |
}; | |
i = f(), a.createAndExecuteQueries(t, e.route, n, { | |
onResolvable: e.refetchRoute ? this._onReceive.bind(this, e) : null, | |
onSuccess: this._onReceive.bind(this, e), | |
onFailure: function(t) { | |
return console.error("Error running query for " + e.route.getName() + ": ", t) | |
} | |
}) | |
}, | |
_onReceive: function(e) { | |
var t = e.route; | |
this.isMounted() && t === this.props.route ? this.setState({ | |
dataReady: !0 | |
}, this.props.onDataReady) : console.info("_loadData finished, but route has changed.", "initialRoute", t, "currentRoute", this.props.route) | |
}, | |
_loadData: function(e) { | |
e.delayLoad ? this.setTimeout(this._runQueries.bind(this, e), m) : this._runQueries(e) | |
}, | |
_forceUpdate: function(e) { | |
a.createAndExecuteQueries(this.props.component, this.props.route, { | |
refetch: !0 | |
}, e) | |
}, | |
getComponent: function() { | |
return this._component | |
}, | |
render: function() { | |
var e = this.props.component, | |
t = h({ | |
navigator: this.props.navigationOperations || this.props.navigator, | |
forceUpdate: this._forceUpdate | |
}, this.props.passProps), | |
n = function(e) { | |
this._component = e | |
}.bind(this), | |
r = this.state.dataReady ? a.createComponent(e, this.props.route, t, n) : this.props.loadingView; | |
return l.createElement(p, { | |
style: this.props.style | |
}, r) | |
} | |
}); | |
o.exports = _ | |
}), __d("Dlite", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
return f(t, function(t, n) { | |
var r = e + "." + n; | |
return function() { | |
var e = a.logClientEvent(r), | |
n = t.apply(this, arguments); | |
return e.stop(), n | |
} | |
}) | |
} | |
var a = t("DliteLogger"), | |
s = t("DliteRouter"), | |
l = t("DliteRoutingWrapper"), | |
u = t("GraphQLQueryRunner"), | |
c = t("GraphQLStore"), | |
d = t("React"), | |
p = t("extendArray"), | |
h = t("forEachObject"), | |
f = t("mapObject"), | |
m = t("splitDeferredQueries"), | |
g = { | |
createAndExecuteQueries: function(e, t, n, r) { | |
var o = g.createQueries(e, t); | |
return n.refetch ? u.forceFetch(o, r) : u.run(o, r) | |
}, | |
createQueries: function(e, t) { | |
return e.getQueriesForRoute(t) | |
}, | |
createComponent: function(e, t, n, r) { | |
return s.addRoute(t.constructor), Object.assign(n, f(g.createQueries(e, t), function(e) { | |
if (e) { | |
var t = c.resolvePointersForQuery(e), | |
n = Object.keys(t)[0]; | |
return t[n] | |
} | |
return null | |
})), d.createElement(l, { | |
route: t, | |
onRef: r, | |
childFactory: function() { | |
return d.createElement(e, Object.assign({}, n)) | |
} | |
}) | |
}, | |
createDeferredQueries: function(e, t) { | |
var n = []; | |
return h(e.getQueriesForRoute(t), function(e) { | |
e && p(n, m(e)) | |
}), n | |
}, | |
insertQueryResponses: function(e, t) { | |
h(e, function(e, n) { | |
c.handleUpdate(t[n], e) | |
}) | |
} | |
}; | |
o.exports = i("Dlite", g) | |
}), __d("DliteRoutingWrapper", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("DliteRoute"), | |
a = t("DliteRouteProvider"), | |
s = t("React"), | |
l = t("cloneWithProps"), | |
u = s.PropTypes, | |
c = s.createClass({ | |
displayName: "DliteRoutingWrapper", | |
mixins: [a.Mixin], | |
propTypes: { | |
route: u.instanceOf(i).isRequired, | |
childFactory: u.func.isRequired, | |
onRef: u.func | |
}, | |
componentDidMount: function() { | |
this.props.onRef && this.props.onRef(this.refs.root) | |
}, | |
componentWillUnmount: function() { | |
this.props.onRef && this.props.onRef(null) | |
}, | |
getDliteRoute: function() { | |
return this.props.route | |
}, | |
getWrappedComponent: function() { | |
return this.refs.root | |
}, | |
render: function() { | |
return l(this.props.childFactory(), { | |
ref: "root" | |
}) | |
} | |
}); | |
o.exports = c | |
}), __d("DliteRouteProvider", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("DliteRoute"), | |
a = t("React"), | |
s = t("invariant"), | |
l = a.PropTypes, | |
u = { | |
Mixin: { | |
childContextTypes: { | |
route: l.instanceOf(i).isRequired | |
}, | |
getChildContext: function() { | |
return "function" != typeof this.getDliteRoute && s(0, "DliteRouteProvider mixin requires getDliteRoute to be implemented"), { | |
route: this.getDliteRoute() | |
} | |
} | |
} | |
}; | |
o.exports = u | |
}), __d("cloneWithProps", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
__DEV__ && u(!e.ref, "You are calling cloneWithProps() on a child with a ref. This is dangerous because you're creating a new child which will not be added as a ref to its parent."); | |
var n = s.mergeProps(t, e.props); | |
return !n.hasOwnProperty(c) && e.props.hasOwnProperty(c) && (n.children = e.props.children), a.createElement(e.type, n) | |
} | |
var a = t("ReactElement"), | |
s = t("ReactPropTransferer"), | |
l = t("keyOf"), | |
u = t("warning"), | |
c = l({ | |
children: null | |
}); | |
o.exports = i | |
}), __d("FBSpinner", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeMethodsMixin"), | |
a = t("React"), | |
s = t("ReactIOSViewAttributes"), | |
l = t("StyleSheet"), | |
u = t("View"), | |
c = t("createReactIOSNativeComponentClass"), | |
d = t("keyMirror"), | |
p = d({ | |
large: null, | |
small: null | |
}), | |
h = a.createClass({ | |
displayName: "FBSpinner", | |
propTypes: { | |
size: a.PropTypes.oneOf(Object.keys(p)) | |
}, | |
statics: { | |
LARGE: p.large, | |
SMALL: p.small | |
}, | |
mixins: [i], | |
viewConfig: { | |
uiViewClassName: "FBActivityIndicatorView", | |
validAttributes: s.UIView | |
}, | |
getDefaultProps: function() { | |
return { | |
size: p.small | |
} | |
}, | |
render: function() { | |
return a.createElement(u, { | |
style: [f.container, this.props.style] | |
}, a.createElement(g, { | |
style: [m[this.props.size], f.transparent] | |
})) | |
} | |
}), | |
f = l.create({ | |
container: { | |
alignItems: "center", | |
justifyContent: "center" | |
}, | |
transparent: { | |
backgroundColor: "transparent" | |
}, | |
sizeSmall: { | |
height: 20, | |
width: 20 | |
}, | |
sizeLarge: { | |
height: 36, | |
width: 36 | |
} | |
}), | |
m = {}; | |
m[p.large] = f.sizeLarge, m[p.small] = f.sizeSmall; | |
var g = c({ | |
validAttributes: s.UIView, | |
uiViewClassName: "FBActivityIndicatorView" | |
}); | |
o.exports = h | |
}), __d("StyleSheet", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() {} | |
var a = t("ImageStylePropTypes"), | |
s = t("ReactPropTypeLocations"), | |
l = t("StyleSheetRegistry"), | |
u = t("TextStylePropTypes"), | |
c = t("ViewStylePropTypes"), | |
d = t("invariant"), | |
p = {}, | |
h = function(e, t, n, r) { | |
d(0, e + "\n" + (n || "<<unknown>>") + ": " + JSON.stringify(t, null, " ") + (r || "")) | |
}; | |
i.create = function(e) { | |
var t = {}; | |
for (var n in e) i.validateStyle(n, e), t[n] = l.registerStyle(e[n]); | |
return t | |
}, i.validateStyleProp = function(e, t, n) { | |
if (__DEV__) { | |
if (void 0 === p[e]) { | |
var r = '"' + e + '" is not a valid style property.', | |
o = "\nValid style props: " + JSON.stringify(Object.keys(p), null, " "); | |
h(r, t, n, o) | |
} | |
var i = p[e](t, e, n, s.prop); | |
i && h(i.message, t, n) | |
} | |
}, i.validateStyle = function(e, t) { | |
if (__DEV__) | |
for (var n in t[e]) i.validateStyleProp(n, t[e], "StyleSheet " + e) | |
}, i.addValidStylePropTypes = function(e) { | |
for (var t in e) void 0 !== p[t] && p[t] !== e[t] && d(0, 'Attemped to redefine existing style prop type "' + t + '".'), p[t] = e[t] | |
}, i.addValidStylePropTypes(a), i.addValidStylePropTypes(u), i.addValidStylePropTypes(c), o.exports = i | |
}), __d("ImageStylePropTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ImageResizeMode"), | |
a = t("LayoutPropTypes"), | |
s = t("ReactPropTypes"), | |
l = t("merge"), | |
u = l(a, { | |
resizeMode: s.oneOf(Object.keys(i)), | |
backgroundColor: s.string, | |
borderColor: s.string, | |
borderWidth: s.number, | |
borderRadius: s.number, | |
opacity: s.number | |
}), | |
c = Object.keys({ | |
padding: null, | |
paddingTop: null, | |
paddingLeft: null, | |
paddingRight: null, | |
paddingBottom: null, | |
paddingVertical: null, | |
paddingHorizontal: null | |
}); | |
for (var d in c) delete u[d]; | |
o.exports = u | |
}), __d("ImageResizeMode", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("keyMirror"), | |
a = i({ | |
contain: null, | |
cover: null, | |
stretch: null | |
}); | |
o.exports = a | |
}), __d("View", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeMethodsMixin"), | |
a = t("NativeModules"), | |
s = t("ReactPropTypes"), | |
l = t("React"), | |
u = t("ReactIOSViewAttributes"), | |
c = t("StyleSheetPropType"), | |
d = t("ViewStylePropTypes"), | |
p = a.RKUIManager.StyleConstants, | |
h = t("createReactIOSNativeComponentClass"), | |
f = { | |
height: 0 | |
}, | |
m = c(d), | |
g = l.createClass({ | |
displayName: "View", | |
mixins: [i], | |
viewConfig: { | |
uiViewClassName: "RKView", | |
validAttributes: u.RKView | |
}, | |
propTypes: { | |
style: m, | |
notActuallyTapDontUseMe: s.func, | |
accessible: s.bool, | |
testID: s.string, | |
onTouchStart: s.func, | |
onTouchMove: s.func, | |
onTouchEnd: s.func, | |
onResponderGrant: s.func, | |
onResponderReject: s.func, | |
onResponderMove: s.func, | |
onResponderRelease: s.func, | |
onResponderTerminate: s.func, | |
onResponderTerminationRequest: s.func, | |
onMoveShouldSetResponder: s.func, | |
onStartShouldSetResponder: s.func, | |
onStartShouldSetResponderCapture: s.func, | |
onFocus: s.func, | |
onBlur: s.func, | |
pointerEvents: s.oneOf([p.PointerEventsValues.boxNone, p.PointerEventsValues.none, p.PointerEventsValues.boxOnly, p.PointerEventsValues.unspecified]) | |
}, | |
render: function() { | |
return l.createElement(_, Object.assign({}, this.props)) | |
} | |
}), | |
_ = h({ | |
validAttributes: u.RKView, | |
uiViewClassName: "RKView" | |
}), | |
y = _; | |
__DEV__ && (y = g), y.PointerEvents = p.PointerEventsValues, y.dummyView = function() { | |
return l.createElement(y, { | |
style: f | |
}) | |
}, y.stylePropType = m, o.exports = y | |
}), __d("StyleSheetPropType", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = a(e); | |
return function(e, n, r, o) { | |
var i = e; | |
return e[n] && (i = {}, i[n] = s(e[n])), t(i, n, r, o) | |
} | |
} | |
var a = t("createStrictShapeTypeChecker"), | |
s = t("flattenStyle"); | |
o.exports = i | |
}), __d("createStrictShapeTypeChecker", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
function t(t, n, r, o, i) { | |
if (!n[r]) return void(t && s(0, "Required object `" + r + "` was not specified in " + ("`" + o + "`."))); | |
var u = n[r], | |
c = typeof u, | |
d = a[i]; | |
"object" !== c && s(0, "Invalid " + d + " `" + r + "` of type `" + c + "` " + ("supplied to `" + o + "`, expected `object`.")); | |
var p = l(n[r], e); | |
for (var h in p) { | |
var f = e[h]; | |
f || s(0, "Invalid props." + r + " key `" + h + "` supplied to `" + o + "`.\nBad object: " + JSON.stringify(n[r], null, " ") + "\nValid keys: " + JSON.stringify(Object.keys(e), null, " ")); | |
var m = f(u, h, o, i); | |
if (m) return s(0, m.message + "\nBad object: " + JSON.stringify(n[r], null, " ")), m | |
} | |
} | |
var n = t.bind(null, !1); | |
return n.isRequired = t.bind(null, !0), n | |
} | |
var a = t("ReactPropTypeLocationNames"), | |
s = t("invariant"), | |
l = t("merge"); | |
o.exports = i | |
}), __d("TimerMixin", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = function(e, t, n) { | |
return function(r, o) { | |
var i = e(function() { | |
t.call(this, i), r.apply(this, arguments) | |
}.bind(this), o); | |
return this[n] ? this[n].push(i) : this[n] = [i], i | |
} | |
}, | |
a = function(e, t) { | |
return function(n) { | |
if (this[t]) { | |
var r = this[t].indexOf(n); - 1 !== r && this[t].splice(r, 1) | |
} | |
e(n) | |
} | |
}, | |
s = "TimerMixin_timeouts", | |
l = a(clearTimeout, s), | |
u = i(setTimeout, l, s), | |
c = "TimerMixin_intervals", | |
d = a(clearInterval, c), | |
p = i(setInterval, function() {}, c), | |
h = "TimerMixin_immediates", | |
f = a(clearImmediate, h), | |
m = i(setImmediate, f, h), | |
g = "TimerMixin_rafs", | |
_ = a(cancelAnimationFrame, g), | |
y = i(requestAnimationFrame, _, g), | |
v = { | |
componentWillUnmount: function() { | |
this[s] && this[s].forEach(this.clearTimeout.bind(this)), this[c] && this[c].forEach(this.clearInterval.bind(this)), this[h] && this[h].forEach(this.clearImmediate.bind(this)), this[g] && this[g].forEach(this.cancelAnimationFrame.bind(this)) | |
}, | |
setTimeout: u, | |
clearTimeout: l, | |
setInterval: p, | |
clearInterval: d, | |
setImmediate: m, | |
clearImmediate: f, | |
requestAnimationFrame: y, | |
cancelAnimationFrame: _ | |
}; | |
o.exports = v | |
}), __d("GroupRoute", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("DliteRoute"), | |
a = i.create({ | |
name: "GroupRoute", | |
path: "/{group}", | |
paramDefinitions: { | |
group: { | |
type: "String", | |
required: !0 | |
} | |
}, | |
queries: { | |
group: function(e, t, n) { | |
return function(e, t) { | |
var r = n.__GraphQL; | |
return new r.Query("node", [n.__var(e)], [new r.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], [n.__frag(t)], null, "UnknownFile_group") | |
}(e, t) | |
} | |
} | |
}); | |
o.exports = a | |
}), __d("THGroupView", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("AnimationMixin"), | |
a = t("FBSpinner"), | |
s = t("FeedbackPoller"), | |
l = t("GraphQL_EXPERIMENTAL"), | |
u = t("GraphQLStore"), | |
c = t("Image"), | |
d = t("ImmutableMap"), | |
p = t("NativeModules"), | |
h = t("React"), | |
f = t("ReactGraphQL"), | |
m = t("RKDeviceEventEmitter"), | |
g = t("RKDimensions"), | |
_ = t("RKNativeAppEventEmitter"), | |
y = t("StyleSheet"), | |
v = t("Subscribable"), | |
S = t("TableView"), | |
w = t("Text"), | |
b = t("THColors"), | |
R = t("THDockedInputContainer"), | |
C = t("THFeedbackView"), | |
E = t("THFeedUnitView"), | |
D = t("TimerMixin"), | |
x = t("TouchableHighlight"), | |
F = t("View"), | |
I = (t("deepDiffer"), t("fbt")), | |
T = t("fetchRQL"), | |
P = t("format"), | |
L = t("invariant"), | |
k = t("isEmpty"), | |
M = t("ix"), | |
A = t("merge"), | |
Q = t("rql"), | |
O = t("uniqueKey"), | |
N = "docked_reply_container", | |
G = p.RKUIManager, | |
$ = p.RKTreehouseManager, | |
B = 70, | |
U = 36, | |
V = "gk_catalyst_th_live_update", | |
q = "th_group_comment_tti", | |
H = h.createClass({ | |
displayName: "THGroupView", | |
propTypes: { | |
navigator: h.PropTypes.object, | |
topInset: h.PropTypes.number, | |
bottomInset: h.PropTypes.number | |
}, | |
getDefaultProps: function() { | |
return { | |
topInset: 0, | |
bottomInset: 0 | |
} | |
}, | |
mixins: [f.Mixin, v.Mixin, i, D], | |
statics: { | |
queryParams: { | |
count: 5 | |
}, | |
queries: { | |
viewer: function(e, t) { | |
return function(e, n, r) { | |
var o = t.__GraphQL; | |
return new o.QueryFragment("UnknownFile_viewer", "Viewer", [new o.Field("__configs__", [new o.Field("edges", [new o.Field("node", [new o.Field("name"), new o.Field("enabled")])], null, null, null, null, { | |
plural: !0, | |
edgesID: "UnknownFile_viewer_1" | |
})], null, [new o.Callv("named", [t.__var(n)], { | |
varargs: 1 | |
})], null, null, { | |
connection: !0, | |
nonLimitable: !0, | |
nonFindable: !0 | |
})], [t.__frag(e), t.__frag(r)], { | |
scope: "UnknownFile_viewer" | |
}) | |
}(E.getQuery("viewer"), V, C.getQuery("viewerOptimisticPrefetch")) | |
}, | |
group: function(e, t, n) { | |
return function(e, n, r, o) { | |
var i = t.__GraphQL; | |
return new i.QueryFragment("UnknownFile_group", "Group", [new i.Field("id"), new i.Field("group_stories", [new i.Field("edges", [new i.Field("cursor", null, null, null, null, null, { | |
requisite: !0 | |
}), new i.Field("node", [new i.Field("id", null, null, null, null, null, { | |
requisite: !0 | |
}), new i.Field("feedback", [new i.Field("id", null, null, null, null, null, { | |
requisite: !0 | |
}), new i.Field("top_level_comments", [new i.Field("last_view_time"), new i.Field("unread_count")], null, null, "top_level_comment_counts", null, { | |
connection: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id" | |
}), new i.Field("creation_time")], [t.__frag(n)], null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
requisite: !0 | |
})], null, null, null, null, { | |
plural: !0, | |
edgesID: "UnknownFile_group_1" | |
}), new i.Field("page_info", [new i.Field("has_next_page", null, null, null, null, null, { | |
requisite: !0 | |
}), new i.Field("has_previous_page", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
requisite: !0 | |
})], null, [new i.Callv("first", [t.__var(e)])], null, null, { | |
connection: !0 | |
}), new i.Field("group_pinned_stories", [new i.Field("count"), new i.Field("edges", [new i.Field("node", [new i.Field("id", null, null, null, null, null, { | |
requisite: !0 | |
})], [t.__frag(r)], null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
requisite: !0 | |
}), new i.Field("cursor", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
plural: !0, | |
edgesID: "UnknownFile_group_2" | |
}), new i.Field("page_info", [new i.Field("has_next_page", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new i.Field("has_previous_page", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, [new i.Callv("first", ["1"])], null, null, { | |
connection: !0 | |
}), new i.Field("visibility"), new i.Field("viewer_join_state")], [t.__frag(o)], { | |
scope: "UnknownFile_group" | |
}) | |
}(n.count, E.getQuery("story"), E.getQuery("story"), E.getQuery("group")) | |
} | |
}, | |
navItemTitle: function() { | |
return "Group" | |
}, | |
getFakeStoryView: function() { | |
var e = g.get("window").width; | |
return h.createElement(F, { | |
style: W.backdrop | |
}, h.createElement(F, { | |
style: W.divider | |
}), h.createElement(F, { | |
style: W.grayPadding | |
}), h.createElement(F, { | |
style: W.divider | |
}), h.createElement(F, { | |
style: W.fakeStoryCell | |
}, h.createElement(F, { | |
style: W.fakeStoryHeader | |
}, h.createElement(F, { | |
style: W.fakeStoryProfilePicture | |
}), h.createElement(F, null, h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: 120, | |
marginBottom: 10 | |
}] | |
}), h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: 100 | |
}] | |
}))), h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: e - 60, | |
marginTop: 8 | |
}] | |
}), h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: e - 70 | |
}] | |
}), h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: e - 90 | |
}] | |
}), h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: e - 70 | |
}] | |
}), h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: e - 90 | |
}] | |
}), h.createElement(F, { | |
style: [W.fakeStoryTextBlock, { | |
width: e - 60 | |
}] | |
}))) | |
} | |
}, | |
getInitialState: function() { | |
return { | |
sectionData: d.create({ | |
pinnedPostSection: d.create({}), | |
storiesSection: d.create({}) | |
}), | |
submitCallback: null, | |
abortCallback: null, | |
keyboardHeight: 0, | |
tappedFeedUnitHandle: null, | |
tappedUnitKey: null, | |
permalinkContentInsets: null, | |
pinnedPostIsDisplayed: !1, | |
prevVisibleIndex: { | |
start: 0, | |
end: 0 | |
}, | |
rowAnimationType: "none", | |
initialInsertionComplete: !1, | |
contentInsets: { | |
top: this.props.topInset, | |
bottom: this.props.bottomInset | |
}, | |
olderPostsDividerKey: null | |
} | |
}, | |
viewForHeaderInSection: function() { | |
return F.dummyView() | |
}, | |
getAdjacentKeys: function(e, t) { | |
var n, r, o = {}; | |
for (var i in t) { | |
if (r) return o[i] = i, o; | |
i === e && (n && (o[n] = n), r = !0), n = i | |
} | |
return o | |
}, | |
clearPermalinkMode: function() { | |
if (this.refs[N].enableScrollResponderAutoInsets(!0), this.state.tappedUnitKey in this.state.sectionData.storiesSection) { | |
var e = this.state.sectionData.storiesSection, | |
t = this.getAdjacentKeys(this.state.tappedUnitKey, e); | |
t[this.state.tappedUnitKey] = this.state.tappedUnitKey; | |
var n = {}; | |
for (var r in t) n[r] = A(e[r], { | |
hideSeparator: !1, | |
hideAll: !1 | |
}); | |
this.setState({ | |
sectionData: d.set(this.state.sectionData, { | |
storiesSection: d.set(e, n) | |
}) | |
}) | |
} | |
this.setState({ | |
tappedFeedUnitHandle: null, | |
permalinkContentInsets: null, | |
tappedUnitKey: null | |
}) | |
}, | |
permalinkInsetsError: function(e) { | |
console.error("Error calculating insets for the permalink mode: ", e) | |
}, | |
onSetInsetFailure: function() { | |
console.error("Unable to set contentInsets when focusing story") | |
}, | |
viewForTableFooter: function() { | |
return this.props.group && "CLOSED" === this.props.group.visibility && "MEMBER" !== this.props.group.viewer_join_state ? h.createElement(F, { | |
style: W.nonMemberView | |
}, h.createElement(c, { | |
style: W.lockIcon, | |
source: M("thLockIcon") | |
}), h.createElement(F, { | |
style: W.nonMemberTextContainer | |
}, h.createElement(w, { | |
style: W.nonMemberText | |
}, I({ | |
type: "text", | |
texts: ["Only members can see posts"], | |
desc: "Explanation for why no group stories are shown" | |
})))) : this.props.group && this.props.group.group_stories && !this.props.group.group_stories.page_info.has_next_page ? h.createElement(F, { | |
style: W.tailLoadingIndicator | |
}, h.createElement(c, { | |
style: W.endDot, | |
source: M("newsfeedEnd") | |
})) : 0 === d.size(this.state.sectionData.storiesSection) ? H.getFakeStoryView() : h.createElement(F, { | |
style: W.tailLoadingIndicator | |
}, h.createElement(a, null)) | |
}, | |
cellForRowAtIndexPath: function(e, t) { | |
var n, r, o, i; | |
if ("pinnedPostSection" === e) { | |
var a = this.state.sectionData.pinnedPostSection[t]; | |
n = a.isBeingDisplayed ? h.createElement(E, { | |
onInputRequested: this.handleInputRequested, | |
story: a.node, | |
group: this.props.group, | |
viewer: this.props.viewer, | |
navigator: this.props.navigator, | |
key: t, | |
context: { | |
isGroupStream: !0 | |
}, | |
canCommentInline: !1 | |
}) : h.createElement(x, { | |
style: W.wrapper, | |
onPress: this.openPinnedPost | |
}, h.createElement(F, { | |
style: W.pinnedPostCell, | |
onPress: this.viewPinnedPost | |
}, h.createElement(w, { | |
style: W.pinnedPostText | |
}, I({ | |
type: "text", | |
texts: ["Show Pinned Post"], | |
desc: "Button to see the pinned post of a group" | |
})))) | |
} else if ("storiesSection" === e) { | |
var a = this.state.sectionData.storiesSection[t]; | |
a.hideAll ? o = W.hide : a.hideSeparator && (r = W.hide), a.node.id === this.state.olderPostsDividerKey && (i = h.createElement(F, { | |
style: [W.olderPostsHeader, r] | |
}, h.createElement(w, { | |
style: W.olderPostsText | |
}, I({ | |
type: "text", | |
texts: ["OLDER POSTS"], | |
desc: "Header for older group posts" | |
})))), n = h.createElement(E, { | |
onInputRequested: this.handleInputRequested, | |
story: a.node, | |
group: this.props.group, | |
viewer: this.props.viewer, | |
navigator: this.props.navigator, | |
key: t, | |
context: { | |
isGroupStream: !0 | |
}, | |
canCommentInline: !1 | |
}) | |
} | |
return h.createElement(F, { | |
style: [W.backdrop, o] | |
}, h.createElement(F, { | |
style: [W.divider, r] | |
}), h.createElement(F, { | |
style: [W.grayPadding, r] | |
}), i, h.createElement(F, { | |
style: [W.divider, r] | |
}), n) | |
}, | |
isStoryUnread: function(e) { | |
var t = e.node.feedback.top_level_comment_counts; | |
if (!t) return !1; | |
var n = t.last_view_time ? e.node.creation_time > t.last_view_time : !1; | |
return n || t.unread_count > 0 | |
}, | |
handleInputRequested: function(e, t, n) { | |
this.setState({ | |
submitCallback: t, | |
abortCallback: n, | |
tappedFeedUnitHandle: e.tappedFeedUnitHandle, | |
tappedUnitKey: O(e.tappedFeedUnitID) | |
}), this.refs[N].initiateDockedInput(e), $ && $.logEventWithDuration && this.requestAnimationFrame(function() { | |
var t = ((new Date).getTime() - e.tappedTime) / 1e3; | |
$.logEventWithDuration(q, t) | |
}) | |
}, | |
handleDidDock: function() { | |
this.enablePermalinkMode() | |
}, | |
enablePermalinkMode: function() { | |
this.state.tappedFeedUnitHandle && (this.refs[N].enableScrollResponderAutoInsets(!1), G.measureLayout(this.state.tappedFeedUnitHandle, this.refs[N].getScrollResponder().getNativeNode(), this.permalinkInsetsError, this.handleMeasureLayoutForPermalink)) | |
}, | |
handleMeasureLayoutForPermalink: function(e, t, n, r) { | |
var o = this.refs[N]; | |
G.getScrollViewContentSize(o.getScrollResponder().getNativeNode(), function(e) { | |
var n = o.getBarHeight() - o.getInitialBarHeight(), | |
i = this.state.keyboardHeight + n + r, | |
a = i + t - e.height, | |
s = g.get("modalFullscreenView").height, | |
l = B - t, | |
u = s - i - B; | |
if (u > 0 && (l += u), this.state.tappedFeedUnitHandle && !this.state.permalinkContentInsets) this.requestAnimationFrame(this.enablePermalinkMode); | |
else if (this.state.tappedUnitKey in this.state.sectionData.storiesSection) { | |
var c = this.state.sectionData.storiesSection, | |
p = this.getAdjacentKeys(this.state.tappedUnitKey, c), | |
h = {}; | |
for (var f in p) c[f].node || L(0, "Adjacent keys must have corresponding nodes."), h[f] = A(c[f], { | |
hideSeparator: !1, | |
hideAll: !0 | |
}); | |
h[this.state.tappedUnitKey] = A(c[this.state.tappedUnitKey], { | |
hideSeparator: !0, | |
hideAll: !1 | |
}), this.setState({ | |
sectionData: d.set(this.state.sectionData, { | |
storiesSection: d.set(c, h) | |
}) | |
}) | |
} | |
this.setState({ | |
permalinkContentInsets: { | |
top: l, | |
bottom: a | |
} | |
}) | |
}.bind(this), this.onSetInsetFailure) | |
}, | |
reloadFeedViewForGroup: function(e) { | |
this.props.group.id === e && this.props.forceUpdate({}) | |
}, | |
cancelComment: function() { | |
this.clearPermalinkMode(), this.refs[N].cancelDockedInput() | |
}, | |
handleDockedReplyBarHeightChange: function() { | |
this.enablePermalinkMode() | |
}, | |
handleConfirmedNewPost: function() { | |
var e = this.props.group.group_stories.edges[0].cursor, | |
t = H.getQueriesForRoute(this.context.route), | |
n = t.group.getQuery().getUnaliasedFields("group_stories")[0], | |
r = new l.QueryFragment("GroupStoriesFragment", "GroupStoriesConnection", n.getOwnFields(), n.getFragments()), | |
o = new l.QueryWithValues(function(e, t, n, r) { | |
var o = Q.__GraphQL; | |
return new o.Query("node", [Q.__var(e)], [new o.Field("group_stories", null, [Q.__frag(r)], [new o.Callv("before", [Q.__var(t)]), new o.Callv("first", [Q.__var(n)])], null, null, { | |
connection: !0 | |
}), new o.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, "UnknownFile_q0") | |
}(this.props.group.id, e, this.queryParams.count, r), {}); | |
T(o).then(function(e) { | |
if (e.errors && e.errors.length) console.error("Error from fetching new story: ", e.errors[0]); | |
else { | |
var t = e.response; | |
u.handleUpdate(t, o); | |
var n = t[this.props.group.id], | |
r = Object.keys(n), | |
i = n[r[0]].edges.length; | |
this.setQueryParams({ | |
count: this.queryParams.count + i | |
}) | |
} | |
}.bind(this)) | |
}, | |
handleVisibleCellsChange: function(e) { | |
var t = d.indexOfKey(this.state.sectionData[e.end.section], e.end.row); | |
this._updateFeedbackPollerForRange(e), t >= this.queryParams.count - 4 && this.setQueryParams({ | |
count: this.queryParams.count + 5 | |
}), this.state.tappedFeedUnitHandle && this.enablePermalinkMode() | |
}, | |
_updateFeedbackPollerForRange: function(e) { | |
var t = d.indexOfKey(this.state.sectionData[e.start.section], e.start.row), | |
n = d.indexOfKey(this.state.sectionData[e.end.section], e.end.row), | |
r = function(e, r, o) { | |
var i = o >= t && n >= o; | |
return i ? s.register(e.node.feedback.id) : s.unregister(e.node.feedback.id), e | |
}, | |
o = Math.min(this.state.prevVisibleIndex.start, t), | |
i = Math.max(this.state.prevVisibleIndex.end, n), | |
a = d.size(this.state.sectionData.storiesSection); | |
i >= a && (i = a - 1); | |
var l = i - o + 1; | |
o >= 0 && l > 0 && a >= o + l ? d.mapRange(this.state.sectionData.storiesSection, r, o, l) : console.error(P("invalid visible polling range. start: {0}, length: {1}, size: {2}", o, l, a)), this.state.prevVisibleIndex.start = t, this.state.prevVisibleIndex.end = n | |
}, | |
handleKeyboardWillShow: function(e) { | |
var t = g.get("modalFullscreenView").height - e.endCoordinates.screenY; | |
t !== this.state.keyboardHeight && this.setState({ | |
keyboardHeight: t | |
}) | |
}, | |
updateScrollInsets: function(e) { | |
this.setState({ | |
contentInsets: e | |
}) | |
}, | |
componentWillMount: function() { | |
this.addListenerOn(_, "handleConfirmedNewPost", this.handleConfirmedNewPost), this.addListenerOn(_, "updateScrollInsets", this.updateScrollInsets), this.addListenerOn(_, "reloadFeedViewForGroup", this.reloadFeedViewForGroup), this.addListenerOn(_, "cancelComment", this.cancelComment), this.addListenerOn(m, "keyboardWillShow", this.handleKeyboardWillShow), this._setupGroupStories(this.props) | |
}, | |
componentWillReceiveProps: function(e) { | |
this._setupGroupStories(e) | |
}, | |
componentDidUpdate: function() { | |
this.props.group && $ && $.groupViewComponentDidUpdate && $.groupViewComponentDidUpdate(this.props.group.id) | |
}, | |
componentDidMount: function() { | |
if (this.props.group) { | |
var e = this.refs[N].getScrollResponder(); | |
e.setNativeProps({ | |
contentOffset: { | |
y: -this.props.topInset | |
} | |
}), $ && this.requestAnimationFrame(function() { | |
$.groupViewComponentDidUpdate && $.groupViewComponentDidUpdate(this.props.group.id), $.logEventEnded && ($.logEventEnded(this.props.groupProfileLoadTTI), $.logEventEnded(this.props.groupPostNotifTTI)) | |
}.bind(this)) | |
} | |
}, | |
componentWillUnmount: function() { | |
var e = d.size(this.state.sectionData.storiesSection), | |
t = this.state.prevVisibleIndex.start, | |
n = this.state.prevVisibleIndex.end - t + 1; | |
t >= 0 && n > 0 && e >= t + n ? d.forEachRange(this.state.sectionData.storiesSection, function(e) { | |
s.unregister(e.node.feedback.id) | |
}, t, n) : console.error(P("invalid unmount polling range. start: {0}, length: {1}, size: {2}", t, n, e)) | |
}, | |
enablePollerIfNeeded: function(e) { | |
var t = e.viewer && e.viewer.__configs__ && e.viewer.__configs__.edges; | |
if (t) { | |
var n = t.filter(function(e) { | |
return e.node.name === V | |
}); | |
k(n) || s.enablePoller(n[0].node.enabled) | |
} | |
}, | |
_setupGroupStories: function(e) { | |
if (this.enablePollerIfNeeded(e), e.group && e.group.group_stories) { | |
for (var t, n = e.group.group_stories.edges, r = {}, o = this.state.olderPostsDividerKey, i = 0; i < n.length; i++) { | |
var a = { | |
node: n[i].node | |
}, | |
s = O(a.node.id); | |
this.state.tappedUnitKey ? s === this.state.tappedUnitKey ? (t && (r[t].hideAll = !0), a.hideSeparator = !0) : t === this.state.tappedUnitKey && (a.hideAll = !0) : (a.hideAll = !1, a.hideSeparator = !1), null === o && t && this.isStoryUnread(r[t]) && !this.isStoryUnread(a) && (o = a.node.id), a.local_id = s, r[s] = a, t = s | |
} | |
this.setState({ | |
olderPostsDividerKey: o | |
}); | |
var l = {}; | |
if (e.group.group_pinned_stories && e.group.group_pinned_stories.count > 0 && ("MEMBER" === e.group.viewer_join_state || "OPEN" === e.group.visibility)) { | |
var u = { | |
node: e.group.group_pinned_stories.edges[0].node | |
}, | |
c = O(u.id); | |
u.local_id = c, l[c] = u, u.isBeingDisplayed = this.state.pinnedPostIsDisplayed | |
} | |
this.state.initialInsertionComplete || this.requestAnimationFrame(function() { | |
this.setState({ | |
rowAnimationType: "fade" | |
}) | |
}.bind(this)), this.setState(k(l) ? { | |
initialInsertionComplete: !0, | |
sectionData: d.create({ | |
storiesSection: d.create(r) | |
}) | |
} : { | |
initialInsertionComplete: !0, | |
sectionData: d.create({ | |
pinnedPostSection: d.create(l), | |
storiesSection: d.create(r) | |
}) | |
}) | |
} | |
}, | |
openPinnedPost: function() { | |
var e = {}, | |
t = Object.keys(this.state.sectionData.pinnedPostSection)[0], | |
n = this.state.sectionData.pinnedPostSection[t]; | |
e[n.local_id] = A(this.state.sectionData.pinnedPostSection[t], { | |
isBeingDisplayed: !0 | |
}), this.setState({ | |
sectionData: d.create({ | |
pinnedPostSection: d.create(e), | |
storiesSection: this.state.sectionData.storiesSection | |
}), | |
pinnedPostIsDisplayed: !0 | |
}) | |
}, | |
handleDockedCommentSubmit: function(e, t) { | |
this.clearPermalinkMode(), this.state.submitCallback(e, t) | |
}, | |
handleDockedCommentAbort: function(e) { | |
this.clearPermalinkMode(), this.state.abortCallback && this.state.abortCallback(e) | |
}, | |
render: function() { | |
if (!this.props.group) return h.createElement(F, null); | |
var e = this.state.contentInsets; | |
null !== this.state.permalinkContentInsets && (e = this.state.permalinkContentInsets); | |
var t = h.createElement(S, { | |
rowAnimationType: this.state.rowAnimationType, | |
contentInset: e, | |
scrollIndicatorInsets: e, | |
showsVerticalScrollIndicator: !1, | |
tableFooter: this.viewForTableFooter(), | |
shouldUpdateHeaders: S.HeaderUpdate.never, | |
shouldUpdateRows: S.RowUpdate.whenRowDataChanges, | |
minRenderAhead: 10, | |
maxRenderAhead: 110, | |
minRenderBehind: 10, | |
maxRenderBehind: 100, | |
throttleVisibleCellsChangeMS: 50, | |
sectionData: this.state.sectionData, | |
viewForHeaderInSection: this.viewForHeaderInSection, | |
cellForRowAtIndexPath: this.cellForRowAtIndexPath, | |
onVisibleCellsChange: this.handleVisibleCellsChange, | |
style: W.tableViewStyle | |
}); | |
return h.createElement(R, { | |
ref: N, | |
groupID: this.props.group.id, | |
scrollResponder: t, | |
onDockedCommentSubmit: this.handleDockedCommentSubmit, | |
onDockedCommentAbort: this.handleDockedCommentAbort, | |
onDidDock: this.handleDidDock, | |
onHeightChange: this.handleDockedReplyBarHeightChange | |
}) | |
} | |
}), | |
j = { | |
position: "absolute", | |
top: 0, | |
left: 0, | |
width: g.get("window").width | |
}, | |
W = y.create({ | |
backdrop: { | |
backgroundColor: b.backgroundColor | |
}, | |
divider: { | |
height: .5, | |
backgroundColor: b.borderColor | |
}, | |
endDot: { | |
width: 10, | |
height: 10 | |
}, | |
fakeStoryCell: { | |
justifyContent: "space-between", | |
alignItems: "flex-start", | |
paddingLeft: 16, | |
height: 140, | |
marginBottom: 30, | |
marginTop: 20, | |
backgroundColor: b.backgroundColor | |
}, | |
fakeStoryHeader: { | |
flexDirection: "row", | |
alignItems: "center" | |
}, | |
fakeStoryProfilePicture: { | |
width: U, | |
height: U, | |
borderRadius: U / 2, | |
marginRight: 12, | |
backgroundColor: b.fakeStoryTextBlock | |
}, | |
fakeStoryTextBlock: { | |
height: 5, | |
backgroundColor: b.fakeStoryTextBlock | |
}, | |
grayPadding: { | |
height: 11, | |
backgroundColor: b.backgroundWash | |
}, | |
hide: { | |
opacity: 0 | |
}, | |
lockIcon: { | |
height: 30, | |
width: 30 | |
}, | |
nonMemberText: { | |
fontSize: 17, | |
color: b.feedbackFadedText | |
}, | |
nonMemberTextContainer: { | |
paddingTop: 10 | |
}, | |
nonMemberView: { | |
backgroundColor: b.backgroundWash, | |
alignItems: "center", | |
paddingTop: 46 | |
}, | |
olderPostsHeader: { | |
alignItems: "center", | |
backgroundColor: b.backgroundWash, | |
flexDirection: "row", | |
height: 24, | |
paddingLeft: 16 | |
}, | |
olderPostsText: { | |
color: b.feedbackFadedText, | |
fontSize: 12 | |
}, | |
pinnedPostArrow: { | |
width: 8, | |
height: 14, | |
marginRight: 16 | |
}, | |
pinnedPostCell: { | |
height: 44, | |
alignItems: "center", | |
flexDirection: "row", | |
justifyContent: "space-between", | |
backgroundColor: "white" | |
}, | |
pinnedPostText: { | |
fontSize: 15, | |
marginLeft: 16 | |
}, | |
tableViewStyle: { | |
backgroundColor: b.backgroundWash | |
}, | |
tailLoadingIndicator: A(j, { | |
backgroundColor: b.backgroundWash, | |
paddingTop: 0, | |
height: 52, | |
justifyContent: "center", | |
alignItems: "center" | |
}) | |
}); | |
o.exports = H | |
}), __d("AnimationMixin", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModulesDeprecated"), | |
a = t("ReactIOSAnimation"), | |
s = t("invariant"), | |
l = t("warning"), | |
u = i.RKUIManager, | |
c = { | |
AnimationTypes: a.Types, | |
AnimationProperties: a.Properties, | |
getInitialState: function() { | |
return { | |
_currentAnimationsByNodeHandle: {} | |
} | |
}, | |
_ensureBookkeepingSetup: function(e) { | |
this.state._currentAnimationsByNodeHandle[e] || (this.state._currentAnimationsByNodeHandle[e] = []) | |
}, | |
startAnimation: function(e, t, n) { | |
var r = 0; | |
"number" == typeof t ? r = t : (t instanceof Object && void 0 !== t.type && void 0 !== t.property || s(0, "Animation definitions must specify a type of animation and a property to animate."), r = a.createAnimation(t.type, t)), this.refs[e] || s(0, "Invalid refKey " + e + " for anim:\n" + JSON.stringify(t) + "\nvalid refs: " + JSON.stringify(Object.keys(this.refs))); | |
var o = this.refs[e].getNodeHandle(); | |
this.startAnimationWithNodeHandle(o, r, n) | |
}, | |
startAnimationWithNodeHandle: function(e, t, n) { | |
this._ensureBookkeepingSetup(e); | |
var r = this.state._currentAnimationsByNodeHandle[e], | |
o = r.length; | |
r.push(t); | |
var i = function(t) { | |
if (this.isMounted()) { | |
r[o] = 0; | |
for (var i = !0, a = 0; a < r.length; a++) | |
if (r[a]) { | |
i = !1; | |
break | |
} | |
i && (this.state._currentAnimationsByNodeHandle[e] = void 0), n && n(t) | |
} | |
}.bind(this); | |
u.addAnimation(e, t, i) | |
}, | |
startAnimations: function(e, t) { | |
var n = 0, | |
r = 0, | |
o = e.length, | |
i = function(e) { | |
e && ++r, ++n === o && t && t(r === o) | |
}; | |
e.forEach(function(e) { | |
l(null != e.ref || null != e.nodeHandle && !e.ref != !e.nodeHandle, "Animations must be specified with either ref xor nodeHandle"), e.ref ? this.startAnimation(e.ref, e.anim, i) : e.nodeHandle && this.startAnimationWithNodeHandle(e.nodeHandle, e.anim, i) | |
}.bind(this)) | |
}, | |
stopNodeHandleAnimations: function(e) { | |
if (this.state._currentAnimationsByNodeHandle[e]) { | |
for (var t = this.state._currentAnimationsByNodeHandle[e], n = 0; n < t.length; n++) { | |
var r = t[n]; | |
r && u.removeAnimation(+e, r) | |
} | |
this.state._currentAnimationsByNodeHandle[e] = void 0 | |
} | |
}, | |
stopAnimations: function(e) { | |
this.refs[e] || s(0, "invalid ref"), this.stopNodeHandleAnimations(this.refs[e].getNodeHandle()) | |
}, | |
stopAllAnimations: function() { | |
for (var e in this.state._currentAnimationsByNodeHandle) this.stopNodeHandleAnimations(e) | |
}, | |
animateToFrame: function(e, t, n, r, o) { | |
var i = { | |
x: t.left + t.width / 2, | |
y: t.top + t.height / 2, | |
w: t.width, | |
h: t.height | |
}; | |
t = void 0; | |
var r = r || [0, 0], | |
s = a.createAnimation(n, { | |
property: a.Properties.position, | |
toValue: [i.x, i.y], | |
velocity: r | |
}), | |
l = a.createAnimation(n, { | |
property: a.Properties.size, | |
toValue: [i.w, i.h] | |
}); | |
this.startAnimation(e, s, o), this.startAnimation(e, l) | |
}, | |
componentWillUnmount: function() { | |
this.stopAllAnimations() | |
} | |
}; | |
o.exports = c | |
}), __d("ReactIOSAnimation", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactPropTypes"), | |
a = t("NativeModules").RKAnimationManager, | |
s = t("createStrictShapeTypeChecker"), | |
l = t("getObjectValues"), | |
u = t("invariant"), | |
c = t("merge"), | |
d = a.Types, | |
p = a.Properties, | |
h = { | |
bounds: p.bounds, | |
opacity: p.opacity, | |
position: p.position, | |
positionX: p.positionX, | |
positionY: p.positionY, | |
zPosition: p.zPosition, | |
rotation: p.rotation, | |
rotationX: p.rotationX, | |
rotationY: p.rotationY, | |
scaleX: p.scaleX, | |
scaleXY: p.scaleXY, | |
scaleY: p.scaleY, | |
shadowColor: p.shadowColor, | |
shadowOffset: p.shadowOffset, | |
shadowOpacity: p.shadowOpacity, | |
shadowRadius: p.shadowRadius, | |
size: p.size, | |
subscaleXY: p.subscaleXY, | |
subtranslationX: p.subtranslationX, | |
subtranslationXY: p.subtranslationXY, | |
subtranslationY: p.subtranslationY, | |
subtranslationZ: p.subtranslationZ, | |
translationX: p.translationX, | |
translationXY: p.translationXY, | |
translationY: p.translationY, | |
translationZ: p.translationZ | |
}, | |
f = { | |
decay: d.decay, | |
easeIn: d.easeIn, | |
easeInEaseOut: d.easeInEaseOut, | |
easeOut: d.easeOut, | |
linear: d.linear, | |
spring: d.spring | |
}, | |
m = { | |
Types: f, | |
Properties: h, | |
attributeChecker: s({ | |
type: i.oneOf(l(f)), | |
property: i.oneOf(l(h)), | |
fromValue: i.any, | |
toValue: i.any, | |
duration: i.any, | |
velocity: i.any, | |
deceleration: i.any, | |
springBounciness: i.any, | |
dynamicsFriction: i.any, | |
dynamicsMass: i.any, | |
dynamicsTension: i.any | |
}), | |
lastUsedTag: 0, | |
allocateTagForAnimation: function() { | |
return ++this.lastUsedTag | |
}, | |
createAnimation: function(e, t) { | |
var n = this.allocateTagForAnimation(); | |
return __DEV__ && (m.attributeChecker({ | |
attrs: t | |
}, "attrs", "ReactIOSAnimation.createAnimation"), m.attributeChecker({ | |
attrs: { | |
type: e | |
} | |
}, "attrs", "ReactIOSAnimation.createAnimation")), a.createAnimationInternal(n, e, t), n | |
}, | |
createSpringAnimation: function(e) { | |
return this.createAnimation(this.Types.spring, e) | |
}, | |
createDecayAnimation: function(e) { | |
return this.createAnimation(this.Types.decay, e) | |
}, | |
createLinearAnimation: function(e) { | |
return this.createAnimation(this.Types.linear, e) | |
}, | |
createEaseInAnimation: function(e) { | |
return this.createAnimation(this.Types.easeIn, e) | |
}, | |
createEaseOutAnimation: function(e) { | |
return this.createAnimation(this.Types.easeOut, e) | |
}, | |
createEaseInEaseOutAnimation: function(e) { | |
return this.createAnimation(this.Types.easeInEaseOut, e) | |
} | |
}; | |
if (__DEV__) { | |
var g = c(a.Properties, a.Properties); | |
for (var _ in g) m.Properties[_] !== a.Properties[_] && u(0, "ReactIOSAnimation doesn't copy property " + _ + " correctly"); | |
var y = c(a.Types, a.Types); | |
for (var _ in y) m.Types[_] !== a.Types[_] && u(0, "ReactIOSAnimation doesn't copy type " + _ + " correctly") | |
} | |
o.exports = m | |
}), __d("getObjectValues", [], function(e, t, n, r, o) { | |
function i(e) { | |
var t = []; | |
for (var n in e) t.push(e[n]); | |
return t | |
} | |
o.exports = i | |
}), __d("FeedbackPoller", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() { | |
if (g(b) || !C) return s(), void(R = null); | |
var e = function(e, t, n) { | |
t ? console.error("Error from feedback poller: ", t) : f.handleUpdate(n, e, h.POLLER_UPDATE) | |
}, | |
t = []; | |
for (var n in b) { | |
var r = u(n), | |
o = l(n, r), | |
i = new d.QueryWithValues(o, {}); | |
t.push(new m(n, i, c.guard(e.bind(null, i), "FeedbackPoller:handleResponse"))) | |
} | |
t.length > 0 && _(t), a() | |
} | |
function a() { | |
C && (R = setTimeout(c.guard(i, "FeedbackPoller:schedule"), w)) | |
} | |
function s() { | |
R = null, b = {}, clearTimeout(R) | |
} | |
function l(e, t) { | |
var n = b[e], | |
r = null; | |
return t && t !== S && (r = function(e, t, n) { | |
var r = y.__GraphQL; | |
return new r.QueryFragment("UnknownFile_f0", "Node", [new r.Field("top_level_comments", null, [y.__frag(n)], [new r.Callv("before", [y.__var(e)]), new r.Callv("first", [y.__var(t)])], null, null, { | |
connection: !0 | |
}), new r.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})]) | |
}(t, v, n)), | |
function(e, t) { | |
var n = y.__GraphQL; | |
return new n.Query("node", [y.__var(e)], [new n.Field("likers", [new n.Field("count")], null, null, null, null, { | |
connection: !0, | |
nonFindable: !0 | |
}), new n.Field("does_viewer_like"), new n.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], [y.__frag(t)], null, "UnknownFile_q0") | |
}(e, r) | |
} | |
function u(e) { | |
var t = function(e) { | |
var t = y.__GraphQL; | |
return new t.Query("node", [y.__var(e)], [new t.Field("top_level_comments", [new t.Field("edges", [new t.Field("cursor", null, null, null, null, null, { | |
requisite: !0 | |
}), new t.Field("node", [new t.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
rootCall: "node", | |
pk: "id", | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
plural: !0 | |
}), new t.Field("page_info", [new t.Field("has_next_page", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
}), new t.Field("has_previous_page", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, [new t.Callv("first", ["1"])], null, null, { | |
connection: !0 | |
}), new t.Field("id", null, null, null, null, null, { | |
generated: !0, | |
requisite: !0 | |
})], null, null, "UnknownFile_q0") | |
}(e), | |
n = f.resolveQueryFromStore(new d.QueryWithValues(t, {})); | |
return n && n[e] && n[e].top_level_comments && n[e].top_level_comments.edges[0] && n[e].top_level_comments.edges[0].cursor | |
} | |
var c = t("ErrorUtils"), | |
d = t("GraphQL_EXPERIMENTAL"), | |
p = t("GraphQLConstants"), | |
h = t("GraphQLMutatorConstants"), | |
f = t("GraphQLStore"), | |
m = t("RQLRequest"), | |
g = t("isEmpty"), | |
_ = t("fetchBatchedRQL"), | |
y = t("rql"), | |
v = 10, | |
S = p.DUMMY_CURSOR_ID, | |
w = 15e3, | |
b = {}, | |
R = null, | |
C = !1, | |
E = { | |
enablePoller: function(e) { | |
C !== e && (C = e, C || s()) | |
}, | |
register: function(e) { | |
if (C && e) { | |
if (!b[e]) { | |
var t = f.getTrackedQueryByID(e), | |
n = t.getUnaliasedFields("top_level_comments"); | |
n = n.filter(function(e) { | |
return "top_level_comment_counts" !== e.getAlias() | |
}, n); | |
var r = n.map(function(e) { | |
return new d.QueryFragment("FeedbackPollerFragment", "CommentsConnection", e.getOwnFields(), e.getFragments()) | |
}); | |
b[e] = new d.QueryFragment("FeedbackPoller", "CommentsConnection", null, r) | |
} | |
R || a() | |
} | |
}, | |
unregister: function(e) { | |
e && delete b[e] | |
} | |
}; | |
o.exports = E | |
}), __d("Image", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("EdgeInsetsPropType"), | |
a = t("NativeMethodsMixin"), | |
s = t("NativeModulesDeprecated"), | |
l = t("ReactPropTypes"), | |
u = t("ImageResizeMode"), | |
c = t("ImageStylePropTypes"), | |
d = t("React"), | |
p = t("ReactIOSViewAttributes"), | |
h = t("StyleSheet"), | |
f = t("StyleSheetPropType"), | |
m = t("createReactIOSNativeComponentClass"), | |
g = t("flattenStyle"), | |
_ = t("insetsDiffer"), | |
y = t("merge"), | |
v = l.shape({ | |
uri: l.string.isRequired, | |
isStatic: l.bool, | |
width: l.number, | |
height: l.number | |
}), | |
S = d.createClass({ | |
displayName: "Image", | |
propTypes: { | |
source: v.isRequired, | |
accessible: l.bool, | |
accessibilityLabel: l.string, | |
capInsets: i, | |
style: f(c), | |
testID: l.string, | |
notActuallyTapDontUseMe: l.func | |
}, | |
statics: { | |
CONTAIN: u.contain, | |
COVER: u.cover, | |
STRETCH: u.stretch, | |
SourcePropType: v | |
}, | |
mixins: [a], | |
viewConfig: { | |
uiViewClassName: "UIView", | |
validAttributes: p.UIView | |
}, | |
render: function() { | |
var e, t = g([w.base, this.props.style]), | |
n = this.props.source.isStatic || this.props.source.isStored ? R : C, | |
r = s.RKUIManager.UIView.ContentMode; | |
e = t.resizeMode === u.stretch ? r.ScaleToFill : t.resizeMode === u.contain ? r.ScaleAspectFit : r.ScaleAspectFill; | |
var o = y(this.props, { | |
style: t, | |
resizeMode: e | |
}); | |
return this.props.source.isStored ? o.imageTag = this.props.source.uri : o.src = this.props.source.uri, d.createElement(n, Object.assign({}, o)) | |
} | |
}), | |
w = h.create({ | |
base: { | |
overflow: "hidden" | |
} | |
}), | |
b = y(p.UIView, { | |
accessible: !0, | |
accessibilityLabel: !0, | |
capInsets: { | |
diff: _ | |
}, | |
imageTag: !0, | |
resizeMode: !0, | |
src: !0, | |
testID: l.string | |
}), | |
R = m({ | |
validAttributes: b, | |
uiViewClassName: "RKStaticImage" | |
}), | |
C = m({ | |
validAttributes: y(b, { | |
defaultImageSrc: !0 | |
}), | |
uiViewClassName: "RKNetworkImageView" | |
}); | |
o.exports = S | |
}), __d("EdgeInsetsPropType", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactPropTypes"), | |
a = t("createStrictShapeTypeChecker"), | |
s = t("insetsDiffer"), | |
l = a({ | |
top: i.number, | |
left: i.number, | |
bottom: i.number, | |
right: i.number | |
}); | |
l.differ = s, o.exports = l | |
}), __d("insetsDiffer", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
top: void 0, | |
left: void 0, | |
right: void 0, | |
bottom: void 0 | |
}, | |
a = function(e, t) { | |
return e = e || i, t = t || i, e !== t && (e.top !== t.top || e.left !== t.left || e.right !== t.right || e.bottom !== t.bottom) | |
}; | |
o.exports = a | |
}), __d("ImmutableMap", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = isNaN(+e) || e.substring && "." === e.substring(0, 1), | |
n = e === _ || e === y || e === g; | |
return !n && "string" == typeof e && "" !== e && t | |
} | |
function a(e, t, n) { | |
"number" == typeof e && "number" == typeof t && t >= 0 && e >= 0 && n >= e + t || h(0, "ImmutableMap: `mapRange` and `forEachRange` expect non-negative start and length arguments within the bounds of the instance. start: " + e + ", length: " + t + ", actualLen: " + n) | |
} | |
function s(e) { | |
return e instanceof p && e.hasOwnProperty(g) | |
} | |
function l(e) { | |
s(e) || h(0, "ImmutableMap: Attempted to operate on object that is not ImmutableMap") | |
} | |
function u(e) { | |
return e === g || e === _ || e === y | |
} | |
function c(e, t, n, r) { | |
var o = { | |
enumerable: !1, | |
configurable: !0, | |
writable: !0, | |
value: t | |
}, | |
i = { | |
enumerable: !1, | |
configurable: !0, | |
writable: !0, | |
value: n | |
}, | |
a = { | |
enumerable: !1, | |
configurable: !0, | |
writable: !0, | |
value: r | |
}; | |
Object.defineProperty(e, g, o), Object.defineProperty(e, _, i), Object.defineProperty(e, y, a) | |
} | |
function d() {} | |
var p = t("Immutable"), | |
h = t("invariant"), | |
f = t("keyOf"), | |
m = f({ | |
_DONT_EVER_TYPE_THIS_SECRET_KEY: null | |
}), | |
g = "__size_DoNotEverTouchThis", | |
_ = "__keyByIndexDoNotEverTouchThis", | |
y = "__indexByKeyDoNotEverTouchThis"; | |
d.create = function() { | |
var e = new p(p[m]), | |
t = d.mergeAndValidateAllPropertiesInto(e, arguments); | |
return c(e, t, [], []), e[_].areComputed = !1, __DEV__ && d.customDeepFreezeRootNode(e), e | |
}, d.mergeAndValidateAllPropertiesInto = function(e, t) { | |
for (var n = t.length, r = 0, o = 0; n > o; o++) { | |
var a = t[o]; | |
for (var l in a) | |
if (!(!a.hasOwnProperty(l) || s(a) && u(l))) { | |
e.hasOwnProperty(l) || (i(l) || h(0, "ImmutableMap: Key must be truthy string not number-like."), r++); | |
var c = a[l]; | |
void 0 === c && h(0, "undefined ImmutableMap value"), e[l] = c | |
} | |
} | |
return r | |
}, d.customDeepFreezeRootNode = function(e) { | |
l(e), Object.freeze(e); | |
for (var t in e) e.hasOwnProperty(t) && !u(t) && p.recurseDeepFreeze(e[t]); | |
Object.seal(e) | |
}, d.set = function(e, t) { | |
return l(e), t instanceof p || "object" == typeof t && void 0 !== t && !Array.isArray(t) || h(0, "Invalid ImmutableMap.set argument `put`"), d.create(e, t) | |
}, d.fromArray = function(e, t) { | |
var n = Array.isArray(e), | |
r = "function" == typeof t; | |
n || h(0, "fromArray: First argument must be an array."), r || h(0, "fromArray: Requires keyExtractor to be function"); | |
var o = new p(p[m]), | |
a = [], | |
s = {}; | |
c(o, e.length, a, s); | |
for (var l = 0; l < e.length; l++) { | |
var u = e[l], | |
f = t(u, l); | |
o.hasOwnProperty(f) && h(0, "Duplicate key in array passed to fromArray %s", f), i(f) || h(0, "invalid key for ImmutableMap", f), o[f] = u, a[l] = "" + f, s[f] = l | |
} | |
return a.areComputed = !0, __DEV__ && d.customDeepFreezeRootNode(o), o | |
}, d.size = function(e) { | |
return l(e), d.$ImmutableMap_computePositionsIfNeeded(e), e[g] | |
}, d.has = function(e, t) { | |
return i(t) || h(0, "invalid key for ImmutableMap", t), l(e), e.hasOwnProperty(t) | |
}, d.get = function(e, t) { | |
return i(t) || h(0, "invalid key for ImmutableMap", t), e.hasOwnProperty(t) ? e[t] : void 0 | |
}, d.map = function(e, t, n) { | |
return l(e), d.$ImmutableMap_computePositionsIfNeeded(e), d.mapRange(e, t, 0, e[g], n) | |
}, d.mapRange = function(e, t, n, r, o) { | |
l(e), d.$ImmutableMap_computePositionsIfNeeded(e); | |
var i = {}, | |
s = 0; | |
a(n, r, d.size(e)); | |
var u = n + r - 1; | |
for (var c in e) | |
if (e.hasOwnProperty(c)) { | |
if (s >= n) { | |
if (s > u) break; | |
i[c] = t.call(o, e[c], c, s) | |
} | |
s++ | |
} | |
return d.create(i) | |
}, d.filter = function(e, t, n) { | |
return d.filterRange(e, t, 0, d.size(e), n) | |
}, d.filterRange = function(e, t, n, r, o) { | |
var i = {}; | |
return d.forEachRange(e, function(e, n, r) { | |
t.call(o, e, n, r) && (i[n] = e) | |
}, n, r), d.create(i) | |
}, d.forEach = function(e, t, n) { | |
d.forEachRange(e, t, 0, d.size(e), n) | |
}, d.forEachRange = function(e, t, n, r, o) { | |
l(e), a(n, r, d.size(e)); | |
var i = 0, | |
s = n + r - 1; | |
for (var u in e) | |
if (e.hasOwnProperty(u)) { | |
if (i >= n) { | |
if (i > s) break; | |
t.call(o, e[u], u, i) | |
} | |
i++ | |
} | |
}, d.mapKeyRange = function(e, t, n, r, o) { | |
var i = d.indexOfKey(e, n), | |
a = d.indexOfKey(e, r); | |
(null == i || null == a) && h(0, "mapKeyRange must be given keys that are present."), a >= i || h(0, "ImmutableMap.mapKeyRange(...): `endKey` must be >= `startIndex`."); | |
var s = a - i + 1; | |
return d.mapRange(e, t, i, s, o) | |
}, d.forEachKeyRange = function(e, t, n, r, o) { | |
var i = d.indexOfKey(e, n), | |
a = d.indexOfKey(e, r); | |
(null == i || null == a) && h(0, "forEachKeyRange must be given keys that are present."), a >= i || h(0, "ImmutableMap.forEachKeyRange(...): `endKey` must not come before `startIndex`."); | |
var s = a - i + 1; | |
d.forEachRange(e, t, i, s, o) | |
}, d.keyAtIndex = function(e, t) { | |
d.$ImmutableMap_computePositionsIfNeeded(e); | |
var n = e[_][t]; | |
return n ? n : void 0 | |
}, d.valueAtIndex = function(e, t) { | |
var n = d.keyAtIndex(e, t); | |
return void 0 !== n ? e[n] : void 0 | |
}, d.keyAfter = function(e, t) { | |
return d.nthKeyAfter(e, t, 1) | |
}, d.keyBefore = function(e, t) { | |
return d.nthKeyBefore(e, t, 1) | |
}, d.nthKeyAfter = function(e, t, n) { | |
var r = d.indexOfKey(e, t); | |
return void 0 === r && h(0, "ImmutableMap.nthKeyAfter: The key `%s` does not exist in this instance.", t), d.keyAtIndex(e, r + n) | |
}, d.nthKeyBefore = function(e, t, n) { | |
return d.nthKeyAfter(e, t, -n) | |
}, d.indexOfKey = function(e, t) { | |
i(t) || h(0, "invalid key for ImmutableMap", t), d.$ImmutableMap_computePositionsIfNeeded(e); | |
var n = e[y][t]; | |
return void 0 === n ? void 0 : n | |
}, d.$ImmutableMap_computePositionsIfNeeded = function(e) { | |
e[_].areComputed === !1 && d.$ImmutableMap_computePositionsFromDictionary(e) | |
}, d.$ImmutableMap_computePositionsFromDictionary = function(e) { | |
var t = e[_], | |
n = e[y], | |
r = 0; | |
for (var o in e) e.hasOwnProperty(o) && (t[r] = o, n[o] = r, r++); | |
e[_].areComputed = !0 | |
}, o.exports = d | |
}), __d("Immutable", [], function(e, t, n, r, o) { | |
function i(e) { | |
"use strict"; | |
e !== i[u] && a(0, "Only certain classes should create instances of `Immutable`.You probably want something like ImmutableObject.create.") | |
} | |
var a = t("invariant"), | |
s = t("isNode"), | |
l = t("keyOf"), | |
u = l({ | |
_DONT_EVER_TYPE_THIS_SECRET_KEY: null | |
}); | |
i.mergeAllPropertiesInto = function(e, t) { | |
"use strict"; | |
for (var n = t.length, r = 0; n > r; r++) Object.assign(e, t[r]) | |
}, i.deepFreezeRootNode = function(e) { | |
"use strict"; | |
if (!s(e)) { | |
Object.freeze(e); | |
for (var t in e) e.hasOwnProperty(t) && i.recurseDeepFreeze(e[t]); | |
Object.seal(e) | |
} | |
}, i.recurseDeepFreeze = function(e) { | |
"use strict"; | |
if (!s(e) && i.shouldRecurseFreeze(e)) { | |
Object.freeze(e); | |
for (var t in e) e.hasOwnProperty(t) && i.recurseDeepFreeze(e[t]); | |
Object.seal(e) | |
} | |
}, i.shouldRecurseFreeze = function(e) { | |
"use strict"; | |
return "object" == typeof e && !(e instanceof i) && null !== e | |
}, i._DONT_EVER_TYPE_THIS_SECRET_KEY = Math.random(), o.exports = i | |
}), __d("RKDimensions", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i() {} | |
var a = t("NativeModules"), | |
s = t("invariant"), | |
l = t("mergeInto"), | |
u = a.RKUIManager.RKDimensions; | |
i.set = function(e) { | |
return l(u, e), !0 | |
}, i.get = function(e) { | |
return u[e] || s(0, "No dimension set for key " + e), u[e] | |
}, o.exports = i | |
}), __d("mergeInto", [], function(e, t, n, r, o) { | |
"use strict"; | |
o.exports = Object.assign | |
}), __d("RKNativeAppEventEmitter", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("EventEmitter"), | |
a = new i; | |
o.exports = a | |
}), __d("Subscribable", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
Mixin: { | |
componentWillMount: function() { | |
this._subscriptions = [] | |
}, | |
componentWillUnmount: function() { | |
this._subscriptions.forEach(function(e) { | |
return e.remove() | |
}), this._subscriptions = null | |
}, | |
addListenerOn: function(e, t, n, r) { | |
this._subscriptions.push(e.addListener(t, n, r)) | |
} | |
} | |
}; | |
o.exports = i | |
}), __d("TableView", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ImmutableMap"), | |
a = t("React"), | |
s = t("ReactIOSViewAttributes"), | |
l = t("NativeModules").RKUIManager.RKTableView.Constants, | |
u = t("ScrollResponder"), | |
c = t("ScrollViewPropTypes"), | |
d = t("StyleSheet"), | |
p = t("TableLogic"), | |
h = t("TableViewMixin"), | |
f = t("View"), | |
m = t("createReactIOSNativeComponentClass"), | |
g = t("insetsDiffer"), | |
_ = t("invariant"), | |
y = t("merge"), | |
v = t("pointsDiffer"), | |
S = a.PropTypes, | |
w = h.Cell, | |
b = "container_ref", | |
R = { | |
none: l.UITableViewRowAnimation.None, | |
fade: l.UITableViewRowAnimation.Fade, | |
right: l.UITableViewRowAnimation.Right, | |
left: l.UITableViewRowAnimation.Left, | |
top: l.UITableViewRowAnimation.Top, | |
bottom: l.UITableViewRowAnimation.Bottom, | |
middle: l.UITableViewRowAnimation.Middle, | |
automatic: l.UITableViewRowAnimation.Automatic | |
}, | |
C = a.PropTypes.oneOf(Object.keys(R)), | |
E = a.createClass({ | |
displayName: "TableView", | |
statics: { | |
rowAnimationPropType: C, | |
RowAnimationTypes: R | |
}, | |
propTypes: y(c, { | |
tableHeader: S.renderable, | |
tableFooter: S.renderable, | |
sectionData: S.object.isRequired, | |
cellForRowAtIndexPath: S.func.isRequired, | |
viewForHeaderInSection: S.func.isRequired, | |
onFocus: S.func, | |
rowAnimationType: S.string, | |
fillerBGColor: S.string, | |
throttleVisibleCellsChangeMS: S.number, | |
onPullToRefresh: S.func, | |
onScrollAnimationEnd: S.func, | |
maxRenderAhead: S.number, | |
minRenderAhead: S.number, | |
maxRenderBehind: S.number, | |
minRenderBehind: S.number, | |
throttleVisibleCellsthrottleVisibleCellsChangeMS: S.number, | |
shouldUpdateHeaders: S.oneOf([h.HeaderUpdate.always, h.HeaderUpdate.never, h.HeaderUpdate.whenSectionDataChanges]), | |
shouldUpdateRows: S.oneOf([h.RowUpdate.always, h.RowUpdate.never, h.RowUpdate.whenRowDataChanges]), | |
maxExpandBy: S.number | |
}), | |
mixins: [h.Mixin, u.Mixin], | |
getInitialState: function() { | |
return y(this.tableViewMixinGetInitialState(), this.scrollResponderMixinGetInitialState()) | |
}, | |
setNativeProps: function(e) { | |
this.refs[b].setNativeProps(e) | |
}, | |
handleVisibleCellsChange: function(e) { | |
var t = e.nativeEvent, | |
n = i.keyAtIndex(this.props.sectionData, t.startSection), | |
r = i.keyAtIndex(this.props.sectionData, t.endSection), | |
o = this.props.sectionData[n], | |
a = this.props.sectionData[r]; | |
this.tableViewMixinPrepareVisibleRangeForMutation(), this.state.visibleRange.start.section = n, this.state.visibleRange.start.row = i.keyAtIndex(o, t.startRow), this.state.visibleRange.end.section = r, this.state.visibleRange.end.row = i.keyAtIndex(a, t.endRow), h.validRange(this.state.visibleRange) || _(0, "Bad range on change"), this.tableViewMixinHandleVisibleRangeChange(t.throttleIgnored, this.state.visibleRange) | |
}, | |
wrapCellContent: function(e) { | |
return a.createElement(w, null, e) | |
}, | |
render: function() { | |
this.tableViewMixinValidateProperties(this.props), p.validateWindowingProperties(this.props); | |
var e = this.state.renderRange, | |
t = this.props.sectionData, | |
n = null === e ? null : this.tableViewMixinRenderChildren(), | |
r = null === e ? 0 : i.indexOfKey(t, e.start.section), | |
o = null === e ? 0 : i.indexOfKey(t[e.start.section], e.start.row), | |
s = this.props.ContainerContructor || x; | |
return a.createElement(s, { | |
ref: b, | |
onFocus: this.props.onFocus, | |
style: [D.container, this.props.style], | |
rowAnimationType: R[this.props.rowAnimationType], | |
contentInset: this.props.contentInset, | |
contentOffset: this.props.contentOffset, | |
automaticallyAdjustContentInsets: this.props.automaticallyAdjustContentInsets, | |
scrollIndicatorInsets: this.props.scrollIndicatorInsets, | |
throttleScrollCallbackMS: this.props.throttleScrollCallbackMS, | |
onScroll: this.scrollResponderHandleScroll, | |
scrollEnabled: this.props.scrollEnabled, | |
showsHorizontalScrollIndicator: this.props.showsHorizontalScrollIndicator, | |
showsVerticalScrollIndicator: this.props.showsVerticalScrollIndicator, | |
fillerBGColor: this.props.fillerBGColor, | |
throttleVisibleCellsChangeMS: h.getThrottleCallbackMS(this.props), | |
onVisibleCellsChange: this.handleVisibleCellsChange, | |
windowStartSection: r, | |
onPullToRefresh: this.props.onPullToRefresh, | |
windowStartRow: o, | |
onTouchStart: this.scrollResponderHandleTouchStart, | |
onTouchEnd: this.scrollResponderHandleTouchEnd, | |
onScrollAnimationEnd: this.props.onScrollAnimationEnd, | |
onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag, | |
onScrollEndDrag: this.scrollResponderHandleScrollEndDrag, | |
onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin, | |
onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd, | |
onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder, | |
onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture, | |
onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder, | |
onResponderGrant: this.scrollResponderHandleResponderGrant, | |
onResponderRelease: this.scrollResponderHandleResponderRelease, | |
onResponderReject: this.scrollResponderHandleResponderReject | |
}, this.props.tableHeader || f.dummyView(), this.props.tableFooter || f.dummyView(), n) | |
} | |
}), | |
D = d.create({ | |
container: { | |
flex: 1 | |
} | |
}); | |
E.HeaderUpdate = h.HeaderUpdate, E.RowUpdate = h.RowUpdate; | |
var x = m({ | |
validAttributes: y(s.UIView, { | |
rowAnimationType: !0, | |
automaticallyAdjustContentInsets: !0, | |
contentInset: { | |
diff: g | |
}, | |
contentOffset: { | |
diff: v | |
}, | |
scrollIndicatorInsets: { | |
diff: g | |
}, | |
scrollEnabled: !0, | |
showsHorizontalScrollIndicator: !0, | |
showsVerticalScrollIndicator: !0, | |
windowStartSection: !0, | |
windowStartRow: !0, | |
throttleScrollCallbackMS: !0, | |
throttleVisibleCellsChangeMS: !0, | |
fillerBGColor: !0 | |
}), | |
uiViewClassName: "RKTableView" | |
}); | |
o.exports = E | |
}), __d("ScrollResponder", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModules"), | |
a = t("NativeModulesDeprecated"), | |
s = t("RKDeviceEventEmitter"), | |
l = t("Subscribable"), | |
u = t("TextInputState"), | |
c = i.RKUIManager, | |
d = a.RKUIManager, | |
p = c.RKScrollView.Constants, | |
h = t("warning"), | |
f = 16, | |
m = { | |
mixins: [l.Mixin], | |
statics: p, | |
scrollResponderMixinGetInitialState: function() { | |
return { | |
isTouching: !1, | |
lastMomentumScrollBeginTime: 0, | |
lastMomentumScrollEndTime: 0, | |
observedScrollSinceBecomingResponder: !1, | |
becameResponderWhileAnimating: !1 | |
} | |
}, | |
scrollResponderHandleScrollShouldSetResponder: function() { | |
return this.state.isTouching | |
}, | |
scrollResponderHandleStartShouldSetResponder: function() { | |
return !1 | |
}, | |
scrollResponderHandleStartShouldSetResponderCapture: function(e) { | |
var t = u.currentlyFocusedField(); | |
return this.props.keyboardShouldPersistTaps || null == t || e.target == t ? this.scrollResponderIsAnimating() : !0 | |
}, | |
scrollResponderHandleResponderReject: function() { | |
h(!1, "ScrollView doesn't take rejection well - scrolls anyway") | |
}, | |
scrollResponderHandleTerminationRequest: function() { | |
return !this.state.observedScrollSinceBecomingResponder | |
}, | |
scrollResponderHandleTouchEnd: function(e) { | |
var t = e.nativeEvent; | |
this.state.isTouching = 0 !== t.touches.length, this.props.onTouchEnd && this.props.onTouchEnd(e) | |
}, | |
scrollResponderHandleResponderRelease: function(e) { | |
this.props.onResponderRelease && this.props.onResponderRelease(e); | |
var t = u.currentlyFocusedField(); | |
this.props.keyboardShouldPersistTaps || null == t || e.target == t || this.state.observedScrollSinceBecomingResponder || this.state.becameResponderWhileAnimating || (this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e), u.blurTextInput(t)) | |
}, | |
scrollResponderHandleScroll: function(e) { | |
this.state.observedScrollSinceBecomingResponder = !0, this.props.onScroll && this.props.onScroll(e) | |
}, | |
scrollResponderHandleResponderGrant: function(e) { | |
this.state.observedScrollSinceBecomingResponder = !1, this.props.onResponderGrant && this.props.onResponderGrant(e), this.state.becameResponderWhileAnimating = this.scrollResponderIsAnimating() | |
}, | |
scrollResponderHandleScrollBeginDrag: function(e) { | |
this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e) | |
}, | |
scrollResponderHandleScrollEndDrag: function(e) { | |
this.props.onScrollEndDrag && this.props.onScrollEndDrag(e) | |
}, | |
scrollResponderHandleMomentumScrollBegin: function(e) { | |
this.state.lastMomentumScrollBeginTime = Date.now(), this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e) | |
}, | |
scrollResponderHandleMomentumScrollEnd: function(e) { | |
this.state.lastMomentumScrollEndTime = Date.now(), this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e) | |
}, | |
scrollResponderHandleTouchStart: function(e) { | |
this.state.isTouching = !0, this.props.onTouchStart && this.props.onTouchStart(e) | |
}, | |
scrollResponderHandleTouchMove: function(e) { | |
this.props.onTouchMove && this.props.onTouchMove(e) | |
}, | |
scrollResponderIsAnimating: function() { | |
var e = Date.now(), | |
t = e - this.state.lastMomentumScrollEndTime, | |
n = f > t || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime; | |
return n | |
}, | |
scrollResponderScrollTo: function(e, t) { | |
d.scrollTo(this.getNodeHandle(), e, t) | |
}, | |
scrollResponderZoomTo: function(e) { | |
d.zoomToRect(this.getNodeHandle(), e) | |
}, | |
scrollResponderScrollNativeHandleToKeyboard: function(e, t) { | |
this.additionalScrollOffset = t || 0, c.measureLayout(e, this.getNodeHandle(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard) | |
}, | |
scrollResponderInputMeasureAndScrollToKeyboard: function(e, t, n, r) { | |
if (this.keyboardWillOpenTo) { | |
var o = t - this.keyboardWillOpenTo.endCoordinates.screenY + r + this.additionalScrollOffset; | |
this.scrollResponderScrollTo(0, o) | |
} | |
this.additionalOffset = 0 | |
}, | |
scrollResponderTextInputFocusError: function(e) { | |
console.error("Error measuring text field: ", e) | |
}, | |
componentWillMount: function() { | |
this.keyboardWillOpenTo = null, this.additionalScrollOffset = 0, this.addListenerOn(s, "keyboardWillShow", this.scrollResponderKeyboardWillShow), this.addListenerOn(s, "keyboardWillHide", this.scrollResponderKeyboardWillHide), this.addListenerOn(s, "keyboardDidShow", this.scrollResponderKeyboardDidShow), this.addListenerOn(s, "keyboardDidHide", this.scrollResponderKeyboardDidHide) | |
}, | |
scrollResponderKeyboardWillShow: function(e) { | |
this.keyboardWillOpenTo = e, this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e) | |
}, | |
scrollResponderKeyboardWillHide: function(e) { | |
this.keyboardWillOpenTo = null, this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e) | |
}, | |
scrollResponderKeyboardDidShow: function() { | |
this.keyboardWillOpenTo = null, this.props.onKeyboardDidShow && this.props.onKeyboardDidShow() | |
}, | |
scrollResponderKeyboardDidHide: function() { | |
this.keyboardWillOpenTo = null, this.props.onKeyboardDidHide && this.props.onKeyboardDidHide() | |
} | |
}, | |
g = { | |
Mixin: m | |
}; | |
o.exports = g | |
}), __d("ScrollViewPropTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("EdgeInsetsPropType"), | |
a = t("PointPropType"), | |
s = t("ReactPropTypes"), | |
l = t("StyleSheetPropType"), | |
u = t("ViewStylePropTypes"), | |
c = t("nativePropType"), | |
d = { | |
automaticallyAdjustContentInsets: c(s.bool), | |
contentInset: c(i), | |
contentOffset: c(a), | |
onScroll: s.func, | |
onScrollAnimationEnd: s.func, | |
scrollEnabled: c(s.bool), | |
scrollIndicatorInsets: c(i), | |
showsHorizontalScrollIndicator: c(s.bool), | |
showsVerticalScrollIndicator: c(s.bool), | |
style: l(u), | |
throttleScrollCallbackMS: c(s.number) | |
}; | |
o.exports = d | |
}), __d("PointPropType", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactPropTypes"), | |
a = t("createStrictShapeTypeChecker"), | |
s = t("pointsDiffer"), | |
l = a({ | |
x: i.number, | |
y: i.number | |
}); | |
l.differ = s, o.exports = l | |
}), __d("pointsDiffer", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
x: void 0, | |
y: void 0 | |
}, | |
a = function(e, t) { | |
return e = e || i, t = t || i, e !== t && (e.x !== t.x || e.y !== t.y) | |
}; | |
o.exports = a | |
}), __d("nativePropType", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return e.isNative = !0, e | |
} | |
o.exports = i | |
}), __d("TableLogic", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return h in e ? e.maxRenderAhead : a(e) + v | |
} | |
function a(e) { | |
return f in e ? e.minRenderAhead : y | |
} | |
function s(e) { | |
return m in e ? e.maxRenderBehind : l(e) + v | |
} | |
function l(e) { | |
return g in e ? e.minRenderBehind : y | |
} | |
var u = t("ImmutableMap"), | |
c = t("invariant"), | |
d = t("keyMirror"), | |
p = t("keyOf"), | |
h = p({ | |
maxRenderAhead: null | |
}), | |
f = p({ | |
minRenderAhead: null | |
}), | |
m = p({ | |
maxRenderBehind: null | |
}), | |
g = p({ | |
minRenderBehind: null | |
}), | |
_ = !1, | |
y = 6, | |
v = 4, | |
S = d({ | |
moveForward: null, | |
moveBackward: null, | |
moveNone: null | |
}), | |
w = { | |
section: null, | |
row: null | |
}, | |
b = function() { | |
return { | |
start: { | |
section: null, | |
row: null | |
}, | |
end: { | |
section: null, | |
row: null | |
} | |
} | |
}, | |
R = { | |
section: null, | |
row: null | |
}, | |
C = { | |
section: null, | |
row: null | |
}, | |
E = { | |
section: null, | |
row: null | |
}, | |
D = { | |
section: null, | |
row: null | |
}, | |
x = b(), | |
F = b(), | |
I = b(), | |
T = function(e, t) { | |
if (e === t) return !1; | |
var n = null === e && null !== t || null !== e && null === t; | |
return n || e.start.section !== t.start.section || e.end.section !== t.end.section || e.start.row !== t.start.row || e.end.row !== t.end.row | |
}, | |
P = function(e) { | |
if (!e || 0 === u.size(e)) return null; | |
var t = u.keyAtIndex(e, 0), | |
n = u.valueAtIndex(e, 0), | |
r = n && u.keyAtIndex(n, 0) || null; | |
return r ? { | |
start: { | |
section: t, | |
row: r | |
}, | |
end: { | |
section: t, | |
row: r | |
} | |
} : null | |
}, | |
L = function(e, t, n, r) { | |
return e === n && t === r | |
}, | |
k = { | |
section: null, | |
row: null | |
}, | |
M = { | |
section: null, | |
row: null | |
}, | |
A = function(e, t, n, r) { | |
return k.section = t, k.row = n, G(e, r.start, k, r.end, M), M.section === t && M.row === n | |
}, | |
Q = function(e, t, n, r, o) { | |
if (L(t, n, r, o)) return !1; | |
var i = u.indexOfKey(e, t), | |
a = u.indexOfKey(e, r); | |
if ((void 0 === i || void 0 === a) && c(0, "Bad sections"), i === a) { | |
var s = u.indexOfKey(e[t], n), | |
l = u.indexOfKey(e[r], o); | |
return (void 0 === s || void 0 === l) && c(0, "Bad rows %s-%s", n, o), l > s | |
} | |
return a > i | |
}, | |
O = function(e, t, n, r, o) { | |
return L(t, n, r, o) ? !1 : !Q(e, t, n, r, o) | |
}, | |
N = function(e, t, n) { | |
return O(e, t.section, t.row, n.section, n.row) ? S.moveBackward : Q(e, t.section, t.row, n.section, n.row) ? S.moveForward : S.moveNone | |
}, | |
G = function(e, t, n, r, o) { | |
var i = n.row, | |
a = n.section; | |
t.section && t.row && n.section && n.row && r.section && r.row || c(0, "Invalid clamp args"), O(e, a, i, r.section, r.row) ? (o.section = r.section, o.row = r.row) : Q(e, a, i, t.section, t.row) ? (o.section = t.section, o.row = t.row) : (o.section = a, o.row = i) | |
}, | |
$ = function(e, t, n, r) { | |
var o = e[t]; | |
o || c(0, "No rows found for section %s", t); | |
var i = !!n; | |
if (i && u.indexOfKey(o, n) > 0) return r.section = t, r.row = u.keyBefore(o, n), !0; | |
if (!i || 0 === u.indexOfKey(o, n)) { | |
var a = u.keyBefore(e, t), | |
s = a && u.size(e[a]); | |
if (a && s) { | |
var l = e[a]; | |
return r.section = a, r.row = u.keyAtIndex(l, s - 1), !0 | |
} | |
return !1 | |
} | |
}, | |
B = function(e, t, n, r) { | |
var o = e[t], | |
i = o ? u.size(o) : 0, | |
a = !!n; | |
if (a && u.indexOfKey(o, n) < i - 1) return r.section = t, r.row = u.keyAtIndex(o, u.indexOfKey(o, n) + 1), !0; | |
var s = u.keyAfter(e, t); | |
return s && u.size(e[s]) > 0 ? (r.section = s, r.row = u.keyAtIndex(e[s], 0), !0) : !1 | |
}, | |
U = function(e, t, n, r) { | |
for (var o = Math.abs(n), i = o / n == 1, a = i ? B : $, s = t.section, l = t.row, u = 0; o > u && a(e, s, l, w); u++) s = w.section, l = w.row; | |
r.section = s, r.row = l | |
}, | |
V = function(e, t, n, r) { | |
var o = N(e, t, n); | |
return o === S.moveNone ? !1 : o === S.moveForward ? B(e, t.section, t.row, r) : o === S.moveBackward ? $(e, t.section, t.row, r) : void 0 | |
}, | |
q = function(e, t) { | |
e.start.section = t.start.section, e.start.row = t.start.row, e.end.section = t.end.section, e.end.row = t.end.row | |
}, | |
H = function(e, t, n, r, o, i) { | |
try { | |
return _ && c(0, "resource pool already locked"), _ = !0, it(e, t, n, r, o, i) | |
} catch (a) { | |
throw a | |
} finally { | |
_ = !1 | |
} | |
}, | |
j = function(e, t, n, r, o) { | |
var i = t ? t : P(e); | |
if (!i) return !1; | |
var a = r; | |
q(o, i); | |
for (var s = !0, l = !0; a > 0 && (s || l);) { | |
if (l) { | |
var u = V(e, o.end, n.end, o.end); | |
u ? a-- : l = !1 | |
} | |
if (a > 0 && s) { | |
var c = V(e, o.start, n.start, o.start); | |
c ? a-- : s = !1 | |
} | |
} | |
return !0 | |
}, | |
W = function(e) { | |
i(e) > a(e) && a(e) > 0 && s(e) > l(e) && l(e) > 0 || c(0, "Maximum over-render amount must be greater than the minimum both being greater than zero.") | |
}, | |
K = function(e) { | |
e.result.start.section = null, e.result.start.row = null, e.result.end.section = null, e.result.end.row = null, e.resultSpansR1 = !1, e.resultSpansR2 = !1 | |
}, | |
z = function(e, t, n, r, o) { | |
e.result.start.section = t, e.result.start.row = n, e.result.end.section = t, e.result.end.row = n, e.resultSpansR1 = r, e.resultSpansR2 = o | |
}, | |
Y = function(e, t, n, r, o) { | |
e.result.end.section = t, e.result.end.row = n, e.resultSpansR1 = e.resultSpansR1 || r, e.resultSpansR2 = e.resultSpansR2 || o | |
}, | |
X = !1, | |
J = !0, | |
Z = function(e, t, n, r) { | |
for (var o = u.indexOfKey(e, t.start.section), i = u.indexOfKey(e, t.end.section), a = o; i >= a; a++) | |
for (var s = u.keyAtIndex(e, a), l = e[s], c = a === o ? u.indexOfKey(l, t.start.row) : 0, d = a === i ? u.indexOfKey(l, t.end.row) : u.size(l) - 1, p = c; d >= p; p++) { | |
var h = u.keyAtIndex(l, p), | |
f = r ? n.call(r, s, h) : n(s, h); | |
if (f === X) return | |
} | |
}, | |
et = { | |
result: null, | |
haveFoundItem: !1, | |
nextSectionData: null, | |
outerRange: null, | |
innerRange: null | |
}, | |
tt = { | |
section: null, | |
row: null | |
}, | |
nt = function(e, t, n, r, o) { | |
return et.result = o, K(et), et.traverseSectionData = n, et.nextSectionData = r, et.r1 = e, et.r2 = t, Z(n, e, rt, et), et.resultSpansR1 && et.resultSpansR2 | |
}, | |
rt = function(e, t) { | |
var n = this, | |
r = n.resultSpansR1 && n.resultSpansR2, | |
o = n.resultSpansR1, | |
i = n.resultSpansR2, | |
a = !o && !i, | |
s = !u.has(n.nextSectionData, e) || !u.has(n.nextSectionData[e], t); | |
if (s) return r ? X : (K(n), J); | |
var l = A(n.traverseSectionData, e, t, n.r1), | |
c = A(n.traverseSectionData, e, t, n.r2); | |
if (a) return (l || c) && z(n, e, t, l, c), J; | |
var d = ot(n.nextSectionData, e, t, n.result.end.section, n.result.end.row); | |
return d ? (Y(n, e, t, l, c), J) : r ? X : (l || c ? z(n, e, t, l, c) : K(n), J) | |
}, | |
ot = function(e, t, n, r, o) { | |
return B(e, r, o, tt), tt.section === t && tt.row === n | |
}, | |
it = function(e, t, n, r, o, d) { | |
var p = t.sectionData, | |
h = e.sectionData, | |
f = l(t), | |
m = s(t), | |
g = a(t), | |
_ = i(t); | |
if (e.sectionData && u.size(e.sectionData) || !n || c(0, "You lie. That could not have happened."), !t.sectionData) return !1; | |
var y = e.sectionData !== t.sectionData, | |
v = !y, | |
S = null, | |
w = null; | |
if (y ? (S = r && nt(r, r, h, p, I) ? I : P(p), w = n && r && nt(n, r, h, p, F) ? F : P(p)) : v && (S = r || P(p), w = n || P(p)), !w || !S) return !1; | |
U(p, S.start, -1 * f, R); | |
var b = m - f; | |
return U(p, R, -1 * b, C), U(p, S.end, g, E), b = _ - g, U(p, E, b, D), G(p, C, w.start, R, x.start), G(p, E, w.end, D, x.end), q(o, x), d && q(d, w), !0 | |
}, | |
at = { | |
copyRangeInto: q, | |
stepTowardsTargetRange: j, | |
clampPath: G, | |
validateWindowingProperties: W, | |
nextRenderRange: H, | |
rangesDiffer: T | |
}; | |
o.exports = at | |
}), __d("TableViewMixin", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ImmutableMap"), | |
a = t("ReactIOSViewAttributes"), | |
s = t("StaticContainer.react"), | |
l = t("TableLogic"), | |
u = t("createReactIOSNativeComponentClass"), | |
c = t("invariant"), | |
d = t("keyMirror"), | |
p = t("keyOf"), | |
h = t("NativeModulesDeprecated").RKUIManager, | |
f = t("React"), | |
m = t("ReactIOSTagHandles"), | |
g = 16, | |
_ = 1, | |
y = p({ | |
throttleVisibleCellsChangeMS: null | |
}), | |
v = { | |
start: { | |
section: null, | |
row: null | |
}, | |
end: { | |
section: null, | |
row: null | |
} | |
}, | |
S = { | |
start: { | |
section: null, | |
row: null | |
}, | |
end: { | |
section: null, | |
row: null | |
} | |
}, | |
w = { | |
start: { | |
section: null, | |
row: null | |
}, | |
end: { | |
section: null, | |
row: null | |
} | |
}, | |
b = {}, | |
R = u({ | |
validAttributes: a.UIView, | |
uiViewClassName: "RKTableViewCell" | |
}); | |
b.Cell = R, b.validRange = function(e) { | |
return e.start.section && e.start.row && e.end.section && e.end.row | |
}, b.getThrottleCallbackMS = function(e) { | |
return y in e ? e.throttleVisibleCellsChangeMS : g | |
}, b.getShouldUpdateHeaders = function(e) { | |
return e.shouldUpdateHeaders || C.never | |
}, b.getShouldUpdateRows = function(e) { | |
return e.shouldUpdateRows || E.never | |
}, b.getMaxExpandBy = function(e) { | |
return e.maxExpandBy || _ | |
}, b.Mixin = { | |
componentWillReceiveProps: function(e) { | |
var t = l.nextRenderRange(this.props, e, this.state.renderRange, this.state.visibleRange, v, S); | |
if (t) { | |
var n; | |
this.state.hasEverRenderedRows ? (l.stepTowardsTargetRange(e.sectionData, S, v, b.getMaxExpandBy(e), w), n = w) : (n = v, this.state.hasEverRenderedRows = !0), this.tableViewMixinPrepareRenderRangeForMutation(n), l.copyRangeInto(this.state.renderRange, n) | |
} else this.state.renderRange = null | |
}, | |
shouldComponentUpdate: function(e, t) { | |
return t !== this.state || this.props.sectionData !== e.sectionData || this.props.contentInset !== e.contentInset || this.props.scrollIndicatorInsets !== e.scrollIndicatorInsets || e.throttleScrollCallbackMS !== this.props.throttleScrollCallbackMS || e.throttleVisibleCellsChangeMS !== this.props.throttleVisibleCellsChangeMS || b.getShouldUpdateHeaders(e) === C.always || b.getShouldUpdateRows(e) === E.always | |
}, | |
tableViewMixinGetInitialState: function() { | |
var e = l.nextRenderRange(this.props, this.props, null, null, v), | |
t = e ? { | |
start: { | |
section: v.start.section, | |
row: v.start.row | |
}, | |
end: { | |
section: v.end.section, | |
row: v.end.row | |
} | |
} : null; | |
return { | |
renderRange: t, | |
hasEverRenderedRows: !!t, | |
visibleRange: null, | |
__currentRenderSection: null, | |
__reuseBufferCount: 0, | |
__reusedChildBuffer: [] | |
} | |
}, | |
scrollToTop: function() { | |
h.scrollTo(m.rootNodeIDToTag[this._rootNodeID], 0, 0) | |
}, | |
tableViewMixinPrepareVisibleRangeForMutation: function() { | |
null === this.state.visibleRange && (this.state.visibleRange = { | |
start: {}, | |
end: {} | |
}) | |
}, | |
tableViewMixinPrepareRenderRangeForMutation: function(e) { | |
null !== e && null === this.state.renderRange ? this.state.renderRange = { | |
start: {}, | |
end: {} | |
} : null === e && null !== this.state.renderRange && (this.state.renderRange = null) | |
}, | |
tableViewMixinCachedViewForHeaderInSection: function(e) { | |
var t = "header_" + e, | |
n = this.refs && this.refs[t], | |
r = b.getShouldUpdateHeaders(this.props), | |
o = this.props.sectionData[e]; | |
if (n) { | |
var i = r === C.always || r === C.whenSectionDataChanges && o !== n.props.rowData; | |
if (!i) return n.props.shouldUpdate = !1, n.props.rowData = o, n._currentElement | |
} | |
var a = this.props.viewForHeaderInSection(e); | |
return a || c(0, "Requires header content at [%s]", e), a ? f.createElement(s, { | |
rowData: o, | |
ref: t, | |
key: t, | |
shouldUpdate: !0 | |
}, a) : null | |
}, | |
cachedCellForRowAtIndexPath: function(e, t) { | |
var n = "row_" + e + "_" + t, | |
r = this.props.sectionData[e][t], | |
o = b.getShouldUpdateRows(this.props), | |
i = this.refs && this.refs[n]; | |
if (i) { | |
var a = o === E.always || o === E.whenRowDataChanges && r !== i.props.rowData; | |
if (!a) return i.props.shouldUpdate = !1, i.props.rowData = r, i._currentElement | |
} | |
var l = this.props.cellForRowAtIndexPath(e, t); | |
return l || c(0, "Requires row content at [%s,%s]", e, t), l.constructor == R.componentConstructor && c(0, "Row must not be wrapped in RKTableViewCell at [%s,%s]", e, t), f.createElement(s, { | |
rowData: r, | |
ref: n, | |
key: n, | |
shouldUpdate: !0 | |
}, this.wrapCellContent(l)) | |
}, | |
tableViewMixinHandleVisibleRangeChange: function(e, t) { | |
var n; | |
l.nextRenderRange(this.props, this.props, this.state.renderRange, t, v, S); | |
var r = l.rangesDiffer(v, this.state.renderRange); | |
r && (e ? n = v : (l.stepTowardsTargetRange(this.props.sectionData, S, v, b.getMaxExpandBy(this.props), w), n = w), this.tableViewMixinPrepareRenderRangeForMutation(n), l.copyRangeInto(this.state.renderRange, n), b.validRange(this.state.renderRange) || c(0, "Bad rendered range"), this.forceUpdate()), this.props.onVisibleCellsChange && this.props.onVisibleCellsChange(t) | |
}, | |
tableViewMixinRenderRowData: function(e, t) { | |
var n = this.state.__currentRenderSection, | |
r = this.cachedCellForRowAtIndexPath(this.state.__currentRenderSection, t); | |
r || c(0, "Cell required for index path %s %s", n, t), this.state.__reusedChildBuffer[this.state.__reuseBufferCount++] = r | |
}, | |
tableViewMixinRenderSectionData: function(e, t) { | |
var n = this.state.renderRange, | |
r = this.tableViewMixinCachedViewForHeaderInSection(t); | |
this.state.__reusedChildBuffer[this.state.__reuseBufferCount++] = r, r || c(0, "Must have header component for section %s", t), this.state.__currentRenderSection = t; | |
var o = i.size(e); | |
if (e && o) { | |
var a = t === n.start.section ? n.start.row : i.keyAtIndex(e, 0), | |
s = t === n.end.section ? n.end.row : i.keyAtIndex(e, o - 1); | |
(null === a || null === s) && c(0, "Section has length yet rendering range that assumes only has headers"), a && s || !a && !s || c(0, "Either we know both the start/end row key or we have no rows"), i.forEachKeyRange(e, this.tableViewMixinRenderRowData, a, s) | |
} else(t === n.start.section ? null === n.start.row : t === n.end.section ? null === n.end.row : t !== n.start.section && t !== n.end.section) || c(0, "Start row should not be specified if there are no rows in the starting section, or no end rows if in the ending section.") | |
}, | |
tableViewMixinRenderChildren: function() { | |
this.state.__reuseBufferCount = 0; | |
var e = this.state.renderRange; | |
return e.start.section && e.end.section && i.forEachKeyRange(this.props.sectionData, this.tableViewMixinRenderSectionData, e.start.section, e.end.section), this.state.__reusedChildBuffer.length = this.state.__reuseBufferCount, this.state.__reusedChildBuffer | |
}, | |
tableViewMixinValidateProperties: function(e) { | |
e.sectionData || c(0, "Needs `sectionData=ImmutableMap`"), e.cellForRowAtIndexPath && e.viewForHeaderInSection || c(0, "Must provide `cellForRowAtIndexPath` and `viewForHeaderInSection`"), e.shouldUpdateHeaders && !C[e.shouldUpdateHeaders] && c(0, "invalid shouldUpdateHeaders"), e.shouldUpdateRows && !E[e.shouldUpdateRows] && c(0, "invalid shouldUpdateRows") | |
} | |
}; | |
var C = b.HeaderUpdate = d({ | |
always: null, | |
never: null, | |
whenSectionDataChanges: null | |
}), | |
E = b.RowUpdate = d({ | |
always: null, | |
never: null, | |
whenRowDataChanges: null | |
}); | |
o.exports = b | |
}), __d("StaticContainer.react", [], function(e, t, n, r, o) { | |
var i = t("React"), | |
a = t("onlyChild"), | |
s = i.createClass({ | |
displayName: "StaticContainer", | |
shouldComponentUpdate: function(e) { | |
return e.shouldUpdate | |
}, | |
render: function() { | |
return a(this.props.children) | |
} | |
}); | |
o.exports = s | |
}), __d("onlyChild", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return a.isValidElement(e) || s(0, "onlyChild must be passed a children with exactly one child."), e | |
} | |
var a = t("ReactElement"), | |
s = t("invariant"); | |
o.exports = i | |
}), __d("Text", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeMethodsMixin"), | |
a = t("React"), | |
s = t("ReactIOSViewAttributes"), | |
l = t("StyleSheetPropType"), | |
u = t("TextStylePropTypes"), | |
c = t("Touchable"), | |
d = t("createReactIOSNativeComponentClass"), | |
p = t("merge"), | |
h = { | |
validAttributes: p(s.UIView, { | |
accessible: !0, | |
containerBackgroundColor: !0, | |
isHighlighted: !0, | |
color: !0, | |
fontFamily: !0, | |
fontSize: !0, | |
fontWeight: !0, | |
lineHeight: !0, | |
textAlign: !0, | |
numberOfLines: !0, | |
testID: !0 | |
}), | |
uiViewClassName: "RKText" | |
}, | |
f = d(h), | |
m = l(u), | |
g = { | |
top: 20, | |
left: 20, | |
right: 20, | |
bottom: 30 | |
}, | |
_ = a.createClass({ | |
displayName: "Text", | |
mixins: [c.Mixin, i], | |
statics: { | |
stylePropType: m | |
}, | |
propTypes: { | |
onPress: a.PropTypes.func, | |
suppressHighlighting: a.PropTypes.bool, | |
style: l(u) | |
}, | |
viewConfig: h, | |
getInitialState: function() { | |
return p(this.touchableGetInitialState(), { | |
isHighlighted: !1 | |
}) | |
}, | |
onStartShouldSetResponder: function() { | |
var e = this.props.onStartShouldSetResponder && this.props.onStartShouldSetResponder(); | |
return e || !!this.props.onPress | |
}, | |
handleResponderTerminationRequest: function() { | |
var e = this.touchableHandleResponderTerminationRequest(); | |
return e && this.props.onResponderTerminationRequest && (e = this.props.onResponderTerminationRequest()), e | |
}, | |
handleResponderGrant: function(e, t) { | |
this.touchableHandleResponderGrant(e, t), this.props.onResponderGrant && this.props.onResponderGrant.apply(this, arguments) | |
}, | |
handleResponderMove: function(e) { | |
this.touchableHandleResponderMove(e), this.props.onResponderMove && this.props.onResponderMove.apply(this, arguments) | |
}, | |
handleResponderRelease: function(e) { | |
this.touchableHandleResponderRelease(e), this.props.onResponderRelease && this.props.onResponderRelease.apply(this, arguments) | |
}, | |
handleResponderTerminate: function(e) { | |
this.touchableHandleResponderTerminate(e), this.props.onResponderTerminate && this.props.onResponderTerminate.apply(this, arguments) | |
}, | |
touchableHandleActivePressIn: function() { | |
!this.props.suppressHighlighting && this.props.onPress && this.setState({ | |
isHighlighted: !0 | |
}) | |
}, | |
touchableHandleActivePressOut: function() { | |
!this.props.suppressHighlighting && this.props.onPress && this.setState({ | |
isHighlighted: !1 | |
}) | |
}, | |
touchableHandlePress: function() { | |
this.props.onPress && this.props.onPress() | |
}, | |
touchableGetPressRectOffset: function() { | |
return g | |
}, | |
render: function() { | |
var e = {}; | |
for (var t in this.props) e[t] = this.props[t]; | |
return e.ref = this.getNodeHandle(), e.accessible !== !1 && (e.accessible = !0), e.isHighlighted = this.state.isHighlighted, e.onStartShouldSetResponder = this.onStartShouldSetResponder, e.onResponderTerminationRequest = this.handleResponderTerminationRequest, e.onResponderGrant = this.handleResponderGrant, e.onResponderMove = this.handleResponderMove, e.onResponderRelease = this.handleResponderRelease, e.onResponderTerminate = this.handleResponderTerminate, a.createElement(f, Object.assign({}, e)) | |
} | |
}); | |
o.exports = _ | |
}), __d("Touchable", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("BoundingDimensions"), | |
a = t("Position"), | |
s = t("TouchEventUtils"), | |
l = t("invariant"), | |
u = t("keyMirror"), | |
c = t("queryLayoutByID"), | |
d = u({ | |
NOT_RESPONDER: null, | |
RESPONDER_INACTIVE_PRESS_IN: null, | |
RESPONDER_INACTIVE_PRESS_OUT: null, | |
RESPONDER_ACTIVE_PRESS_IN: null, | |
RESPONDER_ACTIVE_PRESS_OUT: null, | |
RESPONDER_ACTIVE_LONG_PRESS_IN: null, | |
RESPONDER_ACTIVE_LONG_PRESS_OUT: null, | |
ERROR: null | |
}), | |
p = { | |
RESPONDER_ACTIVE_PRESS_OUT: !0, | |
RESPONDER_ACTIVE_PRESS_IN: !0 | |
}, | |
h = { | |
RESPONDER_INACTIVE_PRESS_IN: !0, | |
RESPONDER_ACTIVE_PRESS_IN: !0, | |
RESPONDER_ACTIVE_LONG_PRESS_IN: !0 | |
}, | |
f = { | |
RESPONDER_ACTIVE_LONG_PRESS_IN: !0 | |
}, | |
m = u({ | |
DELAY: null, | |
RESPONDER_GRANT: null, | |
RESPONDER_RELEASE: null, | |
RESPONDER_TERMINATED: null, | |
ENTER_PRESS_RECT: null, | |
LEAVE_PRESS_RECT: null, | |
LONG_PRESS_DETECTED: null | |
}), | |
g = { | |
NOT_RESPONDER: { | |
DELAY: d.ERROR, | |
RESPONDER_GRANT: d.RESPONDER_INACTIVE_PRESS_IN, | |
RESPONDER_RELEASE: d.ERROR, | |
RESPONDER_TERMINATED: d.ERROR, | |
ENTER_PRESS_RECT: d.ERROR, | |
LEAVE_PRESS_RECT: d.ERROR, | |
LONG_PRESS_DETECTED: d.ERROR | |
}, | |
RESPONDER_INACTIVE_PRESS_IN: { | |
DELAY: d.RESPONDER_ACTIVE_PRESS_IN, | |
RESPONDER_GRANT: d.ERROR, | |
RESPONDER_RELEASE: d.NOT_RESPONDER, | |
RESPONDER_TERMINATED: d.NOT_RESPONDER, | |
ENTER_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_IN, | |
LEAVE_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_OUT, | |
LONG_PRESS_DETECTED: d.ERROR | |
}, | |
RESPONDER_INACTIVE_PRESS_OUT: { | |
DELAY: d.RESPONDER_ACTIVE_PRESS_OUT, | |
RESPONDER_GRANT: d.ERROR, | |
RESPONDER_RELEASE: d.NOT_RESPONDER, | |
RESPONDER_TERMINATED: d.NOT_RESPONDER, | |
ENTER_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_IN, | |
LEAVE_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_OUT, | |
LONG_PRESS_DETECTED: d.ERROR | |
}, | |
RESPONDER_ACTIVE_PRESS_IN: { | |
DELAY: d.ERROR, | |
RESPONDER_GRANT: d.ERROR, | |
RESPONDER_RELEASE: d.NOT_RESPONDER, | |
RESPONDER_TERMINATED: d.NOT_RESPONDER, | |
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_IN, | |
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_OUT, | |
LONG_PRESS_DETECTED: d.RESPONDER_ACTIVE_LONG_PRESS_IN | |
}, | |
RESPONDER_ACTIVE_PRESS_OUT: { | |
DELAY: d.ERROR, | |
RESPONDER_GRANT: d.ERROR, | |
RESPONDER_RELEASE: d.NOT_RESPONDER, | |
RESPONDER_TERMINATED: d.NOT_RESPONDER, | |
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_IN, | |
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_OUT, | |
LONG_PRESS_DETECTED: d.ERROR | |
}, | |
RESPONDER_ACTIVE_LONG_PRESS_IN: { | |
DELAY: d.ERROR, | |
RESPONDER_GRANT: d.ERROR, | |
RESPONDER_RELEASE: d.NOT_RESPONDER, | |
RESPONDER_TERMINATED: d.NOT_RESPONDER, | |
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_IN, | |
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_OUT, | |
LONG_PRESS_DETECTED: d.RESPONDER_ACTIVE_LONG_PRESS_IN | |
}, | |
RESPONDER_ACTIVE_LONG_PRESS_OUT: { | |
DELAY: d.ERROR, | |
RESPONDER_GRANT: d.ERROR, | |
RESPONDER_RELEASE: d.NOT_RESPONDER, | |
RESPONDER_TERMINATED: d.NOT_RESPONDER, | |
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_IN, | |
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_OUT, | |
LONG_PRESS_DETECTED: d.ERROR | |
}, | |
error: { | |
DELAY: d.NOT_RESPONDER, | |
RESPONDER_GRANT: d.RESPONDER_INACTIVE_PRESS_IN, | |
RESPONDER_RELEASE: d.NOT_RESPONDER, | |
RESPONDER_TERMINATED: d.NOT_RESPONDER, | |
ENTER_PRESS_RECT: d.NOT_RESPONDER, | |
LEAVE_PRESS_RECT: d.NOT_RESPONDER, | |
LONG_PRESS_DETECTED: d.NOT_RESPONDER | |
} | |
}, | |
_ = 130, | |
y = 20, | |
v = 500, | |
S = 10, | |
w = { | |
touchableGetInitialState: function() { | |
return { | |
touchable: { | |
touchState: void 0, | |
responderID: null | |
} | |
} | |
}, | |
touchableHandleResponderTerminationRequest: function() { | |
return !0 | |
}, | |
touchableHandleStartShouldSetResponder: function() { | |
return !0 | |
}, | |
touchableLongPressCancelsPress: function() { | |
return !0 | |
}, | |
touchableHandleResponderGrant: function(e, t) { | |
e.persist(), this.state.touchable.touchState = d.NOT_RESPONDER, this.state.touchable.responderID = t, this._receiveSignal(m.RESPONDER_GRANT, e); | |
var n = void 0 !== this.touchableGetHighlightDelayMS ? this.touchableGetHighlightDelayMS() : _; | |
0 !== n ? this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), n) : this._handleDelay(e), this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), v - n) | |
}, | |
touchableHandleResponderRelease: function(e) { | |
this._receiveSignal(m.RESPONDER_RELEASE, e) | |
}, | |
touchableHandleResponderTerminate: function(e) { | |
this._receiveSignal(m.RESPONDER_TERMINATED, e) | |
}, | |
touchableHandleResponderMove: function(e) { | |
if (this.state.touchable.touchState !== d.RESPONDER_INACTIVE_PRESS_IN && this.state.touchable.positionOnActivate) { | |
var t = this.state.touchable.positionOnActivate, | |
n = this.state.touchable.dimensionsOnActivate, | |
r = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : null, | |
o = null != r.left ? r.left : y, | |
i = null != r.top ? r.top : y, | |
a = null != r.right ? r.right : y, | |
l = null != r.bottom ? r.bottom : y, | |
u = s.extractSingleTouch(e.nativeEvent), | |
c = u && u.pageX, | |
p = u && u.pageY; | |
if (this.pressInLocation) { | |
var h = this._getDistanceBetweenPoints(c, p, this.pressInLocation.pageX, this.pressInLocation.pageY); | |
h > S && this._cancelLongPressDelayTimeout() | |
} | |
var f = c > t.left - o && p > t.top - i && c < t.left + n.width + a && p < t.top + n.height + l; | |
f ? this._receiveSignal(m.ENTER_PRESS_RECT, e) : this._receiveSignal(m.LEAVE_PRESS_RECT, e) | |
} | |
}, | |
_remeasureMetricsOnActivation: function() { | |
c(this.state.touchable.responderID, null, this._handleQueryLayout) | |
}, | |
_handleQueryLayout: function(e, t, n, r, o, s) { | |
this.state.touchable.positionOnActivate && a.release(this.state.touchable.positionOnActivate), this.state.touchable.dimensionsOnActivate && i.release(this.state.touchable.dimensionsOnActivate), this.state.touchable.positionOnActivate = a.getPooled(o, s), this.state.touchable.dimensionsOnActivate = i.getPooled(n, r) | |
}, | |
_handleDelay: function(e) { | |
this.touchableDelayTimeout = null, this._receiveSignal(m.DELAY, e) | |
}, | |
_handleLongDelay: function(e) { | |
this.longPressDelayTimeout = null, this._receiveSignal(m.LONG_PRESS_DETECTED, e) | |
}, | |
_receiveSignal: function(e, t) { | |
var n = this.state.touchable.touchState; | |
g[n] && g[n][e] || l(0, "You have supplied either an unrecognized signal or current state %s", n); | |
var r = g[n][e]; | |
r === d.ERROR && l(0, "Some assumptions about the state machine were violated. This is the fault of Touchable.js. This case has been modeled and caught as an error transition."), n !== r && (this._performSideEffectsForTransition(n, r, e, t), this.state.touchable.touchState = r) | |
}, | |
_cancelLongPressDelayTimeout: function() { | |
this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout), this.longPressDelayTimeout = null | |
}, | |
_isHighlight: function(e) { | |
return e === d.RESPONDER_ACTIVE_PRESS_IN || e === d.RESPONDER_ACTIVE_LONG_PRESS_IN | |
}, | |
_savePressInLocation: function(e) { | |
var t = s.extractSingleTouch(e.nativeEvent), | |
n = t && t.pageX, | |
r = t && t.pageY; | |
this.pressInLocation = { | |
pageX: n, | |
pageY: r | |
} | |
}, | |
_getDistanceBetweenPoints: function(e, t, n, r) { | |
var o = e - n, | |
i = t - r; | |
return Math.sqrt(o * o + i * i) | |
}, | |
_performSideEffectsForTransition: function(e, t, n, r) { | |
var o = this._isHighlight(e), | |
i = this._isHighlight(t), | |
a = n === m.RESPONDER_TERMINATED || n === m.RESPONDER_RELEASE; | |
if (a && this._cancelLongPressDelayTimeout(), !p[e] && p[t] && this._remeasureMetricsOnActivation(), h[e] && n === m.LONG_PRESS_DETECTED && this.touchableHandleLongPress && this.touchableHandleLongPress(), i && !o ? (this._savePressInLocation(r), this.touchableHandleActivePressIn && this.touchableHandleActivePressIn()) : !i && o && this.touchableHandleActivePressOut && this.touchableHandleActivePressOut(), h[e] && n === m.RESPONDER_RELEASE) { | |
var s = !!this.touchableHandleLongPress, | |
l = f[e] && (!s || !this.touchableLongPressCancelsPress()), | |
u = !f[e] || l; | |
u && this.touchableHandlePress && this.touchableHandlePress(r) | |
} | |
this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout), this.touchableDelayTimeout = null | |
} | |
}, | |
b = { | |
Mixin: w | |
}; | |
o.exports = b | |
}), __d("BoundingDimensions", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
this.width = e, this.height = t | |
} | |
var a = t("PooledClass"), | |
s = a.twoArgumentPooler; | |
i.getPooledFromElement = function(e) { | |
return i.getPooled(e.offsetWidth, e.offsetHeight) | |
}, a.addPoolingTo(i, s), o.exports = i | |
}), __d("Position", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
this.left = e, this.top = t | |
} | |
var a = t("PooledClass"), | |
s = a.twoArgumentPooler; | |
a.addPoolingTo(i, s), o.exports = i | |
}), __d("TouchEventUtils", [], function(e, t, n, r, o) { | |
var i = { | |
extractSingleTouch: function(e) { | |
var t = e.touches, | |
n = e.changedTouches, | |
r = t && t.length > 0, | |
o = n && n.length > 0; | |
return !r && o ? n[0] : r ? t[0] : e | |
} | |
}; | |
o.exports = i | |
}), __d("queryLayoutByID", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactIOSTagHandles"), | |
a = t("NativeModulesDeprecated").RKUIManager, | |
s = function(e, t, n) { | |
a.measure(i.rootNodeIDToTag[e], n) | |
}; | |
o.exports = s | |
}), __d("THColors", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
backgroundColor: "#ffffff", | |
backgroundWash: "#f5f6f7", | |
borderColor: "#e4e7e7", | |
buttonColor: "#eeeeee", | |
darkerDivider: "#cacdce", | |
divider: "#e1e4e5", | |
fadedText: "#d3d6db", | |
fakeStoryTextBlock: "#ecebec", | |
feedbackFadedText: "#adb2bb", | |
feedbackText: "#898f9c", | |
groupsAccent: "#2891f7", | |
lightBackgroundWash: "#f5f6f7", | |
lightBlue: "#2ea2ff", | |
mediumGray: "#333333", | |
reportedText: "#6a7180", | |
timestamp: "#b9b9b9", | |
unlikedGray: "#b9b9b9" | |
}; | |
o.exports = i | |
}), __d("THDockedInputContainer", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("AnimationMixin"), | |
a = t("cloneWithProps"), | |
s = t("DocumentContent"), | |
l = t("NativeModulesDeprecated"), | |
u = t("React"), | |
c = t("ReactIOSAnimation"), | |
d = t("RKDimensions"), | |
p = t("StyleSheet"), | |
h = t("Subscribable"), | |
f = t("THColors"), | |
m = t("THInputBarView"), | |
g = t("View"), | |
_ = t("keyMirror"), | |
y = t("logError"), | |
v = "scroll_responder", | |
S = "comment_input", | |
w = "comment_input_wash", | |
b = l.RKUIManager, | |
R = { | |
property: c.Properties.translationY, | |
toValue: 280, | |
velocity: 20 | |
}, | |
C = { | |
property: c.Properties.translationY, | |
dynamicsTension: 0, | |
toValue: 0, | |
velocity: 100 | |
}, | |
E = { | |
property: c.Properties.opacity, | |
toValue: 0, | |
duration: .3 | |
}, | |
D = { | |
property: c.Properties.opacity, | |
toValue: .5, | |
duration: .3 | |
}, | |
x = { | |
property: c.Properties.opacity, | |
toValue: 1, | |
duration: .3 | |
}, | |
F = u.createClass({ | |
displayName: "THDockedInputContainer", | |
propTypes: { | |
scrollResponder: u.PropTypes.object.isRequired, | |
onDockedCommentSubmit: u.PropTypes.func, | |
onDockedCommentAbort: u.PropTypes.func, | |
onDidDock: u.PropTypes.func, | |
groupID: u.PropTypes.string | |
}, | |
statics: { | |
Mode: _({ | |
partialWash: !0, | |
fullHide: !0 | |
}), | |
contentPaddingHorizontal: 16 | |
}, | |
mixins: [h.Mixin, i], | |
getInitialState: function() { | |
return { | |
initialText: new s, | |
getTappedNodeHandle: null, | |
recentKeyboardMovement: null, | |
inputWashTop: 0 | |
} | |
}, | |
handleDockAnimateOutComplete: function() { | |
this.refs[w].setNativeProps({ | |
style: { | |
opacity: 0 | |
} | |
}), this.startAnimation(w, c.createLinearAnimation(C)) | |
}, | |
handleKeyboardWillHide: function(e) { | |
if (this.state.recentKeyboardMovement = e, this.state.getTappedNodeHandle) { | |
var t = [{ | |
ref: w, | |
anim: c.createEaseOutAnimation(R) | |
}, { | |
ref: w, | |
anim: c.createLinearAnimation(E) | |
}], | |
n = this.state.getTappedNodeHandle(); | |
n && (this.refs[v].scrollResponderScrollNativeHandleToKeyboard(n, this.state.mode === F.Mode.partialWash ? this.refs[S].getBarHeight() : 0), t.push({ | |
nodeHandle: n, | |
anim: c.createLinearAnimation(x) | |
})), this.startAnimations(t, this.handleDockAnimateOutComplete, y), this.state.getTappedNodeHandle = null | |
} | |
}, | |
handleKeyboardDidShow: function() { | |
this.state.getTappedNodeHandle && (this.refs[v].setNativeProps({ | |
scrollEnabled: !0 | |
}), this.props.onDidDock && this.props.onDidDock(), this.startAnimations([{ | |
ref: w, | |
anim: c.createLinearAnimation(x) | |
}, { | |
nodeHandle: this.state.getTappedNodeHandle(), | |
anim: c.createLinearAnimation(this.state.mode === F.Mode.partialWash ? D : E) | |
}])) | |
}, | |
handleKeyboardWillShow: function(e) { | |
if (this.state.getTappedNodeHandle) { | |
var t = this.getBarHeight(); | |
this.refs[v].scrollResponderScrollNativeHandleToKeyboard(this.state.getTappedNodeHandle(), this.state.mode === F.Mode.partialWash ? t : 0), this.state.recentKeyboardMovement = e, this.updateDockedInputLocation(t) | |
} | |
}, | |
getInitialBarHeight: function() { | |
return this.refs[S].getInitialBarHeight() | |
}, | |
getBarHeight: function() { | |
return this.refs[S].getBarHeight() | |
}, | |
handleInputBarHeightChange: function(e) { | |
this.updateDockedInputLocation(e), this.props.onHeightChange && this.props.onHeightChange(e) | |
}, | |
updateDockedInputLocation: function(e) { | |
var t = this.state.recentKeyboardMovement.endCoordinates.screenY - e; | |
this.setState({ | |
inputWashTop: t | |
}) | |
}, | |
enableScrollResponderAutoInsets: function(e) { | |
this.refs[v].setNativeProps({ | |
automaticallyAdjustContentInsets: e | |
}) | |
}, | |
initiateDockedInput: function(e) { | |
var t = e.getTappedNodeHandle, | |
n = e.mode, | |
r = e.initialText, | |
o = e.comparisonTextForCanPost; | |
this.setState({ | |
getTappedNodeHandle: t, | |
mode: n, | |
initialText: r, | |
text: r, | |
comparisonTextForCanPost: o | |
}), this.refs[v].setNativeProps({ | |
scrollEnabled: !1 | |
}), this.refs[S].focusInput() | |
}, | |
componentDidMount: function() { | |
b.setMainScrollViewTag(this.refs[v].getNodeHandle()) | |
}, | |
componentDidUnmount: function() { | |
b.setMainScrollViewTag(0) | |
}, | |
handleTextChange: function(e) { | |
this.setState({ | |
text: e | |
}) | |
}, | |
getScrollResponder: function() { | |
return this.refs[v] | |
}, | |
cancelDockedInput: function() { | |
this.refs[S].blurInput() | |
}, | |
render: function() { | |
var e = a(this.props.scrollResponder, { | |
ref: v, | |
onKeyboardWillShow: this.handleKeyboardWillShow, | |
onKeyboardDidShow: this.handleKeyboardDidShow, | |
onKeyboardWillHide: this.handleKeyboardWillHide, | |
onScrollResponderKeyboardDismissed: this.props.onDockedCommentAbort.bind(null, { | |
text: this.state.text, | |
getTappedNodeHandle: this.state.getTappedNodeHandle, | |
initialText: this.state.initialText | |
}) | |
}); | |
return u.createElement(g, { | |
style: I.container | |
}, e, u.createElement(g, { | |
style: [I.inputWash, { | |
top: this.state.inputWashTop | |
}], | |
ref: w | |
}, u.createElement(m, { | |
canComment: !0, | |
canCommentInline: !0, | |
ref: S, | |
groupID: this.props.groupID, | |
initialText: this.state.initialText, | |
comparisonTextForCanPost: this.state.comparisonTextForCanPost, | |
onTextChange: this.handleTextChange, | |
onHeightChange: this.handleInputBarHeightChange, | |
onInlineCommentSubmit: this.props.onDockedCommentSubmit, | |
paddingHorizontal: F.contentPaddingHorizontal | |
}))) | |
} | |
}), | |
I = p.create({ | |
container: { | |
height: d.get("window").height, | |
width: d.get("window").width, | |
backgroundColor: f.backgroundWash | |
}, | |
inputWash: { | |
height: 600, | |
opacity: 0, | |
position: "absolute", | |
backgroundColor: f.backgroundColor, | |
right: 0, | |
left: 0 | |
} | |
}); | |
o.exports = F | |
}), __d("DocumentContent", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
return t.length !== l(e) && p(0, "Length of block array must match number of blocks in text."), t | |
} | |
function a(e, t) { | |
return t.length != e.length && p(0, "Length of inline style array must match text length."), t | |
} | |
function s(e, t) { | |
return t.length !== e.length && p(0, "Length of entity array must match text length."), t | |
} | |
function l(e, t) { | |
return null != t && (e = e.substr(0, t)), e.split(h).length | |
} | |
function u(e, t, n, r) { | |
"use strict"; | |
this.$DocumentContent_version = 1, this.$DocumentContent_text = e || "", this.$DocumentContent_inlines = t ? a(this.$DocumentContent_text, t) : d(this.$DocumentContent_text.length, m.NONE), this.$DocumentContent_blocks = n ? i(this.$DocumentContent_text, n) : d(l(this.$DocumentContent_text), f.UNSTYLED), this.$DocumentContent_entities = r ? s(this.$DocumentContent_text, r) : d(this.$DocumentContent_text.length, null), this.$DocumentContent_undoStack = [], this.$DocumentContent_redoStack = [] | |
} | |
var c = t("DocumentCharacters"), | |
d = t("fillArray"), | |
p = t("invariant"), | |
h = c.BLOCK_DELIMITER, | |
f = t("ComposedBlockType"), | |
m = t("ComposedInlineStyle"); | |
u.prototype.bumpVersion = function() { | |
"use strict"; | |
this.$DocumentContent_version++ | |
}, u.prototype.getVersion = function() { | |
"use strict"; | |
return "v" + this.$DocumentContent_version | |
}, u.prototype.getText = function() { | |
"use strict"; | |
return this.$DocumentContent_text | |
}, u.prototype.getInlineStyles = function() { | |
"use strict"; | |
return this.$DocumentContent_inlines | |
}, u.prototype.getBlockStyles = function() { | |
"use strict"; | |
return this.$DocumentContent_blocks | |
}, u.prototype.getBlockStylesAroundRange = function(e, t) { | |
"use strict"; | |
var n = l(this.$DocumentContent_text, e) - 1, | |
r = l(this.$DocumentContent_text, t); | |
return this.$DocumentContent_blocks.slice(n, r) | |
}, u.prototype.getEntities = function() { | |
"use strict"; | |
return this.$DocumentContent_entities | |
}, u.prototype.getFragment = function(e, t) { | |
"use strict"; | |
return { | |
text: this.$DocumentContent_text.slice(e, t), | |
inlines: this.$DocumentContent_inlines.slice(e, t), | |
blocks: this.getBlockStylesAroundRange(e, t), | |
entities: this.$DocumentContent_entities.slice(e, t) | |
} | |
}, u.prototype.getData = function() { | |
"use strict"; | |
return { | |
text: this.$DocumentContent_text, | |
inlines: this.$DocumentContent_inlines, | |
blocks: this.$DocumentContent_blocks, | |
entities: this.$DocumentContent_entities | |
} | |
}, u.prototype.update = function(e, t, n, r) { | |
"use strict"; | |
s(e, r), a(e, t), i(e, n), this.$DocumentContent_text = e, this.$DocumentContent_inlines = t, this.$DocumentContent_blocks = n, this.$DocumentContent_entities = r, this.$DocumentContent_version++ | |
}, u.prototype.addForwardTransaction = function(e) { | |
"use strict"; | |
this.$DocumentContent_undoStack.push(e), this.$DocumentContent_redoStack.length = 0 | |
}, u.prototype.getUndoDiffs = function() { | |
"use strict"; | |
if (this.$DocumentContent_undoStack.length > 0) { | |
var e = this.$DocumentContent_undoStack.pop(); | |
return this.$DocumentContent_redoStack.push(e), e | |
} | |
return [] | |
}, u.prototype.getRedoDiffs = function() { | |
"use strict"; | |
if (this.$DocumentContent_redoStack.length > 0) { | |
var e = this.$DocumentContent_redoStack.pop(); | |
return this.$DocumentContent_undoStack.push(e), e | |
} | |
return [] | |
}, o.exports = u | |
}), __d("DocumentCharacters", [], function(e, t, n, r, o) { | |
var i = { | |
BLOCK_DELIMITER: "\r", | |
SOFT_NEWLINE: "\n", | |
PHOTO: "📷", | |
VIDEO: "📹" | |
}; | |
o.exports = i | |
}), __d("fillArray", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
for (var n = new Array(e), r = 0; e > r; r++) n[r] = t; | |
return n | |
} | |
o.exports = i | |
}), __d("ComposedBlockType", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
UNSTYLED: 0, | |
PARAGRAPH: 1, | |
UNORDERED_LIST_ITEM: 2, | |
ORDERED_LIST_ITEM: 3, | |
BLOCKQUOTE: 4, | |
HEADER_ONE: 5, | |
HEADER_TWO: 6, | |
CODE: 7, | |
MEDIA: 8 | |
}; | |
o.exports = i | |
}), __d("ComposedInlineStyle", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
NONE: 0, | |
BOLD: 1, | |
ITALIC: 2, | |
UNDERLINE: 4, | |
CODE: 8 | |
}; | |
o.exports = i | |
}), __d("THInputBarView", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("DocumentContent"), | |
a = t("DocumentSelectionState"), | |
s = t("FIGColors"), | |
l = t("FBStickerInputView"), | |
u = t("Image"), | |
c = t("MentionsInput.react"), | |
d = t("MentionsInputTypeaheadView.react"), | |
p = t("NativeModulesDeprecated"), | |
h = t("React"), | |
f = t("StyleSheet"), | |
m = t("TimerMixin"), | |
g = t("Text"), | |
_ = t("THColors"), | |
y = t("THSounds"), | |
v = t("TouchableBounce"), | |
S = t("TouchableHighlight"), | |
w = t("TouchableWithoutFeedback"), | |
b = t("View"), | |
R = t("clamp"), | |
C = t("copyDocumentContent"), | |
E = t("documentContentsAreEqual"), | |
D = t("fbt"), | |
x = t("getMentionsSearchSource"), | |
F = t("getTextWithEntitiesFromDocument"), | |
I = t("ix"), | |
T = p.RKTreehouseManager, | |
P = "stickerInputView", | |
L = "keyboardInputView", | |
k = "inputRow", | |
M = "inputField", | |
A = 35, | |
Q = 100, | |
O = 6, | |
N = .5, | |
G = 13, | |
$ = 14, | |
B = function(e) { | |
return e + 2 * O + N | |
}, | |
U = D({ | |
type: "text", | |
texts: ["Write a comment..."], | |
desc: "Placeholder text for comment input" | |
}), | |
V = D({ | |
type: "text", | |
texts: ["Post"], | |
desc: "Post a comment" | |
}), | |
q = h.createClass({ | |
displayName: "THInputBarView", | |
mixins: [m], | |
propTypes: { | |
canCommentInline: h.PropTypes.bool, | |
onNonInlineCommentRequested: h.PropTypes.func, | |
onInlineCommentSubmit: h.PropTypes.func, | |
initialText: h.PropTypes.instanceOf(i), | |
comparisonTextForCanPost: h.PropTypes.instanceOf(i), | |
hidePostButton: h.PropTypes.bool, | |
groupID: h.PropTypes.string, | |
paddingHorizontal: h.PropTypes.number | |
}, | |
focusInput: function() { | |
this.refs[M].focus() | |
}, | |
blurInput: function() { | |
this.refs[M].blur() | |
}, | |
getDefaultProps: function() { | |
return { | |
initialText: new i, | |
hidePostButton: !1, | |
comparisonTextForCanPost: null | |
} | |
}, | |
getInitialState: function() { | |
return { | |
documentContent: C(this.props.initialText), | |
selectionState: new a(0, 0), | |
submittingComment: !1, | |
inputFieldHeight: A, | |
mentionsSource: this.props.canCommentInline && x(this.props.groupID), | |
inputView: L | |
} | |
}, | |
getInitialBarHeight: function() { | |
return B(A) | |
}, | |
getBarHeight: function() { | |
return B(this.state.inputFieldHeight) | |
}, | |
handleChange: function(e) { | |
if (e) { | |
var t = e.nativeEvent.contentSize, | |
n = R(A, t.height, Q); | |
this.state.inputFieldHeight !== n && (this.state.documentContent.bumpVersion(), this.setState({ | |
inputFieldHeight: n | |
}), this.props.onHeightChange && this.props.onHeightChange(B(n))) | |
} | |
this.props.onTextChange && this.props.onTextChange(this.state.documentContent) | |
}, | |
handleActiveInputPress: function() { | |
this.props.canCommentInline && this.setState({ | |
inputView: L | |
}) | |
}, | |
handleInactiveInputPress: function() { | |
this.props.onNonInlineCommentRequested && this.props.onNonInlineCommentRequested(function() { | |
return this.isMounted() && this.refs[k].getNodeHandle() | |
}.bind(this)) | |
}, | |
handleCommentSubmit: function() { | |
T && T.playSound(y.commentCompleted), this.setState({ | |
submittingComment: !0 | |
}), this.refs[M] && this.blurInput(), this.props.onInlineCommentSubmit && this.requestAnimationFrame(function() { | |
var e = F(this.state.documentContent); | |
e ? this.props.onInlineCommentSubmit(e) : console.error("Should not be submitting empty comment.") | |
}.bind(this)) | |
}, | |
handleStickerKeyboardSwitch: function() { | |
this.setState(this.state.inputView === L ? { | |
inputView: P | |
} : { | |
inputView: L | |
}) | |
}, | |
handleStickerCommentSubmit: function(e) { | |
T && T.playSound(y.commentCompleted), this.setState({ | |
submittingComment: !0 | |
}), this.refs[M] && this.blurInput(); | |
var t = e.nativeEvent.stickerFBID, | |
n = F(this.state.documentContent); | |
if (n && t) { | |
var r = { | |
id: t.toString() | |
}; | |
this.props.onInlineCommentSubmit(n, r) | |
} else console.error("Should not be submitting invalid sticker.") | |
}, | |
componentWillReceiveProps: function(e) { | |
var t = this.props.initialText; | |
this.props = e, e.initialText !== t && this.resetCommentField() | |
}, | |
resetCommentField: function() { | |
var e = this.props.initialText || new i; | |
this.state.documentContent.update(e.getText(), e.getInlineStyles().slice(0), e.getBlockStyles().slice(0), e.getEntities().slice(0)), this.setState({ | |
submittingComment: !1 | |
}) | |
}, | |
renderStickerButton: function() { | |
var e; | |
e = I(this.state.inputView === P ? "thSmileGlyphSelected" : "thSmileGlyphNormal"); | |
var t = h.createElement(u, { | |
source: e, | |
style: H.icon | |
}); | |
return h.createElement(S, { | |
onPress: this.handleStickerKeyboardSwitch, | |
activeOpacity: 1 | |
}, h.createElement(b, { | |
style: H.stickerButton | |
}, t)) | |
}, | |
render: function() { | |
var e = !this.state.submittingComment && this.state.documentContent.getText().trim() && !E(this.props.comparisonTextForCanPost, this.state.documentContent), | |
t = null, | |
n = null; | |
switch (this.state.inputView) { | |
case L: | |
t = null; | |
break; | |
case P: | |
t = h.createElement(l, { | |
onStickerSelect: this.handleStickerCommentSubmit | |
}), n = h.createElement(w, { | |
onPress: this.handleActiveInputPress | |
}, h.createElement(b, { | |
style: H.inputFieldOverlay | |
})); | |
break; | |
default: | |
t = null | |
} | |
var r = null, | |
o = null; | |
this.props.hidePostButton || (r = e ? h.createElement(v, { | |
onPress: this.handleCommentSubmit | |
}, h.createElement(b, { | |
style: H.postButton | |
}, h.createElement(g, { | |
style: H.activePostButtonText | |
}, V))) : h.createElement(b, { | |
style: H.postButton | |
}, h.createElement(g, { | |
style: H.inactivePostButtonText | |
}, V)), o = e ? null : this.renderStickerButton()); | |
var i, a, s, u; | |
this.props.canCommentInline ? (i = _.darkerDivider, a = $, s = this.state.inputFieldHeight, u = b.PointerEvents.unspecified) : (i = _.divider, a = G, s = A, u = b.PointerEvents.boxOnly); | |
var p = [H.commentBox, { | |
height: s, | |
fontSize: a | |
}], | |
f = this.state.documentContent.getText() || this.props.canCommentInline ? null : U, | |
m = h.createElement(c, { | |
ref: M, | |
documentContent: this.state.documentContent, | |
placeholder: f, | |
placeholderTextColor: _.feedbackFadedText, | |
selectionState: this.state.selectionState, | |
mentionsSource: this.state.mentionsSource || void 0, | |
typeaheadView: d, | |
textInputStyle: p, | |
onInputFocus: this.resetCommentField, | |
multiline: !0, | |
onChange: this.handleChange, | |
inputView: t | |
}); | |
return h.createElement(b, { | |
ref: k | |
}, h.createElement(b, { | |
key: "divReply", | |
style: [H.divider, { | |
backgroundColor: i | |
}] | |
}), h.createElement(b, { | |
style: [H.buttonsContainer, { | |
paddingHorizontal: this.props.paddingHorizontal | |
}] | |
}, h.createElement(S, { | |
activeOpacity: 1, | |
style: H.touchableInputWrapper, | |
onPress: this.handleInactiveInputPress | |
}, h.createElement(b, { | |
pointerEvents: u | |
}, m)), n, r, o)) | |
} | |
}), | |
H = f.create({ | |
touchableInputWrapper: { | |
flex: 1 | |
}, | |
activePostButtonText: { | |
fontSize: 15, | |
fontWeight: "bold", | |
color: _.groupsAccent | |
}, | |
buttonsContainer: { | |
paddingTop: O, | |
paddingBottom: O, | |
flexDirection: "row", | |
alignItems: "flex-end", | |
marginHorizontal: -4 | |
}, | |
commentBox: { | |
backgroundColor: _.backgroundColor, | |
color: s.mediumText | |
}, | |
divider: { | |
height: N | |
}, | |
inactivePostButtonText: { | |
fontSize: 15, | |
fontWeight: "bold", | |
color: _.fadedText | |
}, | |
postButton: { | |
backgroundColor: _.backgroundColor, | |
justifyContent: "center", | |
alignItems: "center", | |
height: A, | |
paddingLeft: 10, | |
paddingBottom: 6, | |
paddingRight: 4 | |
}, | |
stickerButton: { | |
backgroundColor: _.backgroundColor, | |
justifyContent: "center", | |
alignItems: "center", | |
height: A, | |
paddingLeft: 4, | |
paddingBottom: 4, | |
paddingRight: 4 | |
}, | |
inputFieldOverlay: { | |
position: "absolute", | |
height: A, | |
left: 0, | |
right: 0 | |
}, | |
icon: { | |
width: 20, | |
height: 20 | |
} | |
}); | |
o.exports = q | |
}), __d("DocumentSelectionState", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
"use strict"; | |
this.$DocumentSelectionState_anchorOffset = e, this.$DocumentSelectionState_focusOffset = t, this.$DocumentSelectionState_hasFocus = !1 | |
} | |
var a = t("mixInEventEmitter"); | |
i.prototype.update = function(e, t) { | |
"use strict"; | |
(this.$DocumentSelectionState_anchorOffset !== e || this.$DocumentSelectionState_focusOffset !== t) && (this.$DocumentSelectionState_anchorOffset = e, this.$DocumentSelectionState_focusOffset = t, this.emit("update")) | |
}, i.prototype.constrainLength = function(e) { | |
"use strict"; | |
this.update(Math.min(this.$DocumentSelectionState_anchorOffset, e), Math.min(this.$DocumentSelectionState_focusOffset, e)) | |
}, i.prototype.focus = function() { | |
"use strict"; | |
this.$DocumentSelectionState_hasFocus || (this.$DocumentSelectionState_hasFocus = !0, this.emit("focus")) | |
}, i.prototype.blur = function() { | |
"use strict"; | |
this.$DocumentSelectionState_hasFocus && (this.$DocumentSelectionState_hasFocus = !1, this.emit("blur")) | |
}, i.prototype.hasFocus = function() { | |
"use strict"; | |
return this.$DocumentSelectionState_hasFocus | |
}, i.prototype.isCollapsed = function() { | |
"use strict"; | |
return this.$DocumentSelectionState_anchorOffset === this.$DocumentSelectionState_focusOffset | |
}, i.prototype.isBackward = function() { | |
"use strict"; | |
return this.$DocumentSelectionState_anchorOffset > this.$DocumentSelectionState_focusOffset | |
}, i.prototype.getAnchorOffset = function() { | |
"use strict"; | |
return this.$DocumentSelectionState_hasFocus ? this.$DocumentSelectionState_anchorOffset : null | |
}, i.prototype.getFocusOffset = function() { | |
"use strict"; | |
return this.$DocumentSelectionState_hasFocus ? this.$DocumentSelectionState_focusOffset : null | |
}, i.prototype.getStartOffset = function() { | |
"use strict"; | |
return this.$DocumentSelectionState_hasFocus ? Math.min(this.$DocumentSelectionState_anchorOffset, this.$DocumentSelectionState_focusOffset) : null | |
}, i.prototype.getEndOffset = function() { | |
"use strict"; | |
return this.$DocumentSelectionState_hasFocus ? Math.max(this.$DocumentSelectionState_anchorOffset, this.$DocumentSelectionState_focusOffset) : null | |
}, i.prototype.overlaps = function(e, t) { | |
"use strict"; | |
return this.hasFocus() && this.getStartOffset() <= t && e <= this.getEndOffset() | |
}, a(i, { | |
blur: !0, | |
focus: !0, | |
update: !0 | |
}), o.exports = i | |
}), __d("FIGColors", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("rgbToHex"), | |
a = t("hsvToHex"), | |
s = { | |
accentBlue: i(88, 144, 255), | |
attachmentBorder: "#cccccc", | |
backgroundWash: i(233, 234, 237), | |
blueGreyText: i(55, 62, 77), | |
darkText: i(20, 24, 35), | |
facebookBlue: i(59, 89, 152), | |
green: i(70, 168, 0), | |
lightDivider: i(200, 203, 208), | |
lightGreyWash: i(246, 247, 248), | |
lightText: i(173, 178, 187), | |
linkText: i(78, 105, 162), | |
mediumText: i(106, 113, 128), | |
mobileWash: i(211, 214, 219), | |
modalNavigationBarTint: i(246, 247, 248), | |
navigationBarTint: a(156, 172, 128), | |
red: i(218, 41, 41), | |
selectedBlue: i(118, 165, 249), | |
separator: i(242, 242, 242), | |
tabBar: i(71, 124, 230) | |
}; | |
s.opaqueNavigationBarTint = s.facebookBlue, o.exports = s | |
}), __d("rgbToHex", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = Math.round(e).toString(16); | |
return 1 === t.length ? "0" + t : t | |
} | |
function a(e, t, n) { | |
return "#" + i(e) + i(t) + i(n) | |
} | |
o.exports = a | |
}), __d("hsvToHex", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t, n) { | |
e /= 255, t /= 255, n /= 255; | |
var r = Math.floor(6 * e), | |
o = 6 * e - r, | |
i = n * (1 - t), | |
s = n * (1 - o * t), | |
l = n * (1 - (1 - o) * t); | |
switch (n *= 255, l *= 255, i *= 255, s *= 255, r % 6) { | |
case 0: | |
return a(n, l, i); | |
case 1: | |
return a(s, n, i); | |
case 2: | |
return a(i, n, l); | |
case 3: | |
return a(i, s, n); | |
case 4: | |
return a(l, i, n); | |
case 5: | |
return a(n, i, s) | |
} | |
} | |
var a = t("rgbToHex"); | |
o.exports = i | |
}), __d("FBStickerInputView", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeMethodsMixin"), | |
a = t("React"), | |
s = t("ReactIOSViewAttributes"), | |
l = t("StyleSheet"), | |
u = (t("View"), t("createReactIOSNativeComponentClass")), | |
c = a.createClass({ | |
displayName: "FBStickerInputView", | |
propTypes: { | |
onStickerSelect: a.PropTypes.func | |
}, | |
mixins: [i], | |
viewConfig: { | |
uiViewClassName: "UIView", | |
validAttributes: s.UIView | |
}, | |
onStickerSelect: function(e) { | |
this.props.onStickerSelect && this.props.onStickerSelect(e) | |
}, | |
render: function() { | |
return a.createElement(p, { | |
style: d.inputViewStyle, | |
onStickerSelect: this.onStickerSelect | |
}) | |
} | |
}), | |
d = l.create({ | |
inputViewStyle: { | |
position: "absolute" | |
} | |
}), | |
p = u({ | |
validAttributes: s.UIView, | |
uiViewClassName: "RKStickerInputView" | |
}); | |
o.exports = c | |
}), __d("MentionsInput.react", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("AbstractMentionsTextEditor.react"), | |
a = t("DocumentCharacters"), | |
s = t("DocumentCompositeDecorator"), | |
l = t("DocumentContent"), | |
u = t("DocumentDecorator"), | |
c = t("ComposedEntityType"), | |
d = t("DocumentSelectionState"), | |
p = t("DocumentView"), | |
h = t("MentionSpan"), | |
f = t("MentionSpan"), | |
m = t("MentionsTextEditorMixin"), | |
g = t("ReactPropTypes"), | |
_ = t("React"), | |
y = t("MentionSpan"), | |
v = t("View"), | |
S = t("cx"), | |
w = t("emptyFunction"), | |
b = t("getDefaultKeyBinding"), | |
R = t("getEntityMatcher"), | |
C = t("getHashtagMatches"), | |
E = w.thatReturns(""), | |
D = w.thatReturns(""), | |
x = c.MENTION, | |
F = new s([new u(R(function(e) { | |
var t = e.getData(); | |
return e.getType() === x && t && t.isWeak | |
}), y), new u(R(function(e) { | |
return e.getType() === x | |
}), f), new u(C, h)]), | |
I = _.createClass({ | |
displayName: "MentionsInput", | |
mixins: [m], | |
propTypes: { | |
documentContent: g.instanceOf(l).isRequired, | |
selectionState: g.instanceOf(d).isRequired, | |
mentionsSource: g.object, | |
typeaheadView: g.func.isRequired, | |
typeaheadViewProps: g.object, | |
spellCheck: g.bool, | |
placeholder: g.string, | |
placeholderTextColor: g.string, | |
className: g.string, | |
autoflip: g.bool, | |
handleReturn: g.func, | |
handleDroppedFiles: g.func, | |
handlePastedFiles: g.func, | |
onAddMention: g.func, | |
onShowMentions: g.func, | |
onChange: g.func, | |
onInputFocus: g.func, | |
onInputBlur: g.func, | |
onFile: g.func, | |
inputView: g.renderable | |
}, | |
focus: function() { | |
this.refs.textEditor.focus() | |
}, | |
blur: function() { | |
this.refs.textEditor.blur() | |
}, | |
_onReturn: function(e) { | |
this.props.handleReturn && this.props.handleReturn(e) || this.onCharacters(a.BLOCK_DELIMITER) | |
}, | |
_onBlur: function(e) { | |
this.onBlur(e), this.props.onInputBlur && this.props.onInputBlur(e) | |
}, | |
_onFocus: function(e) { | |
this.onFocus(e), this.props.onInputFocus && this.props.onInputFocus(e) | |
}, | |
_onClick: function() { | |
this.refs.textEditor.focus() | |
}, | |
_onTextInput: function(e) { | |
var t = e.nativeEvent, | |
n = t.range.start, | |
r = t.range.end, | |
o = t.text; | |
0 === o.length && r - n === 1 && this.props.selectionState.isCollapsed() && this.props.selectionState.getStartOffset() === n + 1 ? this.onBackspace() : this.onAlter(n, t.previousText, o) | |
}, | |
_getStateForDocument: function(e) { | |
return { | |
documentView: new p(e, F) | |
} | |
}, | |
componentWillReceiveProps: function(e) { | |
this.props.documentContent !== e.documentContent && this.setState(this._getStateForDocument(e.documentContent)) | |
}, | |
getInitialState: function() { | |
return this._getStateForDocument(this.props.documentContent) | |
}, | |
render: function() { | |
return _.createElement(v, { | |
style: this.props.style, | |
className: S("uiMentionsInput/root"), | |
onClick: this._onClick, | |
onFocus: this._onFocus | |
}, _.createElement(i, { | |
ref: "textEditor", | |
className: S("public/uiMentionsInput/input"), | |
documentView: this.state.documentView, | |
placeholder: this.props.placeholder, | |
placeholderTextColor: this.props.placeholderTextColor, | |
autoFocus: this.props.autoFocus, | |
selectionState: this.props.selectionState, | |
mentionsSource: this.props.mentionsSource, | |
typeaheadView: this.props.typeaheadView, | |
typeaheadViewProps: this.props.typeaheadViewProps, | |
keyBindingFn: b, | |
blockStyleFn: E, | |
inlineStyleFn: D, | |
inputView: this.props.inputView, | |
textInputStyle: this.props.textInputStyle, | |
spellCheck: this.props.spellCheck, | |
autoflip: this.props.autoflip, | |
onShowMentions: this.onShowMentions, | |
onAddMention: this.onAddMention, | |
onCharacters: this.onCharacters, | |
onAlter: this.onAlter, | |
onCut: this.onCut, | |
onPasteFragment: this.onPasteFragment, | |
onDelete: this.onDelete, | |
onDropFiles: this.onDropFiles, | |
onDropSelection: this.onDropSelection, | |
onDropText: this.onDropText, | |
onKeyCommand: this.onKeyCommand, | |
onPasteFiles: this.onPasteFiles, | |
onSelect: this.onSelect, | |
onTextInput: this._onTextInput, | |
onReturn: this._onReturn, | |
onBlur: this._onBlur, | |
onFocus: this._onFocus, | |
onChange: this.props.onChange, | |
handleDroppedFiles: this.props.handleDroppedFiles, | |
handlePastedFiles: this.props.handlePastedFiles | |
})) | |
} | |
}); | |
o.exports = I | |
}), __d("AbstractMentionsTextEditor.react", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i, a, s = t("AbstractTextEditor.react"), | |
l = t("AbstractTextEditorProps"), | |
u = t("ModalFullscreenView"), | |
c = t("getMentionableRect"), | |
d = t("Locale"), | |
p = t("ReactPropTypes"), | |
h = t("React"), | |
f = t("TimerMixin"), | |
m = t("TypeaheadNavigation"), | |
g = t("View"), | |
_ = t("copyProperties"), | |
y = d.isRTL(), | |
v = 20, | |
S = 5, | |
w = h.createClass({ | |
displayName: "AbstractMentionsTextEditor", | |
mixins: [f], | |
propTypes: _({}, l.propTypes, { | |
autoflip: p.bool, | |
mentionsSource: p.object, | |
excludedEntries: p.object, | |
onShowMentions: p.func.isRequired, | |
onAddMention: p.func.isRequired, | |
typeaheadView: p.func.isRequired, | |
typeaheadViewProps: p.object, | |
inputView: p.renderable | |
}), | |
getDefaultProps: l.getDefaultProps, | |
componentWillMount: function() { | |
var e = function() { | |
this.setTimeout(this._searchIfCollapsed, 0) | |
}.bind(this); | |
this._listeners = [this.props.selectionState.addListener("focus", e), this.props.selectionState.addListener("update", e)] | |
}, | |
componentWillUnmount: function() { | |
this._listeners.forEach(function(e) { | |
e.remove() | |
}), this._listeners = null | |
}, | |
getInitialState: function() { | |
return { | |
contextualBounds: null, | |
highlightedMentionable: null, | |
mentionableEntries: null | |
} | |
}, | |
_onShowMentions: function(e, t) { | |
var n = e && e.length; | |
if (n || this.state.mentionableEntries) { | |
var r = n ? e.slice(0, v) : null; | |
if (r) { | |
var o = this.props.typeaheadViewProps; | |
o && o.mentionSortFn && r.sort(o.mentionSortFn), this.props.onShowMentions(r, t) | |
} | |
this.setState({ | |
contextualBounds: n ? c(t, y) : null, | |
highlightedMentionable: n ? e[0] : null, | |
mentionableEntries: r | |
}) | |
} | |
}, | |
_onBlur: function(e) { | |
this.setState(this.getInitialState()), this.props.onBlur(e) | |
}, | |
_onFocus: function(e) { | |
this.props.mentionsSource && this.props.mentionsSource.bootstrap(), this.props.onFocus(e) | |
}, | |
_onReturn: function(e) { | |
this.state.highlightedMentionable && !e.nativeEvent.getModifiers().any ? this._onMentionSelect(this.state.highlightedMentionable, e) : this.props.onReturn(e) | |
}, | |
_onTab: function(e) { | |
this.state.highlightedMentionable ? (e.preventDefault(), this._onMentionSelect(this.state.highlightedMentionable, e)) : this.props.onTab && this.props.onTab(e) | |
}, | |
_onEscape: function(e) { | |
this.state.highlightedMentionable ? this.setState(this.getInitialState()) : this.props.onEscape && this.props.onEscape(e) | |
}, | |
_onUpArrow: function(e) { | |
this.state.mentionableEntries ? (e.preventDefault(), m.moveUp(this.state.mentionableEntries, this.state.highlightedMentionable, this._onMentionHighlight)) : this.props.onUpArrow && this.props.onUpArrow(e) | |
}, | |
_onDownArrow: function(e) { | |
this.state.mentionableEntries ? (e.preventDefault(), m.moveDown(this.state.mentionableEntries, this.state.highlightedMentionable, this._onMentionHighlight)) : this.props.onDownArrow && this.props.onDownArrow(e) | |
}, | |
_onMentionHighlight: function(e) { | |
this.setState({ | |
highlightedMentionable: e | |
}) | |
}, | |
_onMentionSelect: function(e, t) { | |
this.props.onAddMention(e, t), this.setState(this.getInitialState()) | |
}, | |
_searchIfCollapsed: function() { | |
var e = this.props.selectionState; | |
e.hasFocus() && e.isCollapsed() && this.props.mentionsSource && this.props.mentionsSource.search(this.props.documentView.getContent(), e.getStartOffset(), this._onShowMentions) | |
}, | |
focus: function() { | |
this.refs.abstractTextEditor.focus() | |
}, | |
blur: function() { | |
this.refs.abstractTextEditor.blur() | |
}, | |
renderLayers: function() { | |
var e = this.state.mentionableEntries, | |
t = this.props.selectionState, | |
n = this.props.typeaheadView, | |
r = t.isCollapsed() && t.hasFocus() && e && e.length, | |
o = {}; | |
return this.props.autoflip && (o.ContextualLayerAutoFlip = i, o.ContextualLayerUpdateOnScroll = a), { | |
entries: h.createElement(u, { | |
shown: r, | |
contextRef: "container", | |
contextBounds: this.state.contextualBounds, | |
offsetY: S, | |
position: "above", | |
behaviors: o | |
}, h.createElement(n, { | |
viewProps: this.props.typeaheadViewProps, | |
highlightedEntry: this.state.highlightedMentionable, | |
entries: e || [], | |
onSelect: this._onMentionSelect, | |
onHighlight: this._onMentionHighlight | |
})) | |
} | |
}, | |
render: function() { | |
return h.createElement(g, { | |
ref: "container", | |
className: this.props.className, | |
tabIndex: "-2" | |
}, this.transferPropsTo(h.createElement(s, { | |
ref: "abstractTextEditor", | |
autoFocus: this.props.autoFocus, | |
inputView: this.props.inputView, | |
onBlur: this._onBlur, | |
onFocus: this._onFocus, | |
onReturn: this._onReturn, | |
onTab: this._onTab, | |
onEscape: this._onEscape, | |
onDownArrow: this._onDownArrow, | |
onUpArrow: this._onUpArrow, | |
onChange: this.props.onChange, | |
textInputStyle: this.props.textInputStyle | |
})), this.renderLayers()) | |
} | |
}); | |
o.exports = w | |
}), __d("AbstractTextEditor.react", [], function(e, t, n, r, o) { | |
function i(e) { | |
return function(t) { | |
var n = this._handler && this._handler[e]; | |
n && n.call(this, t) | |
} | |
} | |
function a(e) { | |
switch (e) { | |
case _.EDIT: | |
return m; | |
case _.COMPOSITE: | |
return h; | |
case _.DRAG: | |
return g; | |
case _.CUT: | |
case _.RENDER: | |
return null | |
} | |
} | |
var s = t("AbstractTextEditorProps"), | |
l = t("ExecutionEnvironment"), | |
u = t("React"), | |
c = t("StyleSheet"), | |
d = t("Text"), | |
p = t("TextEditorBlock.react"), | |
h = t("TextEditorCompositionHandler"), | |
f = t("TextEditorCompositionState"), | |
m = t("TextEditorEditHandler"), | |
g = t("TextEditorDragHandler"), | |
_ = t("TextEditorModes"), | |
y = t("TextInput"), | |
v = t("View"), | |
S = t("cx"), | |
w = t("extendArray"), | |
b = t("requestAnimationFrame"), | |
R = (t("ComposedInlineStyle"), "b"), | |
C = "d", | |
E = "l", | |
D = e.MutationObserver || e.WebKitMutationObserver, | |
x = u.createClass({ | |
displayName: "AbstractTextEditor", | |
propTypes: s.propTypes, | |
getDefaultProps: s.getDefaultProps, | |
_onBlur: i("onBlur"), | |
_onFocus: i("onFocus"), | |
_onSelect: i("onSelect"), | |
_onKeyDown: i("onKeyDown"), | |
_onKeyUp: i("onKeyUp"), | |
_onKeyPress: i("onKeyPress"), | |
_onMouseDown: i("onMouseDown"), | |
_onMouseUp: i("onMouseUp"), | |
_onCharacterData: i("onCharacterData"), | |
_onCompositionStart: i("onCompositionStart"), | |
_onCompositionEnd: i("onCompositionEnd"), | |
_onDragStart: i("onDragStart"), | |
_onDragOver: i("onDragOver"), | |
_onDragEnd: i("onDragEnd"), | |
_onDrop: i("onDrop"), | |
_onCut: i("onCut"), | |
_onCopy: i("onCopy"), | |
_onPaste: i("onPaste"), | |
_onBeforeInput: i("onBeforeInput"), | |
_onTextInput: function(e) { | |
this.props.onTextInput && this.props.onTextInput(e) | |
}, | |
_renderContents: function() { | |
function e(e, t) { | |
var n = e + (t ? t.charCodeAt(0) : 0), | |
r = n; | |
return f.hasOwnProperty(r) ? r += "-" + f[r] ++ : f[r] = 0, h[r] = !0, r | |
} | |
function t(t, n, r, i) { | |
o = []; | |
var a = this.props.BlockComponent || p, | |
d = s.substr(n, r - n), | |
h = e(R, d); | |
c.push(u.createElement(a, { | |
key: h, | |
offsetKey: t, | |
text: d, | |
blockProps: this.props.blockProps, | |
blockStyleFn: this.props.blockStyleFn, | |
style: i, | |
direction: l[c.length] | |
}, o)) | |
} | |
function n(t, n, r, l) { | |
if (l) { | |
i = []; | |
var c = this.props.documentView.getEntities()[n], | |
d = s.substr(n, r - n), | |
p = e(C, d); | |
o.push(u.createElement(l, { | |
key: p, | |
offsetKey: t, | |
decoratorProps: this.props.decoratorProps, | |
documentView: a, | |
selectionState: this.props.selectionState, | |
entityKey: c, | |
text: d | |
}, i)) | |
} else i = o | |
} | |
function r(t, n, r) { | |
var o = s.substr(n, r - n), | |
a = e(E, o); | |
i.push(u.createElement(d, { | |
key: a | |
}, o)) | |
} | |
var o, i, a = this.props.documentView, | |
s = a.getText(), | |
l = a.getBlockDirections(), | |
c = [], | |
h = {}, | |
f = {}; | |
return this.props.documentView.iterate(t.bind(this), n.bind(this), r.bind(this)), c | |
}, | |
_attachMutationObserver: function() { | |
if (D) { | |
var e = [], | |
t = function() { | |
e.length && (this._onCharacterData(e), e.length = 0) | |
}.bind(this); | |
this._mutationObserver = new D(function(n) { | |
this._guardAgainstRender || (0 === e.length && b(t), w(e, n)) | |
}.bind(this)), this._mutationObserver && this._mutationObserver.observe(this.refs.editorContainer.getDOMNode(), { | |
characterDataOldValue: !0, | |
characterData: !0, | |
subtree: !0 | |
}) | |
} | |
}, | |
_disconnectMutationObserver: function() { | |
this._mutationObserver && (this._mutationObserver.disconnect(), this._mutationObserver = null) | |
}, | |
_renderPlaceholder: function() { | |
var e = this.props.placeholder && !this.props.documentView.getText(); | |
return e ? u.createElement(AbstractTextEditorPlaceholder, { | |
text: this.props.placeholder, | |
selectionState: this.props.selectionState, | |
compositionState: this._compositionState | |
}) : void 0 | |
}, | |
render: function() { | |
return u.createElement(v, { | |
className: S("AbstractTextEditor/root") | |
}, u.createElement(v, { | |
className: S("AbstractTextEditor/editorContainer"), | |
ref: "editorContainer" | |
}, u.createElement(y, { | |
multiline: !0, | |
lineHeight: 1, | |
autoFocus: this.props.autoFocus, | |
style: [F.textBox, this.props.textInputStyle], | |
ref: "editor", | |
role: "textbox", | |
className: S("public/AbstractTextEditor/content"), | |
placeholder: this.props.placeholder, | |
placeholderTextColor: this.props.placeholderTextColor, | |
onBlur: this._onBlur, | |
onFocus: this._onFocus, | |
onSelect: this._onSelect, | |
onMouseUp: this._onMouseUp, | |
onKeyDown: this._onKeyDown, | |
onKeyUp: this._onKeyUp, | |
onKeyPress: this._onKeyPress, | |
onCut: this._onCut, | |
onCopy: this._onCopy, | |
onPaste: this._onPaste, | |
onDragStart: this._onDragStart, | |
onDragOver: this._onDragOver, | |
onDragEnd: this._onDragEnd, | |
onDrop: this._onDrop, | |
onCompositionStart: this._onCompositionStart, | |
onCompositionEnd: this._onCompositionEnd, | |
onBeforeInput: this._onBeforeInput, | |
onTextInput: this._onTextInput, | |
onChange: this.props.onChange, | |
selectionState: this.props.selectionState, | |
spellCheck: this.props.spellCheck, | |
contentEditable: !this.props.disabled, | |
inputView: this.props.inputView | |
}, this._renderContents()))) | |
}, | |
focus: function() { | |
var e = this.props.selectionState.hasFocus(); | |
if (!e) { | |
if (!this.refs.editor.getDOMNode) return void this.refs.editor.focus(); | |
var t = this.props.documentView.getText().length; | |
this.props.selectionState.update(t, t), this.forceUpdate() | |
} | |
}, | |
blur: function() { | |
this.refs.editor.getDOMNode ? this.refs.editor.getDOMNode().blur() : this.refs.editor.blur() | |
}, | |
componentDidMount: function() { | |
this._renderedVersion = null, this._clonedEditor = null, this._guardAgainstRender = !1, this._handler = m; | |
var e = this.props.documentView.getBlockDirections(); | |
this._renderedDirections = e.join(""), l.canUseDOM && this._attachMutationObserver() | |
}, | |
shouldComponentUpdate: function(e) { | |
var t = e.documentView.getBlockDirections(); | |
return !this._guardAgainstRender && (e.documentView.getVersion() !== this._renderedVersion || t.join("") !== this._renderedDirections || this.props.disabled !== e.disabled || this.props.inputView !== e.inputView) | |
}, | |
componentWillUpdate: function() { | |
this.setMode(_.RENDER) | |
}, | |
componentDidUpdate: function() { | |
this.exitCurrentMode(), this._renderedVersion = this.props.documentView.getVersion(); | |
var e = this.props.documentView.getBlockDirections(); | |
this._renderedDirections = e.join("") | |
}, | |
componentWillMount: function() { | |
this._compositionState = new f(!1), this._selectionListener = this.props.selectionState.addListener("focus", this.focus) | |
}, | |
componentWillUnmount: function() { | |
this._disconnectMutationObserver(), this._selectionListener && (this._selectionListener.remove(), this._selectionListener = null) | |
}, | |
expectDuplicateMutation: function() { | |
this._renderedVersion = this.props.documentView.getVersion() | |
}, | |
resetRenderedVersion: function() { | |
this._renderedVersion = null, this._renderedDirections = null | |
}, | |
setMode: function(e) { | |
this._handler = a(e) | |
}, | |
exitCurrentMode: function() { | |
this.setMode(_.EDIT) | |
}, | |
captureEditorDOM: function() { | |
this._clonedEditor = this.refs.editor.getDOMNode().cloneNode(!0) | |
}, | |
restoreEditorDOM: function() { | |
var e = this.refs.editorContainer.getDOMNode(); | |
e.innerHTML = "", e.appendChild(this._clonedEditor), this.focus(), this._clonedEditor = null | |
}, | |
setRenderGuard: function() { | |
this._guardAgainstRender = !0 | |
}, | |
removeRenderGuard: function() { | |
this._guardAgainstRender = !1 | |
} | |
}), | |
F = c.create({ | |
textBox: { | |
backgroundColor: "transparent", | |
fontSize: 14, | |
height: 30 | |
} | |
}); | |
o.exports = x | |
}), __d("AbstractTextEditorProps", [], function(e, t, n, r, o) { | |
var i = t("DocumentSelectionState"), | |
a = t("DocumentView"), | |
s = t("ReactPropTypes"), | |
l = { | |
propTypes: { | |
documentView: s.instanceOf(a).isRequired, | |
selectionState: s.instanceOf(i).isRequired, | |
placeholder: s.string, | |
blockStyleFn: s.func.isRequired, | |
inlineStyleFn: s.func.isRequired, | |
keyBindingFn: s.func.isRequired, | |
spellCheck: s.bool, | |
onReturn: s.func.isRequired, | |
onEscape: s.func, | |
onTab: s.func, | |
onUpArrow: s.func, | |
onDownArrow: s.func, | |
onCharacters: s.func.isRequired, | |
onAlter: s.func.isRequired, | |
onCut: s.func.isRequired, | |
onPasteFragment: s.func.isRequired, | |
onPasteFiles: s.func, | |
onDelete: s.func.isRequired, | |
onDropSelection: s.func.isRequired, | |
onDropText: s.func.isRequired, | |
onDropFiles: s.func, | |
onSelect: s.func.isRequired, | |
onBlur: s.func.isRequired, | |
onFocus: s.func.isRequired, | |
inputView: s.renderable | |
}, | |
getDefaultProps: function() { | |
return { | |
spellCheck: !1 | |
} | |
} | |
}; | |
o.exports = l | |
}), __d("DocumentView", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
"use strict"; | |
this.$DocumentView_content = e, this.$DocumentView_decorator = t, this.$DocumentView_currentFingerprint = [], this.$DocumentView_iteratedVersion = null, this.$DocumentView_blockDirections = [], this.$DocumentView_iterator = new a(this.$DocumentView_content, this.$DocumentView_decorator), this.$DocumentView_offsets = new s(this.$DocumentView_iterator) | |
} | |
var a = t("DocumentIterator"), | |
s = t("DocumentOffsetCache"), | |
l = t("UnicodeBidi"), | |
u = t("createArrayFrom"), | |
c = t("emptyFunction"); | |
i.prototype.getContent = function() { | |
"use strict"; | |
return this.$DocumentView_content | |
}, i.prototype.getText = function() { | |
"use strict"; | |
return this.$DocumentView_content.getText() | |
}, i.prototype.getEntities = function() { | |
"use strict"; | |
return this.$DocumentView_content.getEntities() | |
}, i.prototype.getFragment = function(e, t) { | |
"use strict"; | |
return this.$DocumentView_content.getFragment(e, t) | |
}, i.prototype.getVersion = function() { | |
"use strict"; | |
return this.$DocumentView_content.getVersion() | |
}, i.prototype.getBlockDirections = function() { | |
"use strict"; | |
return this.$DocumentView_fillCaches(), this.$DocumentView_blockDirections | |
}, i.prototype.getFingerprint = function() { | |
"use strict"; | |
return this.$DocumentView_fillCaches(), this.$DocumentView_currentFingerprint.join(":") | |
}, i.prototype.getOffset = function(e) { | |
"use strict"; | |
return this.$DocumentView_fillCaches(), this.$DocumentView_offsets.getOffset(e) | |
}, i.prototype.getKey = function(e) { | |
"use strict"; | |
return this.$DocumentView_fillCaches(), this.$DocumentView_offsets.getKey(e) | |
}, i.prototype.iterate = function(e, t, n) { | |
"use strict"; | |
function r(t, n) { | |
a.nextBlock(t), d(t, n), e(a.getCurrentKey(), t, n, u[l++]) | |
} | |
function o(e, n, r) { | |
var o = null; | |
a.nextDecoration(e), null !== r && (c("D", r, n - e), o = s.getComponentForKey(r)), t(a.getCurrentKey(), e, n, o) | |
} | |
function i(e, t, r) { | |
a.nextLeaf(e), c("L", r), n(a.getCurrentKey(), e, t, r) | |
} | |
this.$DocumentView_iteratedVersion = this.getVersion(), this.$DocumentView_currentFingerprint.length = 0, this.$DocumentView_blockDirections.length = 0, this.$DocumentView_offsets.reset(); | |
var a = this.$DocumentView_offsets, | |
s = this.$DocumentView_decorator, | |
l = 0, | |
u = this.$DocumentView_content.getBlockStyles(), | |
c = this.$DocumentView_recordFingerprint.bind(this), | |
d = this.$DocumentView_recordBlockDirection.bind(this); | |
this.$DocumentView_iterator.process(r, o, i) | |
}, i.prototype.$DocumentView_fillCaches = function() { | |
"use strict"; | |
this.$DocumentView_iteratedVersion !== this.getVersion() && this.iterate(c, c, c) | |
}, i.prototype.$DocumentView_recordFingerprint = function() { | |
"use strict"; | |
this.$DocumentView_currentFingerprint.push(u(arguments).join("-")) | |
}, i.prototype.$DocumentView_recordBlockDirection = function(e, t) { | |
"use strict"; | |
var n = this.$DocumentView_content.getText().slice(e, t), | |
r = this.$DocumentView_blockDirections, | |
o = l.getDirection(n, r[r.length - 1]); | |
this.$DocumentView_blockDirections.push(o) | |
}, o.exports = i | |
}), __d("DocumentIterator", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
"use strict"; | |
this.$DocumentIterator_content = e, this.$DocumentIterator_decorator = t | |
} | |
var a = t("DocumentCharacters"), | |
s = a.BLOCK_DELIMITER; | |
i.prototype.process = function(e, t, n) { | |
"use strict"; | |
this.$DocumentIterator_blockFn = e, this.$DocumentIterator_decorationFn = t, this.$DocumentIterator_inlineFn = n, this.$DocumentIterator_text = this.$DocumentIterator_content.getText(), this.$DocumentIterator_inlines = this.$DocumentIterator_content.getInlineStyles(), this.$DocumentIterator_decorations = this.$DocumentIterator_decorator.getDecorations(this.$DocumentIterator_content), this.$DocumentIterator_processDocument() | |
}, i.prototype.$DocumentIterator_processDocument = function() { | |
"use strict"; | |
for (var e, t = this.$DocumentIterator_text.split(s), n = 0, r = 0; r < t.length; r++) e = n + t[r].length, this.$DocumentIterator_processBlock(n, e), n = e + s.length | |
}, i.prototype.$DocumentIterator_processBlock = function(e, t) { | |
"use strict"; | |
this.$DocumentIterator_blockFn.call(null, e, t), this.$DocumentIterator_iterateSequence(this.$DocumentIterator_decorations, e, t, this.$DocumentIterator_processDecoration.bind(this)) | |
}, i.prototype.$DocumentIterator_processDecoration = function(e, t, n) { | |
"use strict"; | |
this.$DocumentIterator_decorationFn.call(null, e, t, n), this.$DocumentIterator_iterateSequence(this.$DocumentIterator_inlines, e, t, this.$DocumentIterator_processInline.bind(this)) | |
}, i.prototype.$DocumentIterator_processInline = function(e, t, n) { | |
"use strict"; | |
this.$DocumentIterator_inlineFn.call(null, e, t, n) | |
}, i.prototype.$DocumentIterator_iterateSequence = function(e, t, n, r) { | |
"use strict"; | |
for (var o = t, i = t; n > i; i++) e[i] !== e[i + 1] && (r(o, i + 1, e[o]), o = i + 1); | |
t === n ? r(t, n, null) : o !== n && r(o, n, e[o]) | |
}, o.exports = i | |
}), __d("DocumentOffsetCache", [], function(e, t, n, r, o) { | |
function i(e) { | |
return 0 > e ? 0 : e | |
} | |
function a() { | |
"use strict"; | |
this.reset() | |
} | |
a.prototype.reset = function() { | |
"use strict"; | |
this.$DocumentOffsetCache_block = -1, this.$DocumentOffsetCache_decoration = -1, this.$DocumentOffsetCache_leaf = -1, this.$DocumentOffsetCache_cachedOffsets = {} | |
}, a.prototype.nextBlock = function(e) { | |
"use strict"; | |
this.$DocumentOffsetCache_block++, this.$DocumentOffsetCache_decoration = -1, this.$DocumentOffsetCache_leaf = -1, this.$DocumentOffsetCache_recordOffset(e) | |
}, a.prototype.nextDecoration = function(e) { | |
"use strict"; | |
this.$DocumentOffsetCache_decoration++, this.$DocumentOffsetCache_leaf = -1, this.$DocumentOffsetCache_recordOffset(e) | |
}, a.prototype.nextLeaf = function(e) { | |
"use strict"; | |
this.$DocumentOffsetCache_leaf++, this.$DocumentOffsetCache_recordOffset(e) | |
}, a.prototype.getCurrentKey = function() { | |
"use strict"; | |
return i(this.$DocumentOffsetCache_block) + "." + i(this.$DocumentOffsetCache_decoration) + "." + i(this.$DocumentOffsetCache_leaf) | |
}, a.prototype.getOffset = function(e) { | |
"use strict"; | |
return this.$DocumentOffsetCache_cachedOffsets[e] | |
}, a.prototype.getKey = function(e) { | |
"use strict"; | |
var t = null, | |
n = null; | |
for (var r in this.$DocumentOffsetCache_cachedOffsets) { | |
var o = this.$DocumentOffsetCache_cachedOffsets[r], | |
i = e - o; | |
if (!(0 > i)) { | |
if (0 === i) return r; | |
(t > i || null === t) && (t = i, n = r) | |
} | |
} | |
return n | |
}, a.prototype.$DocumentOffsetCache_recordOffset = function(e) { | |
"use strict"; | |
this.$DocumentOffsetCache_cachedOffsets[this.getCurrentKey()] = e | |
}, o.exports = a | |
}), __d("UnicodeBidi", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = m.exec(e); | |
if (!t) return d.NEUTRAL; | |
var n = g.exec(t[0]); | |
return n ? d.RTL : d.LTR | |
} | |
function a(e, t) { | |
if (t = t || d.NEUTRAL, !e.length) return t; | |
var n = i(e); | |
return n === d.NEUTRAL ? t : n | |
} | |
function s(e, t) { | |
return t && d.isStrong(t) || (t = c.getDirection()), a(e, t) | |
} | |
function l(e, t) { | |
return s(e, t) === d.LTR | |
} | |
function u(e, t) { | |
return s(e, t) === d.RTL | |
} | |
var c = t("Locale"), | |
d = t("UnicodeBidiDirection"), | |
p = { | |
L: "A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ--︀--", | |
R: "־׀׃׆א-תװ-ײ׳-״߀-߉ߊ-ߪߴ-ߵߺࠀ-ࠕࠚࠤࠨ࠰-࠾ࡀ-ࡘ࡞יִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﭏ", | |
AL: "؈؋؍؛؞-؟ؠ-ؿـف-ي٭ٮ-ٯٱ-ۓ۔ەۥ-ۦۮ-ۯۺ-ۼ۽-۾ۿ܀-܍ܐܒ-ܯݍ-ޥޱࢠࢢ-ࢬﭐ-ﮱ﮲-﯁ﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ﷼ﹰ-ﹴﹶ-ﻼ" | |
}, | |
h = p.L + p.R + p.AL, | |
f = p.R + p.AL, | |
m = new RegExp("[" + h + "]"), | |
g = new RegExp("[" + f + "]"), | |
_ = { | |
firstStrongCharDir: i, | |
resolveBlockDir: a, | |
getDirection: s, | |
isDirectionLTR: l, | |
isDirectionRTL: u | |
}; | |
o.exports = _ | |
}), __d("Locale", [], function(e, t, n, r, o) { | |
function i() { | |
return u.canUseDOM ? void 0 === s && (s = "rtl" === l.get(document.body, "direction")) : s = !1, s | |
} | |
function a() { | |
return i() ? c.RTL : c.LTR | |
} | |
var s, l = t("Style"), | |
u = t("ExecutionEnvironment"), | |
c = t("UnicodeBidiDirection"), | |
d = { | |
isRTL: i, | |
getDirection: a | |
}; | |
o.exports = d | |
}), __d("Style", [], function(e, t, n, r, o) { | |
"use strict"; | |
o.exports = {} | |
}), __d("UnicodeBidiDirection", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("keyMirror"), | |
a = i({ | |
NEUTRAL: !0, | |
LTR: !0, | |
RTL: !0 | |
}); | |
a.isStrong = function(e) { | |
return e === a.LTR || e === a.RTL | |
}, o.exports = a | |
}), __d("createArrayFrom", [], function(e, t, n, r, o) { | |
function i(e) { | |
return !!e && ("object" == typeof e || "function" == typeof e) && "length" in e && !("setInterval" in e) && "number" != typeof e.nodeType && (Array.isArray(e) || "callee" in e || "item" in e) | |
} | |
function a(e) { | |
return i(e) ? Array.isArray(e) ? e.slice() : s(e) : [e] | |
} | |
var s = t("toArray"); | |
o.exports = a | |
}), __d("toArray", [], function(e, t, n, r, o) { | |
function i(e) { | |
var t = e.length; | |
if ((Array.isArray(e) || "object" != typeof e && "function" != typeof e) && a(0, "toArray: Array-like object expected"), "number" != typeof t && a(0, "toArray: Object needs a length property"), 0 === t || t - 1 in e || a(0, "toArray: Object should have keys for indices"), e.hasOwnProperty) try { | |
return Array.prototype.slice.call(e) | |
} catch (n) {} | |
for (var r = Array(t), o = 0; t > o; o++) r[o] = e[o]; | |
return r | |
} | |
var a = t("invariant"); | |
o.exports = i | |
}), __d("TextEditorBlock.react", [], function(e, t, n, r, o) { | |
var i = t("UnicodeBidiDirection"), | |
a = t("ReactPropTypes"), | |
s = t("React"), | |
l = t("Text"), | |
u = (t("cx"), t("joinClasses"), t("mergeInto")), | |
c = i.LTR, | |
d = i.RTL, | |
p = s.createClass({ | |
displayName: "TextEditorBlock", | |
propTypes: { | |
offsetKey: a.string.isRequired, | |
text: a.string.isRequired, | |
blockProps: a.object, | |
blockStyleFn: a.func.isRequired, | |
style: a.number, | |
direction: a.string.isRequired | |
}, | |
render: function() { | |
var e = this.props.direction === d, | |
t = this.props.direction === c, | |
n = e ? "right" : t ? "left" : "auto", | |
r = e ? "rtl" : t ? "ltr" : "auto", | |
o = { | |
style: [this.props.style, { | |
writingDirection: r, | |
textAlign: n | |
}] | |
}; | |
return u(o, this.props.blockProps), s.createElement(l, Object.assign({}, o), this.props.children) | |
} | |
}); | |
o.exports = p | |
}), __d("cx", [], function(e, t, n, r, o) { | |
function i(e) { | |
return "object" == typeof e ? Object.keys(e).filter(function(t) { | |
return e[t] | |
}).join(" ") : Array.prototype.join.call(arguments, " ") | |
} | |
o.exports = i | |
}), __d("TextEditorCompositionHandler", [], function(e, t, n, r, o) { | |
var i = t("Keys"), | |
a = t("isSelectionAtLeafStart"), | |
s = { | |
onBeforeInput: function(e) { | |
this._textInputData = (this._textInputData || "") + e.data | |
}, | |
onCompositionStart: function() { | |
this._compositionState.continueSession() | |
}, | |
onCompositionEnd: function() { | |
this._compositionState.pauseSession(), setTimeout(s.resolveComposition.bind(this), 0) | |
}, | |
onKeyDown: function(e) { | |
(e.which === i.RIGHT || e.which === i.LEFT) && e.preventDefault() | |
}, | |
onKeyPress: function(e) { | |
e.which === i.RETURN && e.preventDefault() | |
}, | |
resolveComposition: function() { | |
if (!this._compositionState.inCompositionSession()) { | |
var e = this._textInputData; | |
this._textInputData = "", this._compositionState.terminateSession(); | |
var t = !e || a(this.props.documentView, this.props.selectionState); | |
t && this.restoreEditorDOM(), this.exitCurrentMode(), this.removeRenderGuard(), e ? this.props.onCharacters(e) : t && (this.resetRenderedVersion(), this.forceUpdate()) | |
} | |
} | |
}; | |
o.exports = s | |
}), __d("Keys", [], function(e, t, n, r, o) { | |
o.exports = { | |
BACKSPACE: 8, | |
TAB: 9, | |
RETURN: 13, | |
ALT: 18, | |
ESC: 27, | |
SPACE: 32, | |
PAGE_UP: 33, | |
PAGE_DOWN: 34, | |
END: 35, | |
HOME: 36, | |
LEFT: 37, | |
UP: 38, | |
RIGHT: 39, | |
DOWN: 40, | |
DELETE: 46, | |
COMMA: 188 | |
} | |
}), __d("isSelectionAtLeafStart", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n = t.getStartOffset(), | |
r = e.getKey(n); | |
return e.getOffset(r) === n | |
} | |
o.exports = i | |
}), __d("TextEditorCompositionState", [], function(e, t, n, r, o) { | |
function i(e) { | |
"use strict"; | |
this.$TextEditorCompositionState_composing = e | |
} | |
var a = t("mixInEventEmitter"); | |
i.prototype.startSession = function() { | |
"use strict"; | |
this.$TextEditorCompositionState_composing = !0, this.emit("change") | |
}, i.prototype.continueSession = function() { | |
"use strict"; | |
this.$TextEditorCompositionState_composing = !0 | |
}, i.prototype.pauseSession = function() { | |
"use strict"; | |
this.$TextEditorCompositionState_composing = !1 | |
}, i.prototype.terminateSession = function() { | |
"use strict"; | |
this.$TextEditorCompositionState_composing = !1, this.emit("change") | |
}, i.prototype.inCompositionSession = function() { | |
"use strict"; | |
return this.$TextEditorCompositionState_composing | |
}, a(i, { | |
change: !0 | |
}), o.exports = i | |
}), __d("TextEditorEditHandler", [], function(e, t, n, r, o) { | |
function i(e) { | |
return w && (e == v || e == S) | |
} | |
function a(e, t) { | |
var n = e.selectionState; | |
if (!n.isCollapsed()) { | |
var r = n.getStartOffset(), | |
o = n.getEndOffset(); | |
t(e.documentView.getFragment(r, o), r, o) | |
} | |
} | |
var s = t("DataTransfer"), | |
l = t("DocumentCharacters"), | |
u = t("Keys"), | |
c = t("TextEditorModes"), | |
d = t("TextEditorPasteHandler"), | |
p = t("UserAgent"), | |
h = t("findAncestorOffsetKey"), | |
f = t("getChangedCharactersFromMutation"), | |
m = t("getDocumentSelection"), | |
g = t("isSelectionAtLeafStart"), | |
_ = l.BLOCK_DELIMITER, | |
y = l.SOFT_NEWLINE, | |
v = "'", | |
S = "/", | |
w = !!p.firefox(), | |
b = { | |
onBeforeInput: function(e) { | |
var t = e.data; | |
if (t) { | |
var n = this.props.documentView, | |
r = this.props.selectionState; | |
if (r.isCollapsed() && !g(n, r)) { | |
var o = n.getFingerprint(); | |
if (this.props.onCharacters(t), !i(t) && o === n.getFingerprint()) return void this.expectDuplicateMutation() | |
} else this.props.onCharacters(t); | |
e.preventDefault() | |
} | |
}, | |
onKeyDown: function(e) { | |
var t = e.nativeEvent.keyCode; | |
switch (t) { | |
case u.RETURN: | |
return e.preventDefault(), void this.props.onReturn(e); | |
case u.ESC: | |
return e.preventDefault(), void(this.props.onEscape && this.props.onEscape(e)); | |
case u.TAB: | |
return void(this.props.onTab && this.props.onTab(e)); | |
case u.UP: | |
return void(this.props.onUpArrow && this.props.onUpArrow(e)); | |
case u.DOWN: | |
return void(this.props.onDownArrow && this.props.onDownArrow(e)) | |
} | |
var n = this.props.keyBindingFn.call(null, e); | |
n && (e.preventDefault(), this.props.onKeyCommand(n)) | |
}, | |
normalizeAndHandleSelect: function(e, t, n, r, o) { | |
null !== e && null !== t && (t += this.props.documentView.getOffset(e)), null !== n && null !== r && (r += this.props.documentView.getOffset(n)), t && o && this.resetRenderedVersion(), this.props.onSelect(t, r, !!o) | |
}, | |
onSelect: function() { | |
m(this.refs.editorContainer.getDOMNode().firstChild, b.normalizeAndHandleSelect.bind(this)) | |
}, | |
onBlur: function(e) { | |
this.props.onBlur(e) | |
}, | |
onFocus: function(e) { | |
this.props.onFocus(e) | |
}, | |
onCharacterData: function(e) { | |
var t = f(e); | |
if (t) { | |
var n = h(t.node), | |
r = this.props.documentView.getOffset(n); | |
this.props.onAlter(r + t.offset, t.oldText, t.newText) | |
} | |
}, | |
onDragStart: function() { | |
this._internalDrag = !0, this.setMode(c.DRAG) | |
}, | |
onDragOver: function(e) { | |
this._internalDrag = !1, this.setMode(c.DRAG), e.preventDefault() | |
}, | |
onCompositionStart: function() { | |
this.setRenderGuard(), this.captureEditorDOM(), this.setMode(c.COMPOSITE), this._compositionState.startSession() | |
}, | |
onCut: function(e) { | |
return this.props.selectionState.isCollapsed() ? void e.preventDefault() : (this.setRenderGuard(), this.captureEditorDOM(), void a(this.props, function(e, t, n) { | |
this._clipboard = e, this.setMode(c.CUT), setTimeout(function() { | |
this.restoreEditorDOM(), this.removeRenderGuard(), this.exitCurrentMode(), this.props.onCut(t, n) | |
}.bind(this), 0) | |
}.bind(this))) | |
}, | |
onCopy: function() { | |
a(this.props, function(e) { | |
this._clipboard = e | |
}.bind(this)) | |
}, | |
onPaste: function(e) { | |
e.preventDefault(); | |
var t = new s(e.clipboardData); | |
if (!t.isRichText()) { | |
var n = t.getFiles(); | |
if (n.length > 0) return void(this.props.onPasteFiles && this.props.onPasteFiles(n)) | |
} | |
var r = t.getText(); | |
if (r && (r = r.replace(new RegExp(y, "g"), _)), this._clipboard && r === this._clipboard.text) return void this.props.onPasteFragment(this._clipboard); | |
var o = t.getHTML(); | |
if (o) { | |
var i = d.processHTML(o); | |
if (i) return void this.props.onPasteFragment(i) | |
} | |
this._clipboard = null, this.props.onPasteFragment(d.processText(r)) | |
} | |
}; | |
o.exports = b | |
}), __d("DataTransfer", [], function(e, t, n, r, o) { | |
function i(e) { | |
return "file" == e.kind ? e.getAsFile() : void 0 | |
} | |
function a(e) { | |
"use strict"; | |
this.data = e, this.types = e.types ? l(e.types) : [] | |
} | |
var s = t("PhotosMimeType"), | |
l = t("createArrayFrom"), | |
u = t("emptyFunction"), | |
c = new RegExp("\r\n", "g"), | |
d = "\n", | |
p = { | |
"text/rtf": 1, | |
"text/html": 1 | |
}; | |
a.prototype.isRichText = function() { | |
"use strict"; | |
return this.types.some(function(e) { | |
return p[e] | |
}) | |
}, a.prototype.getText = function() { | |
"use strict"; | |
var e; | |
return this.data.getData && (this.types.length ? -1 != this.types.indexOf("text/plain") && (e = this.data.getData("text/plain")) : e = this.data.getData("Text")), e ? e.replace(c, d) : null | |
}, a.prototype.getHTML = function() { | |
"use strict"; | |
if (this.data.getData) { | |
if (!this.types.length) return this.data.getData("Text"); | |
if (-1 != this.types.indexOf("text/html")) return this.data.getData("text/html") | |
} | |
}, a.prototype.isImage = function() { | |
"use strict"; | |
var e = this.types.some(function(e) { | |
return -1 != e.indexOf("application/x-moz-file") | |
}); | |
if (e) return !0; | |
for (var t = this.getFiles(), n = 0; n < t.length; n++) { | |
var r = t[n].type; | |
if (!s(r).isImage()) return !1 | |
} | |
return !0 | |
}, a.prototype.getCount = function() { | |
"use strict"; | |
return this.data.hasOwnProperty("items") ? this.data.items.length : this.data.hasOwnProperty("mozItemCount") ? this.data.mozItemCount : this.data.files ? this.data.files.length : null | |
}, a.prototype.getFiles = function() { | |
"use strict"; | |
return this.data.items ? Array.prototype.slice.call(this.data.items).map(i).filter(u.thatReturnsArgument) : this.data.files ? Array.prototype.slice.call(this.data.files) : [] | |
}, a.prototype.hasFiles = function() { | |
"use strict"; | |
return this.getFiles().length > 0 | |
}, o.exports = a | |
}), __d("PhotosMimeType", [], function(e, t, n, r, o) { | |
function i(e) { | |
"use strict"; | |
return this instanceof i == !1 ? new i(e) : void(this.$PhotosMimeType_parts = e.split("/")) | |
} | |
i.prototype.isImage = function() { | |
"use strict"; | |
return "image" === this.$PhotosMimeType_parts[0] | |
}, i.prototype.isJpeg = function() { | |
"use strict"; | |
return this.isImage() && ("jpeg" === this.$PhotosMimeType_parts[1] || "pjpeg" === this.$PhotosMimeType_parts[1]) | |
}, o.exports = i | |
}), __d("TextEditorModes", [], function(e, t, n, r, o) { | |
var i = { | |
EDIT: 0, | |
COMPOSITE: 1, | |
DRAG: 2, | |
RENDER: 3, | |
CUT: 4 | |
}; | |
o.exports = i | |
}), __d("TextEditorPasteHandler", [], function(e, t, n, r, o) { | |
function i() { | |
return { | |
text: "", | |
inlines: [], | |
blocks: [] | |
} | |
} | |
function a() { | |
return { | |
text: y, | |
inlines: [d.NONE], | |
blocks: [] | |
} | |
} | |
function s() { | |
return { | |
text: _, | |
inlines: [d.NONE], | |
blocks: [] | |
} | |
} | |
function l(e) { | |
return { | |
text: m, | |
inlines: [d.NONE], | |
blocks: [e] | |
} | |
} | |
var u = t("DocumentCharacters"), | |
c = t("ComposedBlockType"), | |
d = t("ComposedInlineStyle"), | |
p = t("arrayContains"), | |
h = t("fillArray"), | |
f = t("getSafeBodyFromHTML"), | |
m = u.BLOCK_DELIMITER, | |
g = " ", | |
_ = u.SOFT_NEWLINE, | |
y = " ", | |
v = c.UNSTYLED, | |
S = ["p", "h1", "h2", "h3", "li", "blockquote"], | |
w = { | |
strong: d.BOLD, | |
b: d.BOLD, | |
em: d.ITALIC, | |
i: d.ITALIC, | |
u: d.UNDERLINE | |
}, | |
b = { | |
processBlockTag: function(e, t) { | |
switch (e) { | |
case "h1": | |
return c.HEADER_ONE; | |
case "h2": | |
return c.HEADER_TWO; | |
case "li": | |
return "ol" === t ? c.ORDERED_LIST_ITEM : c.UNORDERED_LIST_ITEM; | |
case "blockquote": | |
return c.BLOCKQUOTE; | |
default: | |
return c.UNSTYLED | |
} | |
}, | |
processInlineTag: function(e, t) { | |
var n = w[e], | |
r = !!(t & n); | |
return n && !r && (t += n), t | |
}, | |
joinChunks: function(e, t) { | |
return e.text.slice(-1) === m && t.text.slice(0, 1) === m && (e.text = e.text.slice(0, -1), e.inlines.pop(), e.blocks.pop()), e.text.slice(-1) !== m || t.text !== y && t.text !== _ ? { | |
text: e.text + t.text, | |
inlines: e.inlines.concat(t.inlines), | |
blocks: e.blocks.concat(t.blocks) | |
} : e | |
}, | |
genFragment: function(e, t, n, r, o) { | |
var u = e.nodeName.toLowerCase(), | |
c = !1; | |
if ("#text" === u) { | |
var d = e.textContent; | |
return "" === d.trim() ? a() : { | |
text: d, | |
inlines: h(d.length, t), | |
blocks: [] | |
} | |
} | |
if ("br" === u) return s(); | |
var f, m = i(); | |
for (t = this.processInlineTag(u, t), ("ul" === u || "ol" === u) && (n = u), !r && p(o, u) && (m = l(this.processBlockTag(u, n)), r = !0, c = !0), e = e.firstChild; e;) f = this.genFragment(e, t, n, r, o), m = this.joinChunks(m, f), e = e.nextSibling; | |
return c && (m = this.joinChunks(m, l(v))), m | |
}, | |
containsSemanticBlockMarkup: function(e) { | |
return S.some(function(t) { | |
return -1 !== e.indexOf("<" + t) | |
}) | |
}, | |
processHTML: function(e) { | |
e = e.trim().split(m).join("").split(_).join(y).split(g).join(y); | |
var t = f(e); | |
if (!t) return null; | |
var n = this.containsSemanticBlockMarkup(e) ? S : ["div"], | |
r = this.genFragment(t, 0, "ul", !1, n); | |
return 0 === r.text.indexOf(m) && (r = { | |
text: r.text.slice(1), | |
inlines: r.inlines.slice(1), | |
blocks: r.blocks | |
}), r.text.slice(-1) === m && (r.text = r.text.slice(0, -1), r.inlines = r.inlines.slice(0, -1), r.blocks.pop()), 0 === r.blocks.length && r.blocks.push(v), r.text.split(m).length === r.blocks.length + 1 && r.blocks.unshift(v), r | |
}, | |
processText: function(e) { | |
return { | |
text: e, | |
inlines: h(e.length, d.NONE), | |
blocks: h(e.split(m).length, v) | |
} | |
} | |
}; | |
o.exports = b | |
}), __d("arrayContains", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
return -1 != e.indexOf(t) | |
} | |
o.exports = i | |
}), __d("getSafeBodyFromHTML", [], function(e, t, n, r, o) { | |
function i(e) { | |
var t, n = null; | |
return document.implementation && document.implementation.createHTMLDocument && (t = document.implementation.createHTMLDocument("foo"), t.documentElement.innerHTML = e, n = t.getElementsByTagName("body")[0]), n | |
} | |
o.exports = i | |
}), __d("UserAgent", [], function(e, t, n, r, o) { | |
function i() { | |
if (!w && (w = !0, "undefined" != typeof navigator)) { | |
var e = navigator.userAgent, | |
t = /(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e), | |
n = /(Mac OS X)|(Windows)|(Linux)/.exec(e); | |
if (_ = /\b(iPhone|iP[ao]d)/.exec(e), y = /\b(iP[ao]d)/.exec(e), m = /Android/i.exec(e), v = /FBAN\/\w+;/i.exec(e), S = /Mobile/i.exec(e), g = !!/Win64/.exec(e), t) { | |
a = t[1] ? parseFloat(t[1]) : t[5] ? parseFloat(t[5]) : 0 / 0, a && document && document.documentMode && (a = document.documentMode); | |
var r = /(?:Trident\/(\d+.\d+))/.exec(e); | |
d = r ? parseFloat(r[1]) + 4 : a, s = t[2] ? parseFloat(t[2]) : 0 / 0, l = t[3] ? parseFloat(t[3]) : 0 / 0, u = t[4] ? parseFloat(t[4]) : 0 / 0, u ? (t = /(?:Chrome\/(\d+\.\d+))/.exec(e), c = t && t[1] ? parseFloat(t[1]) : 0 / 0) : c = 0 / 0 | |
} else a = s = l = c = u = 0 / 0; | |
if (n) { | |
if (n[1]) { | |
var o = /(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e); | |
p = o ? parseFloat(o[1].replace("_", ".")) : !0 | |
} else p = !1; | |
h = !!n[2], f = !!n[3] | |
} else p = h = f = !1 | |
} | |
} | |
var a, s, l, u, c, d, p, h, f, m, g, _, y, v, S, w = !1, | |
b = { | |
ie: function() { | |
return i() || a | |
}, | |
ieCompatibilityMode: function() { | |
return i() || d > a | |
}, | |
ie64: function() { | |
return b.ie() && g | |
}, | |
firefox: function() { | |
return i() || s | |
}, | |
opera: function() { | |
return i() || l | |
}, | |
webkit: function() { | |
return i() || u | |
}, | |
safari: function() { | |
return b.webkit() | |
}, | |
chrome: function() { | |
return i() || c | |
}, | |
windows: function() { | |
return i() || h | |
}, | |
osx: function() { | |
return i() || p | |
}, | |
linux: function() { | |
return i() || f | |
}, | |
iphone: function() { | |
return i() || _ | |
}, | |
mobile: function() { | |
return i() || _ || y || m || S | |
}, | |
nativeApp: function() { | |
return i() || v | |
}, | |
android: function() { | |
return i() || m | |
}, | |
ipad: function() { | |
return i() || y | |
} | |
}; | |
o.exports = b | |
}), __d("findAncestorOffsetKey", [], function(e, t, n, r, o) { | |
function i(e) { | |
for (; e && e !== document.documentElement;) { | |
var t = a(e); | |
if (null != t) return t; | |
e = e.parentNode | |
} | |
return null | |
} | |
var a = t("getSelectionOffsetKeyForNode"); | |
o.exports = i | |
}), __d("getSelectionOffsetKeyForNode", [], function(e, t, n, r, o) { | |
function i(e) { | |
return e.getAttribute && e.getAttribute("data-offset-key") | |
} | |
o.exports = i | |
}), __d("getChangedCharactersFromMutation", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n, r = Math.min(e.length, t.length), | |
o = r, | |
i = r; | |
for (n = 0; r > n; n++) | |
if (e.charAt(n) !== t.charAt(n)) { | |
o = n; | |
break | |
} | |
for (n = 0; r > n; n++) | |
if (e.charAt(e.length - n - 1) !== t.charAt(t.length - n - 1)) { | |
i = n; | |
break | |
} | |
return { | |
prefix: o, | |
suffix: i | |
} | |
} | |
function a(e, t, n) { | |
for (var r = 0; n > r; r++) t.charAt(e.prefix - 1).match(/^\s?$/) ? e.suffix-- : e.prefix-- | |
} | |
function s(e, t) { | |
return e.substr(t.prefix, e.length - t.prefix - t.suffix) | |
} | |
function l(e) { | |
var t, n; | |
if (3 === e.length) t = e[1], n = e[2]; | |
else { | |
if (2 !== e.length) return; | |
t = e[0], n = e[1] | |
} | |
if (t.target === n.target) { | |
var r = t.oldValue, | |
o = n.oldValue, | |
l = n.target.data; | |
if (l !== r && l.length > o.length && r.length > o.length) { | |
var u = i(r, o), | |
c = i(l, o), | |
d = u.prefix < c.prefix ? u : c, | |
p = r.length - d.prefix - d.suffix, | |
h = r.length - o.length; | |
return a(d, r, h - p), { | |
node: n.target, | |
offset: d.prefix, | |
oldText: s(r, d), | |
newText: s(l, d) | |
} | |
} | |
} | |
} | |
o.exports = l | |
}), __d("getDocumentSelection", [], function(e, t, n, r, o) { | |
function i(e) { | |
for (; e.firstChild && m(e.firstChild);) e = e.firstChild; | |
return e | |
} | |
function a(e) { | |
for (; e.lastChild && m(e.lastChild);) e = e.lastChild; | |
return e | |
} | |
function s(e, t) { | |
var n = document.selection, | |
r = n.createRange(), | |
o = r.text, | |
i = l(e, r, _), | |
a = i; | |
null !== i && o.length > 0 && (a = l(e, r, y)), i && a ? t(i.key, i.offset, a.key, a.offset) : t(null, null, null, null) | |
} | |
function l(e, t, n) { | |
for (var r = t.duplicate(), o = function(e) { | |
return r.moveToElementText(e), u(r, t, n) | |
}; e && e.childNodes;) { | |
var i = h(e.childNodes, o); | |
if (-1 === i) break; | |
e = e.childNodes[i]; | |
var a = m(e); | |
if (null !== a) return r.moveToElementText(e), r.setEndPoint("EndTo" + n, t), { | |
key: a, | |
offset: r.text.length | |
} | |
} | |
return null | |
} | |
function u(e, t, n) { | |
return 1 == e.compareEndPoints("StartTo" + n, t) ? 1 : -1 == e.compareEndPoints("EndTo" + n, t) ? -1 : 0 | |
} | |
function c(e, t, n) { | |
var r = f(t); | |
if (null == r && e !== t && g(0, "Unknown node in selection range."), 0 === n) return { | |
key: r || m(i(t)), | |
offset: 0 | |
}; | |
var o, s, l = t.childNodes[n - 1]; | |
if (m(l)) { | |
var u = a(l); | |
o = m(u), s = u.textContent.length | |
} else o = r, s = l.textContent.length; | |
return { | |
key: o, | |
offset: s | |
} | |
} | |
function d(t, n) { | |
var r = e.getSelection(); | |
if (0 === r.rangeCount) return void n(null, null, null, null); | |
var o = r.anchorNode, | |
i = r.focusNode, | |
a = r.anchorOffset, | |
s = r.focusOffset, | |
l = o.nodeType === Node.TEXT_NODE, | |
u = i.nodeType === Node.TEXT_NODE; | |
if (l && u) return void n(f(o), a, f(i), s); | |
var d = null, | |
p = null; | |
l ? (d = { | |
key: f(o), | |
offset: a | |
}, p = c(t, i, s)) : u ? (p = { | |
key: f(i), | |
offset: s | |
}, d = c(t, o, a)) : (d = c(t, o, a), p = c(t, i, s)), n(d.key, d.offset, p.key, p.offset, !0) | |
} | |
function p(e, t) { | |
document.selection ? s(e, t) : d(e, t) | |
} | |
var h = t("binarySearch"), | |
f = t("findAncestorOffsetKey"), | |
m = t("getSelectionOffsetKeyForNode"), | |
g = t("invariant"), | |
_ = "Start", | |
y = "End"; | |
o.exports = p | |
}), __d("binarySearch", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
if (__DEV__ && "number" != typeof e.length) throw new TypeError("binarySearch() must be passed array-like object."); | |
for (var n = 0, r = e.length - 1; r >= n;) { | |
var o = Math.floor((r + n) / 2), | |
i = t(e[o], o); | |
if (0 === i) return o; | |
i > 0 ? r = o - 1 : n = o + 1 | |
} | |
return -1 | |
} | |
o.exports = i | |
}), __d("TextEditorDragHandler", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n, r; | |
if (document.caretRangeFromPoint) { | |
var o = document.caretRangeFromPoint(t.x, t.y); | |
n = o.startContainer, r = o.startOffset | |
} else t.rangeParent && (n = t.rangeParent, r = t.rangeOffset); | |
if (n) { | |
var i = document.createRange(); | |
i.setStart(e, 0), i.setEnd(n, r); | |
var a = i.toString().length; | |
return i.detach(), a | |
} | |
} | |
var a = t("DataTransfer"), | |
s = { | |
onDragEnd: function() { | |
this.exitCurrentMode() | |
}, | |
onDrop: function(e) { | |
var t = new a(e.nativeEvent.dataTransfer), | |
n = i(this.refs.editorContainer.getDOMNode(), e.nativeEvent); | |
if (null != n) { | |
var r = t.getFiles(); | |
this.props.onDropFiles && r.length > 0 ? this.props.onDropFiles(n, r) : this._internalDrag ? this.props.onDropSelection(n) : this.props.onDropText(n, t.getText()) | |
} | |
e.preventDefault(), this.exitCurrentMode() | |
} | |
}; | |
o.exports = s | |
}), __d("TextInput", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("DocumentSelectionState"), | |
a = t("NativeMethodsMixin"), | |
s = t("NativeModulesDeprecated"), | |
l = t("ReactPropTypes"), | |
u = t("React"), | |
c = t("ReactChildren"), | |
d = t("ReactIOSViewAttributes"), | |
p = t("StyleSheet"), | |
h = t("Text"), | |
f = t("TextInputState"), | |
m = t("TimerMixin"), | |
g = t("TouchableWithoutFeedback"), | |
_ = t("createReactIOSNativeComponentClass"), | |
y = t("invariant"), | |
v = t("merge"), | |
S = s.RKUIManager.UIText.AutocapitalizationType, | |
w = { | |
none: S.None, | |
sentences: S.Sentences, | |
words: S.Words, | |
characters: S.AllCharacters | |
}, | |
b = v(d.UIView, { | |
autoCorrect: !0, | |
autoCapitalize: !0, | |
color: !0, | |
editable: !0, | |
fontSize: !0, | |
fontWeight: !0, | |
keyboardType: !0, | |
mostRecentEventCounter: !0, | |
placeholder: !0, | |
placeholderTextColor: !0, | |
text: !0 | |
}), | |
R = v(b, { | |
caretHidden: !0, | |
enabled: !0 | |
}), | |
C = u.createClass({ | |
displayName: "TextInput", | |
propTypes: { | |
autoCapitalize: l.oneOf(Object.keys(w)), | |
autoCorrect: l.bool, | |
autoFocus: l.bool, | |
editable: l.bool, | |
keyboardType: l.oneOf(["default", "numeric"]), | |
multiline: l.bool, | |
onBlur: l.func, | |
onFocus: l.func, | |
onChange: l.func, | |
onEndEditing: l.func, | |
onSubmitEditing: l.func, | |
placeholder: l.string, | |
placeholderTextColor: l.string, | |
selectionState: l.instanceOf(i), | |
color: l.string, | |
value: l.string, | |
style: h.stylePropType, | |
inputView: l.renderable | |
}, | |
mixins: [a, m], | |
viewConfig: { | |
uiViewClassName: "RKTextField", | |
validAttributes: R | |
}, | |
getInitialState: function() { | |
return { | |
contentSize: { | |
width: 0, | |
height: 0 | |
}, | |
mostRecentEventCounter: 0 | |
} | |
}, | |
onFocus: function(e) { | |
this.props.onFocus && this.props.onFocus(e) | |
}, | |
handleOnPress: function() { | |
this.focus() | |
}, | |
componentDidMount: function() { | |
this.props.autoFocus && this.requestAnimationFrame(this.focus) | |
}, | |
isFocused: function() { | |
return f.currentlyFocusedField() === this.getNativeNode() | |
}, | |
onChange: function(e) { | |
this.props.onChange && this.props.onChange(e) | |
}, | |
onBlur: function(e) { | |
this.blur(), this.props.onBlur && this.props.onBlur(e) | |
}, | |
onSelectionChange: function(e) { | |
if (this.props.selectionState) { | |
var t = e.nativeEvent.selection; | |
this.props.selectionState.update(t.start, t.end) | |
} | |
this.props.onSelectionChange && this.props.onSelectionChange(e) | |
}, | |
onTextInput: function(e) { | |
this.props.onTextInput && this.props.onTextInput(e); | |
var t = e.nativeEvent.eventCounter; | |
t > this.state.mostRecentEventCounter && this.setState({ | |
mostRecentEventCounter: t | |
}) | |
}, | |
render: function() { | |
var e; | |
if (this.props.multiline) { | |
this.props.onSubmitEditing && console.error("onSubmitEditing event is not supported with the multiline property"); | |
var t = this.props.children, | |
n = 0; | |
c.forEach(t, function() { | |
return ++n | |
}), this.props.value && n && y(0, "Cannot specify both value and children."), n > 1 && (t = u.createElement(h, null, t)), this.props.inputView && (t = [t, this.props.inputView]), e = u.createElement(D, { | |
style: [E.input, this.props.style], | |
children: t, | |
mostRecentEventCounter: this.state.mostRecentEventCounter, | |
editable: this.props.editable, | |
onFocus: this.onFocus, | |
onBlur: this.onBlur, | |
onChange: this.onChange, | |
onEndEditing: this.props.onEndEditing, | |
onSelectionChange: this.onSelectionChange, | |
onTextInput: this.onTextInput, | |
placeholder: this.props.placeholder, | |
placeholderTextColor: this.props.placeholderTextColor, | |
text: this.props.value, | |
autoCapitalize: w[this.props.autoCapitalize], | |
autoCorrect: this.props.autoCorrect | |
}) | |
} else e = u.createElement(x, { | |
style: [E.input, this.props.style], | |
enabled: this.props.editable, | |
keyboardType: this.props.keyboardType, | |
onFocus: this.onFocus, | |
onBlur: this.onBlur, | |
onChange: this.onChange, | |
onEndEditing: this.props.onEndEditing, | |
onSelectionChange: this.onSelectionChange, | |
onSubmitEditing: this.props.onSubmitEditing, | |
onTextInput: this.onTextInput, | |
placeholder: this.props.placeholder, | |
text: this.props.value, | |
autoCapitalize: w[this.props.autoCapitalize], | |
autoCorrect: this.props.autoCorrect | |
}); | |
return u.createElement(g, { | |
onPress: this.handleOnPress | |
}, e) | |
} | |
}), | |
E = p.create({ | |
input: { | |
alignSelf: "stretch" | |
} | |
}), | |
D = _({ | |
validAttributes: b, | |
uiViewClassName: "RKTextView" | |
}), | |
x = _({ | |
validAttributes: R, | |
uiViewClassName: "RKTextField" | |
}); | |
o.exports = C | |
}), __d("ReactChildren", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e, t) { | |
this.forEachFunction = e, this.forEachContext = t | |
} | |
function a(e, t, n, r) { | |
var o = e; | |
o.forEachFunction.call(o.forEachContext, t, r) | |
} | |
function s(e, t, n) { | |
if (null == e) return e; | |
var r = i.getPooled(t, n); | |
f(e, a, r), i.release(r) | |
} | |
function l(e, t, n) { | |
this.mapResult = e, this.mapFunction = t, this.mapContext = n | |
} | |
function u(e, t, n, r) { | |
var o = e, | |
i = o.mapResult, | |
a = !i.hasOwnProperty(n); | |
if (m(a, "ReactChildren.map(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.", n), a) { | |
var s = o.mapFunction.call(o.mapContext, t, r); | |
i[n] = s | |
} | |
} | |
function c(e, t, n) { | |
if (null == e) return e; | |
var r = {}, | |
o = l.getPooled(r, t, n); | |
return f(e, u, o), l.release(o), r | |
} | |
function d() { | |
return null | |
} | |
function p(e) { | |
return f(e, d, null) | |
} | |
var h = t("PooledClass"), | |
f = t("traverseAllChildren"), | |
m = t("warning"), | |
g = h.twoArgumentPooler, | |
_ = h.threeArgumentPooler; | |
h.addPoolingTo(i, g), h.addPoolingTo(l, _); | |
var y = { | |
forEach: s, | |
map: c, | |
count: p | |
}; | |
o.exports = y | |
}), __d("TouchableWithoutFeedback", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("React"), | |
a = t("Touchable"), | |
s = (t("View"), t("copyProperties")), | |
l = t("onlyChild"), | |
u = { | |
top: 20, | |
left: 20, | |
right: 20, | |
bottom: 30 | |
}, | |
c = i.createClass({ | |
displayName: "TouchableWithoutFeedback", | |
mixins: [a.Mixin], | |
propTypes: { | |
onPress: i.PropTypes.func, | |
onPressIn: i.PropTypes.func, | |
onPressOut: i.PropTypes.func, | |
onLongPress: i.PropTypes.func | |
}, | |
getInitialState: function() { | |
return this.touchableGetInitialState() | |
}, | |
touchableHandlePress: function(e) { | |
this.props.onPress && this.props.onPress(e) | |
}, | |
touchableHandleActivePressIn: function() { | |
this.props.onPressIn && this.props.onPressIn() | |
}, | |
touchableHandleActivePressOut: function() { | |
this.props.onPressOut && this.props.onPressOut() | |
}, | |
touchableHandleLongPress: function() { | |
this.props.onLongPress && this.props.onLongPress() | |
}, | |
touchableGetPressRectOffset: function() { | |
return u | |
}, | |
touchableGetHighlightDelayMS: function() { | |
return 0 | |
}, | |
render: function() { | |
var e = l(this.props.children); | |
return s(e.props, { | |
accessible: !0, | |
testID: this.props.testID, | |
onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder, | |
onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest, | |
onResponderGrant: this.touchableHandleResponderGrant, | |
onResponderMove: this.touchableHandleResponderMove, | |
onResponderRelease: this.touchableHandleResponderRelease, | |
onResponderTerminate: this.touchableHandleResponderTerminate | |
}), e | |
} | |
}); | |
o.exports = c | |
}), __d("requestAnimationFrame", [], function(e, t, n, r, o) { | |
var i = t("emptyFunction"), | |
a = t("nativeRequestAnimationFrame"), | |
s = 0, | |
l = a || function(t) { | |
var n = Date.now(), | |
r = Math.max(0, 16 - (n - s)); | |
return s = n + r, e.setTimeout(function() { | |
t(Date.now()) | |
}, r) | |
}; | |
l(i), o.exports = l | |
}), __d("nativeRequestAnimationFrame", [], function(e, t, n, r, o) { | |
var i = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame; | |
o.exports = i | |
}), __d("ModalFullscreenView", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("NativeModulesDeprecated"), | |
a = t("React"), | |
s = t("ReactIOSViewAttributes"), | |
l = t("RKDimensions"), | |
u = t("StyleSheet"), | |
c = t("createReactIOSNativeComponentClass"), | |
d = c({ | |
validAttributes: s.UIView, | |
uiViewClassName: "RKModalFullscreenView" | |
}), | |
p = u.create({ | |
modalContainer: { | |
backgroundColor: "transparent", | |
position: "absolute", | |
left: 0, | |
top: 0, | |
right: 0, | |
bottom: 0 | |
} | |
}), | |
h = a.createClass({ | |
displayName: "ModalFullscreenView", | |
statics: { | |
width: l.get("modalFullscreenView").width, | |
height: l.get("modalFullscreenView").height, | |
style: p.modalContainer | |
}, | |
getInitialState: function() { | |
return { | |
isOpen: !1 | |
} | |
}, | |
open: function() { | |
this.state.isOpen || (this.setState({ | |
isOpen: !0 | |
}), i.RKModalFullscreenViewManager.open()) | |
}, | |
close: function() { | |
this.state.isOpen && (this.setState({ | |
isOpen: !1 | |
}), i.RKModalFullscreenViewManager.close()) | |
}, | |
render: function() { | |
var e = { | |
position: "absolute", | |
left: 0, | |
top: 0, | |
width: l.get("modalFullscreenView").width, | |
height: l.get("modalFullscreenView").height | |
}; | |
return a.createElement(d, { | |
style: e, | |
onStartShouldSetResponder: this._shouldSetResponder | |
}, this.props.children) | |
}, | |
_shouldSetResponder: function() { | |
return !0 | |
} | |
}); | |
o.exports = h | |
}), __d("getMentionableRect", [], function(e, t, n, r, o) { | |
"use strict"; | |
o.exports = function() { | |
return null | |
} | |
}), __d("TypeaheadNavigation", [], function(e, t, n, r, o) { | |
var i = { | |
moveUp: function(e, t, n) { | |
var r = e.indexOf(t), | |
o = -1 == r ? e.length - 1 : r - 1; | |
n(-1 == o ? null : e[o]) | |
}, | |
moveDown: function(e, t, n) { | |
var r = e.indexOf(t) + 1; | |
n(r == e.length ? null : e[r]) | |
} | |
}; | |
o.exports = i | |
}), __d("DocumentCompositeDecorator", [], function(e, t, n, r, o) { | |
function i(e) { | |
"use strict"; | |
this.$DocumentCompositeDecorator_decorators = e.slice(), this.$DocumentCompositeDecorator_componentMap = {} | |
} | |
function a(e, t, n) { | |
for (var r = t; n > r; r++) | |
if (null != e[r]) return !1; | |
return !0 | |
} | |
function s(e, t, n, r) { | |
for (var o = t; n > o; o++) e[o] = r | |
} | |
var l = t("fillArray"); | |
i.prototype.getDecorations = function(e) { | |
"use strict"; | |
var t = l(e.getText().length, null), | |
n = 0, | |
r = this.$DocumentCompositeDecorator_componentMap; | |
return this.$DocumentCompositeDecorator_decorators.forEach(function(o) { | |
var i = o.getStrategy(), | |
l = o.getComponent(); | |
i(e, function(e, o) { | |
a(t, e, o) && (r[n] = l, s(t, e, o, n), n++) | |
}) | |
}), t | |
}, i.prototype.getComponentForKey = function(e) { | |
"use strict"; | |
return this.$DocumentCompositeDecorator_componentMap[e] | |
}, o.exports = i | |
}), __d("DocumentDecorator", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
"use strict"; | |
this.$DocumentDecorator_strategy = e, this.$DocumentDecorator_component = t | |
} | |
i.prototype.getStrategy = function() { | |
"use strict"; | |
return this.$DocumentDecorator_strategy | |
}, i.prototype.getComponent = function() { | |
"use strict"; | |
return this.$DocumentDecorator_component | |
}, o.exports = i | |
}), __d("ComposedEntityType", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
MENTION: 0, | |
LINK: 1, | |
IMAGE: 2, | |
VIDEO: 3 | |
}; | |
o.exports = i | |
}), __d("MentionSpan", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("React"), | |
a = t("StyleSheet"), | |
s = t("Text"), | |
l = i.createClass({ | |
displayName: "MentionSpan", | |
render: function() { | |
return i.createElement(s, { | |
style: u.text | |
}, this.props.children) | |
} | |
}), | |
u = a.create({ | |
text: { | |
backgroundColor: "#ccddff" | |
} | |
}); | |
o.exports = l | |
}), __d("MentionsTextEditorMixin", [], function(e, t, n, r, o) { | |
function i(e, t, n) { | |
for (var r = n; r <= t.length; r++) e.substr(-r) == t.substr(0, r) && (n = r); | |
return n | |
} | |
function a(e) { | |
var t = "user" === e.getType().toLowerCase() ? c.SEGMENTED : c.IMMUTABLE, | |
n = e.getAuxiliaryData(); | |
return l.create(u.MENTION, t, { | |
id: e.getUniqueID(), | |
isWeak: n && "non_member" === n.renderType | |
}) | |
} | |
var s = t("BaseTextEditorMixin"), | |
l = t("DocumentEntity"), | |
u = t("ComposedEntityType"), | |
c = t("ComposedEntityMutability"), | |
d = t("DocumentModifier"), | |
p = t("getCurrentInlineStyle"), | |
h = t("merge"), | |
f = { | |
onShowMentions: function(e, t) { | |
this._mentionOffset = t, this.props.onShowMentions && this.props.onShowMentions(e, t) | |
}, | |
onAddMention: function(e, t) { | |
var n = this.props.selectionState, | |
r = n.getStartOffset(), | |
o = r - i(this.props.documentContent.getText().substr(0, r), e.getTitle(), this._mentionOffset); | |
d.replaceText(this.props.documentContent, e.getTitle(), p(this.props.documentContent, n), a(e), o, r, this.updateDocumentAndCollapseSelection), this.props.onAddMention && this.props.onAddMention(e, t) | |
} | |
}, | |
m = h(s, f); | |
o.exports = m | |
}), __d("BaseTextEditorMixin", [], function(e, t, n, r, o) { | |
var i = t("DocumentCharacters"), | |
a = t("DocumentCommands"), | |
s = t("DocumentModifier"), | |
l = t("DocumentRemovableWord"), | |
u = t("emptyFunction"), | |
c = t("getActiveElement"), | |
d = t("getCurrentInlineStyle"), | |
p = t("getCurrentInlineStyleForOffset"), | |
h = t("getTextContentFromFiles"), | |
f = i.BLOCK_DELIMITER, | |
m = i.SOFT_NEWLINE, | |
g = { | |
getHandlerForCommand: function(e) { | |
switch (e) { | |
case a.UNDO: | |
return this.undo; | |
case a.REDO: | |
return this.redo; | |
case a.DELETE: | |
return this.onDelete; | |
case a.DELETE_WORD: | |
return this.onDeleteWord; | |
case a.DELETE_TO_END_OF_BLOCK: | |
return this.onDeleteToEndOfBlock; | |
case a.BACKSPACE: | |
return this.onBackspace; | |
case a.BACKSPACE_WORD: | |
return this.onBackspaceWord; | |
case a.BACKSPACE_TO_END_OF_BLOCK: | |
return this.onBackspaceToEndOfBlock; | |
case a.INSERT_BLOCK_DELIMITER: | |
return this.onInsertNewline; | |
case a.TRANSPOSE_CHARACTERS: | |
return this.onTransposeCharacters; | |
case a.MOVE_SELECTION_TO_START_OF_BLOCK: | |
return this.moveSelectionToStartOfBlock; | |
case a.MOVE_SELECTION_TO_END_OF_BLOCK: | |
return this.moveSelectionToEndOfBlock; | |
default: | |
return u | |
} | |
}, | |
componentWillReceiveProps: function(e) { | |
var t = e.documentContent, | |
n = this.props.documentContent; | |
if (t && n != t) this.props.selectionState.update(0, 0); | |
else { | |
var r = n.getText().length; | |
this.props.selectionState.constrainLength(r) | |
} | |
}, | |
onFocus: function() { | |
this.props.selectionState.focus() | |
}, | |
onBlur: function() { | |
e.getSelection && c() === document.body && e.getSelection().removeAllRanges(), this.props.selectionState.blur() | |
}, | |
onSelect: function(e, t, n) { | |
if (!this._blockSelectEvents) { | |
var r = this.props.selectionState; | |
null === e ? (r.update(0, 0), r.blur()) : n ? this.updateDocument(e, t) : r.update(e, t) | |
} | |
}, | |
updateDocument: function(e, t) { | |
this.props.selectionState.update(e, t), this._blockSelectEvents = !0, this.forceUpdate(function() { | |
this.props.onChange && this.props.onChange(), this._blockSelectEvents = !1 | |
}.bind(this)) | |
}, | |
updateDocumentAndCollapseSelection: function(e, t) { | |
this.updateDocument(t, t) | |
}, | |
undo: function() { | |
s.undo(this.props.documentContent, this.updateDocument) | |
}, | |
redo: function() { | |
s.redo(this.props.documentContent, this.updateDocument) | |
}, | |
onKeyCommand: function(e) { | |
var t = this.getHandlerForCommand(e); | |
t() | |
}, | |
onCut: function(e, t) { | |
s.removeRange(this.props.documentContent, e, t, this.updateDocument) | |
}, | |
onPasteFragment: function(e) { | |
var t = this.props.selectionState; | |
s.insertFragment(this.props.documentContent, e, t.getStartOffset(), t.getEndOffset(), this.updateDocumentAndCollapseSelection) | |
}, | |
_removeTextWithStrategy: function(e) { | |
var t = this.props.selectionState, | |
n = t.getEndOffset(); | |
if (t.isCollapsed()) { | |
var r = e(n); | |
if (r) { | |
var o = 0 > r; | |
return void s.removeRange(this.props.documentContent, o ? n + r : n, o ? n : n + r, this.updateDocumentAndCollapseSelection) | |
} | |
} | |
this._removeRange() | |
}, | |
onDelete: function() { | |
var e = this.props.selectionState; | |
e.isCollapsed() ? s.removeCharacterForward(this.props.documentContent, e.getAnchorOffset(), this.updateDocumentAndCollapseSelection) : this._removeRange() | |
}, | |
onDeleteWord: function() { | |
var e = this.props.selectionState.getStartOffset(), | |
t = this.props.documentContent; | |
return e < t.getText().length && t.getEntities()[e] ? void this.onDelete() : void this._removeTextWithStrategy(function(e) { | |
var t = this.props.documentContent.getText(), | |
n = l.getForward(t.slice(e)); | |
return n ? n.length : null | |
}.bind(this)) | |
}, | |
onDeleteToEndOfBlock: function() { | |
this._removeTextWithStrategy(function(e) { | |
var t = this.props.documentContent.getText(), | |
n = t.indexOf(f, e); | |
return -1 === n ? n = t.length : n === e && n++, n - e | |
}.bind(this)) | |
}, | |
onBackspace: function() { | |
var e = this.props.selectionState; | |
e.isCollapsed() ? s.removeCharacterBackward(this.props.documentContent, e.getAnchorOffset(), this.updateDocumentAndCollapseSelection) : this._removeRange() | |
}, | |
onBackspaceWord: function() { | |
var e = this.props.selectionState.getStartOffset(), | |
t = this.props.documentContent; | |
return e > 0 && t.getEntities()[e - 1] ? void this.onBackspace() : void this._removeTextWithStrategy(function(e) { | |
var t = this.props.documentContent.getText(), | |
n = l.getBackward(t.slice(0, e)); | |
return n ? -n.length : null | |
}.bind(this)) | |
}, | |
onBackspaceToEndOfBlock: function() { | |
this._removeTextWithStrategy(function(e) { | |
var t = this.props.documentContent.getText(), | |
n = t.slice(0, e).lastIndexOf(f); | |
return -1 === n ? n = 0 : e - 1 > n && n++, n - e | |
}.bind(this)) | |
}, | |
moveSelectionToStartOfBlock: function() { | |
this._moveSelectionToBlockEndpoint(!0) | |
}, | |
moveSelectionToEndOfBlock: function() { | |
this._moveSelectionToBlockEndpoint(!1) | |
}, | |
_moveSelectionToBlockEndpoint: function(e) { | |
for (var t = this.props.documentContent, n = this.props.selectionState.getStartOffset(), r = t.getText(), o = e ? r.substr(0, n).split("").reverse().join("") : r.substr(n), i = o.length, a = 0; a < o.length; a++) | |
if (o[a] === f || o[a] === m) { | |
i = a; | |
break | |
} | |
if (i > 0) { | |
var s = e ? n - i : n + i; | |
t.bumpVersion(), this.updateDocument(s, s) | |
} | |
}, | |
_removeRange: function() { | |
var e = this.props.selectionState; | |
s.removeRange(this.props.documentContent, e.getStartOffset(), e.getEndOffset(), this.updateDocumentAndCollapseSelection) | |
}, | |
onReturn: function(e) { | |
e.shiftKey ? this.onInsertSoftNewline() : this.onInsertNewline() | |
}, | |
onInsertSoftNewline: function() { | |
this.onCharacters(m) | |
}, | |
onInsertNewline: function() { | |
this.onCharacters(f) | |
}, | |
onTransposeCharacters: function() { | |
var e = this.props.selectionState, | |
t = e.getStartOffset(), | |
n = this.props.documentContent.getText(); | |
e.isCollapsed() && 0 !== t && t !== n.length && s.moveText(this.props.documentContent, t - 1, t, t + 1, this.updateDocumentAndCollapseSelection) | |
}, | |
onCharacters: function(e) { | |
var t, n = this.props.selectionState; | |
t = null != this.state.inlineStyleOverride ? this.state.inlineStyleOverride : d(this.props.documentContent, n), s.replaceText(this.props.documentContent, e, t, null, n.getStartOffset(), n.getEndOffset(), this.updateDocumentAndCollapseSelection) | |
}, | |
onAlter: function(e, t, n) { | |
var r = this.props.selectionState.getEndOffset(), | |
o = e, | |
i = e + t.length; | |
s.replaceText(this.props.documentContent, n, p(this.props.documentContent, o), null, o, i, function() { | |
r !== o + n.length && (r += n.length - t.length), this.updateDocument(r, r) | |
}.bind(this)) | |
}, | |
onDropSelection: function(e) { | |
var t = this.props.selectionState; | |
s.moveText(this.props.documentContent, t.getStartOffset(), t.getEndOffset(), e, this.updateDocument) | |
}, | |
onDropText: function(e, t) { | |
this._insertTextAtOffset(e, t) | |
}, | |
onDropFiles: function(e, t) { | |
this.props.handleDroppedFiles && this.props.handleDroppedFiles(e, t) || h(t, function(t) { | |
t && this._insertTextAtOffset(e, t) | |
}.bind(this)) | |
}, | |
onPasteFiles: function(e) { | |
if (!this.props.handlePastedFiles || !this.props.handlePastedFiles(e)) { | |
var t = this.props.selectionState.getStartOffset(); | |
h(e, function(e) { | |
e && this._insertTextAtOffset(t, e) | |
}.bind(this)) | |
} | |
}, | |
_insertTextAtOffset: function(e, t) { | |
var n = this.props.documentContent; | |
s.replaceText(n, t, p(n, e), null, e, e, this.updateDocument) | |
} | |
}; | |
o.exports = g | |
}), __d("DocumentCommands", [], function(e, t, n, r, o) { | |
var i = t("keyMirror"), | |
a = i({ | |
UNDO: !0, | |
REDO: !0, | |
DELETE: !0, | |
DELETE_WORD: !0, | |
DELETE_TO_END_OF_BLOCK: !0, | |
BACKSPACE: !0, | |
BACKSPACE_WORD: !0, | |
BACKSPACE_TO_END_OF_BLOCK: !0, | |
BOLD: !0, | |
ITALIC: !0, | |
UNDERLINE: !0, | |
CODE: !0, | |
INSERT_BLOCK_DELIMITER: !0, | |
TRANSPOSE_CHARACTERS: !0, | |
MOVE_SELECTION_TO_START_OF_BLOCK: !0, | |
MOVE_SELECTION_TO_END_OF_BLOCK: !0 | |
}); | |
o.exports = a | |
}), __d("DocumentModifier", [], function(e, t, n, r, o) { | |
function i() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
return Array.prototype.concat.apply(C, e) | |
} | |
function a(e, t) { | |
return null != t && (e = e.substr(0, t)), e.split(S).length | |
} | |
function s(e, t, n) { | |
t = t.filter(_.thatReturnsArgument), t.length && (e.addForwardTransaction(t), l(e, t, !0, n)) | |
} | |
function l(e, t, n, r) { | |
if (t.length) { | |
for (var o, i, a, s = e.getData(), l = 0; l < t.length; l++) n ? (o = t[l], i = o.from, a = o.to) : (o = t[t.length - 1 - l], i = o.to, a = o.from), u(s, i, a); | |
e.update(s.text, s.inlines, s.blocks, s.entities), r(a.start, a.end) | |
} | |
} | |
function u(e, t, n) { | |
var r = t.start, | |
o = t.end, | |
i = e.text.slice(0, r), | |
s = e.text.slice(o); | |
if (void 0 !== t.text && void 0 !== n.text && (e.text = i + n.text + s), void 0 !== t.inlines && void 0 !== n.inlines) { | |
var l = e.inlines.slice(0, r), | |
u = e.inlines.slice(o); | |
e.inlines = l.concat(n.inlines, u) | |
} | |
if (void 0 !== t.blocks && void 0 !== n.blocks) { | |
var c = a(i) - 1, | |
d = e.blocks.slice(0, c), | |
p = e.blocks.slice(c + t.blocks.length); | |
e.blocks = d.concat(n.blocks, p) | |
} | |
if (void 0 !== t.entities && void 0 !== n.entities) { | |
var h = e.entities.slice(0, r), | |
f = e.entities.slice(o); | |
e.entities = h.concat(n.entities, f) | |
} | |
} | |
function c(e, t, n, r) { | |
var o = v(e, t, n), | |
i = m.removeText(e, o.start, o.end); | |
s(e, [i], r) | |
} | |
var d = t("ComposedBlockType"), | |
p = t("ComposedEntityMutability"), | |
h = t("DocumentCharacters"), | |
f = t("DocumentEntity"), | |
m = t("DocumentModifierDiffs"), | |
g = t("DocumentRemovalDirection"), | |
_ = t("emptyFunction"), | |
y = t("fillArray"), | |
v = t("getCharacterRemovalRange"), | |
S = h.BLOCK_DELIMITER, | |
w = p.MUTABLE, | |
b = g.FORWARD, | |
R = g.BACKWARD, | |
C = [], | |
E = { | |
insertFragment: function(e, t, n, r, o) { | |
var a = t.entities, | |
l = !0, | |
u = e.getEntities(), | |
c = u[n - 1], | |
d = u[r]; | |
if (c && c === d) { | |
var p = f.get(c); | |
p.getMutability() === w && void 0 === a && (a = y(t.text.length, c), l = !1) | |
} | |
var h = null; | |
l && (h = m.removeEntities(e, n, r)); | |
var g = m.removeText(e, n, r), | |
_ = e.getBlockStylesAroundRange(n, n)[0], | |
v = m.insertText(e, n, t.text, t.inlines, a || y(t.text.length, null), [_].concat(t.blocks.slice(1))), | |
S = i(h, g, v); | |
s(e, S, o) | |
}, | |
applyEntity: function(e, t, n, r, o) { | |
var a = m.removeEntities(e, n, r), | |
l = null; | |
null !== t && (l = m.setEntity(e, n, r, t)); | |
var u = i(a, l); | |
s(e, u, o) | |
}, | |
removeCharacterBackward: function(e, t, n) { | |
t > 0 && c(e, t, R, n) | |
}, | |
removeCharacterForward: function(e, t, n) { | |
t < e.getText().length && c(e, t, b, n) | |
}, | |
removeRange: function(e, t, n, r) { | |
var o = m.removeEntities(e, t, n), | |
a = m.removeText(e, t, n); | |
s(e, i(o, a), r) | |
}, | |
moveText: function(e, t, n, r, o) { | |
var a = m.removeEntities(e, t, n), | |
l = m.removeText(e, t, n), | |
u = null; | |
l && (u = m.insertText(e, r, l.from.text, l.from.inlines, y(l.from.text.length, null), l.from.blocks), r > t && l && m.shiftDiff(u, -l.from.text.length)); | |
var c = i(a, l, u); | |
s(e, c, o) | |
}, | |
replaceText: function(e, t, n, r, o, i, s) { | |
var l = e.getBlockStylesAroundRange(o, o)[0], | |
u = { | |
text: t, | |
inlines: y(t.length, n), | |
entities: r ? y(t.length, r) : void 0, | |
blocks: y(a(t), l) | |
}; | |
E.insertFragment(e, u, o, i, s) | |
}, | |
resetBlock: function(e, t, n) { | |
var r, o = e.getText(), | |
a = o.slice(0, t).lastIndexOf(S); | |
r = -1 === a ? 0 : a + 1; | |
var l = o.indexOf(S, r); - 1 === l && (l = o.length); | |
var u = m.removeEntities(e, r, l), | |
c = m.removeText(e, r, l), | |
p = m.setBlockStyle(e, r, r, d.UNSTYLED); | |
s(e, i(u, c, p), n) | |
}, | |
applyBlockStyle: function(e, t, n, r, o) { | |
s(e, [m.setBlockStyle(e, n, r, t)], o) | |
}, | |
applyInlineStyle: function(e, t, n, r, o) { | |
s(e, [m.addInlineStyle(e, n, r, t)], o) | |
}, | |
removeInlineStyle: function(e, t, n, r, o) { | |
s(e, [m.removeInlineStyle(e, n, r, t)], o) | |
}, | |
undo: function(e, t) { | |
l(e, e.getUndoDiffs(), !1, t) | |
}, | |
redo: function(e, t) { | |
l(e, e.getRedoDiffs(), !0, t) | |
} | |
}; | |
o.exports = E | |
}), __d("ComposedEntityMutability", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = { | |
MUTABLE: 0, | |
IMMUTABLE: 1, | |
SEGMENTED: 2 | |
}; | |
o.exports = i | |
}), __d("DocumentEntity", [], function(e, t, n, r, o) { | |
var i = t("DocumentEntityInstance"), | |
a = t("invariant"), | |
s = {}, | |
l = 0, | |
u = { | |
create: function(e, t, n) { | |
return u.add(new i(e, t, n)) | |
}, | |
add: function(e) { | |
return s[++l] = e, l.toString() | |
}, | |
get: function(e) { | |
var t = s[e]; | |
return t || a(0, "Unknown DocumentEntity key."), t | |
} | |
}; | |
o.exports = u | |
}), __d("DocumentEntityInstance", [], function(e, t, n, r, o) { | |
function i(e, t, n) { | |
"use strict"; | |
l(d, e) || c(0, "Invalid DocumentEntityType."), l(p, t) || c(0, "Invalid ComposedEntityMutability type."), this.$DocumentEntityInstance_type = e, this.$DocumentEntityInstance_mutability = t, this.$DocumentEntityInstance_data = n | |
} | |
var a = t("ComposedEntityMutability"), | |
s = t("ComposedEntityType"), | |
l = t("arrayContains"), | |
u = t("getObjectValues"), | |
c = t("invariant"), | |
d = u(s), | |
p = u(a); | |
i.prototype.getType = function() { | |
"use strict"; | |
return this.$DocumentEntityInstance_type | |
}, i.prototype.getMutability = function() { | |
"use strict"; | |
return this.$DocumentEntityInstance_mutability | |
}, i.prototype.getData = function() { | |
"use strict"; | |
return this.$DocumentEntityInstance_data | |
}, i.prototype.replaceData = function(e) { | |
"use strict"; | |
this.$DocumentEntityInstance_data = e | |
}, o.exports = i | |
}), __d("DocumentModifierDiffs", [], function(e, t, n, r, o) { | |
function i(e, t, n) { | |
var r = e.getEntities().slice(t, n), | |
o = {}; | |
return r.forEach(function(e) { | |
e && (o[e] = !0) | |
}), Object.keys(o) | |
} | |
var a = t("fillArray"), | |
s = t("flattenArray"), | |
l = t("getDocumentEntityRemovalDiffs"), | |
u = [], | |
c = { | |
removeText: function(e, t, n) { | |
if (t === n) return null; | |
var r = e.getBlockStylesAroundRange(t, n); | |
return { | |
from: { | |
text: e.getText().slice(t, n), | |
entities: e.getEntities().slice(t, n), | |
inlines: e.getInlineStyles().slice(t, n), | |
blocks: r, | |
start: t, | |
end: n | |
}, | |
to: { | |
text: "", | |
inlines: u, | |
entities: u, | |
blocks: r.slice(0, 1), | |
start: t, | |
end: t | |
} | |
} | |
}, | |
insertText: function(e, t, n, r, o, i) { | |
if (0 === n.length) return null; | |
var a = e.getBlockStylesAroundRange(t, t); | |
return { | |
from: { | |
text: "", | |
inlines: u, | |
entities: u, | |
blocks: a, | |
start: t, | |
end: t | |
}, | |
to: { | |
text: n, | |
inlines: r, | |
entities: o, | |
blocks: a.concat(i.slice(1)), | |
start: t, | |
end: t + n.length | |
} | |
} | |
}, | |
removeEntities: function(e, t, n) { | |
if (t === n) { | |
var r = e.getEntities(), | |
o = r[t - 1]; | |
o && o === r[t] && t-- | |
} | |
var a = i(e, t, n); | |
return s(a.map(function(r) { | |
return l(e, r, t, n) | |
})) | |
}, | |
setEntity: function(e, t, n, r) { | |
for (var o = e.getEntities().slice(t, n), i = !1, s = 0; s < o.length; s++) | |
if (o[s] !== r) { | |
i = !0; | |
break | |
} | |
return i ? { | |
from: { | |
entities: o, | |
start: t, | |
end: n | |
}, | |
to: { | |
entities: a(n - t, r), | |
start: t, | |
end: n | |
} | |
} : null | |
}, | |
setBlockStyle: function(e, t, n, r) { | |
var o = e.getBlockStylesAroundRange(t, n); | |
return { | |
from: { | |
blocks: o, | |
start: t, | |
end: n | |
}, | |
to: { | |
blocks: a(o.length, r), | |
start: t, | |
end: n | |
} | |
} | |
}, | |
removeInlineStyle: function(e, t, n, r) { | |
return this._changeInlineStyle(e, t, n, r, !1) | |
}, | |
addInlineStyle: function(e, t, n, r) { | |
return this._changeInlineStyle(e, t, n, r, !0) | |
}, | |
_changeInlineStyle: function(e, t, n, r, o) { | |
var i = !1, | |
a = e.getInlineStyles().slice(t, n), | |
s = a.map(function(e) { | |
var t = o ? e | r : e & ~r; | |
return i || t === e || (i = !0), t | |
}); | |
return i ? { | |
from: { | |
inlines: a, | |
start: t, | |
end: n | |
}, | |
to: { | |
inlines: s, | |
start: t, | |
end: n | |
} | |
} : void 0 | |
}, | |
shiftDiff: function(e, t) { | |
e.from.start += t, e.from.end += t, e.to.start += t, e.to.end += t | |
} | |
}; | |
o.exports = c | |
}), __d("flattenArray", [], function(e, t, n, r, o) { | |
function i(e) { | |
for (var t = e.slice(), n = []; t.length;) { | |
var r = t.pop(); | |
Array.isArray(r) ? Array.prototype.push.apply(t, r) : n.push(r) | |
} | |
return n.reverse() | |
} | |
o.exports = i | |
}), __d("getDocumentEntityRemovalDiffs", [], function(e, t, n, r, o) { | |
function i(e, t, n, r) { | |
var o = s.get(t), | |
i = d(e, t), | |
l = o.getMutability(); | |
return i = i.filter(function(e) { | |
return u(n, r, e.start, e.end) | |
}), i.map(l === p ? function(t) { | |
return a(e, Math.max(t.start, n), Math.min(t.end, r)) | |
} : function(t) { | |
return a(e, t.start, t.end) | |
}) | |
} | |
function a(e, t, n) { | |
var r = e.getEntities().slice(t, n); | |
return { | |
from: { | |
entities: r, | |
start: t, | |
end: n | |
}, | |
to: { | |
entities: c(r.length, null), | |
start: t, | |
end: n | |
} | |
} | |
} | |
var s = t("DocumentEntity"), | |
l = t("ComposedEntityMutability"), | |
u = t("checkRangeOverlap"), | |
c = t("fillArray"), | |
d = t("getRangesForDocumentEntity"), | |
p = l.MUTABLE; | |
o.exports = i | |
}), __d("checkRangeOverlap", [], function(e, t, n, r, o) { | |
function i(e, t, n, r) { | |
return t >= e && r >= n || a(0, "Start of range must be before or equal to end of range."), r > e && t > n | |
} | |
var a = t("invariant"); | |
o.exports = i | |
}), __d("getRangesForDocumentEntity", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n = []; | |
return a(e.getEntities(), function(e) { | |
return e === t | |
}, function(e, t) { | |
n.push({ | |
start: e, | |
end: t | |
}) | |
}), n.length || s(0, "Entity key not found in this range."), n | |
} | |
var a = t("findRanges"), | |
s = t("invariant"); | |
o.exports = i | |
}), __d("findRanges", [], function(e, t, n, r, o) { | |
function i(e, t, n) { | |
for (var r, o = 0, i = 0, a = 0; a < e.length; a++) i++, r = e[a], r !== e[a + 1] && (t(r) && n(o, i), o = i) | |
} | |
o.exports = i | |
}), __d("DocumentRemovalDirection", [], function(e, t, n, r, o) { | |
var i = { | |
BACKWARD: 0, | |
FORWARD: 1 | |
}; | |
o.exports = i | |
}), __d("getCharacterRemovalRange", [], function(e, t, n, r, o) { | |
function i(e, t, n) { | |
var r = e.getText(), | |
o = t - (n === f ? 1 : 0), | |
i = r.charCodeAt(o), | |
s = o, | |
u = o + 1; | |
if (c.isCodeUnitInSurrogateRange(i)) { | |
var _; | |
n === f ? (s--, _ = r.charCodeAt(s)) : (u++, _ = r.charCodeAt(u)), c.isCodeUnitInSurrogateRange(_) || h(0, "Cursor position cannot be between two units of a surrogate pair via normal browser interaction.") | |
} | |
var y = e.getEntities()[s]; | |
if (!y) return { | |
start: s, | |
end: u | |
}; | |
var v = a.get(y), | |
S = v.getMutability(); | |
if (S === m) return { | |
start: s, | |
end: u | |
}; | |
var w = p(e, y).filter(function(e) { | |
return d(s, u, e.start, e.end) | |
}); | |
1 != w.length && h(0, "There should only be one entity range within this removal range."); | |
var b = w[0]; | |
return S === g ? b : l.getRemovalRange(s, u, e.getText().slice(b.start, b.end), b.start, n) | |
} | |
var a = t("DocumentEntity"), | |
s = t("ComposedEntityMutability"), | |
l = t("DocumentEntitySegments"), | |
u = t("DocumentRemovalDirection"), | |
c = t("UnicodeUtils"), | |
d = t("checkRangeOverlap"), | |
p = t("getRangesForDocumentEntity"), | |
h = t("invariant"), | |
f = u.BACKWARD, | |
m = s.MUTABLE, | |
g = s.IMMUTABLE; | |
o.exports = i | |
}), __d("DocumentEntitySegments", [], function(e, t, n, r, o) { | |
var i = t("DocumentRemovalDirection"), | |
a = (t("invariant"), i.FORWARD), | |
s = { | |
getRemovalRange: function(e, t, n, r, o) { | |
var i = n.split(" "); | |
i = i.map(function(e, t) { | |
if (o === a) { | |
if (t > 0) return " " + e | |
} else if (t < i.length - 1) return e + " "; | |
return e | |
}); | |
for (var s, l, u = r, c = 0; c < i.length; c++) { | |
if (l = i[c], s = u + l.length, s > e && t > u) return i.length > 1 && (o === a ? 0 === c && s++ : c === i.length - 1 && u--), { | |
start: u, | |
end: s | |
}; | |
u = s | |
} | |
} | |
}; | |
o.exports = s | |
}), __d("UnicodeUtils", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
return e >= h && f >= e | |
} | |
function a(e) { | |
return m.test(e) | |
} | |
function s(e, t) { | |
return 1 + i(e.charCodeAt(t)) | |
} | |
function l(e) { | |
if (!a(e)) return e.length; | |
for (var t = 0, n = 0; n < e.length; n += s(e, n)) t++; | |
return t | |
} | |
function u(e, t, n) { | |
if (t = t || 0, n = void 0 === n ? 1 / 0 : n || 0, !a(e)) return e.substr(t, n); | |
var r = e.length; | |
if (0 >= r || t > r || 0 >= n) return ""; | |
var o = 0; | |
if (t > 0) { | |
for (; t > 0 && r > o; t--) o += s(e, o); | |
if (o >= r) return "" | |
} else if (0 > t) { | |
for (o = r; 0 > t && o > 0; t++) o -= s(e, o - 1); | |
0 > o && (o = 0) | |
} | |
var i = r; | |
if (r > n) | |
for (i = o; n > 0 && r > i; n--) i += s(e, i); | |
return e.substring(o, i) | |
} | |
function c(e, t, n) { | |
t = t || 0, n = void 0 === n ? 1 / 0 : n || 0, 0 > t && (t = 0), 0 > n && (n = 0); | |
var r = Math.abs(n - t); | |
return t = n > t ? t : n, u(e, t, r) | |
} | |
function d(e) { | |
for (var t = [], n = 0; n < e.length; n += s(e, n)) { | |
var r = p.codePointAt.call(e, n); | |
t.push(r) | |
} | |
return t | |
} | |
var p = t("ES6StringUtils"), | |
h = 55296, | |
f = 57343, | |
m = /[\uD800-\uDFFF]/, | |
g = { | |
isCodeUnitInSurrogateRange: i, | |
strlen: l, | |
substr: u, | |
substring: c, | |
getCodePoints: d | |
}; | |
o.exports = g | |
}), __d("ES6StringUtils", [], function(e, t, n, r, o) { | |
var i = { | |
fromCodePoint: function() { | |
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]); | |
if (String.fromCodePoint) return String.fromCodePoint.apply(this, e); | |
for (var r = [], o = 0; o < e.length; o++) { | |
var i = Number(e[o]); | |
if (!isFinite(i) || 0 > i || i > 1114111 || Math.floor(i) != i) throw RangeError("Invalid code point: " + e[o]); | |
65536 > i ? r.push(String.fromCharCode(i)) : (i -= 65536, r.push(String.fromCharCode((i >> 10) + 55296), String.fromCharCode(i % 1024 + 56320))) | |
} | |
return r.join("") | |
}, | |
codePointAt: function(e) { | |
"use strict"; | |
if (String.prototype.codePointAt) return String.prototype.codePointAt.call(this, e); | |
if (null === this || void 0 === this) throw TypeError("Invalid context: " + this); | |
var t = String(this), | |
n = t.length; | |
if (e = e ? Number(e) : 0, e != e && (e = 0), 0 > e || e >= n) return void 0; | |
var r = t.charCodeAt(e); | |
if (r >= 55296 && 56319 >= r && n > e + 1) { | |
var o = t.charCodeAt(e + 1); | |
if (o >= 56320 && 57343 >= o) return 1024 * (r - 55296) + o - 56320 + 65536 | |
} | |
return r | |
} | |
}; | |
o.exports = i | |
}), __d("DocumentRemovableWord", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n = t ? p.exec(e) : c.exec(e); | |
return n ? n[0] : null | |
} | |
var a = t("TokenizeUtil"), | |
s = a.getPunctuation(); | |
s = s.replace("'", "").slice(1, -1); | |
var l = "\\s" + s, | |
u = "^([" + l + "]*[^" + l + "]+|[" + l + "]+)", | |
c = new RegExp(u), | |
d = "([^" + l + "]+[" + l + "]*|[" + l + "]+)$", | |
p = new RegExp(d), | |
h = { | |
getBackward: function(e) { | |
return i(e, !0) | |
}, | |
getForward: function(e) { | |
return i(e, !1) | |
} | |
}; | |
o.exports = h | |
}), __d("TokenizeUtil", [], function(e, t, n, r, o) { | |
function i() { | |
return "[.,+*?$|#{}()'\\^\\-\\[\\]\\\\\\/!@%\"~=<>_:;・、。〈-】〔-〟:-?!-/[-`{-・⸮؟٪-٬؛،؍﴾﴿᠁।၊။‐-‧‰-⁞¡-±´-¸º»¿]" | |
} | |
function a(e) { | |
return e ? e.replace(f, " ") : "" | |
} | |
function s(e) { | |
e = e.toLowerCase(); | |
for (var t = "", n = "", r = e.length; r--;) n = e.charAt(r), t = (m[n] || n) + t; | |
return t.replace(p, " ") | |
} | |
function l(e) { | |
for (var t = [], n = h.exec(e); n;) n = n[0], t.push(n), n = h.exec(e); | |
return t | |
} | |
function u(e, t) { | |
if (!S.hasOwnProperty(e)) { | |
var n = s(e), | |
r = a(n); | |
S[e] = { | |
value: e, | |
flatValue: n, | |
tokens: l(r), | |
isPrefixQuery: r && " " != r[r.length - 1] | |
} | |
} | |
return t && "undefined" == typeof S[e].sortedTokens && (S[e].sortedTokens = S[e].tokens.slice(), S[e].sortedTokens.sort(function(e, t) { | |
return t.length - e.length | |
})), S[e] | |
} | |
function c(e, t, n) { | |
var r = u(t, "prefix" == e), | |
o = "prefix" == e ? r.sortedTokens : r.tokens, | |
i = u(n).tokens, | |
a = {}, | |
s = r.isPrefixQuery && "query" == e ? o.length - 1 : null, | |
l = function(t, n) { | |
for (var r = 0; r < i.length; ++r) { | |
var o = i[r]; | |
if (!a[r] && (o == t || ("query" == e && n === s || "prefix" == e) && 0 === o.indexOf(t))) return a[r] = !0 | |
} | |
return !1 | |
}; | |
return Boolean(o.length && o.every(l)) | |
} | |
var d = t("repeatString"), | |
p = /[ ]+/g, | |
h = /[^ ]+/g, | |
f = new RegExp(i(), "g"), | |
m = {}, | |
g = { | |
a: "а à á â ã ä å ā", | |
b: "б", | |
c: "ц ç č", | |
d: "д ð ď đ", | |
e: "э е è é ê ë ě ē", | |
f: "ф", | |
g: "г ğ ģ", | |
h: "х ħ", | |
i: "и ì í î ï ı ī", | |
j: "й", | |
k: "к ĸ ķ", | |
l: "л ľ ĺ ŀ ł ļ", | |
m: "м", | |
n: "н ñ ň ʼn ŋ ņ", | |
o: "о ø ö õ ô ó ò", | |
p: "п", | |
r: "р ř ŕ", | |
s: "с ş š ſ", | |
t: "т ť ŧ þ", | |
u: "у ю ü û ú ù ů ū", | |
v: "в", | |
y: "ы ÿ ý", | |
z: "з ž", | |
ae: "æ", | |
oe: "œ", | |
ts: "ц", | |
ch: "ч", | |
ij: "ij", | |
sh: "ш", | |
ss: "ß", | |
ya: "я" | |
}; | |
for (var _ in g) | |
for (var y = g[_].split(" "), v = 0; v < y.length; v++) m[y[v]] = _; | |
var S = {}, | |
w = { | |
flatten: s, | |
parse: u, | |
getPunctuation: i, | |
isExactMatch: c.bind(null, "exact"), | |
isQueryMatch: c.bind(null, "query"), | |
isPrefixMatch: c.bind(null, "prefix"), | |
tokenize: l | |
}; | |
__DEV__ && (w.generateFlattenInfo = function() { | |
var e = {}, | |
t = "", | |
n = ""; | |
for (var r in m) { | |
e[r] = m[r]; | |
var o = r.toUpperCase(); | |
/[A-Z]/.test(o) || (e[o] = e[r]) | |
} | |
for (var i in e) { | |
var a = i.charCodeAt(0).toString(16), | |
s = "\\u" + d("0", 4 - a.length) + a; | |
t += s, n += e[i] | |
} | |
return { | |
map: e, | |
input: t, | |
output: n | |
} | |
}), o.exports = w | |
}), __d("repeatString", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
if (1 === t) return e; | |
t >= 0 || a(0, "Can not repeat by negative number: %s", t); | |
for (var n = ""; t;) 1 & t && (n += e), (t >>= 1) && (e += e); | |
return n | |
} | |
var a = t("invariant"); | |
o.exports = i | |
}), __d("getActiveElement", [], function(e, t, n, r, o) { | |
function i() { | |
try { | |
return document.activeElement || document.body | |
} catch (e) { | |
return document.body | |
} | |
} | |
o.exports = i | |
}), __d("getCurrentInlineStyle", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
if (!t.hasFocus()) return a; | |
var n = t.getStartOffset(); | |
return t.isCollapsed() ? s(e, n) : e.getInlineStyles()[n] || a | |
} | |
var a = t("ComposedInlineStyle").NONE, | |
s = t("getCurrentInlineStyleForOffset"); | |
o.exports = i | |
}), __d("getCurrentInlineStyleForOffset", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n = e.getText().length, | |
r = e.getInlineStyles(); | |
return 0 === t ? t = 0 : t === n + 1 ? t = n - 1 : t -= 1, r[t] || a | |
} | |
var a = t("ComposedInlineStyle").NONE; | |
o.exports = i | |
}), __d("getTextContentFromFiles", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
var n = 0, | |
r = []; | |
e.forEach(function(o) { | |
a(o, function(o) { | |
n++, o && r.push(o), n == e.length && t(r.join(l)) | |
}) | |
}) | |
} | |
function a(t, n) { | |
if (!e.FileReader || t.type && !(t.type in c)) return void n(""); | |
if ("" === t.type && u.test(t.name)) return void n(t.name.replace(u, "")); | |
var r = new FileReader; | |
r.onload = function() { | |
n(r.result) | |
}, r.onerror = function() { | |
n("") | |
}, r.readAsText(t) | |
} | |
var s = t("DocumentCharacters"), | |
l = s.BLOCK_DELIMITER, | |
u = /\.textClipping$/, | |
c = { | |
"text/plain": !0, | |
"text/html": !0, | |
"text/rtf": !0 | |
}; | |
o.exports = i | |
}), __d("getDefaultKeyBinding", [], function(e, t, n, r, o) { | |
function i(e) { | |
return e.ctrlKey && !e.altKey | |
} | |
function a(e) { | |
return m ? e.metaKey && !e.altKey : i(e) | |
} | |
function s(e) { | |
return m ? e.altKey : i(e) | |
} | |
function l(e) { | |
return a(e) ? e.shiftKey ? p.REDO : p.UNDO : void 0 | |
} | |
function u(e) { | |
return g && e.shiftKey ? null : s(e) ? p.DELETE_WORD : p.DELETE | |
} | |
function c(e) { | |
return a(e) && m ? p.BACKSPACE_TO_END_OF_BLOCK : s(e) ? p.BACKSPACE_WORD : p.BACKSPACE | |
} | |
function d(e) { | |
switch (e.keyCode) { | |
case 66: | |
return a(e) ? p.BOLD : null; | |
case 68: | |
return i(e) ? p.DELETE : null; | |
case 72: | |
return i(e) ? p.BACKSPACE : null; | |
case 73: | |
return a(e) ? p.ITALIC : null; | |
case 74: | |
return a(e) ? p.CODE : null; | |
case 75: | |
return i(e) ? p.DELETE_TO_END_OF_BLOCK : null; | |
case 79: | |
return i(e) ? p.INSERT_BLOCK_DELIMITER : null; | |
case 84: | |
return i(e) ? p.TRANSPOSE_CHARACTERS : null; | |
case 85: | |
return a(e) ? p.UNDERLINE : null; | |
case 90: | |
return l(e) || null; | |
case h.DELETE: | |
return u(e); | |
case h.BACKSPACE: | |
return c(e); | |
case h.LEFT: | |
return y && a(e) ? p.MOVE_SELECTION_TO_START_OF_BLOCK : null; | |
case h.RIGHT: | |
return y && a(e) ? p.MOVE_SELECTION_TO_END_OF_BLOCK : null; | |
default: | |
return null | |
} | |
} | |
var p = t("DocumentCommands"), | |
h = t("Keys"), | |
f = t("UserAgent"), | |
m = f.osx(), | |
g = f.windows(), | |
_ = f.firefox(), | |
y = m && _ && 29 > _; | |
o.exports = d | |
}), __d("getEntityMatcher", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
return t = t || a.get, | |
function(n, r) { | |
s(n.getEntities(), function(n) { | |
return null !== n && e(t(n)) | |
}, r) | |
} | |
} | |
var a = t("DocumentEntity"), | |
s = t("findRanges"); | |
o.exports = i | |
}), __d("getHashtagMatches", [], function(e, t, n, r, o) { | |
function i(e, t) { | |
for (var n, r, o, i, a = e.getText(); null !== (n = s.exec(a));) r = n.index + n[1].length, o = n[2], i = n[3], t(r, r + o.length + i.length) | |
} | |
var a = t("getHashtagRegex"), | |
s = a(); | |
o.exports = i | |
}), __d("getHashtagRegex", [], function(e, t, n, r, o) { | |
function i() { | |
var e = "À-ÖØ-öø-ÿĀ-ɏɓ-ɔɖ-ɗəɛɣɨɯɲʉʋʻ̀-ͯḀ-ỿ", | |
t = "Ѐ-ӿԀ-ԧⷠ-ⷿꙀ-֑ꚟ-ֿׁ-ׂׄ-ׇׅא-תװ-״-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﭏؐ-ؚؠ-ٟٮ-ۓە-ۜ۞-۪ۨ-ۯۺ-ۼۿݐ-ݿࢠࢢ-ࢬࣤ-ࣾﭐ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼ-ก-ฺเ-๎ᄀ-ᇿ-ㆅꥠ-가-ힰ-ᄀ-ᅵ", | |
n = String.fromCharCode, | |
r = "ァ-ヺー-ヾヲ-゚0-9A-Za-zぁ-ゖ゙-ゞ㐀-䶿一-鿿" + n(173824) + "-" + n(177983) + n(177984) + "-" + n(178207) + n(194560) + "-" + n(195103) + "〃々〻", | |
o = e + t + r, | |
i = "A-Za-zªµºÀ-ÖØ-öø-Ɂɐ-ˁˆ-ˑˠ-ˤˮͺΆΈ-ΊΌΎ-ΡΣ-ώϐ-ϵϷ-ҁҊ-ӎӐ-ӹԀ-ԏԱ-Ֆՙա-ևא-תװ-ײء-غـ-يٮ-ٯٱ-ۓەۥ-ۦۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ݭހ-ޥޱऄ-हऽॐक़-ॡॽঅ-ঌএ-ঐও-নপ-রলশ-হঽৎড়-ঢ়য়-ৡৰ-ৱਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽૐૠ-ૡଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽଡ଼-ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠ-ౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠ-ೡഅ-ഌഎ-ഐഒ-നപ-ഹൠ-ൡඅ-ඖක-නඳ-රලව-ෆก-ะา-ำเ-ๆກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາ-ຳຽເ-ໄໆໜ-ໝༀཀ-ཇཉ-ཪྈ-ྋက-အဣ-ဧဩ-ဪၐ-ၕႠ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦩᧁ-ᧇᨀ-ᨖᴀ-ᶿḀ-ẛẠ-ỹἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₔℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℱℳ-ℹℼ-ℿⅅ-ⅉⰀ-Ⱞⰰ-ⱞⲀ-ⳤⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〆〱-〵〻-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄬㄱ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-龻ꀀ-ꒌꠀ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢ가-힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ", | |
a = "̀-ͯ҃-֑҆-ֹֻ-ֽֿׁ-ׂׄ-ׇׅؐ-ًؕ-ٰٞۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ްँ-ः़ा-्॑-॔ॢ-ॣঁ-ঃ়া-ৄে-ৈো-্ৗৢ-ৣਁ-ਃ਼ਾ-ੂੇ-ੈੋ-੍ੰ-ੱઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣଁ-ଃ଼ା-ୃେ-ୈୋ-୍ୖ-ୗஂா-ூெ-ைொ-்ௗఁ-ఃా-ౄె-ైొ-్ౕ-ౖಂ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕ-ೖം-ഃാ-ൃെ-ൈൊ-്ൗං-ඃ්ා-ුූෘ-ෟෲ-ෳัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-༹༙༵༷༾-༿ཱ-྄྆-྇ྐ-ྗྙ-ྼ࿆ာ-ဲံ-္ၖ-ၙ፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳា-៓៝᠋-᠍ᢩᤠ-ᤫᤰ-᤻ᦰ-ᧀᧈ-ᧉᨗ-ᨛ᷀-᷃⃐-⃥⃜⃡-⃫〪-゙〯-゚ꠂ꠆ꠋꠣ-ꠧﬞ︀-️︠-︣", | |
s = "0-9٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩၀-၉០-៩᠐-᠙᥆-᥏᧐-᧙0-9", | |
l = i + a + o, | |
u = s + "_", | |
c = l + u, | |
d = "[" + l + "]", | |
p = "[" + c + "]", | |
h = "^|$|[^&" + c + "]", | |
f = "[#\\uFF03]", | |
m = "(" + h + ")(" + f + ")(" + p + "*" + d + p + "*)"; | |
return new RegExp(m, "ig") | |
} | |
o.exports = i | |
}), __d("MentionsInputTypeaheadView.react", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("Image"), | |
a = t("ReactPropTypes"), | |
s = t("React"), | |
l = t("RKDimensions"), | |
u = t("ScrollView"), | |
c = t("StyleSheet"), | |
d = t("TouchableHighlight"), | |
p = t("TypeaheadViewItem"), | |
h = t("View"), | |
f = t("Text"), | |
m = t("cssVar"), | |
g = l.get("window").height - 320, | |
_ = g / 55, | |
y = 34, | |
v = s.createClass({ | |
displayName: "MentionsInputTypeaheadViewItem", | |
mixins: [p.Mixin], | |
propTypes: p.propTypes, | |
render: function() { | |
var e = this.props.entry, | |
t = e.getPhoto() ? s.createElement(i, { | |
style: R.profilePicture, | |
source: { | |
uri: e.getPhoto() | |
} | |
}) : null, | |
n = null; | |
return e.getSubtitle() && (n = s.createElement(f, null, e.getSubtitle())), s.createElement(d, { | |
onPress: this._onSelect | |
}, s.createElement(h, { | |
style: R.row | |
}, t, s.createElement(h, null, s.createElement(f, { | |
style: R.titleText | |
}, e.getTitle()), n))) | |
} | |
}), | |
S = s.createClass({ | |
displayName: "MentionsInputTypeaheadView", | |
propTypes: { | |
highlightedEntry: a.object, | |
entries: a.array.isRequired, | |
onSelect: a.func.isRequired, | |
onHighlight: a.func, | |
onRenderHighlight: a.func | |
}, | |
_renderItem: function(e, t) { | |
var n = e === this.props.highlightedEntry; | |
return [0 !== t && s.createElement(h, { | |
style: R.divider | |
}), s.createElement(v, { | |
key: e.getUniqueID(), | |
entry: e, | |
highlighted: n, | |
onSelect: this.props.onSelect, | |
onHighlight: this.props.onHighlight, | |
onRenderHighlight: this.props.onRenderHighlight | |
})] | |
}, | |
_renderSectionHeader: function(e) { | |
return s.createElement(h, { | |
key: e, | |
style: R.sectionHeader | |
}, s.createElement(f, { | |
style: R.sectionHeaderText | |
}, e)) | |
}, | |
render: function() { | |
if (this.props.entries.length) { | |
var e = [], | |
t = []; | |
this.props.entries.forEach(function(n) { | |
n.getAuxiliaryData().isMemberOfGroup ? (0 === e.length && e.push(this._renderSectionHeader("Members")), e.push(this._renderItem(n, e.length - 1))) : (0 === t.length && t.push(this._renderSectionHeader("Others")), t.push(this._renderItem(n, t.length - 1))) | |
}.bind(this)); | |
var n = this.props.entries.length > _ && { | |
height: g | |
}; | |
return s.createElement(h, { | |
style: R.container, | |
pointerEvents: h.PointerEvents.boxNone | |
}, s.createElement(u, { | |
keyboardShouldPersistTaps: !0, | |
style: [R.content, n] | |
}, e, t), this._renderSectionHeader()) | |
} | |
return s.createElement(h, { | |
style: R.container | |
}) | |
} | |
}), | |
w = m("fbui-bluegray-5"), | |
b = m("fbui-bluegray-10"), | |
R = c.create({ | |
container: { | |
width: l.get("window").width, | |
top: 0, | |
left: 0 | |
}, | |
content: { | |
backgroundColor: "white" | |
}, | |
row: { | |
backgroundColor: "white", | |
flexDirection: "row", | |
alignItems: "center" | |
}, | |
sectionHeader: { | |
borderTopColor: b, | |
borderTopWidth: 1, | |
borderBottomColor: b, | |
borderBottomWidth: 1, | |
backgroundColor: w, | |
padding: 5, | |
paddingLeft: 9 | |
}, | |
sectionHeaderText: { | |
fontSize: 12, | |
fontWeight: "bold" | |
}, | |
divider: { | |
height: 1, | |
marginLeft: 44, | |
backgroundColor: w | |
}, | |
titleText: { | |
fontSize: 17 | |
}, | |
profilePicture: { | |
width: y, | |
height: y, | |
marginVertical: 6, | |
marginHorizontal: 9, | |
borderRadius: y / 2 | |
} | |
}); | |
o.exports = S | |
}), __d("ScrollView", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ArrayOfPropType"), | |
a = t("React"), | |
s = t("ReactIOSViewAttributes"), | |
l = t("ReactIOSTagHandles"), | |
u = t("NativeModules").RKUIManager.RKScrollView, | |
c = u.Constants, | |
d = t("NativeModulesDeprecated").RKUIManager, | |
p = t("ScrollResponder"), | |
h = t("ScrollViewPropTypes"), | |
f = t("StyleSheetPropType"), | |
m = t("StyleSheet"), | |
g = t("View"), | |
_ = t("ViewStylePropTypes"), | |
y = t("createReactIOSNativeComponentClass"), | |
v = t("flattenStyle"), | |
S = t("invariant"), | |
w = t("merge"), | |
b = t("nativePropType"), | |
R = t("validAttributesFromPropTypes"), | |
C = a.PropTypes, | |
E = "ScrollView", | |
D = "InnerScrollView", | |
x = w(h, { | |
alwaysBounceHorizontal: b(C.bool), | |
alwaysBounceVertical: b(C.bool), | |
bounces: b(C.bool), | |
bouncesZoom: b(C.bool), | |
canCancelContentTouches: b(C.bool), | |
centerContent: b(C.bool), | |
decelerationRate: b(C.number), | |
directionalLockEnabled: b(C.bool), | |
horizontal: C.bool, | |
indicatorStyle: b(C.oneOf([c.IndicatorStyle.Default, c.IndicatorStyle.Black, c.IndicatorStyle.White])), | |
innerStyle: f(_), | |
keyboardDismissMode: b(C.oneOf([c.KeyboardDismissMode.None, c.KeyboardDismissMode.Interactive, c.KeyboardDismissMode.OnDrag])), | |
keyboardShouldPersistTaps: b(C.bool), | |
maximumZoomScale: b(C.number), | |
minimumZoomScale: b(C.number), | |
pagingEnabled: b(C.bool), | |
scrollsToTop: b(C.bool), | |
stickyHeaderIndices: b(i(C.number)), | |
zoomScale: b(C.number) | |
}), | |
F = a.createClass({ | |
displayName: "ScrollView", | |
statics: { | |
PropTypes: x | |
}, | |
propTypes: x, | |
mixins: [p.Mixin], | |
getInitialState: function() { | |
return this.scrollResponderMixinGetInitialState() | |
}, | |
setNativeProps: function(e) { | |
this.refs[E].setNativeProps(e) | |
}, | |
getInnerViewNode: function() { | |
return this.refs[D].getNodeHandle() | |
}, | |
scrollTo: function(e, t) { | |
d.scrollTo(l.rootNodeIDToTag[this._rootNodeID], t, e) | |
}, | |
render: function() { | |
var e = [this.props.horizontal && I.innerHorizontal, this.props.innerStyle]; | |
if (__DEV__ && this.props.style) { | |
var t = v(this.props.style), | |
n = ["alignItems", "justifyContent"].filter(function(e) { | |
return void 0 !== t[e] | |
}); | |
0 !== n.length && S(0, "ScrollView child layout (" + JSON.stringify(n) + ") must by applied through the innerStyle prop.") | |
} | |
var r = a.createElement(g, { | |
ref: D, | |
style: e | |
}, this.props.children), | |
o = w(this.props, { | |
style: [I.base, this.props.style], | |
onTouchStart: this.scrollResponderHandleTouchStart, | |
onTouchMove: this.scrollResponderHandleTouchMove, | |
onTouchEnd: this.scrollResponderHandleTouchEnd, | |
onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag, | |
onScrollEndDrag: this.scrollResponderHandleScrollEndDrag, | |
onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin, | |
onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd, | |
onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder, | |
onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture, | |
onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder, | |
onScroll: this.scrollResponderHandleScroll, | |
onResponderGrant: this.scrollResponderHandleResponderGrant, | |
onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest, | |
onResponderTerminate: this.scrollResponderHandleTerminate, | |
onResponderRelease: this.scrollResponderHandleResponderRelease, | |
onResponderReject: this.scrollResponderHandleResponderReject | |
}); | |
return a.createElement(u, Object.assign({}, o, { | |
ref: E | |
}), r) | |
} | |
}), | |
I = m.create({ | |
base: { | |
flex: 1 | |
}, | |
innerHorizontal: { | |
alignSelf: "flex-start", | |
flexDirection: "row" | |
} | |
}), | |
u = y({ | |
validAttributes: w(s.UIView, R(F.propTypes)), | |
uiViewClassName: "RKScrollView" | |
}); | |
o.exports = F | |
}), __d("ArrayOfPropType", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("ReactPropTypes"), | |
a = t("deepDiffer"), | |
s = function(e, t) { | |
var n = i.arrayOf(e); | |
return n.differ = t ? t : a, n | |
}; | |
o.exports = s | |
}), __d("validAttributesFromPropTypes", [], function(e, t, n, r, o) { | |
"use strict"; | |
function i(e) { | |
var t = {}; | |
for (var n in e) { | |
var r = e[n]; | |
if (r && r.isNative) { | |
var o = r.differ; | |
t[n] = o ? { | |
diff: o | |
} : !0 | |
} | |
} | |
return t | |
} | |
o.exports = i | |
}), __d("TouchableHighlight", [], function(e, t, n, r, o) { | |
"use strict"; | |
var i = t("AnimationMixin"), | |
a = t("NativeMethodsMixin"), | |
s = t("React"), | |
l = t("ReactIOSViewAttributes"), | |
u = t("ReactIOSAnimation"), | |
c = t("Touchable"), | |
d = t("View"), | |
p = t("cloneWithProps"), | |
h = t("keyOf"), | |
f = t("merge"), | |
m = t("onlyChild"), | |
g = { | |
top: 20, | |
left: 20, | |
right: 20, | |
bottom: 30 | |
}, | |
_ = h({ | |
childRef: null | |
}), | |
y = h({ | |
underlayRef: null | |
}), | |
v = { | |
style: { | |
backgroundColor: "transparent" | |
} | |
}, | |
S = { | |
activeOpacity: .8, | |
animationVelocity: 1, | |
underlayColor: "#000000" | |
}, | |
w = s.createClass({ | |
displayName: "TouchableHighlight", | |
propTypes: { | |
onPress: s.PropTypes.func.isRequired, | |
activeOpacity: s.PropTypes.number, | |
animationVelocity: s.PropTypes.number, | |
style: d.stylePropType, | |
underlayColor: s.PropTypes.string | |
}, | |
mixins: [i, a, c.Mixin], | |
getDefaultProps: function() { | |
return S | |
}, | |
computeSyntheticState: function(e) { | |
return { | |
activeProps: { | |
style: { | |
opacity: e.activeOpacity | |
} | |
}, | |
activeUnderlayProps: { | |
style: { | |
backgroundColor: e.underlayColor | |
} | |
}, | |
pressAnim: { | |
property: u.Properties.opacity, | |
fromValue: e.activeOpacity, | |
toValue: 1, | |
velocity: e.animationVelocity | |
}, | |
pressOutAnim: { | |
property: u.Properties.opacity, | |
toValue: 1, | |
velocity: e.animationVelocity | |
}, | |
underlayStyle: [v.style, e.style] | |
} | |
}, | |
getInitialState: function() { | |
return f(this.touchableGetInitialState(), this.computeSyntheticState(this.props)) | |
}, | |
componentWillReceiveProps: function(e) { | |
(e.activeOpacity !== this.props.activeOpacity || e.animationVelocity !== this.props.activeVelocity || e.underlayColor !== this.props.underlayColor || e.style !== this.props.style) && this.setState(this.computeSyntheticState(e)) | |
}, | |
viewConfig: { | |
uiViewClassName: "RKView", | |
validAttributes: l.RKView | |
}, | |
touchableHandleActivePressIn: function() { | |
this.stopAllAnimations(), this._showUnderlay(), this.refs[_].setNativeProps(this.state.activeProps) | |
}, | |
touchableHandleActivePressOut: function() { | |
this.stopAllAnimations(); | |
var e = u.createSpringAnimation(this.state.pressOutAnim); | |
this.startAnimation(_, e, this._hideUnderlay) | |
}, | |
touchableHandlePress: function() { | |
this.stopAllAnimations(), this._showUnderlay(); | |
var e = u.createSpringAnimation(this.state.pressAnim); | |
this.startAnimation(_, e, this._hideUnderlay), this.props.onPress && this.props.onPress() | |
}, | |
touchableGetPressRectOffset: function() { | |
return g | |
}, | |
_showUnderlay: function() { | |
this.refs[y].setNativeProps(this.state.activeUnderlayProps) | |
}, | |
_hideUnderlay: function() { | |
this.refs[y] && this.refs[y].setNativeProps(v) | |
}, | |
render: function() { | |
return s.createElement(d, { | |
ref: y, | |
style: this.state.underlayStyle, | |
onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder, | |
onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest, | |
onResponderGrant: this.touchableHandleResponderGrant, | |
onResponderMove: this.touchableHandleResponderMove, | |
onResponderRelease: this.touchableHandleResponderRelease, | |
onResponderTerminate: this.touchableHandleResponderTerminate | |
}, p(m(this.props.children), { | |
ref: _, | |
accessible: !0, | |
testID: this.props.testID | |
})) | |
} | |
}); | |
o.exports = w | |
}), __d("TypeaheadViewItem", [], function(e, t, n, r, o) { | |
var i = t("React"), | |
a = t("SearchableEntry"), | |
s = { | |
entry: i.PropTypes.instanceOf(a).isRequired, | |
highlighted: i.PropTypes.bool, | |
selected: i.PropTypes.bool, | |
onSelect: i.PropTypes.func.isRequired, | |
onHighlight: i.PropTypes.func, | |
onRenderHighlight: i.PropTypes.func | |
}, | |
l = { | |
_onSelect: function(e) { | |
this.props.onSelect(this.props.entry, e) | |
}, | |
_onHighlight: function(e) { | |
this.props.onHighlight && this.props.onHighlight(this.props.entry, e) | |
}, | |
shouldComponentUpdate: function(e) { | |
return this.props.entry.getUniqueID() !== e.entry.getUniqueID() || this.props.highlighted !== e.highlighted || this.props.selected !== e.selected | |
}, | |
componentDidMount: function() { | |
this.props.highlighted && this.props.onRenderHighlight && this.props.onRenderHighlight(this.getDOMNode()) | |
}, | |
componentDidUpdate: function() { | |
this.props.highlighted && this.props.onRenderHighlight && this.props.onRenderHighlight(this.getDOMNode()) | |
} | |
}; | |
o.exports = { | |
propTypes: s, | |
Mixin: l | |
} | |
}), __d("SearchableEntry", [], function(e, t, n, r, o) { | |
function i(e) { | |
switch (typeof e) { | |
case "string": | |
return e; | |
case "object": | |
return ""; | |
default: | |
return "" | |
} | |
} | |
function a(e) { | |
"use strict"; | |
(!e.uniqueID || "string" != typeof e.uniqueID && "number" != typeof e.uniqueID) && s(0, "SearchableEntry must include a valid unique ID value, %s provided.", e.uniqueID), e.title && "string" == typeof e.title || s(0, "SearchableEntry must include a valid title string, %s provided.", e.title), this.$SearchableEntry_uniqueID = e.uniqueID + "", this.$SearchableEntry_title = e.title, this.$SearchableEntry_order = e.order || 0, this.$SearchableEntry_subtitle = i(e.subtitle), this.$Searchabl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment