diff --git a/dist/store.dev.js b/dist/store.dev.js
index f400069..d57c6ff 100644
--- a/dist/store.dev.js
+++ b/dist/store.dev.js
@@ -7181,6 +7181,7 @@ var Store = (function () {
}, {
key: "off",
value: function off(event, type, id, callback) {
+ console.warn(["The `store.off()` method has been deprecated in favour of `store.observable`.", "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0"].join("\n"));
if (event === "added" || event === "updated" || event === "removed") {
if (this._types[type]) {
if (id && ({}).toString.call(id) === '[object Function]') {
@@ -7213,6 +7214,7 @@ var Store = (function () {
value: function on(event, type, id, callback, context) {
var _this6 = this;
+ console.warn(["The `store.on()` method has been deprecated in favour of `store.observable`.", "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0"].join("\n"));
if (event === "added" || event === "updated" || event === "removed") {
if (this._types[type]) {
if (id && ({}).toString.call(id) === '[object Function]') {
diff --git a/dist/store.dev.js.map b/dist/store.dev.js.map
index 3864a39..21ecceb 100644
--- a/dist/store.dev.js.map
+++ b/dist/store.dev.js.map
@@ -9,7 +9,7 @@
"../src/store.js"
],
"names": [],
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;IC9tMqB,WAAW;AAEnB,WAFQ,WAAW,CAElB,OAAO,EAAE;0BAFF,WAAW;;AAG5B,QAAI,CAAC,KAAK,GAAG,AAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAK,EAAE,CAAC;GAC9C;;eAJkB,WAAW;;WAMxB,gBAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAEpD,UAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;;AAE5D,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAEzD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;;AAEnC,iBAAO,CAAC,IAAI,CAAC,MAAM,EAAK,MAAK,KAAK,SAAI,IAAI,EAAI,IAAI,CAAC,CAAC;;AAEpD,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAChD,kBAAI;AACF,qBAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrB,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBACzE;eACF,CAAC,OAAO,CAAC,EAAE;AACV,oBAAI,KAAK,EAAE;AACT,uBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACxB;eACF;aACF,MAAM;AACL,kBAAI,KAAK,EAAE;AACT,qBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;eACrB;aACF;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1B,gBAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;WACnC,CAAC,CAAC,CAAC;;OAEL,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;WAEM,iBAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAEhD,UAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;;AAE5D,YAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAErD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;;AAEnC,iBAAO,CAAC,IAAI,CAAC,QAAQ,EAAK,OAAK,KAAK,SAAI,IAAI,SAAI,EAAE,EAAI,IAAI,CAAC,CAAC;;AAE5D,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI;AACF,qBAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvB,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACvB;eACF,CAAC,OAAO,CAAC,EAAE;AACV,qBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;eACxB;aACF,MAAM,IAAI,KAAK,EAAE;AAChB,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,EAAE,CAAC;;OAEhB,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;WAEG,cAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAEtD,UAAI,EAAE,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB,EAAE;AACtD,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;OAC1D,MAAM,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AACvC,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;OAC3D,MAAM,IAAI,OAAO,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,mBAAmB,EAAE;AACvE,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;OACzD,MAAM,IAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;AACnE,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACnC,cAAI,GAAG,YAAA,CAAC;;AAER,iBAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,aAAG,GAAG,EAAE,GAAM,OAAK,KAAK,SAAI,IAAI,SAAI,EAAE,GAAQ,OAAK,KAAK,SAAI,IAAI,AAAE,CAAC;;AAEnE,cAAI,OAAO,EAAE;;AAEX,gBAAI,MAAM,GAAG,EAAE,CAAC;;AAEhB,gBAAI,OAAO,CAAC,MAAM,EAAE;AAClB,oBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,KAAK,EAAI;AAC3C,uBAAO,aAAW,KAAK,OAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;eACrD,CAAC,CAAC;AACH,qBAAO,OAAO,CAAC,MAAM,CAAC;aACvB;;AAED,kBAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,EAAI;AACvC,qBAAO,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACrD,CAAC,CAAC,IAAI,EAAE,CAAC;;AAEV,gBAAI,MAAM,CAAC,MAAM,EAAE;AACjB,iBAAG,GAAM,GAAG,SAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,AAAE,CAAC;aACpC;WAEF;;AAED,iBAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;AAE/B,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI;AACF,qBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7C,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrE;eACF,CAAC,OAAO,CAAC,EAAE;AACV,qBAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;eACnB;aACF,MAAM,IAAI,KAAK,EAAE;AAChB,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,EAAE,CAAC;;OAEhB,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;WAEK,gBAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAExD,UAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;;AAE5D,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAE7D,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACnC,cAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;;AAE5C,iBAAO,CAAC,IAAI,CAAC,OAAO,EAAK,OAAK,KAAK,SAAI,IAAI,SAAI,EAAE,EAAI,IAAI,CAAC,CAAC;;AAE3D,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI;AACF,qBAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChB,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBACvD;eACF,CAAC,OAAO,CAAC,EAAE;AACV,oBAAI,KAAK,EAAE;AACT,uBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACxB;eACF;aACF,MAAM,IAAI,KAAK,EAAE;AAChB,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1B,gBAAI,EAAE,IAAI;WACX,CAAC,CAAC,CAAC;;OAEL,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;SAjMkB,WAAW;;;qBAAX,WAAW;;;;;;;;;;;;;;;;QCAzB,sBAAsB;;sBACd,SAAS;;;;2BACA,gBAAgB;;;;IAEnB,KAAK;eAAL,KAAK;;;;;;;;;;;;WAWb,cAAC,IAAI,EAAE,OAAO,EAAE;AACzB,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OAC/B,MAAM;AACL,eAAO;AACL,cAAI,EAAE,MAAM;AACZ,qBAAS,OAAO,IAAI,OAAO,WAAQ;AACnC,qBAAW,EAAE,qBAAU,IAAI,EAAE,GAAG,EAAE;AAChC,mBAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;WACxD;AACD,mBAAS,EAAE,mBAAU,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;AACxC,gBAAI,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;WAC9C;SACF,CAAC;OACH;KACF;;;;;;;;;;;;;WAWY,gBAAC,IAAI,EAAE,OAAO,EAAE;AAC3B,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OACjC,MAAM;AACL,eAAO;AACL,cAAI,EAAE,SAAS;AACf,iBAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;AACnC,qBAAW,EAAE,qBAAU,IAAI,EAAE,GAAG,EAAE;AAChC,gBAAI,GAAG,IAAI,IAAI,GAAG,CAAC;AACnB,gBAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AAClD,kBAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;AAC1C,uBAAO,IAAI,CAAC;eACb,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACxC,uBAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;eACxF;aACF;WACF;AACD,mBAAS,EAAE,SAAS,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;AACjD,gBAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;AAC1B,kBAAI,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;aACxC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACxB,kBAAI,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;AAChC,oBAAI,EAAE;AACJ,sBAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI;AACxB,oBAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;iBACrB;eACF,CAAC;aACH;WACF;SACF,CAAC;OACH;KACF;;;;;;;;;;;;;WAWa,iBAAC,IAAI,EAAE,OAAO,EAAE;AAC5B,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OAClC,MAAM;AACL,eAAO;AACL,cAAI,EAAE,UAAU;AAChB,qBAAS,EAAE;AACX,iBAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;AACnC,qBAAW,EAAE,qBAAU,IAAI,EAAE,GAAG,EAAE;;;AAChC,gBAAI,GAAG,IAAI,IAAI,GAAG,CAAC;AACnB,gBAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AAClD,kBAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;AAC1C,uBAAO,EAAE,CAAC;eACX,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACxC,uBAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,EAAK;AAC9C,yBAAO,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChC,CAAC,CAAC;eACJ;aACF;WACF;AACD,mBAAS,EAAE,SAAS,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;AACjD,gBAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjB,kBAAI,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;AAChC,oBAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,EAAI;AAC3B,yBAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;iBACnC,CAAC;eACH,CAAC;aACH;WACF;SACF,CAAC;OACH;KACF;;;AAEU,WAhHQ,KAAK,CAgHZ,OAAO,EAAE;0BAhHF,KAAK;;AAkHtB,QAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAI,CAAC,QAAQ,GAAG,IAAI,oBAAG,OAAO,EAAE,CAAC;AACjC,QAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,QAAI,CAAC,MAAM,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCjB,QAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;GAEhD;;;;;;;;;;;eAhKkB,KAAK;;WA0KrB,aAAC,MAAM,EAAE;;;AACV,UAAI,MAAM,EAAE;AACV,YAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,EAAE;;AAC5B,gBAAI,IAAI,GAAG,OAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC;AAC/F,gBAAI,QAAQ,GAAG,OAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACjD,gBAAI,UAAU,GAAG,OAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1C,kBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,SAAS,EAAI;AAC3C,kBAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACxB,uBAAK,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;eACzD;aACF,CAAC,CAAC;AACH,mBAAK,QAAQ,CAAC,MAAM,CAAC;AACnB,kBAAI,EAAE,IAAI;AACV,kBAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAE,EAAE,MAAM,CAAC,EAAE;AACb,sBAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;;SACJ,MAAM;AACL,gBAAM,IAAI,SAAS,oCAAoC,CAAC;SACzD;OACF,MAAM;AACL,cAAM,IAAI,SAAS,gCAAgC,CAAC;OACrD;KACF;;;;;;;;;;;;;WAWM,iBAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE;;;AACzB,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;OAC/C,MAAM,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AACvC,eAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;OACtC,MAAM;;AACL,cAAI,IAAI,GAAG;AACT,gBAAI,EAAE,IAAI;AACV,sBAAU,EAAE,EAAE;AACd,yBAAa,EAAE,EAAE;WAClB,CAAC;AACF,cAAI,EAAE,EAAE;AACN,gBAAI,CAAC,EAAE,GAAG,EAAE,CAAC;WACd;AACD,cAAI,UAAU,GAAG,OAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,SAAS,EAAI;AAC3C,gBAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACxB,wBAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;aAC3D;WACF,CAAC,CAAC;AACH;eAAO,IAAI;YAAC;;;;OACb;KACF;;;;;;;;;;;;;;;;;;;;;;WAoBK,gBAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAC7C,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OACpE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;;;;;;;;;WASK,gBAAC,KAAK,EAAE,UAAU,EAAE;;;AACxB,WAAK,GAAG,AAAC,KAAK,CAAC,WAAW,KAAK,KAAK,GAAI,KAAK,GAAG,CAAE,KAAK,CAAE,CAAC;AAC1D,UAAI,UAAU,EAAE;AACd,kBAAU,CAAC,MAAM,GAAG,KAAK,CAAC;AAC1B,aAAK,CAAC,OAAO,CAAC,UAAA,IAAI,EAAI;AACpB,cAAI,CAAC,OAAK,MAAM,CAAC,IAAI,CAAC,EAAE;AACtB,mBAAK,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;WAChC,MAAM;AACL,kBAAM,IAAI,KAAK,gBAAc,IAAI,iCAA8B,CAAC;WACjE;SACF,CAAC,CAAC;OACJ,MAAM;AACL,cAAM,IAAI,KAAK,kDAAgD,KAAK,CAAC,CAAC,CAAC,QAAK,CAAC;OAC9E;KACF;;;;;;;;;;;;;;;;;;;;;;WAoBM,iBAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACzC,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OAChE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;;;;;;;;;;;;;;WAcG,cAAC,IAAI,EAAE,EAAE,EAAE;;;AACb,UAAI,IAAI,EAAE;;AACR,cAAI,UAAU,GAAG,OAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,cAAI,UAAU,EAAE;AACd,gBAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,EAAE;;AACrB,oBAAI,UAAU,GAAG,EAAE,CAAC;AACpB,0BAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAA,CAAC;yBAAI,OAAK,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU;iBAAA,CAAC,CAAC;;aAC5D;AACD,gBAAI,EAAE,EAAE;AACN,kBAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE;AACzB,uBAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG;AACrB,6BAAW,EAAE,EAAE;AACf,sBAAI,EAAE,IAAI;AACV,oBAAE,EAAE,EAAE;iBACP,CAAC;AACF,sBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG,EAAI;AACrC,sBAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAClB,2BAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,WAAQ,CAAC;mBACrD;iBACF,CAAC,CAAC;eACJ;AACD;mBAAO,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAAC;aAC7B,MAAM;AACL;mBAAO,MAAM,CAAC,IAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;yBAAI,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAAA,CAAC;gBAAC;aACpE;WACF,MAAM;AACL,kBAAM,IAAI,SAAS,oBAAkB,IAAI,OAAI,CAAC;WAC/C;;;;OACF,MAAM;AACL,cAAM,IAAI,SAAS,2BAA2B,CAAC;OAChD;KACF;;;;;;;;;;;;;;;;;;;;;;;WAqBG,cAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/C,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OACtE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;;;;;;;;;;;;WAYE,aAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;AAC7B,UAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;AACnE,YAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrB,cAAI,EAAE,IAAI,CAAC,GAAE,CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB,EAAE;AACxD,gBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;WACtD,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;AACxH,gBAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AACtD,mBAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;WACpD;SACF,MAAM;AACL,gBAAM,IAAI,KAAK,oBAAkB,IAAI,OAAI,CAAC;SAC3C;OACF,MAAM;AACL,cAAM,IAAI,KAAK,qBAAmB,KAAK,OAAI,CAAC;OAC7C;KACF;;;;;;;;;;;;;;;WAaC,YAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;;;AACrC,UAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;AACnE,YAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrB,cAAI,EAAE,IAAI,CAAC,GAAE,CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB,EAAE;AACxD,gBAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;WACrD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;AAC3H,gBAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAA,CAAC;qBAAI,CAAC,CAAC,IAAI,KAAK,KAAK;aAAA,CAAC,CAAC;AAC/D,wBAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAA,CAAC;qBAAI,OAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAAA,CAAC,CAAC;AACzF,gBAAI,EAAE,EAAE;AACN,0BAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAA,CAAC;uBAAI,CAAC,CAAC,EAAE,KAAK,EAAE;eAAA,CAAC,CAAC;aACtD;AACD,wBAAY,GAAG,YAAY,CAAC,GAAG,CAAC,UAAA,CAAC;qBAAI,OAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAAA,CAAC,CAAC;AAC9D,gBAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAC9D,gBAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE;;AACrC,oBAAI,GAAG,GAAG,EAAE,CAAC;AACb,uBAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAA,IAAI,EAAI;AACvC,yBAAK,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;iBACxC,CAAC,CAAC;;aACJ;AACD,gBAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;WAC9F;SACF,MAAM;AACL,gBAAM,IAAI,KAAK,oBAAkB,IAAI,OAAI,CAAC;SAC3C;OACF,MAAM;AACL,cAAM,IAAI,KAAK,qBAAmB,KAAK,OAAI,CAAC;OAC7C;KACF;;;;;;;;;;;;WAUG,cAAC,IAAI,EAAE;;;AACT,UAAI,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AACnC,YAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC;iBAAI,OAAK,GAAG,CAAC,CAAC,CAAC;SAAA,CAAC,CAAC;OACrC,MAAM;AACL,YAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACrB;AACD,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC;iBAAI,OAAK,GAAG,CAAC,CAAC,CAAC;SAAA,CAAC,CAAC;OACzC;KACF;;;;;;;;;;;;WAUK,gBAAC,IAAI,EAAE,EAAE,EAAE;;;AACf,UAAI,IAAI,EAAE;AACR,YAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrB,cAAI,EAAE,EAAE;AACN,gBAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACxD,gBAAI,QAAQ,EAAE;AACZ,kBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvB,kBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AACnB,oBAAI,EAAE,SAAS;AACf,oBAAI,EAAE,IAAI;AACV,kBAAE,EAAE,EAAE;AACN,wBAAQ,EAAE,IAAI;eACf,CAAC,CAAC;aACJ;WACF,MAAM;AACL,kBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAA,EAAE;qBAAI,OAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;aAAA,CAAC,CAAC;WACpE;SACF,MAAM;AACL,gBAAM,IAAI,SAAS,oBAAkB,IAAI,OAAI,CAAC;SAC/C;OACF,MAAM;AACL,cAAM,IAAI,SAAS,qCAAqC,CAAC;OAC1D;KACF;;;;;;;;;;;;;;;;;;;;;;;WAqBK,gBAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OACxE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;WAEQ,mBAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;;;AACjD,UAAI,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAClC,UAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC/D,UAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACnC,YAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AAC5B,cAAI,QAAQ,CAAC,SAAS,CAAC,EAAE;AACvB,gBAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;WAClF;AACD,cAAI,QAAQ,EAAE;AACZ,gBAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;WACpE;SACF,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AACpC,kBAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,EAAI;AAC/B,gBAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,qBAAK,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;aAChE;WACF,CAAC,CAAC;AACH,kBAAQ,CAAC,OAAO,CAAC,UAAA,CAAC,EAAI;AACpB,mBAAK,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;WAC7D,CAAC,CAAC;SACJ;AACD,gBAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;OAChC;KACF;;;WAEsB,iCAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE;AACpF,UAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxD,UAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxD,UAAI,gBAAgB,EAAE;AACpB,YAAI,eAAe,GAAG,CAAE,WAAW,CAAC,OAAO,CAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAA,CAAC;iBAAI,gBAAgB,CAAC,CAAC,CAAC;SAAA,CAAC,CAAC;AAC7G,YAAI,WAAW,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACxE,sBAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AAClH,YAAI,WAAW,EAAE;AACf,cAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAClC,0BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AAClH,0BAAc,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC;WAClD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE;AAC1C,0BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AAClH,gBAAI,cAAc,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;AAClE,4BAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACtD;WACF,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,kBAAM,IAAI,KAAK,wCAAsC,eAAe,4BAAuB,eAAe,QAAK,CAAC;WACjH;SACF,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;AAC9B,gBAAM,IAAI,KAAK,wCAAsC,eAAe,uBAAkB,WAAW,CAAC,OAAO,QAAK,CAAC;SAChH;OACF;KACF;;;WAEM,iBAAC,QAAQ,EAAE;;;AAChB,cAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAA,SAAS,EAAI;AACxC,YAAI,iBAAiB,GAAG,QAAK,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACjE,gBAAQ,QAAK,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI;AAC3D,eAAK,SAAS;AAAE;AACd,+BAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC9C,oBAAM;aACP;AAAA,AACD,eAAK,UAAU;AAAE;AACf,kBAAI,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrE,kBAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAChB,iCAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;eACzD;AACD,oBAAM;aACP;AAAA,AACD;AAAS;AACP,oBAAM;aACP;AAAA,SACF;;AAED,yBAAiB,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AACxE,iBAAO,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAA,AAAC,CAAC;SAC5D,CAAC,CAAC;OACJ,CAAC,CAAC;AACH,aAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAC/C;;;WAEyB,oCAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE;AACvF,UAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxD,UAAI,eAAe,GAAG,WAAW,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;AACjE,UAAI,WAAW,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACxE,oBAAc,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAClE,eAAO,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAA,AAAC,CAAC;OAC3G,CAAC,CAAC;AACH,UAAI,WAAW,EAAE;AACf,YAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAClC,wBAAc,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAClE,mBAAO,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAA,AAAC,CAAC;WAC3G,CAAC,CAAC;AACH,wBAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;SACxC,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE;AAC1C,wBAAc,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAClE,mBAAO,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAA,AAAC,CAAC;WAC3G,CAAC,CAAC;AACH,wBAAc,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAC5E,mBAAO,CAAC,KAAK,cAAc,CAAC;WAC7B,CAAC,CAAC;SACJ,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,gBAAM,IAAI,KAAK,wCAAsC,eAAe,4BAAuB,eAAe,QAAK,CAAC;SACjH;OACF,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;AAC9B,cAAM,IAAI,KAAK,wCAAsC,eAAe,uBAAkB,WAAW,CAAC,OAAO,QAAK,CAAC;OAChH;KACF;;;SAhnBkB,KAAK;;;qBAAL,KAAK;;AAonB1B,KAAK,CAAC,WAAW,2BAAc,CAAC",
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC3FA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;IC9tMqB,WAAW;AAEnB,WAFQ,WAAW,CAElB,OAAO,EAAE;0BAFF,WAAW;;AAG5B,QAAI,CAAC,KAAK,GAAG,AAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAK,EAAE,CAAC;GAC9C;;eAJkB,WAAW;;WAMxB,gBAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAEpD,UAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;;AAE5D,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAEzD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;;AAEnC,iBAAO,CAAC,IAAI,CAAC,MAAM,EAAK,MAAK,KAAK,SAAI,IAAI,EAAI,IAAI,CAAC,CAAC;;AAEpD,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAChD,kBAAI;AACF,qBAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrB,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBACzE;eACF,CAAC,OAAO,CAAC,EAAE;AACV,oBAAI,KAAK,EAAE;AACT,uBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACxB;eACF;aACF,MAAM;AACL,kBAAI,KAAK,EAAE;AACT,qBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;eACrB;aACF;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1B,gBAAI,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;WACnC,CAAC,CAAC,CAAC;;OAEL,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;WAEM,iBAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAEhD,UAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;;AAE5D,YAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAErD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;;AAEnC,iBAAO,CAAC,IAAI,CAAC,QAAQ,EAAK,OAAK,KAAK,SAAI,IAAI,SAAI,EAAE,EAAI,IAAI,CAAC,CAAC;;AAE5D,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI;AACF,qBAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACvB,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACvB;eACF,CAAC,OAAO,CAAC,EAAE;AACV,qBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;eACxB;aACF,MAAM,IAAI,KAAK,EAAE;AAChB,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,EAAE,CAAC;;OAEhB,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;WAEG,cAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAEtD,UAAI,EAAE,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB,EAAE;AACtD,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;OAC1D,MAAM,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AACvC,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;OAC3D,MAAM,IAAI,OAAO,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,mBAAmB,EAAE;AACvE,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;OACzD,MAAM,IAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;AACnE,YAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAC3D,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACnC,cAAI,GAAG,YAAA,CAAC;;AAER,iBAAO,GAAG,OAAO,IAAI,EAAE,CAAC;AACxB,aAAG,GAAG,EAAE,GAAM,OAAK,KAAK,SAAI,IAAI,SAAI,EAAE,GAAQ,OAAK,KAAK,SAAI,IAAI,AAAE,CAAC;;AAEnE,cAAI,OAAO,EAAE;;AAEX,gBAAI,MAAM,GAAG,EAAE,CAAC;;AAEhB,gBAAI,OAAO,CAAC,MAAM,EAAE;AAClB,oBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,KAAK,EAAI;AAC3C,uBAAO,aAAW,KAAK,OAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;eACrD,CAAC,CAAC;AACH,qBAAO,OAAO,CAAC,MAAM,CAAC;aACvB;;AAED,kBAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,EAAI;AACvC,qBAAO,GAAG,GAAG,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACrD,CAAC,CAAC,IAAI,EAAE,CAAC;;AAEV,gBAAI,MAAM,CAAC,MAAM,EAAE;AACjB,iBAAG,GAAM,GAAG,SAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,AAAE,CAAC;aACpC;WAEF;;AAED,iBAAO,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;AAE/B,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI;AACF,qBAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;AAC7C,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrE;eACF,CAAC,OAAO,CAAC,EAAE;AACV,qBAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;eACnB;aACF,MAAM,IAAI,KAAK,EAAE;AAChB,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,EAAE,CAAC;;OAEhB,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;WAEK,gBAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;;;AAExD,UAAI,KAAK,IAAI,CAAA,GAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mBAAmB,EAAE;;AAE5D,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;OAE7D,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;;;AAE7B,cAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;AACnC,cAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;;AAE5C,iBAAO,CAAC,IAAI,CAAC,OAAO,EAAK,OAAK,KAAK,SAAI,IAAI,SAAI,EAAE,EAAI,IAAI,CAAC,CAAC;;AAE3D,iBAAO,CAAC,gBAAgB,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;;AAErE,iBAAO,CAAC,MAAM,GAAG,YAAY;AAC3B,gBAAI,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE;AACjD,kBAAI;AACF,qBAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAChB,oBAAI,OAAO,EAAE;AACX,yBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBACvD;eACF,CAAC,OAAO,CAAC,EAAE;AACV,oBAAI,KAAK,EAAE;AACT,uBAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBACxB;eACF;aACF,MAAM,IAAI,KAAK,EAAE;AAChB,mBAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;WACF,CAAC;;AAEF,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;AAC1B,gBAAI,EAAE,IAAI;WACX,CAAC,CAAC,CAAC;;OAEL,MAAM;AACL,cAAM,IAAI,KAAK,qBAAkB,IAAI,QAAI,CAAC;OAC3C;KAEF;;;SAjMkB,WAAW;;;qBAAX,WAAW;;;;;;;;;;;;;;;;QCAzB,sBAAsB;;sBACd,SAAS;;;;2BACA,gBAAgB;;;;IAEnB,KAAK;eAAL,KAAK;;;;;;;;;;;;WAWb,cAAC,IAAI,EAAE,OAAO,EAAE;AACzB,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OAC/B,MAAM;AACL,eAAO;AACL,cAAI,EAAE,MAAM;AACZ,qBAAS,OAAO,IAAI,OAAO,WAAQ;AACnC,qBAAW,EAAE,qBAAU,IAAI,EAAE,GAAG,EAAE;AAChC,mBAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;WACxD;AACD,mBAAS,EAAE,mBAAU,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;AACxC,gBAAI,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;WAC9C;SACF,CAAC;OACH;KACF;;;;;;;;;;;;;WAWY,gBAAC,IAAI,EAAE,OAAO,EAAE;AAC3B,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OACjC,MAAM;AACL,eAAO;AACL,cAAI,EAAE,SAAS;AACf,iBAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;AACnC,qBAAW,EAAE,qBAAU,IAAI,EAAE,GAAG,EAAE;AAChC,gBAAI,GAAG,IAAI,IAAI,GAAG,CAAC;AACnB,gBAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AAClD,kBAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;AAC1C,uBAAO,IAAI,CAAC;eACb,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACxC,uBAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;eACxF;aACF;WACF;AACD,mBAAS,EAAE,SAAS,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;AACjD,gBAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;AAC1B,kBAAI,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;aACxC,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACxB,kBAAI,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;AAChC,oBAAI,EAAE;AACJ,sBAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI;AACxB,oBAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE;iBACrB;eACF,CAAC;aACH;WACF;SACF,CAAC;OACH;KACF;;;;;;;;;;;;;WAWa,iBAAC,IAAI,EAAE,OAAO,EAAE;AAC5B,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;OAClC,MAAM;AACL,eAAO;AACL,cAAI,EAAE,UAAU;AAChB,qBAAS,EAAE;AACX,iBAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO;AACnC,qBAAW,EAAE,qBAAU,IAAI,EAAE,GAAG,EAAE;;;AAChC,gBAAI,GAAG,IAAI,IAAI,GAAG,CAAC;AACnB,gBAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;AAClD,kBAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;AAC1C,uBAAO,EAAE,CAAC;eACX,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;AACxC,uBAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,EAAK;AAC9C,yBAAO,MAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;iBAChC,CAAC,CAAC;eACJ;aACF;WACF;AACD,mBAAS,EAAE,SAAS,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;AACjD,gBAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;AACjB,kBAAI,CAAC,aAAa,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG;AAChC,oBAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC,EAAI;AAC3B,yBAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;iBACnC,CAAC;eACH,CAAC;aACH;WACF;SACF,CAAC;OACH;KACF;;;AAEU,WAhHQ,KAAK,CAgHZ,OAAO,EAAE;0BAhHF,KAAK;;AAkHtB,QAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAChB,QAAI,CAAC,QAAQ,GAAG,IAAI,oBAAG,OAAO,EAAE,CAAC;AACjC,QAAI,CAAC,cAAc,GAAG,EAAE,CAAC;AACzB,QAAI,CAAC,MAAM,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCjB,QAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;GAEhD;;;;;;;;;;;eAhKkB,KAAK;;WA0KrB,aAAC,MAAM,EAAE;;;AACV,UAAI,MAAM,EAAE;AACV,YAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,EAAE,EAAE;;AAC5B,gBAAI,IAAI,GAAG,OAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,OAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC;AAC/F,gBAAI,QAAQ,GAAG,OAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACjD,gBAAI,UAAU,GAAG,OAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC1C,kBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,SAAS,EAAI;AAC3C,kBAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACxB,uBAAK,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;eACzD;aACF,CAAC,CAAC;AACH,mBAAK,QAAQ,CAAC,MAAM,CAAC;AACnB,kBAAI,EAAE,IAAI;AACV,kBAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAE,EAAE,MAAM,CAAC,EAAE;AACb,sBAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;;SACJ,MAAM;AACL,gBAAM,IAAI,SAAS,oCAAoC,CAAC;SACzD;OACF,MAAM;AACL,cAAM,IAAI,SAAS,gCAAgC,CAAC;OACrD;KACF;;;;;;;;;;;;;WAWM,iBAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE;;;AACzB,UAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACpC,eAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;OAC/C,MAAM,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;AACvC,eAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;OACtC,MAAM;;AACL,cAAI,IAAI,GAAG;AACT,gBAAI,EAAE,IAAI;AACV,sBAAU,EAAE,EAAE;AACd,yBAAa,EAAE,EAAE;WAClB,CAAC;AACF,cAAI,EAAE,EAAE;AACN,gBAAI,CAAC,EAAE,GAAG,EAAE,CAAC;WACd;AACD,cAAI,UAAU,GAAG,OAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,gBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,SAAS,EAAI;AAC3C,gBAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AACxB,wBAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;aAC3D;WACF,CAAC,CAAC;AACH;eAAO,IAAI;YAAC;;;;OACb;KACF;;;;;;;;;;;;;;;;;;;;;;WAoBK,gBAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAC7C,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OACpE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;;;;;;;;;WASK,gBAAC,KAAK,EAAE,UAAU,EAAE;;;AACxB,WAAK,GAAG,AAAC,KAAK,CAAC,WAAW,KAAK,KAAK,GAAI,KAAK,GAAG,CAAE,KAAK,CAAE,CAAC;AAC1D,UAAI,UAAU,EAAE;AACd,kBAAU,CAAC,MAAM,GAAG,KAAK,CAAC;AAC1B,aAAK,CAAC,OAAO,CAAC,UAAA,IAAI,EAAI;AACpB,cAAI,CAAC,OAAK,MAAM,CAAC,IAAI,CAAC,EAAE;AACtB,mBAAK,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;WAChC,MAAM;AACL,kBAAM,IAAI,KAAK,gBAAc,IAAI,iCAA8B,CAAC;WACjE;SACF,CAAC,CAAC;OACJ,MAAM;AACL,cAAM,IAAI,KAAK,kDAAgD,KAAK,CAAC,CAAC,CAAC,QAAK,CAAC;OAC9E;KACF;;;;;;;;;;;;;;;;;;;;;;WAoBM,iBAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACzC,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OAChE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;;;;;;;;;;;;;;WAcG,cAAC,IAAI,EAAE,EAAE,EAAE;;;AACb,UAAI,IAAI,EAAE;;AACR,cAAI,UAAU,GAAG,OAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AACnC,cAAI,UAAU,EAAE;AACd,gBAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,EAAE;;AACrB,oBAAI,UAAU,GAAG,EAAE,CAAC;AACpB,0BAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAA,CAAC;yBAAI,OAAK,KAAK,CAAC,CAAC,CAAC,GAAG,UAAU;iBAAA,CAAC,CAAC;;aAC5D;AACD,gBAAI,EAAE,EAAE;AACN,kBAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE;AACzB,uBAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG;AACrB,6BAAW,EAAE,EAAE;AACf,sBAAI,EAAE,IAAI;AACV,oBAAE,EAAE,EAAE;iBACP,CAAC;AACF,sBAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG,EAAI;AACrC,sBAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;AAClB,2BAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,WAAQ,CAAC;mBACrD;iBACF,CAAC,CAAC;eACJ;AACD;mBAAO,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAAC;aAC7B,MAAM;AACL;mBAAO,MAAM,CAAC,IAAI,CAAC,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAA,CAAC;yBAAI,OAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBAAA,CAAC;gBAAC;aACpE;WACF,MAAM;AACL,kBAAM,IAAI,SAAS,oBAAkB,IAAI,OAAI,CAAC;WAC/C;;;;OACF,MAAM;AACL,cAAM,IAAI,SAAS,2BAA2B,CAAC;OAChD;KACF;;;;;;;;;;;;;;;;;;;;;;;WAqBG,cAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AAC/C,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OACtE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;;;;;;;;;;;;WAYE,aAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE;AAC7B,aAAO,CAAC,IAAI,CAAC,CACX,+EAA+E,EAC/E,uFAAuF,CACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACd,UAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;AACnE,YAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrB,cAAI,EAAE,IAAI,CAAC,GAAE,CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB,EAAE;AACxD,gBAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;WACtD,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;AACxH,gBAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;AACtD,mBAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;WACpD;SACF,MAAM;AACL,gBAAM,IAAI,KAAK,oBAAkB,IAAI,OAAI,CAAC;SAC3C;OACF,MAAM;AACL,cAAM,IAAI,KAAK,qBAAmB,KAAK,OAAI,CAAC;OAC7C;KACF;;;;;;;;;;;;;;;WAaC,YAAC,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;;;AACrC,aAAO,CAAC,IAAI,CAAC,CACX,8EAA8E,EAC9E,uFAAuF,CACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACd,UAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE;AACnE,YAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrB,cAAI,EAAE,IAAI,CAAC,GAAE,CAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,mBAAmB,EAAE;AACxD,gBAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;WACrD,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;AAC3H,gBAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAA,CAAC;qBAAI,CAAC,CAAC,IAAI,KAAK,KAAK;aAAA,CAAC,CAAC;AAC/D,wBAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAA,CAAC;qBAAI,OAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAAA,CAAC,CAAC;AACzF,gBAAI,EAAE,EAAE;AACN,0BAAY,GAAG,YAAY,CAAC,MAAM,CAAC,UAAA,CAAC;uBAAI,CAAC,CAAC,EAAE,KAAK,EAAE;eAAA,CAAC,CAAC;aACtD;AACD,wBAAY,GAAG,YAAY,CAAC,GAAG,CAAC,UAAA,CAAC;qBAAI,OAAK,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAAA,CAAC,CAAC;AAC9D,gBAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AAC9D,gBAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE;;AACrC,oBAAI,GAAG,GAAG,EAAE,CAAC;AACb,uBAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAA,IAAI,EAAI;AACvC,yBAAK,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;iBACxC,CAAC,CAAC;;aACJ;AACD,gBAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;WAC9F;SACF,MAAM;AACL,gBAAM,IAAI,KAAK,oBAAkB,IAAI,OAAI,CAAC;SAC3C;OACF,MAAM;AACL,cAAM,IAAI,KAAK,qBAAmB,KAAK,OAAI,CAAC;OAC7C;KACF;;;;;;;;;;;;WAUG,cAAC,IAAI,EAAE;;;AACT,UAAI,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AACnC,YAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC;iBAAI,OAAK,GAAG,CAAC,CAAC,CAAC;SAAA,CAAC,CAAC;OACrC,MAAM;AACL,YAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACrB;AACD,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAA,CAAC;iBAAI,OAAK,GAAG,CAAC,CAAC,CAAC;SAAA,CAAC,CAAC;OACzC;KACF;;;;;;;;;;;;WAUK,gBAAC,IAAI,EAAE,EAAE,EAAE;;;AACf,UAAI,IAAI,EAAE;AACR,YAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACrB,cAAI,EAAE,EAAE;AACN,gBAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACxD,gBAAI,QAAQ,EAAE;AACZ,kBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACvB,kBAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AACnB,oBAAI,EAAE,SAAS;AACf,oBAAI,EAAE,IAAI;AACV,kBAAE,EAAE,EAAE;AACN,wBAAQ,EAAE,IAAI;eACf,CAAC,CAAC;aACJ;WACF,MAAM;AACL,kBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAA,EAAE;qBAAI,OAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;aAAA,CAAC,CAAC;WACpE;SACF,MAAM;AACL,gBAAM,IAAI,SAAS,oBAAkB,IAAI,OAAI,CAAC;SAC/C;OACF,MAAM;AACL,cAAM,IAAI,SAAS,qCAAqC,CAAC;OAC1D;KACF;;;;;;;;;;;;;;;;;;;;;;;WAqBK,gBAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;AACjD,UAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;OACxE,MAAM;AACL,cAAM,IAAI,KAAK,CAAC,gGAAgG,CAAC,CAAC;OACnH;KACF;;;WAEQ,mBAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE;;;AACjD,UAAI,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAClC,UAAI,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;AAC/D,UAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACnC,YAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;AAC5B,cAAI,QAAQ,CAAC,SAAS,CAAC,EAAE;AACvB,gBAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;WAClF;AACD,cAAI,QAAQ,EAAE;AACZ,gBAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;WACpE;SACF,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;AACpC,kBAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,EAAI;AAC/B,gBAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;AACzC,qBAAK,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;aAChE;WACF,CAAC,CAAC;AACH,kBAAQ,CAAC,OAAO,CAAC,UAAA,CAAC,EAAI;AACpB,mBAAK,uBAAuB,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;WAC7D,CAAC,CAAC;SACJ;AACD,gBAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;OAChC;KACF;;;WAEsB,iCAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE;AACpF,UAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxD,UAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxD,UAAI,gBAAgB,EAAE;AACpB,YAAI,eAAe,GAAG,CAAE,WAAW,CAAC,OAAO,CAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAA,CAAC;iBAAI,gBAAgB,CAAC,CAAC,CAAC;SAAA,CAAC,CAAC;AAC7G,YAAI,WAAW,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACxE,sBAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AAClH,YAAI,WAAW,EAAE;AACf,cAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAClC,0BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AAClH,0BAAc,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC;WAClD,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE;AAC1C,0BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;AAClH,gBAAI,cAAc,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE;AAClE,4BAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACtD;WACF,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,kBAAM,IAAI,KAAK,wCAAsC,eAAe,4BAAuB,eAAe,QAAK,CAAC;WACjH;SACF,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;AAC9B,gBAAM,IAAI,KAAK,wCAAsC,eAAe,uBAAkB,WAAW,CAAC,OAAO,QAAK,CAAC;SAChH;OACF;KACF;;;WAEM,iBAAC,QAAQ,EAAE;;;AAChB,cAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,UAAA,SAAS,EAAI;AACxC,YAAI,iBAAiB,GAAG,QAAK,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACjE,gBAAQ,QAAK,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,IAAI;AAC3D,eAAK,SAAS;AAAE;AACd,+BAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;AAC9C,oBAAM;aACP;AAAA,AACD,eAAK,UAAU;AAAE;AACf,kBAAI,KAAK,GAAG,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACrE,kBAAI,KAAK,KAAK,CAAC,CAAC,EAAE;AAChB,iCAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;eACzD;AACD,oBAAM;aACP;AAAA,AACD;AAAS;AACP,oBAAM;aACP;AAAA,SACF;;AAED,yBAAiB,CAAC,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AACxE,iBAAO,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAA,AAAC,CAAC;SAC5D,CAAC,CAAC;OACJ,CAAC,CAAC;AACH,aAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAC/C;;;WAEyB,oCAAC,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE;AACvF,UAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACxD,UAAI,eAAe,GAAG,WAAW,CAAC,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC;AACjE,UAAI,WAAW,GAAG,gBAAgB,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACxE,oBAAc,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAClE,eAAO,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAA,AAAC,CAAC;OAC3G,CAAC,CAAC;AACH,UAAI,WAAW,EAAE;AACf,YAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE;AAClC,wBAAc,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAClE,mBAAO,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAA,AAAC,CAAC;WAC3G,CAAC,CAAC;AACH,wBAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;SACxC,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,UAAU,EAAE;AAC1C,wBAAc,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAClE,mBAAO,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC,SAAS,KAAK,eAAe,CAAA,AAAC,CAAC;WAC3G,CAAC,CAAC;AACH,wBAAc,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAA,CAAC,EAAI;AAC5E,mBAAO,CAAC,KAAK,cAAc,CAAC;WAC7B,CAAC,CAAC;SACJ,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE;AACtC,gBAAM,IAAI,KAAK,wCAAsC,eAAe,4BAAuB,eAAe,QAAK,CAAC;SACjH;OACF,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE;AAC9B,cAAM,IAAI,KAAK,wCAAsC,eAAe,uBAAkB,WAAW,CAAC,OAAO,QAAK,CAAC;OAChH;KACF;;;SAxnBkB,KAAK;;;qBAAL,KAAK;;AA4nB1B,KAAK,CAAC,WAAW,2BAAc,CAAC",
"file": "generated.js",
"sourceRoot": "",
"sourcesContent": [
@@ -18,6 +18,6 @@
"// shim for using process in browser\n\nvar process = module.exports = {};\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = setTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n clearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n setTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n",
"// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.\n\r\n;(function (undefined) {\n\n var objectTypes = {\n 'function': true,\n 'object': true\n };\n\n var\n freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports,\n freeSelf = objectTypes[typeof self] && self.Object && self,\n freeWindow = objectTypes[typeof window] && window && window.Object && window,\n freeModule = objectTypes[typeof module] && module && !module.nodeType && module,\n moduleExports = freeModule && freeModule.exports === freeExports && freeExports,\n freeGlobal = freeExports && freeModule && typeof global == 'object' && global && global.Object && global;\n\n var root = root = freeGlobal || ((freeWindow !== (this && this.window)) && freeWindow) || freeSelf || this;\n\n var Rx = {\n internals: {},\n config: {\n Promise: root.Promise\n },\n helpers: { }\n };\n\r\n // Defaults\n var noop = Rx.helpers.noop = function () { },\n identity = Rx.helpers.identity = function (x) { return x; },\n defaultNow = Rx.helpers.defaultNow = Date.now,\n defaultComparer = Rx.helpers.defaultComparer = function (x, y) { return isEqual(x, y); },\n defaultSubComparer = Rx.helpers.defaultSubComparer = function (x, y) { return x > y ? 1 : (x < y ? -1 : 0); },\n defaultKeySerializer = Rx.helpers.defaultKeySerializer = function (x) { return x.toString(); },\n defaultError = Rx.helpers.defaultError = function (err) { throw err; },\n isPromise = Rx.helpers.isPromise = function (p) { return !!p && typeof p.subscribe !== 'function' && typeof p.then === 'function'; },\n isFunction = Rx.helpers.isFunction = (function () {\n\n var isFn = function (value) {\n return typeof value == 'function' || false;\n }\n\n // fallback for older versions of Chrome and Safari\n if (isFn(/x/)) {\n isFn = function(value) {\n return typeof value == 'function' && toString.call(value) == '[object Function]';\n };\n }\n\n return isFn;\n }());\n\n function cloneArray(arr) {\n var len = arr.length, a = new Array(len);\n for(var i = 0; i < len; i++) { a[i] = arr[i]; }\n return a;\n }\n\r\n var errorObj = {e: {}};\n function tryCatcherGen(tryCatchTarget) {\n return function tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n } catch (e) {\n errorObj.e = e;\n return errorObj;\n }\n }\n }\n var tryCatch = Rx.internals.tryCatch = function tryCatch(fn) {\n if (!isFunction(fn)) { throw new TypeError('fn must be a function'); }\n return tryCatcherGen(fn);\n }\n function thrower(e) {\n throw e;\n }\n\r\n Rx.config.longStackSupport = false;\n var hasStacks = false, stacks = tryCatch(function () { throw new Error(); })();\n hasStacks = !!stacks.e && !!stacks.e.stack;\n\n // All code after this point will be filtered from stack traces reported by RxJS\n var rStartingLine = captureLine(), rFileName;\n\r\n var STACK_JUMP_SEPARATOR = 'From previous event:';\n\n function makeStackTraceLong(error, observable) {\n // If possible, transform the error stack trace by removing Node and RxJS\n // cruft, then concatenating with the stack trace of `observable`.\n if (hasStacks &&\n observable.stack &&\n typeof error === 'object' &&\n error !== null &&\n error.stack &&\n error.stack.indexOf(STACK_JUMP_SEPARATOR) === -1\n ) {\n var stacks = [];\n for (var o = observable; !!o; o = o.source) {\n if (o.stack) {\n stacks.unshift(o.stack);\n }\n }\n stacks.unshift(error.stack);\n\n var concatedStacks = stacks.join('\\n' + STACK_JUMP_SEPARATOR + '\\n');\n error.stack = filterStackString(concatedStacks);\n }\n }\n\n function filterStackString(stackString) {\n var lines = stackString.split('\\n'), desiredLines = [];\n for (var i = 0, len = lines.length; i < len; i++) {\n var line = lines[i];\n\n if (!isInternalFrame(line) && !isNodeFrame(line) && line) {\n desiredLines.push(line);\n }\n }\n return desiredLines.join('\\n');\n }\n\n function isInternalFrame(stackLine) {\n var fileNameAndLineNumber = getFileNameAndLineNumber(stackLine);\n if (!fileNameAndLineNumber) {\n return false;\n }\n var fileName = fileNameAndLineNumber[0], lineNumber = fileNameAndLineNumber[1];\n\n return fileName === rFileName &&\n lineNumber >= rStartingLine &&\n lineNumber <= rEndingLine;\n }\n\n function isNodeFrame(stackLine) {\n return stackLine.indexOf('(module.js:') !== -1 ||\n stackLine.indexOf('(node.js:') !== -1;\n }\n\n function captureLine() {\n if (!hasStacks) { return; }\n\n try {\n throw new Error();\n } catch (e) {\n var lines = e.stack.split('\\n');\n var firstLine = lines[0].indexOf('@') > 0 ? lines[1] : lines[2];\n var fileNameAndLineNumber = getFileNameAndLineNumber(firstLine);\n if (!fileNameAndLineNumber) { return; }\n\n rFileName = fileNameAndLineNumber[0];\n return fileNameAndLineNumber[1];\n }\n }\n\n function getFileNameAndLineNumber(stackLine) {\n // Named functions: 'at functionName (filename:lineNumber:columnNumber)'\n var attempt1 = /at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(stackLine);\n if (attempt1) { return [attempt1[1], Number(attempt1[2])]; }\n\n // Anonymous functions: 'at filename:lineNumber:columnNumber'\n var attempt2 = /at ([^ ]+):(\\d+):(?:\\d+)$/.exec(stackLine);\n if (attempt2) { return [attempt2[1], Number(attempt2[2])]; }\n\n // Firefox style: 'function@filename:lineNumber or @filename:lineNumber'\n var attempt3 = /.*@(.+):(\\d+)$/.exec(stackLine);\n if (attempt3) { return [attempt3[1], Number(attempt3[2])]; }\n }\n\r\n var EmptyError = Rx.EmptyError = function() {\n this.message = 'Sequence contains no elements.';\n this.name = 'EmptyError';\n Error.call(this);\n };\n EmptyError.prototype = Object.create(Error.prototype);\n\n var ObjectDisposedError = Rx.ObjectDisposedError = function() {\n this.message = 'Object has been disposed';\n this.name = 'ObjectDisposedError';\n Error.call(this);\n };\n ObjectDisposedError.prototype = Object.create(Error.prototype);\n\n var ArgumentOutOfRangeError = Rx.ArgumentOutOfRangeError = function () {\n this.message = 'Argument out of range';\n this.name = 'ArgumentOutOfRangeError';\n Error.call(this);\n };\n ArgumentOutOfRangeError.prototype = Object.create(Error.prototype);\n\n var NotSupportedError = Rx.NotSupportedError = function (message) {\n this.message = message || 'This operation is not supported';\n this.name = 'NotSupportedError';\n Error.call(this);\n };\n NotSupportedError.prototype = Object.create(Error.prototype);\n\n var NotImplementedError = Rx.NotImplementedError = function (message) {\n this.message = message || 'This operation is not implemented';\n this.name = 'NotImplementedError';\n Error.call(this);\n };\n NotImplementedError.prototype = Object.create(Error.prototype);\n\n var notImplemented = Rx.helpers.notImplemented = function () {\n throw new NotImplementedError();\n };\n\n var notSupported = Rx.helpers.notSupported = function () {\n throw new NotSupportedError();\n };\n\r\n // Shim in iterator support\n var $iterator$ = (typeof Symbol === 'function' && Symbol.iterator) ||\n '_es6shim_iterator_';\n // Bug for mozilla version\n if (root.Set && typeof new root.Set()['@@iterator'] === 'function') {\n $iterator$ = '@@iterator';\n }\n\n var doneEnumerator = Rx.doneEnumerator = { done: true, value: undefined };\n\n var isIterable = Rx.helpers.isIterable = function (o) {\n return o[$iterator$] !== undefined;\n }\n\n var isArrayLike = Rx.helpers.isArrayLike = function (o) {\n return o && o.length !== undefined;\n }\n\n Rx.helpers.iterator = $iterator$;\n\r\n var bindCallback = Rx.internals.bindCallback = function (func, thisArg, argCount) {\n if (typeof thisArg === 'undefined') { return func; }\n switch(argCount) {\n case 0:\n return function() {\n return func.call(thisArg)\n };\n case 1:\n return function(arg) {\n return func.call(thisArg, arg);\n }\n case 2:\n return function(value, index) {\n return func.call(thisArg, value, index);\n };\n case 3:\n return function(value, index, collection) {\n return func.call(thisArg, value, index, collection);\n };\n }\n\n return function() {\n return func.apply(thisArg, arguments);\n };\n };\n\r\n /** Used to determine if values are of the language type Object */\n var dontEnums = ['toString',\n 'toLocaleString',\n 'valueOf',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'constructor'],\n dontEnumsLength = dontEnums.length;\n\r\n /** `Object#toString` result shortcuts */\n var argsClass = '[object Arguments]',\n arrayClass = '[object Array]',\n boolClass = '[object Boolean]',\n dateClass = '[object Date]',\n errorClass = '[object Error]',\n funcClass = '[object Function]',\n numberClass = '[object Number]',\n objectClass = '[object Object]',\n regexpClass = '[object RegExp]',\n stringClass = '[object String]';\n\n var toString = Object.prototype.toString,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n supportsArgsClass = toString.call(arguments) == argsClass, // For less -1);\n }\n });\n }\n }\n stackA.pop();\n stackB.pop();\n\n return result;\n }\n\r\n var hasProp = {}.hasOwnProperty,\n slice = Array.prototype.slice;\n\n var inherits = Rx.internals.inherits = function (child, parent) {\n function __() { this.constructor = child; }\n __.prototype = parent.prototype;\n child.prototype = new __();\n };\n\n var addProperties = Rx.internals.addProperties = function (obj) {\n for(var sources = [], i = 1, len = arguments.length; i < len; i++) { sources.push(arguments[i]); }\n for (var idx = 0, ln = sources.length; idx < ln; idx++) {\n var source = sources[idx];\n for (var prop in source) {\n obj[prop] = source[prop];\n }\n }\n };\n\n // Rx Utils\n var addRef = Rx.internals.addRef = function (xs, r) {\n return new AnonymousObservable(function (observer) {\n return new CompositeDisposable(r.getDisposable(), xs.subscribe(observer));\n });\n };\n\n function arrayInitialize(count, factory) {\n var a = new Array(count);\n for (var i = 0; i < count; i++) {\n a[i] = factory();\n }\n return a;\n }\n\r\n /**\n * Represents a group of disposable resources that are disposed together.\n * @constructor\n */\n var CompositeDisposable = Rx.CompositeDisposable = function () {\n var args = [], i, len;\n if (Array.isArray(arguments[0])) {\n args = arguments[0];\n len = args.length;\n } else {\n len = arguments.length;\n args = new Array(len);\n for(i = 0; i < len; i++) { args[i] = arguments[i]; }\n }\n for(i = 0; i < len; i++) {\n if (!isDisposable(args[i])) { throw new TypeError('Not a disposable'); }\n }\n this.disposables = args;\n this.isDisposed = false;\n this.length = args.length;\n };\n\n var CompositeDisposablePrototype = CompositeDisposable.prototype;\n\n /**\n * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n * @param {Mixed} item Disposable to add.\n */\n CompositeDisposablePrototype.add = function (item) {\n if (this.isDisposed) {\n item.dispose();\n } else {\n this.disposables.push(item);\n this.length++;\n }\n };\n\n /**\n * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n * @param {Mixed} item Disposable to remove.\n * @returns {Boolean} true if found; false otherwise.\n */\n CompositeDisposablePrototype.remove = function (item) {\n var shouldDispose = false;\n if (!this.isDisposed) {\n var idx = this.disposables.indexOf(item);\n if (idx !== -1) {\n shouldDispose = true;\n this.disposables.splice(idx, 1);\n this.length--;\n item.dispose();\n }\n }\n return shouldDispose;\n };\n\n /**\n * Disposes all disposables in the group and removes them from the group.\n */\n CompositeDisposablePrototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n var len = this.disposables.length, currentDisposables = new Array(len);\n for(var i = 0; i < len; i++) { currentDisposables[i] = this.disposables[i]; }\n this.disposables = [];\n this.length = 0;\n\n for (i = 0; i < len; i++) {\n currentDisposables[i].dispose();\n }\n }\n };\n\r\n /**\n * Provides a set of static methods for creating Disposables.\n * @param {Function} dispose Action to run during the first call to dispose. The action is guaranteed to be run at most once.\n */\n var Disposable = Rx.Disposable = function (action) {\n this.isDisposed = false;\n this.action = action || noop;\n };\n\n /** Performs the task of cleaning up resources. */\n Disposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.action();\n this.isDisposed = true;\n }\n };\n\n /**\n * Creates a disposable object that invokes the specified action when disposed.\n * @param {Function} dispose Action to run during the first call to dispose. The action is guaranteed to be run at most once.\n * @return {Disposable} The disposable object that runs the given action upon disposal.\n */\n var disposableCreate = Disposable.create = function (action) { return new Disposable(action); };\n\n /**\n * Gets the disposable that does nothing when disposed.\n */\n var disposableEmpty = Disposable.empty = { dispose: noop };\n\n /**\n * Validates whether the given object is a disposable\n * @param {Object} Object to test whether it has a dispose method\n * @returns {Boolean} true if a disposable object, else false.\n */\n var isDisposable = Disposable.isDisposable = function (d) {\n return d && isFunction(d.dispose);\n };\n\n var checkDisposed = Disposable.checkDisposed = function (disposable) {\n if (disposable.isDisposed) { throw new ObjectDisposedError(); }\n };\n\r\n // Single assignment\n var SingleAssignmentDisposable = Rx.SingleAssignmentDisposable = function () {\n this.isDisposed = false;\n this.current = null;\n };\n SingleAssignmentDisposable.prototype.getDisposable = function () {\n return this.current;\n };\n SingleAssignmentDisposable.prototype.setDisposable = function (value) {\n if (this.current) { throw new Error('Disposable has already been assigned'); }\n var shouldDispose = this.isDisposed;\n !shouldDispose && (this.current = value);\n shouldDispose && value && value.dispose();\n };\n SingleAssignmentDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n var old = this.current;\n this.current = null;\n }\n old && old.dispose();\n };\n\n // Multiple assignment disposable\n var SerialDisposable = Rx.SerialDisposable = function () {\n this.isDisposed = false;\n this.current = null;\n };\n SerialDisposable.prototype.getDisposable = function () {\n return this.current;\n };\n SerialDisposable.prototype.setDisposable = function (value) {\n var shouldDispose = this.isDisposed;\n if (!shouldDispose) {\n var old = this.current;\n this.current = value;\n }\n old && old.dispose();\n shouldDispose && value && value.dispose();\n };\n SerialDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this.isDisposed = true;\n var old = this.current;\n this.current = null;\n }\n old && old.dispose();\n };\n\r\n /**\n * Represents a disposable resource that only disposes its underlying disposable resource when all dependent disposable objects have been disposed.\n */\n var RefCountDisposable = Rx.RefCountDisposable = (function () {\n\n function InnerDisposable(disposable) {\n this.disposable = disposable;\n this.disposable.count++;\n this.isInnerDisposed = false;\n }\n\n InnerDisposable.prototype.dispose = function () {\n if (!this.disposable.isDisposed && !this.isInnerDisposed) {\n this.isInnerDisposed = true;\n this.disposable.count--;\n if (this.disposable.count === 0 && this.disposable.isPrimaryDisposed) {\n this.disposable.isDisposed = true;\n this.disposable.underlyingDisposable.dispose();\n }\n }\n };\n\n /**\n * Initializes a new instance of the RefCountDisposable with the specified disposable.\n * @constructor\n * @param {Disposable} disposable Underlying disposable.\n */\n function RefCountDisposable(disposable) {\n this.underlyingDisposable = disposable;\n this.isDisposed = false;\n this.isPrimaryDisposed = false;\n this.count = 0;\n }\n\n /**\n * Disposes the underlying disposable only when all dependent disposables have been disposed\n */\n RefCountDisposable.prototype.dispose = function () {\n if (!this.isDisposed && !this.isPrimaryDisposed) {\n this.isPrimaryDisposed = true;\n if (this.count === 0) {\n this.isDisposed = true;\n this.underlyingDisposable.dispose();\n }\n }\n };\n\n /**\n * Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable.\n * @returns {Disposable} A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime.\n */\n RefCountDisposable.prototype.getDisposable = function () {\n return this.isDisposed ? disposableEmpty : new InnerDisposable(this);\n };\n\n return RefCountDisposable;\n })();\n\r\n var ScheduledItem = Rx.internals.ScheduledItem = function (scheduler, state, action, dueTime, comparer) {\n this.scheduler = scheduler;\n this.state = state;\n this.action = action;\n this.dueTime = dueTime;\n this.comparer = comparer || defaultSubComparer;\n this.disposable = new SingleAssignmentDisposable();\n }\n\n ScheduledItem.prototype.invoke = function () {\n this.disposable.setDisposable(this.invokeCore());\n };\n\n ScheduledItem.prototype.compareTo = function (other) {\n return this.comparer(this.dueTime, other.dueTime);\n };\n\n ScheduledItem.prototype.isCancelled = function () {\n return this.disposable.isDisposed;\n };\n\n ScheduledItem.prototype.invokeCore = function () {\n return this.action(this.scheduler, this.state);\n };\n\r\n /** Provides a set of static properties to access commonly used schedulers. */\n var Scheduler = Rx.Scheduler = (function () {\n\n function Scheduler(now, schedule, scheduleRelative, scheduleAbsolute) {\n this.now = now;\n this._schedule = schedule;\n this._scheduleRelative = scheduleRelative;\n this._scheduleAbsolute = scheduleAbsolute;\n }\n\n /** Determines whether the given object is a scheduler */\n Scheduler.isScheduler = function (s) {\n return s instanceof Scheduler;\n }\n\n function invokeAction(scheduler, action) {\n action();\n return disposableEmpty;\n }\n\n var schedulerProto = Scheduler.prototype;\n\n /**\n * Schedules an action to be executed.\n * @param {Function} action Action to execute.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.schedule = function (action) {\n return this._schedule(action, invokeAction);\n };\n\n /**\n * Schedules an action to be executed.\n * @param state State passed to the action to be executed.\n * @param {Function} action Action to be executed.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleWithState = function (state, action) {\n return this._schedule(state, action);\n };\n\n /**\n * Schedules an action to be executed after the specified relative due time.\n * @param {Function} action Action to execute.\n * @param {Number} dueTime Relative time after which to execute the action.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleWithRelative = function (dueTime, action) {\n return this._scheduleRelative(action, dueTime, invokeAction);\n };\n\n /**\n * Schedules an action to be executed after dueTime.\n * @param state State passed to the action to be executed.\n * @param {Function} action Action to be executed.\n * @param {Number} dueTime Relative time after which to execute the action.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleWithRelativeAndState = function (state, dueTime, action) {\n return this._scheduleRelative(state, dueTime, action);\n };\n\n /**\n * Schedules an action to be executed at the specified absolute due time.\n * @param {Function} action Action to execute.\n * @param {Number} dueTime Absolute time at which to execute the action.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleWithAbsolute = function (dueTime, action) {\n return this._scheduleAbsolute(action, dueTime, invokeAction);\n };\n\n /**\n * Schedules an action to be executed at dueTime.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Function} action Action to be executed.\n * @param {Number}dueTime Absolute time at which to execute the action.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleWithAbsoluteAndState = function (state, dueTime, action) {\n return this._scheduleAbsolute(state, dueTime, action);\n };\n\n /** Gets the current time according to the local machine's system clock. */\n Scheduler.now = defaultNow;\n\n /**\n * Normalizes the specified TimeSpan value to a positive value.\n * @param {Number} timeSpan The time span value to normalize.\n * @returns {Number} The specified TimeSpan value if it is zero or positive; otherwise, 0\n */\n Scheduler.normalize = function (timeSpan) {\n timeSpan < 0 && (timeSpan = 0);\n return timeSpan;\n };\n\n return Scheduler;\n }());\n\n var normalizeTime = Scheduler.normalize, isScheduler = Scheduler.isScheduler;\n\r\n (function (schedulerProto) {\n\n function invokeRecImmediate(scheduler, pair) {\n var state = pair[0], action = pair[1], group = new CompositeDisposable();\n action(state, innerAction);\n return group;\n\n function innerAction(state2) {\n var isAdded = false, isDone = false;\n\n var d = scheduler.scheduleWithState(state2, scheduleWork);\n if (!isDone) {\n group.add(d);\n isAdded = true;\n }\n\n function scheduleWork(_, state3) {\n if (isAdded) {\n group.remove(d);\n } else {\n isDone = true;\n }\n action(state3, innerAction);\n return disposableEmpty;\n }\n }\n }\n\n function invokeRecDate(scheduler, pair, method) {\n var state = pair[0], action = pair[1], group = new CompositeDisposable();\n action(state, innerAction);\n return group;\n\n function innerAction(state2, dueTime1) {\n var isAdded = false, isDone = false;\n\n var d = scheduler[method](state2, dueTime1, scheduleWork);\n if (!isDone) {\n group.add(d);\n isAdded = true;\n }\n\n function scheduleWork(_, state3) {\n if (isAdded) {\n group.remove(d);\n } else {\n isDone = true;\n }\n action(state3, innerAction);\n return disposableEmpty;\n }\n }\n }\n\n function invokeRecDateRelative(s, p) {\n return invokeRecDate(s, p, 'scheduleWithRelativeAndState');\n }\n\n function invokeRecDateAbsolute(s, p) {\n return invokeRecDate(s, p, 'scheduleWithAbsoluteAndState');\n }\n\n function scheduleInnerRecursive(action, self) {\n action(function(dt) { self(action, dt); });\n }\n\n /**\n * Schedules an action to be executed recursively.\n * @param {Function} action Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursive = function (action) {\n return this.scheduleRecursiveWithState(action, scheduleInnerRecursive);\n };\n\n /**\n * Schedules an action to be executed recursively.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Function} action Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in recursive invocation state.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursiveWithState = function (state, action) {\n return this.scheduleWithState([state, action], invokeRecImmediate);\n };\n\n /**\n * Schedules an action to be executed recursively after a specified relative due time.\n * @param {Function} action Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified relative time.\n * @param {Number}dueTime Relative time after which to execute the action for the first time.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursiveWithRelative = function (dueTime, action) {\n return this.scheduleRecursiveWithRelativeAndState(action, dueTime, scheduleInnerRecursive);\n };\n\n /**\n * Schedules an action to be executed recursively after a specified relative due time.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Function} action Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state.\n * @param {Number}dueTime Relative time after which to execute the action for the first time.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursiveWithRelativeAndState = function (state, dueTime, action) {\n return this._scheduleRelative([state, action], dueTime, invokeRecDateRelative);\n };\n\n /**\n * Schedules an action to be executed recursively at a specified absolute due time.\n * @param {Function} action Action to execute recursively. The parameter passed to the action is used to trigger recursive scheduling of the action at the specified absolute time.\n * @param {Number}dueTime Absolute time at which to execute the action for the first time.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursiveWithAbsolute = function (dueTime, action) {\n return this.scheduleRecursiveWithAbsoluteAndState(action, dueTime, scheduleInnerRecursive);\n };\n\n /**\n * Schedules an action to be executed recursively at a specified absolute due time.\n * @param {Mixed} state State passed to the action to be executed.\n * @param {Function} action Action to execute recursively. The last parameter passed to the action is used to trigger recursive scheduling of the action, passing in the recursive due time and invocation state.\n * @param {Number}dueTime Absolute time at which to execute the action for the first time.\n * @returns {Disposable} The disposable object used to cancel the scheduled action (best effort).\n */\n schedulerProto.scheduleRecursiveWithAbsoluteAndState = function (state, dueTime, action) {\n return this._scheduleAbsolute([state, action], dueTime, invokeRecDateAbsolute);\n };\n }(Scheduler.prototype));\n\r\n (function (schedulerProto) {\n\n /**\n * Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. The periodic task will be scheduled using window.setInterval for the base implementation.\n * @param {Number} period Period for running the work periodically.\n * @param {Function} action Action to be executed.\n * @returns {Disposable} The disposable object used to cancel the scheduled recurring action (best effort).\n */\n Scheduler.prototype.schedulePeriodic = function (period, action) {\n return this.schedulePeriodicWithState(null, period, action);\n };\n\n /**\n * Schedules a periodic piece of work by dynamically discovering the scheduler's capabilities. The periodic task will be scheduled using window.setInterval for the base implementation.\n * @param {Mixed} state Initial state passed to the action upon the first iteration.\n * @param {Number} period Period for running the work periodically.\n * @param {Function} action Action to be executed, potentially updating the state.\n * @returns {Disposable} The disposable object used to cancel the scheduled recurring action (best effort).\n */\n Scheduler.prototype.schedulePeriodicWithState = function(state, period, action) {\n if (typeof root.setInterval === 'undefined') { throw new NotSupportedError(); }\n period = normalizeTime(period);\n var s = state, id = root.setInterval(function () { s = action(s); }, period);\n return disposableCreate(function () { root.clearInterval(id); });\n };\n\n }(Scheduler.prototype));\n\r\n /** Gets a scheduler that schedules work immediately on the current thread. */\n var immediateScheduler = Scheduler.immediate = (function () {\n function scheduleNow(state, action) { return action(this, state); }\n return new Scheduler(defaultNow, scheduleNow, notSupported, notSupported);\n }());\n\r\n /**\n * Gets a scheduler that schedules work as soon as possible on the current thread.\n */\n var currentThreadScheduler = Scheduler.currentThread = (function () {\n var queue;\n\n function runTrampoline () {\n while (queue.length > 0) {\n var item = queue.shift();\n !item.isCancelled() && item.invoke();\n }\n }\n\n function scheduleNow(state, action) {\n var si = new ScheduledItem(this, state, action, this.now());\n\n if (!queue) {\n queue = [si];\n\n var result = tryCatch(runTrampoline)();\n queue = null;\n if (result === errorObj) { return thrower(result.e); }\n } else {\n queue.push(si);\n }\n return si.disposable;\n }\n\n var currentScheduler = new Scheduler(defaultNow, scheduleNow, notSupported, notSupported);\n currentScheduler.scheduleRequired = function () { return !queue; };\n\n return currentScheduler;\n }());\n\r\n var SchedulePeriodicRecursive = Rx.internals.SchedulePeriodicRecursive = (function () {\n function tick(command, recurse) {\n recurse(0, this._period);\n try {\n this._state = this._action(this._state);\n } catch (e) {\n this._cancel.dispose();\n throw e;\n }\n }\n\n function SchedulePeriodicRecursive(scheduler, state, period, action) {\n this._scheduler = scheduler;\n this._state = state;\n this._period = period;\n this._action = action;\n }\n\n SchedulePeriodicRecursive.prototype.start = function () {\n var d = new SingleAssignmentDisposable();\n this._cancel = d;\n d.setDisposable(this._scheduler.scheduleRecursiveWithRelativeAndState(0, this._period, tick.bind(this)));\n\n return d;\n };\n\n return SchedulePeriodicRecursive;\n }());\n\r\n var scheduleMethod, clearMethod;\n\n var localTimer = (function () {\n var localSetTimeout, localClearTimeout = noop;\n if (!!root.setTimeout) {\n localSetTimeout = root.setTimeout;\n localClearTimeout = root.clearTimeout;\n } else if (!!root.WScript) {\n localSetTimeout = function (fn, time) {\n root.WScript.Sleep(time);\n fn();\n };\n } else {\n throw new NotSupportedError();\n }\n\n return {\n setTimeout: localSetTimeout,\n clearTimeout: localClearTimeout\n };\n }());\n var localSetTimeout = localTimer.setTimeout,\n localClearTimeout = localTimer.clearTimeout;\n\n (function () {\n\n var nextHandle = 1, tasksByHandle = {}, currentlyRunning = false;\n\n clearMethod = function (handle) {\n delete tasksByHandle[handle];\n };\n\n function runTask(handle) {\n if (currentlyRunning) {\n localSetTimeout(function () { runTask(handle) }, 0);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunning = true;\n var result = tryCatch(task)();\n clearMethod(handle);\n currentlyRunning = false;\n if (result === errorObj) { return thrower(result.e); }\n }\n }\n }\n\n var reNative = RegExp('^' +\n String(toString)\n .replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')\n .replace(/toString| for [^\\]]+/g, '.*?') + '$'\n );\n\n var setImmediate = typeof (setImmediate = freeGlobal && moduleExports && freeGlobal.setImmediate) == 'function' &&\n !reNative.test(setImmediate) && setImmediate;\n\n function postMessageSupported () {\n // Ensure not in a worker\n if (!root.postMessage || root.importScripts) { return false; }\n var isAsync = false, oldHandler = root.onmessage;\n // Test for async\n root.onmessage = function () { isAsync = true; };\n root.postMessage('', '*');\n root.onmessage = oldHandler;\n\n return isAsync;\n }\n\n // Use in order, setImmediate, nextTick, postMessage, MessageChannel, script readystatechanged, setTimeout\n if (isFunction(setImmediate)) {\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n setImmediate(function () { runTask(id); });\n\n return id;\n };\n } else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n process.nextTick(function () { runTask(id); });\n\n return id;\n };\n } else if (postMessageSupported()) {\n var MSG_PREFIX = 'ms.rx.schedule' + Math.random();\n\n function onGlobalPostMessage(event) {\n // Only if we're a match to avoid any other global events\n if (typeof event.data === 'string' && event.data.substring(0, MSG_PREFIX.length) === MSG_PREFIX) {\n runTask(event.data.substring(MSG_PREFIX.length));\n }\n }\n\n if (root.addEventListener) {\n root.addEventListener('message', onGlobalPostMessage, false);\n } else if (root.attachEvent) {\n root.attachEvent('onmessage', onGlobalPostMessage);\n } else {\n root.onmessage = onGlobalPostMessage;\n }\n\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n root.postMessage(MSG_PREFIX + currentId, '*');\n return id;\n };\n } else if (!!root.MessageChannel) {\n var channel = new root.MessageChannel();\n\n channel.port1.onmessage = function (e) { runTask(e.data); };\n\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n channel.port2.postMessage(id);\n return id;\n };\n } else if ('document' in root && 'onreadystatechange' in root.document.createElement('script')) {\n\n scheduleMethod = function (action) {\n var scriptElement = root.document.createElement('script');\n var id = nextHandle++;\n tasksByHandle[id] = action;\n\n scriptElement.onreadystatechange = function () {\n runTask(id);\n scriptElement.onreadystatechange = null;\n scriptElement.parentNode.removeChild(scriptElement);\n scriptElement = null;\n };\n root.document.documentElement.appendChild(scriptElement);\n return id;\n };\n\n } else {\n scheduleMethod = function (action) {\n var id = nextHandle++;\n tasksByHandle[id] = action;\n localSetTimeout(function () {\n runTask(id);\n }, 0);\n\n return id;\n };\n }\n }());\n\n /**\n * Gets a scheduler that schedules work via a timed callback based upon platform.\n */\n var timeoutScheduler = Scheduler.timeout = Scheduler['default'] = (function () {\n\n function scheduleNow(state, action) {\n var scheduler = this, disposable = new SingleAssignmentDisposable();\n var id = scheduleMethod(function () {\n !disposable.isDisposed && disposable.setDisposable(action(scheduler, state));\n });\n return new CompositeDisposable(disposable, disposableCreate(function () {\n clearMethod(id);\n }));\n }\n\n function scheduleRelative(state, dueTime, action) {\n var scheduler = this, dt = Scheduler.normalize(dueTime), disposable = new SingleAssignmentDisposable();\n if (dt === 0) { return scheduler.scheduleWithState(state, action); }\n var id = localSetTimeout(function () {\n !disposable.isDisposed && disposable.setDisposable(action(scheduler, state));\n }, dt);\n return new CompositeDisposable(disposable, disposableCreate(function () {\n localClearTimeout(id);\n }));\n }\n\n function scheduleAbsolute(state, dueTime, action) {\n return this.scheduleWithRelativeAndState(state, dueTime - this.now(), action);\n }\n\n return new Scheduler(defaultNow, scheduleNow, scheduleRelative, scheduleAbsolute);\n })();\n\r\n /**\n * Represents a notification to an observer.\n */\n var Notification = Rx.Notification = (function () {\n function Notification(kind, value, exception, accept, acceptObservable, toString) {\n this.kind = kind;\n this.value = value;\n this.exception = exception;\n this._accept = accept;\n this._acceptObservable = acceptObservable;\n this.toString = toString;\n }\n\n /**\n * Invokes the delegate corresponding to the notification or the observer's method corresponding to the notification and returns the produced result.\n *\n * @memberOf Notification\n * @param {Any} observerOrOnNext Delegate to invoke for an OnNext notification or Observer to invoke the notification on..\n * @param {Function} onError Delegate to invoke for an OnError notification.\n * @param {Function} onCompleted Delegate to invoke for an OnCompleted notification.\n * @returns {Any} Result produced by the observation.\n */\n Notification.prototype.accept = function (observerOrOnNext, onError, onCompleted) {\n return observerOrOnNext && typeof observerOrOnNext === 'object' ?\n this._acceptObservable(observerOrOnNext) :\n this._accept(observerOrOnNext, onError, onCompleted);\n };\n\n /**\n * Returns an observable sequence with a single notification.\n *\n * @memberOf Notifications\n * @param {Scheduler} [scheduler] Scheduler to send out the notification calls on.\n * @returns {Observable} The observable sequence that surfaces the behavior of the notification upon subscription.\n */\n Notification.prototype.toObservable = function (scheduler) {\n var self = this;\n isScheduler(scheduler) || (scheduler = immediateScheduler);\n return new AnonymousObservable(function (observer) {\n return scheduler.scheduleWithState(self, function (_, notification) {\n notification._acceptObservable(observer);\n notification.kind === 'N' && observer.onCompleted();\n });\n });\n };\n\n return Notification;\n })();\n\n /**\n * Creates an object that represents an OnNext notification to an observer.\n * @param {Any} value The value contained in the notification.\n * @returns {Notification} The OnNext notification containing the value.\n */\n var notificationCreateOnNext = Notification.createOnNext = (function () {\n function _accept(onNext) { return onNext(this.value); }\n function _acceptObservable(observer) { return observer.onNext(this.value); }\n function toString() { return 'OnNext(' + this.value + ')'; }\n\n return function (value) {\n return new Notification('N', value, null, _accept, _acceptObservable, toString);\n };\n }());\n\n /**\n * Creates an object that represents an OnError notification to an observer.\n * @param {Any} error The exception contained in the notification.\n * @returns {Notification} The OnError notification containing the exception.\n */\n var notificationCreateOnError = Notification.createOnError = (function () {\n function _accept (onNext, onError) { return onError(this.exception); }\n function _acceptObservable(observer) { return observer.onError(this.exception); }\n function toString () { return 'OnError(' + this.exception + ')'; }\n\n return function (e) {\n return new Notification('E', null, e, _accept, _acceptObservable, toString);\n };\n }());\n\n /**\n * Creates an object that represents an OnCompleted notification to an observer.\n * @returns {Notification} The OnCompleted notification.\n */\n var notificationCreateOnCompleted = Notification.createOnCompleted = (function () {\n function _accept (onNext, onError, onCompleted) { return onCompleted(); }\n function _acceptObservable(observer) { return observer.onCompleted(); }\n function toString () { return 'OnCompleted()'; }\n\n return function () {\n return new Notification('C', null, null, _accept, _acceptObservable, toString);\n };\n }());\n\r\n /**\n * Supports push-style iteration over an observable sequence.\n */\n var Observer = Rx.Observer = function () { };\n\n /**\n * Creates an observer from the specified OnNext, along with optional OnError, and OnCompleted actions.\n * @param {Function} [onNext] Observer's OnNext action implementation.\n * @param {Function} [onError] Observer's OnError action implementation.\n * @param {Function} [onCompleted] Observer's OnCompleted action implementation.\n * @returns {Observer} The observer object implemented using the given actions.\n */\n var observerCreate = Observer.create = function (onNext, onError, onCompleted) {\n onNext || (onNext = noop);\n onError || (onError = defaultError);\n onCompleted || (onCompleted = noop);\n return new AnonymousObserver(onNext, onError, onCompleted);\n };\n\r\n /**\n * Abstract base class for implementations of the Observer class.\n * This base class enforces the grammar of observers where OnError and OnCompleted are terminal messages.\n */\n var AbstractObserver = Rx.internals.AbstractObserver = (function (__super__) {\n inherits(AbstractObserver, __super__);\n\n /**\n * Creates a new observer in a non-stopped state.\n */\n function AbstractObserver() {\n this.isStopped = false;\n }\n\n // Must be implemented by other observers\n AbstractObserver.prototype.next = notImplemented;\n AbstractObserver.prototype.error = notImplemented;\n AbstractObserver.prototype.completed = notImplemented;\n\n /**\n * Notifies the observer of a new element in the sequence.\n * @param {Any} value Next element in the sequence.\n */\n AbstractObserver.prototype.onNext = function (value) {\n !this.isStopped && this.next(value);\n };\n\n /**\n * Notifies the observer that an exception has occurred.\n * @param {Any} error The error that has occurred.\n */\n AbstractObserver.prototype.onError = function (error) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.error(error);\n }\n };\n\n /**\n * Notifies the observer of the end of the sequence.\n */\n AbstractObserver.prototype.onCompleted = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this.completed();\n }\n };\n\n /**\n * Disposes the observer, causing it to transition to the stopped state.\n */\n AbstractObserver.prototype.dispose = function () { this.isStopped = true; };\n\n AbstractObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.error(e);\n return true;\n }\n\n return false;\n };\n\n return AbstractObserver;\n }(Observer));\n\r\n /**\n * Class to create an Observer instance from delegate-based implementations of the on* methods.\n */\n var AnonymousObserver = Rx.AnonymousObserver = (function (__super__) {\n inherits(AnonymousObserver, __super__);\n\n /**\n * Creates an observer from the specified OnNext, OnError, and OnCompleted actions.\n * @param {Any} onNext Observer's OnNext action implementation.\n * @param {Any} onError Observer's OnError action implementation.\n * @param {Any} onCompleted Observer's OnCompleted action implementation.\n */\n function AnonymousObserver(onNext, onError, onCompleted) {\n __super__.call(this);\n this._onNext = onNext;\n this._onError = onError;\n this._onCompleted = onCompleted;\n }\n\n /**\n * Calls the onNext action.\n * @param {Any} value Next element in the sequence.\n */\n AnonymousObserver.prototype.next = function (value) {\n this._onNext(value);\n };\n\n /**\n * Calls the onError action.\n * @param {Any} error The error that has occurred.\n */\n AnonymousObserver.prototype.error = function (error) {\n this._onError(error);\n };\n\n /**\n * Calls the onCompleted action.\n */\n AnonymousObserver.prototype.completed = function () {\n this._onCompleted();\n };\n\n return AnonymousObserver;\n }(AbstractObserver));\n\r\n var observableProto;\n\n /**\n * Represents a push-style collection.\n */\n var Observable = Rx.Observable = (function () {\n\n function makeSubscribe(self, subscribe) {\n return function (o) {\n var oldOnError = o.onError;\n o.onError = function (e) {\n makeStackTraceLong(e, self);\n oldOnError.call(o, e);\n };\n\n return subscribe.call(self, o);\n };\n }\n\n function Observable(subscribe) {\n if (Rx.config.longStackSupport && hasStacks) {\n var e = tryCatch(thrower)(new Error()).e;\n this.stack = e.stack.substring(e.stack.indexOf('\\n') + 1);\n this._subscribe = makeSubscribe(this, subscribe);\n } else {\n this._subscribe = subscribe;\n }\n }\n\n observableProto = Observable.prototype;\n\n /**\n * Determines whether the given object is an Observable\n * @param {Any} An object to determine whether it is an Observable\n * @returns {Boolean} true if an Observable, else false.\n */\n Observable.isObservable = function (o) {\n return o && isFunction(o.subscribe);\n }\n\n /**\n * Subscribes an o to the observable sequence.\n * @param {Mixed} [oOrOnNext] The object that is to receive notifications or an action to invoke for each element in the observable sequence.\n * @param {Function} [onError] Action to invoke upon exceptional termination of the observable sequence.\n * @param {Function} [onCompleted] Action to invoke upon graceful termination of the observable sequence.\n * @returns {Diposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribe = observableProto.forEach = function (oOrOnNext, onError, onCompleted) {\n return this._subscribe(typeof oOrOnNext === 'object' ?\n oOrOnNext :\n observerCreate(oOrOnNext, onError, onCompleted));\n };\n\n /**\n * Subscribes to the next value in the sequence with an optional \"this\" argument.\n * @param {Function} onNext The function to invoke on each element in the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribeOnNext = function (onNext, thisArg) {\n return this._subscribe(observerCreate(typeof thisArg !== 'undefined' ? function(x) { onNext.call(thisArg, x); } : onNext));\n };\n\n /**\n * Subscribes to an exceptional condition in the sequence with an optional \"this\" argument.\n * @param {Function} onError The function to invoke upon exceptional termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribeOnError = function (onError, thisArg) {\n return this._subscribe(observerCreate(null, typeof thisArg !== 'undefined' ? function(e) { onError.call(thisArg, e); } : onError));\n };\n\n /**\n * Subscribes to the next value in the sequence with an optional \"this\" argument.\n * @param {Function} onCompleted The function to invoke upon graceful termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Disposable} A disposable handling the subscriptions and unsubscriptions.\n */\n observableProto.subscribeOnCompleted = function (onCompleted, thisArg) {\n return this._subscribe(observerCreate(null, null, typeof thisArg !== 'undefined' ? function() { onCompleted.call(thisArg); } : onCompleted));\n };\n\n return Observable;\n })();\n\r\n var ScheduledObserver = Rx.internals.ScheduledObserver = (function (__super__) {\n inherits(ScheduledObserver, __super__);\n\n function ScheduledObserver(scheduler, observer) {\n __super__.call(this);\n this.scheduler = scheduler;\n this.observer = observer;\n this.isAcquired = false;\n this.hasFaulted = false;\n this.queue = [];\n this.disposable = new SerialDisposable();\n }\n\n ScheduledObserver.prototype.next = function (value) {\n var self = this;\n this.queue.push(function () { self.observer.onNext(value); });\n };\n\n ScheduledObserver.prototype.error = function (e) {\n var self = this;\n this.queue.push(function () { self.observer.onError(e); });\n };\n\n ScheduledObserver.prototype.completed = function () {\n var self = this;\n this.queue.push(function () { self.observer.onCompleted(); });\n };\n\n ScheduledObserver.prototype.ensureActive = function () {\n var isOwner = false;\n if (!this.hasFaulted && this.queue.length > 0) {\n isOwner = !this.isAcquired;\n this.isAcquired = true;\n }\n if (isOwner) {\n this.disposable.setDisposable(this.scheduler.scheduleRecursiveWithState(this, function (parent, self) {\n var work;\n if (parent.queue.length > 0) {\n work = parent.queue.shift();\n } else {\n parent.isAcquired = false;\n return;\n }\n var res = tryCatch(work)();\n if (res === errorObj) {\n parent.queue = [];\n parent.hasFaulted = true;\n return thrower(res.e);\n }\n self(parent);\n }));\n }\n };\n\n ScheduledObserver.prototype.dispose = function () {\n __super__.prototype.dispose.call(this);\n this.disposable.dispose();\n };\n\n return ScheduledObserver;\n }(AbstractObserver));\n\r\n var ObservableBase = Rx.ObservableBase = (function (__super__) {\n inherits(ObservableBase, __super__);\n\n function fixSubscriber(subscriber) {\n return subscriber && isFunction(subscriber.dispose) ? subscriber :\n isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty;\n }\n\n function setDisposable(s, state) {\n var ado = state[0], self = state[1];\n var sub = tryCatch(self.subscribeCore).call(self, ado);\n\n if (sub === errorObj) {\n if(!ado.fail(errorObj.e)) { return thrower(errorObj.e); }\n }\n ado.setDisposable(fixSubscriber(sub));\n }\n\n function subscribe(observer) {\n var ado = new AutoDetachObserver(observer), state = [ado, this];\n\n if (currentThreadScheduler.scheduleRequired()) {\n currentThreadScheduler.scheduleWithState(state, setDisposable);\n } else {\n setDisposable(null, state);\n }\n return ado;\n }\n\n function ObservableBase() {\n __super__.call(this, subscribe);\n }\n\n ObservableBase.prototype.subscribeCore = notImplemented;\n\n return ObservableBase;\n }(Observable));\n\r\nvar FlatMapObservable = (function(__super__){\n\n inherits(FlatMapObservable, __super__);\n\n function FlatMapObservable(source, selector, resultSelector, thisArg) {\n this.resultSelector = Rx.helpers.isFunction(resultSelector) ?\n resultSelector : null;\n\n this.selector = Rx.internals.bindCallback(Rx.helpers.isFunction(selector) ? selector : function() { return selector; }, thisArg, 3);\n this.source = source;\n\n __super__.call(this);\n\n }\n\n FlatMapObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new InnerObserver(o, this.selector, this.resultSelector, this));\n };\n\n function InnerObserver(observer, selector, resultSelector, source) {\n this.i = 0;\n this.selector = selector;\n this.resultSelector = resultSelector;\n this.source = source;\n this.isStopped = false;\n this.o = observer;\n }\n\n InnerObserver.prototype._wrapResult = function(result, x, i) {\n return this.resultSelector ?\n result.map(function(y, i2) { return this.resultSelector(x, y, i, i2); }, this) :\n result;\n };\n\n InnerObserver.prototype.onNext = function(x) {\n\n if (this.isStopped) return;\n\n var i = this.i++;\n var result = tryCatch(this.selector)(x, i, this.source);\n\n if (result === errorObj) {\n return this.o.onError(result.e);\n }\n\n Rx.helpers.isPromise(result) && (result = Rx.Observable.fromPromise(result));\n (Rx.helpers.isArrayLike(result) || Rx.helpers.isIterable(result)) && (result = Rx.Observable.from(result));\n\n this.o.onNext(this._wrapResult(result, x, i));\n\n };\n\n InnerObserver.prototype.onError = function(e) {\n if(!this.isStopped) { this.isStopped = true; this.o.onError(e); }\n };\n\n InnerObserver.prototype.onCompleted = function() {\n if (!this.isStopped) {this.isStopped = true; this.o.onCompleted(); }\n };\n\n return FlatMapObservable;\n\n}(ObservableBase));\n\r\n var Enumerable = Rx.internals.Enumerable = function () { };\n\n var ConcatEnumerableObservable = (function(__super__) {\n inherits(ConcatEnumerableObservable, __super__);\n function ConcatEnumerableObservable(sources) {\n this.sources = sources;\n __super__.call(this);\n }\n \n ConcatEnumerableObservable.prototype.subscribeCore = function (o) {\n var isDisposed, subscription = new SerialDisposable();\n var cancelable = immediateScheduler.scheduleRecursiveWithState(this.sources[$iterator$](), function (e, self) {\n if (isDisposed) { return; }\n var currentItem = tryCatch(e.next).call(e);\n if (currentItem === errorObj) { return o.onError(currentItem.e); }\n\n if (currentItem.done) {\n return o.onCompleted();\n }\n\n // Check if promise\n var currentValue = currentItem.value;\n isPromise(currentValue) && (currentValue = observableFromPromise(currentValue));\n\n var d = new SingleAssignmentDisposable();\n subscription.setDisposable(d);\n d.setDisposable(currentValue.subscribe(new InnerObserver(o, self, e)));\n });\n\n return new CompositeDisposable(subscription, cancelable, disposableCreate(function () {\n isDisposed = true;\n }));\n };\n \n function InnerObserver(o, s, e) {\n this.o = o;\n this.s = s;\n this.e = e;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = function (x) { if(!this.isStopped) { this.o.onNext(x); } };\n InnerObserver.prototype.onError = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(err);\n }\n };\n InnerObserver.prototype.onCompleted = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this.s(this.e);\n }\n };\n InnerObserver.prototype.dispose = function () { this.isStopped = true; };\n InnerObserver.prototype.fail = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(err);\n return true;\n }\n return false;\n };\n \n return ConcatEnumerableObservable;\n }(ObservableBase));\n\n Enumerable.prototype.concat = function () {\n return new ConcatEnumerableObservable(this);\n };\n \n var CatchErrorObservable = (function(__super__) {\n inherits(CatchErrorObservable, __super__);\n function CatchErrorObservable(sources) {\n this.sources = sources;\n __super__.call(this);\n }\n \n CatchErrorObservable.prototype.subscribeCore = function (o) {\n var e = this.sources[$iterator$]();\n\n var isDisposed, subscription = new SerialDisposable();\n var cancelable = immediateScheduler.scheduleRecursiveWithState(null, function (lastException, self) {\n if (isDisposed) { return; }\n var currentItem = tryCatch(e.next).call(e);\n if (currentItem === errorObj) { return o.onError(currentItem.e); }\n\n if (currentItem.done) {\n return lastException !== null ? o.onError(lastException) : o.onCompleted();\n }\n\n // Check if promise\n var currentValue = currentItem.value;\n isPromise(currentValue) && (currentValue = observableFromPromise(currentValue));\n\n var d = new SingleAssignmentDisposable();\n subscription.setDisposable(d);\n d.setDisposable(currentValue.subscribe(\n function(x) { o.onNext(x); },\n self,\n function() { o.onCompleted(); }));\n });\n return new CompositeDisposable(subscription, cancelable, disposableCreate(function () {\n isDisposed = true;\n }));\n };\n \n return CatchErrorObservable;\n }(ObservableBase));\n\n Enumerable.prototype.catchError = function () {\n return new CatchErrorObservable(this);\n };\n\n Enumerable.prototype.catchErrorWhen = function (notificationHandler) {\n var sources = this;\n return new AnonymousObservable(function (o) {\n var exceptions = new Subject(),\n notifier = new Subject(),\n handled = notificationHandler(exceptions),\n notificationDisposable = handled.subscribe(notifier);\n\n var e = sources[$iterator$]();\n\n var isDisposed,\n lastException,\n subscription = new SerialDisposable();\n var cancelable = immediateScheduler.scheduleRecursive(function (self) {\n if (isDisposed) { return; }\n var currentItem = tryCatch(e.next).call(e);\n if (currentItem === errorObj) { return o.onError(currentItem.e); }\n\n if (currentItem.done) {\n if (lastException) {\n o.onError(lastException);\n } else {\n o.onCompleted();\n }\n return;\n }\n\n // Check if promise\n var currentValue = currentItem.value;\n isPromise(currentValue) && (currentValue = observableFromPromise(currentValue));\n\n var outer = new SingleAssignmentDisposable();\n var inner = new SingleAssignmentDisposable();\n subscription.setDisposable(new CompositeDisposable(inner, outer));\n outer.setDisposable(currentValue.subscribe(\n function(x) { o.onNext(x); },\n function (exn) {\n inner.setDisposable(notifier.subscribe(self, function(ex) {\n o.onError(ex);\n }, function() {\n o.onCompleted();\n }));\n\n exceptions.onNext(exn);\n },\n function() { o.onCompleted(); }));\n });\n\n return new CompositeDisposable(notificationDisposable, subscription, cancelable, disposableCreate(function () {\n isDisposed = true;\n }));\n });\n };\n \n var RepeatEnumerable = (function (__super__) {\n inherits(RepeatEnumerable, __super__);\n \n function RepeatEnumerable(v, c) {\n this.v = v;\n this.c = c == null ? -1 : c;\n }\n RepeatEnumerable.prototype[$iterator$] = function () {\n return new RepeatEnumerator(this); \n };\n \n function RepeatEnumerator(p) {\n this.v = p.v;\n this.l = p.c;\n }\n RepeatEnumerator.prototype.next = function () {\n if (this.l === 0) { return doneEnumerator; }\n if (this.l > 0) { this.l--; }\n return { done: false, value: this.v }; \n };\n \n return RepeatEnumerable;\n }(Enumerable));\n\n var enumerableRepeat = Enumerable.repeat = function (value, repeatCount) {\n return new RepeatEnumerable(value, repeatCount);\n };\n \n var OfEnumerable = (function(__super__) {\n inherits(OfEnumerable, __super__);\n function OfEnumerable(s, fn, thisArg) {\n this.s = s;\n this.fn = fn ? bindCallback(fn, thisArg, 3) : null;\n }\n OfEnumerable.prototype[$iterator$] = function () {\n return new OfEnumerator(this);\n };\n \n function OfEnumerator(p) {\n this.i = -1;\n this.s = p.s;\n this.l = this.s.length;\n this.fn = p.fn;\n }\n OfEnumerator.prototype.next = function () {\n return ++this.i < this.l ?\n { done: false, value: !this.fn ? this.s[this.i] : this.fn(this.s[this.i], this.i, this.s) } :\n doneEnumerator; \n };\n \n return OfEnumerable;\n }(Enumerable));\n\n var enumerableOf = Enumerable.of = function (source, selector, thisArg) {\n return new OfEnumerable(source, selector, thisArg);\n };\n\r\n var ToArrayObservable = (function(__super__) {\n inherits(ToArrayObservable, __super__);\n function ToArrayObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n ToArrayObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new InnerObserver(o));\n };\n\n function InnerObserver(o) {\n this.o = o;\n this.a = [];\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = function (x) { if(!this.isStopped) { this.a.push(x); } };\n InnerObserver.prototype.onError = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n }\n };\n InnerObserver.prototype.onCompleted = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onNext(this.a);\n this.o.onCompleted();\n }\n };\n InnerObserver.prototype.dispose = function () { this.isStopped = true; }\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n \n return false;\n };\n\n return ToArrayObservable;\n }(ObservableBase));\n\n /**\n * Creates an array from an observable sequence.\n * @returns {Observable} An observable sequence containing a single element with a list containing all the elements of the source sequence.\n */\n observableProto.toArray = function () {\n return new ToArrayObservable(this);\n };\n\r\n /**\n * Creates an observable sequence from a specified subscribe method implementation.\n * @example\n * var res = Rx.Observable.create(function (observer) { return function () { } );\n * var res = Rx.Observable.create(function (observer) { return Rx.Disposable.empty; } );\n * var res = Rx.Observable.create(function (observer) { } );\n * @param {Function} subscribe Implementation of the resulting observable sequence's subscribe method, returning a function that will be wrapped in a Disposable.\n * @returns {Observable} The observable sequence with the specified implementation for the Subscribe method.\n */\n Observable.create = function (subscribe, parent) {\n return new AnonymousObservable(subscribe, parent);\n };\n\r\n /**\n * Returns an observable sequence that invokes the specified factory function whenever a new observer subscribes.\n *\n * @example\n * var res = Rx.Observable.defer(function () { return Rx.Observable.fromArray([1,2,3]); });\n * @param {Function} observableFactory Observable factory function to invoke for each observer that subscribes to the resulting sequence or Promise.\n * @returns {Observable} An observable sequence whose observers trigger an invocation of the given observable factory function.\n */\n var observableDefer = Observable.defer = function (observableFactory) {\n return new AnonymousObservable(function (observer) {\n var result;\n try {\n result = observableFactory();\n } catch (e) {\n return observableThrow(e).subscribe(observer);\n }\n isPromise(result) && (result = observableFromPromise(result));\n return result.subscribe(observer);\n });\n };\n\r\n var EmptyObservable = (function(__super__) {\n inherits(EmptyObservable, __super__);\n function EmptyObservable(scheduler) {\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n EmptyObservable.prototype.subscribeCore = function (observer) {\n var sink = new EmptySink(observer, this.scheduler);\n return sink.run();\n };\n\n function EmptySink(observer, scheduler) {\n this.observer = observer;\n this.scheduler = scheduler;\n }\n\n function scheduleItem(s, state) {\n state.onCompleted();\n return disposableEmpty;\n }\n\n EmptySink.prototype.run = function () {\n return this.scheduler.scheduleWithState(this.observer, scheduleItem);\n };\n\n return EmptyObservable;\n }(ObservableBase));\n\n var EMPTY_OBSERVABLE = new EmptyObservable(immediateScheduler);\n\n /**\n * Returns an empty observable sequence, using the specified scheduler to send out the single OnCompleted message.\n *\n * @example\n * var res = Rx.Observable.empty();\n * var res = Rx.Observable.empty(Rx.Scheduler.timeout);\n * @param {Scheduler} [scheduler] Scheduler to send the termination call on.\n * @returns {Observable} An observable sequence with no elements.\n */\n var observableEmpty = Observable.empty = function (scheduler) {\n isScheduler(scheduler) || (scheduler = immediateScheduler);\n return scheduler === immediateScheduler ? EMPTY_OBSERVABLE : new EmptyObservable(scheduler);\n };\n\r\n var FromObservable = (function(__super__) {\n inherits(FromObservable, __super__);\n function FromObservable(iterable, mapper, scheduler) {\n this.iterable = iterable;\n this.mapper = mapper;\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n FromObservable.prototype.subscribeCore = function (o) {\n var sink = new FromSink(o, this);\n return sink.run();\n };\n\n return FromObservable;\n }(ObservableBase));\n\n var FromSink = (function () {\n function FromSink(o, parent) {\n this.o = o;\n this.parent = parent;\n }\n\n FromSink.prototype.run = function () {\n var list = Object(this.parent.iterable),\n it = getIterable(list),\n o = this.o,\n mapper = this.parent.mapper;\n\n function loopRecursive(i, recurse) {\n var next = tryCatch(it.next).call(it);\n if (next === errorObj) { return o.onError(next.e); }\n if (next.done) { return o.onCompleted(); }\n\n var result = next.value;\n\n if (isFunction(mapper)) {\n result = tryCatch(mapper)(result, i);\n if (result === errorObj) { return o.onError(result.e); }\n }\n\n o.onNext(result);\n recurse(i + 1);\n }\n\n return this.parent.scheduler.scheduleRecursiveWithState(0, loopRecursive);\n };\n\n return FromSink;\n }());\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n function StringIterable(s) {\n this._s = s;\n }\n\n StringIterable.prototype[$iterator$] = function () {\n return new StringIterator(this._s);\n };\n\n function StringIterator(s) {\n this._s = s;\n this._l = s.length;\n this._i = 0;\n }\n\n StringIterator.prototype[$iterator$] = function () {\n return this;\n };\n\n StringIterator.prototype.next = function () {\n return this._i < this._l ? { done: false, value: this._s.charAt(this._i++) } : doneEnumerator;\n };\n\n function ArrayIterable(a) {\n this._a = a;\n }\n\n ArrayIterable.prototype[$iterator$] = function () {\n return new ArrayIterator(this._a);\n };\n\n function ArrayIterator(a) {\n this._a = a;\n this._l = toLength(a);\n this._i = 0;\n }\n\n ArrayIterator.prototype[$iterator$] = function () {\n return this;\n };\n\n ArrayIterator.prototype.next = function () {\n return this._i < this._l ? { done: false, value: this._a[this._i++] } : doneEnumerator;\n };\n\n function numberIsFinite(value) {\n return typeof value === 'number' && root.isFinite(value);\n }\n\n function isNan(n) {\n return n !== n;\n }\n\n function getIterable(o) {\n var i = o[$iterator$], it;\n if (!i && typeof o === 'string') {\n it = new StringIterable(o);\n return it[$iterator$]();\n }\n if (!i && o.length !== undefined) {\n it = new ArrayIterable(o);\n return it[$iterator$]();\n }\n if (!i) { throw new TypeError('Object is not iterable'); }\n return o[$iterator$]();\n }\n\n function sign(value) {\n var number = +value;\n if (number === 0) { return number; }\n if (isNaN(number)) { return number; }\n return number < 0 ? -1 : 1;\n }\n\n function toLength(o) {\n var len = +o.length;\n if (isNaN(len)) { return 0; }\n if (len === 0 || !numberIsFinite(len)) { return len; }\n len = sign(len) * Math.floor(Math.abs(len));\n if (len <= 0) { return 0; }\n if (len > maxSafeInteger) { return maxSafeInteger; }\n return len;\n }\n\n /**\n * This method creates a new Observable sequence from an array-like or iterable object.\n * @param {Any} arrayLike An array-like or iterable object to convert to an Observable sequence.\n * @param {Function} [mapFn] Map function to call on every element of the array.\n * @param {Any} [thisArg] The context to use calling the mapFn if provided.\n * @param {Scheduler} [scheduler] Optional scheduler to use for scheduling. If not provided, defaults to Scheduler.currentThread.\n */\n var observableFrom = Observable.from = function (iterable, mapFn, thisArg, scheduler) {\n if (iterable == null) {\n throw new Error('iterable cannot be null.')\n }\n if (mapFn && !isFunction(mapFn)) {\n throw new Error('mapFn when provided must be a function');\n }\n if (mapFn) {\n var mapper = bindCallback(mapFn, thisArg, 2);\n }\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new FromObservable(iterable, mapper, scheduler);\n }\n\r\n var FromArrayObservable = (function(__super__) {\n inherits(FromArrayObservable, __super__);\n function FromArrayObservable(args, scheduler) {\n this.args = args;\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n FromArrayObservable.prototype.subscribeCore = function (observer) {\n var sink = new FromArraySink(observer, this);\n return sink.run();\n };\n\n return FromArrayObservable;\n }(ObservableBase));\n\n function FromArraySink(observer, parent) {\n this.observer = observer;\n this.parent = parent;\n }\n\n FromArraySink.prototype.run = function () {\n var observer = this.observer, args = this.parent.args, len = args.length;\n function loopRecursive(i, recurse) {\n if (i < len) {\n observer.onNext(args[i]);\n recurse(i + 1);\n } else {\n observer.onCompleted();\n }\n }\n\n return this.parent.scheduler.scheduleRecursiveWithState(0, loopRecursive);\n };\n\r\n /**\n * Converts an array to an observable sequence, using an optional scheduler to enumerate the array.\n * @deprecated use Observable.from or Observable.of\n * @param {Scheduler} [scheduler] Scheduler to run the enumeration of the input sequence on.\n * @returns {Observable} The observable sequence whose elements are pulled from the given enumerable sequence.\n */\n var observableFromArray = Observable.fromArray = function (array, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new FromArrayObservable(array, scheduler)\n };\n\r\n var NeverObservable = (function(__super__) {\n inherits(NeverObservable, __super__);\n function NeverObservable() {\n __super__.call(this);\n }\n\n NeverObservable.prototype.subscribeCore = function (observer) {\n return disposableEmpty;\n };\n\n return NeverObservable;\n }(ObservableBase));\n\n var NEVER_OBSERVABLE = new NeverObservable();\n\n /**\n * Returns a non-terminating observable sequence, which can be used to denote an infinite duration (e.g. when using reactive joins).\n * @returns {Observable} An observable sequence whose observers will never get called.\n */\n var observableNever = Observable.never = function () {\n return NEVER_OBSERVABLE;\n };\n\r\n function observableOf (scheduler, array) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new FromArrayObservable(array, scheduler);\n }\n\n /**\n * This method creates a new Observable instance with a variable number of arguments, regardless of number or type of the arguments.\n * @returns {Observable} The observable sequence whose elements are pulled from the given arguments.\n */\n Observable.of = function () {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return new FromArrayObservable(args, currentThreadScheduler);\n };\n\n /**\n * This method creates a new Observable instance with a variable number of arguments, regardless of number or type of the arguments.\n * @param {Scheduler} scheduler A scheduler to use for scheduling the arguments.\n * @returns {Observable} The observable sequence whose elements are pulled from the given arguments.\n */\n Observable.ofWithScheduler = function (scheduler) {\n var len = arguments.length, args = new Array(len - 1);\n for(var i = 1; i < len; i++) { args[i - 1] = arguments[i]; }\n return new FromArrayObservable(args, scheduler);\n };\n\r\n var PairsObservable = (function(__super__) {\n inherits(PairsObservable, __super__);\n function PairsObservable(obj, scheduler) {\n this.obj = obj;\n this.keys = Object.keys(obj);\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n PairsObservable.prototype.subscribeCore = function (observer) {\n var sink = new PairsSink(observer, this);\n return sink.run();\n };\n\n return PairsObservable;\n }(ObservableBase));\n\n function PairsSink(observer, parent) {\n this.observer = observer;\n this.parent = parent;\n }\n\n PairsSink.prototype.run = function () {\n var observer = this.observer, obj = this.parent.obj, keys = this.parent.keys, len = keys.length;\n function loopRecursive(i, recurse) {\n if (i < len) {\n var key = keys[i];\n observer.onNext([key, obj[key]]);\n recurse(i + 1);\n } else {\n observer.onCompleted();\n }\n }\n\n return this.parent.scheduler.scheduleRecursiveWithState(0, loopRecursive);\n };\n\n /**\n * Convert an object into an observable sequence of [key, value] pairs.\n * @param {Object} obj The object to inspect.\n * @param {Scheduler} [scheduler] Scheduler to run the enumeration of the input sequence on.\n * @returns {Observable} An observable sequence of [key, value] pairs from the object.\n */\n Observable.pairs = function (obj, scheduler) {\n scheduler || (scheduler = currentThreadScheduler);\n return new PairsObservable(obj, scheduler);\n };\n\r\n var RangeObservable = (function(__super__) {\n inherits(RangeObservable, __super__);\n function RangeObservable(start, count, scheduler) {\n this.start = start;\n this.rangeCount = count;\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n RangeObservable.prototype.subscribeCore = function (observer) {\n var sink = new RangeSink(observer, this);\n return sink.run();\n };\n\n return RangeObservable;\n }(ObservableBase));\n\n var RangeSink = (function () {\n function RangeSink(observer, parent) {\n this.observer = observer;\n this.parent = parent;\n }\n\n RangeSink.prototype.run = function () {\n var start = this.parent.start, count = this.parent.rangeCount, observer = this.observer;\n function loopRecursive(i, recurse) {\n if (i < count) {\n observer.onNext(start + i);\n recurse(i + 1);\n } else {\n observer.onCompleted();\n }\n }\n\n return this.parent.scheduler.scheduleRecursiveWithState(0, loopRecursive);\n };\n\n return RangeSink;\n }());\n\n /**\n * Generates an observable sequence of integral numbers within a specified range, using the specified scheduler to send out observer messages.\n * @param {Number} start The value of the first integer in the sequence.\n * @param {Number} count The number of sequential integers to generate.\n * @param {Scheduler} [scheduler] Scheduler to run the generator loop on. If not specified, defaults to Scheduler.currentThread.\n * @returns {Observable} An observable sequence that contains a range of sequential integral numbers.\n */\n Observable.range = function (start, count, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new RangeObservable(start, count, scheduler);\n };\n\r\n var RepeatObservable = (function(__super__) {\n inherits(RepeatObservable, __super__);\n function RepeatObservable(value, repeatCount, scheduler) {\n this.value = value;\n this.repeatCount = repeatCount == null ? -1 : repeatCount;\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n RepeatObservable.prototype.subscribeCore = function (observer) {\n var sink = new RepeatSink(observer, this);\n return sink.run();\n };\n\n return RepeatObservable;\n }(ObservableBase));\n\n function RepeatSink(observer, parent) {\n this.observer = observer;\n this.parent = parent;\n }\n\n RepeatSink.prototype.run = function () {\n var observer = this.observer, value = this.parent.value;\n function loopRecursive(i, recurse) {\n if (i === -1 || i > 0) {\n observer.onNext(value);\n i > 0 && i--;\n }\n if (i === 0) { return observer.onCompleted(); }\n recurse(i);\n }\n\n return this.parent.scheduler.scheduleRecursiveWithState(this.parent.repeatCount, loopRecursive);\n };\n\n /**\n * Generates an observable sequence that repeats the given element the specified number of times, using the specified scheduler to send out observer messages.\n * @param {Mixed} value Element to repeat.\n * @param {Number} repeatCount [Optiona] Number of times to repeat the element. If not specified, repeats indefinitely.\n * @param {Scheduler} scheduler Scheduler to run the producer loop on. If not specified, defaults to Scheduler.immediate.\n * @returns {Observable} An observable sequence that repeats the given element the specified number of times.\n */\n Observable.repeat = function (value, repeatCount, scheduler) {\n isScheduler(scheduler) || (scheduler = currentThreadScheduler);\n return new RepeatObservable(value, repeatCount, scheduler);\n };\n\r\n var JustObservable = (function(__super__) {\n inherits(JustObservable, __super__);\n function JustObservable(value, scheduler) {\n this.value = value;\n this.scheduler = scheduler;\n __super__.call(this);\n }\n\n JustObservable.prototype.subscribeCore = function (observer) {\n var sink = new JustSink(observer, this.value, this.scheduler);\n return sink.run();\n };\n\n function JustSink(observer, value, scheduler) {\n this.observer = observer;\n this.value = value;\n this.scheduler = scheduler;\n }\n\n function scheduleItem(s, state) {\n var value = state[0], observer = state[1];\n observer.onNext(value);\n observer.onCompleted();\n return disposableEmpty;\n }\n\n JustSink.prototype.run = function () {\n var state = [this.value, this.observer];\n return this.scheduler === immediateScheduler ?\n scheduleItem(null, state) :\n this.scheduler.scheduleWithState(state, scheduleItem);\n };\n\n return JustObservable;\n }(ObservableBase));\n\n /**\n * Returns an observable sequence that contains a single element, using the specified scheduler to send out observer messages.\n * There is an alias called 'just' or browsers 0) {\n parent.handleSubscribe(parent.q.shift());\n } else {\n parent.activeCount--;\n parent.done && parent.activeCount === 0 && parent.o.onCompleted();\n }\n }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.parent.o.onError(e);\n return true;\n }\n\n return false;\n };\n\n return MergeObserver;\n }());\n\n\n\n\n\n /**\n * Merges an observable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences.\n * Or merges two observable sequences into a single observable sequence.\n *\n * @example\n * 1 - merged = sources.merge(1);\n * 2 - merged = source.merge(otherSource);\n * @param {Mixed} [maxConcurrentOrOther] Maximum number of inner observable sequences being subscribed to concurrently or the second observable sequence.\n * @returns {Observable} The observable sequence that merges the elements of the inner sequences.\n */\n observableProto.merge = function (maxConcurrentOrOther) {\n return typeof maxConcurrentOrOther !== 'number' ?\n observableMerge(this, maxConcurrentOrOther) :\n new MergeObservable(this, maxConcurrentOrOther);\n };\n\r\n /**\n * Merges all the observable sequences into a single observable sequence.\n * The scheduler is optional and if not specified, the immediate scheduler is used.\n * @returns {Observable} The observable sequence that merges the elements of the observable sequences.\n */\n var observableMerge = Observable.merge = function () {\n var scheduler, sources = [], i, len = arguments.length;\n if (!arguments[0]) {\n scheduler = immediateScheduler;\n for(i = 1; i < len; i++) { sources.push(arguments[i]); }\n } else if (isScheduler(arguments[0])) {\n scheduler = arguments[0];\n for(i = 1; i < len; i++) { sources.push(arguments[i]); }\n } else {\n scheduler = immediateScheduler;\n for(i = 0; i < len; i++) { sources.push(arguments[i]); }\n }\n if (Array.isArray(sources[0])) {\n sources = sources[0];\n }\n return observableOf(scheduler, sources).mergeAll();\n };\n\r\n var CompositeError = Rx.CompositeError = function(errors) {\n this.name = \"NotImplementedError\";\n this.innerErrors = errors;\n this.message = 'This contains multiple errors. Check the innerErrors';\n Error.call(this);\n }\n CompositeError.prototype = Error.prototype;\n\n /**\n * Flattens an Observable that emits Observables into one Observable, in a way that allows an Observer to\n * receive all successfully emitted items from all of the source Observables without being interrupted by\n * an error notification from one of them.\n *\n * This behaves like Observable.prototype.mergeAll except that if any of the merged Observables notify of an\n * error via the Observer's onError, mergeDelayError will refrain from propagating that\n * error notification until all of the merged Observables have finished emitting items.\n * @param {Array | Arguments} args Arguments or an array to merge.\n * @returns {Observable} an Observable that emits all of the items emitted by the Observables emitted by the Observable\n */\n Observable.mergeDelayError = function() {\n var args;\n if (Array.isArray(arguments[0])) {\n args = arguments[0];\n } else {\n var len = arguments.length;\n args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n }\n var source = observableOf(null, args);\n\n return new AnonymousObservable(function (o) {\n var group = new CompositeDisposable(),\n m = new SingleAssignmentDisposable(),\n isStopped = false,\n errors = [];\n\n function setCompletion() {\n if (errors.length === 0) {\n o.onCompleted();\n } else if (errors.length === 1) {\n o.onError(errors[0]);\n } else {\n o.onError(new CompositeError(errors));\n }\n }\n\n group.add(m);\n\n m.setDisposable(source.subscribe(\n function (innerSource) {\n var innerSubscription = new SingleAssignmentDisposable();\n group.add(innerSubscription);\n\n // Check for promises support\n isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));\n\n innerSubscription.setDisposable(innerSource.subscribe(\n function (x) { o.onNext(x); },\n function (e) {\n errors.push(e);\n group.remove(innerSubscription);\n isStopped && group.length === 1 && setCompletion();\n },\n function () {\n group.remove(innerSubscription);\n isStopped && group.length === 1 && setCompletion();\n }));\n },\n function (e) {\n errors.push(e);\n isStopped = true;\n group.length === 1 && setCompletion();\n },\n function () {\n isStopped = true;\n group.length === 1 && setCompletion();\n }));\n return group;\n });\n };\n\r\n var MergeAllObservable = (function (__super__) {\n inherits(MergeAllObservable, __super__);\n\n function MergeAllObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n MergeAllObservable.prototype.subscribeCore = function (observer) {\n var g = new CompositeDisposable(), m = new SingleAssignmentDisposable();\n g.add(m);\n m.setDisposable(this.source.subscribe(new MergeAllObserver(observer, g)));\n return g;\n };\n\n function MergeAllObserver(o, g) {\n this.o = o;\n this.g = g;\n this.isStopped = false;\n this.done = false;\n }\n MergeAllObserver.prototype.onNext = function(innerSource) {\n if(this.isStopped) { return; }\n var sad = new SingleAssignmentDisposable();\n this.g.add(sad);\n\n isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));\n\n sad.setDisposable(innerSource.subscribe(new InnerObserver(this, sad)));\n };\n MergeAllObserver.prototype.onError = function (e) {\n if(!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n }\n };\n MergeAllObserver.prototype.onCompleted = function () {\n if(!this.isStopped) {\n this.isStopped = true;\n this.done = true;\n this.g.length === 1 && this.o.onCompleted();\n }\n };\n MergeAllObserver.prototype.dispose = function() { this.isStopped = true; };\n MergeAllObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n\n return false;\n };\n\n function InnerObserver(parent, sad) {\n this.parent = parent;\n this.sad = sad;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = function (x) { if (!this.isStopped) { this.parent.o.onNext(x); } };\n InnerObserver.prototype.onError = function (e) {\n if(!this.isStopped) {\n this.isStopped = true;\n this.parent.o.onError(e);\n }\n };\n InnerObserver.prototype.onCompleted = function () {\n if(!this.isStopped) {\n var parent = this.parent;\n this.isStopped = true;\n parent.g.remove(this.sad);\n parent.done && parent.g.length === 1 && parent.o.onCompleted();\n }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.parent.o.onError(e);\n return true;\n }\n\n return false;\n };\n\n return MergeAllObservable;\n }(ObservableBase));\n\n /**\n * Merges an observable sequence of observable sequences into an observable sequence.\n * @returns {Observable} The observable sequence that merges the elements of the inner sequences.\n */\n observableProto.mergeAll = function () {\n return new MergeAllObservable(this);\n };\n\r\n /**\n * Returns the values from the source observable sequence only after the other observable sequence produces a value.\n * @param {Observable | Promise} other The observable sequence or Promise that triggers propagation of elements of the source sequence.\n * @returns {Observable} An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation.\n */\n observableProto.skipUntil = function (other) {\n var source = this;\n return new AnonymousObservable(function (o) {\n var isOpen = false;\n var disposables = new CompositeDisposable(source.subscribe(function (left) {\n isOpen && o.onNext(left);\n }, function (e) { o.onError(e); }, function () {\n isOpen && o.onCompleted();\n }));\n\n isPromise(other) && (other = observableFromPromise(other));\n\n var rightSubscription = new SingleAssignmentDisposable();\n disposables.add(rightSubscription);\n rightSubscription.setDisposable(other.subscribe(function () {\n isOpen = true;\n rightSubscription.dispose();\n }, function (e) { o.onError(e); }, function () {\n rightSubscription.dispose();\n }));\n\n return disposables;\n }, source);\n };\n\r\n var SwitchObservable = (function(__super__) {\n inherits(SwitchObservable, __super__);\n function SwitchObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n SwitchObservable.prototype.subscribeCore = function (o) {\n var inner = new SerialDisposable(), s = this.source.subscribe(new SwitchObserver(o, inner));\n return new CompositeDisposable(s, inner);\n };\n\n function SwitchObserver(o, inner) {\n this.o = o;\n this.inner = inner;\n this.stopped = false;\n this.latest = 0;\n this.hasLatest = false;\n this.isStopped = false;\n }\n SwitchObserver.prototype.onNext = function (innerSource) {\n if (this.isStopped) { return; }\n var d = new SingleAssignmentDisposable(), id = ++this.latest;\n this.hasLatest = true;\n this.inner.setDisposable(d);\n isPromise(innerSource) && (innerSource = observableFromPromise(innerSource));\n d.setDisposable(innerSource.subscribe(new InnerObserver(this, id)));\n };\n SwitchObserver.prototype.onError = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n }\n };\n SwitchObserver.prototype.onCompleted = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this.stopped = true;\n !this.hasLatest && this.o.onCompleted();\n }\n };\n SwitchObserver.prototype.dispose = function () { this.isStopped = true; };\n SwitchObserver.prototype.fail = function (e) {\n if(!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n return false;\n };\n\n function InnerObserver(parent, id) {\n this.parent = parent;\n this.id = id;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = function (x) {\n if (this.isStopped) { return; }\n this.parent.latest === this.id && this.parent.o.onNext(x);\n };\n InnerObserver.prototype.onError = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.parent.latest === this.id && this.parent.o.onError(e);\n }\n };\n InnerObserver.prototype.onCompleted = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n if (this.parent.latest === this.id) {\n this.parent.hasLatest = false;\n this.parent.isStopped && this.parent.o.onCompleted();\n }\n }\n };\n InnerObserver.prototype.dispose = function () { this.isStopped = true; }\n InnerObserver.prototype.fail = function (e) {\n if(!this.isStopped) {\n this.isStopped = true;\n this.parent.o.onError(e);\n return true;\n }\n return false;\n };\n\n return SwitchObservable;\n }(ObservableBase));\n\n /**\n * Transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.\n * @returns {Observable} The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received.\n */\n observableProto['switch'] = observableProto.switchLatest = function () {\n return new SwitchObservable(this);\n };\n\r\n var TakeUntilObservable = (function(__super__) {\n inherits(TakeUntilObservable, __super__);\n\n function TakeUntilObservable(source, other) {\n this.source = source;\n this.other = isPromise(other) ? observableFromPromise(other) : other;\n __super__.call(this);\n }\n\n TakeUntilObservable.prototype.subscribeCore = function(o) {\n return new CompositeDisposable(\n this.source.subscribe(o),\n this.other.subscribe(new InnerObserver(o))\n );\n };\n\n function InnerObserver(o) {\n this.o = o;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = function (x) {\n if (this.isStopped) { return; }\n this.o.onCompleted();\n };\n InnerObserver.prototype.onError = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(err);\n }\n };\n InnerObserver.prototype.onCompleted = function () {\n !this.isStopped && (this.isStopped = true);\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n return false;\n };\n\n return TakeUntilObservable;\n }(ObservableBase));\n\n /**\n * Returns the values from the source observable sequence until the other observable sequence produces a value.\n * @param {Observable | Promise} other Observable sequence or Promise that terminates propagation of elements of the source sequence.\n * @returns {Observable} An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation.\n */\n observableProto.takeUntil = function (other) {\n return new TakeUntilObservable(this, other);\n };\n\r\n function falseFactory() { return false; }\n\n /**\n * Merges the specified observable sequences into one observable sequence by using the selector function only when the (first) source observable sequence produces an element.\n * @returns {Observable} An observable sequence containing the result of combining elements of the sources using the specified result selector function.\n */\n observableProto.withLatestFrom = function () {\n var len = arguments.length, args = new Array(len)\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n var resultSelector = args.pop(), source = this;\n Array.isArray(args[0]) && (args = args[0]);\n\n return new AnonymousObservable(function (observer) {\n var n = args.length,\n hasValue = arrayInitialize(n, falseFactory),\n hasValueAll = false,\n values = new Array(n);\n\n var subscriptions = new Array(n + 1);\n for (var idx = 0; idx < n; idx++) {\n (function (i) {\n var other = args[i], sad = new SingleAssignmentDisposable();\n isPromise(other) && (other = observableFromPromise(other));\n sad.setDisposable(other.subscribe(function (x) {\n values[i] = x;\n hasValue[i] = true;\n hasValueAll = hasValue.every(identity);\n }, function (e) { observer.onError(e); }, noop));\n subscriptions[i] = sad;\n }(idx));\n }\n\n var sad = new SingleAssignmentDisposable();\n sad.setDisposable(source.subscribe(function (x) {\n var allValues = [x].concat(values);\n if (!hasValueAll) { return; }\n var res = tryCatch(resultSelector).apply(null, allValues);\n if (res === errorObj) { return observer.onError(res.e); }\n observer.onNext(res);\n }, function (e) { observer.onError(e); }, function () {\n observer.onCompleted();\n }));\n subscriptions[n] = sad;\n\n return new CompositeDisposable(subscriptions);\n }, this);\n };\n\r\n function falseFactory() { return false; }\n function emptyArrayFactory() { return []; }\n function argumentsToArray() {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return args;\n }\n\n /**\n * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences or an array have produced an element at a corresponding index.\n * The last element in the arguments must be a function to invoke for each series of elements at corresponding indexes in the args.\n * @returns {Observable} An observable sequence containing the result of combining elements of the args using the specified result selector function.\n */\n observableProto.zip = function () {\n if (arguments.length === 0) { throw new Error('invalid arguments'); }\n\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray;\n Array.isArray(args[0]) && (args = args[0]);\n\n var parent = this;\n args.unshift(parent);\n return new AnonymousObservable(function (o) {\n var n = args.length,\n queues = arrayInitialize(n, emptyArrayFactory),\n isDone = arrayInitialize(n, falseFactory);\n\n var subscriptions = new Array(n);\n for (var idx = 0; idx < n; idx++) {\n (function (i) {\n var source = args[i], sad = new SingleAssignmentDisposable();\n\n isPromise(source) && (source = observableFromPromise(source));\n\n sad.setDisposable(source.subscribe(function (x) {\n queues[i].push(x);\n if (queues.every(function (x) { return x.length > 0; })) {\n var queuedValues = queues.map(function (x) { return x.shift(); }),\n res = tryCatch(resultSelector).apply(parent, queuedValues);\n if (res === errorObj) { return o.onError(res.e); }\n o.onNext(res);\n } else if (isDone.filter(function (x, j) { return j !== i; }).every(identity)) {\n o.onCompleted();\n }\n }, function (e) { o.onError(e); }, function () {\n isDone[i] = true;\n isDone.every(identity) && o.onCompleted();\n }));\n subscriptions[i] = sad;\n })(idx);\n }\n\n return new CompositeDisposable(subscriptions);\n }, parent);\n };\n\r\n /**\n * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences have produced an element at a corresponding index.\n * @param arguments Observable sources.\n * @param {Function} resultSelector Function to invoke for each series of elements at corresponding indexes in the sources.\n * @returns {Observable} An observable sequence containing the result of combining elements of the sources using the specified result selector function.\n */\n Observable.zip = function () {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n if (Array.isArray(args[0])) {\n args = isFunction(args[1]) ? args[0].concat(args[1]) : args[0];\n }\n var first = args.shift();\n return first.zip.apply(first, args);\n };\n\r\nfunction falseFactory() { return false; }\nfunction emptyArrayFactory() { return []; }\nfunction argumentsToArray() {\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return args;\n}\n\n/**\n * Merges the specified observable sequences into one observable sequence by using the selector function whenever all of the observable sequences or an array have produced an element at a corresponding index.\n * The last element in the arguments must be a function to invoke for each series of elements at corresponding indexes in the args.\n * @returns {Observable} An observable sequence containing the result of combining elements of the args using the specified result selector function.\n */\nobservableProto.zipIterable = function () {\n if (arguments.length === 0) { throw new Error('invalid arguments'); }\n\n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n var resultSelector = isFunction(args[len - 1]) ? args.pop() : argumentsToArray;\n\n var parent = this;\n args.unshift(parent);\n return new AnonymousObservable(function (o) {\n var n = args.length,\n queues = arrayInitialize(n, emptyArrayFactory),\n isDone = arrayInitialize(n, falseFactory);\n\n var subscriptions = new Array(n);\n for (var idx = 0; idx < n; idx++) {\n (function (i) {\n var source = args[i], sad = new SingleAssignmentDisposable();\n\n (isArrayLike(source) || isIterable(source)) && (source = observableFrom(source));\n\n sad.setDisposable(source.subscribe(function (x) {\n queues[i].push(x);\n if (queues.every(function (x) { return x.length > 0; })) {\n var queuedValues = queues.map(function (x) { return x.shift(); }),\n res = tryCatch(resultSelector).apply(parent, queuedValues);\n if (res === errorObj) { return o.onError(res.e); }\n o.onNext(res);\n } else if (isDone.filter(function (x, j) { return j !== i; }).every(identity)) {\n o.onCompleted();\n }\n }, function (e) { o.onError(e); }, function () {\n isDone[i] = true;\n isDone.every(identity) && o.onCompleted();\n }));\n subscriptions[i] = sad;\n })(idx);\n }\n\n return new CompositeDisposable(subscriptions);\n }, parent);\n};\n\r\n function asObservable(source) {\n return function subscribe(o) { return source.subscribe(o); };\n }\n\n /**\n * Hides the identity of an observable sequence.\n * @returns {Observable} An observable sequence that hides the identity of the source sequence.\n */\n observableProto.asObservable = function () {\n return new AnonymousObservable(asObservable(this), this);\n };\n\r\n /**\n * Dematerializes the explicit notification values of an observable sequence as implicit notifications.\n * @returns {Observable} An observable sequence exhibiting the behavior corresponding to the source sequence's notification values.\n */\n observableProto.dematerialize = function () {\n var source = this;\n return new AnonymousObservable(function (o) {\n return source.subscribe(function (x) { return x.accept(o); }, function(e) { o.onError(e); }, function () { o.onCompleted(); });\n }, this);\n };\n\r\n var DistinctUntilChangedObservable = (function(__super__) {\n inherits(DistinctUntilChangedObservable, __super__);\n function DistinctUntilChangedObservable(source, keyFn, comparer) {\n this.source = source;\n this.keyFn = keyFn;\n this.comparer = comparer;\n __super__.call(this);\n }\n\n DistinctUntilChangedObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new DistinctUntilChangedObserver(o, this.keyFn, this.comparer));\n };\n\n return DistinctUntilChangedObservable;\n }(ObservableBase));\n\n var DistinctUntilChangedObserver = (function(__super__) {\n inherits(DistinctUntilChangedObserver, __super__);\n function DistinctUntilChangedObserver(o, keyFn, comparer) {\n this.o = o;\n this.keyFn = keyFn;\n this.comparer = comparer;\n this.hasCurrentKey = false;\n this.currentKey = null;\n __super__.call(this);\n }\n\n DistinctUntilChangedObserver.prototype.next = function (x) {\n var key = x, comparerEquals;\n if (isFunction(this.keyFn)) {\n key = tryCatch(this.keyFn)(x);\n if (key === errorObj) { return this.o.onError(key.e); }\n }\n if (this.hasCurrentKey) {\n comparerEquals = tryCatch(this.comparer)(this.currentKey, key);\n if (comparerEquals === errorObj) { return this.o.onError(comparerEquals.e); }\n }\n if (!this.hasCurrentKey || !comparerEquals) {\n this.hasCurrentKey = true;\n this.currentKey = key;\n this.o.onNext(x);\n }\n };\n DistinctUntilChangedObserver.prototype.error = function(e) {\n this.o.onError(e);\n };\n DistinctUntilChangedObserver.prototype.completed = function () {\n this.o.onCompleted();\n };\n\n return DistinctUntilChangedObserver;\n }(AbstractObserver));\n\n /**\n * Returns an observable sequence that contains only distinct contiguous elements according to the keyFn and the comparer.\n * @param {Function} [keyFn] A function to compute the comparison key for each element. If not provided, it projects the value.\n * @param {Function} [comparer] Equality comparer for computed key values. If not provided, defaults to an equality comparer function.\n * @returns {Observable} An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence.\n */\n observableProto.distinctUntilChanged = function (keyFn, comparer) {\n comparer || (comparer = defaultComparer);\n return new DistinctUntilChangedObservable(this, keyFn, comparer);\n };\n\r\n var TapObservable = (function(__super__) {\n inherits(TapObservable,__super__);\n function TapObservable(source, observerOrOnNext, onError, onCompleted) {\n this.source = source;\n this._oN = observerOrOnNext;\n this._oE = onError;\n this._oC = onCompleted;\n __super__.call(this);\n }\n\n TapObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new InnerObserver(o, this));\n };\n\n function InnerObserver(o, p) {\n this.o = o;\n this.t = !p._oN || isFunction(p._oN) ?\n observerCreate(p._oN || noop, p._oE || noop, p._oC || noop) :\n p._oN;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = function(x) {\n if (this.isStopped) { return; }\n var res = tryCatch(this.t.onNext).call(this.t, x);\n if (res === errorObj) { this.o.onError(res.e); }\n this.o.onNext(x);\n };\n InnerObserver.prototype.onError = function(err) {\n if (!this.isStopped) {\n this.isStopped = true;\n var res = tryCatch(this.t.onError).call(this.t, err);\n if (res === errorObj) { return this.o.onError(res.e); }\n this.o.onError(err);\n }\n };\n InnerObserver.prototype.onCompleted = function() {\n if (!this.isStopped) {\n this.isStopped = true;\n var res = tryCatch(this.t.onCompleted).call(this.t);\n if (res === errorObj) { return this.o.onError(res.e); }\n this.o.onCompleted();\n }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n return false;\n };\n\n return TapObservable;\n }(ObservableBase));\n\n /**\n * Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function | Observer} observerOrOnNext Action to invoke for each element in the observable sequence or an o.\n * @param {Function} [onError] Action to invoke upon exceptional termination of the observable sequence. Used if only the observerOrOnNext parameter is also a function.\n * @param {Function} [onCompleted] Action to invoke upon graceful termination of the observable sequence. Used if only the observerOrOnNext parameter is also a function.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto['do'] = observableProto.tap = observableProto.doAction = function (observerOrOnNext, onError, onCompleted) {\n return new TapObservable(this, observerOrOnNext, onError, onCompleted);\n };\n\n /**\n * Invokes an action for each element in the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function} onNext Action to invoke for each element in the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto.doOnNext = observableProto.tapOnNext = function (onNext, thisArg) {\n return this.tap(typeof thisArg !== 'undefined' ? function (x) { onNext.call(thisArg, x); } : onNext);\n };\n\n /**\n * Invokes an action upon exceptional termination of the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function} onError Action to invoke upon exceptional termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto.doOnError = observableProto.tapOnError = function (onError, thisArg) {\n return this.tap(noop, typeof thisArg !== 'undefined' ? function (e) { onError.call(thisArg, e); } : onError);\n };\n\n /**\n * Invokes an action upon graceful termination of the observable sequence.\n * This method can be used for debugging, logging, etc. of query behavior by intercepting the message stream to run arbitrary actions for messages on the pipeline.\n * @param {Function} onCompleted Action to invoke upon graceful termination of the observable sequence.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} The source sequence with the side-effecting behavior applied.\n */\n observableProto.doOnCompleted = observableProto.tapOnCompleted = function (onCompleted, thisArg) {\n return this.tap(noop, null, typeof thisArg !== 'undefined' ? function () { onCompleted.call(thisArg); } : onCompleted);\n };\n\r\n /**\n * Invokes a specified action after the source observable sequence terminates gracefully or exceptionally.\n * @param {Function} finallyAction Action to invoke after the source observable sequence terminates.\n * @returns {Observable} Source sequence with the action-invoking termination behavior applied.\n */\n observableProto['finally'] = function (action) {\n var source = this;\n return new AnonymousObservable(function (observer) {\n var subscription = tryCatch(source.subscribe).call(source, observer);\n if (subscription === errorObj) {\n action();\n return thrower(subscription.e);\n }\n return disposableCreate(function () {\n var r = tryCatch(subscription.dispose).call(subscription);\n action();\n r === errorObj && thrower(r.e);\n });\n }, this);\n };\n\r\n var IgnoreElementsObservable = (function(__super__) {\n inherits(IgnoreElementsObservable, __super__);\n\n function IgnoreElementsObservable(source) {\n this.source = source;\n __super__.call(this);\n }\n\n IgnoreElementsObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new InnerObserver(o));\n };\n\n function InnerObserver(o) {\n this.o = o;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = noop;\n InnerObserver.prototype.onError = function (err) {\n if(!this.isStopped) {\n this.isStopped = true;\n this.o.onError(err);\n }\n };\n InnerObserver.prototype.onCompleted = function () {\n if(!this.isStopped) {\n this.isStopped = true;\n this.o.onCompleted();\n }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.observer.onError(e);\n return true;\n }\n\n return false;\n };\n\n return IgnoreElementsObservable;\n }(ObservableBase));\n\n /**\n * Ignores all elements in an observable sequence leaving only the termination messages.\n * @returns {Observable} An empty observable sequence that signals termination, successful or exceptional, of the source sequence.\n */\n observableProto.ignoreElements = function () {\n return new IgnoreElementsObservable(this);\n };\n\r\n /**\n * Materializes the implicit notifications of an observable sequence as explicit notification values.\n * @returns {Observable} An observable sequence containing the materialized notification values from the source sequence.\n */\n observableProto.materialize = function () {\n var source = this;\n return new AnonymousObservable(function (observer) {\n return source.subscribe(function (value) {\n observer.onNext(notificationCreateOnNext(value));\n }, function (e) {\n observer.onNext(notificationCreateOnError(e));\n observer.onCompleted();\n }, function () {\n observer.onNext(notificationCreateOnCompleted());\n observer.onCompleted();\n });\n }, source);\n };\n\r\n /**\n * Repeats the observable sequence a specified number of times. If the repeat count is not specified, the sequence repeats indefinitely.\n * @param {Number} [repeatCount] Number of times to repeat the sequence. If not provided, repeats the sequence indefinitely.\n * @returns {Observable} The observable sequence producing the elements of the given sequence repeatedly.\n */\n observableProto.repeat = function (repeatCount) {\n return enumerableRepeat(this, repeatCount).concat();\n };\n\r\n /**\n * Repeats the source observable sequence the specified number of times or until it successfully terminates. If the retry count is not specified, it retries indefinitely.\n * Note if you encounter an error and want it to retry once, then you must use .retry(2);\n *\n * @example\n * var res = retried = retry.repeat();\n * var res = retried = retry.repeat(2);\n * @param {Number} [retryCount] Number of times to retry the sequence. If not provided, retry the sequence indefinitely.\n * @returns {Observable} An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully.\n */\n observableProto.retry = function (retryCount) {\n return enumerableRepeat(this, retryCount).catchError();\n };\n\r\n /**\n * Repeats the source observable sequence upon error each time the notifier emits or until it successfully terminates. \n * if the notifier completes, the observable sequence completes.\n *\n * @example\n * var timer = Observable.timer(500);\n * var source = observable.retryWhen(timer);\n * @param {Observable} [notifier] An observable that triggers the retries or completes the observable with onNext or onCompleted respectively.\n * @returns {Observable} An observable sequence producing the elements of the given sequence repeatedly until it terminates successfully.\n */\n observableProto.retryWhen = function (notifier) {\n return enumerableRepeat(this).catchErrorWhen(notifier);\n };\r\n var ScanObservable = (function(__super__) {\n inherits(ScanObservable, __super__);\n function ScanObservable(source, accumulator, hasSeed, seed) {\n this.source = source;\n this.accumulator = accumulator;\n this.hasSeed = hasSeed;\n this.seed = seed;\n __super__.call(this);\n }\n\n ScanObservable.prototype.subscribeCore = function(o) {\n return this.source.subscribe(new InnerObserver(o,this));\n };\n\n return ScanObservable;\n }(ObservableBase));\n\n function InnerObserver(o, parent) {\n this.o = o;\n this.accumulator = parent.accumulator;\n this.hasSeed = parent.hasSeed;\n this.seed = parent.seed;\n this.hasAccumulation = false;\n this.accumulation = null;\n this.hasValue = false;\n this.isStopped = false;\n }\n InnerObserver.prototype = {\n onNext: function (x) {\n if (this.isStopped) { return; }\n !this.hasValue && (this.hasValue = true);\n if (this.hasAccumulation) {\n this.accumulation = tryCatch(this.accumulator)(this.accumulation, x);\n } else {\n this.accumulation = this.hasSeed ? tryCatch(this.accumulator)(this.seed, x) : x;\n this.hasAccumulation = true;\n }\n if (this.accumulation === errorObj) { return this.o.onError(this.accumulation.e); }\n this.o.onNext(this.accumulation);\n },\n onError: function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n }\n },\n onCompleted: function () {\n if (!this.isStopped) {\n this.isStopped = true;\n !this.hasValue && this.hasSeed && this.o.onNext(this.seed);\n this.o.onCompleted();\n }\n },\n dispose: function() { this.isStopped = true; },\n fail: function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n return false;\n }\n };\n\n /**\n * Applies an accumulator function over an observable sequence and returns each intermediate result. The optional seed value is used as the initial accumulator value.\n * For aggregation behavior with no intermediate results, see Observable.aggregate.\n * @param {Mixed} [seed] The initial accumulator value.\n * @param {Function} accumulator An accumulator function to be invoked on each element.\n * @returns {Observable} An observable sequence containing the accumulated values.\n */\n observableProto.scan = function () {\n var hasSeed = false, seed, accumulator = arguments[0];\n if (arguments.length === 2) {\n hasSeed = true;\n seed = arguments[1];\n }\n return new ScanObservable(this, accumulator, hasSeed, seed);\n };\n\r\n /**\n * Bypasses a specified number of elements at the end of an observable sequence.\n * @description\n * This operator accumulates a queue with a length enough to store the first `count` elements. As more elements are\n * received, elements are taken from the front of the queue and produced on the result sequence. This causes elements to be delayed.\n * @param count Number of elements to bypass at the end of the source sequence.\n * @returns {Observable} An observable sequence containing the source sequence elements except for the bypassed ones at the end.\n */\n observableProto.skipLast = function (count) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n var source = this;\n return new AnonymousObservable(function (o) {\n var q = [];\n return source.subscribe(function (x) {\n q.push(x);\n q.length > count && o.onNext(q.shift());\n }, function (e) { o.onError(e); }, function () { o.onCompleted(); });\n }, source);\n };\n\r\n /**\n * Prepends a sequence of values to an observable sequence with an optional scheduler and an argument list of values to prepend.\n * @example\n * var res = source.startWith(1, 2, 3);\n * var res = source.startWith(Rx.Scheduler.timeout, 1, 2, 3);\n * @param {Arguments} args The specified values to prepend to the observable sequence\n * @returns {Observable} The source sequence prepended with the specified values.\n */\n observableProto.startWith = function () {\n var values, scheduler, start = 0;\n if (!!arguments.length && isScheduler(arguments[0])) {\n scheduler = arguments[0];\n start = 1;\n } else {\n scheduler = immediateScheduler;\n }\n for(var args = [], i = start, len = arguments.length; i < len; i++) { args.push(arguments[i]); }\n return enumerableOf([observableFromArray(args, scheduler), this]).concat();\n };\n\r\n /**\n * Returns a specified number of contiguous elements from the end of an observable sequence.\n * @description\n * This operator accumulates a buffer with a length enough to store elements count elements. Upon completion of\n * the source sequence, this buffer is drained on the result sequence. This causes the elements to be delayed.\n * @param {Number} count Number of elements to take from the end of the source sequence.\n * @returns {Observable} An observable sequence containing the specified number of elements from the end of the source sequence.\n */\n observableProto.takeLast = function (count) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n var source = this;\n return new AnonymousObservable(function (o) {\n var q = [];\n return source.subscribe(function (x) {\n q.push(x);\n q.length > count && q.shift();\n }, function (e) { o.onError(e); }, function () {\n while (q.length > 0) { o.onNext(q.shift()); }\n o.onCompleted();\n });\n }, source);\n };\n\r\nobservableProto.flatMapConcat = observableProto.concatMap = function(selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).merge(1);\n};\r\n var MapObservable = (function (__super__) {\n inherits(MapObservable, __super__);\n\n function MapObservable(source, selector, thisArg) {\n this.source = source;\n this.selector = bindCallback(selector, thisArg, 3);\n __super__.call(this);\n }\n\n function innerMap(selector, self) {\n return function (x, i, o) { return selector.call(this, self.selector(x, i, o), i, o); }\n }\n\n MapObservable.prototype.internalMap = function (selector, thisArg) {\n return new MapObservable(this.source, innerMap(selector, this), thisArg);\n };\n\n MapObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new InnerObserver(o, this.selector, this));\n };\n\n function InnerObserver(o, selector, source) {\n this.o = o;\n this.selector = selector;\n this.source = source;\n this.i = 0;\n this.isStopped = false;\n }\n\n InnerObserver.prototype.onNext = function(x) {\n if (this.isStopped) { return; }\n var result = tryCatch(this.selector)(x, this.i++, this.source);\n if (result === errorObj) { return this.o.onError(result.e); }\n this.o.onNext(result);\n };\n InnerObserver.prototype.onError = function (e) {\n if(!this.isStopped) { this.isStopped = true; this.o.onError(e); }\n };\n InnerObserver.prototype.onCompleted = function () {\n if(!this.isStopped) { this.isStopped = true; this.o.onCompleted(); }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n\n return false;\n };\n\n return MapObservable;\n\n }(ObservableBase));\n\n /**\n * Projects each element of an observable sequence into a new form by incorporating the element's index.\n * @param {Function} selector A transform function to apply to each source element; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence whose elements are the result of invoking the transform function on each element of source.\n */\n observableProto.map = observableProto.select = function (selector, thisArg) {\n var selectorFn = typeof selector === 'function' ? selector : function () { return selector; };\n return this instanceof MapObservable ?\n this.internalMap(selectorFn, thisArg) :\n new MapObservable(this, selectorFn, thisArg);\n };\n\r\n function plucker(args, len) {\n return function mapper(x) {\n var currentProp = x;\n for (var i = 0; i < len; i++) {\n var p = currentProp[args[i]];\n if (typeof p !== 'undefined') {\n currentProp = p;\n } else {\n return undefined;\n }\n }\n return currentProp;\n }\n }\n\n /**\n * Retrieves the value of a specified nested property from all elements in\n * the Observable sequence.\n * @param {Arguments} arguments The nested properties to pluck.\n * @returns {Observable} Returns a new Observable sequence of property values.\n */\n observableProto.pluck = function () {\n var len = arguments.length, args = new Array(len);\n if (len === 0) { throw new Error('List of properties cannot be empty.'); }\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return this.map(plucker(args, len));\n };\n\r\nobservableProto.flatMap = observableProto.selectMany = function(selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).mergeAll();\n};\n\n\n//\n//Rx.Observable.prototype.flatMapWithMaxConcurrent = function(limit, selector, resultSelector, thisArg) {\n// return new FlatMapObservable(this, selector, resultSelector, thisArg).merge(limit);\n//};\n//\n\r\nRx.Observable.prototype.flatMapLatest = function(selector, resultSelector, thisArg) {\n return new FlatMapObservable(this, selector, resultSelector, thisArg).switchLatest();\n};\r\n var SkipObservable = (function(__super__) {\n inherits(SkipObservable, __super__);\n function SkipObservable(source, count) {\n this.source = source;\n this.skipCount = count;\n __super__.call(this);\n }\n \n SkipObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new InnerObserver(o, this.skipCount));\n };\n \n function InnerObserver(o, c) {\n this.c = c;\n this.r = c;\n this.o = o;\n this.isStopped = false;\n }\n InnerObserver.prototype.onNext = function (x) {\n if (this.isStopped) { return; }\n if (this.r <= 0) { \n this.o.onNext(x);\n } else {\n this.r--;\n }\n };\n InnerObserver.prototype.onError = function(e) {\n if (!this.isStopped) { this.isStopped = true; this.o.onError(e); }\n };\n InnerObserver.prototype.onCompleted = function() {\n if (!this.isStopped) { this.isStopped = true; this.o.onCompleted(); }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function(e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n return false;\n };\n \n return SkipObservable;\n }(ObservableBase)); \n \n /**\n * Bypasses a specified number of elements in an observable sequence and then returns the remaining elements.\n * @param {Number} count The number of elements to skip before returning the remaining elements.\n * @returns {Observable} An observable sequence that contains the elements that occur after the specified index in the input sequence.\n */\n observableProto.skip = function (count) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n return new SkipObservable(this, count);\n };\r\n /**\n * Bypasses elements in an observable sequence as long as a specified condition is true and then returns the remaining elements.\n * The element's index is used in the logic of the predicate function.\n *\n * var res = source.skipWhile(function (value) { return value < 10; });\n * var res = source.skipWhile(function (value, index) { return value < 10 || index < 10; });\n * @param {Function} predicate A function to test each element for a condition; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate.\n */\n observableProto.skipWhile = function (predicate, thisArg) {\n var source = this,\n callback = bindCallback(predicate, thisArg, 3);\n return new AnonymousObservable(function (o) {\n var i = 0, running = false;\n return source.subscribe(function (x) {\n if (!running) {\n try {\n running = !callback(x, i++, source);\n } catch (e) {\n o.onError(e);\n return;\n }\n }\n running && o.onNext(x);\n }, function (e) { o.onError(e); }, function () { o.onCompleted(); });\n }, source);\n };\n\r\n /**\n * Returns a specified number of contiguous elements from the start of an observable sequence, using the specified scheduler for the edge case of take(0).\n *\n * var res = source.take(5);\n * var res = source.take(0, Rx.Scheduler.timeout);\n * @param {Number} count The number of elements to return.\n * @param {Scheduler} [scheduler] Scheduler used to produce an OnCompleted message in case is set to 0.\n * @returns {Observable} An observable sequence that contains the specified number of elements from the start of the input sequence.\n */\n observableProto.take = function (count, scheduler) {\n if (count < 0) { throw new ArgumentOutOfRangeError(); }\n if (count === 0) { return observableEmpty(scheduler); }\n var source = this;\n return new AnonymousObservable(function (o) {\n var remaining = count;\n return source.subscribe(function (x) {\n if (remaining-- > 0) {\n o.onNext(x);\n remaining <= 0 && o.onCompleted();\n }\n }, function (e) { o.onError(e); }, function () { o.onCompleted(); });\n }, source);\n };\n\r\n /**\n * Returns elements from an observable sequence as long as a specified condition is true.\n * The element's index is used in the logic of the predicate function.\n * @param {Function} predicate A function to test each element for a condition; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes.\n */\n observableProto.takeWhile = function (predicate, thisArg) {\n var source = this,\n callback = bindCallback(predicate, thisArg, 3);\n return new AnonymousObservable(function (o) {\n var i = 0, running = true;\n return source.subscribe(function (x) {\n if (running) {\n try {\n running = callback(x, i++, source);\n } catch (e) {\n o.onError(e);\n return;\n }\n if (running) {\n o.onNext(x);\n } else {\n o.onCompleted();\n }\n }\n }, function (e) { o.onError(e); }, function () { o.onCompleted(); });\n }, source);\n };\n\r\n var FilterObservable = (function (__super__) {\n inherits(FilterObservable, __super__);\n\n function FilterObservable(source, predicate, thisArg) {\n this.source = source;\n this.predicate = bindCallback(predicate, thisArg, 3);\n __super__.call(this);\n }\n\n FilterObservable.prototype.subscribeCore = function (o) {\n return this.source.subscribe(new InnerObserver(o, this.predicate, this));\n };\n \n function innerPredicate(predicate, self) {\n return function(x, i, o) { return self.predicate(x, i, o) && predicate.call(this, x, i, o); }\n }\n\n FilterObservable.prototype.internalFilter = function(predicate, thisArg) {\n return new FilterObservable(this.source, innerPredicate(predicate, this), thisArg);\n };\n \n function InnerObserver(o, predicate, source) {\n this.o = o;\n this.predicate = predicate;\n this.source = source;\n this.i = 0;\n this.isStopped = false;\n }\n \n InnerObserver.prototype.onNext = function(x) {\n if (this.isStopped) { return; }\n var shouldYield = tryCatch(this.predicate)(x, this.i++, this.source);\n if (shouldYield === errorObj) {\n return this.o.onError(shouldYield.e);\n }\n shouldYield && this.o.onNext(x);\n };\n InnerObserver.prototype.onError = function (e) {\n if(!this.isStopped) { this.isStopped = true; this.o.onError(e); }\n };\n InnerObserver.prototype.onCompleted = function () {\n if(!this.isStopped) { this.isStopped = true; this.o.onCompleted(); }\n };\n InnerObserver.prototype.dispose = function() { this.isStopped = true; };\n InnerObserver.prototype.fail = function (e) {\n if (!this.isStopped) {\n this.isStopped = true;\n this.o.onError(e);\n return true;\n }\n return false;\n };\n\n return FilterObservable;\n\n }(ObservableBase));\n\n /**\n * Filters the elements of an observable sequence based on a predicate by incorporating the element's index.\n * @param {Function} predicate A function to test each source element for a condition; the second parameter of the function represents the index of the source element.\n * @param {Any} [thisArg] Object to use as this when executing callback.\n * @returns {Observable} An observable sequence that contains elements from the input sequence that satisfy the condition.\n */\n observableProto.filter = observableProto.where = function (predicate, thisArg) {\n return this instanceof FilterObservable ? this.internalFilter(predicate, thisArg) :\n new FilterObservable(this, predicate, thisArg);\n };\n\r\nfunction createCbObservable(fn, ctx, selector, args) {\n var o = new AsyncSubject();\n\n args.push(createCbHandler(o, ctx, selector));\n fn.apply(ctx, args);\n\n return o.asObservable();\n}\n\nfunction createCbHandler(o, ctx, selector) {\n return function handler () {\n var len = arguments.length, results = new Array(len);\n for(var i = 0; i < len; i++) { results[i] = arguments[i]; }\n\n if (isFunction(selector)) {\n results = tryCatch(selector).apply(ctx, results);\n if (results === errorObj) { return o.onError(results.e); }\n o.onNext(results);\n } else {\n if (results.length <= 1) {\n o.onNext(results[0]);\n } else {\n o.onNext(results);\n }\n }\n\n o.onCompleted();\n };\n}\n\n/**\n * Converts a callback function to an observable sequence.\n *\n * @param {Function} fn Function with a callback as the last parameter to convert to an Observable sequence.\n * @param {Mixed} [ctx] The context for the func parameter to be executed. If not specified, defaults to undefined.\n * @param {Function} [selector] A selector which takes the arguments from the callback to produce a single item to yield on next.\n * @returns {Function} A function, when executed with the required parameters minus the callback, produces an Observable sequence with a single value of the arguments to the callback as an array.\n */\nObservable.fromCallback = function (fn, ctx, selector) {\n return function () {\n typeof ctx === 'undefined' && (ctx = this); \n\n var len = arguments.length, args = new Array(len)\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return createCbObservable(fn, ctx, selector, args);\n };\n};\n\r\nfunction createNodeObservable(fn, ctx, selector, args) {\n var o = new AsyncSubject();\n\n args.push(createNodeHandler(o, ctx, selector));\n fn.apply(ctx, args);\n\n return o.asObservable();\n}\n\nfunction createNodeHandler(o, ctx, selector) {\n return function handler () {\n var err = arguments[0];\n if (err) { return o.onError(err); }\n\n var len = arguments.length, results = [];\n for(var i = 1; i < len; i++) { results[i - 1] = arguments[i]; }\n\n if (isFunction(selector)) {\n var results = tryCatch(selector).apply(ctx, results);\n if (results === errorObj) { return o.onError(results.e); }\n o.onNext(results);\n } else {\n if (results.length <= 1) {\n o.onNext(results[0]);\n } else {\n o.onNext(results);\n }\n }\n\n o.onCompleted();\n };\n}\n\n/**\n * Converts a Node.js callback style function to an observable sequence. This must be in function (err, ...) format.\n * @param {Function} fn The function to call\n * @param {Mixed} [ctx] The context for the func parameter to be executed. If not specified, defaults to undefined.\n * @param {Function} [selector] A selector which takes the arguments from the callback minus the error to produce a single item to yield on next.\n * @returns {Function} An async function which when applied, returns an observable sequence with the callback arguments as an array.\n */\nObservable.fromNodeCallback = function (fn, ctx, selector) {\n return function () {\n typeof ctx === 'undefined' && (ctx = this); \n var len = arguments.length, args = new Array(len);\n for(var i = 0; i < len; i++) { args[i] = arguments[i]; }\n return createNodeObservable(fn, ctx, selector, args);\n };\n};\n\r\n function ListenDisposable(e, n, fn) {\n this._e = e;\n this._n = n;\n this._fn = fn;\n this._e.addEventListener(this._n, this._fn, false);\n this.isDisposed = false;\n }\n ListenDisposable.prototype.dispose = function () {\n if (!this.isDisposed) {\n this._e.removeEventListener(this._n, this._fn, false);\n this.isDisposed = true;\n }\n };\n\n function createEventListener (el, eventName, handler) {\n var disposables = new CompositeDisposable();\n\n // Asume NodeList or HTMLCollection\n var elemToString = Object.prototype.toString.call(el);\n if (elemToString === '[object NodeList]' || elemToString === '[object HTMLCollection]') {\n for (var i = 0, len = el.length; i < len; i++) {\n disposables.add(createEventListener(el.item(i), eventName, handler));\n }\n } else if (el) {\n disposables.add(new ListenDisposable(el, eventName, handler));\n }\n\n return disposables;\n }\n\n /**\n * Configuration option to determine whether to use native events only\n */\n Rx.config.useNativeEvents = false;\n\n function eventHandler(o, selector) {\n return function handler () {\n var results = arguments[0];\n if (isFunction(selector)) {\n results = tryCatch(selector).apply(null, arguments);\n if (results === errorObj) { return o.onError(results.e); }\n }\n o.onNext(results);\n };\n }\n\n /**\n * Creates an observable sequence by adding an event listener to the matching DOMElement or each item in the NodeList.\n * @param {Object} element The DOMElement or NodeList to attach a listener.\n * @param {String} eventName The event name to attach the observable sequence.\n * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.\n * @returns {Observable} An observable sequence of events from the specified element and the specified event.\n */\n Observable.fromEvent = function (element, eventName, selector) {\n // Node.js specific\n if (element.addListener) {\n return fromEventPattern(\n function (h) { element.addListener(eventName, h); },\n function (h) { element.removeListener(eventName, h); },\n selector);\n }\n\n // Use only if non-native events are allowed\n if (!Rx.config.useNativeEvents) {\n // Handles jq, Angular.js, Zepto, Marionette, Ember.js\n if (typeof element.on === 'function' && typeof element.off === 'function') {\n return fromEventPattern(\n function (h) { element.on(eventName, h); },\n function (h) { element.off(eventName, h); },\n selector);\n }\n }\n\n return new AnonymousObservable(function (o) {\n return createEventListener(\n element,\n eventName,\n eventHandler(o, selector));\n }).publish().refCount();\n };\n\r\n /**\n * Creates an observable sequence from an event emitter via an addHandler/removeHandler pair.\n * @param {Function} addHandler The function to add a handler to the emitter.\n * @param {Function} [removeHandler] The optional function to remove a handler from an emitter.\n * @param {Function} [selector] A selector which takes the arguments from the event handler to produce a single item to yield on next.\n * @param {Scheduler} [scheduler] A scheduler used to schedule the remove handler.\n * @returns {Observable} An observable sequence which wraps an event from an event emitter\n */\n var fromEventPattern = Observable.fromEventPattern = function (addHandler, removeHandler, selector, scheduler) {\n isScheduler(scheduler) || (scheduler = immediateScheduler);\n return new AnonymousObservable(function (o) {\n function innerHandler () {\n var result = arguments[0];\n if (isFunction(selector)) {\n result = tryCatch(selector).apply(null, arguments);\n if (result === errorObj) { return o.onError(result.e); }\n }\n o.onNext(result);\n }\n\n var returnValue = addHandler(innerHandler);\n return disposableCreate(function () {\n isFunction(removeHandler) && removeHandler(innerHandler, returnValue);\n });\n }).publish().refCount();\n };\n\r\n var FromPromiseObservable = (function(__super__) {\n inherits(FromPromiseObservable, __super__);\n function FromPromiseObservable(p) {\n this.p = p;\n __super__.call(this);\n }\n\n FromPromiseObservable.prototype.subscribeCore = function(o) {\n this.p.then(function (data) {\n o.onNext(data);\n o.onCompleted();\n }, function (err) { o.onError(err); });\n return disposableEmpty;\n };\n\n return FromPromiseObservable;\n }(ObservableBase));\n\n /**\n * Converts a Promise to an Observable sequence\n * @param {Promise} An ES6 Compliant promise.\n * @returns {Observable} An Observable sequence which wraps the existing promise success and failure.\n */\n var observableFromPromise = Observable.fromPromise = function (promise) {\n return new FromPromiseObservable(promise);\n };\r\n /*\n * Converts an existing observable sequence to an ES6 Compatible Promise\n * @example\n * var promise = Rx.Observable.return(42).toPromise(RSVP.Promise);\n *\n * // With config\n * Rx.config.Promise = RSVP.Promise;\n * var promise = Rx.Observable.return(42).toPromise();\n * @param {Function} [promiseCtor] The constructor of the promise. If not provided, it looks for it in Rx.config.Promise.\n * @returns {Promise} An ES6 compatible promise with the last value from the observable sequence.\n */\n observableProto.toPromise = function (promiseCtor) {\n promiseCtor || (promiseCtor = Rx.config.Promise);\n if (!promiseCtor) { throw new NotSupportedError('Promise type not provided nor in Rx.config.Promise'); }\n var source = this;\n return new promiseCtor(function (resolve, reject) {\n // No cancellation can be done\n var value, hasValue = false;\n source.subscribe(function (v) {\n value = v;\n hasValue = true;\n }, reject, function () {\n hasValue && resolve(value);\n });\n });\n };\n\r\n /**\n * Invokes the asynchronous function, surfacing the result through an observable sequence.\n * @param {Function} functionAsync Asynchronous function which returns a Promise to run.\n * @returns {Observable} An observable sequence exposing the function's result value, or an exception.\n */\n Observable.startAsync = function (functionAsync) {\n var promise;\n try {\n promise = functionAsync();\n } catch (e) {\n return observableThrow(e);\n }\n return observableFromPromise(promise);\n }\n\r\n /**\n * Multicasts the source sequence notifications through an instantiated subject into all uses of the sequence within a selector function. Each\n * subscription to the resulting sequence causes a separate multicast invocation, exposing the sequence resulting from the selector function's\n * invocation. For specializations with fixed subject types, see Publish, PublishLast, and Replay.\n *\n * @example\n * 1 - res = source.multicast(observable);\n * 2 - res = source.multicast(function () { return new Subject(); }, function (x) { return x; });\n *\n * @param {Function|Subject} subjectOrSubjectSelector\n * Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function.\n * Or:\n * Subject to push source elements into.\n *\n * @param {Function} [selector] Optional selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. Specified only if 0) {\n var now = scheduler.now();\n d = d + p;\n d <= now && (d = now + p);\n }\n observer.onNext(count);\n self(count + 1, d);\n });\n });\n }\n\r\n function observableTimerTimeSpan(dueTime, scheduler) {\n return new AnonymousObservable(function (observer) {\n return scheduler.scheduleWithRelative(normalizeTime(dueTime), function () {\n observer.onNext(0);\n observer.onCompleted();\n });\n });\n }\n\r\n function observableTimerTimeSpanAndPeriod(dueTime, period, scheduler) {\n return dueTime === period ?\n new AnonymousObservable(function (observer) {\n return scheduler.schedulePeriodicWithState(0, period, function (count) {\n observer.onNext(count);\n return count + 1;\n });\n }) :\n observableDefer(function () {\n return observableTimerDateAndPeriod(scheduler.now() + dueTime, period, scheduler);\n });\n }\n\r\n /**\n * Returns an observable sequence that produces a value after each period.\n *\n * @example\n * 1 - res = Rx.Observable.interval(1000);\n * 2 - res = Rx.Observable.interval(1000, Rx.Scheduler.timeout);\n *\n * @param {Number} period Period for producing the values in the resulting sequence (specified as an integer denoting milliseconds).\n * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, Rx.Scheduler.timeout is used.\n * @returns {Observable} An observable sequence that produces a value after each period.\n */\n var observableinterval = Observable.interval = function (period, scheduler) {\n return observableTimerTimeSpanAndPeriod(period, period, isScheduler(scheduler) ? scheduler : timeoutScheduler);\n };\n\r\n /**\n * Returns an observable sequence that produces a value after dueTime has elapsed and then after each period.\n * @param {Number} dueTime Absolute (specified as a Date object) or relative time (specified as an integer denoting milliseconds) at which to produce the first value.\n * @param {Mixed} [periodOrScheduler] Period to produce subsequent values (specified as an integer denoting milliseconds), or the scheduler to run the timer on. If not specified, the resulting timer is not recurring.\n * @param {Scheduler} [scheduler] Scheduler to run the timer on. If not specified, the timeout scheduler is used.\n * @returns {Observable} An observable sequence that produces a value after due time has elapsed and then each period.\n */\n var observableTimer = Observable.timer = function (dueTime, periodOrScheduler, scheduler) {\n var period;\n isScheduler(scheduler) || (scheduler = timeoutScheduler);\n if (periodOrScheduler != null && typeof periodOrScheduler === 'number') {\n period = periodOrScheduler;\n } else if (isScheduler(periodOrScheduler)) {\n scheduler = periodOrScheduler;\n }\n if (dueTime instanceof Date && period === undefined) {\n return observableTimerDate(dueTime.getTime(), scheduler);\n }\n if (dueTime instanceof Date && period !== undefined) {\n return observableTimerDateAndPeriod(dueTime.getTime(), periodOrScheduler, scheduler);\n }\n return period === undefined ?\n observableTimerTimeSpan(dueTime, scheduler) :\n observableTimerTimeSpanAndPeriod(dueTime, period, scheduler);\n };\n\r\n function observableDelayRelative(source, dueTime, scheduler) {\n return new AnonymousObservable(function (o) {\n var active = false,\n cancelable = new SerialDisposable(),\n exception = null,\n q = [],\n running = false,\n subscription;\n subscription = source.materialize().timestamp(scheduler).subscribe(function (notification) {\n var d, shouldRun;\n if (notification.value.kind === 'E') {\n q = [];\n q.push(notification);\n exception = notification.value.exception;\n shouldRun = !running;\n } else {\n q.push({ value: notification.value, timestamp: notification.timestamp + dueTime });\n shouldRun = !active;\n active = true;\n }\n if (shouldRun) {\n if (exception !== null) {\n o.onError(exception);\n } else {\n d = new SingleAssignmentDisposable();\n cancelable.setDisposable(d);\n d.setDisposable(scheduler.scheduleRecursiveWithRelative(dueTime, function (self) {\n var e, recurseDueTime, result, shouldRecurse;\n if (exception !== null) {\n return;\n }\n running = true;\n do {\n result = null;\n if (q.length > 0 && q[0].timestamp - scheduler.now() <= 0) {\n result = q.shift().value;\n }\n if (result !== null) {\n result.accept(o);\n }\n } while (result !== null);\n shouldRecurse = false;\n recurseDueTime = 0;\n if (q.length > 0) {\n shouldRecurse = true;\n recurseDueTime = Math.max(0, q[0].timestamp - scheduler.now());\n } else {\n active = false;\n }\n e = exception;\n running = false;\n if (e !== null) {\n o.onError(e);\n } else if (shouldRecurse) {\n self(recurseDueTime);\n }\n }));\n }\n }\n });\n return new CompositeDisposable(subscription, cancelable);\n }, source);\n }\n\n function observableDelayAbsolute(source, dueTime, scheduler) {\n return observableDefer(function () {\n return observableDelayRelative(source, dueTime - scheduler.now(), scheduler);\n });\n }\n\n function delayWithSelector(source, subscriptionDelay, delayDurationSelector) {\n var subDelay, selector;\n if (isFunction(subscriptionDelay)) {\n selector = subscriptionDelay;\n } else {\n subDelay = subscriptionDelay;\n selector = delayDurationSelector;\n }\n return new AnonymousObservable(function (o) {\n var delays = new CompositeDisposable(), atEnd = false, subscription = new SerialDisposable();\n\n function start() {\n subscription.setDisposable(source.subscribe(\n function (x) {\n var delay = tryCatch(selector)(x);\n if (delay === errorObj) { return o.onError(delay.e); }\n var d = new SingleAssignmentDisposable();\n delays.add(d);\n d.setDisposable(delay.subscribe(\n function () {\n o.onNext(x);\n delays.remove(d);\n done();\n },\n function (e) { o.onError(e); },\n function () {\n o.onNext(x);\n delays.remove(d);\n done();\n }\n ));\n },\n function (e) { o.onError(e); },\n function () {\n atEnd = true;\n subscription.dispose();\n done();\n }\n ));\n }\n\n function done () {\n atEnd && delays.length === 0 && o.onCompleted();\n }\n\n if (!subDelay) {\n start();\n } else {\n subscription.setDisposable(subDelay.subscribe(start, function (e) { o.onError(e); }, start));\n }\n\n return new CompositeDisposable(subscription, delays);\n }, this);\n }\n\n /**\n * Time shifts the observable sequence by dueTime.\n * The relative time intervals between the values are preserved.\n *\n * @param {Number} dueTime Absolute (specified as a Date object) or relative time (specified as an integer denoting milliseconds) by which to shift the observable sequence.\n * @param {Scheduler} [scheduler] Scheduler to run the delay timers on. If not specified, the timeout scheduler is used.\n * @returns {Observable} Time-shifted sequence.\n */\n observableProto.delay = function () {\n if (typeof arguments[0] === 'number' || arguments[0] instanceof Date) {\n var dueTime = arguments[0], scheduler = arguments[1];\n isScheduler(scheduler) || (scheduler = timeoutScheduler);\n return dueTime instanceof Date ?\n observableDelayAbsolute(this, dueTime, scheduler) :\n observableDelayRelative(this, dueTime, scheduler);\n } else if (isFunction(arguments[0])) {\n return delayWithSelector(this, arguments[0], arguments[1]);\n } else {\n throw new Error('Invalid arguments');\n }\n };\n\r\n function debounce(source, dueTime, scheduler) {\n isScheduler(scheduler) || (scheduler = timeoutScheduler);\n return new AnonymousObservable(function (observer) {\n var cancelable = new SerialDisposable(), hasvalue = false, value, id = 0;\n var subscription = source.subscribe(\n function (x) {\n hasvalue = true;\n value = x;\n id++;\n var currentId = id,\n d = new SingleAssignmentDisposable();\n cancelable.setDisposable(d);\n d.setDisposable(scheduler.scheduleWithRelative(dueTime, function () {\n hasvalue && id === currentId && observer.onNext(value);\n hasvalue = false;\n }));\n },\n function (e) {\n cancelable.dispose();\n observer.onError(e);\n hasvalue = false;\n id++;\n },\n function () {\n cancelable.dispose();\n hasvalue && observer.onNext(value);\n observer.onCompleted();\n hasvalue = false;\n id++;\n });\n return new CompositeDisposable(subscription, cancelable);\n }, this);\n }\n\n function debounceWithSelector(source, durationSelector) {\n return new AnonymousObservable(function (o) {\n var value, hasValue = false, cancelable = new SerialDisposable(), id = 0;\n var subscription = source.subscribe(\n function (x) {\n var throttle = tryCatch(durationSelector)(x);\n if (throttle === errorObj) { return o.onError(throttle.e); }\n\n isPromise(throttle) && (throttle = observableFromPromise(throttle));\n\n hasValue = true;\n value = x;\n id++;\n var currentid = id, d = new SingleAssignmentDisposable();\n cancelable.setDisposable(d);\n d.setDisposable(throttle.subscribe(\n function () {\n hasValue && id === currentid && o.onNext(value);\n hasValue = false;\n d.dispose();\n },\n function (e) { o.onError(e); },\n function () {\n hasValue && id === currentid && o.onNext(value);\n hasValue = false;\n d.dispose();\n }\n ));\n },\n function (e) {\n cancelable.dispose();\n o.onError(e);\n hasValue = false;\n id++;\n },\n function () {\n cancelable.dispose();\n hasValue && o.onNext(value);\n o.onCompleted();\n hasValue = false;\n id++;\n }\n );\n return new CompositeDisposable(subscription, cancelable);\n }, source);\n }\n\n observableProto.debounce = function () {\n if (isFunction (arguments[0])) {\n return debounceWithSelector(this, arguments[0]);\n } else if (typeof arguments[0] === 'number') {\n return debounce(this, arguments[0], arguments[1]);\n } else {\n throw new Error('Invalid arguments');\n }\n };\n\r\n /**\n * Records the timestamp for each value in an observable sequence.\n *\n * @example\n * 1 - res = source.timestamp(); // produces { value: x, timestamp: ts }\n * 2 - res = source.timestamp(Rx.Scheduler.default);\n *\n * @param {Scheduler} [scheduler] Scheduler used to compute timestamps. If not specified, the default scheduler is used.\n * @returns {Observable} An observable sequence with timestamp information on values.\n */\n observableProto.timestamp = function (scheduler) {\n isScheduler(scheduler) || (scheduler = timeoutScheduler);\n return this.map(function (x) {\n return { value: x, timestamp: scheduler.now() };\n });\n };\n\r\n function sampleObservable(source, sampler) {\n return new AnonymousObservable(function (o) {\n var atEnd = false, value, hasValue = false;\n\n function sampleSubscribe() {\n if (hasValue) {\n hasValue = false;\n o.onNext(value);\n }\n atEnd && o.onCompleted();\n }\n\n var sourceSubscription = new SingleAssignmentDisposable();\n sourceSubscription.setDisposable(source.subscribe(\n function (newValue) {\n hasValue = true;\n value = newValue;\n },\n function (e) { o.onError(e); },\n function () {\n atEnd = true;\n sourceSubscription.dispose(); \n }\n ));\n\n return new CompositeDisposable(\n sourceSubscription,\n sampler.subscribe(sampleSubscribe, function (e) { o.onError(e); }, sampleSubscribe)\n );\n }, source);\n }\n\n /**\n * Samples the observable sequence at each interval.\n *\n * @example\n * 1 - res = source.sample(sampleObservable); // Sampler tick sequence\n * 2 - res = source.sample(5000); // 5 seconds\n * 2 - res = source.sample(5000, Rx.Scheduler.timeout); // 5 seconds\n *\n * @param {Mixed} intervalOrSampler Interval at which to sample (specified as an integer denoting milliseconds) or Sampler Observable.\n * @param {Scheduler} [scheduler] Scheduler to run the sampling timer on. If not specified, the timeout scheduler is used.\n * @returns {Observable} Sampled observable sequence.\n */\n observableProto.sample = observableProto.throttleLatest = function (intervalOrSampler, scheduler) {\n isScheduler(scheduler) || (scheduler = timeoutScheduler);\n return typeof intervalOrSampler === 'number' ?\n sampleObservable(this, observableinterval(intervalOrSampler, scheduler)) :\n sampleObservable(this, intervalOrSampler);\n };\n\r\n var TimeoutError = Rx.TimeoutError = function(message) {\n this.message = message || 'Timeout has occurred';\n this.name = 'TimeoutError';\n Error.call(this);\n };\n TimeoutError.prototype = Object.create(Error.prototype);\n\n function timeoutWithSelector(source, firstTimeout, timeoutDurationSelector, other) {\n if (isFunction(firstTimeout)) {\n other = timeoutDurationSelector;\n timeoutDurationSelector = firstTimeout;\n firstTimeout = observableNever();\n }\n other || (other = observableThrow(new TimeoutError()));\n return new AnonymousObservable(function (o) {\n var subscription = new SerialDisposable(), timer = new SerialDisposable(), original = new SingleAssignmentDisposable();\n\n subscription.setDisposable(original);\n\n var id = 0, switched = false;\n\n function setTimer(timeout) {\n var myId = id, d = new SingleAssignmentDisposable();\n timer.setDisposable(d);\n d.setDisposable(timeout.subscribe(function () {\n id === myId && subscription.setDisposable(other.subscribe(o));\n d.dispose();\n }, function (e) {\n id === myId && o.onError(e);\n }, function () {\n id === myId && subscription.setDisposable(other.subscribe(o));\n }));\n };\n\n setTimer(firstTimeout);\n\n function oWins() {\n var res = !switched;\n if (res) { id++; }\n return res;\n }\n\n original.setDisposable(source.subscribe(function (x) {\n if (oWins()) {\n o.onNext(x);\n var timeout = tryCatch(timeoutDurationSelector)(x);\n if (timeout === errorObj) { return o.onError(timeout.e); }\n setTimer(isPromise(timeout) ? observableFromPromise(timeout) : timeout);\n }\n }, function (e) {\n oWins() && o.onError(e);\n }, function () {\n oWins() && o.onCompleted();\n }));\n return new CompositeDisposable(subscription, timer);\n }, source);\n }\n\n function timeout(source, dueTime, other, scheduler) {\n if (other == null) { throw new Error('other or scheduler must be specified'); }\n if (isScheduler(other)) {\n scheduler = other;\n other = observableThrow(new TimeoutError());\n }\n if (other instanceof Error) { other = observableThrow(other); }\n isScheduler(scheduler) || (scheduler = timeoutScheduler);\n\n var schedulerMethod = dueTime instanceof Date ?\n 'scheduleWithAbsolute' :\n 'scheduleWithRelative';\n\n return new AnonymousObservable(function (o) {\n var id = 0,\n original = new SingleAssignmentDisposable(),\n subscription = new SerialDisposable(),\n switched = false,\n timer = new SerialDisposable();\n\n subscription.setDisposable(original);\n\n function createTimer() {\n var myId = id;\n timer.setDisposable(scheduler[schedulerMethod](dueTime, function () {\n if (id === myId) {\n isPromise(other) && (other = observableFromPromise(other));\n subscription.setDisposable(other.subscribe(o));\n }\n }));\n }\n\n createTimer();\n\n original.setDisposable(source.subscribe(function (x) {\n if (!switched) {\n id++;\n o.onNext(x);\n createTimer();\n }\n }, function (e) {\n if (!switched) {\n id++;\n o.onError(e);\n }\n }, function () {\n if (!switched) {\n id++;\n o.onCompleted();\n }\n }));\n return new CompositeDisposable(subscription, timer);\n }, source);\n }\n\n observableProto.timeout = function () {\n var firstArg = arguments[0];\n if (firstArg instanceof Date || typeof firstArg === 'number') {\n return timeout(this, firstArg, arguments[1], arguments[2]);\n } else if (Observable.isObservable(firstArg) || isFunction(firstArg)) {\n return timeoutWithSelector(this, firstArg, arguments[1], arguments[2]);\n } else {\n throw new Error('Invalid arguments');\n }\n };\n\r\n /**\n * Returns an Observable that emits only the first item emitted by the source Observable during sequential time windows of a specified duration.\n * @param {Number} windowDuration time to wait before emitting another item after emitting the last item\n * @param {Scheduler} [scheduler] the Scheduler to use internally to manage the timers that handle timeout for each item. If not provided, defaults to Scheduler.timeout.\n * @returns {Observable} An Observable that performs the throttle operation.\n */\n observableProto.throttle = function (windowDuration, scheduler) {\n isScheduler(scheduler) || (scheduler = timeoutScheduler);\n var duration = +windowDuration || 0;\n if (duration <= 0) { throw new RangeError('windowDuration cannot be less or equal zero.'); }\n var source = this;\n return new AnonymousObservable(function (o) {\n var lastOnNext = 0;\n return source.subscribe(\n function (x) {\n var now = scheduler.now();\n if (lastOnNext === 0 || now - lastOnNext >= duration) {\n lastOnNext = now;\n o.onNext(x);\n }\n },function (e) { o.onError(e); }, function () { o.onCompleted(); }\n );\n }, source);\n };\n\r\n var PausableObservable = (function (__super__) {\n\n inherits(PausableObservable, __super__);\n\n function subscribe(observer) {\n var conn = this.source.publish(),\n subscription = conn.subscribe(observer),\n connection = disposableEmpty;\n\n var pausable = this.pauser.distinctUntilChanged().subscribe(function (b) {\n if (b) {\n connection = conn.connect();\n } else {\n connection.dispose();\n connection = disposableEmpty;\n }\n });\n\n return new CompositeDisposable(subscription, connection, pausable);\n }\n\n function PausableObservable(source, pauser) {\n this.source = source;\n this.controller = new Subject();\n\n if (pauser && pauser.subscribe) {\n this.pauser = this.controller.merge(pauser);\n } else {\n this.pauser = this.controller;\n }\n\n __super__.call(this, subscribe, source);\n }\n\n PausableObservable.prototype.pause = function () {\n this.controller.onNext(false);\n };\n\n PausableObservable.prototype.resume = function () {\n this.controller.onNext(true);\n };\n\n return PausableObservable;\n\n }(Observable));\n\n /**\n * Pauses the underlying observable sequence based upon the observable sequence which yields true/false.\n * @example\n * var pauser = new Rx.Subject();\n * var source = Rx.Observable.interval(100).pausable(pauser);\n * @param {Observable} pauser The observable sequence used to pause the underlying sequence.\n * @returns {Observable} The observable sequence which is paused based upon the pauser.\n */\n observableProto.pausable = function (pauser) {\n return new PausableObservable(this, pauser);\n };\n\r\n function combineLatestSource(source, subject, resultSelector) {\n return new AnonymousObservable(function (o) {\n var hasValue = [false, false],\n hasValueAll = false,\n isDone = false,\n values = new Array(2),\n err;\n\n function next(x, i) {\n values[i] = x;\n hasValue[i] = true;\n if (hasValueAll || (hasValueAll = hasValue.every(identity))) {\n if (err) { return o.onError(err); }\n var res = tryCatch(resultSelector).apply(null, values);\n if (res === errorObj) { return o.onError(res.e); }\n o.onNext(res);\n }\n isDone && values[1] && o.onCompleted();\n }\n\n return new CompositeDisposable(\n source.subscribe(\n function (x) {\n next(x, 0);\n },\n function (e) {\n if (values[1]) {\n o.onError(e);\n } else {\n err = e;\n }\n },\n function () {\n isDone = true;\n values[1] && o.onCompleted();\n }),\n subject.subscribe(\n function (x) {\n next(x, 1);\n },\n function (e) { o.onError(e); },\n function () {\n isDone = true;\n next(true, 1);\n })\n );\n }, source);\n }\n\n var PausableBufferedObservable = (function (__super__) {\n\n inherits(PausableBufferedObservable, __super__);\n\n function subscribe(o) {\n var q = [], previousShouldFire;\n\n function drainQueue() { while (q.length > 0) { o.onNext(q.shift()); } }\n\n var subscription =\n combineLatestSource(\n this.source,\n this.pauser.startWith(false).distinctUntilChanged(),\n function (data, shouldFire) {\n return { data: data, shouldFire: shouldFire };\n })\n .subscribe(\n function (results) {\n if (previousShouldFire !== undefined && results.shouldFire != previousShouldFire) {\n previousShouldFire = results.shouldFire;\n // change in shouldFire\n if (results.shouldFire) { drainQueue(); }\n } else {\n previousShouldFire = results.shouldFire;\n // new data\n if (results.shouldFire) {\n o.onNext(results.data);\n } else {\n q.push(results.data);\n }\n }\n },\n function (err) {\n drainQueue();\n o.onError(err);\n },\n function () {\n drainQueue();\n o.onCompleted();\n }\n );\n return subscription;\n }\n\n function PausableBufferedObservable(source, pauser) {\n this.source = source;\n this.controller = new Subject();\n\n if (pauser && pauser.subscribe) {\n this.pauser = this.controller.merge(pauser);\n } else {\n this.pauser = this.controller;\n }\n\n __super__.call(this, subscribe, source);\n }\n\n PausableBufferedObservable.prototype.pause = function () {\n this.controller.onNext(false);\n };\n\n PausableBufferedObservable.prototype.resume = function () {\n this.controller.onNext(true);\n };\n\n return PausableBufferedObservable;\n\n }(Observable));\n\n /**\n * Pauses the underlying observable sequence based upon the observable sequence which yields true/false,\n * and yields the values that were buffered while paused.\n * @example\n * var pauser = new Rx.Subject();\n * var source = Rx.Observable.interval(100).pausableBuffered(pauser);\n * @param {Observable} pauser The observable sequence used to pause the underlying sequence.\n * @returns {Observable} The observable sequence which is paused based upon the pauser.\n */\n observableProto.pausableBuffered = function (subject) {\n return new PausableBufferedObservable(this, subject);\n };\n\r\nvar ControlledObservable = (function (__super__) {\n\n inherits(ControlledObservable, __super__);\n\n function subscribe (observer) {\n return this.source.subscribe(observer);\n }\n\n function ControlledObservable (source, enableQueue, scheduler) {\n __super__.call(this, subscribe, source);\n this.subject = new ControlledSubject(enableQueue, scheduler);\n this.source = source.multicast(this.subject).refCount();\n }\n\n ControlledObservable.prototype.request = function (numberOfItems) {\n return this.subject.request(numberOfItems == null ? -1 : numberOfItems);\n };\n\n return ControlledObservable;\n\n}(Observable));\n\nvar ControlledSubject = (function (__super__) {\n\n function subscribe (observer) {\n return this.subject.subscribe(observer);\n }\n\n inherits(ControlledSubject, __super__);\n\n function ControlledSubject(enableQueue, scheduler) {\n enableQueue == null && (enableQueue = true);\n\n __super__.call(this, subscribe);\n this.subject = new Subject();\n this.enableQueue = enableQueue;\n this.queue = enableQueue ? [] : null;\n this.requestedCount = 0;\n this.requestedDisposable = null;\n this.error = null;\n this.hasFailed = false;\n this.hasCompleted = false;\n this.scheduler = scheduler || currentThreadScheduler;\n }\n\n addProperties(ControlledSubject.prototype, Observer, {\n onCompleted: function () {\n this.hasCompleted = true;\n if (!this.enableQueue || this.queue.length === 0) {\n this.subject.onCompleted();\n this.disposeCurrentRequest()\n } else {\n this.queue.push(Notification.createOnCompleted());\n }\n },\n onError: function (error) {\n this.hasFailed = true;\n this.error = error;\n if (!this.enableQueue || this.queue.length === 0) {\n this.subject.onError(error);\n this.disposeCurrentRequest()\n } else {\n this.queue.push(Notification.createOnError(error));\n }\n },\n onNext: function (value) {\n if (this.requestedCount <= 0) {\n this.enableQueue && this.queue.push(Notification.createOnNext(value));\n } else {\n (this.requestedCount-- === 0) && this.disposeCurrentRequest();\n this.subject.onNext(value);\n }\n },\n _processRequest: function (numberOfItems) {\n if (this.enableQueue) {\n while (this.queue.length > 0 && (numberOfItems > 0 || this.queue[0].kind !== 'N')) {\n var first = this.queue.shift();\n first.accept(this.subject);\n if (first.kind === 'N') {\n numberOfItems--;\n } else {\n this.disposeCurrentRequest();\n this.queue = [];\n }\n }\n }\n\n return numberOfItems;\n },\n request: function (number) {\n this.disposeCurrentRequest();\n var self = this;\n\n this.requestedDisposable = this.scheduler.scheduleWithState(number,\n function(s, i) {\n var remaining = self._processRequest(i);\n var stopped = self.hasCompleted || self.hasFailed\n if (!stopped && remaining > 0) {\n self.requestedCount = remaining;\n\n return disposableCreate(function () {\n self.requestedCount = 0;\n });\n // Scheduled item is still in progress. Return a new\n // disposable to allow the request to be interrupted\n // via dispose.\n }\n });\n\n return this.requestedDisposable;\n },\n disposeCurrentRequest: function () {\n if (this.requestedDisposable) {\n this.requestedDisposable.dispose();\n this.requestedDisposable = null;\n }\n }\n });\n\n return ControlledSubject;\n}(Observable));\n\n/**\n * Attaches a controller to the observable sequence with the ability to queue.\n * @example\n * var source = Rx.Observable.interval(100).controlled();\n * source.request(3); // Reads 3 values\n * @param {bool} enableQueue truthy value to determine if values should be queued pending the next request\n * @param {Scheduler} scheduler determines how the requests will be scheduled\n * @returns {Observable} The observable sequence which only propagates values on request.\n */\nobservableProto.controlled = function (enableQueue, scheduler) {\n\n if (enableQueue && isScheduler(enableQueue)) {\n scheduler = enableQueue;\n enableQueue = true;\n }\n\n if (enableQueue == null) { enableQueue = true; }\n return new ControlledObservable(this, enableQueue, scheduler);\n};\n\r\n /**\n * Pipes the existing Observable sequence into a Node.js Stream.\n * @param {Stream} dest The destination Node.js stream.\n * @returns {Stream} The destination stream.\n */\n observableProto.pipe = function (dest) {\n var source = this.pausableBuffered();\n\n function onDrain() {\n source.resume();\n }\n\n dest.addListener('drain', onDrain);\n\n source.subscribe(\n function (x) {\n !dest.write(String(x)) && source.pause();\n },\n function (err) {\n dest.emit('error', err);\n },\n function () {\n // Hack check because STDIO is not closable\n !dest._isStdio && dest.end();\n dest.removeListener('drain', onDrain);\n });\n\n source.resume();\n\n return dest;\n };\n\r\n /**\n * Executes a transducer to transform the observable sequence\n * @param {Transducer} transducer A transducer to execute\n * @returns {Observable} An Observable sequence containing the results from the transducer.\n */\n observableProto.transduce = function(transducer) {\n var source = this;\n\n function transformForObserver(o) {\n return {\n '@@transducer/init': function() {\n return o;\n },\n '@@transducer/step': function(obs, input) {\n return obs.onNext(input);\n },\n '@@transducer/result': function(obs) {\n return obs.onCompleted();\n }\n };\n }\n\n return new AnonymousObservable(function(o) {\n var xform = transducer(transformForObserver(o));\n return source.subscribe(\n function(v) {\n var res = tryCatch(xform['@@transducer/step']).call(xform, o, v);\n if (res === errorObj) { o.onError(res.e); }\n },\n function (e) { o.onError(e); },\n function() { xform['@@transducer/result'](o); }\n );\n }, source);\n };\n\r\n var AnonymousObservable = Rx.AnonymousObservable = (function (__super__) {\n inherits(AnonymousObservable, __super__);\n\n // Fix subscriber to check for undefined or function returned to decorate as Disposable\n function fixSubscriber(subscriber) {\n return subscriber && isFunction(subscriber.dispose) ? subscriber :\n isFunction(subscriber) ? disposableCreate(subscriber) : disposableEmpty;\n }\n\n function setDisposable(s, state) {\n var ado = state[0], self = state[1];\n var sub = tryCatch(self.__subscribe).call(self, ado);\n\n if (sub === errorObj) {\n if(!ado.fail(errorObj.e)) { return thrower(errorObj.e); }\n }\n ado.setDisposable(fixSubscriber(sub));\n }\n\n function innerSubscribe(observer) {\n var ado = new AutoDetachObserver(observer), state = [ado, this];\n\n if (currentThreadScheduler.scheduleRequired()) {\n currentThreadScheduler.scheduleWithState(state, setDisposable);\n } else {\n setDisposable(null, state);\n }\n return ado;\n }\n\n function AnonymousObservable(subscribe, parent) {\n this.source = parent;\n this.__subscribe = subscribe;\n __super__.call(this, innerSubscribe);\n }\n\n return AnonymousObservable;\n\n }(Observable));\n\r\n var AutoDetachObserver = (function (__super__) {\n inherits(AutoDetachObserver, __super__);\n\n function AutoDetachObserver(observer) {\n __super__.call(this);\n this.observer = observer;\n this.m = new SingleAssignmentDisposable();\n }\n\n var AutoDetachObserverPrototype = AutoDetachObserver.prototype;\n\n AutoDetachObserverPrototype.next = function (value) {\n var result = tryCatch(this.observer.onNext).call(this.observer, value);\n if (result === errorObj) {\n this.dispose();\n thrower(result.e);\n }\n };\n\n AutoDetachObserverPrototype.error = function (err) {\n var result = tryCatch(this.observer.onError).call(this.observer, err);\n this.dispose();\n result === errorObj && thrower(result.e);\n };\n\n AutoDetachObserverPrototype.completed = function () {\n var result = tryCatch(this.observer.onCompleted).call(this.observer);\n this.dispose();\n result === errorObj && thrower(result.e);\n };\n\n AutoDetachObserverPrototype.setDisposable = function (value) { this.m.setDisposable(value); };\n AutoDetachObserverPrototype.getDisposable = function () { return this.m.getDisposable(); };\n\n AutoDetachObserverPrototype.dispose = function () {\n __super__.prototype.dispose.call(this);\n this.m.dispose();\n };\n\n return AutoDetachObserver;\n }(AbstractObserver));\n\r\n var InnerSubscription = function (subject, observer) {\n this.subject = subject;\n this.observer = observer;\n };\n\n InnerSubscription.prototype.dispose = function () {\n if (!this.subject.isDisposed && this.observer !== null) {\n var idx = this.subject.observers.indexOf(this.observer);\n this.subject.observers.splice(idx, 1);\n this.observer = null;\n }\n };\n\r\n /**\n * Represents an object that is both an observable sequence as well as an observer.\n * Each notification is broadcasted to all subscribed observers.\n */\n var Subject = Rx.Subject = (function (__super__) {\n function subscribe(observer) {\n checkDisposed(this);\n if (!this.isStopped) {\n this.observers.push(observer);\n return new InnerSubscription(this, observer);\n }\n if (this.hasError) {\n observer.onError(this.error);\n return disposableEmpty;\n }\n observer.onCompleted();\n return disposableEmpty;\n }\n\n inherits(Subject, __super__);\n\n /**\n * Creates a subject.\n */\n function Subject() {\n __super__.call(this, subscribe);\n this.isDisposed = false,\n this.isStopped = false,\n this.observers = [];\n this.hasError = false;\n }\n\n addProperties(Subject.prototype, Observer.prototype, {\n /**\n * Indicates whether the subject has observers subscribed to it.\n * @returns {Boolean} Indicates whether the subject has observers subscribed to it.\n */\n hasObservers: function () { return this.observers.length > 0; },\n /**\n * Notifies all subscribed observers about the end of the sequence.\n */\n onCompleted: function () {\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onCompleted();\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Notifies all subscribed observers about the exception.\n * @param {Mixed} error The exception to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n this.error = error;\n this.hasError = true;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onError(error);\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Notifies all subscribed observers about the arrival of the specified element in the sequence.\n * @param {Mixed} value The value to send to all observers.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (!this.isStopped) {\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onNext(value);\n }\n }\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n }\n });\n\n /**\n * Creates a subject from the specified observer and observable.\n * @param {Observer} observer The observer used to send messages to the subject.\n * @param {Observable} observable The observable used to subscribe to messages sent from the subject.\n * @returns {Subject} Subject implemented using the given observer and observable.\n */\n Subject.create = function (observer, observable) {\n return new AnonymousSubject(observer, observable);\n };\n\n return Subject;\n }(Observable));\n\r\n /**\n * Represents the result of an asynchronous operation.\n * The last value before the OnCompleted notification, or the error received through OnError, is sent to all subscribed observers.\n */\n var AsyncSubject = Rx.AsyncSubject = (function (__super__) {\n\n function subscribe(observer) {\n checkDisposed(this);\n\n if (!this.isStopped) {\n this.observers.push(observer);\n return new InnerSubscription(this, observer);\n }\n\n if (this.hasError) {\n observer.onError(this.error);\n } else if (this.hasValue) {\n observer.onNext(this.value);\n observer.onCompleted();\n } else {\n observer.onCompleted();\n }\n\n return disposableEmpty;\n }\n\n inherits(AsyncSubject, __super__);\n\n /**\n * Creates a subject that can only receive one value and that value is cached for all future observations.\n * @constructor\n */\n function AsyncSubject() {\n __super__.call(this, subscribe);\n\n this.isDisposed = false;\n this.isStopped = false;\n this.hasValue = false;\n this.observers = [];\n this.hasError = false;\n }\n\n addProperties(AsyncSubject.prototype, Observer, {\n /**\n * Indicates whether the subject has observers subscribed to it.\n * @returns {Boolean} Indicates whether the subject has observers subscribed to it.\n */\n hasObservers: function () {\n checkDisposed(this);\n return this.observers.length > 0;\n },\n /**\n * Notifies all subscribed observers about the end of the sequence, also causing the last received value to be sent out (if any).\n */\n onCompleted: function () {\n var i, len;\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n var os = cloneArray(this.observers), len = os.length;\n\n if (this.hasValue) {\n for (i = 0; i < len; i++) {\n var o = os[i];\n o.onNext(this.value);\n o.onCompleted();\n }\n } else {\n for (i = 0; i < len; i++) {\n os[i].onCompleted();\n }\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Notifies all subscribed observers about the error.\n * @param {Mixed} error The Error to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (!this.isStopped) {\n this.isStopped = true;\n this.hasError = true;\n this.error = error;\n\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onError(error);\n }\n\n this.observers.length = 0;\n }\n },\n /**\n * Sends a value to the subject. The last value received before successful termination will be sent to all subscribed and future observers.\n * @param {Mixed} value The value to store in the subject.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.value = value;\n this.hasValue = true;\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n this.exception = null;\n this.value = null;\n }\n });\n\n return AsyncSubject;\n }(Observable));\n\r\n var AnonymousSubject = Rx.AnonymousSubject = (function (__super__) {\n inherits(AnonymousSubject, __super__);\n\n function subscribe(observer) {\n return this.observable.subscribe(observer);\n }\n\n function AnonymousSubject(observer, observable) {\n this.observer = observer;\n this.observable = observable;\n __super__.call(this, subscribe);\n }\n\n addProperties(AnonymousSubject.prototype, Observer.prototype, {\n onCompleted: function () {\n this.observer.onCompleted();\n },\n onError: function (error) {\n this.observer.onError(error);\n },\n onNext: function (value) {\n this.observer.onNext(value);\n }\n });\n\n return AnonymousSubject;\n }(Observable));\n\r\n /**\n * Represents a value that changes over time.\n * Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications.\n */\n var BehaviorSubject = Rx.BehaviorSubject = (function (__super__) {\n function subscribe(observer) {\n checkDisposed(this);\n if (!this.isStopped) {\n this.observers.push(observer);\n observer.onNext(this.value);\n return new InnerSubscription(this, observer);\n }\n if (this.hasError) {\n observer.onError(this.error);\n } else {\n observer.onCompleted();\n }\n return disposableEmpty;\n }\n\n inherits(BehaviorSubject, __super__);\n\n /**\n * Initializes a new instance of the BehaviorSubject class which creates a subject that caches its last value and starts with the specified value.\n * @param {Mixed} value Initial value sent to observers when no other value has been received by the subject yet.\n */\n function BehaviorSubject(value) {\n __super__.call(this, subscribe);\n this.value = value,\n this.observers = [],\n this.isDisposed = false,\n this.isStopped = false,\n this.hasError = false;\n }\n\n addProperties(BehaviorSubject.prototype, Observer, {\n /**\n * Gets the current value or throws an exception.\n * Value is frozen after onCompleted is called.\n * After onError is called always throws the specified exception.\n * An exception is always thrown after dispose is called.\n * @returns {Mixed} The initial value passed to the constructor until onNext is called; after which, the last value passed to onNext.\n */\n getValue: function () {\n checkDisposed(this);\n if (this.hasError) {\n throw this.error;\n }\n return this.value;\n },\n /**\n * Indicates whether the subject has observers subscribed to it.\n * @returns {Boolean} Indicates whether the subject has observers subscribed to it.\n */\n hasObservers: function () { return this.observers.length > 0; },\n /**\n * Notifies all subscribed observers about the end of the sequence.\n */\n onCompleted: function () {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onCompleted();\n }\n\n this.observers.length = 0;\n },\n /**\n * Notifies all subscribed observers about the exception.\n * @param {Mixed} error The exception to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n this.hasError = true;\n this.error = error;\n\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onError(error);\n }\n\n this.observers.length = 0;\n },\n /**\n * Notifies all subscribed observers about the arrival of the specified element in the sequence.\n * @param {Mixed} value The value to send to all observers.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.value = value;\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n os[i].onNext(value);\n }\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n this.value = null;\n this.exception = null;\n }\n });\n\n return BehaviorSubject;\n }(Observable));\n\r\n /**\n * Represents an object that is both an observable sequence as well as an observer.\n * Each notification is broadcasted to all subscribed and future observers, subject to buffer trimming policies.\n */\n var ReplaySubject = Rx.ReplaySubject = (function (__super__) {\n\n var maxSafeInteger = Math.pow(2, 53) - 1;\n\n function createRemovableDisposable(subject, observer) {\n return disposableCreate(function () {\n observer.dispose();\n !subject.isDisposed && subject.observers.splice(subject.observers.indexOf(observer), 1);\n });\n }\n\n function subscribe(observer) {\n var so = new ScheduledObserver(this.scheduler, observer),\n subscription = createRemovableDisposable(this, so);\n checkDisposed(this);\n this._trim(this.scheduler.now());\n this.observers.push(so);\n\n for (var i = 0, len = this.q.length; i < len; i++) {\n so.onNext(this.q[i].value);\n }\n\n if (this.hasError) {\n so.onError(this.error);\n } else if (this.isStopped) {\n so.onCompleted();\n }\n\n so.ensureActive();\n return subscription;\n }\n\n inherits(ReplaySubject, __super__);\n\n /**\n * Initializes a new instance of the ReplaySubject class with the specified buffer size, window size and scheduler.\n * @param {Number} [bufferSize] Maximum element count of the replay buffer.\n * @param {Number} [windowSize] Maximum time length of the replay buffer.\n * @param {Scheduler} [scheduler] Scheduler the observers are invoked on.\n */\n function ReplaySubject(bufferSize, windowSize, scheduler) {\n this.bufferSize = bufferSize == null ? maxSafeInteger : bufferSize;\n this.windowSize = windowSize == null ? maxSafeInteger : windowSize;\n this.scheduler = scheduler || currentThreadScheduler;\n this.q = [];\n this.observers = [];\n this.isStopped = false;\n this.isDisposed = false;\n this.hasError = false;\n this.error = null;\n __super__.call(this, subscribe);\n }\n\n addProperties(ReplaySubject.prototype, Observer.prototype, {\n /**\n * Indicates whether the subject has observers subscribed to it.\n * @returns {Boolean} Indicates whether the subject has observers subscribed to it.\n */\n hasObservers: function () {\n return this.observers.length > 0;\n },\n _trim: function (now) {\n while (this.q.length > this.bufferSize) {\n this.q.shift();\n }\n while (this.q.length > 0 && (now - this.q[0].interval) > this.windowSize) {\n this.q.shift();\n }\n },\n /**\n * Notifies all subscribed observers about the arrival of the specified element in the sequence.\n * @param {Mixed} value The value to send to all observers.\n */\n onNext: function (value) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n var now = this.scheduler.now();\n this.q.push({ interval: now, value: value });\n this._trim(now);\n\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n var observer = os[i];\n observer.onNext(value);\n observer.ensureActive();\n }\n },\n /**\n * Notifies all subscribed observers about the exception.\n * @param {Mixed} error The exception to send to all observers.\n */\n onError: function (error) {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n this.error = error;\n this.hasError = true;\n var now = this.scheduler.now();\n this._trim(now);\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n var observer = os[i];\n observer.onError(error);\n observer.ensureActive();\n }\n this.observers.length = 0;\n },\n /**\n * Notifies all subscribed observers about the end of the sequence.\n */\n onCompleted: function () {\n checkDisposed(this);\n if (this.isStopped) { return; }\n this.isStopped = true;\n var now = this.scheduler.now();\n this._trim(now);\n for (var i = 0, os = cloneArray(this.observers), len = os.length; i < len; i++) {\n var observer = os[i];\n observer.onCompleted();\n observer.ensureActive();\n }\n this.observers.length = 0;\n },\n /**\n * Unsubscribe all observers and release resources.\n */\n dispose: function () {\n this.isDisposed = true;\n this.observers = null;\n }\n });\n\n return ReplaySubject;\n }(Observable));\n\r\n /**\n * Used to pause and resume streams.\n */\n Rx.Pauser = (function (__super__) {\n inherits(Pauser, __super__);\n\n function Pauser() {\n __super__.call(this);\n }\n\n /**\n * Pauses the underlying sequence.\n */\n Pauser.prototype.pause = function () { this.onNext(false); };\n\n /**\n * Resumes the underlying sequence.\n */\n Pauser.prototype.resume = function () { this.onNext(true); };\n\n return Pauser;\n }(Subject));\n\r\n if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) {\n root.Rx = Rx;\n\n define(function() {\n return Rx;\n });\n } else if (freeExports && freeModule) {\n // in Node.js or RingoJS\n if (moduleExports) {\n (freeModule.exports = Rx).Rx = Rx;\n } else {\n freeExports.Rx = Rx;\n }\n } else {\n // in a browser or Rhino\n root.Rx = Rx;\n }\n\r\n // All code before this point will be filtered from stack traces.\n var rEndingLine = captureLine();\n\r\n}.call(this));\n",
"export default class AjaxAdapter {\n\n constructor(options) {\n this._base = (options && options.base) || \"\";\n };\n\n create(store, type, partial, success, error, context) {\n\n if (error && {}.toString.call(error) !== '[object Function]') {\n\n this.create(store, type, partial, success, null, error);\n\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n\n request.open('POST', `${this._base}/${type}`, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n let response = JSON.parse(request.responseText);\n try {\n store.push(response);\n if (success) {\n success.call(context, store.find(response.data.type, response.data.id));\n }\n } catch (e) {\n if (error) {\n error.call(context, e);\n }\n }\n } else {\n if (error) {\n error.call(context);\n }\n }\n };\n\n request.send(JSON.stringify({\n data: store.convert(type, partial)\n }));\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n destroy(store, type, id, success, error, context) {\n\n if (error && {}.toString.call(error) !== '[object Function]') {\n\n this.destroy(store, type, id, success, null, error);\n\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n\n request.open('DELETE', `${this._base}/${type}/${id}`, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n try {\n store.remove(type, id);\n if (success) {\n success.call(context);\n }\n } catch (e) {\n error.call(context, e);\n }\n } else if (error) {\n error.call(context);\n }\n };\n\n request.send();\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n load(store, type, id, options, success, error, context) {\n\n if (id && {}.toString.call(id) === '[object Function]') {\n this.load(store, type, null, null, id, options, success);\n } else if (id && typeof id === \"object\") {\n this.load(store, type, null, id, options, success, error);\n } else if (options && {}.toString.call(options) === '[object Function]') {\n this.load(store, type, id, {}, options, success, error);\n } else if (error && {}.toString.call(error) !== '[object Function]') {\n this.load(store, type, id, options, success, null, error);\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n let url;\n\n options = options || {};\n url = id ? `${this._base}/${type}/${id}` : `${this._base}/${type}`;\n\n if (options) {\n\n let params = [];\n\n if (options.fields) {\n Object.keys(options.fields).forEach(field => {\n options[`fields[${field}]`] = options.fields[field];\n });\n delete options.fields;\n }\n\n params = Object.keys(options).map(key => {\n return key + \"=\" + encodeURIComponent(options[key]);\n }).sort();\n\n if (params.length) {\n url = `${url}?${params.join(\"&\")}`;\n }\n\n }\n\n request.open('GET', url, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n try {\n store.push(JSON.parse(request.responseText));\n if (success) {\n success.call(context, id ? store.find(type, id) : store.find(type));\n }\n } catch (e) {\n error.call({}, e);\n }\n } else if (error) {\n error.call(context);\n }\n };\n\n request.send();\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n update(store, type, id, partial, success, error, context) {\n\n if (error && {}.toString.call(error) !== '[object Function]') {\n\n this.update(store, type, id, partial, success, null, error);\n\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n let data = store.convert(type, id, partial);\n\n request.open('PATCH', `${this._base}/${type}/${id}`, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n try {\n store.add(data);\n if (success) {\n success.call(context, store.find(data.type, data.id));\n }\n } catch (e) {\n if (error) {\n error.call(context, e);\n }\n }\n } else if (error) {\n error.call(context);\n }\n };\n\n request.send(JSON.stringify({\n data: data\n }));\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n}\n",
- "import \"array.prototype.find\";\nimport Rx from \"rx-lite\";\nimport AjaxAdapter from \"./ajax-adapter\";\n\nexport default class Store {\n\n /**\n * Creates a field definition for an attribute.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.default] - Default value for this field.\n * @return {Object} - Field definition.\n */\n static attr(name, options) {\n if (name && typeof name === 'object') {\n return Store.attr(null, name);\n } else {\n return {\n type: \"attr\",\n default: options && options.default,\n deserialize: function (data, key) {\n return data.attributes && data.attributes[name || key];\n },\n serialize: function (resource, data, key) {\n data.attributes[name || key] = resource[key];\n }\n };\n }\n }\n\n /**\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n */\n static hasOne(name, options) {\n if (name && typeof name === 'object') {\n return Store.hasOne(null, name);\n } else {\n return {\n type: \"has-one\",\n inverse: options && options.inverse,\n deserialize: function (data, key) {\n name = name || key;\n if (data.relationships && data.relationships[name]) {\n if (data.relationships[name].data === null) {\n return null;\n } else if (data.relationships[name].data) {\n return this.find(data.relationships[name].data.type, data.relationships[name].data.id);\n }\n }\n },\n serialize: function serialize(resource, data, key) {\n if (resource[key] === null) {\n data.relationships[name || key] = null;\n } else if (resource[key]) {\n data.relationships[name || key] = {\n data: {\n type: resource[key].type,\n id: resource[key].id\n }\n };\n }\n }\n };\n }\n }\n\n /**\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n */\n static hasMany(name, options) {\n if (name && typeof name === 'object') {\n return Store.hasMany(null, name);\n } else {\n return {\n type: \"has-many\",\n default: [],\n inverse: options && options.inverse,\n deserialize: function (data, key) {\n name = name || key;\n if (data.relationships && data.relationships[name]) {\n if (data.relationships[name].data === null) {\n return [];\n } else if (data.relationships[name].data) {\n return data.relationships[name].data.map((c) => {\n return this.find(c.type, c.id);\n });\n }\n }\n },\n serialize: function serialize(resource, data, key) {\n if (resource[key]) {\n data.relationships[name || key] = {\n data: resource[key].map(x => {\n return { type: x.type, id: x.id };\n })\n };\n }\n }\n };\n }\n }\n\n constructor(adapter) {\n\n this._adapter = adapter;\n this._data = {};\n this._subject = new Rx.Subject();\n this._subscriptions = {};\n this._types = {};\n\n /**\n * An observable that will emit events when any resource in added, updated\n * or removed. The object passed to listeners will be in this format:\n *\n *
\n * { name: string, type: string, id: string, resource: object }\n *
\n *\n * You can learn more about RxJS observables at the GitHub repo:\n * https://github.com/Reactive-Extensions/RxJS\n *\n * @type {Rx.Observable}\n * @since 0.6.0\n *\n * @example\n * let store = new Store();\n *\n * store.observable.filter(e => e.name === \"added\").subscribe(event => {\n * console.log(event.name); // \"added\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"updated\").subscribe(event => {\n * console.log(event.name); // \"updated\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"removed\").subscribe(event => {\n * console.log(event.name); // \"removed\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // null\n * });\n */\n this.observable = this._subject.asObservable();\n\n }\n\n /**\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - A JSON API Resource Object to be added. See:\n http://jsonapi.org/format/#document-resource-objects\n */\n add(object) {\n if (object) {\n if (object.type && object.id) {\n let name = this._data[object.type] && this._data[object.type][object.id] ? \"updated\" : \"added\";\n let resource = this.find(object.type, object.id);\n let definition = this._types[object.type];\n Object.keys(definition).forEach(fieldName => {\n if (fieldName[0] !== \"_\") {\n this._addField(object, resource, definition, fieldName);\n }\n });\n this._subject.onNext({\n name: name,\n type: object.type,\n id: object.id,\n resource: resource\n });\n } else {\n throw new TypeError(`The data must have a type and id`);\n }\n } else {\n throw new TypeError(`You must provide data to add`);\n }\n }\n\n /**\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n */\n convert(type, id, partial) {\n if (type && typeof type === \"object\") {\n return this.convert(type.type, type.id, type);\n } else if (id && typeof id === \"object\") {\n return this.convert(type, id.id, id);\n } else {\n let data = {\n type: type,\n attributes: {},\n relationships: {}\n };\n if (id) {\n data.id = id;\n }\n let definition = this._types[data.type];\n Object.keys(definition).forEach(fieldName => {\n if (fieldName[0] !== \"_\") {\n definition[fieldName].serialize(partial, data, fieldName);\n }\n });\n return data;\n }\n }\n\n /**\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n */\n create(type, partial, success, error, context) {\n if (this._adapter) {\n this._adapter.create(this, type, partial, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n */\n define(names, definition) {\n names = (names.constructor === Array) ? names : [ names ];\n if (definition) {\n definition._names = names;\n names.forEach(name => {\n if (!this._types[name]) {\n this._types[name] = definition;\n } else {\n throw new Error(`The type '${name}' has already been defined.`);\n }\n });\n } else {\n throw new Error(`You must provide a definition for the type '${names[0]}'.`);\n }\n }\n\n /**\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n */\n destroy(type, id, success, error, context) {\n if (this._adapter) {\n this._adapter.destroy(this, type, id, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n */\n find(type, id) {\n if (type) {\n let definition = this._types[type];\n if (definition) {\n if (!this._data[type]) {\n let collection = {};\n definition._names.forEach(t => this._data[t] = collection);\n }\n if (id) {\n if (!this._data[type][id]) {\n this._data[type][id] = {\n _dependents: [],\n type: type,\n id: id\n };\n Object.keys(definition).forEach(key => {\n if (key[0] !== \"_\") {\n this._data[type][id][key] = definition[key].default;\n }\n });\n }\n return this._data[type][id];\n } else {\n return Object.keys(this._data[type]).map(x => this._data[type][x]);\n }\n } else {\n throw new TypeError(`Unknown type '${type}'`);\n }\n } else {\n throw new TypeError(`You must provide a type`);\n }\n }\n\n /**\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n */\n load(type, id, options, success, error, context) {\n if (this._adapter) {\n this._adapter.load(this, type, id, options, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Unregister an event listener that was registered with on().\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n */\n off(event, type, id, callback) {\n if (event === \"added\" || event === \"updated\" || event === \"removed\") {\n if (this._types[type]) {\n if (id && ({}).toString.call(id) === '[object Function]') {\n this.off.call(this, event, type, null, id, callback);\n } else if (this._subscriptions[event] && this._subscriptions[event][type] && this._subscriptions[event][type][id || \"*\"]) {\n this._subscriptions[event][type][id || \"*\"].dispose();\n delete this._subscriptions[event][type][id || \"*\"];\n }\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n } else {\n throw new Error(`Unknown event '${event}'`);\n }\n }\n\n /**\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n */\n on(event, type, id, callback, context) {\n if (event === \"added\" || event === \"updated\" || event === \"removed\") {\n if (this._types[type]) {\n if (id && ({}).toString.call(id) === '[object Function]') {\n this.on.call(this, event, type, null, id, callback);\n } else if (!this._subscriptions[event] || !this._subscriptions[event][type] || !this._subscriptions[event][type][id || \"*\"]) {\n let subscription = this._subject.filter(e => e.name === event);\n subscription = subscription.filter(e => this._types[type]._names.indexOf(e.type) !== -1);\n if (id) {\n subscription = subscription.filter(e => e.id === id);\n }\n subscription = subscription.map(e => this.find(e.type, e.id));\n this._subscriptions[event] = this._subscriptions[event] || {};\n if (!this._subscriptions[event][type]) {\n let obj = {};\n this._types[type]._names.forEach(type => {\n this._subscriptions[event][type] = obj;\n });\n }\n this._subscriptions[event][type][id || \"*\"] = subscription.subscribe(callback.bind(context));\n }\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n } else {\n throw new Error(`Unknown event '${event}'`);\n }\n }\n\n /**\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n */\n push(root) {\n if (root.data.constructor === Array) {\n root.data.forEach(x => this.add(x));\n } else {\n this.add(root.data);\n }\n if (root.included) {\n root.included.forEach(x => this.add(x));\n }\n }\n\n /**\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n */\n remove(type, id) {\n if (type) {\n if (this._types[type]) {\n if (id) {\n let resource = this._data[type] && this._data[type][id];\n if (resource) {\n this._remove(resource);\n this._subject.onNext({\n name: \"removed\",\n type: type,\n id: id,\n resource: null\n });\n }\n } else {\n Object.keys(this._data[type]).forEach(id => this.remove(type, id));\n }\n } else {\n throw new TypeError(`Unknown type '${type}'`);\n }\n } else {\n throw new TypeError(`You must provide a type to remove`);\n }\n }\n\n /**\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n */\n update(type, id, partial, success, error, context) {\n if (this._adapter) {\n this._adapter.update(this, type, id, partial, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n _addField(object, resource, definition, fieldName) {\n var field = definition[fieldName];\n var newValue = field.deserialize.call(this, object, fieldName);\n if (typeof newValue !== \"undefined\") {\n if (field.type === \"has-one\") {\n if (resource[fieldName]) {\n this._removeInverseRelationship(resource, fieldName, resource[fieldName], field);\n }\n if (newValue) {\n this._addInverseRelationship(resource, fieldName, newValue, field);\n }\n } else if (field.type === \"has-many\") {\n resource[fieldName].forEach(r => {\n if (resource[fieldName].indexOf(r) !== -1) {\n this._removeInverseRelationship(resource, fieldName, r, field);\n }\n });\n newValue.forEach(r => {\n this._addInverseRelationship(resource, fieldName, r, field);\n });\n }\n resource[fieldName] = newValue;\n }\n }\n\n _addInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {\n var targetDefinition = this._types[targetResource.type];\n var sourceDefinition = this._types[sourceResource.type];\n if (targetDefinition) {\n let targetFieldName = [ sourceField.inverse ].concat(sourceDefinition._names).find(x => targetDefinition[x]);\n let targetField = targetDefinition && targetDefinition[targetFieldName];\n targetResource._dependents.push({ type: sourceResource.type, id: sourceResource.id, fieldName: sourceFieldName });\n if (targetField) {\n if (targetField.type === \"has-one\") {\n sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });\n targetResource[targetFieldName] = sourceResource;\n } else if (targetField.type === \"has-many\") {\n sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });\n if (targetResource[targetFieldName].indexOf(sourceResource) === -1) {\n targetResource[targetFieldName].push(sourceResource);\n }\n } else if (targetField.type === \"attr\") {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);\n }\n } else if (sourceField.inverse) {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);\n }\n }\n }\n\n _remove(resource) {\n resource._dependents.forEach(dependent => {\n let dependentResource = this._data[dependent.type][dependent.id];\n switch (this._types[dependent.type][dependent.fieldName].type) {\n case \"has-one\": {\n dependentResource[dependent.fieldName] = null;\n break;\n }\n case \"has-many\": {\n let index = dependentResource[dependent.fieldName].indexOf(resource);\n if (index !== -1) {\n dependentResource[dependent.fieldName].splice(index, 1);\n }\n break;\n }\n default: {\n break;\n }\n }\n // TODO: This only needs to be run once for each dependent.\n dependentResource._dependents = dependentResource._dependents.filter(d => {\n return !(d.type === resource.type && d.id === resource.id);\n });\n });\n delete this._data[resource.type][resource.id];\n }\n\n _removeInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {\n var targetDefinition = this._types[targetResource.type];\n var targetFieldName = sourceField.inverse || sourceResource.type;\n var targetField = targetDefinition && targetDefinition[targetFieldName];\n targetResource._dependents = targetResource._dependents.filter(r => {\n return !(r.type === sourceResource.type && r.id === sourceResource.id && r.fieldName === sourceFieldName);\n });\n if (targetField) {\n if (targetField.type === \"has-one\") {\n sourceResource._dependents = sourceResource._dependents.filter(r => {\n return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);\n });\n targetResource[targetFieldName] = null;\n } else if (targetField.type === \"has-many\") {\n sourceResource._dependents = sourceResource._dependents.filter(r => {\n return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);\n });\n targetResource[targetFieldName] = targetResource[targetFieldName].filter(r => {\n return r !== sourceResource;\n });\n } else if (targetField.type === \"attr\") {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);\n }\n } else if (sourceField.inverse) {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);\n }\n }\n\n}\n\nStore.AjaxAdapter = AjaxAdapter;\n"
+ "import \"array.prototype.find\";\nimport Rx from \"rx-lite\";\nimport AjaxAdapter from \"./ajax-adapter\";\n\nexport default class Store {\n\n /**\n * Creates a field definition for an attribute.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.default] - Default value for this field.\n * @return {Object} - Field definition.\n */\n static attr(name, options) {\n if (name && typeof name === 'object') {\n return Store.attr(null, name);\n } else {\n return {\n type: \"attr\",\n default: options && options.default,\n deserialize: function (data, key) {\n return data.attributes && data.attributes[name || key];\n },\n serialize: function (resource, data, key) {\n data.attributes[name || key] = resource[key];\n }\n };\n }\n }\n\n /**\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n */\n static hasOne(name, options) {\n if (name && typeof name === 'object') {\n return Store.hasOne(null, name);\n } else {\n return {\n type: \"has-one\",\n inverse: options && options.inverse,\n deserialize: function (data, key) {\n name = name || key;\n if (data.relationships && data.relationships[name]) {\n if (data.relationships[name].data === null) {\n return null;\n } else if (data.relationships[name].data) {\n return this.find(data.relationships[name].data.type, data.relationships[name].data.id);\n }\n }\n },\n serialize: function serialize(resource, data, key) {\n if (resource[key] === null) {\n data.relationships[name || key] = null;\n } else if (resource[key]) {\n data.relationships[name || key] = {\n data: {\n type: resource[key].type,\n id: resource[key].id\n }\n };\n }\n }\n };\n }\n }\n\n /**\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n */\n static hasMany(name, options) {\n if (name && typeof name === 'object') {\n return Store.hasMany(null, name);\n } else {\n return {\n type: \"has-many\",\n default: [],\n inverse: options && options.inverse,\n deserialize: function (data, key) {\n name = name || key;\n if (data.relationships && data.relationships[name]) {\n if (data.relationships[name].data === null) {\n return [];\n } else if (data.relationships[name].data) {\n return data.relationships[name].data.map((c) => {\n return this.find(c.type, c.id);\n });\n }\n }\n },\n serialize: function serialize(resource, data, key) {\n if (resource[key]) {\n data.relationships[name || key] = {\n data: resource[key].map(x => {\n return { type: x.type, id: x.id };\n })\n };\n }\n }\n };\n }\n }\n\n constructor(adapter) {\n\n this._adapter = adapter;\n this._data = {};\n this._subject = new Rx.Subject();\n this._subscriptions = {};\n this._types = {};\n\n /**\n * An observable that will emit events when any resource in added, updated\n * or removed. The object passed to listeners will be in this format:\n *\n *
\n * { name: string, type: string, id: string, resource: object }\n * \n *\n * You can learn more about RxJS observables at the GitHub repo:\n * https://github.com/Reactive-Extensions/RxJS\n *\n * @type {Rx.Observable}\n * @since 0.6.0\n *\n * @example\n * let store = new Store();\n *\n * store.observable.filter(e => e.name === \"added\").subscribe(event => {\n * console.log(event.name); // \"added\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"updated\").subscribe(event => {\n * console.log(event.name); // \"updated\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"removed\").subscribe(event => {\n * console.log(event.name); // \"removed\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // null\n * });\n */\n this.observable = this._subject.asObservable();\n\n }\n\n /**\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - A JSON API Resource Object to be added. See:\n http://jsonapi.org/format/#document-resource-objects\n */\n add(object) {\n if (object) {\n if (object.type && object.id) {\n let name = this._data[object.type] && this._data[object.type][object.id] ? \"updated\" : \"added\";\n let resource = this.find(object.type, object.id);\n let definition = this._types[object.type];\n Object.keys(definition).forEach(fieldName => {\n if (fieldName[0] !== \"_\") {\n this._addField(object, resource, definition, fieldName);\n }\n });\n this._subject.onNext({\n name: name,\n type: object.type,\n id: object.id,\n resource: resource\n });\n } else {\n throw new TypeError(`The data must have a type and id`);\n }\n } else {\n throw new TypeError(`You must provide data to add`);\n }\n }\n\n /**\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n */\n convert(type, id, partial) {\n if (type && typeof type === \"object\") {\n return this.convert(type.type, type.id, type);\n } else if (id && typeof id === \"object\") {\n return this.convert(type, id.id, id);\n } else {\n let data = {\n type: type,\n attributes: {},\n relationships: {}\n };\n if (id) {\n data.id = id;\n }\n let definition = this._types[data.type];\n Object.keys(definition).forEach(fieldName => {\n if (fieldName[0] !== \"_\") {\n definition[fieldName].serialize(partial, data, fieldName);\n }\n });\n return data;\n }\n }\n\n /**\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n */\n create(type, partial, success, error, context) {\n if (this._adapter) {\n this._adapter.create(this, type, partial, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n */\n define(names, definition) {\n names = (names.constructor === Array) ? names : [ names ];\n if (definition) {\n definition._names = names;\n names.forEach(name => {\n if (!this._types[name]) {\n this._types[name] = definition;\n } else {\n throw new Error(`The type '${name}' has already been defined.`);\n }\n });\n } else {\n throw new Error(`You must provide a definition for the type '${names[0]}'.`);\n }\n }\n\n /**\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n */\n destroy(type, id, success, error, context) {\n if (this._adapter) {\n this._adapter.destroy(this, type, id, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n */\n find(type, id) {\n if (type) {\n let definition = this._types[type];\n if (definition) {\n if (!this._data[type]) {\n let collection = {};\n definition._names.forEach(t => this._data[t] = collection);\n }\n if (id) {\n if (!this._data[type][id]) {\n this._data[type][id] = {\n _dependents: [],\n type: type,\n id: id\n };\n Object.keys(definition).forEach(key => {\n if (key[0] !== \"_\") {\n this._data[type][id][key] = definition[key].default;\n }\n });\n }\n return this._data[type][id];\n } else {\n return Object.keys(this._data[type]).map(x => this._data[type][x]);\n }\n } else {\n throw new TypeError(`Unknown type '${type}'`);\n }\n } else {\n throw new TypeError(`You must provide a type`);\n }\n }\n\n /**\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n */\n load(type, id, options, success, error, context) {\n if (this._adapter) {\n this._adapter.load(this, type, id, options, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Unregister an event listener that was registered with on().\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n */\n off(event, type, id, callback) {\n console.warn([\n \"The `store.off()` method has been deprecated in favour of `store.observable`.\",\n \"For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0\"\n ].join(\"\\n\"));\n if (event === \"added\" || event === \"updated\" || event === \"removed\") {\n if (this._types[type]) {\n if (id && ({}).toString.call(id) === '[object Function]') {\n this.off.call(this, event, type, null, id, callback);\n } else if (this._subscriptions[event] && this._subscriptions[event][type] && this._subscriptions[event][type][id || \"*\"]) {\n this._subscriptions[event][type][id || \"*\"].dispose();\n delete this._subscriptions[event][type][id || \"*\"];\n }\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n } else {\n throw new Error(`Unknown event '${event}'`);\n }\n }\n\n /**\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n */\n on(event, type, id, callback, context) {\n console.warn([\n \"The `store.on()` method has been deprecated in favour of `store.observable`.\",\n \"For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0\"\n ].join(\"\\n\"));\n if (event === \"added\" || event === \"updated\" || event === \"removed\") {\n if (this._types[type]) {\n if (id && ({}).toString.call(id) === '[object Function]') {\n this.on.call(this, event, type, null, id, callback);\n } else if (!this._subscriptions[event] || !this._subscriptions[event][type] || !this._subscriptions[event][type][id || \"*\"]) {\n let subscription = this._subject.filter(e => e.name === event);\n subscription = subscription.filter(e => this._types[type]._names.indexOf(e.type) !== -1);\n if (id) {\n subscription = subscription.filter(e => e.id === id);\n }\n subscription = subscription.map(e => this.find(e.type, e.id));\n this._subscriptions[event] = this._subscriptions[event] || {};\n if (!this._subscriptions[event][type]) {\n let obj = {};\n this._types[type]._names.forEach(type => {\n this._subscriptions[event][type] = obj;\n });\n }\n this._subscriptions[event][type][id || \"*\"] = subscription.subscribe(callback.bind(context));\n }\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n } else {\n throw new Error(`Unknown event '${event}'`);\n }\n }\n\n /**\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n */\n push(root) {\n if (root.data.constructor === Array) {\n root.data.forEach(x => this.add(x));\n } else {\n this.add(root.data);\n }\n if (root.included) {\n root.included.forEach(x => this.add(x));\n }\n }\n\n /**\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n */\n remove(type, id) {\n if (type) {\n if (this._types[type]) {\n if (id) {\n let resource = this._data[type] && this._data[type][id];\n if (resource) {\n this._remove(resource);\n this._subject.onNext({\n name: \"removed\",\n type: type,\n id: id,\n resource: null\n });\n }\n } else {\n Object.keys(this._data[type]).forEach(id => this.remove(type, id));\n }\n } else {\n throw new TypeError(`Unknown type '${type}'`);\n }\n } else {\n throw new TypeError(`You must provide a type to remove`);\n }\n }\n\n /**\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n */\n update(type, id, partial, success, error, context) {\n if (this._adapter) {\n this._adapter.update(this, type, id, partial, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n _addField(object, resource, definition, fieldName) {\n var field = definition[fieldName];\n var newValue = field.deserialize.call(this, object, fieldName);\n if (typeof newValue !== \"undefined\") {\n if (field.type === \"has-one\") {\n if (resource[fieldName]) {\n this._removeInverseRelationship(resource, fieldName, resource[fieldName], field);\n }\n if (newValue) {\n this._addInverseRelationship(resource, fieldName, newValue, field);\n }\n } else if (field.type === \"has-many\") {\n resource[fieldName].forEach(r => {\n if (resource[fieldName].indexOf(r) !== -1) {\n this._removeInverseRelationship(resource, fieldName, r, field);\n }\n });\n newValue.forEach(r => {\n this._addInverseRelationship(resource, fieldName, r, field);\n });\n }\n resource[fieldName] = newValue;\n }\n }\n\n _addInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {\n var targetDefinition = this._types[targetResource.type];\n var sourceDefinition = this._types[sourceResource.type];\n if (targetDefinition) {\n let targetFieldName = [ sourceField.inverse ].concat(sourceDefinition._names).find(x => targetDefinition[x]);\n let targetField = targetDefinition && targetDefinition[targetFieldName];\n targetResource._dependents.push({ type: sourceResource.type, id: sourceResource.id, fieldName: sourceFieldName });\n if (targetField) {\n if (targetField.type === \"has-one\") {\n sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });\n targetResource[targetFieldName] = sourceResource;\n } else if (targetField.type === \"has-many\") {\n sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });\n if (targetResource[targetFieldName].indexOf(sourceResource) === -1) {\n targetResource[targetFieldName].push(sourceResource);\n }\n } else if (targetField.type === \"attr\") {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);\n }\n } else if (sourceField.inverse) {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);\n }\n }\n }\n\n _remove(resource) {\n resource._dependents.forEach(dependent => {\n let dependentResource = this._data[dependent.type][dependent.id];\n switch (this._types[dependent.type][dependent.fieldName].type) {\n case \"has-one\": {\n dependentResource[dependent.fieldName] = null;\n break;\n }\n case \"has-many\": {\n let index = dependentResource[dependent.fieldName].indexOf(resource);\n if (index !== -1) {\n dependentResource[dependent.fieldName].splice(index, 1);\n }\n break;\n }\n default: {\n break;\n }\n }\n // TODO: This only needs to be run once for each dependent.\n dependentResource._dependents = dependentResource._dependents.filter(d => {\n return !(d.type === resource.type && d.id === resource.id);\n });\n });\n delete this._data[resource.type][resource.id];\n }\n\n _removeInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {\n var targetDefinition = this._types[targetResource.type];\n var targetFieldName = sourceField.inverse || sourceResource.type;\n var targetField = targetDefinition && targetDefinition[targetFieldName];\n targetResource._dependents = targetResource._dependents.filter(r => {\n return !(r.type === sourceResource.type && r.id === sourceResource.id && r.fieldName === sourceFieldName);\n });\n if (targetField) {\n if (targetField.type === \"has-one\") {\n sourceResource._dependents = sourceResource._dependents.filter(r => {\n return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);\n });\n targetResource[targetFieldName] = null;\n } else if (targetField.type === \"has-many\") {\n sourceResource._dependents = sourceResource._dependents.filter(r => {\n return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);\n });\n targetResource[targetFieldName] = targetResource[targetFieldName].filter(r => {\n return r !== sourceResource;\n });\n } else if (targetField.type === \"attr\") {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);\n }\n } else if (sourceField.inverse) {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);\n }\n }\n\n}\n\nStore.AjaxAdapter = AjaxAdapter;\n"
]
}
\ No newline at end of file
diff --git a/dist/store.js b/dist/store.js
index 6029c28..2a837ef 100644
--- a/dist/store.js
+++ b/dist/store.js
@@ -462,6 +462,7 @@ var Store = (function () {
}, {
key: "off",
value: function off(event, type, id, callback) {
+ console.warn(["The `store.off()` method has been deprecated in favour of `store.observable`.", "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0"].join("\n"));
if (event === "added" || event === "updated" || event === "removed") {
if (this._types[type]) {
if (id && ({}).toString.call(id) === '[object Function]') {
@@ -494,6 +495,7 @@ var Store = (function () {
value: function on(event, type, id, callback, context) {
var _this6 = this;
+ console.warn(["The `store.on()` method has been deprecated in favour of `store.observable`.", "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0"].join("\n"));
if (event === "added" || event === "updated" || event === "removed") {
if (this._types[type]) {
if (id && ({}).toString.call(id) === '[object Function]') {
diff --git a/dist/store.prod.js b/dist/store.prod.js
index 8c6c720..2f9a92f 100644
--- a/dist/store.prod.js
+++ b/dist/store.prod.js
@@ -6500,7 +6500,7 @@ observableProto.controlled = function (enableQueue, scheduler) {
"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var n=0;n=200&&i.status<300){var t=JSON.parse(i.responseText);try{e.push(t),a&&a.call(s,e.find(t.data.type,t.data.id))}catch(n){o&&o.call(s,n)}}else o&&o.call(s)},i.send(JSON.stringify({data:e.convert(t,n)}))}()}}},{key:"destroy",value:function(e,t,n,a,o,s){var l=this;if(o&&"[object Function]"!=={}.toString.call(o))this.destroy(e,t,n,a,null,o);else{if(!e._types[t])throw new Error("Unknown type '"+t+"'");!function(){var i=new XMLHttpRequest;i.open("DELETE",l._base+"/"+t+"/"+n,!0),i.setRequestHeader("Content-Type","application/vnd.api+json"),i.onload=function(){if(i.status>=200&&i.status<300)try{e.remove(t,n),a&&a.call(s)}catch(l){o.call(s,l)}else o&&o.call(s)},i.send()}()}}},{key:"load",value:function(e,t,n,a,o,s,l){var i=this;if(n&&"[object Function]"==={}.toString.call(n))this.load(e,t,null,null,n,a,o);else if(n&&"object"==typeof n)this.load(e,t,null,n,a,o,s);else if(a&&"[object Function]"==={}.toString.call(a))this.load(e,t,n,{},a,o,s);else if(s&&"[object Function]"!=={}.toString.call(s))this.load(e,t,n,a,o,null,s);else{if(!e._types[t])throw new Error("Unknown type '"+t+"'");!function(){var r=new XMLHttpRequest,c=void 0;if(a=a||{},c=n?i._base+"/"+t+"/"+n:i._base+"/"+t,a){var u=[];a.fields&&(Object.keys(a.fields).forEach(function(e){a["fields["+e+"]"]=a.fields[e]}),delete a.fields),u=Object.keys(a).map(function(e){return e+"="+encodeURIComponent(a[e])}).sort(),u.length&&(c=c+"?"+u.join("&"))}r.open("GET",c,!0),r.setRequestHeader("Content-Type","application/vnd.api+json"),r.onload=function(){if(r.status>=200&&r.status<300)try{e.push(JSON.parse(r.responseText)),o&&o.call(l,n?e.find(t,n):e.find(t))}catch(a){s.call({},a)}else s&&s.call(l)},r.send()}()}}},{key:"update",value:function(e,t,n,a,o,s,l){var i=this;if(s&&"[object Function]"!=={}.toString.call(s))this.update(e,t,n,a,o,null,s);else{if(!e._types[t])throw new Error("Unknown type '"+t+"'");!function(){var r=new XMLHttpRequest,c=e.convert(t,n,a);r.open("PATCH",i._base+"/"+t+"/"+n,!0),r.setRequestHeader("Content-Type","application/vnd.api+json"),r.onload=function(){if(r.status>=200&&r.status<300)try{e.add(c),o&&o.call(l,e.find(c.type,c.id))}catch(t){s&&s.call(l,t)}else s&&s.call(l)},r.send(JSON.stringify({data:c}))}()}}}]),e}();exports["default"]=AjaxAdapter,module.exports=exports["default"];
},{}],5:[function(require,module,exports){
-"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,t){for(var i=0;i=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 576,
+ 583
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 584,
+ 590
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 20
+ },
+ "end": {
+ "line": 22,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 576,
+ 590
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 594,
+ 597
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 30
+ },
+ "end": {
+ "line": 22,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 576,
+ 597
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 601,
+ 608
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 37
+ },
+ "end": {
+ "line": 22,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 609,
+ 615
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 45
+ },
+ "end": {
+ "line": 22,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 601,
+ 615
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 37
+ },
+ "end": {
+ "line": 22,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 618,
+ 621
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 54
+ },
+ "end": {
+ "line": 22,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 601,
+ 621
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 37
+ },
+ "end": {
+ "line": 22,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 576,
+ 621
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 639,
+ 647
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 14
+ },
+ "end": {
+ "line": 23,
+ "column": 22
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 650,
+ 654
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 25
+ },
+ "end": {
+ "line": 23,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "parse",
+ "range": [
+ 655,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 30
+ },
+ "end": {
+ "line": 23,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 650,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 25
+ },
+ "end": {
+ "line": 23,
+ "column": 35
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 661,
+ 668
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 36
+ },
+ "end": {
+ "line": 23,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "responseText",
+ "range": [
+ 669,
+ 681
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 44
+ },
+ "end": {
+ "line": 23,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 661,
+ 681
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 36
+ },
+ "end": {
+ "line": 23,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 650,
+ 682
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 25
+ },
+ "end": {
+ "line": 23,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 639,
+ 682
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 14
+ },
+ "end": {
+ "line": 23,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 635,
+ 683
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 10
+ },
+ "end": {
+ "line": 23,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 712,
+ 717
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 718,
+ 722
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 18
+ },
+ "end": {
+ "line": 25,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 712,
+ 722
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 723,
+ 731
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 23
+ },
+ "end": {
+ "line": 25,
+ "column": 31
+ }
+ }
+ }
+ ],
+ "range": [
+ 712,
+ 732
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 712,
+ 733
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 750,
+ 757
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 16
+ },
+ "end": {
+ "line": 26,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 775,
+ 782
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 783,
+ 787
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 22
+ },
+ "end": {
+ "line": 27,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 775,
+ 787
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 788,
+ 795
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 27
+ },
+ "end": {
+ "line": 27,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 797,
+ 802
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 803,
+ 807
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 42
+ },
+ "end": {
+ "line": 27,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 797,
+ 807
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 46
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 808,
+ 816
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 47
+ },
+ "end": {
+ "line": 27,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 817,
+ 821
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 56
+ },
+ "end": {
+ "line": 27,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 808,
+ 821
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 47
+ },
+ "end": {
+ "line": 27,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 822,
+ 826
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 61
+ },
+ "end": {
+ "line": 27,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 808,
+ 826
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 47
+ },
+ "end": {
+ "line": 27,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 828,
+ 836
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 67
+ },
+ "end": {
+ "line": 27,
+ "column": 75
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 837,
+ 841
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 76
+ },
+ "end": {
+ "line": 27,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 828,
+ 841
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 67
+ },
+ "end": {
+ "line": 27,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 842,
+ 844
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 81
+ },
+ "end": {
+ "line": 27,
+ "column": 83
+ }
+ }
+ },
+ "range": [
+ 828,
+ 844
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 67
+ },
+ "end": {
+ "line": 27,
+ "column": 83
+ }
+ }
+ }
+ ],
+ "range": [
+ 797,
+ 845
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 84
+ }
+ }
+ }
+ ],
+ "range": [
+ 775,
+ 846
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 85
+ }
+ }
+ },
+ "range": [
+ 775,
+ 847
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 86
+ }
+ }
+ }
+ ],
+ "range": [
+ 759,
+ 861
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 25
+ },
+ "end": {
+ "line": 28,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 746,
+ 861
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 12
+ },
+ "end": {
+ "line": 28,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 698,
+ 873
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 14
+ },
+ "end": {
+ "line": 29,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 881,
+ 882
+ ],
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 902,
+ 907
+ ],
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 16
+ },
+ "end": {
+ "line": 30,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 925,
+ 930
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 931,
+ 935
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 20
+ },
+ "end": {
+ "line": 31,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 925,
+ 935
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 936,
+ 943
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 25
+ },
+ "end": {
+ "line": 31,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 945,
+ 946
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 34
+ },
+ "end": {
+ "line": 31,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 925,
+ 947
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 925,
+ 948
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 909,
+ 962
+ ],
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 23
+ },
+ "end": {
+ "line": 32,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 898,
+ 962
+ ],
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 12
+ },
+ "end": {
+ "line": 32,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 884,
+ 974
+ ],
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 22
+ },
+ "end": {
+ "line": 33,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 874,
+ 974
+ ],
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 12
+ },
+ "end": {
+ "line": 33,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 694,
+ 974
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 10
+ },
+ "end": {
+ "line": 33,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 623,
+ 984
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 59
+ },
+ "end": {
+ "line": 34,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1006,
+ 1011
+ ],
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 14
+ },
+ "end": {
+ "line": 35,
+ "column": 19
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1027,
+ 1032
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1033,
+ 1037
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 18
+ },
+ "end": {
+ "line": 36,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 1027,
+ 1037
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1038,
+ 1045
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 23
+ },
+ "end": {
+ "line": 36,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 1027,
+ 1046
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 1027,
+ 1047
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 32
+ }
+ }
+ }
+ ],
+ "range": [
+ 1013,
+ 1059
+ ],
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 21
+ },
+ "end": {
+ "line": 37,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1002,
+ 1059
+ ],
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 10
+ },
+ "end": {
+ "line": 37,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 990,
+ 1069
+ ],
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 15
+ },
+ "end": {
+ "line": 38,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 572,
+ 1069
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 38,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 562,
+ 1077
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 35
+ },
+ "end": {
+ "line": 39,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 550,
+ 1077
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 23
+ },
+ "end": {
+ "line": 39,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 533,
+ 1077
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 39,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 533,
+ 1078
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 39,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1086,
+ 1093
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 41,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 1094,
+ 1098
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 14
+ },
+ "end": {
+ "line": 41,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 1086,
+ 1098
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 41,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 1099,
+ 1103
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 19
+ },
+ "end": {
+ "line": 41,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "stringify",
+ "range": [
+ 1104,
+ 1113
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 24
+ },
+ "end": {
+ "line": 41,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 1099,
+ 1113
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 19
+ },
+ "end": {
+ "line": 41,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1124,
+ 1128
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1130,
+ 1135
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 14
+ },
+ "end": {
+ "line": 42,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 1136,
+ 1143
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 20
+ },
+ "end": {
+ "line": 42,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 1130,
+ 1143
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 14
+ },
+ "end": {
+ "line": 42,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1144,
+ 1148
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 28
+ },
+ "end": {
+ "line": 42,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 1150,
+ 1157
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 34
+ },
+ "end": {
+ "line": 42,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 1130,
+ 1158
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 14
+ },
+ "end": {
+ "line": 42,
+ "column": 42
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1124,
+ 1158
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "range": [
+ 1114,
+ 1166
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 34
+ },
+ "end": {
+ "line": 43,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 1099,
+ 1167
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 19
+ },
+ "end": {
+ "line": 43,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 1086,
+ 1168
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 1086,
+ 1169
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 10
+ }
+ }
+ }
+ ],
+ "range": [
+ 344,
+ 1176
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 35
+ },
+ "end": {
+ "line": 45,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 1200,
+ 1205
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 16
+ },
+ "end": {
+ "line": 46,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 1206,
+ 1223
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 22
+ },
+ "end": {
+ "line": 46,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 1227,
+ 1230
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 43
+ },
+ "end": {
+ "line": 46,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1223,
+ 1227
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 39
+ },
+ "end": {
+ "line": 46,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 1206,
+ 1230
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 22
+ },
+ "end": {
+ "line": 46,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 1196,
+ 1231
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 12
+ },
+ "end": {
+ "line": 46,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 1190,
+ 1232
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 6
+ },
+ "end": {
+ "line": 46,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 1182,
+ 1238
+ ],
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 11
+ },
+ "end": {
+ "line": 47,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 320,
+ 1238
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 11
+ },
+ "end": {
+ "line": 47,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 180,
+ 1238
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 47,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 173,
+ 1243
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 56
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 125,
+ 1243
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 8
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 119,
+ 1243
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 1247,
+ 1254
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 2
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1255,
+ 1260
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 15
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1262,
+ 1266
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 17
+ },
+ "end": {
+ "line": 51,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1268,
+ 1270
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 23
+ },
+ "end": {
+ "line": 51,
+ "column": 25
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1272,
+ 1279
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 27
+ },
+ "end": {
+ "line": 51,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1281,
+ 1286
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 36
+ },
+ "end": {
+ "line": 51,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1288,
+ 1295
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 43
+ },
+ "end": {
+ "line": 51,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1308,
+ 1313
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 8
+ },
+ "end": {
+ "line": 53,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 1317,
+ 1319
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 1320,
+ 1328
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 20
+ },
+ "end": {
+ "line": 53,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1317,
+ 1328
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1329,
+ 1333
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 29
+ },
+ "end": {
+ "line": 53,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 1317,
+ 1333
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1334,
+ 1339
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 34
+ },
+ "end": {
+ "line": 53,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 1317,
+ 1340
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 1345,
+ 1364
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 45
+ },
+ "end": {
+ "line": 53,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 1317,
+ 1364
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 1308,
+ 1364
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 8
+ },
+ "end": {
+ "line": 53,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 1375,
+ 1379
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 1380,
+ 1387
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 11
+ },
+ "end": {
+ "line": 55,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 1375,
+ 1387
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1388,
+ 1393
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 19
+ },
+ "end": {
+ "line": 55,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1395,
+ 1399
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 26
+ },
+ "end": {
+ "line": 55,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1401,
+ 1403
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 32
+ },
+ "end": {
+ "line": 55,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1405,
+ 1412
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 36
+ },
+ "end": {
+ "line": 55,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1414,
+ 1418
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 45
+ },
+ "end": {
+ "line": 55,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1420,
+ 1425
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 51
+ },
+ "end": {
+ "line": 55,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 1375,
+ 1426
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 1375,
+ 1427
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "range": [
+ 1366,
+ 1434
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 66
+ },
+ "end": {
+ "line": 57,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1444,
+ 1449
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 15
+ },
+ "end": {
+ "line": 57,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 1450,
+ 1456
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 21
+ },
+ "end": {
+ "line": 57,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 1444,
+ 1456
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 15
+ },
+ "end": {
+ "line": 57,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1457,
+ 1461
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 28
+ },
+ "end": {
+ "line": 57,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 1444,
+ 1462
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 15
+ },
+ "end": {
+ "line": 57,
+ "column": 33
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1477,
+ 1484
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 10
+ },
+ "end": {
+ "line": 59,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "XMLHttpRequest",
+ "range": [
+ 1491,
+ 1505
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 24
+ },
+ "end": {
+ "line": 59,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 1487,
+ 1507
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 20
+ },
+ "end": {
+ "line": 59,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 1477,
+ 1507
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 10
+ },
+ "end": {
+ "line": 59,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 1473,
+ 1508
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 6
+ },
+ "end": {
+ "line": 59,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1516,
+ 1523
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "open",
+ "range": [
+ 1524,
+ 1528
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 14
+ },
+ "end": {
+ "line": 61,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 1516,
+ 1528
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "DELETE",
+ "raw": "'DELETE'",
+ "range": [
+ 1529,
+ 1537
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 19
+ },
+ "end": {
+ "line": 61,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 1539,
+ 1542
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 29
+ },
+ "end": {
+ "line": 61,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 1552,
+ 1556
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 42
+ },
+ "end": {
+ "line": 61,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 1560,
+ 1564
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 50
+ },
+ "end": {
+ "line": 61,
+ "column": 54
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 1566,
+ 1568
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 56
+ },
+ "end": {
+ "line": 61,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 1542,
+ 1546
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 32
+ },
+ "end": {
+ "line": 61,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 1547,
+ 1552
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 37
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 1542,
+ 1552
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 32
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1556,
+ 1560
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 46
+ },
+ "end": {
+ "line": 61,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1564,
+ 1566
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 54
+ },
+ "end": {
+ "line": 61,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 1539,
+ 1568
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 29
+ },
+ "end": {
+ "line": 61,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": true,
+ "raw": "true",
+ "range": [
+ 1570,
+ 1574
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 60
+ },
+ "end": {
+ "line": 61,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 1516,
+ 1575
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 1516,
+ 1576
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1584,
+ 1591
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "setRequestHeader",
+ "range": [
+ 1592,
+ 1608
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 14
+ },
+ "end": {
+ "line": 63,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 1584,
+ 1608
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Content-Type",
+ "raw": "\"Content-Type\"",
+ "range": [
+ 1609,
+ 1623
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 31
+ },
+ "end": {
+ "line": 63,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "application/vnd.api+json",
+ "raw": "\"application/vnd.api+json\"",
+ "range": [
+ 1625,
+ 1651
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 47
+ },
+ "end": {
+ "line": 63,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 1584,
+ 1652
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 1584,
+ 1653
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 75
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1661,
+ 1668
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 65,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onload",
+ "range": [
+ 1669,
+ 1675
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 14
+ },
+ "end": {
+ "line": 65,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 1661,
+ 1675
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 65,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": ">=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1704,
+ 1711
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 1712,
+ 1718
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 20
+ },
+ "end": {
+ "line": 66,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 1704,
+ 1718
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 1722,
+ 1725
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 30
+ },
+ "end": {
+ "line": 66,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 1704,
+ 1725
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1729,
+ 1736
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 37
+ },
+ "end": {
+ "line": 66,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 1737,
+ 1743
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 45
+ },
+ "end": {
+ "line": 66,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 1729,
+ 1743
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 37
+ },
+ "end": {
+ "line": 66,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 1746,
+ 1749
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 54
+ },
+ "end": {
+ "line": 66,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 1729,
+ 1749
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 37
+ },
+ "end": {
+ "line": 66,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 1704,
+ 1749
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1781,
+ 1786
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "remove",
+ "range": [
+ 1787,
+ 1793
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 18
+ },
+ "end": {
+ "line": 68,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 1781,
+ 1793
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1794,
+ 1798
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 25
+ },
+ "end": {
+ "line": 68,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1800,
+ 1802
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 31
+ },
+ "end": {
+ "line": 68,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 1781,
+ 1803
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 1781,
+ 1804
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1821,
+ 1828
+ ],
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 16
+ },
+ "end": {
+ "line": 69,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1846,
+ 1853
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1854,
+ 1858
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 22
+ },
+ "end": {
+ "line": 70,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 1846,
+ 1858
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1859,
+ 1866
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 27
+ },
+ "end": {
+ "line": 70,
+ "column": 34
+ }
+ }
+ }
+ ],
+ "range": [
+ 1846,
+ 1867
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 1846,
+ 1868
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 1830,
+ 1882
+ ],
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 25
+ },
+ "end": {
+ "line": 71,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1817,
+ 1882
+ ],
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 12
+ },
+ "end": {
+ "line": 71,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 1767,
+ 1894
+ ],
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 14
+ },
+ "end": {
+ "line": 72,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 1902,
+ 1903
+ ],
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 19
+ },
+ "end": {
+ "line": 72,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1919,
+ 1924
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1925,
+ 1929
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 18
+ },
+ "end": {
+ "line": 73,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 1919,
+ 1929
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1930,
+ 1937
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 23
+ },
+ "end": {
+ "line": 73,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 1939,
+ 1940
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 32
+ },
+ "end": {
+ "line": 73,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 1919,
+ 1941
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 1919,
+ 1942
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 1905,
+ 1954
+ ],
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 22
+ },
+ "end": {
+ "line": 74,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 1895,
+ 1954
+ ],
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 12
+ },
+ "end": {
+ "line": 74,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 1763,
+ 1954
+ ],
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 10
+ },
+ "end": {
+ "line": 74,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 1751,
+ 1964
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 59
+ },
+ "end": {
+ "line": 75,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1974,
+ 1979
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 19
+ },
+ "end": {
+ "line": 75,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1993,
+ 1998
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1999,
+ 2003
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 16
+ },
+ "end": {
+ "line": 76,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 1993,
+ 2003
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 20
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 2004,
+ 2011
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 21
+ },
+ "end": {
+ "line": 76,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 1993,
+ 2012
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 1993,
+ 2013
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 1981,
+ 2023
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 26
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1970,
+ 2023
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 15
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 1700,
+ 2023
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 8
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 1690,
+ 2031
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 35
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1678,
+ 2031
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 23
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 1661,
+ 2031
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 1661,
+ 2032
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 78,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 2040,
+ 2047
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 2048,
+ 2052
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 14
+ },
+ "end": {
+ "line": 80,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 2040,
+ 2052
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 2040,
+ 2054
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 2040,
+ 2055
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "range": [
+ 1464,
+ 2062
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 35
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 2086,
+ 2091
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 16
+ },
+ "end": {
+ "line": 83,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 2092,
+ 2109
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 22
+ },
+ "end": {
+ "line": 83,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 2113,
+ 2116
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 43
+ },
+ "end": {
+ "line": 83,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2109,
+ 2113
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 39
+ },
+ "end": {
+ "line": 83,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 2092,
+ 2116
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 22
+ },
+ "end": {
+ "line": 83,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 2082,
+ 2117
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 12
+ },
+ "end": {
+ "line": 83,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 2076,
+ 2118
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 6
+ },
+ "end": {
+ "line": 83,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 2068,
+ 2124
+ ],
+ "loc": {
+ "start": {
+ "line": 82,
+ "column": 11
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 1440,
+ 2124
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 11
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 1304,
+ 2124
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 4
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 1297,
+ 2129
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 52
+ },
+ "end": {
+ "line": 86,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1254,
+ 2129
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 9
+ },
+ "end": {
+ "line": 86,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 1247,
+ 2129
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 2
+ },
+ "end": {
+ "line": 86,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2133,
+ 2137
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 2
+ },
+ "end": {
+ "line": 88,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2138,
+ 2143
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 7
+ },
+ "end": {
+ "line": 88,
+ "column": 12
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2145,
+ 2149
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 14
+ },
+ "end": {
+ "line": 88,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2151,
+ 2153
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 20
+ },
+ "end": {
+ "line": 88,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2155,
+ 2162
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 24
+ },
+ "end": {
+ "line": 88,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2164,
+ 2171
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 33
+ },
+ "end": {
+ "line": 88,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2173,
+ 2178
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 42
+ },
+ "end": {
+ "line": 88,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 2180,
+ 2187
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 49
+ },
+ "end": {
+ "line": 88,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2200,
+ 2202
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 10
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2206,
+ 2208
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 2209,
+ 2217
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 17
+ },
+ "end": {
+ "line": 90,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 2206,
+ 2217
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 2218,
+ 2222
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 26
+ },
+ "end": {
+ "line": 90,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 2206,
+ 2222
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2223,
+ 2225
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 31
+ },
+ "end": {
+ "line": 90,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 2206,
+ 2226
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 2231,
+ 2250
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 39
+ },
+ "end": {
+ "line": 90,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 2206,
+ 2250
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 2200,
+ 2250
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 58
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2260,
+ 2264
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2265,
+ 2269
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 11
+ },
+ "end": {
+ "line": 91,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2260,
+ 2269
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2270,
+ 2275
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 16
+ },
+ "end": {
+ "line": 91,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2277,
+ 2281
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 23
+ },
+ "end": {
+ "line": 91,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2283,
+ 2287
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 29
+ },
+ "end": {
+ "line": 91,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2289,
+ 2293
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 35
+ },
+ "end": {
+ "line": 91,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2295,
+ 2297
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 41
+ },
+ "end": {
+ "line": 91,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2299,
+ 2306
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 45
+ },
+ "end": {
+ "line": 91,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2308,
+ 2315
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 54
+ },
+ "end": {
+ "line": 91,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "range": [
+ 2260,
+ 2316
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 2260,
+ 2317
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 2252,
+ 2323
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 60
+ },
+ "end": {
+ "line": 92,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2333,
+ 2335
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 15
+ },
+ "end": {
+ "line": 92,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2346,
+ 2348
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 28
+ },
+ "end": {
+ "line": 92,
+ "column": 30
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 2339,
+ 2348
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 21
+ },
+ "end": {
+ "line": 92,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "\"object\"",
+ "range": [
+ 2353,
+ 2361
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 35
+ },
+ "end": {
+ "line": 92,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2339,
+ 2361
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 21
+ },
+ "end": {
+ "line": 92,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2333,
+ 2361
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 15
+ },
+ "end": {
+ "line": 92,
+ "column": 43
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2371,
+ 2375
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2376,
+ 2380
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 11
+ },
+ "end": {
+ "line": 93,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2371,
+ 2380
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2381,
+ 2386
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 16
+ },
+ "end": {
+ "line": 93,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2388,
+ 2392
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 23
+ },
+ "end": {
+ "line": 93,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2394,
+ 2398
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 29
+ },
+ "end": {
+ "line": 93,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2400,
+ 2402
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 35
+ },
+ "end": {
+ "line": 93,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2404,
+ 2411
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 39
+ },
+ "end": {
+ "line": 93,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2413,
+ 2420
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 48
+ },
+ "end": {
+ "line": 93,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2422,
+ 2427
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 57
+ },
+ "end": {
+ "line": 93,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 2371,
+ 2428
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 2371,
+ 2429
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 2363,
+ 2435
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 45
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2445,
+ 2452
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 15
+ },
+ "end": {
+ "line": 94,
+ "column": 22
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2456,
+ 2458
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 2459,
+ 2467
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 29
+ },
+ "end": {
+ "line": 94,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 2456,
+ 2467
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 2468,
+ 2472
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 38
+ },
+ "end": {
+ "line": 94,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2456,
+ 2472
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 42
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2473,
+ 2480
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 43
+ },
+ "end": {
+ "line": 94,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 2456,
+ 2481
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 2486,
+ 2505
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 56
+ },
+ "end": {
+ "line": 94,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 2456,
+ 2505
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 2445,
+ 2505
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 15
+ },
+ "end": {
+ "line": 94,
+ "column": 75
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2515,
+ 2519
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2520,
+ 2524
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 11
+ },
+ "end": {
+ "line": 95,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2515,
+ 2524
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2525,
+ 2530
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2532,
+ 2536
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 23
+ },
+ "end": {
+ "line": 95,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2538,
+ 2540
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 29
+ },
+ "end": {
+ "line": 95,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2542,
+ 2544
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 33
+ },
+ "end": {
+ "line": 95,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2546,
+ 2553
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 37
+ },
+ "end": {
+ "line": 95,
+ "column": 44
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2555,
+ 2562
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 46
+ },
+ "end": {
+ "line": 95,
+ "column": 53
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2564,
+ 2569
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 55
+ },
+ "end": {
+ "line": 95,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 2515,
+ 2570
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 2515,
+ 2571
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 2507,
+ 2577
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 77
+ },
+ "end": {
+ "line": 96,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2587,
+ 2592
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 15
+ },
+ "end": {
+ "line": 96,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2596,
+ 2598
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 2599,
+ 2607
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 27
+ },
+ "end": {
+ "line": 96,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 2596,
+ 2607
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 2608,
+ 2612
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 36
+ },
+ "end": {
+ "line": 96,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2596,
+ 2612
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 40
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2613,
+ 2618
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 41
+ },
+ "end": {
+ "line": 96,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 2596,
+ 2619
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 47
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 2624,
+ 2643
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 52
+ },
+ "end": {
+ "line": 96,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 2596,
+ 2643
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 2587,
+ 2643
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 15
+ },
+ "end": {
+ "line": 96,
+ "column": 71
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2653,
+ 2657
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2658,
+ 2662
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 11
+ },
+ "end": {
+ "line": 97,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2653,
+ 2662
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2663,
+ 2668
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 16
+ },
+ "end": {
+ "line": 97,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2670,
+ 2674
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 23
+ },
+ "end": {
+ "line": 97,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2676,
+ 2678
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 29
+ },
+ "end": {
+ "line": 97,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2680,
+ 2687
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 33
+ },
+ "end": {
+ "line": 97,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2689,
+ 2696
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 42
+ },
+ "end": {
+ "line": 97,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2698,
+ 2702
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 51
+ },
+ "end": {
+ "line": 97,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2704,
+ 2709
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 57
+ },
+ "end": {
+ "line": 97,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 2653,
+ 2710
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 2653,
+ 2711
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 2645,
+ 2717
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 73
+ },
+ "end": {
+ "line": 98,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2727,
+ 2732
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 15
+ },
+ "end": {
+ "line": 98,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 2733,
+ 2739
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 98,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 2727,
+ 2739
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 15
+ },
+ "end": {
+ "line": 98,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2740,
+ 2744
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 28
+ },
+ "end": {
+ "line": 98,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 2727,
+ 2745
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 15
+ },
+ "end": {
+ "line": 98,
+ "column": 33
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 2760,
+ 2767
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 10
+ },
+ "end": {
+ "line": 100,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "XMLHttpRequest",
+ "range": [
+ 2774,
+ 2788
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 24
+ },
+ "end": {
+ "line": 100,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 2770,
+ 2790
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 20
+ },
+ "end": {
+ "line": 100,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2760,
+ 2790
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 10
+ },
+ "end": {
+ "line": 100,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 2756,
+ 2791
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 6
+ },
+ "end": {
+ "line": 100,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 2802,
+ 2805
+ ],
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 10
+ },
+ "end": {
+ "line": 101,
+ "column": 13
+ }
+ }
+ },
+ "init": null,
+ "range": [
+ 2802,
+ 2805
+ ],
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 10
+ },
+ "end": {
+ "line": 101,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 2798,
+ 2806
+ ],
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 6
+ },
+ "end": {
+ "line": 101,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2814,
+ 2821
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 6
+ },
+ "end": {
+ "line": 103,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2824,
+ 2831
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 16
+ },
+ "end": {
+ "line": 103,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2835,
+ 2837
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 27
+ },
+ "end": {
+ "line": 103,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 2824,
+ 2837
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 16
+ },
+ "end": {
+ "line": 103,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 2814,
+ 2837
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 6
+ },
+ "end": {
+ "line": 103,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 2814,
+ 2838
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 6
+ },
+ "end": {
+ "line": 103,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 2845,
+ 2848
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 6
+ },
+ "end": {
+ "line": 104,
+ "column": 9
+ }
+ }
+ },
+ "right": {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2851,
+ 2853
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 12
+ },
+ "end": {
+ "line": 104,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 2856,
+ 2859
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 17
+ },
+ "end": {
+ "line": 104,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 2869,
+ 2873
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 30
+ },
+ "end": {
+ "line": 104,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 2877,
+ 2881
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 38
+ },
+ "end": {
+ "line": 104,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 2883,
+ 2885
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 44
+ },
+ "end": {
+ "line": 104,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2859,
+ 2863
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 20
+ },
+ "end": {
+ "line": 104,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 2864,
+ 2869
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 25
+ },
+ "end": {
+ "line": 104,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 2859,
+ 2869
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 20
+ },
+ "end": {
+ "line": 104,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2873,
+ 2877
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 34
+ },
+ "end": {
+ "line": 104,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2881,
+ 2883
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 42
+ },
+ "end": {
+ "line": 104,
+ "column": 44
+ }
+ }
+ }
+ ],
+ "range": [
+ 2856,
+ 2885
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 17
+ },
+ "end": {
+ "line": 104,
+ "column": 46
+ }
+ }
+ },
+ "alternate": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 2888,
+ 2891
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 49
+ },
+ "end": {
+ "line": 104,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 2901,
+ 2905
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 62
+ },
+ "end": {
+ "line": 104,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 2909,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 70
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2891,
+ 2895
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 52
+ },
+ "end": {
+ "line": 104,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 2896,
+ 2901
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 57
+ },
+ "end": {
+ "line": 104,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 2891,
+ 2901
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 52
+ },
+ "end": {
+ "line": 104,
+ "column": 62
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2905,
+ 2909
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 66
+ },
+ "end": {
+ "line": 104,
+ "column": 70
+ }
+ }
+ }
+ ],
+ "range": [
+ 2888,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 49
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 2851,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 12
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 2845,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 6
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 2845,
+ 2912
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 6
+ },
+ "end": {
+ "line": 104,
+ "column": 73
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2924,
+ 2931
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 10
+ },
+ "end": {
+ "line": 106,
+ "column": 17
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 2948,
+ 2954
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 12
+ },
+ "end": {
+ "line": 108,
+ "column": 18
+ }
+ }
+ },
+ "init": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 2957,
+ 2959
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 21
+ },
+ "end": {
+ "line": 108,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 2948,
+ 2959
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 12
+ },
+ "end": {
+ "line": 108,
+ "column": 23
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 2944,
+ 2960
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 8
+ },
+ "end": {
+ "line": 108,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2974,
+ 2981
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 12
+ },
+ "end": {
+ "line": 110,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 2982,
+ 2988
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 20
+ },
+ "end": {
+ "line": 110,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 2974,
+ 2988
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 12
+ },
+ "end": {
+ "line": 110,
+ "column": 26
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 3002,
+ 3008
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 3009,
+ 3013
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 17
+ },
+ "end": {
+ "line": 111,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 3002,
+ 3013
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3014,
+ 3021
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 22
+ },
+ "end": {
+ "line": 111,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 3022,
+ 3028
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 30
+ },
+ "end": {
+ "line": 111,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 3014,
+ 3028
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 22
+ },
+ "end": {
+ "line": 111,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 3002,
+ 3029
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 3030,
+ 3037
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 38
+ },
+ "end": {
+ "line": 111,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 3002,
+ 3037
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 45
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 3038,
+ 3043
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 46
+ },
+ "end": {
+ "line": 111,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3061,
+ 3068
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "fields[",
+ "cooked": "fields["
+ },
+ "tail": false,
+ "range": [
+ 3069,
+ 3079
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 20
+ },
+ "end": {
+ "line": 112,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "]",
+ "cooked": "]"
+ },
+ "tail": true,
+ "range": [
+ 3084,
+ 3087
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 35
+ },
+ "end": {
+ "line": 112,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 3079,
+ 3084
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 30
+ },
+ "end": {
+ "line": 112,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 3069,
+ 3087
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 20
+ },
+ "end": {
+ "line": 112,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 3061,
+ 3088
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 39
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3091,
+ 3098
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 42
+ },
+ "end": {
+ "line": 112,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 3099,
+ 3105
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 50
+ },
+ "end": {
+ "line": 112,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 3091,
+ 3105
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 42
+ },
+ "end": {
+ "line": 112,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 3106,
+ 3111
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 57
+ },
+ "end": {
+ "line": 112,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 3091,
+ 3112
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 42
+ },
+ "end": {
+ "line": 112,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 3061,
+ 3112
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 3061,
+ 3113
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 3047,
+ 3125
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 55
+ },
+ "end": {
+ "line": 113,
+ "column": 11
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3038,
+ 3125
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 46
+ },
+ "end": {
+ "line": 113,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 3002,
+ 3126
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 113,
+ "column": 12
+ }
+ }
+ },
+ "range": [
+ 3002,
+ 3127
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 113,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "UnaryExpression",
+ "operator": "delete",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3145,
+ 3152
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 17
+ },
+ "end": {
+ "line": 114,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 3153,
+ 3159
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 25
+ },
+ "end": {
+ "line": 114,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 3145,
+ 3159
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 17
+ },
+ "end": {
+ "line": 114,
+ "column": 31
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 3138,
+ 3159
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 10
+ },
+ "end": {
+ "line": 114,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 3138,
+ 3160
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 10
+ },
+ "end": {
+ "line": 114,
+ "column": 32
+ }
+ }
+ }
+ ],
+ "range": [
+ 2990,
+ 3170
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 28
+ },
+ "end": {
+ "line": 115,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2970,
+ 3170
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 8
+ },
+ "end": {
+ "line": 115,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 3180,
+ 3186
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 8
+ },
+ "end": {
+ "line": 117,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 3189,
+ 3195
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 3196,
+ 3200
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 24
+ },
+ "end": {
+ "line": 117,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 3189,
+ 3200
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 28
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3201,
+ 3208
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 29
+ },
+ "end": {
+ "line": 117,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 3189,
+ 3209
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 3210,
+ 3213
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 38
+ },
+ "end": {
+ "line": 117,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 3189,
+ 3213
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3214,
+ 3217
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 42
+ },
+ "end": {
+ "line": 117,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "BinaryExpression",
+ "operator": "+",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "+",
+ "left": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3240,
+ 3243
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 118,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "=",
+ "raw": "\"=\"",
+ "range": [
+ 3246,
+ 3249
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 23
+ },
+ "end": {
+ "line": 118,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3240,
+ 3249
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 118,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "encodeURIComponent",
+ "range": [
+ 3252,
+ 3270
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 29
+ },
+ "end": {
+ "line": 118,
+ "column": 47
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3271,
+ 3278
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 48
+ },
+ "end": {
+ "line": 118,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3279,
+ 3282
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 56
+ },
+ "end": {
+ "line": 118,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 3271,
+ 3283
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 48
+ },
+ "end": {
+ "line": 118,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 3252,
+ 3284
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 29
+ },
+ "end": {
+ "line": 118,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 3240,
+ 3284
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 118,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 3233,
+ 3285
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 10
+ },
+ "end": {
+ "line": 118,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 3221,
+ 3295
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 49
+ },
+ "end": {
+ "line": 119,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3214,
+ 3295
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 42
+ },
+ "end": {
+ "line": 119,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 3189,
+ 3296
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 119,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "sort",
+ "range": [
+ 3297,
+ 3301
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 11
+ },
+ "end": {
+ "line": 119,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 3189,
+ 3301
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 119,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 3189,
+ 3303
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 119,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 3180,
+ 3303
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 8
+ },
+ "end": {
+ "line": 119,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 3180,
+ 3304
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 8
+ },
+ "end": {
+ "line": 119,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 3318,
+ 3324
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 12
+ },
+ "end": {
+ "line": 121,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "length",
+ "range": [
+ 3325,
+ 3331
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 19
+ },
+ "end": {
+ "line": 121,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 3318,
+ 3331
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 12
+ },
+ "end": {
+ "line": 121,
+ "column": 25
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 3345,
+ 3348
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 10
+ },
+ "end": {
+ "line": 122,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 3351,
+ 3354
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 16
+ },
+ "end": {
+ "line": 122,
+ "column": 19
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "?",
+ "cooked": "?"
+ },
+ "tail": false,
+ "range": [
+ 3357,
+ 3361
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 22
+ },
+ "end": {
+ "line": 122,
+ "column": 26
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 3377,
+ 3379
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 42
+ },
+ "end": {
+ "line": 122,
+ "column": 44
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 3354,
+ 3357
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 19
+ },
+ "end": {
+ "line": 122,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 3361,
+ 3367
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 26
+ },
+ "end": {
+ "line": 122,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "join",
+ "range": [
+ 3368,
+ 3372
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 33
+ },
+ "end": {
+ "line": 122,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 3361,
+ 3372
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 26
+ },
+ "end": {
+ "line": 122,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "&",
+ "raw": "\"&\"",
+ "range": [
+ 3373,
+ 3376
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 38
+ },
+ "end": {
+ "line": 122,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 3361,
+ 3377
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 26
+ },
+ "end": {
+ "line": 122,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "range": [
+ 3351,
+ 3379
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 16
+ },
+ "end": {
+ "line": 122,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 3345,
+ 3379
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 10
+ },
+ "end": {
+ "line": 122,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 3345,
+ 3380
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 10
+ },
+ "end": {
+ "line": 122,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 3333,
+ 3390
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 27
+ },
+ "end": {
+ "line": 123,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3314,
+ 3390
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 8
+ },
+ "end": {
+ "line": 123,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 2933,
+ 3399
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 19
+ },
+ "end": {
+ "line": 125,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2920,
+ 3399
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 6
+ },
+ "end": {
+ "line": 125,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3407,
+ 3414
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "open",
+ "range": [
+ 3415,
+ 3419
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 14
+ },
+ "end": {
+ "line": 127,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3419
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "GET",
+ "raw": "'GET'",
+ "range": [
+ 3420,
+ 3425
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 19
+ },
+ "end": {
+ "line": 127,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 3427,
+ 3430
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 26
+ },
+ "end": {
+ "line": 127,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": true,
+ "raw": "true",
+ "range": [
+ 3432,
+ 3436
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 31
+ },
+ "end": {
+ "line": 127,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 3407,
+ 3437
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3438
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3446,
+ 3453
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "setRequestHeader",
+ "range": [
+ 3454,
+ 3470
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 14
+ },
+ "end": {
+ "line": 129,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 3446,
+ 3470
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Content-Type",
+ "raw": "\"Content-Type\"",
+ "range": [
+ 3471,
+ 3485
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 31
+ },
+ "end": {
+ "line": 129,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "application/vnd.api+json",
+ "raw": "\"application/vnd.api+json\"",
+ "range": [
+ 3487,
+ 3513
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 47
+ },
+ "end": {
+ "line": 129,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 3446,
+ 3514
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 3446,
+ 3515
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 75
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3523,
+ 3530
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 131,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onload",
+ "range": [
+ 3531,
+ 3537
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 14
+ },
+ "end": {
+ "line": 131,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3523,
+ 3537
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 131,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": ">=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3566,
+ 3573
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 3574,
+ 3580
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 20
+ },
+ "end": {
+ "line": 132,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3566,
+ 3580
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 3584,
+ 3587
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 30
+ },
+ "end": {
+ "line": 132,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 3566,
+ 3587
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3591,
+ 3598
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 37
+ },
+ "end": {
+ "line": 132,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 3599,
+ 3605
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 45
+ },
+ "end": {
+ "line": 132,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 3591,
+ 3605
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 37
+ },
+ "end": {
+ "line": 132,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 3608,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 54
+ },
+ "end": {
+ "line": 132,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 3591,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 37
+ },
+ "end": {
+ "line": 132,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 3566,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 3643,
+ 3648
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 3649,
+ 3653
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 18
+ },
+ "end": {
+ "line": 134,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 3643,
+ 3653
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 3654,
+ 3658
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 23
+ },
+ "end": {
+ "line": 134,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "parse",
+ "range": [
+ 3659,
+ 3664
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 28
+ },
+ "end": {
+ "line": 134,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 3654,
+ 3664
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 23
+ },
+ "end": {
+ "line": 134,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3665,
+ 3672
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 34
+ },
+ "end": {
+ "line": 134,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "responseText",
+ "range": [
+ 3673,
+ 3685
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 42
+ },
+ "end": {
+ "line": 134,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 3665,
+ 3685
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 34
+ },
+ "end": {
+ "line": 134,
+ "column": 54
+ }
+ }
+ }
+ ],
+ "range": [
+ 3654,
+ 3686
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 23
+ },
+ "end": {
+ "line": 134,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 3643,
+ 3687
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 3643,
+ 3688
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 3705,
+ 3712
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 16
+ },
+ "end": {
+ "line": 135,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 3730,
+ 3737
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 3738,
+ 3742
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 22
+ },
+ "end": {
+ "line": 136,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3730,
+ 3742
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 3743,
+ 3750
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 27
+ },
+ "end": {
+ "line": 136,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3752,
+ 3754
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 36
+ },
+ "end": {
+ "line": 136,
+ "column": 38
+ }
+ }
+ },
+ "consequent": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 3757,
+ 3762
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 41
+ },
+ "end": {
+ "line": 136,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 3763,
+ 3767
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 47
+ },
+ "end": {
+ "line": 136,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 3757,
+ 3767
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 41
+ },
+ "end": {
+ "line": 136,
+ "column": 51
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3768,
+ 3772
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 52
+ },
+ "end": {
+ "line": 136,
+ "column": 56
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3774,
+ 3776
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 58
+ },
+ "end": {
+ "line": 136,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 3757,
+ 3777
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 41
+ },
+ "end": {
+ "line": 136,
+ "column": 61
+ }
+ }
+ },
+ "alternate": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 3780,
+ 3785
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 64
+ },
+ "end": {
+ "line": 136,
+ "column": 69
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 3786,
+ 3790
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 70
+ },
+ "end": {
+ "line": 136,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 3780,
+ 3790
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 64
+ },
+ "end": {
+ "line": 136,
+ "column": 74
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3791,
+ 3795
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 75
+ },
+ "end": {
+ "line": 136,
+ "column": 79
+ }
+ }
+ }
+ ],
+ "range": [
+ 3780,
+ 3796
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 64
+ },
+ "end": {
+ "line": 136,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 3752,
+ 3796
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 36
+ },
+ "end": {
+ "line": 136,
+ "column": 80
+ }
+ }
+ }
+ ],
+ "range": [
+ 3730,
+ 3797
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 81
+ }
+ }
+ },
+ "range": [
+ 3730,
+ 3798
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 82
+ }
+ }
+ }
+ ],
+ "range": [
+ 3714,
+ 3812
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 25
+ },
+ "end": {
+ "line": 137,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3701,
+ 3812
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 12
+ },
+ "end": {
+ "line": 137,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 3629,
+ 3824
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 14
+ },
+ "end": {
+ "line": 138,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 3832,
+ 3833
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 19
+ },
+ "end": {
+ "line": 138,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 3849,
+ 3854
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 3855,
+ 3859
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 18
+ },
+ "end": {
+ "line": 139,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 3849,
+ 3859
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3860,
+ 3862
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 23
+ },
+ "end": {
+ "line": 139,
+ "column": 25
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 3864,
+ 3865
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 27
+ },
+ "end": {
+ "line": 139,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 3849,
+ 3866
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 3849,
+ 3867
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 3835,
+ 3879
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 22
+ },
+ "end": {
+ "line": 140,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 3825,
+ 3879
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 12
+ },
+ "end": {
+ "line": 140,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 3625,
+ 3879
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 10
+ },
+ "end": {
+ "line": 140,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 3613,
+ 3889
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 59
+ },
+ "end": {
+ "line": 141,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 3899,
+ 3904
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 19
+ },
+ "end": {
+ "line": 141,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 3918,
+ 3923
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 3924,
+ 3928
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 16
+ },
+ "end": {
+ "line": 142,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3918,
+ 3928
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 20
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 3929,
+ 3936
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 21
+ },
+ "end": {
+ "line": 142,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 3918,
+ 3937
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 3918,
+ 3938
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 3906,
+ 3948
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 26
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3895,
+ 3948
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 15
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 3562,
+ 3948
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 8
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 3552,
+ 3956
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 35
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3540,
+ 3956
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 23
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 3523,
+ 3956
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 3523,
+ 3957
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 144,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3965,
+ 3972
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 3973,
+ 3977
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 14
+ },
+ "end": {
+ "line": 146,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 3965,
+ 3977
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 3965,
+ 3979
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3965,
+ 3980
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "range": [
+ 2747,
+ 3987
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 35
+ },
+ "end": {
+ "line": 148,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 4011,
+ 4016
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 16
+ },
+ "end": {
+ "line": 149,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 4017,
+ 4034
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 22
+ },
+ "end": {
+ "line": 149,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 4038,
+ 4041
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 43
+ },
+ "end": {
+ "line": 149,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4034,
+ 4038
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 39
+ },
+ "end": {
+ "line": 149,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 4017,
+ 4041
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 22
+ },
+ "end": {
+ "line": 149,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 4007,
+ 4042
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 12
+ },
+ "end": {
+ "line": 149,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 4001,
+ 4043
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 6
+ },
+ "end": {
+ "line": 149,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 3993,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2723,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2583,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2441,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2329,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2196,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 4
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 2189,
+ 4054
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 58
+ },
+ "end": {
+ "line": 152,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 2137,
+ 4054
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 6
+ },
+ "end": {
+ "line": 152,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 2133,
+ 4054
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 2
+ },
+ "end": {
+ "line": 152,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 4058,
+ 4064
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 2
+ },
+ "end": {
+ "line": 154,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4065,
+ 4070
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 9
+ },
+ "end": {
+ "line": 154,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4072,
+ 4076
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 16
+ },
+ "end": {
+ "line": 154,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4078,
+ 4080
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 22
+ },
+ "end": {
+ "line": 154,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 4082,
+ 4089
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 26
+ },
+ "end": {
+ "line": 154,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4091,
+ 4098
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 35
+ },
+ "end": {
+ "line": 154,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4100,
+ 4105
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 44
+ },
+ "end": {
+ "line": 154,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4107,
+ 4114
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 51
+ },
+ "end": {
+ "line": 154,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4127,
+ 4132
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 8
+ },
+ "end": {
+ "line": 156,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 4136,
+ 4138
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 4139,
+ 4147
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 20
+ },
+ "end": {
+ "line": 156,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 4136,
+ 4147
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4148,
+ 4152
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 29
+ },
+ "end": {
+ "line": 156,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 4136,
+ 4152
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4153,
+ 4158
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 34
+ },
+ "end": {
+ "line": 156,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 4136,
+ 4159
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 4164,
+ 4183
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 45
+ },
+ "end": {
+ "line": 156,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4136,
+ 4183
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4127,
+ 4183
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 8
+ },
+ "end": {
+ "line": 156,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4194,
+ 4198
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 4199,
+ 4205
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 11
+ },
+ "end": {
+ "line": 158,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 4194,
+ 4205
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 17
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4206,
+ 4211
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 18
+ },
+ "end": {
+ "line": 158,
+ "column": 23
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4213,
+ 4217
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 25
+ },
+ "end": {
+ "line": 158,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4219,
+ 4221
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 31
+ },
+ "end": {
+ "line": 158,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 4223,
+ 4230
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 35
+ },
+ "end": {
+ "line": 158,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4232,
+ 4239
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 44
+ },
+ "end": {
+ "line": 158,
+ "column": 51
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 4241,
+ 4245
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 53
+ },
+ "end": {
+ "line": 158,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4247,
+ 4252
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 59
+ },
+ "end": {
+ "line": 158,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 4194,
+ 4253
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 4194,
+ 4254
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 4185,
+ 4261
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 66
+ },
+ "end": {
+ "line": 160,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4271,
+ 4276
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 15
+ },
+ "end": {
+ "line": 160,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 4277,
+ 4283
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 21
+ },
+ "end": {
+ "line": 160,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 4271,
+ 4283
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 15
+ },
+ "end": {
+ "line": 160,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4284,
+ 4288
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 28
+ },
+ "end": {
+ "line": 160,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 4271,
+ 4289
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 15
+ },
+ "end": {
+ "line": 160,
+ "column": 33
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4304,
+ 4311
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 10
+ },
+ "end": {
+ "line": 162,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "XMLHttpRequest",
+ "range": [
+ 4318,
+ 4332
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 24
+ },
+ "end": {
+ "line": 162,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 4314,
+ 4334
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 20
+ },
+ "end": {
+ "line": 162,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 4304,
+ 4334
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 10
+ },
+ "end": {
+ "line": 162,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 4300,
+ 4335
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 6
+ },
+ "end": {
+ "line": 162,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4346,
+ 4350
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 10
+ },
+ "end": {
+ "line": 163,
+ "column": 14
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4353,
+ 4358
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 17
+ },
+ "end": {
+ "line": 163,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 4359,
+ 4366
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 23
+ },
+ "end": {
+ "line": 163,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 4353,
+ 4366
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 17
+ },
+ "end": {
+ "line": 163,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4367,
+ 4371
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 31
+ },
+ "end": {
+ "line": 163,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4373,
+ 4375
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 37
+ },
+ "end": {
+ "line": 163,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 4377,
+ 4384
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 41
+ },
+ "end": {
+ "line": 163,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 4353,
+ 4385
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 17
+ },
+ "end": {
+ "line": 163,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 4346,
+ 4385
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 10
+ },
+ "end": {
+ "line": 163,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 4342,
+ 4386
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 6
+ },
+ "end": {
+ "line": 163,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4394,
+ 4401
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "open",
+ "range": [
+ 4402,
+ 4406
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 14
+ },
+ "end": {
+ "line": 165,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 4394,
+ 4406
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "PATCH",
+ "raw": "'PATCH'",
+ "range": [
+ 4407,
+ 4414
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 19
+ },
+ "end": {
+ "line": 165,
+ "column": 26
+ }
+ }
+ },
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 4416,
+ 4419
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 28
+ },
+ "end": {
+ "line": 165,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 4429,
+ 4433
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 41
+ },
+ "end": {
+ "line": 165,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 4437,
+ 4441
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 49
+ },
+ "end": {
+ "line": 165,
+ "column": 53
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 4443,
+ 4445
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 55
+ },
+ "end": {
+ "line": 165,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4419,
+ 4423
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 31
+ },
+ "end": {
+ "line": 165,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 4424,
+ 4429
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 36
+ },
+ "end": {
+ "line": 165,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 4419,
+ 4429
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 31
+ },
+ "end": {
+ "line": 165,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4433,
+ 4437
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 45
+ },
+ "end": {
+ "line": 165,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4441,
+ 4443
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 53
+ },
+ "end": {
+ "line": 165,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 4416,
+ 4445
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 28
+ },
+ "end": {
+ "line": 165,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": true,
+ "raw": "true",
+ "range": [
+ 4447,
+ 4451
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 59
+ },
+ "end": {
+ "line": 165,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 4394,
+ 4452
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4394,
+ 4453
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4461,
+ 4468
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "setRequestHeader",
+ "range": [
+ 4469,
+ 4485
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 14
+ },
+ "end": {
+ "line": 167,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 4461,
+ 4485
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Content-Type",
+ "raw": "\"Content-Type\"",
+ "range": [
+ 4486,
+ 4500
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 31
+ },
+ "end": {
+ "line": 167,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "application/vnd.api+json",
+ "raw": "\"application/vnd.api+json\"",
+ "range": [
+ 4502,
+ 4528
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 47
+ },
+ "end": {
+ "line": 167,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 4461,
+ 4529
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 4461,
+ 4530
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 75
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4538,
+ 4545
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 169,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onload",
+ "range": [
+ 4546,
+ 4552
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 14
+ },
+ "end": {
+ "line": 169,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 4538,
+ 4552
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 169,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": ">=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4581,
+ 4588
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 4589,
+ 4595
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 20
+ },
+ "end": {
+ "line": 170,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 4581,
+ 4595
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 4599,
+ 4602
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 30
+ },
+ "end": {
+ "line": 170,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 4581,
+ 4602
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4606,
+ 4613
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 37
+ },
+ "end": {
+ "line": 170,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 4614,
+ 4620
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 45
+ },
+ "end": {
+ "line": 170,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 4606,
+ 4620
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 37
+ },
+ "end": {
+ "line": 170,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 4623,
+ 4626
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 54
+ },
+ "end": {
+ "line": 170,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 4606,
+ 4626
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 37
+ },
+ "end": {
+ "line": 170,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 4581,
+ 4626
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4658,
+ 4663
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 4664,
+ 4667
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 18
+ },
+ "end": {
+ "line": 172,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 4658,
+ 4667
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4668,
+ 4672
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 22
+ },
+ "end": {
+ "line": 172,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "range": [
+ 4658,
+ 4673
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 4658,
+ 4674
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4691,
+ 4698
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 16
+ },
+ "end": {
+ "line": 173,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4716,
+ 4723
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4724,
+ 4728
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 22
+ },
+ "end": {
+ "line": 174,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 4716,
+ 4728
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4729,
+ 4736
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 27
+ },
+ "end": {
+ "line": 174,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4738,
+ 4743
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 36
+ },
+ "end": {
+ "line": 174,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 4744,
+ 4748
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 42
+ },
+ "end": {
+ "line": 174,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 4738,
+ 4748
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 36
+ },
+ "end": {
+ "line": 174,
+ "column": 46
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4749,
+ 4753
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 47
+ },
+ "end": {
+ "line": 174,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4754,
+ 4758
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 52
+ },
+ "end": {
+ "line": 174,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 4749,
+ 4758
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 47
+ },
+ "end": {
+ "line": 174,
+ "column": 56
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4760,
+ 4764
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 58
+ },
+ "end": {
+ "line": 174,
+ "column": 62
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4765,
+ 4767
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 63
+ },
+ "end": {
+ "line": 174,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 4760,
+ 4767
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 58
+ },
+ "end": {
+ "line": 174,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 4738,
+ 4768
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 36
+ },
+ "end": {
+ "line": 174,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 4716,
+ 4769
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 4716,
+ 4770
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 4700,
+ 4784
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 25
+ },
+ "end": {
+ "line": 175,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4687,
+ 4784
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 12
+ },
+ "end": {
+ "line": 175,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 4644,
+ 4796
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 14
+ },
+ "end": {
+ "line": 176,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 4804,
+ 4805
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 19
+ },
+ "end": {
+ "line": 176,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4825,
+ 4830
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 16
+ },
+ "end": {
+ "line": 177,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4848,
+ 4853
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4854,
+ 4858
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 20
+ },
+ "end": {
+ "line": 178,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 4848,
+ 4858
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4859,
+ 4866
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 25
+ },
+ "end": {
+ "line": 178,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 4868,
+ 4869
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 34
+ },
+ "end": {
+ "line": 178,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 4848,
+ 4870
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 4848,
+ 4871
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 4832,
+ 4885
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 23
+ },
+ "end": {
+ "line": 179,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4821,
+ 4885
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 12
+ },
+ "end": {
+ "line": 179,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 4807,
+ 4897
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 22
+ },
+ "end": {
+ "line": 180,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 4797,
+ 4897
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 12
+ },
+ "end": {
+ "line": 180,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 4640,
+ 4897
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 10
+ },
+ "end": {
+ "line": 180,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 4628,
+ 4907
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 59
+ },
+ "end": {
+ "line": 181,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4917,
+ 4922
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 19
+ },
+ "end": {
+ "line": 181,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4936,
+ 4941
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4942,
+ 4946
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 16
+ },
+ "end": {
+ "line": 182,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 4936,
+ 4946
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 20
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4947,
+ 4954
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 21
+ },
+ "end": {
+ "line": 182,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 4936,
+ 4955
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 4936,
+ 4956
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 4924,
+ 4966
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 26
+ },
+ "end": {
+ "line": 183,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4913,
+ 4966
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 15
+ },
+ "end": {
+ "line": 183,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 4577,
+ 4966
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 8
+ },
+ "end": {
+ "line": 183,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 4567,
+ 4974
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 35
+ },
+ "end": {
+ "line": 184,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 4555,
+ 4974
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 23
+ },
+ "end": {
+ "line": 184,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 4538,
+ 4974
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 184,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 4538,
+ 4975
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 184,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4983,
+ 4990
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 186,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 4991,
+ 4995
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 14
+ },
+ "end": {
+ "line": 186,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 4983,
+ 4995
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 186,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 4996,
+ 5000
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 19
+ },
+ "end": {
+ "line": 186,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "stringify",
+ "range": [
+ 5001,
+ 5010
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 24
+ },
+ "end": {
+ "line": 186,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 4996,
+ 5010
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 19
+ },
+ "end": {
+ "line": 186,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 5021,
+ 5025
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 8
+ },
+ "end": {
+ "line": 187,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 5027,
+ 5031
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 14
+ },
+ "end": {
+ "line": 187,
+ "column": 18
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 5021,
+ 5031
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 8
+ },
+ "end": {
+ "line": 187,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "range": [
+ 5011,
+ 5039
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 34
+ },
+ "end": {
+ "line": 188,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 4996,
+ 5040
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 19
+ },
+ "end": {
+ "line": 188,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 4983,
+ 5041
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 188,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 4983,
+ 5042
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 188,
+ "column": 10
+ }
+ }
+ }
+ ],
+ "range": [
+ 4291,
+ 5049
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 35
+ },
+ "end": {
+ "line": 190,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 5073,
+ 5078
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 16
+ },
+ "end": {
+ "line": 191,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 5079,
+ 5096
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 22
+ },
+ "end": {
+ "line": 191,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 5100,
+ 5103
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 43
+ },
+ "end": {
+ "line": 191,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5096,
+ 5100
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 39
+ },
+ "end": {
+ "line": 191,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 5079,
+ 5103
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 22
+ },
+ "end": {
+ "line": 191,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 5069,
+ 5104
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 12
+ },
+ "end": {
+ "line": 191,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 5063,
+ 5105
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 6
+ },
+ "end": {
+ "line": 191,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 5055,
+ 5111
+ ],
+ "loc": {
+ "start": {
+ "line": 190,
+ "column": 11
+ },
+ "end": {
+ "line": 192,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 4267,
+ 5111
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 11
+ },
+ "end": {
+ "line": 192,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 4123,
+ 5111
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 4
+ },
+ "end": {
+ "line": 192,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 4116,
+ 5116
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 60
+ },
+ "end": {
+ "line": 194,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 4064,
+ 5116
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 8
+ },
+ "end": {
+ "line": 194,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 4058,
+ 5116
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 2
+ },
+ "end": {
+ "line": 194,
+ "column": 3
+ }
+ },
+ "static": false
+ }
+ ],
+ "range": [
+ 33,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 33
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ }
+ },
+ "range": [
+ 15,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 15
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ },
+ "leadingComments": [],
+ "trailingComments": []
+ },
+ "range": [
+ 0,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ }
+ }
+ ],
+ "sourceType": "module",
+ "range": [
+ 0,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ },
+ "comments": []
+}
\ No newline at end of file
diff --git a/docs/v0.6.1/ast/source/src/ajax-adapter.js.json b/docs/v0.6.1/ast/source/src/ajax-adapter.js.json
new file mode 100644
index 0000000..fc480ac
--- /dev/null
+++ b/docs/v0.6.1/ast/source/src/ajax-adapter.js.json
@@ -0,0 +1,15669 @@
+{
+ "type": "Program",
+ "body": [
+ {
+ "type": "ExportDefaultDeclaration",
+ "declaration": {
+ "type": "ClassDeclaration",
+ "id": {
+ "type": "Identifier",
+ "name": "AjaxAdapter",
+ "range": [
+ 21,
+ 32
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 21
+ },
+ "end": {
+ "line": 1,
+ "column": 32
+ }
+ }
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "body": [
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "constructor",
+ "range": [
+ 38,
+ 49
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 3,
+ "column": 13
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 50,
+ 57
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 14
+ },
+ "end": {
+ "line": 3,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 65,
+ 69
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 70,
+ 75
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 9
+ },
+ "end": {
+ "line": 4,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 65,
+ 75
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 79,
+ 86
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 18
+ },
+ "end": {
+ "line": 4,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 90,
+ 97
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 29
+ },
+ "end": {
+ "line": 4,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "base",
+ "range": [
+ 98,
+ 102
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 37
+ },
+ "end": {
+ "line": 4,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 90,
+ 102
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 29
+ },
+ "end": {
+ "line": 4,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 79,
+ 102
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 18
+ },
+ "end": {
+ "line": 4,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "",
+ "raw": "\"\"",
+ "range": [
+ 107,
+ 109
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 46
+ },
+ "end": {
+ "line": 4,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 78,
+ 109
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 17
+ },
+ "end": {
+ "line": 4,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 65,
+ 109
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 65,
+ 110
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 4
+ },
+ "end": {
+ "line": 4,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "range": [
+ 59,
+ 114
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 23
+ },
+ "end": {
+ "line": 5,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 49,
+ 114
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 13
+ },
+ "end": {
+ "line": 5,
+ "column": 3
+ }
+ }
+ },
+ "kind": "constructor",
+ "computed": false,
+ "range": [
+ 38,
+ 114
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 2
+ },
+ "end": {
+ "line": 5,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "create",
+ "range": [
+ 119,
+ 125
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 7,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 126,
+ 131
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 9
+ },
+ "end": {
+ "line": 7,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 133,
+ 137
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 16
+ },
+ "end": {
+ "line": 7,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 139,
+ 146
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 22
+ },
+ "end": {
+ "line": 7,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 148,
+ 155
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 31
+ },
+ "end": {
+ "line": 7,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 157,
+ 162
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 40
+ },
+ "end": {
+ "line": 7,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 164,
+ 171
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 47
+ },
+ "end": {
+ "line": 7,
+ "column": 54
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 184,
+ 189
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 8
+ },
+ "end": {
+ "line": 9,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 193,
+ 195
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 17
+ },
+ "end": {
+ "line": 9,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 196,
+ 204
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 20
+ },
+ "end": {
+ "line": 9,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 193,
+ 204
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 17
+ },
+ "end": {
+ "line": 9,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 205,
+ 209
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 29
+ },
+ "end": {
+ "line": 9,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 193,
+ 209
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 17
+ },
+ "end": {
+ "line": 9,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 210,
+ 215
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 34
+ },
+ "end": {
+ "line": 9,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 193,
+ 216
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 17
+ },
+ "end": {
+ "line": 9,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 221,
+ 240
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 45
+ },
+ "end": {
+ "line": 9,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 193,
+ 240
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 17
+ },
+ "end": {
+ "line": 9,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 184,
+ 240
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 8
+ },
+ "end": {
+ "line": 9,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 251,
+ 255
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 6
+ },
+ "end": {
+ "line": 11,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "create",
+ "range": [
+ 256,
+ 262
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 11
+ },
+ "end": {
+ "line": 11,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 251,
+ 262
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 6
+ },
+ "end": {
+ "line": 11,
+ "column": 17
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 263,
+ 268
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 18
+ },
+ "end": {
+ "line": 11,
+ "column": 23
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 270,
+ 274
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 25
+ },
+ "end": {
+ "line": 11,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 276,
+ 283
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 31
+ },
+ "end": {
+ "line": 11,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 285,
+ 292
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 40
+ },
+ "end": {
+ "line": 11,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 294,
+ 298
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 49
+ },
+ "end": {
+ "line": 11,
+ "column": 53
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 300,
+ 305
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 55
+ },
+ "end": {
+ "line": 11,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 251,
+ 306
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 6
+ },
+ "end": {
+ "line": 11,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 251,
+ 307
+ ],
+ "loc": {
+ "start": {
+ "line": 11,
+ "column": 6
+ },
+ "end": {
+ "line": 11,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 242,
+ 314
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 66
+ },
+ "end": {
+ "line": 13,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 324,
+ 329
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 15
+ },
+ "end": {
+ "line": 13,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 330,
+ 336
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 21
+ },
+ "end": {
+ "line": 13,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 324,
+ 336
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 15
+ },
+ "end": {
+ "line": 13,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 337,
+ 341
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 28
+ },
+ "end": {
+ "line": 13,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 324,
+ 342
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 15
+ },
+ "end": {
+ "line": 13,
+ "column": 33
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 357,
+ 364
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 10
+ },
+ "end": {
+ "line": 15,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "XMLHttpRequest",
+ "range": [
+ 371,
+ 385
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 24
+ },
+ "end": {
+ "line": 15,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 367,
+ 387
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 20
+ },
+ "end": {
+ "line": 15,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 357,
+ 387
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 10
+ },
+ "end": {
+ "line": 15,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 353,
+ 388
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 6
+ },
+ "end": {
+ "line": 15,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 396,
+ 403
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 6
+ },
+ "end": {
+ "line": 17,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "open",
+ "range": [
+ 404,
+ 408
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 14
+ },
+ "end": {
+ "line": 17,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 396,
+ 408
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 6
+ },
+ "end": {
+ "line": 17,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "POST",
+ "raw": "'POST'",
+ "range": [
+ 409,
+ 415
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 19
+ },
+ "end": {
+ "line": 17,
+ "column": 25
+ }
+ }
+ },
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 417,
+ 420
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 27
+ },
+ "end": {
+ "line": 17,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 430,
+ 434
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 40
+ },
+ "end": {
+ "line": 17,
+ "column": 44
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 438,
+ 440
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 48
+ },
+ "end": {
+ "line": 17,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 420,
+ 424
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 30
+ },
+ "end": {
+ "line": 17,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 425,
+ 430
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 35
+ },
+ "end": {
+ "line": 17,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 420,
+ 430
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 30
+ },
+ "end": {
+ "line": 17,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 434,
+ 438
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 44
+ },
+ "end": {
+ "line": 17,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 417,
+ 440
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 27
+ },
+ "end": {
+ "line": 17,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": true,
+ "raw": "true",
+ "range": [
+ 442,
+ 446
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 52
+ },
+ "end": {
+ "line": 17,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 396,
+ 447
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 6
+ },
+ "end": {
+ "line": 17,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 396,
+ 448
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 6
+ },
+ "end": {
+ "line": 17,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 456,
+ 463
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 6
+ },
+ "end": {
+ "line": 19,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "setRequestHeader",
+ "range": [
+ 464,
+ 480
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 14
+ },
+ "end": {
+ "line": 19,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 456,
+ 480
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 6
+ },
+ "end": {
+ "line": 19,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Content-Type",
+ "raw": "\"Content-Type\"",
+ "range": [
+ 481,
+ 495
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 31
+ },
+ "end": {
+ "line": 19,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "application/vnd.api+json",
+ "raw": "\"application/vnd.api+json\"",
+ "range": [
+ 497,
+ 523
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 47
+ },
+ "end": {
+ "line": 19,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 456,
+ 524
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 6
+ },
+ "end": {
+ "line": 19,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 456,
+ 525
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 6
+ },
+ "end": {
+ "line": 19,
+ "column": 75
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 533,
+ 540
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 21,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onload",
+ "range": [
+ 541,
+ 547
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 14
+ },
+ "end": {
+ "line": 21,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 533,
+ 547
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 21,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": ">=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 576,
+ 583
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 584,
+ 590
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 20
+ },
+ "end": {
+ "line": 22,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 576,
+ 590
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 594,
+ 597
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 30
+ },
+ "end": {
+ "line": 22,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 576,
+ 597
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 601,
+ 608
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 37
+ },
+ "end": {
+ "line": 22,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 609,
+ 615
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 45
+ },
+ "end": {
+ "line": 22,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 601,
+ 615
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 37
+ },
+ "end": {
+ "line": 22,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 618,
+ 621
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 54
+ },
+ "end": {
+ "line": 22,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 601,
+ 621
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 37
+ },
+ "end": {
+ "line": 22,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 576,
+ 621
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 12
+ },
+ "end": {
+ "line": 22,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 639,
+ 647
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 14
+ },
+ "end": {
+ "line": 23,
+ "column": 22
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 650,
+ 654
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 25
+ },
+ "end": {
+ "line": 23,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "parse",
+ "range": [
+ 655,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 30
+ },
+ "end": {
+ "line": 23,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 650,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 25
+ },
+ "end": {
+ "line": 23,
+ "column": 35
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 661,
+ 668
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 36
+ },
+ "end": {
+ "line": 23,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "responseText",
+ "range": [
+ 669,
+ 681
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 44
+ },
+ "end": {
+ "line": 23,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 661,
+ 681
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 36
+ },
+ "end": {
+ "line": 23,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 650,
+ 682
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 25
+ },
+ "end": {
+ "line": 23,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 639,
+ 682
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 14
+ },
+ "end": {
+ "line": 23,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 635,
+ 683
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 10
+ },
+ "end": {
+ "line": 23,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 712,
+ 717
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 718,
+ 722
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 18
+ },
+ "end": {
+ "line": 25,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 712,
+ 722
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 723,
+ 731
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 23
+ },
+ "end": {
+ "line": 25,
+ "column": 31
+ }
+ }
+ }
+ ],
+ "range": [
+ 712,
+ 732
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 712,
+ 733
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 12
+ },
+ "end": {
+ "line": 25,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 750,
+ 757
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 16
+ },
+ "end": {
+ "line": 26,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 775,
+ 782
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 783,
+ 787
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 22
+ },
+ "end": {
+ "line": 27,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 775,
+ 787
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 788,
+ 795
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 27
+ },
+ "end": {
+ "line": 27,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 797,
+ 802
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 803,
+ 807
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 42
+ },
+ "end": {
+ "line": 27,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 797,
+ 807
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 46
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 808,
+ 816
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 47
+ },
+ "end": {
+ "line": 27,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 817,
+ 821
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 56
+ },
+ "end": {
+ "line": 27,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 808,
+ 821
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 47
+ },
+ "end": {
+ "line": 27,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 822,
+ 826
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 61
+ },
+ "end": {
+ "line": 27,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 808,
+ 826
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 47
+ },
+ "end": {
+ "line": 27,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "response",
+ "range": [
+ 828,
+ 836
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 67
+ },
+ "end": {
+ "line": 27,
+ "column": 75
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 837,
+ 841
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 76
+ },
+ "end": {
+ "line": 27,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 828,
+ 841
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 67
+ },
+ "end": {
+ "line": 27,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 842,
+ 844
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 81
+ },
+ "end": {
+ "line": 27,
+ "column": 83
+ }
+ }
+ },
+ "range": [
+ 828,
+ 844
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 67
+ },
+ "end": {
+ "line": 27,
+ "column": 83
+ }
+ }
+ }
+ ],
+ "range": [
+ 797,
+ 845
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 36
+ },
+ "end": {
+ "line": 27,
+ "column": 84
+ }
+ }
+ }
+ ],
+ "range": [
+ 775,
+ 846
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 85
+ }
+ }
+ },
+ "range": [
+ 775,
+ 847
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 14
+ },
+ "end": {
+ "line": 27,
+ "column": 86
+ }
+ }
+ }
+ ],
+ "range": [
+ 759,
+ 861
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 25
+ },
+ "end": {
+ "line": 28,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 746,
+ 861
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 12
+ },
+ "end": {
+ "line": 28,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 698,
+ 873
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 14
+ },
+ "end": {
+ "line": 29,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 881,
+ 882
+ ],
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 19
+ },
+ "end": {
+ "line": 29,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 902,
+ 907
+ ],
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 16
+ },
+ "end": {
+ "line": 30,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 925,
+ 930
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 931,
+ 935
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 20
+ },
+ "end": {
+ "line": 31,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 925,
+ 935
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 936,
+ 943
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 25
+ },
+ "end": {
+ "line": 31,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 945,
+ 946
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 34
+ },
+ "end": {
+ "line": 31,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 925,
+ 947
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 925,
+ 948
+ ],
+ "loc": {
+ "start": {
+ "line": 31,
+ "column": 14
+ },
+ "end": {
+ "line": 31,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 909,
+ 962
+ ],
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 23
+ },
+ "end": {
+ "line": 32,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 898,
+ 962
+ ],
+ "loc": {
+ "start": {
+ "line": 30,
+ "column": 12
+ },
+ "end": {
+ "line": 32,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 884,
+ 974
+ ],
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 22
+ },
+ "end": {
+ "line": 33,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 874,
+ 974
+ ],
+ "loc": {
+ "start": {
+ "line": 29,
+ "column": 12
+ },
+ "end": {
+ "line": 33,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 694,
+ 974
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 10
+ },
+ "end": {
+ "line": 33,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 623,
+ 984
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 59
+ },
+ "end": {
+ "line": 34,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1006,
+ 1011
+ ],
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 14
+ },
+ "end": {
+ "line": 35,
+ "column": 19
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1027,
+ 1032
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1033,
+ 1037
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 18
+ },
+ "end": {
+ "line": 36,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 1027,
+ 1037
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1038,
+ 1045
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 23
+ },
+ "end": {
+ "line": 36,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 1027,
+ 1046
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 1027,
+ 1047
+ ],
+ "loc": {
+ "start": {
+ "line": 36,
+ "column": 12
+ },
+ "end": {
+ "line": 36,
+ "column": 32
+ }
+ }
+ }
+ ],
+ "range": [
+ 1013,
+ 1059
+ ],
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 21
+ },
+ "end": {
+ "line": 37,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1002,
+ 1059
+ ],
+ "loc": {
+ "start": {
+ "line": 35,
+ "column": 10
+ },
+ "end": {
+ "line": 37,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 990,
+ 1069
+ ],
+ "loc": {
+ "start": {
+ "line": 34,
+ "column": 15
+ },
+ "end": {
+ "line": 38,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 572,
+ 1069
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 38,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 562,
+ 1077
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 35
+ },
+ "end": {
+ "line": 39,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 550,
+ 1077
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 23
+ },
+ "end": {
+ "line": 39,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 533,
+ 1077
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 39,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 533,
+ 1078
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 6
+ },
+ "end": {
+ "line": 39,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1086,
+ 1093
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 41,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 1094,
+ 1098
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 14
+ },
+ "end": {
+ "line": 41,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 1086,
+ 1098
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 41,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 1099,
+ 1103
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 19
+ },
+ "end": {
+ "line": 41,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "stringify",
+ "range": [
+ 1104,
+ 1113
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 24
+ },
+ "end": {
+ "line": 41,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 1099,
+ 1113
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 19
+ },
+ "end": {
+ "line": 41,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1124,
+ 1128
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1130,
+ 1135
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 14
+ },
+ "end": {
+ "line": 42,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 1136,
+ 1143
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 20
+ },
+ "end": {
+ "line": 42,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 1130,
+ 1143
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 14
+ },
+ "end": {
+ "line": 42,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1144,
+ 1148
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 28
+ },
+ "end": {
+ "line": 42,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 1150,
+ 1157
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 34
+ },
+ "end": {
+ "line": 42,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 1130,
+ 1158
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 14
+ },
+ "end": {
+ "line": 42,
+ "column": 42
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1124,
+ 1158
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "range": [
+ 1114,
+ 1166
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 34
+ },
+ "end": {
+ "line": 43,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 1099,
+ 1167
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 19
+ },
+ "end": {
+ "line": 43,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 1086,
+ 1168
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 1086,
+ 1169
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 10
+ }
+ }
+ }
+ ],
+ "range": [
+ 344,
+ 1176
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 35
+ },
+ "end": {
+ "line": 45,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 1200,
+ 1205
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 16
+ },
+ "end": {
+ "line": 46,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 1206,
+ 1223
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 22
+ },
+ "end": {
+ "line": 46,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 1227,
+ 1230
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 43
+ },
+ "end": {
+ "line": 46,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1223,
+ 1227
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 39
+ },
+ "end": {
+ "line": 46,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 1206,
+ 1230
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 22
+ },
+ "end": {
+ "line": 46,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 1196,
+ 1231
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 12
+ },
+ "end": {
+ "line": 46,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 1190,
+ 1232
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 6
+ },
+ "end": {
+ "line": 46,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 1182,
+ 1238
+ ],
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 11
+ },
+ "end": {
+ "line": 47,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 320,
+ 1238
+ ],
+ "loc": {
+ "start": {
+ "line": 13,
+ "column": 11
+ },
+ "end": {
+ "line": 47,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 180,
+ 1238
+ ],
+ "loc": {
+ "start": {
+ "line": 9,
+ "column": 4
+ },
+ "end": {
+ "line": 47,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 173,
+ 1243
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 56
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 125,
+ 1243
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 8
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 119,
+ 1243
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 49,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 1247,
+ 1254
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 2
+ },
+ "end": {
+ "line": 51,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1255,
+ 1260
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 10
+ },
+ "end": {
+ "line": 51,
+ "column": 15
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1262,
+ 1266
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 17
+ },
+ "end": {
+ "line": 51,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1268,
+ 1270
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 23
+ },
+ "end": {
+ "line": 51,
+ "column": 25
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1272,
+ 1279
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 27
+ },
+ "end": {
+ "line": 51,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1281,
+ 1286
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 36
+ },
+ "end": {
+ "line": 51,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1288,
+ 1295
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 43
+ },
+ "end": {
+ "line": 51,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1308,
+ 1313
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 8
+ },
+ "end": {
+ "line": 53,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 1317,
+ 1319
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 1320,
+ 1328
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 20
+ },
+ "end": {
+ "line": 53,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1317,
+ 1328
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1329,
+ 1333
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 29
+ },
+ "end": {
+ "line": 53,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 1317,
+ 1333
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1334,
+ 1339
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 34
+ },
+ "end": {
+ "line": 53,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 1317,
+ 1340
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 1345,
+ 1364
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 45
+ },
+ "end": {
+ "line": 53,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 1317,
+ 1364
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 17
+ },
+ "end": {
+ "line": 53,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 1308,
+ 1364
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 8
+ },
+ "end": {
+ "line": 53,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 1375,
+ 1379
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 1380,
+ 1387
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 11
+ },
+ "end": {
+ "line": 55,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 1375,
+ 1387
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1388,
+ 1393
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 19
+ },
+ "end": {
+ "line": 55,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1395,
+ 1399
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 26
+ },
+ "end": {
+ "line": 55,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1401,
+ 1403
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 32
+ },
+ "end": {
+ "line": 55,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1405,
+ 1412
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 36
+ },
+ "end": {
+ "line": 55,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1414,
+ 1418
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 45
+ },
+ "end": {
+ "line": 55,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1420,
+ 1425
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 51
+ },
+ "end": {
+ "line": 55,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 1375,
+ 1426
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 1375,
+ 1427
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 6
+ },
+ "end": {
+ "line": 55,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "range": [
+ 1366,
+ 1434
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 66
+ },
+ "end": {
+ "line": 57,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1444,
+ 1449
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 15
+ },
+ "end": {
+ "line": 57,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 1450,
+ 1456
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 21
+ },
+ "end": {
+ "line": 57,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 1444,
+ 1456
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 15
+ },
+ "end": {
+ "line": 57,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1457,
+ 1461
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 28
+ },
+ "end": {
+ "line": 57,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 1444,
+ 1462
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 15
+ },
+ "end": {
+ "line": 57,
+ "column": 33
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1477,
+ 1484
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 10
+ },
+ "end": {
+ "line": 59,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "XMLHttpRequest",
+ "range": [
+ 1491,
+ 1505
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 24
+ },
+ "end": {
+ "line": 59,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 1487,
+ 1507
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 20
+ },
+ "end": {
+ "line": 59,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 1477,
+ 1507
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 10
+ },
+ "end": {
+ "line": 59,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 1473,
+ 1508
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 6
+ },
+ "end": {
+ "line": 59,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1516,
+ 1523
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "open",
+ "range": [
+ 1524,
+ 1528
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 14
+ },
+ "end": {
+ "line": 61,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 1516,
+ 1528
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "DELETE",
+ "raw": "'DELETE'",
+ "range": [
+ 1529,
+ 1537
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 19
+ },
+ "end": {
+ "line": 61,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 1539,
+ 1542
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 29
+ },
+ "end": {
+ "line": 61,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 1552,
+ 1556
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 42
+ },
+ "end": {
+ "line": 61,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 1560,
+ 1564
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 50
+ },
+ "end": {
+ "line": 61,
+ "column": 54
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 1566,
+ 1568
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 56
+ },
+ "end": {
+ "line": 61,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 1542,
+ 1546
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 32
+ },
+ "end": {
+ "line": 61,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 1547,
+ 1552
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 37
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 1542,
+ 1552
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 32
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1556,
+ 1560
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 46
+ },
+ "end": {
+ "line": 61,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1564,
+ 1566
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 54
+ },
+ "end": {
+ "line": 61,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 1539,
+ 1568
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 29
+ },
+ "end": {
+ "line": 61,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": true,
+ "raw": "true",
+ "range": [
+ 1570,
+ 1574
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 60
+ },
+ "end": {
+ "line": 61,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 1516,
+ 1575
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 1516,
+ 1576
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 6
+ },
+ "end": {
+ "line": 61,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1584,
+ 1591
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "setRequestHeader",
+ "range": [
+ 1592,
+ 1608
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 14
+ },
+ "end": {
+ "line": 63,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 1584,
+ 1608
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Content-Type",
+ "raw": "\"Content-Type\"",
+ "range": [
+ 1609,
+ 1623
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 31
+ },
+ "end": {
+ "line": 63,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "application/vnd.api+json",
+ "raw": "\"application/vnd.api+json\"",
+ "range": [
+ 1625,
+ 1651
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 47
+ },
+ "end": {
+ "line": 63,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 1584,
+ 1652
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 1584,
+ 1653
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 6
+ },
+ "end": {
+ "line": 63,
+ "column": 75
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1661,
+ 1668
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 65,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onload",
+ "range": [
+ 1669,
+ 1675
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 14
+ },
+ "end": {
+ "line": 65,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 1661,
+ 1675
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 65,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": ">=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1704,
+ 1711
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 1712,
+ 1718
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 20
+ },
+ "end": {
+ "line": 66,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 1704,
+ 1718
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 1722,
+ 1725
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 30
+ },
+ "end": {
+ "line": 66,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 1704,
+ 1725
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 1729,
+ 1736
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 37
+ },
+ "end": {
+ "line": 66,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 1737,
+ 1743
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 45
+ },
+ "end": {
+ "line": 66,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 1729,
+ 1743
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 37
+ },
+ "end": {
+ "line": 66,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 1746,
+ 1749
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 54
+ },
+ "end": {
+ "line": 66,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 1729,
+ 1749
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 37
+ },
+ "end": {
+ "line": 66,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 1704,
+ 1749
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 12
+ },
+ "end": {
+ "line": 66,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 1781,
+ 1786
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "remove",
+ "range": [
+ 1787,
+ 1793
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 18
+ },
+ "end": {
+ "line": 68,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 1781,
+ 1793
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1794,
+ 1798
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 25
+ },
+ "end": {
+ "line": 68,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1800,
+ 1802
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 31
+ },
+ "end": {
+ "line": 68,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 1781,
+ 1803
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 1781,
+ 1804
+ ],
+ "loc": {
+ "start": {
+ "line": 68,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1821,
+ 1828
+ ],
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 16
+ },
+ "end": {
+ "line": 69,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 1846,
+ 1853
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1854,
+ 1858
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 22
+ },
+ "end": {
+ "line": 70,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 1846,
+ 1858
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1859,
+ 1866
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 27
+ },
+ "end": {
+ "line": 70,
+ "column": 34
+ }
+ }
+ }
+ ],
+ "range": [
+ 1846,
+ 1867
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 1846,
+ 1868
+ ],
+ "loc": {
+ "start": {
+ "line": 70,
+ "column": 14
+ },
+ "end": {
+ "line": 70,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 1830,
+ 1882
+ ],
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 25
+ },
+ "end": {
+ "line": 71,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1817,
+ 1882
+ ],
+ "loc": {
+ "start": {
+ "line": 69,
+ "column": 12
+ },
+ "end": {
+ "line": 71,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 1767,
+ 1894
+ ],
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 14
+ },
+ "end": {
+ "line": 72,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 1902,
+ 1903
+ ],
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 19
+ },
+ "end": {
+ "line": 72,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1919,
+ 1924
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1925,
+ 1929
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 18
+ },
+ "end": {
+ "line": 73,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 1919,
+ 1929
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 1930,
+ 1937
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 23
+ },
+ "end": {
+ "line": 73,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 1939,
+ 1940
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 32
+ },
+ "end": {
+ "line": 73,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 1919,
+ 1941
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 1919,
+ 1942
+ ],
+ "loc": {
+ "start": {
+ "line": 73,
+ "column": 12
+ },
+ "end": {
+ "line": 73,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 1905,
+ 1954
+ ],
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 22
+ },
+ "end": {
+ "line": 74,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 1895,
+ 1954
+ ],
+ "loc": {
+ "start": {
+ "line": 72,
+ "column": 12
+ },
+ "end": {
+ "line": 74,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 1763,
+ 1954
+ ],
+ "loc": {
+ "start": {
+ "line": 67,
+ "column": 10
+ },
+ "end": {
+ "line": 74,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 1751,
+ 1964
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 59
+ },
+ "end": {
+ "line": 75,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1974,
+ 1979
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 19
+ },
+ "end": {
+ "line": 75,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 1993,
+ 1998
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 1999,
+ 2003
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 16
+ },
+ "end": {
+ "line": 76,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 1993,
+ 2003
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 20
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 2004,
+ 2011
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 21
+ },
+ "end": {
+ "line": 76,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 1993,
+ 2012
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 1993,
+ 2013
+ ],
+ "loc": {
+ "start": {
+ "line": 76,
+ "column": 10
+ },
+ "end": {
+ "line": 76,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 1981,
+ 2023
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 26
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1970,
+ 2023
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 15
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 1700,
+ 2023
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 8
+ },
+ "end": {
+ "line": 77,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 1690,
+ 2031
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 35
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1678,
+ 2031
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 23
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 1661,
+ 2031
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 78,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 1661,
+ 2032
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 6
+ },
+ "end": {
+ "line": 78,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 2040,
+ 2047
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 2048,
+ 2052
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 14
+ },
+ "end": {
+ "line": 80,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 2040,
+ 2052
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 2040,
+ 2054
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 2040,
+ 2055
+ ],
+ "loc": {
+ "start": {
+ "line": 80,
+ "column": 6
+ },
+ "end": {
+ "line": 80,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "range": [
+ 1464,
+ 2062
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 35
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 2086,
+ 2091
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 16
+ },
+ "end": {
+ "line": 83,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 2092,
+ 2109
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 22
+ },
+ "end": {
+ "line": 83,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 2113,
+ 2116
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 43
+ },
+ "end": {
+ "line": 83,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2109,
+ 2113
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 39
+ },
+ "end": {
+ "line": 83,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 2092,
+ 2116
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 22
+ },
+ "end": {
+ "line": 83,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 2082,
+ 2117
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 12
+ },
+ "end": {
+ "line": 83,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 2076,
+ 2118
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 6
+ },
+ "end": {
+ "line": 83,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 2068,
+ 2124
+ ],
+ "loc": {
+ "start": {
+ "line": 82,
+ "column": 11
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 1440,
+ 2124
+ ],
+ "loc": {
+ "start": {
+ "line": 57,
+ "column": 11
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 1304,
+ 2124
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 4
+ },
+ "end": {
+ "line": 84,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 1297,
+ 2129
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 52
+ },
+ "end": {
+ "line": 86,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1254,
+ 2129
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 9
+ },
+ "end": {
+ "line": 86,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 1247,
+ 2129
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 2
+ },
+ "end": {
+ "line": 86,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2133,
+ 2137
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 2
+ },
+ "end": {
+ "line": 88,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2138,
+ 2143
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 7
+ },
+ "end": {
+ "line": 88,
+ "column": 12
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2145,
+ 2149
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 14
+ },
+ "end": {
+ "line": 88,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2151,
+ 2153
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 20
+ },
+ "end": {
+ "line": 88,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2155,
+ 2162
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 24
+ },
+ "end": {
+ "line": 88,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2164,
+ 2171
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 33
+ },
+ "end": {
+ "line": 88,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2173,
+ 2178
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 42
+ },
+ "end": {
+ "line": 88,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 2180,
+ 2187
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 49
+ },
+ "end": {
+ "line": 88,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2200,
+ 2202
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 10
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2206,
+ 2208
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 2209,
+ 2217
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 17
+ },
+ "end": {
+ "line": 90,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 2206,
+ 2217
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 2218,
+ 2222
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 26
+ },
+ "end": {
+ "line": 90,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 2206,
+ 2222
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2223,
+ 2225
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 31
+ },
+ "end": {
+ "line": 90,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 2206,
+ 2226
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 2231,
+ 2250
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 39
+ },
+ "end": {
+ "line": 90,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 2206,
+ 2250
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 14
+ },
+ "end": {
+ "line": 90,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 2200,
+ 2250
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 58
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2260,
+ 2264
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2265,
+ 2269
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 11
+ },
+ "end": {
+ "line": 91,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2260,
+ 2269
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2270,
+ 2275
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 16
+ },
+ "end": {
+ "line": 91,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2277,
+ 2281
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 23
+ },
+ "end": {
+ "line": 91,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2283,
+ 2287
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 29
+ },
+ "end": {
+ "line": 91,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2289,
+ 2293
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 35
+ },
+ "end": {
+ "line": 91,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2295,
+ 2297
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 41
+ },
+ "end": {
+ "line": 91,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2299,
+ 2306
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 45
+ },
+ "end": {
+ "line": 91,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2308,
+ 2315
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 54
+ },
+ "end": {
+ "line": 91,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "range": [
+ 2260,
+ 2316
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 2260,
+ 2317
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 6
+ },
+ "end": {
+ "line": 91,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 2252,
+ 2323
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 60
+ },
+ "end": {
+ "line": 92,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2333,
+ 2335
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 15
+ },
+ "end": {
+ "line": 92,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2346,
+ 2348
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 28
+ },
+ "end": {
+ "line": 92,
+ "column": 30
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 2339,
+ 2348
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 21
+ },
+ "end": {
+ "line": 92,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "\"object\"",
+ "range": [
+ 2353,
+ 2361
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 35
+ },
+ "end": {
+ "line": 92,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2339,
+ 2361
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 21
+ },
+ "end": {
+ "line": 92,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2333,
+ 2361
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 15
+ },
+ "end": {
+ "line": 92,
+ "column": 43
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2371,
+ 2375
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2376,
+ 2380
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 11
+ },
+ "end": {
+ "line": 93,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2371,
+ 2380
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2381,
+ 2386
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 16
+ },
+ "end": {
+ "line": 93,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2388,
+ 2392
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 23
+ },
+ "end": {
+ "line": 93,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2394,
+ 2398
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 29
+ },
+ "end": {
+ "line": 93,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2400,
+ 2402
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 35
+ },
+ "end": {
+ "line": 93,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2404,
+ 2411
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 39
+ },
+ "end": {
+ "line": 93,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2413,
+ 2420
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 48
+ },
+ "end": {
+ "line": 93,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2422,
+ 2427
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 57
+ },
+ "end": {
+ "line": 93,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 2371,
+ 2428
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 2371,
+ 2429
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 6
+ },
+ "end": {
+ "line": 93,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 2363,
+ 2435
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 45
+ },
+ "end": {
+ "line": 94,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2445,
+ 2452
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 15
+ },
+ "end": {
+ "line": 94,
+ "column": 22
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2456,
+ 2458
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 2459,
+ 2467
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 29
+ },
+ "end": {
+ "line": 94,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 2456,
+ 2467
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 2468,
+ 2472
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 38
+ },
+ "end": {
+ "line": 94,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2456,
+ 2472
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 42
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2473,
+ 2480
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 43
+ },
+ "end": {
+ "line": 94,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 2456,
+ 2481
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 2486,
+ 2505
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 56
+ },
+ "end": {
+ "line": 94,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 2456,
+ 2505
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 26
+ },
+ "end": {
+ "line": 94,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 2445,
+ 2505
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 15
+ },
+ "end": {
+ "line": 94,
+ "column": 75
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2515,
+ 2519
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2520,
+ 2524
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 11
+ },
+ "end": {
+ "line": 95,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2515,
+ 2524
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2525,
+ 2530
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2532,
+ 2536
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 23
+ },
+ "end": {
+ "line": 95,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2538,
+ 2540
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 29
+ },
+ "end": {
+ "line": 95,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2542,
+ 2544
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 33
+ },
+ "end": {
+ "line": 95,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2546,
+ 2553
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 37
+ },
+ "end": {
+ "line": 95,
+ "column": 44
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2555,
+ 2562
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 46
+ },
+ "end": {
+ "line": 95,
+ "column": 53
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2564,
+ 2569
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 55
+ },
+ "end": {
+ "line": 95,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 2515,
+ 2570
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 2515,
+ 2571
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 6
+ },
+ "end": {
+ "line": 95,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 2507,
+ 2577
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 77
+ },
+ "end": {
+ "line": 96,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2587,
+ 2592
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 15
+ },
+ "end": {
+ "line": 96,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2596,
+ 2598
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 2599,
+ 2607
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 27
+ },
+ "end": {
+ "line": 96,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 2596,
+ 2607
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 2608,
+ 2612
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 36
+ },
+ "end": {
+ "line": 96,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2596,
+ 2612
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 40
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2613,
+ 2618
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 41
+ },
+ "end": {
+ "line": 96,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 2596,
+ 2619
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 47
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 2624,
+ 2643
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 52
+ },
+ "end": {
+ "line": 96,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 2596,
+ 2643
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 24
+ },
+ "end": {
+ "line": 96,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 2587,
+ 2643
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 15
+ },
+ "end": {
+ "line": 96,
+ "column": 71
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2653,
+ 2657
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 2658,
+ 2662
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 11
+ },
+ "end": {
+ "line": 97,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 2653,
+ 2662
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2663,
+ 2668
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 16
+ },
+ "end": {
+ "line": 97,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2670,
+ 2674
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 23
+ },
+ "end": {
+ "line": 97,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2676,
+ 2678
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 29
+ },
+ "end": {
+ "line": 97,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2680,
+ 2687
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 33
+ },
+ "end": {
+ "line": 97,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 2689,
+ 2696
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 42
+ },
+ "end": {
+ "line": 97,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2698,
+ 2702
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 51
+ },
+ "end": {
+ "line": 97,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 2704,
+ 2709
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 57
+ },
+ "end": {
+ "line": 97,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 2653,
+ 2710
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 2653,
+ 2711
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 6
+ },
+ "end": {
+ "line": 97,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 2645,
+ 2717
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 73
+ },
+ "end": {
+ "line": 98,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 2727,
+ 2732
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 15
+ },
+ "end": {
+ "line": 98,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 2733,
+ 2739
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 98,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 2727,
+ 2739
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 15
+ },
+ "end": {
+ "line": 98,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2740,
+ 2744
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 28
+ },
+ "end": {
+ "line": 98,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 2727,
+ 2745
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 15
+ },
+ "end": {
+ "line": 98,
+ "column": 33
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 2760,
+ 2767
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 10
+ },
+ "end": {
+ "line": 100,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "XMLHttpRequest",
+ "range": [
+ 2774,
+ 2788
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 24
+ },
+ "end": {
+ "line": 100,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 2770,
+ 2790
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 20
+ },
+ "end": {
+ "line": 100,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2760,
+ 2790
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 10
+ },
+ "end": {
+ "line": 100,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 2756,
+ 2791
+ ],
+ "loc": {
+ "start": {
+ "line": 100,
+ "column": 6
+ },
+ "end": {
+ "line": 100,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 2802,
+ 2805
+ ],
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 10
+ },
+ "end": {
+ "line": 101,
+ "column": 13
+ }
+ }
+ },
+ "init": null,
+ "range": [
+ 2802,
+ 2805
+ ],
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 10
+ },
+ "end": {
+ "line": 101,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 2798,
+ 2806
+ ],
+ "loc": {
+ "start": {
+ "line": 101,
+ "column": 6
+ },
+ "end": {
+ "line": 101,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2814,
+ 2821
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 6
+ },
+ "end": {
+ "line": 103,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2824,
+ 2831
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 16
+ },
+ "end": {
+ "line": 103,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 2835,
+ 2837
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 27
+ },
+ "end": {
+ "line": 103,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 2824,
+ 2837
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 16
+ },
+ "end": {
+ "line": 103,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 2814,
+ 2837
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 6
+ },
+ "end": {
+ "line": 103,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 2814,
+ 2838
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 6
+ },
+ "end": {
+ "line": 103,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 2845,
+ 2848
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 6
+ },
+ "end": {
+ "line": 104,
+ "column": 9
+ }
+ }
+ },
+ "right": {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2851,
+ 2853
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 12
+ },
+ "end": {
+ "line": 104,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 2856,
+ 2859
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 17
+ },
+ "end": {
+ "line": 104,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 2869,
+ 2873
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 30
+ },
+ "end": {
+ "line": 104,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 2877,
+ 2881
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 38
+ },
+ "end": {
+ "line": 104,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 2883,
+ 2885
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 44
+ },
+ "end": {
+ "line": 104,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2859,
+ 2863
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 20
+ },
+ "end": {
+ "line": 104,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 2864,
+ 2869
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 25
+ },
+ "end": {
+ "line": 104,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 2859,
+ 2869
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 20
+ },
+ "end": {
+ "line": 104,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2873,
+ 2877
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 34
+ },
+ "end": {
+ "line": 104,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2881,
+ 2883
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 42
+ },
+ "end": {
+ "line": 104,
+ "column": 44
+ }
+ }
+ }
+ ],
+ "range": [
+ 2856,
+ 2885
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 17
+ },
+ "end": {
+ "line": 104,
+ "column": 46
+ }
+ }
+ },
+ "alternate": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 2888,
+ 2891
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 49
+ },
+ "end": {
+ "line": 104,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 2901,
+ 2905
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 62
+ },
+ "end": {
+ "line": 104,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 2909,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 70
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 2891,
+ 2895
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 52
+ },
+ "end": {
+ "line": 104,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 2896,
+ 2901
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 57
+ },
+ "end": {
+ "line": 104,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 2891,
+ 2901
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 52
+ },
+ "end": {
+ "line": 104,
+ "column": 62
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2905,
+ 2909
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 66
+ },
+ "end": {
+ "line": 104,
+ "column": 70
+ }
+ }
+ }
+ ],
+ "range": [
+ 2888,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 49
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 2851,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 12
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 2845,
+ 2911
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 6
+ },
+ "end": {
+ "line": 104,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 2845,
+ 2912
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 6
+ },
+ "end": {
+ "line": 104,
+ "column": 73
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2924,
+ 2931
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 10
+ },
+ "end": {
+ "line": 106,
+ "column": 17
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 2948,
+ 2954
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 12
+ },
+ "end": {
+ "line": 108,
+ "column": 18
+ }
+ }
+ },
+ "init": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 2957,
+ 2959
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 21
+ },
+ "end": {
+ "line": 108,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 2948,
+ 2959
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 12
+ },
+ "end": {
+ "line": 108,
+ "column": 23
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 2944,
+ 2960
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 8
+ },
+ "end": {
+ "line": 108,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2974,
+ 2981
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 12
+ },
+ "end": {
+ "line": 110,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 2982,
+ 2988
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 20
+ },
+ "end": {
+ "line": 110,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 2974,
+ 2988
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 12
+ },
+ "end": {
+ "line": 110,
+ "column": 26
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 3002,
+ 3008
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 3009,
+ 3013
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 17
+ },
+ "end": {
+ "line": 111,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 3002,
+ 3013
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3014,
+ 3021
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 22
+ },
+ "end": {
+ "line": 111,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 3022,
+ 3028
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 30
+ },
+ "end": {
+ "line": 111,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 3014,
+ 3028
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 22
+ },
+ "end": {
+ "line": 111,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 3002,
+ 3029
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 3030,
+ 3037
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 38
+ },
+ "end": {
+ "line": 111,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 3002,
+ 3037
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 45
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 3038,
+ 3043
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 46
+ },
+ "end": {
+ "line": 111,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3061,
+ 3068
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "fields[",
+ "cooked": "fields["
+ },
+ "tail": false,
+ "range": [
+ 3069,
+ 3079
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 20
+ },
+ "end": {
+ "line": 112,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "]",
+ "cooked": "]"
+ },
+ "tail": true,
+ "range": [
+ 3084,
+ 3087
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 35
+ },
+ "end": {
+ "line": 112,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 3079,
+ 3084
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 30
+ },
+ "end": {
+ "line": 112,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 3069,
+ 3087
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 20
+ },
+ "end": {
+ "line": 112,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 3061,
+ 3088
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 39
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3091,
+ 3098
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 42
+ },
+ "end": {
+ "line": 112,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 3099,
+ 3105
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 50
+ },
+ "end": {
+ "line": 112,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 3091,
+ 3105
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 42
+ },
+ "end": {
+ "line": 112,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 3106,
+ 3111
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 57
+ },
+ "end": {
+ "line": 112,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 3091,
+ 3112
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 42
+ },
+ "end": {
+ "line": 112,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 3061,
+ 3112
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 3061,
+ 3113
+ ],
+ "loc": {
+ "start": {
+ "line": 112,
+ "column": 12
+ },
+ "end": {
+ "line": 112,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 3047,
+ 3125
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 55
+ },
+ "end": {
+ "line": 113,
+ "column": 11
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3038,
+ 3125
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 46
+ },
+ "end": {
+ "line": 113,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 3002,
+ 3126
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 113,
+ "column": 12
+ }
+ }
+ },
+ "range": [
+ 3002,
+ 3127
+ ],
+ "loc": {
+ "start": {
+ "line": 111,
+ "column": 10
+ },
+ "end": {
+ "line": 113,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "UnaryExpression",
+ "operator": "delete",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3145,
+ 3152
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 17
+ },
+ "end": {
+ "line": 114,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fields",
+ "range": [
+ 3153,
+ 3159
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 25
+ },
+ "end": {
+ "line": 114,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 3145,
+ 3159
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 17
+ },
+ "end": {
+ "line": 114,
+ "column": 31
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 3138,
+ 3159
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 10
+ },
+ "end": {
+ "line": 114,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 3138,
+ 3160
+ ],
+ "loc": {
+ "start": {
+ "line": 114,
+ "column": 10
+ },
+ "end": {
+ "line": 114,
+ "column": 32
+ }
+ }
+ }
+ ],
+ "range": [
+ 2990,
+ 3170
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 28
+ },
+ "end": {
+ "line": 115,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2970,
+ 3170
+ ],
+ "loc": {
+ "start": {
+ "line": 110,
+ "column": 8
+ },
+ "end": {
+ "line": 115,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 3180,
+ 3186
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 8
+ },
+ "end": {
+ "line": 117,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 3189,
+ 3195
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 3196,
+ 3200
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 24
+ },
+ "end": {
+ "line": 117,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 3189,
+ 3200
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 28
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3201,
+ 3208
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 29
+ },
+ "end": {
+ "line": 117,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 3189,
+ 3209
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 3210,
+ 3213
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 38
+ },
+ "end": {
+ "line": 117,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 3189,
+ 3213
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 117,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3214,
+ 3217
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 42
+ },
+ "end": {
+ "line": 117,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "BinaryExpression",
+ "operator": "+",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "+",
+ "left": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3240,
+ 3243
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 118,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "=",
+ "raw": "\"=\"",
+ "range": [
+ 3246,
+ 3249
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 23
+ },
+ "end": {
+ "line": 118,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3240,
+ 3249
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 118,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "encodeURIComponent",
+ "range": [
+ 3252,
+ 3270
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 29
+ },
+ "end": {
+ "line": 118,
+ "column": 47
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 3271,
+ 3278
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 48
+ },
+ "end": {
+ "line": 118,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3279,
+ 3282
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 56
+ },
+ "end": {
+ "line": 118,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 3271,
+ 3283
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 48
+ },
+ "end": {
+ "line": 118,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 3252,
+ 3284
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 29
+ },
+ "end": {
+ "line": 118,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 3240,
+ 3284
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 17
+ },
+ "end": {
+ "line": 118,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 3233,
+ 3285
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 10
+ },
+ "end": {
+ "line": 118,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 3221,
+ 3295
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 49
+ },
+ "end": {
+ "line": 119,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3214,
+ 3295
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 42
+ },
+ "end": {
+ "line": 119,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 3189,
+ 3296
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 119,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "sort",
+ "range": [
+ 3297,
+ 3301
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 11
+ },
+ "end": {
+ "line": 119,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 3189,
+ 3301
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 119,
+ "column": 15
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 3189,
+ 3303
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 17
+ },
+ "end": {
+ "line": 119,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 3180,
+ 3303
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 8
+ },
+ "end": {
+ "line": 119,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 3180,
+ 3304
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 8
+ },
+ "end": {
+ "line": 119,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 3318,
+ 3324
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 12
+ },
+ "end": {
+ "line": 121,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "length",
+ "range": [
+ 3325,
+ 3331
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 19
+ },
+ "end": {
+ "line": 121,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 3318,
+ 3331
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 12
+ },
+ "end": {
+ "line": 121,
+ "column": 25
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 3345,
+ 3348
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 10
+ },
+ "end": {
+ "line": 122,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 3351,
+ 3354
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 16
+ },
+ "end": {
+ "line": 122,
+ "column": 19
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "?",
+ "cooked": "?"
+ },
+ "tail": false,
+ "range": [
+ 3357,
+ 3361
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 22
+ },
+ "end": {
+ "line": 122,
+ "column": 26
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 3377,
+ 3379
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 42
+ },
+ "end": {
+ "line": 122,
+ "column": 44
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 3354,
+ 3357
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 19
+ },
+ "end": {
+ "line": 122,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "params",
+ "range": [
+ 3361,
+ 3367
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 26
+ },
+ "end": {
+ "line": 122,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "join",
+ "range": [
+ 3368,
+ 3372
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 33
+ },
+ "end": {
+ "line": 122,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 3361,
+ 3372
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 26
+ },
+ "end": {
+ "line": 122,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "&",
+ "raw": "\"&\"",
+ "range": [
+ 3373,
+ 3376
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 38
+ },
+ "end": {
+ "line": 122,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 3361,
+ 3377
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 26
+ },
+ "end": {
+ "line": 122,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "range": [
+ 3351,
+ 3379
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 16
+ },
+ "end": {
+ "line": 122,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 3345,
+ 3379
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 10
+ },
+ "end": {
+ "line": 122,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 3345,
+ 3380
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 10
+ },
+ "end": {
+ "line": 122,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 3333,
+ 3390
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 27
+ },
+ "end": {
+ "line": 123,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3314,
+ 3390
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 8
+ },
+ "end": {
+ "line": 123,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 2933,
+ 3399
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 19
+ },
+ "end": {
+ "line": 125,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2920,
+ 3399
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 6
+ },
+ "end": {
+ "line": 125,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3407,
+ 3414
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "open",
+ "range": [
+ 3415,
+ 3419
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 14
+ },
+ "end": {
+ "line": 127,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3419
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "GET",
+ "raw": "'GET'",
+ "range": [
+ 3420,
+ 3425
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 19
+ },
+ "end": {
+ "line": 127,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "url",
+ "range": [
+ 3427,
+ 3430
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 26
+ },
+ "end": {
+ "line": 127,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": true,
+ "raw": "true",
+ "range": [
+ 3432,
+ 3436
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 31
+ },
+ "end": {
+ "line": 127,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 3407,
+ 3437
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3438
+ ],
+ "loc": {
+ "start": {
+ "line": 127,
+ "column": 6
+ },
+ "end": {
+ "line": 127,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3446,
+ 3453
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "setRequestHeader",
+ "range": [
+ 3454,
+ 3470
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 14
+ },
+ "end": {
+ "line": 129,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 3446,
+ 3470
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Content-Type",
+ "raw": "\"Content-Type\"",
+ "range": [
+ 3471,
+ 3485
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 31
+ },
+ "end": {
+ "line": 129,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "application/vnd.api+json",
+ "raw": "\"application/vnd.api+json\"",
+ "range": [
+ 3487,
+ 3513
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 47
+ },
+ "end": {
+ "line": 129,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 3446,
+ 3514
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 3446,
+ 3515
+ ],
+ "loc": {
+ "start": {
+ "line": 129,
+ "column": 6
+ },
+ "end": {
+ "line": 129,
+ "column": 75
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3523,
+ 3530
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 131,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onload",
+ "range": [
+ 3531,
+ 3537
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 14
+ },
+ "end": {
+ "line": 131,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3523,
+ 3537
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 131,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": ">=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3566,
+ 3573
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 3574,
+ 3580
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 20
+ },
+ "end": {
+ "line": 132,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3566,
+ 3580
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 3584,
+ 3587
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 30
+ },
+ "end": {
+ "line": 132,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 3566,
+ 3587
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3591,
+ 3598
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 37
+ },
+ "end": {
+ "line": 132,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 3599,
+ 3605
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 45
+ },
+ "end": {
+ "line": 132,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 3591,
+ 3605
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 37
+ },
+ "end": {
+ "line": 132,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 3608,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 54
+ },
+ "end": {
+ "line": 132,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 3591,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 37
+ },
+ "end": {
+ "line": 132,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 3566,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 12
+ },
+ "end": {
+ "line": 132,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 3643,
+ 3648
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 3649,
+ 3653
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 18
+ },
+ "end": {
+ "line": 134,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 3643,
+ 3653
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 3654,
+ 3658
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 23
+ },
+ "end": {
+ "line": 134,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "parse",
+ "range": [
+ 3659,
+ 3664
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 28
+ },
+ "end": {
+ "line": 134,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 3654,
+ 3664
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 23
+ },
+ "end": {
+ "line": 134,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3665,
+ 3672
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 34
+ },
+ "end": {
+ "line": 134,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "responseText",
+ "range": [
+ 3673,
+ 3685
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 42
+ },
+ "end": {
+ "line": 134,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 3665,
+ 3685
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 34
+ },
+ "end": {
+ "line": 134,
+ "column": 54
+ }
+ }
+ }
+ ],
+ "range": [
+ 3654,
+ 3686
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 23
+ },
+ "end": {
+ "line": 134,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 3643,
+ 3687
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 3643,
+ 3688
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 12
+ },
+ "end": {
+ "line": 134,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 3705,
+ 3712
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 16
+ },
+ "end": {
+ "line": 135,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 3730,
+ 3737
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 3738,
+ 3742
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 22
+ },
+ "end": {
+ "line": 136,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3730,
+ 3742
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 3743,
+ 3750
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 27
+ },
+ "end": {
+ "line": 136,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3752,
+ 3754
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 36
+ },
+ "end": {
+ "line": 136,
+ "column": 38
+ }
+ }
+ },
+ "consequent": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 3757,
+ 3762
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 41
+ },
+ "end": {
+ "line": 136,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 3763,
+ 3767
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 47
+ },
+ "end": {
+ "line": 136,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 3757,
+ 3767
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 41
+ },
+ "end": {
+ "line": 136,
+ "column": 51
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3768,
+ 3772
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 52
+ },
+ "end": {
+ "line": 136,
+ "column": 56
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3774,
+ 3776
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 58
+ },
+ "end": {
+ "line": 136,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 3757,
+ 3777
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 41
+ },
+ "end": {
+ "line": 136,
+ "column": 61
+ }
+ }
+ },
+ "alternate": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 3780,
+ 3785
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 64
+ },
+ "end": {
+ "line": 136,
+ "column": 69
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 3786,
+ 3790
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 70
+ },
+ "end": {
+ "line": 136,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 3780,
+ 3790
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 64
+ },
+ "end": {
+ "line": 136,
+ "column": 74
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3791,
+ 3795
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 75
+ },
+ "end": {
+ "line": 136,
+ "column": 79
+ }
+ }
+ }
+ ],
+ "range": [
+ 3780,
+ 3796
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 64
+ },
+ "end": {
+ "line": 136,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 3752,
+ 3796
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 36
+ },
+ "end": {
+ "line": 136,
+ "column": 80
+ }
+ }
+ }
+ ],
+ "range": [
+ 3730,
+ 3797
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 81
+ }
+ }
+ },
+ "range": [
+ 3730,
+ 3798
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 14
+ },
+ "end": {
+ "line": 136,
+ "column": 82
+ }
+ }
+ }
+ ],
+ "range": [
+ 3714,
+ 3812
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 25
+ },
+ "end": {
+ "line": 137,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3701,
+ 3812
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 12
+ },
+ "end": {
+ "line": 137,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 3629,
+ 3824
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 14
+ },
+ "end": {
+ "line": 138,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 3832,
+ 3833
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 19
+ },
+ "end": {
+ "line": 138,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 3849,
+ 3854
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 3855,
+ 3859
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 18
+ },
+ "end": {
+ "line": 139,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 3849,
+ 3859
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3860,
+ 3862
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 23
+ },
+ "end": {
+ "line": 139,
+ "column": 25
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 3864,
+ 3865
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 27
+ },
+ "end": {
+ "line": 139,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 3849,
+ 3866
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 3849,
+ 3867
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 12
+ },
+ "end": {
+ "line": 139,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 3835,
+ 3879
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 22
+ },
+ "end": {
+ "line": 140,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 3825,
+ 3879
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 12
+ },
+ "end": {
+ "line": 140,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 3625,
+ 3879
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 10
+ },
+ "end": {
+ "line": 140,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 3613,
+ 3889
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 59
+ },
+ "end": {
+ "line": 141,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 3899,
+ 3904
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 19
+ },
+ "end": {
+ "line": 141,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 3918,
+ 3923
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 3924,
+ 3928
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 16
+ },
+ "end": {
+ "line": 142,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3918,
+ 3928
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 20
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 3929,
+ 3936
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 21
+ },
+ "end": {
+ "line": 142,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 3918,
+ 3937
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 3918,
+ 3938
+ ],
+ "loc": {
+ "start": {
+ "line": 142,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 3906,
+ 3948
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 26
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3895,
+ 3948
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 15
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 3562,
+ 3948
+ ],
+ "loc": {
+ "start": {
+ "line": 132,
+ "column": 8
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 3552,
+ 3956
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 35
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3540,
+ 3956
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 23
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 3523,
+ 3956
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 144,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 3523,
+ 3957
+ ],
+ "loc": {
+ "start": {
+ "line": 131,
+ "column": 6
+ },
+ "end": {
+ "line": 144,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 3965,
+ 3972
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 3973,
+ 3977
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 14
+ },
+ "end": {
+ "line": 146,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 3965,
+ 3977
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 3965,
+ 3979
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3965,
+ 3980
+ ],
+ "loc": {
+ "start": {
+ "line": 146,
+ "column": 6
+ },
+ "end": {
+ "line": 146,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "range": [
+ 2747,
+ 3987
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 35
+ },
+ "end": {
+ "line": 148,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 4011,
+ 4016
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 16
+ },
+ "end": {
+ "line": 149,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 4017,
+ 4034
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 22
+ },
+ "end": {
+ "line": 149,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 4038,
+ 4041
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 43
+ },
+ "end": {
+ "line": 149,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4034,
+ 4038
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 39
+ },
+ "end": {
+ "line": 149,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 4017,
+ 4041
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 22
+ },
+ "end": {
+ "line": 149,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 4007,
+ 4042
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 12
+ },
+ "end": {
+ "line": 149,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 4001,
+ 4043
+ ],
+ "loc": {
+ "start": {
+ "line": 149,
+ "column": 6
+ },
+ "end": {
+ "line": 149,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 3993,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2723,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2583,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2441,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2329,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 11
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2196,
+ 4049
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 4
+ },
+ "end": {
+ "line": 150,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 2189,
+ 4054
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 58
+ },
+ "end": {
+ "line": 152,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 2137,
+ 4054
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 6
+ },
+ "end": {
+ "line": 152,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 2133,
+ 4054
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 2
+ },
+ "end": {
+ "line": 152,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 4058,
+ 4064
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 2
+ },
+ "end": {
+ "line": 154,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4065,
+ 4070
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 9
+ },
+ "end": {
+ "line": 154,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4072,
+ 4076
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 16
+ },
+ "end": {
+ "line": 154,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4078,
+ 4080
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 22
+ },
+ "end": {
+ "line": 154,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 4082,
+ 4089
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 26
+ },
+ "end": {
+ "line": 154,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4091,
+ 4098
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 35
+ },
+ "end": {
+ "line": 154,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4100,
+ 4105
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 44
+ },
+ "end": {
+ "line": 154,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4107,
+ 4114
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 51
+ },
+ "end": {
+ "line": 154,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4127,
+ 4132
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 8
+ },
+ "end": {
+ "line": 156,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 4136,
+ 4138
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 4139,
+ 4147
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 20
+ },
+ "end": {
+ "line": 156,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 4136,
+ 4147
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4148,
+ 4152
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 29
+ },
+ "end": {
+ "line": 156,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 4136,
+ 4152
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4153,
+ 4158
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 34
+ },
+ "end": {
+ "line": 156,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 4136,
+ 4159
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 4164,
+ 4183
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 45
+ },
+ "end": {
+ "line": 156,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4136,
+ 4183
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 17
+ },
+ "end": {
+ "line": 156,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4127,
+ 4183
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 8
+ },
+ "end": {
+ "line": 156,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4194,
+ 4198
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 4199,
+ 4205
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 11
+ },
+ "end": {
+ "line": 158,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 4194,
+ 4205
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 17
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4206,
+ 4211
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 18
+ },
+ "end": {
+ "line": 158,
+ "column": 23
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4213,
+ 4217
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 25
+ },
+ "end": {
+ "line": 158,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4219,
+ 4221
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 31
+ },
+ "end": {
+ "line": 158,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 4223,
+ 4230
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 35
+ },
+ "end": {
+ "line": 158,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4232,
+ 4239
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 44
+ },
+ "end": {
+ "line": 158,
+ "column": 51
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 4241,
+ 4245
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 53
+ },
+ "end": {
+ "line": 158,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4247,
+ 4252
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 59
+ },
+ "end": {
+ "line": 158,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 4194,
+ 4253
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 4194,
+ 4254
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 6
+ },
+ "end": {
+ "line": 158,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 4185,
+ 4261
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 66
+ },
+ "end": {
+ "line": 160,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4271,
+ 4276
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 15
+ },
+ "end": {
+ "line": 160,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 4277,
+ 4283
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 21
+ },
+ "end": {
+ "line": 160,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 4271,
+ 4283
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 15
+ },
+ "end": {
+ "line": 160,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4284,
+ 4288
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 28
+ },
+ "end": {
+ "line": 160,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 4271,
+ 4289
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 15
+ },
+ "end": {
+ "line": 160,
+ "column": 33
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4304,
+ 4311
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 10
+ },
+ "end": {
+ "line": 162,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "XMLHttpRequest",
+ "range": [
+ 4318,
+ 4332
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 24
+ },
+ "end": {
+ "line": 162,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 4314,
+ 4334
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 20
+ },
+ "end": {
+ "line": 162,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 4304,
+ 4334
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 10
+ },
+ "end": {
+ "line": 162,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 4300,
+ 4335
+ ],
+ "loc": {
+ "start": {
+ "line": 162,
+ "column": 6
+ },
+ "end": {
+ "line": 162,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4346,
+ 4350
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 10
+ },
+ "end": {
+ "line": 163,
+ "column": 14
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4353,
+ 4358
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 17
+ },
+ "end": {
+ "line": 163,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 4359,
+ 4366
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 23
+ },
+ "end": {
+ "line": 163,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 4353,
+ 4366
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 17
+ },
+ "end": {
+ "line": 163,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4367,
+ 4371
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 31
+ },
+ "end": {
+ "line": 163,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4373,
+ 4375
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 37
+ },
+ "end": {
+ "line": 163,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 4377,
+ 4384
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 41
+ },
+ "end": {
+ "line": 163,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 4353,
+ 4385
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 17
+ },
+ "end": {
+ "line": 163,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 4346,
+ 4385
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 10
+ },
+ "end": {
+ "line": 163,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 4342,
+ 4386
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 6
+ },
+ "end": {
+ "line": 163,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4394,
+ 4401
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "open",
+ "range": [
+ 4402,
+ 4406
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 14
+ },
+ "end": {
+ "line": 165,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 4394,
+ 4406
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "PATCH",
+ "raw": "'PATCH'",
+ "range": [
+ 4407,
+ 4414
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 19
+ },
+ "end": {
+ "line": 165,
+ "column": 26
+ }
+ }
+ },
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": false,
+ "range": [
+ 4416,
+ 4419
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 28
+ },
+ "end": {
+ "line": 165,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 4429,
+ 4433
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 41
+ },
+ "end": {
+ "line": 165,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "/",
+ "cooked": "/"
+ },
+ "tail": false,
+ "range": [
+ 4437,
+ 4441
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 49
+ },
+ "end": {
+ "line": 165,
+ "column": 53
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "",
+ "cooked": ""
+ },
+ "tail": true,
+ "range": [
+ 4443,
+ 4445
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 55
+ },
+ "end": {
+ "line": 165,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4419,
+ 4423
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 31
+ },
+ "end": {
+ "line": 165,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_base",
+ "range": [
+ 4424,
+ 4429
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 36
+ },
+ "end": {
+ "line": 165,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 4419,
+ 4429
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 31
+ },
+ "end": {
+ "line": 165,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4433,
+ 4437
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 45
+ },
+ "end": {
+ "line": 165,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4441,
+ 4443
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 53
+ },
+ "end": {
+ "line": 165,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 4416,
+ 4445
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 28
+ },
+ "end": {
+ "line": 165,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": true,
+ "raw": "true",
+ "range": [
+ 4447,
+ 4451
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 59
+ },
+ "end": {
+ "line": 165,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 4394,
+ 4452
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4394,
+ 4453
+ ],
+ "loc": {
+ "start": {
+ "line": 165,
+ "column": 6
+ },
+ "end": {
+ "line": 165,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4461,
+ 4468
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "setRequestHeader",
+ "range": [
+ 4469,
+ 4485
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 14
+ },
+ "end": {
+ "line": 167,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 4461,
+ 4485
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Content-Type",
+ "raw": "\"Content-Type\"",
+ "range": [
+ 4486,
+ 4500
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 31
+ },
+ "end": {
+ "line": 167,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "application/vnd.api+json",
+ "raw": "\"application/vnd.api+json\"",
+ "range": [
+ 4502,
+ 4528
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 47
+ },
+ "end": {
+ "line": 167,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 4461,
+ 4529
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 4461,
+ 4530
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 6
+ },
+ "end": {
+ "line": 167,
+ "column": 75
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4538,
+ 4545
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 169,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onload",
+ "range": [
+ 4546,
+ 4552
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 14
+ },
+ "end": {
+ "line": 169,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 4538,
+ 4552
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 169,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": ">=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4581,
+ 4588
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 4589,
+ 4595
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 20
+ },
+ "end": {
+ "line": 170,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 4581,
+ 4595
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 200,
+ "raw": "200",
+ "range": [
+ 4599,
+ 4602
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 30
+ },
+ "end": {
+ "line": 170,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 4581,
+ 4602
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "<",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4606,
+ 4613
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 37
+ },
+ "end": {
+ "line": 170,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "status",
+ "range": [
+ 4614,
+ 4620
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 45
+ },
+ "end": {
+ "line": 170,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 4606,
+ 4620
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 37
+ },
+ "end": {
+ "line": 170,
+ "column": 51
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": 300,
+ "raw": "300",
+ "range": [
+ 4623,
+ 4626
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 54
+ },
+ "end": {
+ "line": 170,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 4606,
+ 4626
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 37
+ },
+ "end": {
+ "line": 170,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 4581,
+ 4626
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 12
+ },
+ "end": {
+ "line": 170,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "TryStatement",
+ "block": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4658,
+ 4663
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 4664,
+ 4667
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 18
+ },
+ "end": {
+ "line": 172,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 4658,
+ 4667
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4668,
+ 4672
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 22
+ },
+ "end": {
+ "line": 172,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "range": [
+ 4658,
+ 4673
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 4658,
+ 4674
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 12
+ },
+ "end": {
+ "line": 172,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4691,
+ 4698
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 16
+ },
+ "end": {
+ "line": 173,
+ "column": 23
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 4716,
+ 4723
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4724,
+ 4728
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 22
+ },
+ "end": {
+ "line": 174,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 4716,
+ 4728
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4729,
+ 4736
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 27
+ },
+ "end": {
+ "line": 174,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "store",
+ "range": [
+ 4738,
+ 4743
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 36
+ },
+ "end": {
+ "line": 174,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 4744,
+ 4748
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 42
+ },
+ "end": {
+ "line": 174,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 4738,
+ 4748
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 36
+ },
+ "end": {
+ "line": 174,
+ "column": 46
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4749,
+ 4753
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 47
+ },
+ "end": {
+ "line": 174,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4754,
+ 4758
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 52
+ },
+ "end": {
+ "line": 174,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 4749,
+ 4758
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 47
+ },
+ "end": {
+ "line": 174,
+ "column": 56
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 4760,
+ 4764
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 58
+ },
+ "end": {
+ "line": 174,
+ "column": 62
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4765,
+ 4767
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 63
+ },
+ "end": {
+ "line": 174,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 4760,
+ 4767
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 58
+ },
+ "end": {
+ "line": 174,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 4738,
+ 4768
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 36
+ },
+ "end": {
+ "line": 174,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 4716,
+ 4769
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 4716,
+ 4770
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 4700,
+ 4784
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 25
+ },
+ "end": {
+ "line": 175,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4687,
+ 4784
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 12
+ },
+ "end": {
+ "line": 175,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 4644,
+ 4796
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 14
+ },
+ "end": {
+ "line": 176,
+ "column": 11
+ }
+ }
+ },
+ "handler": {
+ "type": "CatchClause",
+ "param": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 4804,
+ 4805
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 19
+ },
+ "end": {
+ "line": 176,
+ "column": 20
+ }
+ }
+ },
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4825,
+ 4830
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 16
+ },
+ "end": {
+ "line": 177,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4848,
+ 4853
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4854,
+ 4858
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 20
+ },
+ "end": {
+ "line": 178,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 4848,
+ 4858
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4859,
+ 4866
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 25
+ },
+ "end": {
+ "line": 178,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 4868,
+ 4869
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 34
+ },
+ "end": {
+ "line": 178,
+ "column": 35
+ }
+ }
+ }
+ ],
+ "range": [
+ 4848,
+ 4870
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 4848,
+ 4871
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 178,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 4832,
+ 4885
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 23
+ },
+ "end": {
+ "line": 179,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4821,
+ 4885
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 12
+ },
+ "end": {
+ "line": 179,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 4807,
+ 4897
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 22
+ },
+ "end": {
+ "line": 180,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 4797,
+ 4897
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 12
+ },
+ "end": {
+ "line": 180,
+ "column": 11
+ }
+ }
+ },
+ "finalizer": null,
+ "range": [
+ 4640,
+ 4897
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 10
+ },
+ "end": {
+ "line": 180,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 4628,
+ 4907
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 59
+ },
+ "end": {
+ "line": 181,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4917,
+ 4922
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 19
+ },
+ "end": {
+ "line": 181,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 4936,
+ 4941
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4942,
+ 4946
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 16
+ },
+ "end": {
+ "line": 182,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 4936,
+ 4946
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 20
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 4947,
+ 4954
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 21
+ },
+ "end": {
+ "line": 182,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 4936,
+ 4955
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 4936,
+ 4956
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 182,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 4924,
+ 4966
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 26
+ },
+ "end": {
+ "line": 183,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4913,
+ 4966
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 15
+ },
+ "end": {
+ "line": 183,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 4577,
+ 4966
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 8
+ },
+ "end": {
+ "line": 183,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 4567,
+ 4974
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 35
+ },
+ "end": {
+ "line": 184,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 4555,
+ 4974
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 23
+ },
+ "end": {
+ "line": 184,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 4538,
+ 4974
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 184,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 4538,
+ 4975
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 184,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "request",
+ "range": [
+ 4983,
+ 4990
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 186,
+ "column": 13
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "send",
+ "range": [
+ 4991,
+ 4995
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 14
+ },
+ "end": {
+ "line": 186,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 4983,
+ 4995
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 186,
+ "column": 18
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "JSON",
+ "range": [
+ 4996,
+ 5000
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 19
+ },
+ "end": {
+ "line": 186,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "stringify",
+ "range": [
+ 5001,
+ 5010
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 24
+ },
+ "end": {
+ "line": 186,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 4996,
+ 5010
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 19
+ },
+ "end": {
+ "line": 186,
+ "column": 33
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 5021,
+ 5025
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 8
+ },
+ "end": {
+ "line": 187,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 5027,
+ 5031
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 14
+ },
+ "end": {
+ "line": 187,
+ "column": 18
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 5021,
+ 5031
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 8
+ },
+ "end": {
+ "line": 187,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "range": [
+ 5011,
+ 5039
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 34
+ },
+ "end": {
+ "line": 188,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 4996,
+ 5040
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 19
+ },
+ "end": {
+ "line": 188,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 4983,
+ 5041
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 188,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 4983,
+ 5042
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 6
+ },
+ "end": {
+ "line": 188,
+ "column": 10
+ }
+ }
+ }
+ ],
+ "range": [
+ 4291,
+ 5049
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 35
+ },
+ "end": {
+ "line": 190,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 5073,
+ 5078
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 16
+ },
+ "end": {
+ "line": 191,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 5079,
+ 5096
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 22
+ },
+ "end": {
+ "line": 191,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 5100,
+ 5103
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 43
+ },
+ "end": {
+ "line": 191,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5096,
+ 5100
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 39
+ },
+ "end": {
+ "line": 191,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 5079,
+ 5103
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 22
+ },
+ "end": {
+ "line": 191,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 5069,
+ 5104
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 12
+ },
+ "end": {
+ "line": 191,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 5063,
+ 5105
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 6
+ },
+ "end": {
+ "line": 191,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 5055,
+ 5111
+ ],
+ "loc": {
+ "start": {
+ "line": 190,
+ "column": 11
+ },
+ "end": {
+ "line": 192,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 4267,
+ 5111
+ ],
+ "loc": {
+ "start": {
+ "line": 160,
+ "column": 11
+ },
+ "end": {
+ "line": 192,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 4123,
+ 5111
+ ],
+ "loc": {
+ "start": {
+ "line": 156,
+ "column": 4
+ },
+ "end": {
+ "line": 192,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 4116,
+ 5116
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 60
+ },
+ "end": {
+ "line": 194,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 4064,
+ 5116
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 8
+ },
+ "end": {
+ "line": 194,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 4058,
+ 5116
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 2
+ },
+ "end": {
+ "line": 194,
+ "column": 3
+ }
+ },
+ "static": false
+ }
+ ],
+ "range": [
+ 33,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 33
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ }
+ },
+ "range": [
+ 15,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 15
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ },
+ "leadingComments": [],
+ "trailingComments": []
+ },
+ "range": [
+ 0,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ }
+ }
+ ],
+ "sourceType": "module",
+ "range": [
+ 0,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 196,
+ "column": 1
+ }
+ },
+ "comments": []
+}
\ No newline at end of file
diff --git a/docs/v0.6.1/ast/source/src/store.js.json b/docs/v0.6.1/ast/source/src/store.js.json
new file mode 100644
index 0000000..eb2d4d4
--- /dev/null
+++ b/docs/v0.6.1/ast/source/src/store.js.json
@@ -0,0 +1,44996 @@
+{
+ "type": "Program",
+ "body": [
+ {
+ "type": "ImportDeclaration",
+ "specifiers": [],
+ "source": {
+ "type": "Literal",
+ "value": "array.prototype.find",
+ "raw": "\"array.prototype.find\"",
+ "range": [
+ 7,
+ 29
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 7
+ },
+ "end": {
+ "line": 1,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "ImportDeclaration",
+ "specifiers": [
+ {
+ "type": "ImportDefaultSpecifier",
+ "local": {
+ "type": "Identifier",
+ "name": "AjaxAdapter",
+ "range": [
+ 38,
+ 49
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 38,
+ 49
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "value": "./ajax-adapter",
+ "raw": "\"./ajax-adapter\"",
+ "range": [
+ 55,
+ 71
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 24
+ },
+ "end": {
+ "line": 2,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 31,
+ 72
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "ExportDefaultDeclaration",
+ "declaration": {
+ "type": "ClassDeclaration",
+ "id": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 95,
+ 100
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 21
+ },
+ "end": {
+ "line": 4,
+ "column": 26
+ }
+ }
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "body": [
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "attr",
+ "range": [
+ 438,
+ 442
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 9
+ },
+ "end": {
+ "line": 15,
+ "column": 13
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 443,
+ 447
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 14
+ },
+ "end": {
+ "line": 15,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 449,
+ 456
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 20
+ },
+ "end": {
+ "line": 15,
+ "column": 27
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 468,
+ 472
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 8
+ },
+ "end": {
+ "line": 16,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 483,
+ 487
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 23
+ },
+ "end": {
+ "line": 16,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 476,
+ 487
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 16
+ },
+ "end": {
+ "line": 16,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "'object'",
+ "range": [
+ 492,
+ 500
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 32
+ },
+ "end": {
+ "line": 16,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 476,
+ 500
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 16
+ },
+ "end": {
+ "line": 16,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 468,
+ 500
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 8
+ },
+ "end": {
+ "line": 16,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 517,
+ 522
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 13
+ },
+ "end": {
+ "line": 17,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attr",
+ "range": [
+ 523,
+ 527
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 19
+ },
+ "end": {
+ "line": 17,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 517,
+ 527
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 13
+ },
+ "end": {
+ "line": 17,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 528,
+ 532
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 24
+ },
+ "end": {
+ "line": 17,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 534,
+ 538
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 30
+ },
+ "end": {
+ "line": 17,
+ "column": 34
+ }
+ }
+ }
+ ],
+ "range": [
+ 517,
+ 539
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 13
+ },
+ "end": {
+ "line": 17,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 510,
+ 540
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 6
+ },
+ "end": {
+ "line": 17,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 502,
+ 546
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 42
+ },
+ "end": {
+ "line": 18,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 577,
+ 581
+ ],
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 8
+ },
+ "end": {
+ "line": 20,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": "attr",
+ "raw": "\"attr\"",
+ "range": [
+ 583,
+ 589
+ ],
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 14
+ },
+ "end": {
+ "line": 20,
+ "column": 20
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 577,
+ 589
+ ],
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 8
+ },
+ "end": {
+ "line": 20,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 599,
+ 606
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 8
+ },
+ "end": {
+ "line": 21,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 608,
+ 615
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 17
+ },
+ "end": {
+ "line": 21,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 619,
+ 626
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 28
+ },
+ "end": {
+ "line": 21,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 627,
+ 634
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 36
+ },
+ "end": {
+ "line": 21,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 619,
+ 634
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 28
+ },
+ "end": {
+ "line": 21,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 608,
+ 634
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 17
+ },
+ "end": {
+ "line": 21,
+ "column": 43
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 599,
+ 634
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 8
+ },
+ "end": {
+ "line": 21,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 644,
+ 655
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 22,
+ "column": 19
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 667,
+ 671
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 31
+ },
+ "end": {
+ "line": 22,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 673,
+ 676
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 37
+ },
+ "end": {
+ "line": 22,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 697,
+ 701
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 17
+ },
+ "end": {
+ "line": 23,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 702,
+ 712
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 22
+ },
+ "end": {
+ "line": 23,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 697,
+ 712
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 17
+ },
+ "end": {
+ "line": 23,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 716,
+ 720
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 36
+ },
+ "end": {
+ "line": 23,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 721,
+ 731
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 41
+ },
+ "end": {
+ "line": 23,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 716,
+ 731
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 36
+ },
+ "end": {
+ "line": 23,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 732,
+ 736
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 52
+ },
+ "end": {
+ "line": 23,
+ "column": 56
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 740,
+ 743
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 60
+ },
+ "end": {
+ "line": 23,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 732,
+ 743
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 52
+ },
+ "end": {
+ "line": 23,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 716,
+ 744
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 36
+ },
+ "end": {
+ "line": 23,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 697,
+ 744
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 17
+ },
+ "end": {
+ "line": 23,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 690,
+ 745
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 10
+ },
+ "end": {
+ "line": 23,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 678,
+ 755
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 42
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 657,
+ 755
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 21
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 644,
+ 755
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 24,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 765,
+ 774
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 8
+ },
+ "end": {
+ "line": 25,
+ "column": 17
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 786,
+ 794
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 29
+ },
+ "end": {
+ "line": 25,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 796,
+ 800
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 39
+ },
+ "end": {
+ "line": 25,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 802,
+ 805
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 45
+ },
+ "end": {
+ "line": 25,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 819,
+ 823
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 10
+ },
+ "end": {
+ "line": 26,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 824,
+ 834
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 15
+ },
+ "end": {
+ "line": 26,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 819,
+ 834
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 10
+ },
+ "end": {
+ "line": 26,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 835,
+ 839
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 26
+ },
+ "end": {
+ "line": 26,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 843,
+ 846
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 34
+ },
+ "end": {
+ "line": 26,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 835,
+ 846
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 26
+ },
+ "end": {
+ "line": 26,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 819,
+ 847
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 10
+ },
+ "end": {
+ "line": 26,
+ "column": 38
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 850,
+ 858
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 41
+ },
+ "end": {
+ "line": 26,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 859,
+ 862
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 50
+ },
+ "end": {
+ "line": 26,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 850,
+ 863
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 41
+ },
+ "end": {
+ "line": 26,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 819,
+ 863
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 10
+ },
+ "end": {
+ "line": 26,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 819,
+ 864
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 10
+ },
+ "end": {
+ "line": 26,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 807,
+ 874
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 50
+ },
+ "end": {
+ "line": 27,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 776,
+ 874
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 19
+ },
+ "end": {
+ "line": 27,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 765,
+ 874
+ ],
+ "loc": {
+ "start": {
+ "line": 25,
+ "column": 8
+ },
+ "end": {
+ "line": 27,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 567,
+ 882
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 13
+ },
+ "end": {
+ "line": 28,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 560,
+ 883
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 6
+ },
+ "end": {
+ "line": 28,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 552,
+ 889
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 11
+ },
+ "end": {
+ "line": 29,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 464,
+ 889
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 4
+ },
+ "end": {
+ "line": 29,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 458,
+ 893
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 29
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 442,
+ 893
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 13
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 431,
+ 893
+ ],
+ "loc": {
+ "start": {
+ "line": 15,
+ "column": 2
+ },
+ "end": {
+ "line": 30,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an attribute.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.default] - Default value for this field.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 106,
+ 428
+ ],
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 897,
+ 1234
+ ],
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": true
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "hasOne",
+ "range": [
+ 1244,
+ 1250
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 9
+ },
+ "end": {
+ "line": 41,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1251,
+ 1255
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 16
+ },
+ "end": {
+ "line": 41,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 1257,
+ 1264
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 22
+ },
+ "end": {
+ "line": 41,
+ "column": 29
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1276,
+ 1280
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1291,
+ 1295
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 23
+ },
+ "end": {
+ "line": 42,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 1284,
+ 1295
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 16
+ },
+ "end": {
+ "line": 42,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "'object'",
+ "range": [
+ 1300,
+ 1308
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 32
+ },
+ "end": {
+ "line": 42,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 1284,
+ 1308
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 16
+ },
+ "end": {
+ "line": 42,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 1276,
+ 1308
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 8
+ },
+ "end": {
+ "line": 42,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 1325,
+ 1330
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 13
+ },
+ "end": {
+ "line": 43,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "hasOne",
+ "range": [
+ 1331,
+ 1337
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 19
+ },
+ "end": {
+ "line": 43,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 1325,
+ 1337
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 13
+ },
+ "end": {
+ "line": 43,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1338,
+ 1342
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 26
+ },
+ "end": {
+ "line": 43,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1344,
+ 1348
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 32
+ },
+ "end": {
+ "line": 43,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 1325,
+ 1349
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 13
+ },
+ "end": {
+ "line": 43,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 1318,
+ 1350
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 6
+ },
+ "end": {
+ "line": 43,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 1310,
+ 1356
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 42
+ },
+ "end": {
+ "line": 44,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1387,
+ 1391
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 8
+ },
+ "end": {
+ "line": 46,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 1393,
+ 1402
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 14
+ },
+ "end": {
+ "line": 46,
+ "column": 23
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1387,
+ 1402
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 8
+ },
+ "end": {
+ "line": 46,
+ "column": 23
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 1412,
+ 1419
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 8
+ },
+ "end": {
+ "line": 47,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 1421,
+ 1428
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 17
+ },
+ "end": {
+ "line": 47,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 1432,
+ 1439
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 28
+ },
+ "end": {
+ "line": 47,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 1440,
+ 1447
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 36
+ },
+ "end": {
+ "line": 47,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 1432,
+ 1447
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 28
+ },
+ "end": {
+ "line": 47,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 1421,
+ 1447
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 17
+ },
+ "end": {
+ "line": 47,
+ "column": 43
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1412,
+ 1447
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 8
+ },
+ "end": {
+ "line": 47,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 1457,
+ 1468
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 8
+ },
+ "end": {
+ "line": 48,
+ "column": 19
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1480,
+ 1484
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 31
+ },
+ "end": {
+ "line": 48,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1486,
+ 1489
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 37
+ },
+ "end": {
+ "line": 48,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1503,
+ 1507
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 10
+ },
+ "end": {
+ "line": 49,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1510,
+ 1514
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 17
+ },
+ "end": {
+ "line": 49,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1518,
+ 1521
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 25
+ },
+ "end": {
+ "line": 49,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1510,
+ 1521
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 17
+ },
+ "end": {
+ "line": 49,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1503,
+ 1521
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 10
+ },
+ "end": {
+ "line": 49,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1503,
+ 1522
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 10
+ },
+ "end": {
+ "line": 49,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1537,
+ 1541
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 14
+ },
+ "end": {
+ "line": 50,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1542,
+ 1555
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 19
+ },
+ "end": {
+ "line": 50,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 1537,
+ 1555
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 14
+ },
+ "end": {
+ "line": 50,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1559,
+ 1563
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 36
+ },
+ "end": {
+ "line": 50,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1564,
+ 1577
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 41
+ },
+ "end": {
+ "line": 50,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 1559,
+ 1577
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 36
+ },
+ "end": {
+ "line": 50,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1578,
+ 1582
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 55
+ },
+ "end": {
+ "line": 50,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 1559,
+ 1583
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 36
+ },
+ "end": {
+ "line": 50,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 1537,
+ 1583
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 14
+ },
+ "end": {
+ "line": 50,
+ "column": 60
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1603,
+ 1607
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 16
+ },
+ "end": {
+ "line": 51,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1608,
+ 1621
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 21
+ },
+ "end": {
+ "line": 51,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 1603,
+ 1621
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 16
+ },
+ "end": {
+ "line": 51,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1622,
+ 1626
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 35
+ },
+ "end": {
+ "line": 51,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 1603,
+ 1627
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 16
+ },
+ "end": {
+ "line": 51,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1628,
+ 1632
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 41
+ },
+ "end": {
+ "line": 51,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 1603,
+ 1632
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 16
+ },
+ "end": {
+ "line": 51,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1637,
+ 1641
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 50
+ },
+ "end": {
+ "line": 51,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 1603,
+ 1641
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 16
+ },
+ "end": {
+ "line": 51,
+ "column": 54
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1666,
+ 1670
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 21
+ },
+ "end": {
+ "line": 52,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 1659,
+ 1671
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 14
+ },
+ "end": {
+ "line": 52,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "range": [
+ 1643,
+ 1685
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 56
+ },
+ "end": {
+ "line": 53,
+ "column": 13
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1695,
+ 1699
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 23
+ },
+ "end": {
+ "line": 53,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1700,
+ 1713
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 28
+ },
+ "end": {
+ "line": 53,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 1695,
+ 1713
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 23
+ },
+ "end": {
+ "line": 53,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1714,
+ 1718
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 42
+ },
+ "end": {
+ "line": 53,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 1695,
+ 1719
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 23
+ },
+ "end": {
+ "line": 53,
+ "column": 47
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1720,
+ 1724
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 48
+ },
+ "end": {
+ "line": 53,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 1695,
+ 1724
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 23
+ },
+ "end": {
+ "line": 53,
+ "column": 52
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 1749,
+ 1753
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 21
+ },
+ "end": {
+ "line": 54,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 1754,
+ 1758
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 26
+ },
+ "end": {
+ "line": 54,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 1749,
+ 1758
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 21
+ },
+ "end": {
+ "line": 54,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1759,
+ 1763
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 31
+ },
+ "end": {
+ "line": 54,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1764,
+ 1777
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 36
+ },
+ "end": {
+ "line": 54,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 1759,
+ 1777
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 31
+ },
+ "end": {
+ "line": 54,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1778,
+ 1782
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 50
+ },
+ "end": {
+ "line": 54,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 1759,
+ 1783
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 31
+ },
+ "end": {
+ "line": 54,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1784,
+ 1788
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 56
+ },
+ "end": {
+ "line": 54,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 1759,
+ 1788
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 31
+ },
+ "end": {
+ "line": 54,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1789,
+ 1793
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 61
+ },
+ "end": {
+ "line": 54,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 1759,
+ 1793
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 31
+ },
+ "end": {
+ "line": 54,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1795,
+ 1799
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 67
+ },
+ "end": {
+ "line": 54,
+ "column": 71
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1800,
+ 1813
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 72
+ },
+ "end": {
+ "line": 54,
+ "column": 85
+ }
+ }
+ },
+ "range": [
+ 1795,
+ 1813
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 67
+ },
+ "end": {
+ "line": 54,
+ "column": 85
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1814,
+ 1818
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 86
+ },
+ "end": {
+ "line": 54,
+ "column": 90
+ }
+ }
+ },
+ "range": [
+ 1795,
+ 1819
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 67
+ },
+ "end": {
+ "line": 54,
+ "column": 91
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1820,
+ 1824
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 92
+ },
+ "end": {
+ "line": 54,
+ "column": 96
+ }
+ }
+ },
+ "range": [
+ 1795,
+ 1824
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 67
+ },
+ "end": {
+ "line": 54,
+ "column": 96
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1825,
+ 1827
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 97
+ },
+ "end": {
+ "line": 54,
+ "column": 99
+ }
+ }
+ },
+ "range": [
+ 1795,
+ 1827
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 67
+ },
+ "end": {
+ "line": 54,
+ "column": 99
+ }
+ }
+ }
+ ],
+ "range": [
+ 1749,
+ 1828
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 21
+ },
+ "end": {
+ "line": 54,
+ "column": 100
+ }
+ }
+ },
+ "range": [
+ 1742,
+ 1829
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 14
+ },
+ "end": {
+ "line": 54,
+ "column": 101
+ }
+ }
+ }
+ ],
+ "range": [
+ 1726,
+ 1843
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 54
+ },
+ "end": {
+ "line": 55,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1691,
+ 1843
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 19
+ },
+ "end": {
+ "line": 55,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 1599,
+ 1843
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 12
+ },
+ "end": {
+ "line": 55,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 1585,
+ 1855
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 62
+ },
+ "end": {
+ "line": 56,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1533,
+ 1855
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 10
+ },
+ "end": {
+ "line": 56,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 1491,
+ 1865
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 42
+ },
+ "end": {
+ "line": 57,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1470,
+ 1865
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 21
+ },
+ "end": {
+ "line": 57,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1457,
+ 1865
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 8
+ },
+ "end": {
+ "line": 57,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 1875,
+ 1884
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 8
+ },
+ "end": {
+ "line": 58,
+ "column": 17
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 1895,
+ 1904
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 28
+ },
+ "end": {
+ "line": 58,
+ "column": 37
+ }
+ }
+ },
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 1905,
+ 1913
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 38
+ },
+ "end": {
+ "line": 58,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1915,
+ 1919
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 48
+ },
+ "end": {
+ "line": 58,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1921,
+ 1924
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 54
+ },
+ "end": {
+ "line": 58,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 1942,
+ 1950
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 14
+ },
+ "end": {
+ "line": 59,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1951,
+ 1954
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 23
+ },
+ "end": {
+ "line": 59,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 1942,
+ 1955
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 14
+ },
+ "end": {
+ "line": 59,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1960,
+ 1964
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 32
+ },
+ "end": {
+ "line": 59,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 1942,
+ 1964
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 14
+ },
+ "end": {
+ "line": 59,
+ "column": 36
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1980,
+ 1984
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 12
+ },
+ "end": {
+ "line": 60,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1985,
+ 1998
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 17
+ },
+ "end": {
+ "line": 60,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 1980,
+ 1998
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 12
+ },
+ "end": {
+ "line": 60,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1999,
+ 2003
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 31
+ },
+ "end": {
+ "line": 60,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2007,
+ 2010
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 39
+ },
+ "end": {
+ "line": 60,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 1999,
+ 2010
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 31
+ },
+ "end": {
+ "line": 60,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 1980,
+ 2011
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 12
+ },
+ "end": {
+ "line": 60,
+ "column": 43
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2014,
+ 2018
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 46
+ },
+ "end": {
+ "line": 60,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 1980,
+ 2018
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 12
+ },
+ "end": {
+ "line": 60,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 1980,
+ 2019
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 12
+ },
+ "end": {
+ "line": 60,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "range": [
+ 1966,
+ 2031
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 38
+ },
+ "end": {
+ "line": 61,
+ "column": 11
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 2041,
+ 2049
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 21
+ },
+ "end": {
+ "line": 61,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2050,
+ 2053
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 30
+ },
+ "end": {
+ "line": 61,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 2041,
+ 2054
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 21
+ },
+ "end": {
+ "line": 61,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2070,
+ 2074
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 2075,
+ 2088
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 17
+ },
+ "end": {
+ "line": 62,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 2070,
+ 2088
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2089,
+ 2093
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 31
+ },
+ "end": {
+ "line": 62,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2097,
+ 2100
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 39
+ },
+ "end": {
+ "line": 62,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2089,
+ 2100
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 31
+ },
+ "end": {
+ "line": 62,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2070,
+ 2101
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 62,
+ "column": 43
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2120,
+ 2124
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 14
+ },
+ "end": {
+ "line": 63,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2144,
+ 2148
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 16
+ },
+ "end": {
+ "line": 64,
+ "column": 20
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 2150,
+ 2158
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 22
+ },
+ "end": {
+ "line": 64,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2159,
+ 2162
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 31
+ },
+ "end": {
+ "line": 64,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 2150,
+ 2163
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 22
+ },
+ "end": {
+ "line": 64,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2164,
+ 2168
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 36
+ },
+ "end": {
+ "line": 64,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2150,
+ 2168
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 22
+ },
+ "end": {
+ "line": 64,
+ "column": 40
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2144,
+ 2168
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 16
+ },
+ "end": {
+ "line": 64,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2186,
+ 2188
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 16
+ },
+ "end": {
+ "line": 65,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 2190,
+ 2198
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 20
+ },
+ "end": {
+ "line": 65,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2199,
+ 2202
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 29
+ },
+ "end": {
+ "line": 65,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 2190,
+ 2203
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 20
+ },
+ "end": {
+ "line": 65,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2204,
+ 2206
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 34
+ },
+ "end": {
+ "line": 65,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 2190,
+ 2206
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 20
+ },
+ "end": {
+ "line": 65,
+ "column": 36
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2186,
+ 2206
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 16
+ },
+ "end": {
+ "line": 65,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 2126,
+ 2222
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 20
+ },
+ "end": {
+ "line": 66,
+ "column": 15
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2120,
+ 2222
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 14
+ },
+ "end": {
+ "line": 66,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 2104,
+ 2236
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 46
+ },
+ "end": {
+ "line": 67,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 2070,
+ 2236
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 67,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 2070,
+ 2237
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 12
+ },
+ "end": {
+ "line": 67,
+ "column": 14
+ }
+ }
+ }
+ ],
+ "range": [
+ 2056,
+ 2249
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 36
+ },
+ "end": {
+ "line": 68,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2037,
+ 2249
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 17
+ },
+ "end": {
+ "line": 68,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 1938,
+ 2249
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 10
+ },
+ "end": {
+ "line": 68,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 1926,
+ 2259
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 59
+ },
+ "end": {
+ "line": 69,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1886,
+ 2259
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 19
+ },
+ "end": {
+ "line": 69,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1875,
+ 2259
+ ],
+ "loc": {
+ "start": {
+ "line": 58,
+ "column": 8
+ },
+ "end": {
+ "line": 69,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 1377,
+ 2267
+ ],
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 13
+ },
+ "end": {
+ "line": 70,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 1370,
+ 2268
+ ],
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 6
+ },
+ "end": {
+ "line": 70,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 1362,
+ 2274
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 11
+ },
+ "end": {
+ "line": 71,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 1272,
+ 2274
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 4
+ },
+ "end": {
+ "line": 71,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 1266,
+ 2278
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 31
+ },
+ "end": {
+ "line": 72,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1250,
+ 2278
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 15
+ },
+ "end": {
+ "line": 72,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 1237,
+ 2278
+ ],
+ "loc": {
+ "start": {
+ "line": 41,
+ "column": 2
+ },
+ "end": {
+ "line": 72,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 897,
+ 1234
+ ],
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 2282,
+ 2620
+ ],
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 2
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": true
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "hasMany",
+ "range": [
+ 2630,
+ 2637
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 9
+ },
+ "end": {
+ "line": 83,
+ "column": 16
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2638,
+ 2642
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 17
+ },
+ "end": {
+ "line": 83,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2644,
+ 2651
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 23
+ },
+ "end": {
+ "line": 83,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2663,
+ 2667
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 8
+ },
+ "end": {
+ "line": 84,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2678,
+ 2682
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 23
+ },
+ "end": {
+ "line": 84,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 2671,
+ 2682
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 16
+ },
+ "end": {
+ "line": 84,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "'object'",
+ "range": [
+ 2687,
+ 2695
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 32
+ },
+ "end": {
+ "line": 84,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2671,
+ 2695
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 16
+ },
+ "end": {
+ "line": 84,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2663,
+ 2695
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 8
+ },
+ "end": {
+ "line": 84,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 2712,
+ 2717
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 13
+ },
+ "end": {
+ "line": 85,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "hasMany",
+ "range": [
+ 2718,
+ 2725
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 19
+ },
+ "end": {
+ "line": 85,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 2712,
+ 2725
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 13
+ },
+ "end": {
+ "line": 85,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2726,
+ 2730
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 27
+ },
+ "end": {
+ "line": 85,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2732,
+ 2736
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 33
+ },
+ "end": {
+ "line": 85,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 2712,
+ 2737
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 13
+ },
+ "end": {
+ "line": 85,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 2705,
+ 2738
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 6
+ },
+ "end": {
+ "line": 85,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 2697,
+ 2744
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 42
+ },
+ "end": {
+ "line": 86,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2775,
+ 2779
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 8
+ },
+ "end": {
+ "line": 88,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 2781,
+ 2791
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 14
+ },
+ "end": {
+ "line": 88,
+ "column": 24
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2775,
+ 2791
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 8
+ },
+ "end": {
+ "line": 88,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 2801,
+ 2808
+ ],
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 8
+ },
+ "end": {
+ "line": 89,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 2810,
+ 2812
+ ],
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 17
+ },
+ "end": {
+ "line": 89,
+ "column": 19
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2801,
+ 2812
+ ],
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 8
+ },
+ "end": {
+ "line": 89,
+ "column": 19
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 2822,
+ 2829
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2831,
+ 2838
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 17
+ },
+ "end": {
+ "line": 90,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2842,
+ 2849
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 28
+ },
+ "end": {
+ "line": 90,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 2850,
+ 2857
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 36
+ },
+ "end": {
+ "line": 90,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2842,
+ 2857
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 28
+ },
+ "end": {
+ "line": 90,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2831,
+ 2857
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 17
+ },
+ "end": {
+ "line": 90,
+ "column": 43
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2822,
+ 2857
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 2867,
+ 2878
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 8
+ },
+ "end": {
+ "line": 91,
+ "column": 19
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2890,
+ 2894
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 31
+ },
+ "end": {
+ "line": 91,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2896,
+ 2899
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 37
+ },
+ "end": {
+ "line": 91,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2913,
+ 2917
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 10
+ },
+ "end": {
+ "line": 92,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2920,
+ 2924
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 17
+ },
+ "end": {
+ "line": 92,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2928,
+ 2931
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 25
+ },
+ "end": {
+ "line": 92,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 2920,
+ 2931
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 17
+ },
+ "end": {
+ "line": 92,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 2913,
+ 2931
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 10
+ },
+ "end": {
+ "line": 92,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 2913,
+ 2932
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 10
+ },
+ "end": {
+ "line": 92,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2947,
+ 2951
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 14
+ },
+ "end": {
+ "line": 93,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 2952,
+ 2965
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 19
+ },
+ "end": {
+ "line": 93,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 2947,
+ 2965
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 14
+ },
+ "end": {
+ "line": 93,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2969,
+ 2973
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 36
+ },
+ "end": {
+ "line": 93,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 2974,
+ 2987
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 41
+ },
+ "end": {
+ "line": 93,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 2969,
+ 2987
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 36
+ },
+ "end": {
+ "line": 93,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2988,
+ 2992
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 55
+ },
+ "end": {
+ "line": 93,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 2969,
+ 2993
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 36
+ },
+ "end": {
+ "line": 93,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 2947,
+ 2993
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 14
+ },
+ "end": {
+ "line": 93,
+ "column": 60
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3013,
+ 3017
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 16
+ },
+ "end": {
+ "line": 94,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3018,
+ 3031
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 21
+ },
+ "end": {
+ "line": 94,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 3013,
+ 3031
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 16
+ },
+ "end": {
+ "line": 94,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3032,
+ 3036
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 35
+ },
+ "end": {
+ "line": 94,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 3013,
+ 3037
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 16
+ },
+ "end": {
+ "line": 94,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3038,
+ 3042
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 41
+ },
+ "end": {
+ "line": 94,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 3013,
+ 3042
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 16
+ },
+ "end": {
+ "line": 94,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 3047,
+ 3051
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 50
+ },
+ "end": {
+ "line": 94,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 3013,
+ 3051
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 16
+ },
+ "end": {
+ "line": 94,
+ "column": 54
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 3076,
+ 3078
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 21
+ },
+ "end": {
+ "line": 95,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 3069,
+ 3079
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 14
+ },
+ "end": {
+ "line": 95,
+ "column": 24
+ }
+ }
+ }
+ ],
+ "range": [
+ 3053,
+ 3093
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 56
+ },
+ "end": {
+ "line": 96,
+ "column": 13
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3103,
+ 3107
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 23
+ },
+ "end": {
+ "line": 96,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3108,
+ 3121
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 28
+ },
+ "end": {
+ "line": 96,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 3103,
+ 3121
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 23
+ },
+ "end": {
+ "line": 96,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3122,
+ 3126
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 42
+ },
+ "end": {
+ "line": 96,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 3103,
+ 3127
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 23
+ },
+ "end": {
+ "line": 96,
+ "column": 47
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3128,
+ 3132
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 48
+ },
+ "end": {
+ "line": 96,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 3103,
+ 3132
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 23
+ },
+ "end": {
+ "line": 96,
+ "column": 52
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3157,
+ 3161
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 21
+ },
+ "end": {
+ "line": 97,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3162,
+ 3175
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 26
+ },
+ "end": {
+ "line": 97,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 3157,
+ 3175
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 21
+ },
+ "end": {
+ "line": 97,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3176,
+ 3180
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 40
+ },
+ "end": {
+ "line": 97,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 3157,
+ 3181
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 21
+ },
+ "end": {
+ "line": 97,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3182,
+ 3186
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 46
+ },
+ "end": {
+ "line": 97,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 3157,
+ 3186
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 21
+ },
+ "end": {
+ "line": 97,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 3187,
+ 3190
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 51
+ },
+ "end": {
+ "line": 97,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 3157,
+ 3190
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 21
+ },
+ "end": {
+ "line": 97,
+ "column": 54
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "c",
+ "range": [
+ 3192,
+ 3193
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 56
+ },
+ "end": {
+ "line": 97,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3223,
+ 3227
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 23
+ },
+ "end": {
+ "line": 98,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 3228,
+ 3232
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 28
+ },
+ "end": {
+ "line": 98,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 3223,
+ 3232
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 23
+ },
+ "end": {
+ "line": 98,
+ "column": 32
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "c",
+ "range": [
+ 3233,
+ 3234
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 33
+ },
+ "end": {
+ "line": 98,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3235,
+ 3239
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 35
+ },
+ "end": {
+ "line": 98,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 3233,
+ 3239
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 33
+ },
+ "end": {
+ "line": 98,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "c",
+ "range": [
+ 3241,
+ 3242
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 41
+ },
+ "end": {
+ "line": 98,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3243,
+ 3245
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 43
+ },
+ "end": {
+ "line": 98,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 3241,
+ 3245
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 41
+ },
+ "end": {
+ "line": 98,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 3223,
+ 3246
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 23
+ },
+ "end": {
+ "line": 98,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 3216,
+ 3247
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 16
+ },
+ "end": {
+ "line": 98,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "range": [
+ 3198,
+ 3263
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 62
+ },
+ "end": {
+ "line": 99,
+ "column": 15
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3191,
+ 3263
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 55
+ },
+ "end": {
+ "line": 99,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 3157,
+ 3264
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 21
+ },
+ "end": {
+ "line": 99,
+ "column": 16
+ }
+ }
+ },
+ "range": [
+ 3150,
+ 3265
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 14
+ },
+ "end": {
+ "line": 99,
+ "column": 17
+ }
+ }
+ }
+ ],
+ "range": [
+ 3134,
+ 3279
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 54
+ },
+ "end": {
+ "line": 100,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3099,
+ 3279
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 19
+ },
+ "end": {
+ "line": 100,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 3009,
+ 3279
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 12
+ },
+ "end": {
+ "line": 100,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 2995,
+ 3291
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 62
+ },
+ "end": {
+ "line": 101,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2943,
+ 3291
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 10
+ },
+ "end": {
+ "line": 101,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 2901,
+ 3301
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 42
+ },
+ "end": {
+ "line": 102,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 2880,
+ 3301
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 21
+ },
+ "end": {
+ "line": 102,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2867,
+ 3301
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 8
+ },
+ "end": {
+ "line": 102,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 3311,
+ 3320
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 8
+ },
+ "end": {
+ "line": 103,
+ "column": 17
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 3331,
+ 3340
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 28
+ },
+ "end": {
+ "line": 103,
+ "column": 37
+ }
+ }
+ },
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 3341,
+ 3349
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 38
+ },
+ "end": {
+ "line": 103,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3351,
+ 3355
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 48
+ },
+ "end": {
+ "line": 103,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3357,
+ 3360
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 54
+ },
+ "end": {
+ "line": 103,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 3378,
+ 3386
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 14
+ },
+ "end": {
+ "line": 104,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3387,
+ 3390
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 23
+ },
+ "end": {
+ "line": 104,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3378,
+ 3391
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 14
+ },
+ "end": {
+ "line": 104,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3407,
+ 3411
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 12
+ },
+ "end": {
+ "line": 105,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3412,
+ 3425
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 17
+ },
+ "end": {
+ "line": 105,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3425
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 12
+ },
+ "end": {
+ "line": 105,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3426,
+ 3430
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 31
+ },
+ "end": {
+ "line": 105,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3434,
+ 3437
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 39
+ },
+ "end": {
+ "line": 105,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 3426,
+ 3437
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 31
+ },
+ "end": {
+ "line": 105,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3438
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 12
+ },
+ "end": {
+ "line": 105,
+ "column": 43
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3457,
+ 3461
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 14
+ },
+ "end": {
+ "line": 106,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 3463,
+ 3471
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 20
+ },
+ "end": {
+ "line": 106,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3472,
+ 3475
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 29
+ },
+ "end": {
+ "line": 106,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 3463,
+ 3476
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 20
+ },
+ "end": {
+ "line": 106,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 3477,
+ 3480
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 34
+ },
+ "end": {
+ "line": 106,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 3463,
+ 3480
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 20
+ },
+ "end": {
+ "line": 106,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 3481,
+ 3482
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 38
+ },
+ "end": {
+ "line": 106,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3513,
+ 3517
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 25
+ },
+ "end": {
+ "line": 107,
+ "column": 29
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 3519,
+ 3520
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 31
+ },
+ "end": {
+ "line": 107,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3521,
+ 3525
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 33
+ },
+ "end": {
+ "line": 107,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 3519,
+ 3525
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 31
+ },
+ "end": {
+ "line": 107,
+ "column": 37
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3513,
+ 3525
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 25
+ },
+ "end": {
+ "line": 107,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3527,
+ 3529
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 39
+ },
+ "end": {
+ "line": 107,
+ "column": 41
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 3531,
+ 3532
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 43
+ },
+ "end": {
+ "line": 107,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3533,
+ 3535
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 45
+ },
+ "end": {
+ "line": 107,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 3531,
+ 3535
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 43
+ },
+ "end": {
+ "line": 107,
+ "column": 47
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3527,
+ 3535
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 39
+ },
+ "end": {
+ "line": 107,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "range": [
+ 3511,
+ 3537
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 23
+ },
+ "end": {
+ "line": 107,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 3504,
+ 3538
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 16
+ },
+ "end": {
+ "line": 107,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 3486,
+ 3554
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 43
+ },
+ "end": {
+ "line": 108,
+ "column": 15
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3481,
+ 3554
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 38
+ },
+ "end": {
+ "line": 108,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 3463,
+ 3555
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 20
+ },
+ "end": {
+ "line": 108,
+ "column": 16
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3457,
+ 3555
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 14
+ },
+ "end": {
+ "line": 108,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 3441,
+ 3569
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 46
+ },
+ "end": {
+ "line": 109,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3569
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 12
+ },
+ "end": {
+ "line": 109,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 3407,
+ 3570
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 12
+ },
+ "end": {
+ "line": 109,
+ "column": 14
+ }
+ }
+ }
+ ],
+ "range": [
+ 3393,
+ 3582
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 29
+ },
+ "end": {
+ "line": 110,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3374,
+ 3582
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 10
+ },
+ "end": {
+ "line": 110,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 3362,
+ 3592
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 59
+ },
+ "end": {
+ "line": 111,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3322,
+ 3592
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 19
+ },
+ "end": {
+ "line": 111,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3311,
+ 3592
+ ],
+ "loc": {
+ "start": {
+ "line": 103,
+ "column": 8
+ },
+ "end": {
+ "line": 111,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 2765,
+ 3600
+ ],
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 13
+ },
+ "end": {
+ "line": 112,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 2758,
+ 3601
+ ],
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 6
+ },
+ "end": {
+ "line": 112,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 2750,
+ 3607
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 11
+ },
+ "end": {
+ "line": 113,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2659,
+ 3607
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 4
+ },
+ "end": {
+ "line": 113,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 2653,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 32
+ },
+ "end": {
+ "line": 114,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 2637,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 16
+ },
+ "end": {
+ "line": 114,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 2623,
+ 3611
+ ],
+ "loc": {
+ "start": {
+ "line": 83,
+ "column": 2
+ },
+ "end": {
+ "line": 114,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 2282,
+ 2620
+ ],
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 2
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": true
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "constructor",
+ "range": [
+ 3615,
+ 3626
+ ],
+ "loc": {
+ "start": {
+ "line": 116,
+ "column": 2
+ },
+ "end": {
+ "line": 116,
+ "column": 13
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "adapter",
+ "range": [
+ 3627,
+ 3634
+ ],
+ "loc": {
+ "start": {
+ "line": 116,
+ "column": 14
+ },
+ "end": {
+ "line": 116,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3642,
+ 3646
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 4
+ },
+ "end": {
+ "line": 117,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 3647,
+ 3655
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 9
+ },
+ "end": {
+ "line": 117,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 3642,
+ 3655
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 4
+ },
+ "end": {
+ "line": 117,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "adapter",
+ "range": [
+ 3658,
+ 3665
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 20
+ },
+ "end": {
+ "line": 117,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 3642,
+ 3665
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 4
+ },
+ "end": {
+ "line": 117,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 3642,
+ 3666
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 4
+ },
+ "end": {
+ "line": 117,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3671,
+ 3675
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 4
+ },
+ "end": {
+ "line": 118,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 3676,
+ 3696
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 9
+ },
+ "end": {
+ "line": 118,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 3671,
+ 3696
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 4
+ },
+ "end": {
+ "line": 118,
+ "column": 29
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Literal",
+ "value": "added",
+ "raw": "\"added\"",
+ "range": [
+ 3701,
+ 3708
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 34
+ },
+ "end": {
+ "line": 118,
+ "column": 41
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3710,
+ 3712
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 43
+ },
+ "end": {
+ "line": 118,
+ "column": 45
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3701,
+ 3712
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 34
+ },
+ "end": {
+ "line": 118,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Literal",
+ "value": "updated",
+ "raw": "\"updated\"",
+ "range": [
+ 3714,
+ 3723
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 47
+ },
+ "end": {
+ "line": 118,
+ "column": 56
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3725,
+ 3727
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 58
+ },
+ "end": {
+ "line": 118,
+ "column": 60
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3714,
+ 3727
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 47
+ },
+ "end": {
+ "line": 118,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 3729,
+ 3738
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 62
+ },
+ "end": {
+ "line": 118,
+ "column": 71
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3740,
+ 3742
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 73
+ },
+ "end": {
+ "line": 118,
+ "column": 75
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3729,
+ 3742
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 62
+ },
+ "end": {
+ "line": 118,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 3699,
+ 3744
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 32
+ },
+ "end": {
+ "line": 118,
+ "column": 77
+ }
+ }
+ },
+ "range": [
+ 3671,
+ 3744
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 4
+ },
+ "end": {
+ "line": 118,
+ "column": 77
+ }
+ }
+ },
+ "range": [
+ 3671,
+ 3745
+ ],
+ "loc": {
+ "start": {
+ "line": 118,
+ "column": 4
+ },
+ "end": {
+ "line": 118,
+ "column": 78
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3750,
+ 3754
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 3755,
+ 3760
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 9
+ },
+ "end": {
+ "line": 119,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 3750,
+ 3760
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3763,
+ 3765
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 17
+ },
+ "end": {
+ "line": 119,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 3750,
+ 3765
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 3750,
+ 3766
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3771,
+ 3775
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 3776,
+ 3794
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 9
+ },
+ "end": {
+ "line": 120,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 3771,
+ 3794
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Literal",
+ "value": "added",
+ "raw": "\"added\"",
+ "range": [
+ 3799,
+ 3806
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 32
+ },
+ "end": {
+ "line": 120,
+ "column": 39
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3808,
+ 3810
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 41
+ },
+ "end": {
+ "line": 120,
+ "column": 43
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3799,
+ 3810
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 32
+ },
+ "end": {
+ "line": 120,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Literal",
+ "value": "updated",
+ "raw": "\"updated\"",
+ "range": [
+ 3812,
+ 3821
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 45
+ },
+ "end": {
+ "line": 120,
+ "column": 54
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3823,
+ 3825
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 56
+ },
+ "end": {
+ "line": 120,
+ "column": 58
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3812,
+ 3825
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 45
+ },
+ "end": {
+ "line": 120,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 3827,
+ 3836
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 60
+ },
+ "end": {
+ "line": 120,
+ "column": 69
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3838,
+ 3840
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 71
+ },
+ "end": {
+ "line": 120,
+ "column": 73
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3827,
+ 3840
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 60
+ },
+ "end": {
+ "line": 120,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 3797,
+ 3842
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 30
+ },
+ "end": {
+ "line": 120,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 3771,
+ 3842
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 3771,
+ 3843
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3848,
+ 3852
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 3853,
+ 3859
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 9
+ },
+ "end": {
+ "line": 121,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 3848,
+ 3859
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 15
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3862,
+ 3864
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 18
+ },
+ "end": {
+ "line": 121,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3848,
+ 3864
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3848,
+ 3865
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "range": [
+ 3636,
+ 3869
+ ],
+ "loc": {
+ "start": {
+ "line": 116,
+ "column": 23
+ },
+ "end": {
+ "line": 122,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3626,
+ 3869
+ ],
+ "loc": {
+ "start": {
+ "line": 116,
+ "column": 13
+ },
+ "end": {
+ "line": 122,
+ "column": 3
+ }
+ }
+ },
+ "kind": "constructor",
+ "computed": false,
+ "range": [
+ 3615,
+ 3869
+ ],
+ "loc": {
+ "start": {
+ "line": 116,
+ "column": 2
+ },
+ "end": {
+ "line": 122,
+ "column": 3
+ }
+ },
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - Resource Object to add. See:\n http://jsonapi.org/format/#document-resource-objects\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 3873,
+ 4165
+ ],
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 2
+ },
+ "end": {
+ "line": 132,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 4168,
+ 4171
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 2
+ },
+ "end": {
+ "line": 133,
+ "column": 5
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4172,
+ 4178
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 6
+ },
+ "end": {
+ "line": 133,
+ "column": 12
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4190,
+ 4196
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 8
+ },
+ "end": {
+ "line": 134,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4210,
+ 4216
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 10
+ },
+ "end": {
+ "line": 135,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4217,
+ 4221
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 17
+ },
+ "end": {
+ "line": 135,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 4210,
+ 4221
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 10
+ },
+ "end": {
+ "line": 135,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4225,
+ 4231
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 25
+ },
+ "end": {
+ "line": 135,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4232,
+ 4234
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 32
+ },
+ "end": {
+ "line": 135,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 4225,
+ 4234
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 25
+ },
+ "end": {
+ "line": 135,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 4210,
+ 4234
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 10
+ },
+ "end": {
+ "line": 135,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 4250,
+ 4255
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 12
+ },
+ "end": {
+ "line": 136,
+ "column": 17
+ }
+ }
+ },
+ "init": {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4258,
+ 4262
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 20
+ },
+ "end": {
+ "line": 136,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 4263,
+ 4268
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 25
+ },
+ "end": {
+ "line": 136,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 4258,
+ 4268
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 20
+ },
+ "end": {
+ "line": 136,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4269,
+ 4275
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 31
+ },
+ "end": {
+ "line": 136,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4276,
+ 4280
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 38
+ },
+ "end": {
+ "line": 136,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 4269,
+ 4280
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 31
+ },
+ "end": {
+ "line": 136,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 4258,
+ 4281
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 20
+ },
+ "end": {
+ "line": 136,
+ "column": 43
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4285,
+ 4289
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 47
+ },
+ "end": {
+ "line": 136,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 4290,
+ 4295
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 52
+ },
+ "end": {
+ "line": 136,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 4285,
+ 4295
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 47
+ },
+ "end": {
+ "line": 136,
+ "column": 57
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4296,
+ 4302
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 58
+ },
+ "end": {
+ "line": 136,
+ "column": 64
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4303,
+ 4307
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 65
+ },
+ "end": {
+ "line": 136,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 4296,
+ 4307
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 58
+ },
+ "end": {
+ "line": 136,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 4285,
+ 4308
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 47
+ },
+ "end": {
+ "line": 136,
+ "column": 70
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4309,
+ 4315
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 71
+ },
+ "end": {
+ "line": 136,
+ "column": 77
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4316,
+ 4318
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 78
+ },
+ "end": {
+ "line": 136,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 4309,
+ 4318
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 71
+ },
+ "end": {
+ "line": 136,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 4285,
+ 4319
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 47
+ },
+ "end": {
+ "line": 136,
+ "column": 81
+ }
+ }
+ },
+ "range": [
+ 4258,
+ 4319
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 20
+ },
+ "end": {
+ "line": 136,
+ "column": 81
+ }
+ }
+ },
+ "consequent": {
+ "type": "Literal",
+ "value": "updated",
+ "raw": "\"updated\"",
+ "range": [
+ 4322,
+ 4331
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 84
+ },
+ "end": {
+ "line": 136,
+ "column": 93
+ }
+ }
+ },
+ "alternate": {
+ "type": "Literal",
+ "value": "added",
+ "raw": "\"added\"",
+ "range": [
+ 4334,
+ 4341
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 96
+ },
+ "end": {
+ "line": 136,
+ "column": 103
+ }
+ }
+ },
+ "range": [
+ 4258,
+ 4341
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 20
+ },
+ "end": {
+ "line": 136,
+ "column": 103
+ }
+ }
+ },
+ "range": [
+ 4250,
+ 4341
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 12
+ },
+ "end": {
+ "line": 136,
+ "column": 103
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 4246,
+ 4342
+ ],
+ "loc": {
+ "start": {
+ "line": 136,
+ "column": 8
+ },
+ "end": {
+ "line": 136,
+ "column": 104
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 4355,
+ 4363
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 12
+ },
+ "end": {
+ "line": 137,
+ "column": 20
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4366,
+ 4370
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 23
+ },
+ "end": {
+ "line": 137,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 4371,
+ 4375
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 28
+ },
+ "end": {
+ "line": 137,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 4366,
+ 4375
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 23
+ },
+ "end": {
+ "line": 137,
+ "column": 32
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4376,
+ 4382
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 33
+ },
+ "end": {
+ "line": 137,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4383,
+ 4387
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 40
+ },
+ "end": {
+ "line": 137,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 4376,
+ 4387
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 33
+ },
+ "end": {
+ "line": 137,
+ "column": 44
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4389,
+ 4395
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 46
+ },
+ "end": {
+ "line": 137,
+ "column": 52
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4396,
+ 4398
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 53
+ },
+ "end": {
+ "line": 137,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 4389,
+ 4398
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 46
+ },
+ "end": {
+ "line": 137,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 4366,
+ 4399
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 23
+ },
+ "end": {
+ "line": 137,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 4355,
+ 4399
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 12
+ },
+ "end": {
+ "line": 137,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 4351,
+ 4400
+ ],
+ "loc": {
+ "start": {
+ "line": 137,
+ "column": 8
+ },
+ "end": {
+ "line": 137,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 4413,
+ 4423
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 12
+ },
+ "end": {
+ "line": 138,
+ "column": 22
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4426,
+ 4430
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 25
+ },
+ "end": {
+ "line": 138,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 4431,
+ 4437
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 30
+ },
+ "end": {
+ "line": 138,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 4426,
+ 4437
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 25
+ },
+ "end": {
+ "line": 138,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4438,
+ 4444
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 37
+ },
+ "end": {
+ "line": 138,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4445,
+ 4449
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 44
+ },
+ "end": {
+ "line": 138,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 4438,
+ 4449
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 37
+ },
+ "end": {
+ "line": 138,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 4426,
+ 4450
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 25
+ },
+ "end": {
+ "line": 138,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 4413,
+ 4450
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 12
+ },
+ "end": {
+ "line": 138,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 4409,
+ 4451
+ ],
+ "loc": {
+ "start": {
+ "line": 138,
+ "column": 8
+ },
+ "end": {
+ "line": 138,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 4460,
+ 4466
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 8
+ },
+ "end": {
+ "line": 139,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 4467,
+ 4471
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 15
+ },
+ "end": {
+ "line": 139,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 4460,
+ 4471
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 8
+ },
+ "end": {
+ "line": 139,
+ "column": 19
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 4472,
+ 4482
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 20
+ },
+ "end": {
+ "line": 139,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 4460,
+ 4483
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 8
+ },
+ "end": {
+ "line": 139,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 4484,
+ 4491
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 32
+ },
+ "end": {
+ "line": 139,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 4460,
+ 4491
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 8
+ },
+ "end": {
+ "line": 139,
+ "column": 39
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 4492,
+ 4501
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 40
+ },
+ "end": {
+ "line": 139,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 4521,
+ 4530
+ ],
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 14
+ },
+ "end": {
+ "line": 140,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 4531,
+ 4532
+ ],
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 24
+ },
+ "end": {
+ "line": 140,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 4521,
+ 4533
+ ],
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 14
+ },
+ "end": {
+ "line": 140,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "_",
+ "raw": "\"_\"",
+ "range": [
+ 4538,
+ 4541
+ ],
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 31
+ },
+ "end": {
+ "line": 140,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 4521,
+ 4541
+ ],
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 14
+ },
+ "end": {
+ "line": 140,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4557,
+ 4561
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 12
+ },
+ "end": {
+ "line": 141,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_addField",
+ "range": [
+ 4562,
+ 4571
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 17
+ },
+ "end": {
+ "line": 141,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 4557,
+ 4571
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 12
+ },
+ "end": {
+ "line": 141,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4572,
+ 4578
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 27
+ },
+ "end": {
+ "line": 141,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 4580,
+ 4588
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 35
+ },
+ "end": {
+ "line": 141,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 4590,
+ 4600
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 45
+ },
+ "end": {
+ "line": 141,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 4602,
+ 4611
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 57
+ },
+ "end": {
+ "line": 141,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 4557,
+ 4612
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 12
+ },
+ "end": {
+ "line": 141,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 4557,
+ 4613
+ ],
+ "loc": {
+ "start": {
+ "line": 141,
+ "column": 12
+ },
+ "end": {
+ "line": 141,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 4543,
+ 4625
+ ],
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 36
+ },
+ "end": {
+ "line": 142,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4517,
+ 4625
+ ],
+ "loc": {
+ "start": {
+ "line": 140,
+ "column": 10
+ },
+ "end": {
+ "line": 142,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 4505,
+ 4635
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 53
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 4492,
+ 4635
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 40
+ },
+ "end": {
+ "line": 143,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 4460,
+ 4636
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 8
+ },
+ "end": {
+ "line": 143,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 4460,
+ 4637
+ ],
+ "loc": {
+ "start": {
+ "line": 139,
+ "column": 8
+ },
+ "end": {
+ "line": 143,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4650,
+ 4654
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 12
+ },
+ "end": {
+ "line": 144,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 4655,
+ 4673
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 17
+ },
+ "end": {
+ "line": 144,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 4650,
+ 4673
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 12
+ },
+ "end": {
+ "line": 144,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 4674,
+ 4679
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 36
+ },
+ "end": {
+ "line": 144,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 4650,
+ 4680
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 12
+ },
+ "end": {
+ "line": 144,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4681,
+ 4687
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 43
+ },
+ "end": {
+ "line": 144,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4688,
+ 4692
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 50
+ },
+ "end": {
+ "line": 144,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 4681,
+ 4692
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 43
+ },
+ "end": {
+ "line": 144,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 4650,
+ 4693
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 12
+ },
+ "end": {
+ "line": 144,
+ "column": 55
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4697,
+ 4701
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 59
+ },
+ "end": {
+ "line": 144,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 4702,
+ 4720
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 64
+ },
+ "end": {
+ "line": 144,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 4697,
+ 4720
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 59
+ },
+ "end": {
+ "line": 144,
+ "column": 82
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 4721,
+ 4726
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 83
+ },
+ "end": {
+ "line": 144,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 4697,
+ 4727
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 59
+ },
+ "end": {
+ "line": 144,
+ "column": 89
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4728,
+ 4734
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 90
+ },
+ "end": {
+ "line": 144,
+ "column": 96
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4735,
+ 4739
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 97
+ },
+ "end": {
+ "line": 144,
+ "column": 101
+ }
+ }
+ },
+ "range": [
+ 4728,
+ 4739
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 90
+ },
+ "end": {
+ "line": 144,
+ "column": 101
+ }
+ }
+ },
+ "range": [
+ 4697,
+ 4740
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 59
+ },
+ "end": {
+ "line": 144,
+ "column": 102
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4741,
+ 4747
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 103
+ },
+ "end": {
+ "line": 144,
+ "column": 109
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4748,
+ 4750
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 110
+ },
+ "end": {
+ "line": 144,
+ "column": 112
+ }
+ }
+ },
+ "range": [
+ 4741,
+ 4750
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 103
+ },
+ "end": {
+ "line": 144,
+ "column": 112
+ }
+ }
+ },
+ "range": [
+ 4697,
+ 4751
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 59
+ },
+ "end": {
+ "line": 144,
+ "column": 113
+ }
+ }
+ },
+ "range": [
+ 4650,
+ 4751
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 12
+ },
+ "end": {
+ "line": 144,
+ "column": 113
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4766,
+ 4770
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 4771,
+ 4789
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 16
+ },
+ "end": {
+ "line": 145,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 4766,
+ 4789
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 4790,
+ 4795
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 35
+ },
+ "end": {
+ "line": 145,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 4766,
+ 4796
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4797,
+ 4803
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 42
+ },
+ "end": {
+ "line": 145,
+ "column": 48
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4804,
+ 4808
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 49
+ },
+ "end": {
+ "line": 145,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 4797,
+ 4808
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 42
+ },
+ "end": {
+ "line": 145,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 4766,
+ 4809
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4810,
+ 4816
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 55
+ },
+ "end": {
+ "line": 145,
+ "column": 61
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 4817,
+ 4819
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 62
+ },
+ "end": {
+ "line": 145,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4810,
+ 4819
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 55
+ },
+ "end": {
+ "line": 145,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 4766,
+ 4820
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 65
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 4821,
+ 4828
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 66
+ },
+ "end": {
+ "line": 145,
+ "column": 73
+ }
+ }
+ },
+ "range": [
+ 4766,
+ 4828
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 73
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 4829,
+ 4830
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 74
+ },
+ "end": {
+ "line": 145,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 4834,
+ 4835
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 79
+ },
+ "end": {
+ "line": 145,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 4836,
+ 4837
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 81
+ },
+ "end": {
+ "line": 145,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 4834,
+ 4838
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 79
+ },
+ "end": {
+ "line": 145,
+ "column": 83
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 4839,
+ 4843
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 84
+ },
+ "end": {
+ "line": 145,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 4834,
+ 4843
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 79
+ },
+ "end": {
+ "line": 145,
+ "column": 88
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 4844,
+ 4845
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 89
+ },
+ "end": {
+ "line": 145,
+ "column": 90
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 4846,
+ 4847
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 91
+ },
+ "end": {
+ "line": 145,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 4844,
+ 4848
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 89
+ },
+ "end": {
+ "line": 145,
+ "column": 93
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 4850,
+ 4858
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 95
+ },
+ "end": {
+ "line": 145,
+ "column": 103
+ }
+ }
+ }
+ ],
+ "range": [
+ 4834,
+ 4859
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 79
+ },
+ "end": {
+ "line": 145,
+ "column": 104
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 4829,
+ 4859
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 74
+ },
+ "end": {
+ "line": 145,
+ "column": 104
+ }
+ }
+ }
+ ],
+ "range": [
+ 4766,
+ 4860
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 105
+ }
+ }
+ },
+ "range": [
+ 4766,
+ 4861
+ ],
+ "loc": {
+ "start": {
+ "line": 145,
+ "column": 11
+ },
+ "end": {
+ "line": 145,
+ "column": 106
+ }
+ }
+ }
+ ],
+ "range": [
+ 4753,
+ 4871
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 115
+ },
+ "end": {
+ "line": 146,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4646,
+ 4871
+ ],
+ "loc": {
+ "start": {
+ "line": 144,
+ "column": 8
+ },
+ "end": {
+ "line": 146,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4884,
+ 4888
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 12
+ },
+ "end": {
+ "line": 147,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 4889,
+ 4909
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 17
+ },
+ "end": {
+ "line": 147,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 4884,
+ 4909
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 12
+ },
+ "end": {
+ "line": 147,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 4910,
+ 4915
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 38
+ },
+ "end": {
+ "line": 147,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 4884,
+ 4916
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 12
+ },
+ "end": {
+ "line": 147,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4917,
+ 4923
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 45
+ },
+ "end": {
+ "line": 147,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4924,
+ 4928
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 52
+ },
+ "end": {
+ "line": 147,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 4917,
+ 4928
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 45
+ },
+ "end": {
+ "line": 147,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 4884,
+ 4929
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 12
+ },
+ "end": {
+ "line": 147,
+ "column": 57
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 4943,
+ 4947
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 4948,
+ 4968
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 15
+ },
+ "end": {
+ "line": 148,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 4943,
+ 4968
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 4969,
+ 4974
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 36
+ },
+ "end": {
+ "line": 148,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 4943,
+ 4975
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 4976,
+ 4982
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 43
+ },
+ "end": {
+ "line": 148,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 4983,
+ 4987
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 50
+ },
+ "end": {
+ "line": 148,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 4976,
+ 4987
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 43
+ },
+ "end": {
+ "line": 148,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 4943,
+ 4988
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 4989,
+ 4996
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 56
+ },
+ "end": {
+ "line": 148,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 4943,
+ 4996
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 63
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 4997,
+ 4998
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 64
+ },
+ "end": {
+ "line": 148,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 5002,
+ 5003
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 69
+ },
+ "end": {
+ "line": 148,
+ "column": 70
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 5004,
+ 5005
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 71
+ },
+ "end": {
+ "line": 148,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 5002,
+ 5006
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 69
+ },
+ "end": {
+ "line": 148,
+ "column": 73
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 5007,
+ 5011
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 74
+ },
+ "end": {
+ "line": 148,
+ "column": 78
+ }
+ }
+ },
+ "range": [
+ 5002,
+ 5011
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 69
+ },
+ "end": {
+ "line": 148,
+ "column": 78
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 5012,
+ 5013
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 79
+ },
+ "end": {
+ "line": 148,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 5014,
+ 5015
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 81
+ },
+ "end": {
+ "line": 148,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 5012,
+ 5016
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 79
+ },
+ "end": {
+ "line": 148,
+ "column": 83
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 5018,
+ 5026
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 85
+ },
+ "end": {
+ "line": 148,
+ "column": 93
+ }
+ }
+ }
+ ],
+ "range": [
+ 5002,
+ 5027
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 69
+ },
+ "end": {
+ "line": 148,
+ "column": 94
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 4997,
+ 5027
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 64
+ },
+ "end": {
+ "line": 148,
+ "column": 94
+ }
+ }
+ }
+ ],
+ "range": [
+ 4943,
+ 5028
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 95
+ }
+ }
+ },
+ "range": [
+ 4943,
+ 5029
+ ],
+ "loc": {
+ "start": {
+ "line": 148,
+ "column": 10
+ },
+ "end": {
+ "line": 148,
+ "column": 96
+ }
+ }
+ }
+ ],
+ "range": [
+ 4931,
+ 5039
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 59
+ },
+ "end": {
+ "line": 149,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 4880,
+ 5039
+ ],
+ "loc": {
+ "start": {
+ "line": 147,
+ "column": 8
+ },
+ "end": {
+ "line": 149,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 4236,
+ 5047
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 36
+ },
+ "end": {
+ "line": 150,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 5073,
+ 5082
+ ],
+ "loc": {
+ "start": {
+ "line": 151,
+ "column": 18
+ },
+ "end": {
+ "line": 151,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The data must have a type and id",
+ "cooked": "The data must have a type and id"
+ },
+ "tail": true,
+ "range": [
+ 5083,
+ 5117
+ ],
+ "loc": {
+ "start": {
+ "line": 151,
+ "column": 28
+ },
+ "end": {
+ "line": 151,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 5083,
+ 5117
+ ],
+ "loc": {
+ "start": {
+ "line": 151,
+ "column": 28
+ },
+ "end": {
+ "line": 151,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 5069,
+ 5118
+ ],
+ "loc": {
+ "start": {
+ "line": 151,
+ "column": 14
+ },
+ "end": {
+ "line": 151,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 5063,
+ 5119
+ ],
+ "loc": {
+ "start": {
+ "line": 151,
+ "column": 8
+ },
+ "end": {
+ "line": 151,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 5053,
+ 5127
+ ],
+ "loc": {
+ "start": {
+ "line": 150,
+ "column": 13
+ },
+ "end": {
+ "line": 152,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 4206,
+ 5127
+ ],
+ "loc": {
+ "start": {
+ "line": 135,
+ "column": 6
+ },
+ "end": {
+ "line": 152,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 4198,
+ 5133
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 16
+ },
+ "end": {
+ "line": 153,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 5157,
+ 5166
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 16
+ },
+ "end": {
+ "line": 154,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide data to add",
+ "cooked": "You must provide data to add"
+ },
+ "tail": true,
+ "range": [
+ 5167,
+ 5197
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 26
+ },
+ "end": {
+ "line": 154,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 5167,
+ 5197
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 26
+ },
+ "end": {
+ "line": 154,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 5153,
+ 5198
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 12
+ },
+ "end": {
+ "line": 154,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 5147,
+ 5199
+ ],
+ "loc": {
+ "start": {
+ "line": 154,
+ "column": 6
+ },
+ "end": {
+ "line": 154,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "range": [
+ 5139,
+ 5205
+ ],
+ "loc": {
+ "start": {
+ "line": 153,
+ "column": 11
+ },
+ "end": {
+ "line": 155,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 4186,
+ 5205
+ ],
+ "loc": {
+ "start": {
+ "line": 134,
+ "column": 4
+ },
+ "end": {
+ "line": 155,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 4180,
+ 5209
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 14
+ },
+ "end": {
+ "line": 156,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 4171,
+ 5209
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 5
+ },
+ "end": {
+ "line": 156,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 4168,
+ 5209
+ ],
+ "loc": {
+ "start": {
+ "line": 133,
+ "column": 2
+ },
+ "end": {
+ "line": 156,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - Resource Object to add. See:\n http://jsonapi.org/format/#document-resource-objects\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 3873,
+ 4165
+ ],
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 2
+ },
+ "end": {
+ "line": 132,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n ",
+ "range": [
+ 5213,
+ 5659
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 2
+ },
+ "end": {
+ "line": 166,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 5662,
+ 5669
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 2
+ },
+ "end": {
+ "line": 167,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5670,
+ 5674
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 10
+ },
+ "end": {
+ "line": 167,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5676,
+ 5678
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 16
+ },
+ "end": {
+ "line": 167,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 5680,
+ 5687
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 20
+ },
+ "end": {
+ "line": 167,
+ "column": 27
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5699,
+ 5703
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 8
+ },
+ "end": {
+ "line": 168,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5714,
+ 5718
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 23
+ },
+ "end": {
+ "line": 168,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 5707,
+ 5718
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 16
+ },
+ "end": {
+ "line": 168,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "\"object\"",
+ "range": [
+ 5723,
+ 5731
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 32
+ },
+ "end": {
+ "line": 168,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 5707,
+ 5731
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 16
+ },
+ "end": {
+ "line": 168,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 5699,
+ 5731
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 8
+ },
+ "end": {
+ "line": 168,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5748,
+ 5752
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 13
+ },
+ "end": {
+ "line": 169,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 5753,
+ 5760
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 18
+ },
+ "end": {
+ "line": 169,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 5748,
+ 5760
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 13
+ },
+ "end": {
+ "line": 169,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5761,
+ 5765
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 26
+ },
+ "end": {
+ "line": 169,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5766,
+ 5770
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 31
+ },
+ "end": {
+ "line": 169,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 5761,
+ 5770
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 26
+ },
+ "end": {
+ "line": 169,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5772,
+ 5776
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 37
+ },
+ "end": {
+ "line": 169,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5777,
+ 5779
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 42
+ },
+ "end": {
+ "line": 169,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 5772,
+ 5779
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 37
+ },
+ "end": {
+ "line": 169,
+ "column": 44
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5781,
+ 5785
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 46
+ },
+ "end": {
+ "line": 169,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 5748,
+ 5786
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 13
+ },
+ "end": {
+ "line": 169,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 5741,
+ 5787
+ ],
+ "loc": {
+ "start": {
+ "line": 169,
+ "column": 6
+ },
+ "end": {
+ "line": 169,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "range": [
+ 5733,
+ 5793
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 42
+ },
+ "end": {
+ "line": 170,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5803,
+ 5805
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 15
+ },
+ "end": {
+ "line": 170,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5816,
+ 5818
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 28
+ },
+ "end": {
+ "line": 170,
+ "column": 30
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 5809,
+ 5818
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 21
+ },
+ "end": {
+ "line": 170,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "\"object\"",
+ "range": [
+ 5823,
+ 5831
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 35
+ },
+ "end": {
+ "line": 170,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 5809,
+ 5831
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 21
+ },
+ "end": {
+ "line": 170,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 5803,
+ 5831
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 15
+ },
+ "end": {
+ "line": 170,
+ "column": 43
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5848,
+ 5852
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 13
+ },
+ "end": {
+ "line": 171,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 5853,
+ 5860
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 18
+ },
+ "end": {
+ "line": 171,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 5848,
+ 5860
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 13
+ },
+ "end": {
+ "line": 171,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5861,
+ 5865
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 26
+ },
+ "end": {
+ "line": 171,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5867,
+ 5869
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 32
+ },
+ "end": {
+ "line": 171,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5870,
+ 5872
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 35
+ },
+ "end": {
+ "line": 171,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 5867,
+ 5872
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 32
+ },
+ "end": {
+ "line": 171,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5874,
+ 5876
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 39
+ },
+ "end": {
+ "line": 171,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 5848,
+ 5877
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 13
+ },
+ "end": {
+ "line": 171,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 5841,
+ 5878
+ ],
+ "loc": {
+ "start": {
+ "line": 171,
+ "column": 6
+ },
+ "end": {
+ "line": 171,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 5833,
+ 5884
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 45
+ },
+ "end": {
+ "line": 172,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 5902,
+ 5906
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 10
+ },
+ "end": {
+ "line": 173,
+ "column": 14
+ }
+ }
+ },
+ "init": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5919,
+ 5923
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 8
+ },
+ "end": {
+ "line": 174,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5925,
+ 5929
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 14
+ },
+ "end": {
+ "line": 174,
+ "column": 18
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 5919,
+ 5929
+ ],
+ "loc": {
+ "start": {
+ "line": 174,
+ "column": 8
+ },
+ "end": {
+ "line": 174,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 5939,
+ 5949
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 8
+ },
+ "end": {
+ "line": 175,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 5951,
+ 5953
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 20
+ },
+ "end": {
+ "line": 175,
+ "column": 22
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 5939,
+ 5953
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 8
+ },
+ "end": {
+ "line": 175,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 5963,
+ 5976
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 8
+ },
+ "end": {
+ "line": 176,
+ "column": 21
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 5978,
+ 5980
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 23
+ },
+ "end": {
+ "line": 176,
+ "column": 25
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 5963,
+ 5980
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 8
+ },
+ "end": {
+ "line": 176,
+ "column": 25
+ }
+ }
+ }
+ ],
+ "range": [
+ 5909,
+ 5988
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 17
+ },
+ "end": {
+ "line": 177,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 5902,
+ 5988
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 10
+ },
+ "end": {
+ "line": 177,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 5898,
+ 5989
+ ],
+ "loc": {
+ "start": {
+ "line": 173,
+ "column": 6
+ },
+ "end": {
+ "line": 177,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6000,
+ 6002
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 10
+ },
+ "end": {
+ "line": 178,
+ "column": 12
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 6014,
+ 6018
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 8
+ },
+ "end": {
+ "line": 179,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6019,
+ 6021
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 13
+ },
+ "end": {
+ "line": 179,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 6014,
+ 6021
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 8
+ },
+ "end": {
+ "line": 179,
+ "column": 15
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6024,
+ 6026
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 18
+ },
+ "end": {
+ "line": 179,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 6014,
+ 6026
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 8
+ },
+ "end": {
+ "line": 179,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 6014,
+ 6027
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 8
+ },
+ "end": {
+ "line": 179,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "range": [
+ 6004,
+ 6035
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 14
+ },
+ "end": {
+ "line": 180,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 5996,
+ 6035
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 6
+ },
+ "end": {
+ "line": 180,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 6046,
+ 6056
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 10
+ },
+ "end": {
+ "line": 181,
+ "column": 20
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 6059,
+ 6063
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 23
+ },
+ "end": {
+ "line": 181,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 6064,
+ 6070
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 28
+ },
+ "end": {
+ "line": 181,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 6059,
+ 6070
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 23
+ },
+ "end": {
+ "line": 181,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 6071,
+ 6075
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 35
+ },
+ "end": {
+ "line": 181,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6076,
+ 6080
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 40
+ },
+ "end": {
+ "line": 181,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 6071,
+ 6080
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 35
+ },
+ "end": {
+ "line": 181,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 6059,
+ 6081
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 23
+ },
+ "end": {
+ "line": 181,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 6046,
+ 6081
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 10
+ },
+ "end": {
+ "line": 181,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 6042,
+ 6082
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 6
+ },
+ "end": {
+ "line": 181,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 6089,
+ 6095
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 6
+ },
+ "end": {
+ "line": 182,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 6096,
+ 6100
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 13
+ },
+ "end": {
+ "line": 182,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 6089,
+ 6100
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 6
+ },
+ "end": {
+ "line": 182,
+ "column": 17
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 6101,
+ 6111
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 18
+ },
+ "end": {
+ "line": 182,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 6089,
+ 6112
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 6
+ },
+ "end": {
+ "line": 182,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 6113,
+ 6120
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 30
+ },
+ "end": {
+ "line": 182,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 6089,
+ 6120
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 6
+ },
+ "end": {
+ "line": 182,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 6121,
+ 6130
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 38
+ },
+ "end": {
+ "line": 182,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 6148,
+ 6157
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 12
+ },
+ "end": {
+ "line": 183,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 6158,
+ 6159
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 22
+ },
+ "end": {
+ "line": 183,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 6148,
+ 6160
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 12
+ },
+ "end": {
+ "line": 183,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "_",
+ "raw": "\"_\"",
+ "range": [
+ 6165,
+ 6168
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 29
+ },
+ "end": {
+ "line": 183,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 6148,
+ 6168
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 12
+ },
+ "end": {
+ "line": 183,
+ "column": 32
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 6182,
+ 6192
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 10
+ },
+ "end": {
+ "line": 184,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 6193,
+ 6202
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 21
+ },
+ "end": {
+ "line": 184,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 6182,
+ 6203
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 10
+ },
+ "end": {
+ "line": 184,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 6204,
+ 6213
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 32
+ },
+ "end": {
+ "line": 184,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 6182,
+ 6213
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 10
+ },
+ "end": {
+ "line": 184,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 6214,
+ 6221
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 42
+ },
+ "end": {
+ "line": 184,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 6223,
+ 6227
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 51
+ },
+ "end": {
+ "line": 184,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 6229,
+ 6238
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 57
+ },
+ "end": {
+ "line": 184,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 6182,
+ 6239
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 10
+ },
+ "end": {
+ "line": 184,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 6182,
+ 6240
+ ],
+ "loc": {
+ "start": {
+ "line": 184,
+ "column": 10
+ },
+ "end": {
+ "line": 184,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 6170,
+ 6250
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 34
+ },
+ "end": {
+ "line": 185,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 6144,
+ 6250
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 8
+ },
+ "end": {
+ "line": 185,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 6134,
+ 6258
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 51
+ },
+ "end": {
+ "line": 186,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 6121,
+ 6258
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 38
+ },
+ "end": {
+ "line": 186,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 6089,
+ 6259
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 6
+ },
+ "end": {
+ "line": 186,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 6089,
+ 6260
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 6
+ },
+ "end": {
+ "line": 186,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 6274,
+ 6278
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 13
+ },
+ "end": {
+ "line": 187,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 6267,
+ 6279
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 6
+ },
+ "end": {
+ "line": 187,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "range": [
+ 5890,
+ 6285
+ ],
+ "loc": {
+ "start": {
+ "line": 172,
+ "column": 11
+ },
+ "end": {
+ "line": 188,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 5799,
+ 6285
+ ],
+ "loc": {
+ "start": {
+ "line": 170,
+ "column": 11
+ },
+ "end": {
+ "line": 188,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 5695,
+ 6285
+ ],
+ "loc": {
+ "start": {
+ "line": 168,
+ "column": 4
+ },
+ "end": {
+ "line": 188,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 5689,
+ 6289
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 29
+ },
+ "end": {
+ "line": 189,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 5669,
+ 6289
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 9
+ },
+ "end": {
+ "line": 189,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 5662,
+ 6289
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 2
+ },
+ "end": {
+ "line": 189,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n ",
+ "range": [
+ 5213,
+ 5659
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 2
+ },
+ "end": {
+ "line": 166,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 6293,
+ 6954
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 2
+ },
+ "end": {
+ "line": 209,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "create",
+ "range": [
+ 6957,
+ 6963
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 2
+ },
+ "end": {
+ "line": 210,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6964,
+ 6968
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 9
+ },
+ "end": {
+ "line": 210,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 6970,
+ 6977
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 15
+ },
+ "end": {
+ "line": 210,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 6979,
+ 6986
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 24
+ },
+ "end": {
+ "line": 210,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 6988,
+ 6993
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 33
+ },
+ "end": {
+ "line": 210,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 6995,
+ 7002
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 40
+ },
+ "end": {
+ "line": 210,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 7014,
+ 7018
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 8
+ },
+ "end": {
+ "line": 211,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 7019,
+ 7027
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 13
+ },
+ "end": {
+ "line": 211,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 7014,
+ 7027
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 8
+ },
+ "end": {
+ "line": 211,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 7037,
+ 7041
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 6
+ },
+ "end": {
+ "line": 212,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 7042,
+ 7050
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 11
+ },
+ "end": {
+ "line": 212,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 7037,
+ 7050
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 6
+ },
+ "end": {
+ "line": 212,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "create",
+ "range": [
+ 7051,
+ 7057
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 20
+ },
+ "end": {
+ "line": 212,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 7037,
+ 7057
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 6
+ },
+ "end": {
+ "line": 212,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 7058,
+ 7062
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 27
+ },
+ "end": {
+ "line": 212,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 7064,
+ 7068
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 33
+ },
+ "end": {
+ "line": 212,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 7070,
+ 7077
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 39
+ },
+ "end": {
+ "line": 212,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 7079,
+ 7086
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 48
+ },
+ "end": {
+ "line": 212,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 7088,
+ 7093
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 57
+ },
+ "end": {
+ "line": 212,
+ "column": 62
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 7095,
+ 7102
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 64
+ },
+ "end": {
+ "line": 212,
+ "column": 71
+ }
+ }
+ }
+ ],
+ "range": [
+ 7037,
+ 7103
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 6
+ },
+ "end": {
+ "line": 212,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 7037,
+ 7104
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 6
+ },
+ "end": {
+ "line": 212,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 7029,
+ 7110
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 23
+ },
+ "end": {
+ "line": 213,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 7134,
+ 7139
+ ],
+ "loc": {
+ "start": {
+ "line": 214,
+ "column": 16
+ },
+ "end": {
+ "line": 214,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 7140,
+ 7236
+ ],
+ "loc": {
+ "start": {
+ "line": 214,
+ "column": 22
+ },
+ "end": {
+ "line": 214,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 7130,
+ 7237
+ ],
+ "loc": {
+ "start": {
+ "line": 214,
+ "column": 12
+ },
+ "end": {
+ "line": 214,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 7124,
+ 7238
+ ],
+ "loc": {
+ "start": {
+ "line": 214,
+ "column": 6
+ },
+ "end": {
+ "line": 214,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 7116,
+ 7244
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 11
+ },
+ "end": {
+ "line": 215,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 7010,
+ 7244
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 4
+ },
+ "end": {
+ "line": 215,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 7004,
+ 7248
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 49
+ },
+ "end": {
+ "line": 216,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 6963,
+ 7248
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 8
+ },
+ "end": {
+ "line": 216,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 6957,
+ 7248
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 2
+ },
+ "end": {
+ "line": 216,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 6293,
+ 6954
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 2
+ },
+ "end": {
+ "line": 209,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 7252,
+ 7479
+ ],
+ "loc": {
+ "start": {
+ "line": 218,
+ "column": 2
+ },
+ "end": {
+ "line": 225,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "define",
+ "range": [
+ 7482,
+ 7488
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 2
+ },
+ "end": {
+ "line": 226,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7489,
+ 7494
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 9
+ },
+ "end": {
+ "line": 226,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 7496,
+ 7506
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 16
+ },
+ "end": {
+ "line": 226,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7514,
+ 7519
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 4
+ },
+ "end": {
+ "line": 227,
+ "column": 9
+ }
+ }
+ },
+ "right": {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7523,
+ 7528
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 13
+ },
+ "end": {
+ "line": 227,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "constructor",
+ "range": [
+ 7529,
+ 7540
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 19
+ },
+ "end": {
+ "line": 227,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 7523,
+ 7540
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 13
+ },
+ "end": {
+ "line": 227,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "Array",
+ "range": [
+ 7545,
+ 7550
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 35
+ },
+ "end": {
+ "line": 227,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 7523,
+ 7550
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 13
+ },
+ "end": {
+ "line": 227,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7554,
+ 7559
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 44
+ },
+ "end": {
+ "line": 227,
+ "column": 49
+ }
+ }
+ },
+ "alternate": {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7564,
+ 7569
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 54
+ },
+ "end": {
+ "line": 227,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "range": [
+ 7562,
+ 7571
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 52
+ },
+ "end": {
+ "line": 227,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 7522,
+ 7571
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 12
+ },
+ "end": {
+ "line": 227,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 7514,
+ 7571
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 4
+ },
+ "end": {
+ "line": 227,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 7514,
+ 7572
+ ],
+ "loc": {
+ "start": {
+ "line": 227,
+ "column": 4
+ },
+ "end": {
+ "line": 227,
+ "column": 62
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 7581,
+ 7591
+ ],
+ "loc": {
+ "start": {
+ "line": 228,
+ "column": 8
+ },
+ "end": {
+ "line": 228,
+ "column": 18
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 7601,
+ 7611
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 6
+ },
+ "end": {
+ "line": 229,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 7612,
+ 7618
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 17
+ },
+ "end": {
+ "line": 229,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 7601,
+ 7618
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 6
+ },
+ "end": {
+ "line": 229,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7621,
+ 7626
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 26
+ },
+ "end": {
+ "line": 229,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 7601,
+ 7626
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 6
+ },
+ "end": {
+ "line": 229,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 7601,
+ 7627
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 6
+ },
+ "end": {
+ "line": 229,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7634,
+ 7639
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 6
+ },
+ "end": {
+ "line": 230,
+ "column": 11
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 7640,
+ 7647
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 12
+ },
+ "end": {
+ "line": 230,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 7634,
+ 7647
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 6
+ },
+ "end": {
+ "line": 230,
+ "column": 19
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 7648,
+ 7652
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 20
+ },
+ "end": {
+ "line": 230,
+ "column": 24
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 7671,
+ 7675
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 13
+ },
+ "end": {
+ "line": 231,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 7676,
+ 7682
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 18
+ },
+ "end": {
+ "line": 231,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 7671,
+ 7682
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 13
+ },
+ "end": {
+ "line": 231,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 7683,
+ 7687
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 25
+ },
+ "end": {
+ "line": 231,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 7671,
+ 7688
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 13
+ },
+ "end": {
+ "line": 231,
+ "column": 30
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 7670,
+ 7688
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 12
+ },
+ "end": {
+ "line": 231,
+ "column": 30
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 7702,
+ 7706
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 10
+ },
+ "end": {
+ "line": 232,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 7707,
+ 7713
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 15
+ },
+ "end": {
+ "line": 232,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 7702,
+ 7713
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 10
+ },
+ "end": {
+ "line": 232,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 7714,
+ 7718
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 22
+ },
+ "end": {
+ "line": 232,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 7702,
+ 7719
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 10
+ },
+ "end": {
+ "line": 232,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 7722,
+ 7732
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 30
+ },
+ "end": {
+ "line": 232,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 7702,
+ 7732
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 10
+ },
+ "end": {
+ "line": 232,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 7702,
+ 7733
+ ],
+ "loc": {
+ "start": {
+ "line": 232,
+ "column": 10
+ },
+ "end": {
+ "line": 232,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 7690,
+ 7743
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 32
+ },
+ "end": {
+ "line": 233,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 7771,
+ 7776
+ ],
+ "loc": {
+ "start": {
+ "line": 234,
+ "column": 20
+ },
+ "end": {
+ "line": 234,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The type '",
+ "cooked": "The type '"
+ },
+ "tail": false,
+ "range": [
+ 7777,
+ 7790
+ ],
+ "loc": {
+ "start": {
+ "line": 234,
+ "column": 26
+ },
+ "end": {
+ "line": 234,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' has already been defined.",
+ "cooked": "' has already been defined."
+ },
+ "tail": true,
+ "range": [
+ 7794,
+ 7823
+ ],
+ "loc": {
+ "start": {
+ "line": 234,
+ "column": 43
+ },
+ "end": {
+ "line": 234,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 7790,
+ 7794
+ ],
+ "loc": {
+ "start": {
+ "line": 234,
+ "column": 39
+ },
+ "end": {
+ "line": 234,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 7777,
+ 7823
+ ],
+ "loc": {
+ "start": {
+ "line": 234,
+ "column": 26
+ },
+ "end": {
+ "line": 234,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "range": [
+ 7767,
+ 7824
+ ],
+ "loc": {
+ "start": {
+ "line": 234,
+ "column": 16
+ },
+ "end": {
+ "line": 234,
+ "column": 73
+ }
+ }
+ },
+ "range": [
+ 7761,
+ 7825
+ ],
+ "loc": {
+ "start": {
+ "line": 234,
+ "column": 10
+ },
+ "end": {
+ "line": 234,
+ "column": 74
+ }
+ }
+ }
+ ],
+ "range": [
+ 7749,
+ 7835
+ ],
+ "loc": {
+ "start": {
+ "line": 233,
+ "column": 15
+ },
+ "end": {
+ "line": 235,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 7666,
+ 7835
+ ],
+ "loc": {
+ "start": {
+ "line": 231,
+ "column": 8
+ },
+ "end": {
+ "line": 235,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 7656,
+ 7843
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 28
+ },
+ "end": {
+ "line": 236,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 7648,
+ 7843
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 20
+ },
+ "end": {
+ "line": 236,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 7634,
+ 7844
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 6
+ },
+ "end": {
+ "line": 236,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 7634,
+ 7845
+ ],
+ "loc": {
+ "start": {
+ "line": 230,
+ "column": 6
+ },
+ "end": {
+ "line": 236,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 7593,
+ 7851
+ ],
+ "loc": {
+ "start": {
+ "line": 228,
+ "column": 20
+ },
+ "end": {
+ "line": 237,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 7875,
+ 7880
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 16
+ },
+ "end": {
+ "line": 238,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide a definition for the type '",
+ "cooked": "You must provide a definition for the type '"
+ },
+ "tail": false,
+ "range": [
+ 7881,
+ 7928
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 22
+ },
+ "end": {
+ "line": 238,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'.",
+ "cooked": "'."
+ },
+ "tail": true,
+ "range": [
+ 7936,
+ 7940
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 77
+ },
+ "end": {
+ "line": 238,
+ "column": 81
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 7928,
+ 7933
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 69
+ },
+ "end": {
+ "line": 238,
+ "column": 74
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 7934,
+ 7935
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 75
+ },
+ "end": {
+ "line": 238,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 7928,
+ 7936
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 69
+ },
+ "end": {
+ "line": 238,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 7881,
+ 7940
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 22
+ },
+ "end": {
+ "line": 238,
+ "column": 81
+ }
+ }
+ }
+ ],
+ "range": [
+ 7871,
+ 7941
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 12
+ },
+ "end": {
+ "line": 238,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 7865,
+ 7942
+ ],
+ "loc": {
+ "start": {
+ "line": 238,
+ "column": 6
+ },
+ "end": {
+ "line": 238,
+ "column": 83
+ }
+ }
+ }
+ ],
+ "range": [
+ 7857,
+ 7948
+ ],
+ "loc": {
+ "start": {
+ "line": 237,
+ "column": 11
+ },
+ "end": {
+ "line": 239,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 7577,
+ 7948
+ ],
+ "loc": {
+ "start": {
+ "line": 228,
+ "column": 4
+ },
+ "end": {
+ "line": 239,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 7508,
+ 7952
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 28
+ },
+ "end": {
+ "line": 240,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 7488,
+ 7952
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 8
+ },
+ "end": {
+ "line": 240,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 7482,
+ 7952
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 2
+ },
+ "end": {
+ "line": 240,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 7252,
+ 7479
+ ],
+ "loc": {
+ "start": {
+ "line": 218,
+ "column": 2
+ },
+ "end": {
+ "line": 225,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n ",
+ "range": [
+ 7956,
+ 8575
+ ],
+ "loc": {
+ "start": {
+ "line": 242,
+ "column": 2
+ },
+ "end": {
+ "line": 260,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 8578,
+ 8585
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 2
+ },
+ "end": {
+ "line": 261,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 8586,
+ 8590
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 10
+ },
+ "end": {
+ "line": 261,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 8592,
+ 8594
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 16
+ },
+ "end": {
+ "line": 261,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 8596,
+ 8603
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 20
+ },
+ "end": {
+ "line": 261,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 8605,
+ 8610
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 29
+ },
+ "end": {
+ "line": 261,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 8612,
+ 8619
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 36
+ },
+ "end": {
+ "line": 261,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 8631,
+ 8635
+ ],
+ "loc": {
+ "start": {
+ "line": 262,
+ "column": 8
+ },
+ "end": {
+ "line": 262,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 8636,
+ 8644
+ ],
+ "loc": {
+ "start": {
+ "line": 262,
+ "column": 13
+ },
+ "end": {
+ "line": 262,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 8631,
+ 8644
+ ],
+ "loc": {
+ "start": {
+ "line": 262,
+ "column": 8
+ },
+ "end": {
+ "line": 262,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 8654,
+ 8658
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 6
+ },
+ "end": {
+ "line": 263,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 8659,
+ 8667
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 11
+ },
+ "end": {
+ "line": 263,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 8654,
+ 8667
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 6
+ },
+ "end": {
+ "line": 263,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 8668,
+ 8675
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 20
+ },
+ "end": {
+ "line": 263,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 8654,
+ 8675
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 6
+ },
+ "end": {
+ "line": 263,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 8676,
+ 8680
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 28
+ },
+ "end": {
+ "line": 263,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 8682,
+ 8686
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 34
+ },
+ "end": {
+ "line": 263,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 8688,
+ 8690
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 40
+ },
+ "end": {
+ "line": 263,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 8692,
+ 8699
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 44
+ },
+ "end": {
+ "line": 263,
+ "column": 51
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 8701,
+ 8706
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 53
+ },
+ "end": {
+ "line": 263,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 8708,
+ 8715
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 60
+ },
+ "end": {
+ "line": 263,
+ "column": 67
+ }
+ }
+ }
+ ],
+ "range": [
+ 8654,
+ 8716
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 6
+ },
+ "end": {
+ "line": 263,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 8654,
+ 8717
+ ],
+ "loc": {
+ "start": {
+ "line": 263,
+ "column": 6
+ },
+ "end": {
+ "line": 263,
+ "column": 69
+ }
+ }
+ }
+ ],
+ "range": [
+ 8646,
+ 8723
+ ],
+ "loc": {
+ "start": {
+ "line": 262,
+ "column": 23
+ },
+ "end": {
+ "line": 264,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 8747,
+ 8752
+ ],
+ "loc": {
+ "start": {
+ "line": 265,
+ "column": 16
+ },
+ "end": {
+ "line": 265,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 8753,
+ 8849
+ ],
+ "loc": {
+ "start": {
+ "line": 265,
+ "column": 22
+ },
+ "end": {
+ "line": 265,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 8743,
+ 8850
+ ],
+ "loc": {
+ "start": {
+ "line": 265,
+ "column": 12
+ },
+ "end": {
+ "line": 265,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 8737,
+ 8851
+ ],
+ "loc": {
+ "start": {
+ "line": 265,
+ "column": 6
+ },
+ "end": {
+ "line": 265,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 8729,
+ 8857
+ ],
+ "loc": {
+ "start": {
+ "line": 264,
+ "column": 11
+ },
+ "end": {
+ "line": 266,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 8627,
+ 8857
+ ],
+ "loc": {
+ "start": {
+ "line": 262,
+ "column": 4
+ },
+ "end": {
+ "line": 266,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 8621,
+ 8861
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 45
+ },
+ "end": {
+ "line": 267,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 8585,
+ 8861
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 9
+ },
+ "end": {
+ "line": 267,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 8578,
+ 8861
+ ],
+ "loc": {
+ "start": {
+ "line": 261,
+ "column": 2
+ },
+ "end": {
+ "line": 267,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n ",
+ "range": [
+ 7956,
+ 8575
+ ],
+ "loc": {
+ "start": {
+ "line": 242,
+ "column": 2
+ },
+ "end": {
+ "line": 260,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n ",
+ "range": [
+ 8865,
+ 9375
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 2
+ },
+ "end": {
+ "line": 280,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 9378,
+ 9382
+ ],
+ "loc": {
+ "start": {
+ "line": 281,
+ "column": 2
+ },
+ "end": {
+ "line": 281,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9383,
+ 9387
+ ],
+ "loc": {
+ "start": {
+ "line": 281,
+ "column": 7
+ },
+ "end": {
+ "line": 281,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9389,
+ 9391
+ ],
+ "loc": {
+ "start": {
+ "line": 281,
+ "column": 13
+ },
+ "end": {
+ "line": 281,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9403,
+ 9407
+ ],
+ "loc": {
+ "start": {
+ "line": 282,
+ "column": 8
+ },
+ "end": {
+ "line": 282,
+ "column": 12
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 9421,
+ 9431
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 10
+ },
+ "end": {
+ "line": 283,
+ "column": 20
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9434,
+ 9438
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 23
+ },
+ "end": {
+ "line": 283,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 9439,
+ 9445
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 28
+ },
+ "end": {
+ "line": 283,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 9434,
+ 9445
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 23
+ },
+ "end": {
+ "line": 283,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9446,
+ 9450
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 35
+ },
+ "end": {
+ "line": 283,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 9434,
+ 9451
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 23
+ },
+ "end": {
+ "line": 283,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 9421,
+ 9451
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 10
+ },
+ "end": {
+ "line": 283,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 9417,
+ 9452
+ ],
+ "loc": {
+ "start": {
+ "line": 283,
+ "column": 6
+ },
+ "end": {
+ "line": 283,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 9463,
+ 9473
+ ],
+ "loc": {
+ "start": {
+ "line": 284,
+ "column": 10
+ },
+ "end": {
+ "line": 284,
+ "column": 20
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9490,
+ 9494
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 13
+ },
+ "end": {
+ "line": 285,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 9495,
+ 9500
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 18
+ },
+ "end": {
+ "line": 285,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 9490,
+ 9500
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 13
+ },
+ "end": {
+ "line": 285,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9501,
+ 9505
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 24
+ },
+ "end": {
+ "line": 285,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 9490,
+ 9506
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 13
+ },
+ "end": {
+ "line": 285,
+ "column": 29
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 9489,
+ 9506
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 12
+ },
+ "end": {
+ "line": 285,
+ "column": 29
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "collection",
+ "range": [
+ 9524,
+ 9534
+ ],
+ "loc": {
+ "start": {
+ "line": 286,
+ "column": 14
+ },
+ "end": {
+ "line": 286,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 9537,
+ 9539
+ ],
+ "loc": {
+ "start": {
+ "line": 286,
+ "column": 27
+ },
+ "end": {
+ "line": 286,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 9524,
+ 9539
+ ],
+ "loc": {
+ "start": {
+ "line": 286,
+ "column": 14
+ },
+ "end": {
+ "line": 286,
+ "column": 29
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 9520,
+ 9540
+ ],
+ "loc": {
+ "start": {
+ "line": 286,
+ "column": 10
+ },
+ "end": {
+ "line": 286,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 9551,
+ 9561
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 10
+ },
+ "end": {
+ "line": 287,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 9562,
+ 9568
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 21
+ },
+ "end": {
+ "line": 287,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 9551,
+ 9568
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 10
+ },
+ "end": {
+ "line": 287,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 9569,
+ 9576
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 28
+ },
+ "end": {
+ "line": 287,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 9551,
+ 9576
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 10
+ },
+ "end": {
+ "line": 287,
+ "column": 35
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "t",
+ "range": [
+ 9577,
+ 9578
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 36
+ },
+ "end": {
+ "line": 287,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9582,
+ 9586
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 41
+ },
+ "end": {
+ "line": 287,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 9587,
+ 9592
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 46
+ },
+ "end": {
+ "line": 287,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 9582,
+ 9592
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 41
+ },
+ "end": {
+ "line": 287,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "t",
+ "range": [
+ 9593,
+ 9594
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 52
+ },
+ "end": {
+ "line": 287,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 9582,
+ 9595
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 41
+ },
+ "end": {
+ "line": 287,
+ "column": 54
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "collection",
+ "range": [
+ 9598,
+ 9608
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 57
+ },
+ "end": {
+ "line": 287,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 9582,
+ 9608
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 41
+ },
+ "end": {
+ "line": 287,
+ "column": 67
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 9577,
+ 9608
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 36
+ },
+ "end": {
+ "line": 287,
+ "column": 67
+ }
+ }
+ }
+ ],
+ "range": [
+ 9551,
+ 9609
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 10
+ },
+ "end": {
+ "line": 287,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 9551,
+ 9610
+ ],
+ "loc": {
+ "start": {
+ "line": 287,
+ "column": 10
+ },
+ "end": {
+ "line": 287,
+ "column": 69
+ }
+ }
+ }
+ ],
+ "range": [
+ 9508,
+ 9620
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 31
+ },
+ "end": {
+ "line": 288,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 9485,
+ 9620
+ ],
+ "loc": {
+ "start": {
+ "line": 285,
+ "column": 8
+ },
+ "end": {
+ "line": 288,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9633,
+ 9635
+ ],
+ "loc": {
+ "start": {
+ "line": 289,
+ "column": 12
+ },
+ "end": {
+ "line": 289,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9654,
+ 9658
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 15
+ },
+ "end": {
+ "line": 290,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 9659,
+ 9664
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 20
+ },
+ "end": {
+ "line": 290,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 9654,
+ 9664
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 15
+ },
+ "end": {
+ "line": 290,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9665,
+ 9669
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 26
+ },
+ "end": {
+ "line": 290,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 9654,
+ 9670
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 15
+ },
+ "end": {
+ "line": 290,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9671,
+ 9673
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 32
+ },
+ "end": {
+ "line": 290,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 9654,
+ 9674
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 15
+ },
+ "end": {
+ "line": 290,
+ "column": 35
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 9653,
+ 9674
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 14
+ },
+ "end": {
+ "line": 290,
+ "column": 35
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9690,
+ 9694
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 12
+ },
+ "end": {
+ "line": 291,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 9695,
+ 9700
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 17
+ },
+ "end": {
+ "line": 291,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 9690,
+ 9700
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 12
+ },
+ "end": {
+ "line": 291,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9701,
+ 9705
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 23
+ },
+ "end": {
+ "line": 291,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 9690,
+ 9706
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 12
+ },
+ "end": {
+ "line": 291,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9707,
+ 9709
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 29
+ },
+ "end": {
+ "line": 291,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 9690,
+ 9710
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 12
+ },
+ "end": {
+ "line": 291,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 9729,
+ 9740
+ ],
+ "loc": {
+ "start": {
+ "line": 292,
+ "column": 14
+ },
+ "end": {
+ "line": 292,
+ "column": 25
+ }
+ }
+ },
+ "value": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 9742,
+ 9744
+ ],
+ "loc": {
+ "start": {
+ "line": 292,
+ "column": 27
+ },
+ "end": {
+ "line": 292,
+ "column": 29
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 9729,
+ 9744
+ ],
+ "loc": {
+ "start": {
+ "line": 292,
+ "column": 14
+ },
+ "end": {
+ "line": 292,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9760,
+ 9764
+ ],
+ "loc": {
+ "start": {
+ "line": 293,
+ "column": 14
+ },
+ "end": {
+ "line": 293,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9766,
+ 9770
+ ],
+ "loc": {
+ "start": {
+ "line": 293,
+ "column": 20
+ },
+ "end": {
+ "line": 293,
+ "column": 24
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 9760,
+ 9770
+ ],
+ "loc": {
+ "start": {
+ "line": 293,
+ "column": 14
+ },
+ "end": {
+ "line": 293,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9786,
+ 9788
+ ],
+ "loc": {
+ "start": {
+ "line": 294,
+ "column": 14
+ },
+ "end": {
+ "line": 294,
+ "column": 16
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9790,
+ 9792
+ ],
+ "loc": {
+ "start": {
+ "line": 294,
+ "column": 18
+ },
+ "end": {
+ "line": 294,
+ "column": 20
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 9786,
+ 9792
+ ],
+ "loc": {
+ "start": {
+ "line": 294,
+ "column": 14
+ },
+ "end": {
+ "line": 294,
+ "column": 20
+ }
+ }
+ }
+ ],
+ "range": [
+ 9713,
+ 9806
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 35
+ },
+ "end": {
+ "line": 295,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 9690,
+ 9806
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 12
+ },
+ "end": {
+ "line": 295,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 9690,
+ 9807
+ ],
+ "loc": {
+ "start": {
+ "line": 291,
+ "column": 12
+ },
+ "end": {
+ "line": 295,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 9820,
+ 9826
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 12
+ },
+ "end": {
+ "line": 296,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 9827,
+ 9831
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 19
+ },
+ "end": {
+ "line": 296,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 9820,
+ 9831
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 12
+ },
+ "end": {
+ "line": 296,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 9832,
+ 9842
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 24
+ },
+ "end": {
+ "line": 296,
+ "column": 34
+ }
+ }
+ }
+ ],
+ "range": [
+ 9820,
+ 9843
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 12
+ },
+ "end": {
+ "line": 296,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 9844,
+ 9851
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 36
+ },
+ "end": {
+ "line": 296,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 9820,
+ 9851
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 12
+ },
+ "end": {
+ "line": 296,
+ "column": 43
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 9852,
+ 9855
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 44
+ },
+ "end": {
+ "line": 296,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 9879,
+ 9882
+ ],
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 18
+ },
+ "end": {
+ "line": 297,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 9883,
+ 9884
+ ],
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 22
+ },
+ "end": {
+ "line": 297,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 9879,
+ 9885
+ ],
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 18
+ },
+ "end": {
+ "line": 297,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "_",
+ "raw": "\"_\"",
+ "range": [
+ 9890,
+ 9893
+ ],
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 29
+ },
+ "end": {
+ "line": 297,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 9879,
+ 9893
+ ],
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 18
+ },
+ "end": {
+ "line": 297,
+ "column": 32
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9913,
+ 9917
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 16
+ },
+ "end": {
+ "line": 298,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 9918,
+ 9923
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 21
+ },
+ "end": {
+ "line": 298,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 9913,
+ 9923
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 16
+ },
+ "end": {
+ "line": 298,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9924,
+ 9928
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 27
+ },
+ "end": {
+ "line": 298,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 9913,
+ 9929
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 16
+ },
+ "end": {
+ "line": 298,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9930,
+ 9932
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 33
+ },
+ "end": {
+ "line": 298,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 9913,
+ 9933
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 16
+ },
+ "end": {
+ "line": 298,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 9934,
+ 9937
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 37
+ },
+ "end": {
+ "line": 298,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 9913,
+ 9938
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 16
+ },
+ "end": {
+ "line": 298,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 9941,
+ 9951
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 44
+ },
+ "end": {
+ "line": 298,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 9952,
+ 9955
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 55
+ },
+ "end": {
+ "line": 298,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 9941,
+ 9956
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 44
+ },
+ "end": {
+ "line": 298,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 9957,
+ 9964
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 60
+ },
+ "end": {
+ "line": 298,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 9941,
+ 9964
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 44
+ },
+ "end": {
+ "line": 298,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 9913,
+ 9964
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 16
+ },
+ "end": {
+ "line": 298,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 9913,
+ 9965
+ ],
+ "loc": {
+ "start": {
+ "line": 298,
+ "column": 16
+ },
+ "end": {
+ "line": 298,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 9895,
+ 9981
+ ],
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 34
+ },
+ "end": {
+ "line": 299,
+ "column": 15
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 9875,
+ 9981
+ ],
+ "loc": {
+ "start": {
+ "line": 297,
+ "column": 14
+ },
+ "end": {
+ "line": 299,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 9859,
+ 9995
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 51
+ },
+ "end": {
+ "line": 300,
+ "column": 13
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 9852,
+ 9995
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 44
+ },
+ "end": {
+ "line": 300,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 9820,
+ 9996
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 12
+ },
+ "end": {
+ "line": 300,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 9820,
+ 9997
+ ],
+ "loc": {
+ "start": {
+ "line": 296,
+ "column": 12
+ },
+ "end": {
+ "line": 300,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 9676,
+ 10009
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 37
+ },
+ "end": {
+ "line": 301,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 9649,
+ 10009
+ ],
+ "loc": {
+ "start": {
+ "line": 290,
+ "column": 10
+ },
+ "end": {
+ "line": 301,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10027,
+ 10031
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 17
+ },
+ "end": {
+ "line": 302,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10032,
+ 10037
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 22
+ },
+ "end": {
+ "line": 302,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 10027,
+ 10037
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 17
+ },
+ "end": {
+ "line": 302,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10038,
+ 10042
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 28
+ },
+ "end": {
+ "line": 302,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 10027,
+ 10043
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 17
+ },
+ "end": {
+ "line": 302,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10044,
+ 10046
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 34
+ },
+ "end": {
+ "line": 302,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 10027,
+ 10047
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 17
+ },
+ "end": {
+ "line": 302,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 10020,
+ 10048
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 10
+ },
+ "end": {
+ "line": 302,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 9637,
+ 10058
+ ],
+ "loc": {
+ "start": {
+ "line": 289,
+ "column": 16
+ },
+ "end": {
+ "line": 303,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 10083,
+ 10089
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 17
+ },
+ "end": {
+ "line": 304,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 10090,
+ 10094
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 24
+ },
+ "end": {
+ "line": 304,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 10083,
+ 10094
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 17
+ },
+ "end": {
+ "line": 304,
+ "column": 28
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10095,
+ 10099
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 29
+ },
+ "end": {
+ "line": 304,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10100,
+ 10105
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 34
+ },
+ "end": {
+ "line": 304,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 10095,
+ 10105
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 29
+ },
+ "end": {
+ "line": 304,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10106,
+ 10110
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 40
+ },
+ "end": {
+ "line": 304,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 10095,
+ 10111
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 29
+ },
+ "end": {
+ "line": 304,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 10083,
+ 10112
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 17
+ },
+ "end": {
+ "line": 304,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 10113,
+ 10116
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 47
+ },
+ "end": {
+ "line": 304,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 10083,
+ 10116
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 17
+ },
+ "end": {
+ "line": 304,
+ "column": 50
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 10117,
+ 10118
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 51
+ },
+ "end": {
+ "line": 304,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10122,
+ 10126
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 56
+ },
+ "end": {
+ "line": 304,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10127,
+ 10132
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 61
+ },
+ "end": {
+ "line": 304,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 10122,
+ 10132
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 56
+ },
+ "end": {
+ "line": 304,
+ "column": 66
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10133,
+ 10137
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 67
+ },
+ "end": {
+ "line": 304,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 10122,
+ 10138
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 56
+ },
+ "end": {
+ "line": 304,
+ "column": 72
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 10139,
+ 10140
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 73
+ },
+ "end": {
+ "line": 304,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 10122,
+ 10141
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 56
+ },
+ "end": {
+ "line": 304,
+ "column": 75
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 10117,
+ 10141
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 51
+ },
+ "end": {
+ "line": 304,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 10083,
+ 10142
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 17
+ },
+ "end": {
+ "line": 304,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 10076,
+ 10143
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 10
+ },
+ "end": {
+ "line": 304,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 10064,
+ 10153
+ ],
+ "loc": {
+ "start": {
+ "line": 303,
+ "column": 15
+ },
+ "end": {
+ "line": 305,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 9629,
+ 10153
+ ],
+ "loc": {
+ "start": {
+ "line": 289,
+ "column": 8
+ },
+ "end": {
+ "line": 305,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 9475,
+ 10161
+ ],
+ "loc": {
+ "start": {
+ "line": 284,
+ "column": 22
+ },
+ "end": {
+ "line": 306,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 10187,
+ 10196
+ ],
+ "loc": {
+ "start": {
+ "line": 307,
+ "column": 18
+ },
+ "end": {
+ "line": 307,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 10197,
+ 10214
+ ],
+ "loc": {
+ "start": {
+ "line": 307,
+ "column": 28
+ },
+ "end": {
+ "line": 307,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 10218,
+ 10221
+ ],
+ "loc": {
+ "start": {
+ "line": 307,
+ "column": 49
+ },
+ "end": {
+ "line": 307,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10214,
+ 10218
+ ],
+ "loc": {
+ "start": {
+ "line": 307,
+ "column": 45
+ },
+ "end": {
+ "line": 307,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "range": [
+ 10197,
+ 10221
+ ],
+ "loc": {
+ "start": {
+ "line": 307,
+ "column": 28
+ },
+ "end": {
+ "line": 307,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "range": [
+ 10183,
+ 10222
+ ],
+ "loc": {
+ "start": {
+ "line": 307,
+ "column": 14
+ },
+ "end": {
+ "line": 307,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 10177,
+ 10223
+ ],
+ "loc": {
+ "start": {
+ "line": 307,
+ "column": 8
+ },
+ "end": {
+ "line": 307,
+ "column": 54
+ }
+ }
+ }
+ ],
+ "range": [
+ 10167,
+ 10231
+ ],
+ "loc": {
+ "start": {
+ "line": 306,
+ "column": 13
+ },
+ "end": {
+ "line": 308,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 9459,
+ 10231
+ ],
+ "loc": {
+ "start": {
+ "line": 284,
+ "column": 6
+ },
+ "end": {
+ "line": 308,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 9409,
+ 10237
+ ],
+ "loc": {
+ "start": {
+ "line": 282,
+ "column": 14
+ },
+ "end": {
+ "line": 309,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 10261,
+ 10270
+ ],
+ "loc": {
+ "start": {
+ "line": 310,
+ "column": 16
+ },
+ "end": {
+ "line": 310,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide a type",
+ "cooked": "You must provide a type"
+ },
+ "tail": true,
+ "range": [
+ 10271,
+ 10296
+ ],
+ "loc": {
+ "start": {
+ "line": 310,
+ "column": 26
+ },
+ "end": {
+ "line": 310,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 10271,
+ 10296
+ ],
+ "loc": {
+ "start": {
+ "line": 310,
+ "column": 26
+ },
+ "end": {
+ "line": 310,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "range": [
+ 10257,
+ 10297
+ ],
+ "loc": {
+ "start": {
+ "line": 310,
+ "column": 12
+ },
+ "end": {
+ "line": 310,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 10251,
+ 10298
+ ],
+ "loc": {
+ "start": {
+ "line": 310,
+ "column": 6
+ },
+ "end": {
+ "line": 310,
+ "column": 53
+ }
+ }
+ }
+ ],
+ "range": [
+ 10243,
+ 10304
+ ],
+ "loc": {
+ "start": {
+ "line": 309,
+ "column": 11
+ },
+ "end": {
+ "line": 311,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 9399,
+ 10304
+ ],
+ "loc": {
+ "start": {
+ "line": 282,
+ "column": 4
+ },
+ "end": {
+ "line": 311,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 9393,
+ 10308
+ ],
+ "loc": {
+ "start": {
+ "line": 281,
+ "column": 17
+ },
+ "end": {
+ "line": 312,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 9382,
+ 10308
+ ],
+ "loc": {
+ "start": {
+ "line": 281,
+ "column": 6
+ },
+ "end": {
+ "line": 312,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 9378,
+ 10308
+ ],
+ "loc": {
+ "start": {
+ "line": 281,
+ "column": 2
+ },
+ "end": {
+ "line": 312,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n ",
+ "range": [
+ 8865,
+ 9375
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 2
+ },
+ "end": {
+ "line": 280,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 10312,
+ 11058
+ ],
+ "loc": {
+ "start": {
+ "line": 314,
+ "column": 2
+ },
+ "end": {
+ "line": 333,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 11061,
+ 11065
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 2
+ },
+ "end": {
+ "line": 334,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11066,
+ 11070
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 7
+ },
+ "end": {
+ "line": 334,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 11072,
+ 11074
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 13
+ },
+ "end": {
+ "line": 334,
+ "column": 15
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 11076,
+ 11083
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 17
+ },
+ "end": {
+ "line": 334,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 11085,
+ 11092
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 26
+ },
+ "end": {
+ "line": 334,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 11094,
+ 11099
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 35
+ },
+ "end": {
+ "line": 334,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 11101,
+ 11108
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 42
+ },
+ "end": {
+ "line": 334,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11120,
+ 11124
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 8
+ },
+ "end": {
+ "line": 335,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 11125,
+ 11133
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 13
+ },
+ "end": {
+ "line": 335,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 11120,
+ 11133
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 8
+ },
+ "end": {
+ "line": 335,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11143,
+ 11147
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 6
+ },
+ "end": {
+ "line": 336,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 11148,
+ 11156
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 11
+ },
+ "end": {
+ "line": 336,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 11143,
+ 11156
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 6
+ },
+ "end": {
+ "line": 336,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 11157,
+ 11161
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 20
+ },
+ "end": {
+ "line": 336,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 11143,
+ 11161
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 6
+ },
+ "end": {
+ "line": 336,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 11162,
+ 11166
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 25
+ },
+ "end": {
+ "line": 336,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11168,
+ 11172
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 31
+ },
+ "end": {
+ "line": 336,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 11174,
+ 11176
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 37
+ },
+ "end": {
+ "line": 336,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 11178,
+ 11185
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 41
+ },
+ "end": {
+ "line": 336,
+ "column": 48
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 11187,
+ 11194
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 50
+ },
+ "end": {
+ "line": 336,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 11196,
+ 11201
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 59
+ },
+ "end": {
+ "line": 336,
+ "column": 64
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 11203,
+ 11210
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 66
+ },
+ "end": {
+ "line": 336,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 11143,
+ 11211
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 6
+ },
+ "end": {
+ "line": 336,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 11143,
+ 11212
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 6
+ },
+ "end": {
+ "line": 336,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 11135,
+ 11218
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 23
+ },
+ "end": {
+ "line": 337,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 11242,
+ 11247
+ ],
+ "loc": {
+ "start": {
+ "line": 338,
+ "column": 16
+ },
+ "end": {
+ "line": 338,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 11248,
+ 11344
+ ],
+ "loc": {
+ "start": {
+ "line": 338,
+ "column": 22
+ },
+ "end": {
+ "line": 338,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 11238,
+ 11345
+ ],
+ "loc": {
+ "start": {
+ "line": 338,
+ "column": 12
+ },
+ "end": {
+ "line": 338,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 11232,
+ 11346
+ ],
+ "loc": {
+ "start": {
+ "line": 338,
+ "column": 6
+ },
+ "end": {
+ "line": 338,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 11224,
+ 11352
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 11
+ },
+ "end": {
+ "line": 339,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 11116,
+ 11352
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 4
+ },
+ "end": {
+ "line": 339,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 11110,
+ 11356
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 51
+ },
+ "end": {
+ "line": 340,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 11065,
+ 11356
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 6
+ },
+ "end": {
+ "line": 340,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 11061,
+ 11356
+ ],
+ "loc": {
+ "start": {
+ "line": 334,
+ "column": 2
+ },
+ "end": {
+ "line": 340,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 10312,
+ 11058
+ ],
+ "loc": {
+ "start": {
+ "line": 314,
+ "column": 2
+ },
+ "end": {
+ "line": 333,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Unregister an event listener that was registered with on().\n *\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 11360,
+ 11763
+ ],
+ "loc": {
+ "start": {
+ "line": 342,
+ "column": 2
+ },
+ "end": {
+ "line": 351,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "off",
+ "range": [
+ 11766,
+ 11769
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 2
+ },
+ "end": {
+ "line": 352,
+ "column": 5
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 11770,
+ 11775
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 6
+ },
+ "end": {
+ "line": 352,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11777,
+ 11781
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 13
+ },
+ "end": {
+ "line": 352,
+ "column": 17
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 11783,
+ 11785
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 19
+ },
+ "end": {
+ "line": 352,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 11787,
+ 11795
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 23
+ },
+ "end": {
+ "line": 352,
+ "column": 31
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11807,
+ 11811
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 8
+ },
+ "end": {
+ "line": 353,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 11812,
+ 11830
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 13
+ },
+ "end": {
+ "line": 353,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 11807,
+ 11830
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 8
+ },
+ "end": {
+ "line": 353,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 11831,
+ 11836
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 32
+ },
+ "end": {
+ "line": 353,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 11807,
+ 11837
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 8
+ },
+ "end": {
+ "line": 353,
+ "column": 38
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11841,
+ 11845
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 42
+ },
+ "end": {
+ "line": 353,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 11846,
+ 11866
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 47
+ },
+ "end": {
+ "line": 353,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 11841,
+ 11866
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 42
+ },
+ "end": {
+ "line": 353,
+ "column": 67
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 11867,
+ 11872
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 68
+ },
+ "end": {
+ "line": 353,
+ "column": 73
+ }
+ }
+ },
+ "range": [
+ 11841,
+ 11873
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 42
+ },
+ "end": {
+ "line": 353,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 11807,
+ 11873
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 8
+ },
+ "end": {
+ "line": 353,
+ "column": 74
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11887,
+ 11891
+ ],
+ "loc": {
+ "start": {
+ "line": 354,
+ "column": 10
+ },
+ "end": {
+ "line": 354,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 11892,
+ 11898
+ ],
+ "loc": {
+ "start": {
+ "line": 354,
+ "column": 15
+ },
+ "end": {
+ "line": 354,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 11887,
+ 11898
+ ],
+ "loc": {
+ "start": {
+ "line": 354,
+ "column": 10
+ },
+ "end": {
+ "line": 354,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11899,
+ 11903
+ ],
+ "loc": {
+ "start": {
+ "line": 354,
+ "column": 22
+ },
+ "end": {
+ "line": 354,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 11887,
+ 11904
+ ],
+ "loc": {
+ "start": {
+ "line": 354,
+ "column": 10
+ },
+ "end": {
+ "line": 354,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 11920,
+ 11922
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 12
+ },
+ "end": {
+ "line": 355,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 11927,
+ 11929
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 19
+ },
+ "end": {
+ "line": 355,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 11931,
+ 11939
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 23
+ },
+ "end": {
+ "line": 355,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 11926,
+ 11939
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 18
+ },
+ "end": {
+ "line": 355,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 11940,
+ 11944
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 32
+ },
+ "end": {
+ "line": 355,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 11926,
+ 11944
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 18
+ },
+ "end": {
+ "line": 355,
+ "column": 36
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 11945,
+ 11947
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 37
+ },
+ "end": {
+ "line": 355,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 11926,
+ 11948
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 18
+ },
+ "end": {
+ "line": 355,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 11953,
+ 11972
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 45
+ },
+ "end": {
+ "line": 355,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 11926,
+ 11972
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 18
+ },
+ "end": {
+ "line": 355,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 11920,
+ 11972
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 12
+ },
+ "end": {
+ "line": 355,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11986,
+ 11990
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 10
+ },
+ "end": {
+ "line": 356,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "off",
+ "range": [
+ 11991,
+ 11994
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 15
+ },
+ "end": {
+ "line": 356,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 11986,
+ 11994
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 10
+ },
+ "end": {
+ "line": 356,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 11995,
+ 11999
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 19
+ },
+ "end": {
+ "line": 356,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 11986,
+ 11999
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 10
+ },
+ "end": {
+ "line": 356,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 12000,
+ 12004
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 24
+ },
+ "end": {
+ "line": 356,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12006,
+ 12011
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 30
+ },
+ "end": {
+ "line": 356,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12013,
+ 12017
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 37
+ },
+ "end": {
+ "line": 356,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 12019,
+ 12023
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 43
+ },
+ "end": {
+ "line": 356,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12025,
+ 12027
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 49
+ },
+ "end": {
+ "line": 356,
+ "column": 51
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 12029,
+ 12037
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 53
+ },
+ "end": {
+ "line": 356,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "range": [
+ 11986,
+ 12038
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 10
+ },
+ "end": {
+ "line": 356,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 11986,
+ 12039
+ ],
+ "loc": {
+ "start": {
+ "line": 356,
+ "column": 10
+ },
+ "end": {
+ "line": 356,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 11974,
+ 12049
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 66
+ },
+ "end": {
+ "line": 357,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12187,
+ 12191
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 10
+ },
+ "end": {
+ "line": 359,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 12192,
+ 12198
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 15
+ },
+ "end": {
+ "line": 359,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 12187,
+ 12198
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 10
+ },
+ "end": {
+ "line": 359,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12199,
+ 12203
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 22
+ },
+ "end": {
+ "line": 359,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 12187,
+ 12204
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 10
+ },
+ "end": {
+ "line": 359,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 12205,
+ 12211
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 28
+ },
+ "end": {
+ "line": 359,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 12187,
+ 12211
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 10
+ },
+ "end": {
+ "line": 359,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 12212,
+ 12219
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 35
+ },
+ "end": {
+ "line": 359,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 12187,
+ 12219
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 10
+ },
+ "end": {
+ "line": 359,
+ "column": 42
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12220,
+ 12224
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 43
+ },
+ "end": {
+ "line": 359,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12246,
+ 12248
+ ],
+ "loc": {
+ "start": {
+ "line": 360,
+ "column": 16
+ },
+ "end": {
+ "line": 360,
+ "column": 18
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12270,
+ 12274
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 18
+ },
+ "end": {
+ "line": 361,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 12275,
+ 12293
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 23
+ },
+ "end": {
+ "line": 361,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 12270,
+ 12293
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 18
+ },
+ "end": {
+ "line": 361,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12294,
+ 12299
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 42
+ },
+ "end": {
+ "line": 361,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 12270,
+ 12300
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 18
+ },
+ "end": {
+ "line": 361,
+ "column": 48
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12301,
+ 12305
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 49
+ },
+ "end": {
+ "line": 361,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 12270,
+ 12306
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 18
+ },
+ "end": {
+ "line": 361,
+ "column": 54
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12310,
+ 12314
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 58
+ },
+ "end": {
+ "line": 361,
+ "column": 62
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 12315,
+ 12333
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 63
+ },
+ "end": {
+ "line": 361,
+ "column": 81
+ }
+ }
+ },
+ "range": [
+ 12310,
+ 12333
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 58
+ },
+ "end": {
+ "line": 361,
+ "column": 81
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12334,
+ 12339
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 82
+ },
+ "end": {
+ "line": 361,
+ "column": 87
+ }
+ }
+ },
+ "range": [
+ 12310,
+ 12340
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 58
+ },
+ "end": {
+ "line": 361,
+ "column": 88
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12341,
+ 12345
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 89
+ },
+ "end": {
+ "line": 361,
+ "column": 93
+ }
+ }
+ },
+ "range": [
+ 12310,
+ 12346
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 58
+ },
+ "end": {
+ "line": 361,
+ "column": 94
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12347,
+ 12349
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 95
+ },
+ "end": {
+ "line": 361,
+ "column": 97
+ }
+ }
+ },
+ "range": [
+ 12310,
+ 12350
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 58
+ },
+ "end": {
+ "line": 361,
+ "column": 98
+ }
+ }
+ },
+ "range": [
+ 12270,
+ 12350
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 18
+ },
+ "end": {
+ "line": 361,
+ "column": 98
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12370,
+ 12374
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 16
+ },
+ "end": {
+ "line": 362,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 12375,
+ 12393
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 21
+ },
+ "end": {
+ "line": 362,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 12370,
+ 12393
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 16
+ },
+ "end": {
+ "line": 362,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12394,
+ 12399
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 40
+ },
+ "end": {
+ "line": 362,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 12370,
+ 12400
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 16
+ },
+ "end": {
+ "line": 362,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12401,
+ 12405
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 47
+ },
+ "end": {
+ "line": 362,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 12370,
+ 12406
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 16
+ },
+ "end": {
+ "line": 362,
+ "column": 52
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12407,
+ 12409
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 53
+ },
+ "end": {
+ "line": 362,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 12370,
+ 12410
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 16
+ },
+ "end": {
+ "line": 362,
+ "column": 56
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12413,
+ 12417
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 59
+ },
+ "end": {
+ "line": 362,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 12418,
+ 12436
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 64
+ },
+ "end": {
+ "line": 362,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 12413,
+ 12436
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 59
+ },
+ "end": {
+ "line": 362,
+ "column": 82
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12437,
+ 12442
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 83
+ },
+ "end": {
+ "line": 362,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 12413,
+ 12443
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 59
+ },
+ "end": {
+ "line": 362,
+ "column": 89
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12444,
+ 12448
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 90
+ },
+ "end": {
+ "line": 362,
+ "column": 94
+ }
+ }
+ },
+ "range": [
+ 12413,
+ 12449
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 59
+ },
+ "end": {
+ "line": 362,
+ "column": 95
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12450,
+ 12452
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 96
+ },
+ "end": {
+ "line": 362,
+ "column": 98
+ }
+ }
+ },
+ "range": [
+ 12413,
+ 12453
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 59
+ },
+ "end": {
+ "line": 362,
+ "column": 99
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 12454,
+ 12460
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 100
+ },
+ "end": {
+ "line": 362,
+ "column": 106
+ }
+ }
+ },
+ "range": [
+ 12413,
+ 12460
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 59
+ },
+ "end": {
+ "line": 362,
+ "column": 106
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 12461,
+ 12462
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 107
+ },
+ "end": {
+ "line": 362,
+ "column": 108
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 12493,
+ 12494
+ ],
+ "loc": {
+ "start": {
+ "line": 363,
+ "column": 25
+ },
+ "end": {
+ "line": 363,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 12495,
+ 12496
+ ],
+ "loc": {
+ "start": {
+ "line": 363,
+ "column": 27
+ },
+ "end": {
+ "line": 363,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 12493,
+ 12497
+ ],
+ "loc": {
+ "start": {
+ "line": 363,
+ "column": 25
+ },
+ "end": {
+ "line": 363,
+ "column": 29
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 12502,
+ 12510
+ ],
+ "loc": {
+ "start": {
+ "line": 363,
+ "column": 34
+ },
+ "end": {
+ "line": 363,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 12493,
+ 12510
+ ],
+ "loc": {
+ "start": {
+ "line": 363,
+ "column": 25
+ },
+ "end": {
+ "line": 363,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 12486,
+ 12511
+ ],
+ "loc": {
+ "start": {
+ "line": 363,
+ "column": 18
+ },
+ "end": {
+ "line": 363,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 12466,
+ 12529
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 112
+ },
+ "end": {
+ "line": 364,
+ "column": 17
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 12461,
+ 12529
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 107
+ },
+ "end": {
+ "line": 364,
+ "column": 17
+ }
+ }
+ }
+ ],
+ "range": [
+ 12413,
+ 12530
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 59
+ },
+ "end": {
+ "line": 364,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 12370,
+ 12530
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 16
+ },
+ "end": {
+ "line": 364,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 12370,
+ 12531
+ ],
+ "loc": {
+ "start": {
+ "line": 362,
+ "column": 16
+ },
+ "end": {
+ "line": 364,
+ "column": 19
+ }
+ }
+ }
+ ],
+ "range": [
+ 12352,
+ 12547
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 100
+ },
+ "end": {
+ "line": 365,
+ "column": 15
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 12266,
+ 12547
+ ],
+ "loc": {
+ "start": {
+ "line": 361,
+ "column": 14
+ },
+ "end": {
+ "line": 365,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 12250,
+ 12561
+ ],
+ "loc": {
+ "start": {
+ "line": 360,
+ "column": 20
+ },
+ "end": {
+ "line": 366,
+ "column": 13
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12571,
+ 12575
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 23
+ },
+ "end": {
+ "line": 366,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 12576,
+ 12596
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 28
+ },
+ "end": {
+ "line": 366,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 12571,
+ 12596
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 23
+ },
+ "end": {
+ "line": 366,
+ "column": 48
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12597,
+ 12602
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 49
+ },
+ "end": {
+ "line": 366,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 12571,
+ 12603
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 23
+ },
+ "end": {
+ "line": 366,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12604,
+ 12608
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 56
+ },
+ "end": {
+ "line": 366,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 12571,
+ 12609
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 23
+ },
+ "end": {
+ "line": 366,
+ "column": 61
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12627,
+ 12631
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 14
+ },
+ "end": {
+ "line": 367,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 12632,
+ 12652
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 19
+ },
+ "end": {
+ "line": 367,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 12627,
+ 12652
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 14
+ },
+ "end": {
+ "line": 367,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12653,
+ 12658
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 40
+ },
+ "end": {
+ "line": 367,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 12627,
+ 12659
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 14
+ },
+ "end": {
+ "line": 367,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12660,
+ 12664
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 47
+ },
+ "end": {
+ "line": 367,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 12627,
+ 12665
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 14
+ },
+ "end": {
+ "line": 367,
+ "column": 52
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12668,
+ 12672
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 55
+ },
+ "end": {
+ "line": 367,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 12673,
+ 12693
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 60
+ },
+ "end": {
+ "line": 367,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 12668,
+ 12693
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 55
+ },
+ "end": {
+ "line": 367,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12694,
+ 12699
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 81
+ },
+ "end": {
+ "line": 367,
+ "column": 86
+ }
+ }
+ },
+ "range": [
+ 12668,
+ 12700
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 55
+ },
+ "end": {
+ "line": 367,
+ "column": 87
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12701,
+ 12705
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 88
+ },
+ "end": {
+ "line": 367,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 12668,
+ 12706
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 55
+ },
+ "end": {
+ "line": 367,
+ "column": 93
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 12707,
+ 12713
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 94
+ },
+ "end": {
+ "line": 367,
+ "column": 100
+ }
+ }
+ },
+ "range": [
+ 12668,
+ 12713
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 55
+ },
+ "end": {
+ "line": 367,
+ "column": 100
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 12714,
+ 12715
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 101
+ },
+ "end": {
+ "line": 367,
+ "column": 102
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 12744,
+ 12745
+ ],
+ "loc": {
+ "start": {
+ "line": 368,
+ "column": 23
+ },
+ "end": {
+ "line": 368,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 12746,
+ 12747
+ ],
+ "loc": {
+ "start": {
+ "line": 368,
+ "column": 25
+ },
+ "end": {
+ "line": 368,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 12744,
+ 12748
+ ],
+ "loc": {
+ "start": {
+ "line": 368,
+ "column": 23
+ },
+ "end": {
+ "line": 368,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 12753,
+ 12761
+ ],
+ "loc": {
+ "start": {
+ "line": 368,
+ "column": 32
+ },
+ "end": {
+ "line": 368,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 12744,
+ 12761
+ ],
+ "loc": {
+ "start": {
+ "line": 368,
+ "column": 23
+ },
+ "end": {
+ "line": 368,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 12737,
+ 12762
+ ],
+ "loc": {
+ "start": {
+ "line": 368,
+ "column": 16
+ },
+ "end": {
+ "line": 368,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 12719,
+ 12778
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 106
+ },
+ "end": {
+ "line": 369,
+ "column": 15
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 12714,
+ 12778
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 101
+ },
+ "end": {
+ "line": 369,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 12668,
+ 12779
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 55
+ },
+ "end": {
+ "line": 369,
+ "column": 16
+ }
+ }
+ },
+ "range": [
+ 12627,
+ 12779
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 14
+ },
+ "end": {
+ "line": 369,
+ "column": 16
+ }
+ }
+ },
+ "range": [
+ 12627,
+ 12780
+ ],
+ "loc": {
+ "start": {
+ "line": 367,
+ "column": 14
+ },
+ "end": {
+ "line": 369,
+ "column": 17
+ }
+ }
+ }
+ ],
+ "range": [
+ 12611,
+ 12794
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 63
+ },
+ "end": {
+ "line": 370,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 12567,
+ 12794
+ ],
+ "loc": {
+ "start": {
+ "line": 366,
+ "column": 19
+ },
+ "end": {
+ "line": 370,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 12242,
+ 12794
+ ],
+ "loc": {
+ "start": {
+ "line": 360,
+ "column": 12
+ },
+ "end": {
+ "line": 370,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 12228,
+ 12806
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 51
+ },
+ "end": {
+ "line": 371,
+ "column": 11
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 12220,
+ 12806
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 43
+ },
+ "end": {
+ "line": 371,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 12187,
+ 12807
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 10
+ },
+ "end": {
+ "line": 371,
+ "column": 12
+ }
+ }
+ },
+ "range": [
+ 12187,
+ 12808
+ ],
+ "loc": {
+ "start": {
+ "line": 359,
+ "column": 10
+ },
+ "end": {
+ "line": 371,
+ "column": 13
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Line",
+ "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
+ "range": [
+ 12067,
+ 12176
+ ],
+ "loc": {
+ "start": {
+ "line": 358,
+ "column": 10
+ },
+ "end": {
+ "line": 358,
+ "column": 119
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "range": [
+ 12055,
+ 12818
+ ],
+ "loc": {
+ "start": {
+ "line": 357,
+ "column": 15
+ },
+ "end": {
+ "line": 372,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 11916,
+ 12818
+ ],
+ "loc": {
+ "start": {
+ "line": 355,
+ "column": 8
+ },
+ "end": {
+ "line": 372,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 11906,
+ 12826
+ ],
+ "loc": {
+ "start": {
+ "line": 354,
+ "column": 29
+ },
+ "end": {
+ "line": 373,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 12852,
+ 12857
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 18
+ },
+ "end": {
+ "line": 374,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 12858,
+ 12875
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 24
+ },
+ "end": {
+ "line": 374,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 12879,
+ 12882
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 45
+ },
+ "end": {
+ "line": 374,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12875,
+ 12879
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 41
+ },
+ "end": {
+ "line": 374,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 12858,
+ 12882
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 24
+ },
+ "end": {
+ "line": 374,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 12848,
+ 12883
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 14
+ },
+ "end": {
+ "line": 374,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 12842,
+ 12884
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 8
+ },
+ "end": {
+ "line": 374,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 12832,
+ 12892
+ ],
+ "loc": {
+ "start": {
+ "line": 373,
+ "column": 13
+ },
+ "end": {
+ "line": 375,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 11883,
+ 12892
+ ],
+ "loc": {
+ "start": {
+ "line": 354,
+ "column": 6
+ },
+ "end": {
+ "line": 375,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 11875,
+ 12898
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 76
+ },
+ "end": {
+ "line": 376,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 12922,
+ 12927
+ ],
+ "loc": {
+ "start": {
+ "line": 377,
+ "column": 16
+ },
+ "end": {
+ "line": 377,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown event '",
+ "cooked": "Unknown event '"
+ },
+ "tail": false,
+ "range": [
+ 12928,
+ 12946
+ ],
+ "loc": {
+ "start": {
+ "line": 377,
+ "column": 22
+ },
+ "end": {
+ "line": 377,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 12951,
+ 12954
+ ],
+ "loc": {
+ "start": {
+ "line": 377,
+ "column": 45
+ },
+ "end": {
+ "line": 377,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12946,
+ 12951
+ ],
+ "loc": {
+ "start": {
+ "line": 377,
+ "column": 40
+ },
+ "end": {
+ "line": 377,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 12928,
+ 12954
+ ],
+ "loc": {
+ "start": {
+ "line": 377,
+ "column": 22
+ },
+ "end": {
+ "line": 377,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 12918,
+ 12955
+ ],
+ "loc": {
+ "start": {
+ "line": 377,
+ "column": 12
+ },
+ "end": {
+ "line": 377,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 12912,
+ 12956
+ ],
+ "loc": {
+ "start": {
+ "line": 377,
+ "column": 6
+ },
+ "end": {
+ "line": 377,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 12904,
+ 12962
+ ],
+ "loc": {
+ "start": {
+ "line": 376,
+ "column": 11
+ },
+ "end": {
+ "line": 378,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 11803,
+ 12962
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 4
+ },
+ "end": {
+ "line": 378,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 11797,
+ 12966
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 33
+ },
+ "end": {
+ "line": 379,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 11769,
+ 12966
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 5
+ },
+ "end": {
+ "line": 379,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 11766,
+ 12966
+ ],
+ "loc": {
+ "start": {
+ "line": 352,
+ "column": 2
+ },
+ "end": {
+ "line": 379,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Unregister an event listener that was registered with on().\n *\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 11360,
+ 11763
+ ],
+ "loc": {
+ "start": {
+ "line": 342,
+ "column": 2
+ },
+ "end": {
+ "line": 351,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 12970,
+ 13410
+ ],
+ "loc": {
+ "start": {
+ "line": 381,
+ "column": 2
+ },
+ "end": {
+ "line": 391,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "on",
+ "range": [
+ 13413,
+ 13415
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 2
+ },
+ "end": {
+ "line": 392,
+ "column": 4
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13416,
+ 13421
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 5
+ },
+ "end": {
+ "line": 392,
+ "column": 10
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13423,
+ 13427
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 12
+ },
+ "end": {
+ "line": 392,
+ "column": 16
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13429,
+ 13431
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 18
+ },
+ "end": {
+ "line": 392,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 13433,
+ 13441
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 22
+ },
+ "end": {
+ "line": 392,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 13443,
+ 13450
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 32
+ },
+ "end": {
+ "line": 392,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13462,
+ 13466
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 8
+ },
+ "end": {
+ "line": 393,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 13467,
+ 13485
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 13
+ },
+ "end": {
+ "line": 393,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 13462,
+ 13485
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 8
+ },
+ "end": {
+ "line": 393,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13486,
+ 13491
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 32
+ },
+ "end": {
+ "line": 393,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 13462,
+ 13492
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 8
+ },
+ "end": {
+ "line": 393,
+ "column": 38
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13496,
+ 13500
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 42
+ },
+ "end": {
+ "line": 393,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 13501,
+ 13521
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 47
+ },
+ "end": {
+ "line": 393,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 13496,
+ 13521
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 42
+ },
+ "end": {
+ "line": 393,
+ "column": 67
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13522,
+ 13527
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 68
+ },
+ "end": {
+ "line": 393,
+ "column": 73
+ }
+ }
+ },
+ "range": [
+ 13496,
+ 13528
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 42
+ },
+ "end": {
+ "line": 393,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 13462,
+ 13528
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 8
+ },
+ "end": {
+ "line": 393,
+ "column": 74
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13542,
+ 13546
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 10
+ },
+ "end": {
+ "line": 394,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 13547,
+ 13553
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 15
+ },
+ "end": {
+ "line": 394,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 13542,
+ 13553
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 10
+ },
+ "end": {
+ "line": 394,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13554,
+ 13558
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 22
+ },
+ "end": {
+ "line": 394,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 13542,
+ 13559
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 10
+ },
+ "end": {
+ "line": 394,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13575,
+ 13577
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 12
+ },
+ "end": {
+ "line": 395,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 13582,
+ 13584
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 19
+ },
+ "end": {
+ "line": 395,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 13586,
+ 13594
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 23
+ },
+ "end": {
+ "line": 395,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 13581,
+ 13594
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 18
+ },
+ "end": {
+ "line": 395,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 13595,
+ 13599
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 32
+ },
+ "end": {
+ "line": 395,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 13581,
+ 13599
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 18
+ },
+ "end": {
+ "line": 395,
+ "column": 36
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13600,
+ 13602
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 37
+ },
+ "end": {
+ "line": 395,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 13581,
+ 13603
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 18
+ },
+ "end": {
+ "line": 395,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 13608,
+ 13627
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 45
+ },
+ "end": {
+ "line": 395,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 13581,
+ 13627
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 18
+ },
+ "end": {
+ "line": 395,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 13575,
+ 13627
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 12
+ },
+ "end": {
+ "line": 395,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13641,
+ 13645
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "on",
+ "range": [
+ 13646,
+ 13648
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 15
+ },
+ "end": {
+ "line": 396,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 13641,
+ 13648
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 13649,
+ 13653
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 18
+ },
+ "end": {
+ "line": 396,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 13641,
+ 13653
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 13654,
+ 13658
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 23
+ },
+ "end": {
+ "line": 396,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13660,
+ 13665
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 29
+ },
+ "end": {
+ "line": 396,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13667,
+ 13671
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 36
+ },
+ "end": {
+ "line": 396,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 13673,
+ 13677
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 42
+ },
+ "end": {
+ "line": 396,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13679,
+ 13681
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 48
+ },
+ "end": {
+ "line": 396,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 13683,
+ 13691
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 52
+ },
+ "end": {
+ "line": 396,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 13641,
+ 13692
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 13641,
+ 13693
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 13629,
+ 13703
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 66
+ },
+ "end": {
+ "line": 397,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13841,
+ 13845
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 10
+ },
+ "end": {
+ "line": 399,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 13846,
+ 13852
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 15
+ },
+ "end": {
+ "line": 399,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 13841,
+ 13852
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 10
+ },
+ "end": {
+ "line": 399,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13853,
+ 13857
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 22
+ },
+ "end": {
+ "line": 399,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 13841,
+ 13858
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 10
+ },
+ "end": {
+ "line": 399,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 13859,
+ 13865
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 28
+ },
+ "end": {
+ "line": 399,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 13841,
+ 13865
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 10
+ },
+ "end": {
+ "line": 399,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 13866,
+ 13873
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 35
+ },
+ "end": {
+ "line": 399,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 13841,
+ 13873
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 10
+ },
+ "end": {
+ "line": 399,
+ "column": 42
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13874,
+ 13878
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 43
+ },
+ "end": {
+ "line": 399,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13900,
+ 13902
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 16
+ },
+ "end": {
+ "line": 400,
+ "column": 18
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13920,
+ 13924
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 14
+ },
+ "end": {
+ "line": 401,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 13925,
+ 13943
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 19
+ },
+ "end": {
+ "line": 401,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 13920,
+ 13943
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 14
+ },
+ "end": {
+ "line": 401,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13944,
+ 13949
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 38
+ },
+ "end": {
+ "line": 401,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 13920,
+ 13950
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 14
+ },
+ "end": {
+ "line": 401,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13951,
+ 13955
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 45
+ },
+ "end": {
+ "line": 401,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 13920,
+ 13956
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 14
+ },
+ "end": {
+ "line": 401,
+ "column": 50
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13959,
+ 13963
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 53
+ },
+ "end": {
+ "line": 401,
+ "column": 57
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 13964,
+ 13982
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 58
+ },
+ "end": {
+ "line": 401,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 13959,
+ 13982
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 53
+ },
+ "end": {
+ "line": 401,
+ "column": 76
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13983,
+ 13988
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 77
+ },
+ "end": {
+ "line": 401,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 13959,
+ 13989
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 53
+ },
+ "end": {
+ "line": 401,
+ "column": 83
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13990,
+ 13994
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 84
+ },
+ "end": {
+ "line": 401,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 13959,
+ 13995
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 53
+ },
+ "end": {
+ "line": 401,
+ "column": 89
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 13999,
+ 14001
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 93
+ },
+ "end": {
+ "line": 401,
+ "column": 95
+ }
+ }
+ },
+ "range": [
+ 13959,
+ 14001
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 53
+ },
+ "end": {
+ "line": 401,
+ "column": 95
+ }
+ }
+ },
+ "range": [
+ 13920,
+ 14001
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 14
+ },
+ "end": {
+ "line": 401,
+ "column": 95
+ }
+ }
+ },
+ "range": [
+ 13920,
+ 14002
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 14
+ },
+ "end": {
+ "line": 401,
+ "column": 96
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14017,
+ 14021
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 14
+ },
+ "end": {
+ "line": 402,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 14022,
+ 14040
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 19
+ },
+ "end": {
+ "line": 402,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 14017,
+ 14040
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 14
+ },
+ "end": {
+ "line": 402,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14041,
+ 14046
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 38
+ },
+ "end": {
+ "line": 402,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 14017,
+ 14047
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 14
+ },
+ "end": {
+ "line": 402,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14048,
+ 14052
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 45
+ },
+ "end": {
+ "line": 402,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 14017,
+ 14053
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 14
+ },
+ "end": {
+ "line": 402,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14054,
+ 14056
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 51
+ },
+ "end": {
+ "line": 402,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 14017,
+ 14057
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 14
+ },
+ "end": {
+ "line": 402,
+ "column": 54
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14060,
+ 14064
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 57
+ },
+ "end": {
+ "line": 402,
+ "column": 61
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 14065,
+ 14083
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 62
+ },
+ "end": {
+ "line": 402,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 14060,
+ 14083
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 57
+ },
+ "end": {
+ "line": 402,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14084,
+ 14089
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 81
+ },
+ "end": {
+ "line": 402,
+ "column": 86
+ }
+ }
+ },
+ "range": [
+ 14060,
+ 14090
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 57
+ },
+ "end": {
+ "line": 402,
+ "column": 87
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14091,
+ 14095
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 88
+ },
+ "end": {
+ "line": 402,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 14060,
+ 14096
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 57
+ },
+ "end": {
+ "line": 402,
+ "column": 93
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14097,
+ 14099
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 94
+ },
+ "end": {
+ "line": 402,
+ "column": 96
+ }
+ }
+ },
+ "range": [
+ 14060,
+ 14100
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 57
+ },
+ "end": {
+ "line": 402,
+ "column": 97
+ }
+ }
+ },
+ "right": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 14104,
+ 14106
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 101
+ },
+ "end": {
+ "line": 402,
+ "column": 103
+ }
+ }
+ },
+ "range": [
+ 14060,
+ 14106
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 57
+ },
+ "end": {
+ "line": 402,
+ "column": 103
+ }
+ }
+ },
+ "range": [
+ 14017,
+ 14106
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 14
+ },
+ "end": {
+ "line": 402,
+ "column": 103
+ }
+ }
+ },
+ "range": [
+ 14017,
+ 14107
+ ],
+ "loc": {
+ "start": {
+ "line": 402,
+ "column": 14
+ },
+ "end": {
+ "line": 402,
+ "column": 104
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14127,
+ 14131
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 19
+ },
+ "end": {
+ "line": 403,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 14132,
+ 14150
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 24
+ },
+ "end": {
+ "line": 403,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 14127,
+ 14150
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 19
+ },
+ "end": {
+ "line": 403,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14151,
+ 14156
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 43
+ },
+ "end": {
+ "line": 403,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 14127,
+ 14157
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 19
+ },
+ "end": {
+ "line": 403,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14158,
+ 14162
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 50
+ },
+ "end": {
+ "line": 403,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 14127,
+ 14163
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 19
+ },
+ "end": {
+ "line": 403,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14164,
+ 14166
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 56
+ },
+ "end": {
+ "line": 403,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 14127,
+ 14167
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 19
+ },
+ "end": {
+ "line": 403,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 14168,
+ 14172
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 60
+ },
+ "end": {
+ "line": 403,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 14127,
+ 14172
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 19
+ },
+ "end": {
+ "line": 403,
+ "column": 64
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 14173,
+ 14174
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 65
+ },
+ "end": {
+ "line": 403,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 14178,
+ 14179
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 70
+ },
+ "end": {
+ "line": 403,
+ "column": 71
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 14180,
+ 14181
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 72
+ },
+ "end": {
+ "line": 403,
+ "column": 73
+ }
+ }
+ },
+ "range": [
+ 14178,
+ 14182
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 70
+ },
+ "end": {
+ "line": 403,
+ "column": 74
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 14187,
+ 14195
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 79
+ },
+ "end": {
+ "line": 403,
+ "column": 87
+ }
+ }
+ },
+ "range": [
+ 14178,
+ 14195
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 70
+ },
+ "end": {
+ "line": 403,
+ "column": 87
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 14173,
+ 14195
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 65
+ },
+ "end": {
+ "line": 403,
+ "column": 87
+ }
+ }
+ }
+ ],
+ "range": [
+ 14127,
+ 14196
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 19
+ },
+ "end": {
+ "line": 403,
+ "column": 88
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 14126,
+ 14196
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 18
+ },
+ "end": {
+ "line": 403,
+ "column": 88
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14216,
+ 14220
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 14221,
+ 14239
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 21
+ },
+ "end": {
+ "line": 404,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 14216,
+ 14239
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14240,
+ 14245
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 40
+ },
+ "end": {
+ "line": 404,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 14216,
+ 14246
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14247,
+ 14251
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 47
+ },
+ "end": {
+ "line": 404,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 14216,
+ 14252
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 52
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14253,
+ 14255
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 53
+ },
+ "end": {
+ "line": 404,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 14216,
+ 14256
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 14257,
+ 14261
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 57
+ },
+ "end": {
+ "line": 404,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 14216,
+ 14261
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 61
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 14264,
+ 14272
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 64
+ },
+ "end": {
+ "line": 404,
+ "column": 72
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 14274,
+ 14281
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 74
+ },
+ "end": {
+ "line": 404,
+ "column": 81
+ }
+ }
+ }
+ ],
+ "range": [
+ 14262,
+ 14283
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 62
+ },
+ "end": {
+ "line": 404,
+ "column": 83
+ }
+ }
+ }
+ ],
+ "range": [
+ 14216,
+ 14284
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 84
+ }
+ }
+ },
+ "range": [
+ 14216,
+ 14285
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 16
+ },
+ "end": {
+ "line": 404,
+ "column": 85
+ }
+ }
+ }
+ ],
+ "range": [
+ 14198,
+ 14301
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 90
+ },
+ "end": {
+ "line": 405,
+ "column": 15
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 14122,
+ 14301
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 14
+ },
+ "end": {
+ "line": 405,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 13904,
+ 14315
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 20
+ },
+ "end": {
+ "line": 406,
+ "column": 13
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14337,
+ 14341
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 14
+ },
+ "end": {
+ "line": 407,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 14342,
+ 14362
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 19
+ },
+ "end": {
+ "line": 407,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 14337,
+ 14362
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 14
+ },
+ "end": {
+ "line": 407,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14363,
+ 14368
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 40
+ },
+ "end": {
+ "line": 407,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 14337,
+ 14369
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 14
+ },
+ "end": {
+ "line": 407,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14370,
+ 14374
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 47
+ },
+ "end": {
+ "line": 407,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 14337,
+ 14375
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 14
+ },
+ "end": {
+ "line": 407,
+ "column": 52
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14378,
+ 14382
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 55
+ },
+ "end": {
+ "line": 407,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 14383,
+ 14403
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 60
+ },
+ "end": {
+ "line": 407,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 14378,
+ 14403
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 55
+ },
+ "end": {
+ "line": 407,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14404,
+ 14409
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 81
+ },
+ "end": {
+ "line": 407,
+ "column": 86
+ }
+ }
+ },
+ "range": [
+ 14378,
+ 14410
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 55
+ },
+ "end": {
+ "line": 407,
+ "column": 87
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14411,
+ 14415
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 88
+ },
+ "end": {
+ "line": 407,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 14378,
+ 14416
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 55
+ },
+ "end": {
+ "line": 407,
+ "column": 93
+ }
+ }
+ },
+ "right": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 14420,
+ 14422
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 97
+ },
+ "end": {
+ "line": 407,
+ "column": 99
+ }
+ }
+ },
+ "range": [
+ 14378,
+ 14422
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 55
+ },
+ "end": {
+ "line": 407,
+ "column": 99
+ }
+ }
+ },
+ "range": [
+ 14337,
+ 14422
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 14
+ },
+ "end": {
+ "line": 407,
+ "column": 99
+ }
+ }
+ },
+ "range": [
+ 14337,
+ 14423
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 14
+ },
+ "end": {
+ "line": 407,
+ "column": 100
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14443,
+ 14447
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 19
+ },
+ "end": {
+ "line": 408,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 14448,
+ 14468
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 24
+ },
+ "end": {
+ "line": 408,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 14443,
+ 14468
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 19
+ },
+ "end": {
+ "line": 408,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14469,
+ 14474
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 45
+ },
+ "end": {
+ "line": 408,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 14443,
+ 14475
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 19
+ },
+ "end": {
+ "line": 408,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14476,
+ 14480
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 52
+ },
+ "end": {
+ "line": 408,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 14443,
+ 14481
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 19
+ },
+ "end": {
+ "line": 408,
+ "column": 57
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 14482,
+ 14486
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 58
+ },
+ "end": {
+ "line": 408,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 14443,
+ 14486
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 19
+ },
+ "end": {
+ "line": 408,
+ "column": 62
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 14487,
+ 14488
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 63
+ },
+ "end": {
+ "line": 408,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 14492,
+ 14493
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 68
+ },
+ "end": {
+ "line": 408,
+ "column": 69
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 14494,
+ 14495
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 70
+ },
+ "end": {
+ "line": 408,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 14492,
+ 14496
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 68
+ },
+ "end": {
+ "line": 408,
+ "column": 72
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 14501,
+ 14509
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 77
+ },
+ "end": {
+ "line": 408,
+ "column": 85
+ }
+ }
+ },
+ "range": [
+ 14492,
+ 14509
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 68
+ },
+ "end": {
+ "line": 408,
+ "column": 85
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 14487,
+ 14509
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 63
+ },
+ "end": {
+ "line": 408,
+ "column": 85
+ }
+ }
+ }
+ ],
+ "range": [
+ 14443,
+ 14510
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 19
+ },
+ "end": {
+ "line": 408,
+ "column": 86
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 14442,
+ 14510
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 18
+ },
+ "end": {
+ "line": 408,
+ "column": 86
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14530,
+ 14534
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 16
+ },
+ "end": {
+ "line": 409,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 14535,
+ 14555
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 21
+ },
+ "end": {
+ "line": 409,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 14530,
+ 14555
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 16
+ },
+ "end": {
+ "line": 409,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14556,
+ 14561
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 42
+ },
+ "end": {
+ "line": 409,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 14530,
+ 14562
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 16
+ },
+ "end": {
+ "line": 409,
+ "column": 48
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14563,
+ 14567
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 49
+ },
+ "end": {
+ "line": 409,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 14530,
+ 14568
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 16
+ },
+ "end": {
+ "line": 409,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 14569,
+ 14573
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 55
+ },
+ "end": {
+ "line": 409,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 14530,
+ 14573
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 16
+ },
+ "end": {
+ "line": 409,
+ "column": 59
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 14576,
+ 14584
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 62
+ },
+ "end": {
+ "line": 409,
+ "column": 70
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 14586,
+ 14593
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 72
+ },
+ "end": {
+ "line": 409,
+ "column": 79
+ }
+ }
+ }
+ ],
+ "range": [
+ 14574,
+ 14595
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 60
+ },
+ "end": {
+ "line": 409,
+ "column": 81
+ }
+ }
+ }
+ ],
+ "range": [
+ 14530,
+ 14596
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 16
+ },
+ "end": {
+ "line": 409,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 14530,
+ 14597
+ ],
+ "loc": {
+ "start": {
+ "line": 409,
+ "column": 16
+ },
+ "end": {
+ "line": 409,
+ "column": 83
+ }
+ }
+ }
+ ],
+ "range": [
+ 14512,
+ 14613
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 88
+ },
+ "end": {
+ "line": 410,
+ "column": 15
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 14438,
+ 14613
+ ],
+ "loc": {
+ "start": {
+ "line": 408,
+ "column": 14
+ },
+ "end": {
+ "line": 410,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 14321,
+ 14627
+ ],
+ "loc": {
+ "start": {
+ "line": 406,
+ "column": 19
+ },
+ "end": {
+ "line": 411,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 13896,
+ 14627
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 12
+ },
+ "end": {
+ "line": 411,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 13882,
+ 14639
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 51
+ },
+ "end": {
+ "line": 412,
+ "column": 11
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 13874,
+ 14639
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 43
+ },
+ "end": {
+ "line": 412,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 13841,
+ 14640
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 10
+ },
+ "end": {
+ "line": 412,
+ "column": 12
+ }
+ }
+ },
+ "range": [
+ 13841,
+ 14641
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 10
+ },
+ "end": {
+ "line": 412,
+ "column": 13
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Line",
+ "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
+ "range": [
+ 13721,
+ 13830
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 10
+ },
+ "end": {
+ "line": 398,
+ "column": 119
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "range": [
+ 13709,
+ 14651
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 15
+ },
+ "end": {
+ "line": 413,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 13571,
+ 14651
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 8
+ },
+ "end": {
+ "line": 413,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 13561,
+ 14659
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 29
+ },
+ "end": {
+ "line": 414,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 14685,
+ 14690
+ ],
+ "loc": {
+ "start": {
+ "line": 415,
+ "column": 18
+ },
+ "end": {
+ "line": 415,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 14691,
+ 14708
+ ],
+ "loc": {
+ "start": {
+ "line": 415,
+ "column": 24
+ },
+ "end": {
+ "line": 415,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 14712,
+ 14715
+ ],
+ "loc": {
+ "start": {
+ "line": 415,
+ "column": 45
+ },
+ "end": {
+ "line": 415,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14708,
+ 14712
+ ],
+ "loc": {
+ "start": {
+ "line": 415,
+ "column": 41
+ },
+ "end": {
+ "line": 415,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 14691,
+ 14715
+ ],
+ "loc": {
+ "start": {
+ "line": 415,
+ "column": 24
+ },
+ "end": {
+ "line": 415,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 14681,
+ 14716
+ ],
+ "loc": {
+ "start": {
+ "line": 415,
+ "column": 14
+ },
+ "end": {
+ "line": 415,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 14675,
+ 14717
+ ],
+ "loc": {
+ "start": {
+ "line": 415,
+ "column": 8
+ },
+ "end": {
+ "line": 415,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 14665,
+ 14725
+ ],
+ "loc": {
+ "start": {
+ "line": 414,
+ "column": 13
+ },
+ "end": {
+ "line": 416,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 13538,
+ 14725
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 6
+ },
+ "end": {
+ "line": 416,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 13530,
+ 14731
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 76
+ },
+ "end": {
+ "line": 417,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 14755,
+ 14760
+ ],
+ "loc": {
+ "start": {
+ "line": 418,
+ "column": 16
+ },
+ "end": {
+ "line": 418,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown event '",
+ "cooked": "Unknown event '"
+ },
+ "tail": false,
+ "range": [
+ 14761,
+ 14779
+ ],
+ "loc": {
+ "start": {
+ "line": 418,
+ "column": 22
+ },
+ "end": {
+ "line": 418,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 14784,
+ 14787
+ ],
+ "loc": {
+ "start": {
+ "line": 418,
+ "column": 45
+ },
+ "end": {
+ "line": 418,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14779,
+ 14784
+ ],
+ "loc": {
+ "start": {
+ "line": 418,
+ "column": 40
+ },
+ "end": {
+ "line": 418,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 14761,
+ 14787
+ ],
+ "loc": {
+ "start": {
+ "line": 418,
+ "column": 22
+ },
+ "end": {
+ "line": 418,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 14751,
+ 14788
+ ],
+ "loc": {
+ "start": {
+ "line": 418,
+ "column": 12
+ },
+ "end": {
+ "line": 418,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 14745,
+ 14789
+ ],
+ "loc": {
+ "start": {
+ "line": 418,
+ "column": 6
+ },
+ "end": {
+ "line": 418,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 14737,
+ 14795
+ ],
+ "loc": {
+ "start": {
+ "line": 417,
+ "column": 11
+ },
+ "end": {
+ "line": 419,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 13458,
+ 14795
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 4
+ },
+ "end": {
+ "line": 419,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 13452,
+ 14799
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 41
+ },
+ "end": {
+ "line": 420,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 13415,
+ 14799
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 4
+ },
+ "end": {
+ "line": 420,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 13413,
+ 14799
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 2
+ },
+ "end": {
+ "line": 420,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 12970,
+ 13410
+ ],
+ "loc": {
+ "start": {
+ "line": 381,
+ "column": 2
+ },
+ "end": {
+ "line": 391,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 14803,
+ 15137
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 2
+ },
+ "end": {
+ "line": 430,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 15140,
+ 15144
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 2
+ },
+ "end": {
+ "line": 431,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 15145,
+ 15149
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 7
+ },
+ "end": {
+ "line": 431,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 15161,
+ 15165
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 8
+ },
+ "end": {
+ "line": 432,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 15166,
+ 15170
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 13
+ },
+ "end": {
+ "line": 432,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 15161,
+ 15170
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 8
+ },
+ "end": {
+ "line": 432,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "constructor",
+ "range": [
+ 15171,
+ 15182
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 18
+ },
+ "end": {
+ "line": 432,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 15161,
+ 15182
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 8
+ },
+ "end": {
+ "line": 432,
+ "column": 29
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "Array",
+ "range": [
+ 15187,
+ 15192
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 34
+ },
+ "end": {
+ "line": 432,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 15161,
+ 15192
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 8
+ },
+ "end": {
+ "line": 432,
+ "column": 39
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 15202,
+ 15206
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 6
+ },
+ "end": {
+ "line": 433,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 15207,
+ 15211
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 11
+ },
+ "end": {
+ "line": 433,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 15202,
+ 15211
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 6
+ },
+ "end": {
+ "line": 433,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 15212,
+ 15219
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 16
+ },
+ "end": {
+ "line": 433,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 15202,
+ 15219
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 6
+ },
+ "end": {
+ "line": 433,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 15220,
+ 15221
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 24
+ },
+ "end": {
+ "line": 433,
+ "column": 25
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15225,
+ 15229
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 29
+ },
+ "end": {
+ "line": 433,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 15230,
+ 15233
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 34
+ },
+ "end": {
+ "line": 433,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 15225,
+ 15233
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 29
+ },
+ "end": {
+ "line": 433,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 15234,
+ 15235
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 38
+ },
+ "end": {
+ "line": 433,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 15225,
+ 15236
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 29
+ },
+ "end": {
+ "line": 433,
+ "column": 40
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 15220,
+ 15236
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 24
+ },
+ "end": {
+ "line": 433,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "range": [
+ 15202,
+ 15237
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 6
+ },
+ "end": {
+ "line": 433,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 15202,
+ 15238
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 6
+ },
+ "end": {
+ "line": 433,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "range": [
+ 15194,
+ 15244
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 41
+ },
+ "end": {
+ "line": 434,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15258,
+ 15262
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 6
+ },
+ "end": {
+ "line": 435,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 15263,
+ 15266
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 11
+ },
+ "end": {
+ "line": 435,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 15258,
+ 15266
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 6
+ },
+ "end": {
+ "line": 435,
+ "column": 14
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 15267,
+ 15271
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 15
+ },
+ "end": {
+ "line": 435,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 15272,
+ 15276
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 20
+ },
+ "end": {
+ "line": 435,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 15267,
+ 15276
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 15
+ },
+ "end": {
+ "line": 435,
+ "column": 24
+ }
+ }
+ }
+ ],
+ "range": [
+ 15258,
+ 15277
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 6
+ },
+ "end": {
+ "line": 435,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 15258,
+ 15278
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 6
+ },
+ "end": {
+ "line": 435,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "range": [
+ 15250,
+ 15284
+ ],
+ "loc": {
+ "start": {
+ "line": 434,
+ "column": 11
+ },
+ "end": {
+ "line": 436,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 15157,
+ 15284
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 4
+ },
+ "end": {
+ "line": 436,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 15293,
+ 15297
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 8
+ },
+ "end": {
+ "line": 437,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "included",
+ "range": [
+ 15298,
+ 15306
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 13
+ },
+ "end": {
+ "line": 437,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 15293,
+ 15306
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 8
+ },
+ "end": {
+ "line": 437,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 15316,
+ 15320
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 6
+ },
+ "end": {
+ "line": 438,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "included",
+ "range": [
+ 15321,
+ 15329
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 11
+ },
+ "end": {
+ "line": 438,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 15316,
+ 15329
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 6
+ },
+ "end": {
+ "line": 438,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 15330,
+ 15337
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 20
+ },
+ "end": {
+ "line": 438,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 15316,
+ 15337
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 6
+ },
+ "end": {
+ "line": 438,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 15338,
+ 15339
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 28
+ },
+ "end": {
+ "line": 438,
+ "column": 29
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15343,
+ 15347
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 33
+ },
+ "end": {
+ "line": 438,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 15348,
+ 15351
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 38
+ },
+ "end": {
+ "line": 438,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 15343,
+ 15351
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 33
+ },
+ "end": {
+ "line": 438,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 15352,
+ 15353
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 42
+ },
+ "end": {
+ "line": 438,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 15343,
+ 15354
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 33
+ },
+ "end": {
+ "line": 438,
+ "column": 44
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 15338,
+ 15354
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 28
+ },
+ "end": {
+ "line": 438,
+ "column": 44
+ }
+ }
+ }
+ ],
+ "range": [
+ 15316,
+ 15355
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 6
+ },
+ "end": {
+ "line": 438,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 15316,
+ 15356
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 6
+ },
+ "end": {
+ "line": 438,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 15308,
+ 15362
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 23
+ },
+ "end": {
+ "line": 439,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 15289,
+ 15362
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 4
+ },
+ "end": {
+ "line": 439,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 15151,
+ 15366
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 13
+ },
+ "end": {
+ "line": 440,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 15144,
+ 15366
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 6
+ },
+ "end": {
+ "line": 440,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 15140,
+ 15366
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 2
+ },
+ "end": {
+ "line": 440,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 14803,
+ 15137
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 2
+ },
+ "end": {
+ "line": 430,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 15370,
+ 15712
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 2
+ },
+ "end": {
+ "line": 450,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "remove",
+ "range": [
+ 15715,
+ 15721
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 2
+ },
+ "end": {
+ "line": 451,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15722,
+ 15726
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 9
+ },
+ "end": {
+ "line": 451,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 15728,
+ 15730
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 15
+ },
+ "end": {
+ "line": 451,
+ "column": 17
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15742,
+ 15746
+ ],
+ "loc": {
+ "start": {
+ "line": 452,
+ "column": 8
+ },
+ "end": {
+ "line": 452,
+ "column": 12
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15760,
+ 15764
+ ],
+ "loc": {
+ "start": {
+ "line": 453,
+ "column": 10
+ },
+ "end": {
+ "line": 453,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 15765,
+ 15771
+ ],
+ "loc": {
+ "start": {
+ "line": 453,
+ "column": 15
+ },
+ "end": {
+ "line": 453,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 15760,
+ 15771
+ ],
+ "loc": {
+ "start": {
+ "line": 453,
+ "column": 10
+ },
+ "end": {
+ "line": 453,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15772,
+ 15776
+ ],
+ "loc": {
+ "start": {
+ "line": 453,
+ "column": 22
+ },
+ "end": {
+ "line": 453,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 15760,
+ 15777
+ ],
+ "loc": {
+ "start": {
+ "line": 453,
+ "column": 10
+ },
+ "end": {
+ "line": 453,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 15793,
+ 15795
+ ],
+ "loc": {
+ "start": {
+ "line": 454,
+ "column": 12
+ },
+ "end": {
+ "line": 454,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 15813,
+ 15821
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 14
+ },
+ "end": {
+ "line": 455,
+ "column": 22
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15824,
+ 15828
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 25
+ },
+ "end": {
+ "line": 455,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 15829,
+ 15834
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 30
+ },
+ "end": {
+ "line": 455,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 15824,
+ 15834
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 25
+ },
+ "end": {
+ "line": 455,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15835,
+ 15839
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 36
+ },
+ "end": {
+ "line": 455,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 15824,
+ 15840
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 25
+ },
+ "end": {
+ "line": 455,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15844,
+ 15848
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 45
+ },
+ "end": {
+ "line": 455,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 15849,
+ 15854
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 50
+ },
+ "end": {
+ "line": 455,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 15844,
+ 15854
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 45
+ },
+ "end": {
+ "line": 455,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15855,
+ 15859
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 56
+ },
+ "end": {
+ "line": 455,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 15844,
+ 15860
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 45
+ },
+ "end": {
+ "line": 455,
+ "column": 61
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 15861,
+ 15863
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 62
+ },
+ "end": {
+ "line": 455,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 15844,
+ 15864
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 45
+ },
+ "end": {
+ "line": 455,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 15824,
+ 15864
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 25
+ },
+ "end": {
+ "line": 455,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 15813,
+ 15864
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 14
+ },
+ "end": {
+ "line": 455,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 15809,
+ 15865
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 10
+ },
+ "end": {
+ "line": 455,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 15880,
+ 15888
+ ],
+ "loc": {
+ "start": {
+ "line": 456,
+ "column": 14
+ },
+ "end": {
+ "line": 456,
+ "column": 22
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15904,
+ 15908
+ ],
+ "loc": {
+ "start": {
+ "line": 457,
+ "column": 12
+ },
+ "end": {
+ "line": 457,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_remove",
+ "range": [
+ 15909,
+ 15916
+ ],
+ "loc": {
+ "start": {
+ "line": 457,
+ "column": 17
+ },
+ "end": {
+ "line": 457,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 15904,
+ 15916
+ ],
+ "loc": {
+ "start": {
+ "line": 457,
+ "column": 12
+ },
+ "end": {
+ "line": 457,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 15917,
+ 15925
+ ],
+ "loc": {
+ "start": {
+ "line": 457,
+ "column": 25
+ },
+ "end": {
+ "line": 457,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 15904,
+ 15926
+ ],
+ "loc": {
+ "start": {
+ "line": 457,
+ "column": 12
+ },
+ "end": {
+ "line": 457,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 15904,
+ 15927
+ ],
+ "loc": {
+ "start": {
+ "line": 457,
+ "column": 12
+ },
+ "end": {
+ "line": 457,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15944,
+ 15948
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 16
+ },
+ "end": {
+ "line": 458,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 15949,
+ 15967
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 21
+ },
+ "end": {
+ "line": 458,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 15944,
+ 15967
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 16
+ },
+ "end": {
+ "line": 458,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 15968,
+ 15977
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 40
+ },
+ "end": {
+ "line": 458,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 15944,
+ 15978
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 16
+ },
+ "end": {
+ "line": 458,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15979,
+ 15983
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 51
+ },
+ "end": {
+ "line": 458,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 15944,
+ 15984
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 16
+ },
+ "end": {
+ "line": 458,
+ "column": 56
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15988,
+ 15992
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 60
+ },
+ "end": {
+ "line": 458,
+ "column": 64
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 15993,
+ 16011
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 65
+ },
+ "end": {
+ "line": 458,
+ "column": 83
+ }
+ }
+ },
+ "range": [
+ 15988,
+ 16011
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 60
+ },
+ "end": {
+ "line": 458,
+ "column": 83
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 16012,
+ 16021
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 84
+ },
+ "end": {
+ "line": 458,
+ "column": 93
+ }
+ }
+ },
+ "range": [
+ 15988,
+ 16022
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 60
+ },
+ "end": {
+ "line": 458,
+ "column": 94
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16023,
+ 16027
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 95
+ },
+ "end": {
+ "line": 458,
+ "column": 99
+ }
+ }
+ },
+ "range": [
+ 15988,
+ 16028
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 60
+ },
+ "end": {
+ "line": 458,
+ "column": 100
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16029,
+ 16031
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 101
+ },
+ "end": {
+ "line": 458,
+ "column": 103
+ }
+ }
+ },
+ "range": [
+ 15988,
+ 16032
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 60
+ },
+ "end": {
+ "line": 458,
+ "column": 104
+ }
+ }
+ },
+ "range": [
+ 15944,
+ 16032
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 16
+ },
+ "end": {
+ "line": 458,
+ "column": 104
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16051,
+ 16055
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_resourceListeners",
+ "range": [
+ 16056,
+ 16074
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 20
+ },
+ "end": {
+ "line": 459,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 16051,
+ 16074
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 16075,
+ 16084
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 39
+ },
+ "end": {
+ "line": 459,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 16051,
+ 16085
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16086,
+ 16090
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 50
+ },
+ "end": {
+ "line": 459,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 16051,
+ 16091
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16092,
+ 16094
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 56
+ },
+ "end": {
+ "line": 459,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 16051,
+ 16095
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 16096,
+ 16103
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 60
+ },
+ "end": {
+ "line": 459,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 16051,
+ 16103
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 67
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16104,
+ 16105
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 68
+ },
+ "end": {
+ "line": 459,
+ "column": 69
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16109,
+ 16110
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 73
+ },
+ "end": {
+ "line": 459,
+ "column": 74
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 16111,
+ 16112
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 75
+ },
+ "end": {
+ "line": 459,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 16109,
+ 16113
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 73
+ },
+ "end": {
+ "line": 459,
+ "column": 77
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 16114,
+ 16118
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 78
+ },
+ "end": {
+ "line": 459,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 16109,
+ 16118
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 73
+ },
+ "end": {
+ "line": 459,
+ "column": 82
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16119,
+ 16120
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 83
+ },
+ "end": {
+ "line": 459,
+ "column": 84
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 16121,
+ 16122
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 85
+ },
+ "end": {
+ "line": 459,
+ "column": 86
+ }
+ }
+ },
+ "range": [
+ 16119,
+ 16123
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 83
+ },
+ "end": {
+ "line": 459,
+ "column": 87
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 16125,
+ 16133
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 89
+ },
+ "end": {
+ "line": 459,
+ "column": 97
+ }
+ }
+ }
+ ],
+ "range": [
+ 16109,
+ 16134
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 73
+ },
+ "end": {
+ "line": 459,
+ "column": 98
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 16104,
+ 16134
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 68
+ },
+ "end": {
+ "line": 459,
+ "column": 98
+ }
+ }
+ }
+ ],
+ "range": [
+ 16051,
+ 16135
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 99
+ }
+ }
+ },
+ "range": [
+ 16051,
+ 16136
+ ],
+ "loc": {
+ "start": {
+ "line": 459,
+ "column": 15
+ },
+ "end": {
+ "line": 459,
+ "column": 100
+ }
+ }
+ }
+ ],
+ "range": [
+ 16034,
+ 16150
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 106
+ },
+ "end": {
+ "line": 460,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 15940,
+ 16150
+ ],
+ "loc": {
+ "start": {
+ "line": 458,
+ "column": 12
+ },
+ "end": {
+ "line": 460,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16167,
+ 16171
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 16
+ },
+ "end": {
+ "line": 461,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 16172,
+ 16192
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 21
+ },
+ "end": {
+ "line": 461,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 16167,
+ 16192
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 16
+ },
+ "end": {
+ "line": 461,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 16193,
+ 16202
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 42
+ },
+ "end": {
+ "line": 461,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 16167,
+ 16203
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 16
+ },
+ "end": {
+ "line": 461,
+ "column": 52
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16204,
+ 16208
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 53
+ },
+ "end": {
+ "line": 461,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 16167,
+ 16209
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 16
+ },
+ "end": {
+ "line": 461,
+ "column": 58
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16227,
+ 16231
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 14
+ },
+ "end": {
+ "line": 462,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_collectionListeners",
+ "range": [
+ 16232,
+ 16252
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 19
+ },
+ "end": {
+ "line": 462,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 16227,
+ 16252
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 14
+ },
+ "end": {
+ "line": 462,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 16253,
+ 16262
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 40
+ },
+ "end": {
+ "line": 462,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 16227,
+ 16263
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 14
+ },
+ "end": {
+ "line": 462,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16264,
+ 16268
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 51
+ },
+ "end": {
+ "line": 462,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 16227,
+ 16269
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 14
+ },
+ "end": {
+ "line": 462,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 16270,
+ 16277
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 57
+ },
+ "end": {
+ "line": 462,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 16227,
+ 16277
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 14
+ },
+ "end": {
+ "line": 462,
+ "column": 64
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16278,
+ 16279
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 65
+ },
+ "end": {
+ "line": 462,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16283,
+ 16284
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 70
+ },
+ "end": {
+ "line": 462,
+ "column": 71
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 16285,
+ 16286
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 72
+ },
+ "end": {
+ "line": 462,
+ "column": 73
+ }
+ }
+ },
+ "range": [
+ 16283,
+ 16287
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 70
+ },
+ "end": {
+ "line": 462,
+ "column": 74
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 16288,
+ 16292
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 75
+ },
+ "end": {
+ "line": 462,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 16283,
+ 16292
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 70
+ },
+ "end": {
+ "line": 462,
+ "column": 79
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16293,
+ 16294
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 80
+ },
+ "end": {
+ "line": 462,
+ "column": 81
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 16295,
+ 16296
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 82
+ },
+ "end": {
+ "line": 462,
+ "column": 83
+ }
+ }
+ },
+ "range": [
+ 16293,
+ 16297
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 80
+ },
+ "end": {
+ "line": 462,
+ "column": 84
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 16299,
+ 16307
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 86
+ },
+ "end": {
+ "line": 462,
+ "column": 94
+ }
+ }
+ }
+ ],
+ "range": [
+ 16283,
+ 16308
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 70
+ },
+ "end": {
+ "line": 462,
+ "column": 95
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 16278,
+ 16308
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 65
+ },
+ "end": {
+ "line": 462,
+ "column": 95
+ }
+ }
+ }
+ ],
+ "range": [
+ 16227,
+ 16309
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 14
+ },
+ "end": {
+ "line": 462,
+ "column": 96
+ }
+ }
+ },
+ "range": [
+ 16227,
+ 16310
+ ],
+ "loc": {
+ "start": {
+ "line": 462,
+ "column": 14
+ },
+ "end": {
+ "line": 462,
+ "column": 97
+ }
+ }
+ }
+ ],
+ "range": [
+ 16211,
+ 16324
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 60
+ },
+ "end": {
+ "line": 463,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 16163,
+ 16324
+ ],
+ "loc": {
+ "start": {
+ "line": 461,
+ "column": 12
+ },
+ "end": {
+ "line": 463,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 15890,
+ 16336
+ ],
+ "loc": {
+ "start": {
+ "line": 456,
+ "column": 24
+ },
+ "end": {
+ "line": 464,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 15876,
+ 16336
+ ],
+ "loc": {
+ "start": {
+ "line": 456,
+ "column": 10
+ },
+ "end": {
+ "line": 464,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 15797,
+ 16346
+ ],
+ "loc": {
+ "start": {
+ "line": 454,
+ "column": 16
+ },
+ "end": {
+ "line": 465,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 16364,
+ 16370
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 10
+ },
+ "end": {
+ "line": 466,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 16371,
+ 16375
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 17
+ },
+ "end": {
+ "line": 466,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 16364,
+ 16375
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 10
+ },
+ "end": {
+ "line": 466,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16376,
+ 16380
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 22
+ },
+ "end": {
+ "line": 466,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 16381,
+ 16386
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 27
+ },
+ "end": {
+ "line": 466,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 16376,
+ 16386
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 22
+ },
+ "end": {
+ "line": 466,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16387,
+ 16391
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 33
+ },
+ "end": {
+ "line": 466,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 16376,
+ 16392
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 22
+ },
+ "end": {
+ "line": 466,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 16364,
+ 16393
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 10
+ },
+ "end": {
+ "line": 466,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 16394,
+ 16401
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 40
+ },
+ "end": {
+ "line": 466,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 16364,
+ 16401
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 10
+ },
+ "end": {
+ "line": 466,
+ "column": 47
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16402,
+ 16404
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 48
+ },
+ "end": {
+ "line": 466,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16408,
+ 16412
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 54
+ },
+ "end": {
+ "line": 466,
+ "column": 58
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "remove",
+ "range": [
+ 16413,
+ 16419
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 59
+ },
+ "end": {
+ "line": 466,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 16408,
+ 16419
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 54
+ },
+ "end": {
+ "line": 466,
+ "column": 65
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16420,
+ 16424
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 66
+ },
+ "end": {
+ "line": 466,
+ "column": 70
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16426,
+ 16428
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 72
+ },
+ "end": {
+ "line": 466,
+ "column": 74
+ }
+ }
+ }
+ ],
+ "range": [
+ 16408,
+ 16429
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 54
+ },
+ "end": {
+ "line": 466,
+ "column": 75
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 16402,
+ 16429
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 48
+ },
+ "end": {
+ "line": 466,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 16364,
+ 16430
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 10
+ },
+ "end": {
+ "line": 466,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 16364,
+ 16431
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 10
+ },
+ "end": {
+ "line": 466,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 16352,
+ 16441
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 15
+ },
+ "end": {
+ "line": 467,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 15789,
+ 16441
+ ],
+ "loc": {
+ "start": {
+ "line": 454,
+ "column": 8
+ },
+ "end": {
+ "line": 467,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 15779,
+ 16449
+ ],
+ "loc": {
+ "start": {
+ "line": 453,
+ "column": 29
+ },
+ "end": {
+ "line": 468,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 16475,
+ 16484
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 18
+ },
+ "end": {
+ "line": 469,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 16485,
+ 16502
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 28
+ },
+ "end": {
+ "line": 469,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 16506,
+ 16509
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 49
+ },
+ "end": {
+ "line": 469,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16502,
+ 16506
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 45
+ },
+ "end": {
+ "line": 469,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "range": [
+ 16485,
+ 16509
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 28
+ },
+ "end": {
+ "line": 469,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "range": [
+ 16471,
+ 16510
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 14
+ },
+ "end": {
+ "line": 469,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 16465,
+ 16511
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 8
+ },
+ "end": {
+ "line": 469,
+ "column": 54
+ }
+ }
+ }
+ ],
+ "range": [
+ 16455,
+ 16519
+ ],
+ "loc": {
+ "start": {
+ "line": 468,
+ "column": 13
+ },
+ "end": {
+ "line": 470,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 15756,
+ 16519
+ ],
+ "loc": {
+ "start": {
+ "line": 453,
+ "column": 6
+ },
+ "end": {
+ "line": 470,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 15748,
+ 16525
+ ],
+ "loc": {
+ "start": {
+ "line": 452,
+ "column": 14
+ },
+ "end": {
+ "line": 471,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 16549,
+ 16558
+ ],
+ "loc": {
+ "start": {
+ "line": 472,
+ "column": 16
+ },
+ "end": {
+ "line": 472,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide a type to remove",
+ "cooked": "You must provide a type to remove"
+ },
+ "tail": true,
+ "range": [
+ 16559,
+ 16594
+ ],
+ "loc": {
+ "start": {
+ "line": 472,
+ "column": 26
+ },
+ "end": {
+ "line": 472,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 16559,
+ 16594
+ ],
+ "loc": {
+ "start": {
+ "line": 472,
+ "column": 26
+ },
+ "end": {
+ "line": 472,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "range": [
+ 16545,
+ 16595
+ ],
+ "loc": {
+ "start": {
+ "line": 472,
+ "column": 12
+ },
+ "end": {
+ "line": 472,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 16539,
+ 16596
+ ],
+ "loc": {
+ "start": {
+ "line": 472,
+ "column": 6
+ },
+ "end": {
+ "line": 472,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 16531,
+ 16602
+ ],
+ "loc": {
+ "start": {
+ "line": 471,
+ "column": 11
+ },
+ "end": {
+ "line": 473,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 15738,
+ 16602
+ ],
+ "loc": {
+ "start": {
+ "line": 452,
+ "column": 4
+ },
+ "end": {
+ "line": 473,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 15732,
+ 16606
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 19
+ },
+ "end": {
+ "line": 474,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 15721,
+ 16606
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 8
+ },
+ "end": {
+ "line": 474,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 15715,
+ 16606
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 2
+ },
+ "end": {
+ "line": 474,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 15370,
+ 15712
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 2
+ },
+ "end": {
+ "line": 450,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 16610,
+ 17319
+ ],
+ "loc": {
+ "start": {
+ "line": 476,
+ "column": 2
+ },
+ "end": {
+ "line": 495,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 17322,
+ 17328
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 2
+ },
+ "end": {
+ "line": 496,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 17329,
+ 17333
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 9
+ },
+ "end": {
+ "line": 496,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 17335,
+ 17337
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 15
+ },
+ "end": {
+ "line": 496,
+ "column": 17
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 17339,
+ 17346
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 19
+ },
+ "end": {
+ "line": 496,
+ "column": 26
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 17348,
+ 17355
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 28
+ },
+ "end": {
+ "line": 496,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 17357,
+ 17362
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 37
+ },
+ "end": {
+ "line": 496,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 17364,
+ 17371
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 44
+ },
+ "end": {
+ "line": 496,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 17383,
+ 17387
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 8
+ },
+ "end": {
+ "line": 497,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 17388,
+ 17396
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 13
+ },
+ "end": {
+ "line": 497,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 17383,
+ 17396
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 8
+ },
+ "end": {
+ "line": 497,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 17406,
+ 17410
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 6
+ },
+ "end": {
+ "line": 498,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 17411,
+ 17419
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 11
+ },
+ "end": {
+ "line": 498,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 17406,
+ 17419
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 6
+ },
+ "end": {
+ "line": 498,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 17420,
+ 17426
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 20
+ },
+ "end": {
+ "line": 498,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 17406,
+ 17426
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 6
+ },
+ "end": {
+ "line": 498,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 17427,
+ 17431
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 27
+ },
+ "end": {
+ "line": 498,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 17433,
+ 17437
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 33
+ },
+ "end": {
+ "line": 498,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 17439,
+ 17441
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 39
+ },
+ "end": {
+ "line": 498,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 17443,
+ 17450
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 43
+ },
+ "end": {
+ "line": 498,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 17452,
+ 17459
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 52
+ },
+ "end": {
+ "line": 498,
+ "column": 59
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 17461,
+ 17466
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 61
+ },
+ "end": {
+ "line": 498,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 17468,
+ 17475
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 68
+ },
+ "end": {
+ "line": 498,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 17406,
+ 17476
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 6
+ },
+ "end": {
+ "line": 498,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 17406,
+ 17477
+ ],
+ "loc": {
+ "start": {
+ "line": 498,
+ "column": 6
+ },
+ "end": {
+ "line": 498,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 17398,
+ 17483
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 23
+ },
+ "end": {
+ "line": 499,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 17507,
+ 17512
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 16
+ },
+ "end": {
+ "line": 500,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 17513,
+ 17609
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 22
+ },
+ "end": {
+ "line": 500,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 17503,
+ 17610
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 12
+ },
+ "end": {
+ "line": 500,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 17497,
+ 17611
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 6
+ },
+ "end": {
+ "line": 500,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 17489,
+ 17617
+ ],
+ "loc": {
+ "start": {
+ "line": 499,
+ "column": 11
+ },
+ "end": {
+ "line": 501,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 17379,
+ 17617
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 4
+ },
+ "end": {
+ "line": 501,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 17373,
+ 17621
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 53
+ },
+ "end": {
+ "line": 502,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 17328,
+ 17621
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 8
+ },
+ "end": {
+ "line": 502,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 17322,
+ 17621
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 2
+ },
+ "end": {
+ "line": 502,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 16610,
+ 17319
+ ],
+ "loc": {
+ "start": {
+ "line": 476,
+ "column": 2
+ },
+ "end": {
+ "line": 495,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_addField",
+ "range": [
+ 17625,
+ 17634
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 2
+ },
+ "end": {
+ "line": 504,
+ "column": 11
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 17635,
+ 17641
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 12
+ },
+ "end": {
+ "line": 504,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 17643,
+ 17651
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 20
+ },
+ "end": {
+ "line": 504,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 17653,
+ 17663
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 30
+ },
+ "end": {
+ "line": 504,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 17665,
+ 17674
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 42
+ },
+ "end": {
+ "line": 504,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 17686,
+ 17691
+ ],
+ "loc": {
+ "start": {
+ "line": 505,
+ "column": 8
+ },
+ "end": {
+ "line": 505,
+ "column": 13
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 17694,
+ 17704
+ ],
+ "loc": {
+ "start": {
+ "line": 505,
+ "column": 16
+ },
+ "end": {
+ "line": 505,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 17705,
+ 17714
+ ],
+ "loc": {
+ "start": {
+ "line": 505,
+ "column": 27
+ },
+ "end": {
+ "line": 505,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 17694,
+ 17715
+ ],
+ "loc": {
+ "start": {
+ "line": 505,
+ "column": 16
+ },
+ "end": {
+ "line": 505,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 17686,
+ 17715
+ ],
+ "loc": {
+ "start": {
+ "line": 505,
+ "column": 8
+ },
+ "end": {
+ "line": 505,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 17682,
+ 17716
+ ],
+ "loc": {
+ "start": {
+ "line": 505,
+ "column": 4
+ },
+ "end": {
+ "line": 505,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 17725,
+ 17733
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 8
+ },
+ "end": {
+ "line": 506,
+ "column": 16
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 17736,
+ 17741
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 19
+ },
+ "end": {
+ "line": 506,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 17742,
+ 17753
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 25
+ },
+ "end": {
+ "line": 506,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 17736,
+ 17753
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 19
+ },
+ "end": {
+ "line": 506,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 17754,
+ 17758
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 37
+ },
+ "end": {
+ "line": 506,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 17736,
+ 17758
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 19
+ },
+ "end": {
+ "line": 506,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 17759,
+ 17763
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 42
+ },
+ "end": {
+ "line": 506,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 17765,
+ 17771
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 48
+ },
+ "end": {
+ "line": 506,
+ "column": 54
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 17773,
+ 17782
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 56
+ },
+ "end": {
+ "line": 506,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 17736,
+ 17783
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 19
+ },
+ "end": {
+ "line": 506,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 17725,
+ 17783
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 8
+ },
+ "end": {
+ "line": 506,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 17721,
+ 17784
+ ],
+ "loc": {
+ "start": {
+ "line": 506,
+ "column": 4
+ },
+ "end": {
+ "line": 506,
+ "column": 67
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 17800,
+ 17808
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 15
+ },
+ "end": {
+ "line": 507,
+ "column": 23
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 17793,
+ 17808
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 8
+ },
+ "end": {
+ "line": 507,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "undefined",
+ "raw": "\"undefined\"",
+ "range": [
+ 17813,
+ 17824
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 28
+ },
+ "end": {
+ "line": 507,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 17793,
+ 17824
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 8
+ },
+ "end": {
+ "line": 507,
+ "column": 39
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 17838,
+ 17843
+ ],
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 10
+ },
+ "end": {
+ "line": 508,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 17844,
+ 17848
+ ],
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 16
+ },
+ "end": {
+ "line": 508,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 17838,
+ 17848
+ ],
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 10
+ },
+ "end": {
+ "line": 508,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 17853,
+ 17862
+ ],
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 25
+ },
+ "end": {
+ "line": 508,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 17838,
+ 17862
+ ],
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 10
+ },
+ "end": {
+ "line": 508,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 17878,
+ 17886
+ ],
+ "loc": {
+ "start": {
+ "line": 509,
+ "column": 12
+ },
+ "end": {
+ "line": 509,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 17887,
+ 17896
+ ],
+ "loc": {
+ "start": {
+ "line": 509,
+ "column": 21
+ },
+ "end": {
+ "line": 509,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 17878,
+ 17897
+ ],
+ "loc": {
+ "start": {
+ "line": 509,
+ "column": 12
+ },
+ "end": {
+ "line": 509,
+ "column": 31
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 17911,
+ 17915
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 10
+ },
+ "end": {
+ "line": 510,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_removeInverseRelationship",
+ "range": [
+ 17916,
+ 17942
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 15
+ },
+ "end": {
+ "line": 510,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 17911,
+ 17942
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 10
+ },
+ "end": {
+ "line": 510,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 17943,
+ 17951
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 42
+ },
+ "end": {
+ "line": 510,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 17953,
+ 17962
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 52
+ },
+ "end": {
+ "line": 510,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 17964,
+ 17972
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 63
+ },
+ "end": {
+ "line": 510,
+ "column": 71
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 17973,
+ 17982
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 72
+ },
+ "end": {
+ "line": 510,
+ "column": 81
+ }
+ }
+ },
+ "range": [
+ 17964,
+ 17983
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 63
+ },
+ "end": {
+ "line": 510,
+ "column": 82
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 17985,
+ 17990
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 84
+ },
+ "end": {
+ "line": 510,
+ "column": 89
+ }
+ }
+ }
+ ],
+ "range": [
+ 17911,
+ 17991
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 10
+ },
+ "end": {
+ "line": 510,
+ "column": 90
+ }
+ }
+ },
+ "range": [
+ 17911,
+ 17992
+ ],
+ "loc": {
+ "start": {
+ "line": 510,
+ "column": 10
+ },
+ "end": {
+ "line": 510,
+ "column": 91
+ }
+ }
+ }
+ ],
+ "range": [
+ 17899,
+ 18002
+ ],
+ "loc": {
+ "start": {
+ "line": 509,
+ "column": 33
+ },
+ "end": {
+ "line": 511,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 17874,
+ 18002
+ ],
+ "loc": {
+ "start": {
+ "line": 509,
+ "column": 8
+ },
+ "end": {
+ "line": 511,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18015,
+ 18023
+ ],
+ "loc": {
+ "start": {
+ "line": 512,
+ "column": 12
+ },
+ "end": {
+ "line": 512,
+ "column": 20
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18037,
+ 18041
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 10
+ },
+ "end": {
+ "line": 513,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_addInverseRelationship",
+ "range": [
+ 18042,
+ 18065
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 15
+ },
+ "end": {
+ "line": 513,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 18037,
+ 18065
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 10
+ },
+ "end": {
+ "line": 513,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18066,
+ 18074
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 39
+ },
+ "end": {
+ "line": 513,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18076,
+ 18085
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 49
+ },
+ "end": {
+ "line": 513,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18087,
+ 18095
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 60
+ },
+ "end": {
+ "line": 513,
+ "column": 68
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18097,
+ 18102
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 70
+ },
+ "end": {
+ "line": 513,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 18037,
+ 18103
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 10
+ },
+ "end": {
+ "line": 513,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 18037,
+ 18104
+ ],
+ "loc": {
+ "start": {
+ "line": 513,
+ "column": 10
+ },
+ "end": {
+ "line": 513,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 18025,
+ 18114
+ ],
+ "loc": {
+ "start": {
+ "line": 512,
+ "column": 22
+ },
+ "end": {
+ "line": 514,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18011,
+ 18114
+ ],
+ "loc": {
+ "start": {
+ "line": 512,
+ "column": 8
+ },
+ "end": {
+ "line": 514,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 17864,
+ 18122
+ ],
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 36
+ },
+ "end": {
+ "line": 515,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18132,
+ 18137
+ ],
+ "loc": {
+ "start": {
+ "line": 515,
+ "column": 17
+ },
+ "end": {
+ "line": 515,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 18138,
+ 18142
+ ],
+ "loc": {
+ "start": {
+ "line": 515,
+ "column": 23
+ },
+ "end": {
+ "line": 515,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 18132,
+ 18142
+ ],
+ "loc": {
+ "start": {
+ "line": 515,
+ "column": 17
+ },
+ "end": {
+ "line": 515,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 18147,
+ 18157
+ ],
+ "loc": {
+ "start": {
+ "line": 515,
+ "column": 32
+ },
+ "end": {
+ "line": 515,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 18132,
+ 18157
+ ],
+ "loc": {
+ "start": {
+ "line": 515,
+ "column": 17
+ },
+ "end": {
+ "line": 515,
+ "column": 42
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18169,
+ 18177
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 8
+ },
+ "end": {
+ "line": 516,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18178,
+ 18187
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 17
+ },
+ "end": {
+ "line": 516,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 18169,
+ 18188
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 8
+ },
+ "end": {
+ "line": 516,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 18189,
+ 18196
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 28
+ },
+ "end": {
+ "line": 516,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 18169,
+ 18196
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 8
+ },
+ "end": {
+ "line": 516,
+ "column": 35
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18197,
+ 18198
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 36
+ },
+ "end": {
+ "line": 516,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18218,
+ 18226
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 14
+ },
+ "end": {
+ "line": 517,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18227,
+ 18236
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 23
+ },
+ "end": {
+ "line": 517,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 18218,
+ 18237
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 14
+ },
+ "end": {
+ "line": 517,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "indexOf",
+ "range": [
+ 18238,
+ 18245
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 34
+ },
+ "end": {
+ "line": 517,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 18218,
+ 18245
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 14
+ },
+ "end": {
+ "line": 517,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18246,
+ 18247
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 42
+ },
+ "end": {
+ "line": 517,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 18218,
+ 18248
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 14
+ },
+ "end": {
+ "line": 517,
+ "column": 44
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "-",
+ "argument": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 18254,
+ 18255
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 50
+ },
+ "end": {
+ "line": 517,
+ "column": 51
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 18253,
+ 18255
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 49
+ },
+ "end": {
+ "line": 517,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 18218,
+ 18255
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 14
+ },
+ "end": {
+ "line": 517,
+ "column": 51
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18271,
+ 18275
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 12
+ },
+ "end": {
+ "line": 518,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_removeInverseRelationship",
+ "range": [
+ 18276,
+ 18302
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 17
+ },
+ "end": {
+ "line": 518,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 18271,
+ 18302
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 12
+ },
+ "end": {
+ "line": 518,
+ "column": 43
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18303,
+ 18311
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 44
+ },
+ "end": {
+ "line": 518,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18313,
+ 18322
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 54
+ },
+ "end": {
+ "line": 518,
+ "column": 63
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18324,
+ 18325
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 65
+ },
+ "end": {
+ "line": 518,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18327,
+ 18332
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 68
+ },
+ "end": {
+ "line": 518,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 18271,
+ 18333
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 12
+ },
+ "end": {
+ "line": 518,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 18271,
+ 18334
+ ],
+ "loc": {
+ "start": {
+ "line": 518,
+ "column": 12
+ },
+ "end": {
+ "line": 518,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 18257,
+ 18346
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 53
+ },
+ "end": {
+ "line": 519,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18214,
+ 18346
+ ],
+ "loc": {
+ "start": {
+ "line": 517,
+ "column": 10
+ },
+ "end": {
+ "line": 519,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 18202,
+ 18356
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 41
+ },
+ "end": {
+ "line": 520,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 18197,
+ 18356
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 36
+ },
+ "end": {
+ "line": 520,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 18169,
+ 18357
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 8
+ },
+ "end": {
+ "line": 520,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 18169,
+ 18358
+ ],
+ "loc": {
+ "start": {
+ "line": 516,
+ "column": 8
+ },
+ "end": {
+ "line": 520,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18367,
+ 18375
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 8
+ },
+ "end": {
+ "line": 521,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 18376,
+ 18383
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 17
+ },
+ "end": {
+ "line": 521,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 18367,
+ 18383
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 8
+ },
+ "end": {
+ "line": 521,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18384,
+ 18385
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 25
+ },
+ "end": {
+ "line": 521,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18401,
+ 18405
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 10
+ },
+ "end": {
+ "line": 522,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_addInverseRelationship",
+ "range": [
+ 18406,
+ 18429
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 15
+ },
+ "end": {
+ "line": 522,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 18401,
+ 18429
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 10
+ },
+ "end": {
+ "line": 522,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18430,
+ 18438
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 39
+ },
+ "end": {
+ "line": 522,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18440,
+ 18449
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 49
+ },
+ "end": {
+ "line": 522,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18451,
+ 18452
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 60
+ },
+ "end": {
+ "line": 522,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18454,
+ 18459
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 63
+ },
+ "end": {
+ "line": 522,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 18401,
+ 18460
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 10
+ },
+ "end": {
+ "line": 522,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 18401,
+ 18461
+ ],
+ "loc": {
+ "start": {
+ "line": 522,
+ "column": 10
+ },
+ "end": {
+ "line": 522,
+ "column": 70
+ }
+ }
+ }
+ ],
+ "range": [
+ 18389,
+ 18471
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 30
+ },
+ "end": {
+ "line": 523,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 18384,
+ 18471
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 25
+ },
+ "end": {
+ "line": 523,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 18367,
+ 18472
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 8
+ },
+ "end": {
+ "line": 523,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 18367,
+ 18473
+ ],
+ "loc": {
+ "start": {
+ "line": 521,
+ "column": 8
+ },
+ "end": {
+ "line": 523,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 18159,
+ 18481
+ ],
+ "loc": {
+ "start": {
+ "line": 515,
+ "column": 44
+ },
+ "end": {
+ "line": 524,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18128,
+ 18481
+ ],
+ "loc": {
+ "start": {
+ "line": 515,
+ "column": 13
+ },
+ "end": {
+ "line": 524,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 17834,
+ 18481
+ ],
+ "loc": {
+ "start": {
+ "line": 508,
+ "column": 6
+ },
+ "end": {
+ "line": 524,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18488,
+ 18496
+ ],
+ "loc": {
+ "start": {
+ "line": 525,
+ "column": 6
+ },
+ "end": {
+ "line": 525,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18497,
+ 18506
+ ],
+ "loc": {
+ "start": {
+ "line": 525,
+ "column": 15
+ },
+ "end": {
+ "line": 525,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 18488,
+ 18507
+ ],
+ "loc": {
+ "start": {
+ "line": 525,
+ "column": 6
+ },
+ "end": {
+ "line": 525,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18510,
+ 18518
+ ],
+ "loc": {
+ "start": {
+ "line": 525,
+ "column": 28
+ },
+ "end": {
+ "line": 525,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 18488,
+ 18518
+ ],
+ "loc": {
+ "start": {
+ "line": 525,
+ "column": 6
+ },
+ "end": {
+ "line": 525,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 18488,
+ 18519
+ ],
+ "loc": {
+ "start": {
+ "line": 525,
+ "column": 6
+ },
+ "end": {
+ "line": 525,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 17826,
+ 18525
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 41
+ },
+ "end": {
+ "line": 526,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 17789,
+ 18525
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 4
+ },
+ "end": {
+ "line": 526,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 17676,
+ 18529
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 53
+ },
+ "end": {
+ "line": 527,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 17634,
+ 18529
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 11
+ },
+ "end": {
+ "line": 527,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 17625,
+ 18529
+ ],
+ "loc": {
+ "start": {
+ "line": 504,
+ "column": 2
+ },
+ "end": {
+ "line": 527,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_addInverseRelationship",
+ "range": [
+ 18533,
+ 18556
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 2
+ },
+ "end": {
+ "line": 529,
+ "column": 25
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 18557,
+ 18571
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 26
+ },
+ "end": {
+ "line": 529,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 18573,
+ 18588
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 42
+ },
+ "end": {
+ "line": 529,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 18590,
+ 18604
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 59
+ },
+ "end": {
+ "line": 529,
+ "column": 73
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 18606,
+ 18617
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 75
+ },
+ "end": {
+ "line": 529,
+ "column": 86
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 18629,
+ 18645
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 8
+ },
+ "end": {
+ "line": 530,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18648,
+ 18652
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 27
+ },
+ "end": {
+ "line": 530,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 18653,
+ 18659
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 32
+ },
+ "end": {
+ "line": 530,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 18648,
+ 18659
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 27
+ },
+ "end": {
+ "line": 530,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 18660,
+ 18674
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 39
+ },
+ "end": {
+ "line": 530,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 18675,
+ 18679
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 54
+ },
+ "end": {
+ "line": 530,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 18660,
+ 18679
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 39
+ },
+ "end": {
+ "line": 530,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 18648,
+ 18680
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 27
+ },
+ "end": {
+ "line": 530,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 18629,
+ 18680
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 8
+ },
+ "end": {
+ "line": 530,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 18625,
+ 18681
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 4
+ },
+ "end": {
+ "line": 530,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "sourceDefinition",
+ "range": [
+ 18690,
+ 18706
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 8
+ },
+ "end": {
+ "line": 531,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18709,
+ 18713
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 27
+ },
+ "end": {
+ "line": 531,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 18714,
+ 18720
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 32
+ },
+ "end": {
+ "line": 531,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 18709,
+ 18720
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 27
+ },
+ "end": {
+ "line": 531,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 18721,
+ 18735
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 39
+ },
+ "end": {
+ "line": 531,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 18736,
+ 18740
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 54
+ },
+ "end": {
+ "line": 531,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 18721,
+ 18740
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 39
+ },
+ "end": {
+ "line": 531,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 18709,
+ 18741
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 27
+ },
+ "end": {
+ "line": 531,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 18690,
+ 18741
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 8
+ },
+ "end": {
+ "line": 531,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 18686,
+ 18742
+ ],
+ "loc": {
+ "start": {
+ "line": 531,
+ "column": 4
+ },
+ "end": {
+ "line": 531,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 18751,
+ 18767
+ ],
+ "loc": {
+ "start": {
+ "line": 532,
+ "column": 8
+ },
+ "end": {
+ "line": 532,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 18781,
+ 18796
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 10
+ },
+ "end": {
+ "line": 533,
+ "column": 25
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 18801,
+ 18812
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 30
+ },
+ "end": {
+ "line": 533,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 18813,
+ 18820
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 42
+ },
+ "end": {
+ "line": 533,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 18801,
+ 18820
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 30
+ },
+ "end": {
+ "line": 533,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "range": [
+ 18799,
+ 18822
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 28
+ },
+ "end": {
+ "line": 533,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "concat",
+ "range": [
+ 18823,
+ 18829
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 52
+ },
+ "end": {
+ "line": 533,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 18799,
+ 18829
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 28
+ },
+ "end": {
+ "line": 533,
+ "column": 58
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceDefinition",
+ "range": [
+ 18830,
+ 18846
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 59
+ },
+ "end": {
+ "line": 533,
+ "column": 75
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 18847,
+ 18853
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 76
+ },
+ "end": {
+ "line": 533,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 18830,
+ 18853
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 59
+ },
+ "end": {
+ "line": 533,
+ "column": 82
+ }
+ }
+ }
+ ],
+ "range": [
+ 18799,
+ 18854
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 28
+ },
+ "end": {
+ "line": 533,
+ "column": 83
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 18855,
+ 18859
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 84
+ },
+ "end": {
+ "line": 533,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 18799,
+ 18859
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 28
+ },
+ "end": {
+ "line": 533,
+ "column": 88
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 18860,
+ 18861
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 89
+ },
+ "end": {
+ "line": 533,
+ "column": 90
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 18865,
+ 18881
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 94
+ },
+ "end": {
+ "line": 533,
+ "column": 110
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 18882,
+ 18883
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 111
+ },
+ "end": {
+ "line": 533,
+ "column": 112
+ }
+ }
+ },
+ "range": [
+ 18865,
+ 18884
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 94
+ },
+ "end": {
+ "line": 533,
+ "column": 113
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 18860,
+ 18884
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 89
+ },
+ "end": {
+ "line": 533,
+ "column": 113
+ }
+ }
+ }
+ ],
+ "range": [
+ 18799,
+ 18885
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 28
+ },
+ "end": {
+ "line": 533,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 18781,
+ 18885
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 10
+ },
+ "end": {
+ "line": 533,
+ "column": 114
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 18777,
+ 18886
+ ],
+ "loc": {
+ "start": {
+ "line": 533,
+ "column": 6
+ },
+ "end": {
+ "line": 533,
+ "column": 115
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 18897,
+ 18908
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 10
+ },
+ "end": {
+ "line": 534,
+ "column": 21
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 18911,
+ 18927
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 24
+ },
+ "end": {
+ "line": 534,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 18931,
+ 18947
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 44
+ },
+ "end": {
+ "line": 534,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 18948,
+ 18963
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 61
+ },
+ "end": {
+ "line": 534,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 18931,
+ 18964
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 44
+ },
+ "end": {
+ "line": 534,
+ "column": 77
+ }
+ }
+ },
+ "range": [
+ 18911,
+ 18964
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 24
+ },
+ "end": {
+ "line": 534,
+ "column": 77
+ }
+ }
+ },
+ "range": [
+ 18897,
+ 18964
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 10
+ },
+ "end": {
+ "line": 534,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 18893,
+ 18965
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 6
+ },
+ "end": {
+ "line": 534,
+ "column": 78
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 18972,
+ 18986
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 6
+ },
+ "end": {
+ "line": 535,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 18987,
+ 18998
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 21
+ },
+ "end": {
+ "line": 535,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 18972,
+ 18998
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 6
+ },
+ "end": {
+ "line": 535,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 18999,
+ 19003
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 33
+ },
+ "end": {
+ "line": 535,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 18972,
+ 19003
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 6
+ },
+ "end": {
+ "line": 535,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19006,
+ 19010
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 40
+ },
+ "end": {
+ "line": 535,
+ "column": 44
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19012,
+ 19026
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 46
+ },
+ "end": {
+ "line": 535,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19027,
+ 19031
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 61
+ },
+ "end": {
+ "line": 535,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 19012,
+ 19031
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 46
+ },
+ "end": {
+ "line": 535,
+ "column": 65
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19006,
+ 19031
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 40
+ },
+ "end": {
+ "line": 535,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19033,
+ 19035
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 67
+ },
+ "end": {
+ "line": 535,
+ "column": 69
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19037,
+ 19051
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 71
+ },
+ "end": {
+ "line": 535,
+ "column": 85
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19052,
+ 19054
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 86
+ },
+ "end": {
+ "line": 535,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 19037,
+ 19054
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 71
+ },
+ "end": {
+ "line": 535,
+ "column": 88
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19033,
+ 19054
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 67
+ },
+ "end": {
+ "line": 535,
+ "column": 88
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 19056,
+ 19065
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 90
+ },
+ "end": {
+ "line": 535,
+ "column": 99
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 19067,
+ 19082
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 101
+ },
+ "end": {
+ "line": 535,
+ "column": 116
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19056,
+ 19082
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 90
+ },
+ "end": {
+ "line": 535,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 19004,
+ 19084
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 38
+ },
+ "end": {
+ "line": 535,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 18972,
+ 19085
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 6
+ },
+ "end": {
+ "line": 535,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 18972,
+ 19086
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 6
+ },
+ "end": {
+ "line": 535,
+ "column": 120
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19097,
+ 19108
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 10
+ },
+ "end": {
+ "line": 536,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19124,
+ 19135
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 12
+ },
+ "end": {
+ "line": 537,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19136,
+ 19140
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 24
+ },
+ "end": {
+ "line": 537,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 19124,
+ 19140
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 12
+ },
+ "end": {
+ "line": 537,
+ "column": 28
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 19145,
+ 19154
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 33
+ },
+ "end": {
+ "line": 537,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 19124,
+ 19154
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 12
+ },
+ "end": {
+ "line": 537,
+ "column": 42
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19168,
+ 19182
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 19183,
+ 19194
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 25
+ },
+ "end": {
+ "line": 538,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 19168,
+ 19194
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 19195,
+ 19199
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 37
+ },
+ "end": {
+ "line": 538,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 19168,
+ 19199
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19202,
+ 19206
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 44
+ },
+ "end": {
+ "line": 538,
+ "column": 48
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19208,
+ 19222
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 50
+ },
+ "end": {
+ "line": 538,
+ "column": 64
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19223,
+ 19227
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 65
+ },
+ "end": {
+ "line": 538,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 19208,
+ 19227
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 50
+ },
+ "end": {
+ "line": 538,
+ "column": 69
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19202,
+ 19227
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 44
+ },
+ "end": {
+ "line": 538,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19229,
+ 19231
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 71
+ },
+ "end": {
+ "line": 538,
+ "column": 73
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19233,
+ 19247
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 75
+ },
+ "end": {
+ "line": 538,
+ "column": 89
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19248,
+ 19250
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 90
+ },
+ "end": {
+ "line": 538,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 19233,
+ 19250
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 75
+ },
+ "end": {
+ "line": 538,
+ "column": 92
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19229,
+ 19250
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 71
+ },
+ "end": {
+ "line": 538,
+ "column": 92
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 19252,
+ 19261
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 94
+ },
+ "end": {
+ "line": 538,
+ "column": 103
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19263,
+ 19278
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 105
+ },
+ "end": {
+ "line": 538,
+ "column": 120
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19252,
+ 19278
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 94
+ },
+ "end": {
+ "line": 538,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 19200,
+ 19280
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 42
+ },
+ "end": {
+ "line": 538,
+ "column": 122
+ }
+ }
+ }
+ ],
+ "range": [
+ 19168,
+ 19281
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 123
+ }
+ }
+ },
+ "range": [
+ 19168,
+ 19282
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 124
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19293,
+ 19307
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 10
+ },
+ "end": {
+ "line": 539,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19308,
+ 19323
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 25
+ },
+ "end": {
+ "line": 539,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 19293,
+ 19324
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 10
+ },
+ "end": {
+ "line": 539,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19327,
+ 19341
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 44
+ },
+ "end": {
+ "line": 539,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19293,
+ 19341
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 10
+ },
+ "end": {
+ "line": 539,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19293,
+ 19342
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 10
+ },
+ "end": {
+ "line": 539,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "range": [
+ 19156,
+ 19352
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 44
+ },
+ "end": {
+ "line": 540,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19362,
+ 19373
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 19
+ },
+ "end": {
+ "line": 540,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19374,
+ 19378
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 31
+ },
+ "end": {
+ "line": 540,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 19362,
+ 19378
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 19
+ },
+ "end": {
+ "line": 540,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 19383,
+ 19393
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 40
+ },
+ "end": {
+ "line": 540,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 19362,
+ 19393
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 19
+ },
+ "end": {
+ "line": 540,
+ "column": 50
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19407,
+ 19421
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 10
+ },
+ "end": {
+ "line": 541,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 19422,
+ 19433
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 25
+ },
+ "end": {
+ "line": 541,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 19407,
+ 19433
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 10
+ },
+ "end": {
+ "line": 541,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 19434,
+ 19438
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 37
+ },
+ "end": {
+ "line": 541,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 19407,
+ 19438
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 10
+ },
+ "end": {
+ "line": 541,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19441,
+ 19445
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 44
+ },
+ "end": {
+ "line": 541,
+ "column": 48
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19447,
+ 19461
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 50
+ },
+ "end": {
+ "line": 541,
+ "column": 64
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19462,
+ 19466
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 65
+ },
+ "end": {
+ "line": 541,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 19447,
+ 19466
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 50
+ },
+ "end": {
+ "line": 541,
+ "column": 69
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19441,
+ 19466
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 44
+ },
+ "end": {
+ "line": 541,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19468,
+ 19470
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 71
+ },
+ "end": {
+ "line": 541,
+ "column": 73
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19472,
+ 19486
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 75
+ },
+ "end": {
+ "line": 541,
+ "column": 89
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19487,
+ 19489
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 90
+ },
+ "end": {
+ "line": 541,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 19472,
+ 19489
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 75
+ },
+ "end": {
+ "line": 541,
+ "column": 92
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19468,
+ 19489
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 71
+ },
+ "end": {
+ "line": 541,
+ "column": 92
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 19491,
+ 19500
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 94
+ },
+ "end": {
+ "line": 541,
+ "column": 103
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19502,
+ 19517
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 105
+ },
+ "end": {
+ "line": 541,
+ "column": 120
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19491,
+ 19517
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 94
+ },
+ "end": {
+ "line": 541,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 19439,
+ 19519
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 42
+ },
+ "end": {
+ "line": 541,
+ "column": 122
+ }
+ }
+ }
+ ],
+ "range": [
+ 19407,
+ 19520
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 10
+ },
+ "end": {
+ "line": 541,
+ "column": 123
+ }
+ }
+ },
+ "range": [
+ 19407,
+ 19521
+ ],
+ "loc": {
+ "start": {
+ "line": 541,
+ "column": 10
+ },
+ "end": {
+ "line": 541,
+ "column": 124
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19536,
+ 19550
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 14
+ },
+ "end": {
+ "line": 542,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19551,
+ 19566
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 29
+ },
+ "end": {
+ "line": 542,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 19536,
+ 19567
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 14
+ },
+ "end": {
+ "line": 542,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "indexOf",
+ "range": [
+ 19568,
+ 19575
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 46
+ },
+ "end": {
+ "line": 542,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 19536,
+ 19575
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 14
+ },
+ "end": {
+ "line": 542,
+ "column": 53
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19576,
+ 19590
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 54
+ },
+ "end": {
+ "line": 542,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 19536,
+ 19591
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 14
+ },
+ "end": {
+ "line": 542,
+ "column": 69
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "-",
+ "argument": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 19597,
+ 19598
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 75
+ },
+ "end": {
+ "line": 542,
+ "column": 76
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 19596,
+ 19598
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 74
+ },
+ "end": {
+ "line": 542,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 19536,
+ 19598
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 14
+ },
+ "end": {
+ "line": 542,
+ "column": 76
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19614,
+ 19628
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 12
+ },
+ "end": {
+ "line": 543,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19629,
+ 19644
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 27
+ },
+ "end": {
+ "line": 543,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 19614,
+ 19645
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 12
+ },
+ "end": {
+ "line": 543,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 19646,
+ 19650
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 44
+ },
+ "end": {
+ "line": 543,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 19614,
+ 19650
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 12
+ },
+ "end": {
+ "line": 543,
+ "column": 48
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19651,
+ 19665
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 49
+ },
+ "end": {
+ "line": 543,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 19614,
+ 19666
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 12
+ },
+ "end": {
+ "line": 543,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 19614,
+ 19667
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 12
+ },
+ "end": {
+ "line": 543,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 19600,
+ 19679
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 78
+ },
+ "end": {
+ "line": 544,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 19532,
+ 19679
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 10
+ },
+ "end": {
+ "line": 544,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 19395,
+ 19689
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 52
+ },
+ "end": {
+ "line": 545,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19699,
+ 19710
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 19
+ },
+ "end": {
+ "line": 545,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19711,
+ 19715
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 31
+ },
+ "end": {
+ "line": 545,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 19699,
+ 19715
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 19
+ },
+ "end": {
+ "line": 545,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "attr",
+ "raw": "\"attr\"",
+ "range": [
+ 19720,
+ 19726
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 40
+ },
+ "end": {
+ "line": 545,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 19699,
+ 19726
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 19
+ },
+ "end": {
+ "line": 545,
+ "column": 46
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 19750,
+ 19755
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 20
+ },
+ "end": {
+ "line": 546,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 19756,
+ 19793
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 26
+ },
+ "end": {
+ "line": 546,
+ "column": 63
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is an attribute ('",
+ "cooked": "' is an attribute ('"
+ },
+ "tail": false,
+ "range": [
+ 19808,
+ 19831
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 78
+ },
+ "end": {
+ "line": 546,
+ "column": 101
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 19846,
+ 19850
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 116
+ },
+ "end": {
+ "line": 546,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 19793,
+ 19808
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 63
+ },
+ "end": {
+ "line": 546,
+ "column": 78
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19831,
+ 19846
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 101
+ },
+ "end": {
+ "line": 546,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 19756,
+ 19850
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 26
+ },
+ "end": {
+ "line": 546,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 19746,
+ 19851
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 16
+ },
+ "end": {
+ "line": 546,
+ "column": 121
+ }
+ }
+ },
+ "range": [
+ 19740,
+ 19852
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 10
+ },
+ "end": {
+ "line": 546,
+ "column": 122
+ }
+ }
+ }
+ ],
+ "range": [
+ 19728,
+ 19862
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 48
+ },
+ "end": {
+ "line": 547,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 19695,
+ 19862
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 15
+ },
+ "end": {
+ "line": 547,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 19358,
+ 19862
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 15
+ },
+ "end": {
+ "line": 547,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 19120,
+ 19862
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 8
+ },
+ "end": {
+ "line": 547,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 19110,
+ 19870
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 23
+ },
+ "end": {
+ "line": 548,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 19880,
+ 19891
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 17
+ },
+ "end": {
+ "line": 548,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 19892,
+ 19899
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 29
+ },
+ "end": {
+ "line": 548,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 19880,
+ 19899
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 17
+ },
+ "end": {
+ "line": 548,
+ "column": 36
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 19921,
+ 19926
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 18
+ },
+ "end": {
+ "line": 549,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 19927,
+ 19964
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 24
+ },
+ "end": {
+ "line": 549,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is missing ('",
+ "cooked": "' is missing ('"
+ },
+ "tail": false,
+ "range": [
+ 19979,
+ 19997
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 76
+ },
+ "end": {
+ "line": 549,
+ "column": 94
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 20016,
+ 20020
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 113
+ },
+ "end": {
+ "line": 549,
+ "column": 117
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 19964,
+ 19979
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 61
+ },
+ "end": {
+ "line": 549,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 19997,
+ 20008
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 94
+ },
+ "end": {
+ "line": 549,
+ "column": 105
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 20009,
+ 20016
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 106
+ },
+ "end": {
+ "line": 549,
+ "column": 113
+ }
+ }
+ },
+ "range": [
+ 19997,
+ 20016
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 94
+ },
+ "end": {
+ "line": 549,
+ "column": 113
+ }
+ }
+ }
+ ],
+ "range": [
+ 19927,
+ 20020
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 24
+ },
+ "end": {
+ "line": 549,
+ "column": 117
+ }
+ }
+ }
+ ],
+ "range": [
+ 19917,
+ 20021
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 14
+ },
+ "end": {
+ "line": 549,
+ "column": 118
+ }
+ }
+ },
+ "range": [
+ 19911,
+ 20022
+ ],
+ "loc": {
+ "start": {
+ "line": 549,
+ "column": 8
+ },
+ "end": {
+ "line": 549,
+ "column": 119
+ }
+ }
+ }
+ ],
+ "range": [
+ 19901,
+ 20030
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 38
+ },
+ "end": {
+ "line": 550,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 19876,
+ 20030
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 13
+ },
+ "end": {
+ "line": 550,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 19093,
+ 20030
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 6
+ },
+ "end": {
+ "line": 550,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 18769,
+ 20036
+ ],
+ "loc": {
+ "start": {
+ "line": 532,
+ "column": 26
+ },
+ "end": {
+ "line": 551,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18747,
+ 20036
+ ],
+ "loc": {
+ "start": {
+ "line": 532,
+ "column": 4
+ },
+ "end": {
+ "line": 551,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 18619,
+ 20040
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 88
+ },
+ "end": {
+ "line": 552,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 18556,
+ 20040
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 25
+ },
+ "end": {
+ "line": 552,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 18533,
+ 20040
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 2
+ },
+ "end": {
+ "line": 552,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_remove",
+ "range": [
+ 20044,
+ 20051
+ ],
+ "loc": {
+ "start": {
+ "line": 554,
+ "column": 2
+ },
+ "end": {
+ "line": 554,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20052,
+ 20060
+ ],
+ "loc": {
+ "start": {
+ "line": 554,
+ "column": 10
+ },
+ "end": {
+ "line": 554,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20068,
+ 20076
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 4
+ },
+ "end": {
+ "line": 555,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 20077,
+ 20088
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 13
+ },
+ "end": {
+ "line": 555,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 20068,
+ 20088
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 4
+ },
+ "end": {
+ "line": 555,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 20089,
+ 20096
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 25
+ },
+ "end": {
+ "line": 555,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 20068,
+ 20096
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 4
+ },
+ "end": {
+ "line": 555,
+ "column": 32
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20097,
+ 20106
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 33
+ },
+ "end": {
+ "line": 555,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20122,
+ 20139
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 10
+ },
+ "end": {
+ "line": 556,
+ "column": 27
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 20142,
+ 20146
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 30
+ },
+ "end": {
+ "line": 556,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 20147,
+ 20152
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 35
+ },
+ "end": {
+ "line": 556,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 20142,
+ 20152
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 30
+ },
+ "end": {
+ "line": 556,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20153,
+ 20162
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 41
+ },
+ "end": {
+ "line": 556,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20163,
+ 20167
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 51
+ },
+ "end": {
+ "line": 556,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20153,
+ 20167
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 41
+ },
+ "end": {
+ "line": 556,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20142,
+ 20168
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 30
+ },
+ "end": {
+ "line": 556,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20169,
+ 20178
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 57
+ },
+ "end": {
+ "line": 556,
+ "column": 66
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 20179,
+ 20181
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 67
+ },
+ "end": {
+ "line": 556,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 20169,
+ 20181
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 57
+ },
+ "end": {
+ "line": 556,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 20142,
+ 20182
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 30
+ },
+ "end": {
+ "line": 556,
+ "column": 70
+ }
+ }
+ },
+ "range": [
+ 20122,
+ 20182
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 10
+ },
+ "end": {
+ "line": 556,
+ "column": 70
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 20118,
+ 20183
+ ],
+ "loc": {
+ "start": {
+ "line": 556,
+ "column": 6
+ },
+ "end": {
+ "line": 556,
+ "column": 71
+ }
+ }
+ },
+ {
+ "type": "SwitchStatement",
+ "discriminant": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 20198,
+ 20202
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 14
+ },
+ "end": {
+ "line": 557,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 20203,
+ 20209
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 19
+ },
+ "end": {
+ "line": 557,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 20198,
+ 20209
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 14
+ },
+ "end": {
+ "line": 557,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20210,
+ 20219
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 26
+ },
+ "end": {
+ "line": 557,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20220,
+ 20224
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 36
+ },
+ "end": {
+ "line": 557,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 20210,
+ 20224
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 26
+ },
+ "end": {
+ "line": 557,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 20198,
+ 20225
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 14
+ },
+ "end": {
+ "line": 557,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20226,
+ 20235
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 42
+ },
+ "end": {
+ "line": 557,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20236,
+ 20245
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 52
+ },
+ "end": {
+ "line": 557,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 20226,
+ 20245
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 42
+ },
+ "end": {
+ "line": 557,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 20198,
+ 20246
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 14
+ },
+ "end": {
+ "line": 557,
+ "column": 62
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20247,
+ 20251
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 63
+ },
+ "end": {
+ "line": 557,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 20198,
+ 20251
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 14
+ },
+ "end": {
+ "line": 557,
+ "column": 67
+ }
+ }
+ },
+ "cases": [
+ {
+ "type": "SwitchCase",
+ "test": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 20268,
+ 20277
+ ],
+ "loc": {
+ "start": {
+ "line": 558,
+ "column": 13
+ },
+ "end": {
+ "line": 558,
+ "column": 22
+ }
+ }
+ },
+ "consequent": [
+ {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20291,
+ 20308
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 10
+ },
+ "end": {
+ "line": 559,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20309,
+ 20318
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 28
+ },
+ "end": {
+ "line": 559,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20319,
+ 20328
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 38
+ },
+ "end": {
+ "line": 559,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 20309,
+ 20328
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 28
+ },
+ "end": {
+ "line": 559,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 20291,
+ 20329
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 10
+ },
+ "end": {
+ "line": 559,
+ "column": 48
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 20332,
+ 20336
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 51
+ },
+ "end": {
+ "line": 559,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20291,
+ 20336
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 10
+ },
+ "end": {
+ "line": 559,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20291,
+ 20337
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 10
+ },
+ "end": {
+ "line": 559,
+ "column": 56
+ }
+ }
+ },
+ {
+ "type": "BreakStatement",
+ "label": null,
+ "range": [
+ 20348,
+ 20354
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 10
+ },
+ "end": {
+ "line": 560,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 20279,
+ 20364
+ ],
+ "loc": {
+ "start": {
+ "line": 558,
+ "column": 24
+ },
+ "end": {
+ "line": 561,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 20263,
+ 20364
+ ],
+ "loc": {
+ "start": {
+ "line": 558,
+ "column": 8
+ },
+ "end": {
+ "line": 561,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "SwitchCase",
+ "test": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 20378,
+ 20388
+ ],
+ "loc": {
+ "start": {
+ "line": 562,
+ "column": 13
+ },
+ "end": {
+ "line": 562,
+ "column": 23
+ }
+ }
+ },
+ "consequent": [
+ {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "index",
+ "range": [
+ 20406,
+ 20411
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 14
+ },
+ "end": {
+ "line": 563,
+ "column": 19
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20414,
+ 20431
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 22
+ },
+ "end": {
+ "line": 563,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20432,
+ 20441
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 40
+ },
+ "end": {
+ "line": 563,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20442,
+ 20451
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 50
+ },
+ "end": {
+ "line": 563,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 20432,
+ 20451
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 40
+ },
+ "end": {
+ "line": 563,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 20414,
+ 20452
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 22
+ },
+ "end": {
+ "line": 563,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "indexOf",
+ "range": [
+ 20453,
+ 20460
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 61
+ },
+ "end": {
+ "line": 563,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 20414,
+ 20460
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 22
+ },
+ "end": {
+ "line": 563,
+ "column": 68
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20461,
+ 20469
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 69
+ },
+ "end": {
+ "line": 563,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 20414,
+ 20470
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 22
+ },
+ "end": {
+ "line": 563,
+ "column": 78
+ }
+ }
+ },
+ "range": [
+ 20406,
+ 20470
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 14
+ },
+ "end": {
+ "line": 563,
+ "column": 78
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 20402,
+ 20471
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 10
+ },
+ "end": {
+ "line": 563,
+ "column": 79
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "Identifier",
+ "name": "index",
+ "range": [
+ 20486,
+ 20491
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 14
+ },
+ "end": {
+ "line": 564,
+ "column": 19
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "-",
+ "argument": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 20497,
+ 20498
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 25
+ },
+ "end": {
+ "line": 564,
+ "column": 26
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 20496,
+ 20498
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 24
+ },
+ "end": {
+ "line": 564,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 20486,
+ 20498
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 14
+ },
+ "end": {
+ "line": 564,
+ "column": 26
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20514,
+ 20531
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 12
+ },
+ "end": {
+ "line": 565,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20532,
+ 20541
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 30
+ },
+ "end": {
+ "line": 565,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20542,
+ 20551
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 40
+ },
+ "end": {
+ "line": 565,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 20532,
+ 20551
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 30
+ },
+ "end": {
+ "line": 565,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 20514,
+ 20552
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 12
+ },
+ "end": {
+ "line": 565,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "splice",
+ "range": [
+ 20553,
+ 20559
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 51
+ },
+ "end": {
+ "line": 565,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 20514,
+ 20559
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 12
+ },
+ "end": {
+ "line": 565,
+ "column": 57
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "index",
+ "range": [
+ 20560,
+ 20565
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 58
+ },
+ "end": {
+ "line": 565,
+ "column": 63
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 20567,
+ 20568
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 65
+ },
+ "end": {
+ "line": 565,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 20514,
+ 20569
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 12
+ },
+ "end": {
+ "line": 565,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 20514,
+ 20570
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 12
+ },
+ "end": {
+ "line": 565,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 20500,
+ 20582
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 28
+ },
+ "end": {
+ "line": 566,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 20482,
+ 20582
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 10
+ },
+ "end": {
+ "line": 566,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "BreakStatement",
+ "label": null,
+ "range": [
+ 20593,
+ 20599
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 10
+ },
+ "end": {
+ "line": 567,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 20390,
+ 20609
+ ],
+ "loc": {
+ "start": {
+ "line": 562,
+ "column": 25
+ },
+ "end": {
+ "line": 568,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 20373,
+ 20609
+ ],
+ "loc": {
+ "start": {
+ "line": 562,
+ "column": 8
+ },
+ "end": {
+ "line": 568,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "SwitchCase",
+ "test": null,
+ "consequent": [
+ {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "BreakStatement",
+ "label": null,
+ "range": [
+ 20639,
+ 20645
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 10
+ },
+ "end": {
+ "line": 570,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 20627,
+ 20655
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 17
+ },
+ "end": {
+ "line": 571,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 20618,
+ 20655
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 8
+ },
+ "end": {
+ "line": 571,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 20190,
+ 20663
+ ],
+ "loc": {
+ "start": {
+ "line": 557,
+ "column": 6
+ },
+ "end": {
+ "line": 572,
+ "column": 7
+ }
+ },
+ "trailingComments": [
+ {
+ "type": "Line",
+ "value": " TODO: This only needs to be run once for each dependent.",
+ "range": [
+ 20670,
+ 20729
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 6
+ },
+ "end": {
+ "line": 573,
+ "column": 65
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20736,
+ 20753
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 6
+ },
+ "end": {
+ "line": 574,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 20754,
+ 20765
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 24
+ },
+ "end": {
+ "line": 574,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 20736,
+ 20765
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 6
+ },
+ "end": {
+ "line": 574,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20768,
+ 20785
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 38
+ },
+ "end": {
+ "line": 574,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 20786,
+ 20797
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 56
+ },
+ "end": {
+ "line": 574,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 20768,
+ 20797
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 38
+ },
+ "end": {
+ "line": 574,
+ "column": 67
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 20798,
+ 20804
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 68
+ },
+ "end": {
+ "line": 574,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 20768,
+ 20804
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 38
+ },
+ "end": {
+ "line": 574,
+ "column": 74
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "d",
+ "range": [
+ 20805,
+ 20806
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 75
+ },
+ "end": {
+ "line": 574,
+ "column": 76
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "d",
+ "range": [
+ 20829,
+ 20830
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 17
+ },
+ "end": {
+ "line": 575,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20831,
+ 20835
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 19
+ },
+ "end": {
+ "line": 575,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 20829,
+ 20835
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 17
+ },
+ "end": {
+ "line": 575,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20840,
+ 20848
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 28
+ },
+ "end": {
+ "line": 575,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20849,
+ 20853
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 37
+ },
+ "end": {
+ "line": 575,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 20840,
+ 20853
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 28
+ },
+ "end": {
+ "line": 575,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 20829,
+ 20853
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 17
+ },
+ "end": {
+ "line": 575,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "d",
+ "range": [
+ 20857,
+ 20858
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 45
+ },
+ "end": {
+ "line": 575,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 20859,
+ 20861
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 47
+ },
+ "end": {
+ "line": 575,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 20857,
+ 20861
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 45
+ },
+ "end": {
+ "line": 575,
+ "column": 49
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20866,
+ 20874
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 54
+ },
+ "end": {
+ "line": 575,
+ "column": 62
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 20875,
+ 20877
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 63
+ },
+ "end": {
+ "line": 575,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 20866,
+ 20877
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 54
+ },
+ "end": {
+ "line": 575,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 20857,
+ 20877
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 45
+ },
+ "end": {
+ "line": 575,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 20829,
+ 20877
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 17
+ },
+ "end": {
+ "line": 575,
+ "column": 65
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 20827,
+ 20878
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 15
+ },
+ "end": {
+ "line": 575,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 20820,
+ 20879
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 8
+ },
+ "end": {
+ "line": 575,
+ "column": 67
+ }
+ }
+ }
+ ],
+ "range": [
+ 20810,
+ 20887
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 80
+ },
+ "end": {
+ "line": 576,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 20805,
+ 20887
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 75
+ },
+ "end": {
+ "line": 576,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 20768,
+ 20888
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 38
+ },
+ "end": {
+ "line": 576,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 20736,
+ 20888
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 6
+ },
+ "end": {
+ "line": 576,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 20736,
+ 20889
+ ],
+ "loc": {
+ "start": {
+ "line": 574,
+ "column": 6
+ },
+ "end": {
+ "line": 576,
+ "column": 9
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Line",
+ "value": " TODO: This only needs to be run once for each dependent.",
+ "range": [
+ 20670,
+ 20729
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 6
+ },
+ "end": {
+ "line": 573,
+ "column": 65
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "range": [
+ 20110,
+ 20895
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 46
+ },
+ "end": {
+ "line": 577,
+ "column": 5
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 20097,
+ 20895
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 33
+ },
+ "end": {
+ "line": 577,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 20068,
+ 20896
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 4
+ },
+ "end": {
+ "line": 577,
+ "column": 6
+ }
+ }
+ },
+ "range": [
+ 20068,
+ 20897
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 4
+ },
+ "end": {
+ "line": 577,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "UnaryExpression",
+ "operator": "delete",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 20909,
+ 20913
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 11
+ },
+ "end": {
+ "line": 578,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 20914,
+ 20919
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 16
+ },
+ "end": {
+ "line": 578,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 20909,
+ 20919
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 11
+ },
+ "end": {
+ "line": 578,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20920,
+ 20928
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 22
+ },
+ "end": {
+ "line": 578,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20929,
+ 20933
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 31
+ },
+ "end": {
+ "line": 578,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 20920,
+ 20933
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 22
+ },
+ "end": {
+ "line": 578,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 20909,
+ 20934
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 11
+ },
+ "end": {
+ "line": 578,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20935,
+ 20943
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 37
+ },
+ "end": {
+ "line": 578,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 20944,
+ 20946
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 46
+ },
+ "end": {
+ "line": 578,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 20935,
+ 20946
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 37
+ },
+ "end": {
+ "line": 578,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 20909,
+ 20947
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 11
+ },
+ "end": {
+ "line": 578,
+ "column": 49
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 20902,
+ 20947
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 4
+ },
+ "end": {
+ "line": 578,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 20902,
+ 20948
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 4
+ },
+ "end": {
+ "line": 578,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 20062,
+ 20952
+ ],
+ "loc": {
+ "start": {
+ "line": 554,
+ "column": 20
+ },
+ "end": {
+ "line": 579,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 20051,
+ 20952
+ ],
+ "loc": {
+ "start": {
+ "line": 554,
+ "column": 9
+ },
+ "end": {
+ "line": 579,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 20044,
+ 20952
+ ],
+ "loc": {
+ "start": {
+ "line": 554,
+ "column": 2
+ },
+ "end": {
+ "line": 579,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_removeInverseRelationship",
+ "range": [
+ 20956,
+ 20982
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 2
+ },
+ "end": {
+ "line": 581,
+ "column": 28
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 20983,
+ 20997
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 29
+ },
+ "end": {
+ "line": 581,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 20999,
+ 21014
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 45
+ },
+ "end": {
+ "line": 581,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21016,
+ 21030
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 62
+ },
+ "end": {
+ "line": 581,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 21032,
+ 21043
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 78
+ },
+ "end": {
+ "line": 581,
+ "column": 89
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 21055,
+ 21071
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 8
+ },
+ "end": {
+ "line": 582,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 21074,
+ 21078
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 27
+ },
+ "end": {
+ "line": 582,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 21079,
+ 21085
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 32
+ },
+ "end": {
+ "line": 582,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 21074,
+ 21085
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 27
+ },
+ "end": {
+ "line": 582,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21086,
+ 21100
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 39
+ },
+ "end": {
+ "line": 582,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21101,
+ 21105
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 54
+ },
+ "end": {
+ "line": 582,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 21086,
+ 21105
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 39
+ },
+ "end": {
+ "line": 582,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 21074,
+ 21106
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 27
+ },
+ "end": {
+ "line": 582,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 21055,
+ 21106
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 8
+ },
+ "end": {
+ "line": 582,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 21051,
+ 21107
+ ],
+ "loc": {
+ "start": {
+ "line": 582,
+ "column": 4
+ },
+ "end": {
+ "line": 582,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 21116,
+ 21131
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 8
+ },
+ "end": {
+ "line": 583,
+ "column": 23
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 21134,
+ 21145
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 26
+ },
+ "end": {
+ "line": 583,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 21146,
+ 21153
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 38
+ },
+ "end": {
+ "line": 583,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 21134,
+ 21153
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 26
+ },
+ "end": {
+ "line": 583,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21157,
+ 21171
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 49
+ },
+ "end": {
+ "line": 583,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21172,
+ 21176
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 64
+ },
+ "end": {
+ "line": 583,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 21157,
+ 21176
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 49
+ },
+ "end": {
+ "line": 583,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 21134,
+ 21176
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 26
+ },
+ "end": {
+ "line": 583,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 21116,
+ 21176
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 8
+ },
+ "end": {
+ "line": 583,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 21112,
+ 21177
+ ],
+ "loc": {
+ "start": {
+ "line": 583,
+ "column": 4
+ },
+ "end": {
+ "line": 583,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 21186,
+ 21197
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 8
+ },
+ "end": {
+ "line": 584,
+ "column": 19
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 21200,
+ 21216
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 22
+ },
+ "end": {
+ "line": 584,
+ "column": 38
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 21220,
+ 21236
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 42
+ },
+ "end": {
+ "line": 584,
+ "column": 58
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 21237,
+ 21252
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 59
+ },
+ "end": {
+ "line": 584,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 21220,
+ 21253
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 42
+ },
+ "end": {
+ "line": 584,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21200,
+ 21253
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 22
+ },
+ "end": {
+ "line": 584,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21186,
+ 21253
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 8
+ },
+ "end": {
+ "line": 584,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 21182,
+ 21254
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 4
+ },
+ "end": {
+ "line": 584,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21259,
+ 21273
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 585,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21274,
+ 21285
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 19
+ },
+ "end": {
+ "line": 585,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 21259,
+ 21285
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 585,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21288,
+ 21302
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 33
+ },
+ "end": {
+ "line": 585,
+ "column": 47
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21303,
+ 21314
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 48
+ },
+ "end": {
+ "line": 585,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 21288,
+ 21314
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 33
+ },
+ "end": {
+ "line": 585,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 21315,
+ 21321
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 60
+ },
+ "end": {
+ "line": 585,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 21288,
+ 21321
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 33
+ },
+ "end": {
+ "line": 585,
+ "column": 66
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21322,
+ 21323
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 67
+ },
+ "end": {
+ "line": 585,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21344,
+ 21345
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 15
+ },
+ "end": {
+ "line": 586,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21346,
+ 21350
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 17
+ },
+ "end": {
+ "line": 586,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 21344,
+ 21350
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 15
+ },
+ "end": {
+ "line": 586,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21355,
+ 21369
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 26
+ },
+ "end": {
+ "line": 586,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21370,
+ 21374
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 41
+ },
+ "end": {
+ "line": 586,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 21355,
+ 21374
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 26
+ },
+ "end": {
+ "line": 586,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 21344,
+ 21374
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 15
+ },
+ "end": {
+ "line": 586,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21378,
+ 21379
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 49
+ },
+ "end": {
+ "line": 586,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21380,
+ 21382
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 51
+ },
+ "end": {
+ "line": 586,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 21378,
+ 21382
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 49
+ },
+ "end": {
+ "line": 586,
+ "column": 53
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21387,
+ 21401
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 58
+ },
+ "end": {
+ "line": 586,
+ "column": 72
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21402,
+ 21404
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 73
+ },
+ "end": {
+ "line": 586,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21387,
+ 21404
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 58
+ },
+ "end": {
+ "line": 586,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21378,
+ 21404
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 49
+ },
+ "end": {
+ "line": 586,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21344,
+ 21404
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 15
+ },
+ "end": {
+ "line": 586,
+ "column": 75
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21408,
+ 21409
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 79
+ },
+ "end": {
+ "line": 586,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 21410,
+ 21419
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 81
+ },
+ "end": {
+ "line": 586,
+ "column": 90
+ }
+ }
+ },
+ "range": [
+ 21408,
+ 21419
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 79
+ },
+ "end": {
+ "line": 586,
+ "column": 90
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 21424,
+ 21439
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 95
+ },
+ "end": {
+ "line": 586,
+ "column": 110
+ }
+ }
+ },
+ "range": [
+ 21408,
+ 21439
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 79
+ },
+ "end": {
+ "line": 586,
+ "column": 110
+ }
+ }
+ },
+ "range": [
+ 21344,
+ 21439
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 15
+ },
+ "end": {
+ "line": 586,
+ "column": 110
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 21342,
+ 21440
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 13
+ },
+ "end": {
+ "line": 586,
+ "column": 111
+ }
+ }
+ },
+ "range": [
+ 21335,
+ 21441
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 6
+ },
+ "end": {
+ "line": 586,
+ "column": 112
+ }
+ }
+ }
+ ],
+ "range": [
+ 21327,
+ 21447
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 72
+ },
+ "end": {
+ "line": 587,
+ "column": 5
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 21322,
+ 21447
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 67
+ },
+ "end": {
+ "line": 587,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 21288,
+ 21448
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 33
+ },
+ "end": {
+ "line": 587,
+ "column": 6
+ }
+ }
+ },
+ "range": [
+ 21259,
+ 21448
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 587,
+ "column": 6
+ }
+ }
+ },
+ "range": [
+ 21259,
+ 21449
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 587,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 21458,
+ 21469
+ ],
+ "loc": {
+ "start": {
+ "line": 588,
+ "column": 8
+ },
+ "end": {
+ "line": 588,
+ "column": 19
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 21483,
+ 21494
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 10
+ },
+ "end": {
+ "line": 589,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21495,
+ 21499
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 22
+ },
+ "end": {
+ "line": 589,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 21483,
+ 21499
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 10
+ },
+ "end": {
+ "line": 589,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 21504,
+ 21513
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 31
+ },
+ "end": {
+ "line": 589,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 21483,
+ 21513
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 10
+ },
+ "end": {
+ "line": 589,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21525,
+ 21539
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 8
+ },
+ "end": {
+ "line": 590,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21540,
+ 21551
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 23
+ },
+ "end": {
+ "line": 590,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 21525,
+ 21551
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 8
+ },
+ "end": {
+ "line": 590,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21554,
+ 21568
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 37
+ },
+ "end": {
+ "line": 590,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21569,
+ 21580
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 52
+ },
+ "end": {
+ "line": 590,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 21554,
+ 21580
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 37
+ },
+ "end": {
+ "line": 590,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 21581,
+ 21587
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 64
+ },
+ "end": {
+ "line": 590,
+ "column": 70
+ }
+ }
+ },
+ "range": [
+ 21554,
+ 21587
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 37
+ },
+ "end": {
+ "line": 590,
+ "column": 70
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21588,
+ 21589
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 71
+ },
+ "end": {
+ "line": 590,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21614,
+ 21615
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 19
+ },
+ "end": {
+ "line": 591,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21616,
+ 21620
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 21
+ },
+ "end": {
+ "line": 591,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 21614,
+ 21620
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 19
+ },
+ "end": {
+ "line": 591,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21625,
+ 21639
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 30
+ },
+ "end": {
+ "line": 591,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21640,
+ 21644
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 45
+ },
+ "end": {
+ "line": 591,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21625,
+ 21644
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 30
+ },
+ "end": {
+ "line": 591,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21614,
+ 21644
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 19
+ },
+ "end": {
+ "line": 591,
+ "column": 49
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21648,
+ 21649
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 53
+ },
+ "end": {
+ "line": 591,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21650,
+ 21652
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 55
+ },
+ "end": {
+ "line": 591,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 21648,
+ 21652
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 53
+ },
+ "end": {
+ "line": 591,
+ "column": 57
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21657,
+ 21671
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 62
+ },
+ "end": {
+ "line": 591,
+ "column": 76
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21672,
+ 21674
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 77
+ },
+ "end": {
+ "line": 591,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 21657,
+ 21674
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 62
+ },
+ "end": {
+ "line": 591,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 21648,
+ 21674
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 53
+ },
+ "end": {
+ "line": 591,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 21614,
+ 21674
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 19
+ },
+ "end": {
+ "line": 591,
+ "column": 79
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21678,
+ 21679
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 83
+ },
+ "end": {
+ "line": 591,
+ "column": 84
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 21680,
+ 21689
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 85
+ },
+ "end": {
+ "line": 591,
+ "column": 94
+ }
+ }
+ },
+ "range": [
+ 21678,
+ 21689
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 83
+ },
+ "end": {
+ "line": 591,
+ "column": 94
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 21694,
+ 21709
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 99
+ },
+ "end": {
+ "line": 591,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 21678,
+ 21709
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 83
+ },
+ "end": {
+ "line": 591,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 21614,
+ 21709
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 19
+ },
+ "end": {
+ "line": 591,
+ "column": 114
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 21612,
+ 21710
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 17
+ },
+ "end": {
+ "line": 591,
+ "column": 115
+ }
+ }
+ },
+ "range": [
+ 21605,
+ 21711
+ ],
+ "loc": {
+ "start": {
+ "line": 591,
+ "column": 10
+ },
+ "end": {
+ "line": 591,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 21593,
+ 21721
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 76
+ },
+ "end": {
+ "line": 592,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 21588,
+ 21721
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 71
+ },
+ "end": {
+ "line": 592,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 21554,
+ 21722
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 37
+ },
+ "end": {
+ "line": 592,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 21525,
+ 21722
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 8
+ },
+ "end": {
+ "line": 592,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 21525,
+ 21723
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 8
+ },
+ "end": {
+ "line": 592,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21732,
+ 21746
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 8
+ },
+ "end": {
+ "line": 593,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 21747,
+ 21762
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 23
+ },
+ "end": {
+ "line": 593,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 21732,
+ 21763
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 8
+ },
+ "end": {
+ "line": 593,
+ "column": 39
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 21766,
+ 21770
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 42
+ },
+ "end": {
+ "line": 593,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 21732,
+ 21770
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 8
+ },
+ "end": {
+ "line": 593,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 21732,
+ 21771
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 8
+ },
+ "end": {
+ "line": 593,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "range": [
+ 21515,
+ 21779
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 42
+ },
+ "end": {
+ "line": 594,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 21789,
+ 21800
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 17
+ },
+ "end": {
+ "line": 594,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21801,
+ 21805
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 29
+ },
+ "end": {
+ "line": 594,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 21789,
+ 21805
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 17
+ },
+ "end": {
+ "line": 594,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 21810,
+ 21820
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 38
+ },
+ "end": {
+ "line": 594,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 21789,
+ 21820
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 17
+ },
+ "end": {
+ "line": 594,
+ "column": 48
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21832,
+ 21846
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 8
+ },
+ "end": {
+ "line": 595,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21847,
+ 21858
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 23
+ },
+ "end": {
+ "line": 595,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 21832,
+ 21858
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 8
+ },
+ "end": {
+ "line": 595,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21861,
+ 21875
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 37
+ },
+ "end": {
+ "line": 595,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21876,
+ 21887
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 52
+ },
+ "end": {
+ "line": 595,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 21861,
+ 21887
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 37
+ },
+ "end": {
+ "line": 595,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 21888,
+ 21894
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 64
+ },
+ "end": {
+ "line": 595,
+ "column": 70
+ }
+ }
+ },
+ "range": [
+ 21861,
+ 21894
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 37
+ },
+ "end": {
+ "line": 595,
+ "column": 70
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21895,
+ 21896
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 71
+ },
+ "end": {
+ "line": 595,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21921,
+ 21922
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 19
+ },
+ "end": {
+ "line": 596,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21923,
+ 21927
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 21
+ },
+ "end": {
+ "line": 596,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 21921,
+ 21927
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 19
+ },
+ "end": {
+ "line": 596,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21932,
+ 21946
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 30
+ },
+ "end": {
+ "line": 596,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21947,
+ 21951
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 45
+ },
+ "end": {
+ "line": 596,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21932,
+ 21951
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 30
+ },
+ "end": {
+ "line": 596,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21921,
+ 21951
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 19
+ },
+ "end": {
+ "line": 596,
+ "column": 49
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21955,
+ 21956
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 53
+ },
+ "end": {
+ "line": 596,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21957,
+ 21959
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 55
+ },
+ "end": {
+ "line": 596,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 21955,
+ 21959
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 53
+ },
+ "end": {
+ "line": 596,
+ "column": 57
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21964,
+ 21978
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 62
+ },
+ "end": {
+ "line": 596,
+ "column": 76
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21979,
+ 21981
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 77
+ },
+ "end": {
+ "line": 596,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 21964,
+ 21981
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 62
+ },
+ "end": {
+ "line": 596,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 21955,
+ 21981
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 53
+ },
+ "end": {
+ "line": 596,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 21921,
+ 21981
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 19
+ },
+ "end": {
+ "line": 596,
+ "column": 79
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21985,
+ 21986
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 83
+ },
+ "end": {
+ "line": 596,
+ "column": 84
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 21987,
+ 21996
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 85
+ },
+ "end": {
+ "line": 596,
+ "column": 94
+ }
+ }
+ },
+ "range": [
+ 21985,
+ 21996
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 83
+ },
+ "end": {
+ "line": 596,
+ "column": 94
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22001,
+ 22016
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 99
+ },
+ "end": {
+ "line": 596,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 21985,
+ 22016
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 83
+ },
+ "end": {
+ "line": 596,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 21921,
+ 22016
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 19
+ },
+ "end": {
+ "line": 596,
+ "column": 114
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 21919,
+ 22017
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 17
+ },
+ "end": {
+ "line": 596,
+ "column": 115
+ }
+ }
+ },
+ "range": [
+ 21912,
+ 22018
+ ],
+ "loc": {
+ "start": {
+ "line": 596,
+ "column": 10
+ },
+ "end": {
+ "line": 596,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 21900,
+ 22028
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 76
+ },
+ "end": {
+ "line": 597,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 21895,
+ 22028
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 71
+ },
+ "end": {
+ "line": 597,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 21861,
+ 22029
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 37
+ },
+ "end": {
+ "line": 597,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 21832,
+ 22029
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 8
+ },
+ "end": {
+ "line": 597,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 21832,
+ 22030
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 8
+ },
+ "end": {
+ "line": 597,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22039,
+ 22053
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 8
+ },
+ "end": {
+ "line": 598,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22054,
+ 22069
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 23
+ },
+ "end": {
+ "line": 598,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 22039,
+ 22070
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 8
+ },
+ "end": {
+ "line": 598,
+ "column": 39
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22073,
+ 22087
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 42
+ },
+ "end": {
+ "line": 598,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22088,
+ 22103
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 57
+ },
+ "end": {
+ "line": 598,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 22073,
+ 22104
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 42
+ },
+ "end": {
+ "line": 598,
+ "column": 73
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 22105,
+ 22111
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 74
+ },
+ "end": {
+ "line": 598,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 22073,
+ 22111
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 42
+ },
+ "end": {
+ "line": 598,
+ "column": 80
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22112,
+ 22113
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 81
+ },
+ "end": {
+ "line": 598,
+ "column": 82
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22136,
+ 22137
+ ],
+ "loc": {
+ "start": {
+ "line": 599,
+ "column": 17
+ },
+ "end": {
+ "line": 599,
+ "column": 18
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 22142,
+ 22156
+ ],
+ "loc": {
+ "start": {
+ "line": 599,
+ "column": 23
+ },
+ "end": {
+ "line": 599,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 22136,
+ 22156
+ ],
+ "loc": {
+ "start": {
+ "line": 599,
+ "column": 17
+ },
+ "end": {
+ "line": 599,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 22129,
+ 22157
+ ],
+ "loc": {
+ "start": {
+ "line": 599,
+ "column": 10
+ },
+ "end": {
+ "line": 599,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 22117,
+ 22167
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 86
+ },
+ "end": {
+ "line": 600,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 22112,
+ 22167
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 81
+ },
+ "end": {
+ "line": 600,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 22073,
+ 22168
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 42
+ },
+ "end": {
+ "line": 600,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22039,
+ 22168
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 8
+ },
+ "end": {
+ "line": 600,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22039,
+ 22169
+ ],
+ "loc": {
+ "start": {
+ "line": 598,
+ "column": 8
+ },
+ "end": {
+ "line": 600,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 21822,
+ 22177
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 50
+ },
+ "end": {
+ "line": 601,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 22187,
+ 22198
+ ],
+ "loc": {
+ "start": {
+ "line": 601,
+ "column": 17
+ },
+ "end": {
+ "line": 601,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22199,
+ 22203
+ ],
+ "loc": {
+ "start": {
+ "line": 601,
+ "column": 29
+ },
+ "end": {
+ "line": 601,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 22187,
+ 22203
+ ],
+ "loc": {
+ "start": {
+ "line": 601,
+ "column": 17
+ },
+ "end": {
+ "line": 601,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "attr",
+ "raw": "\"attr\"",
+ "range": [
+ 22208,
+ 22214
+ ],
+ "loc": {
+ "start": {
+ "line": 601,
+ "column": 38
+ },
+ "end": {
+ "line": 601,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 22187,
+ 22214
+ ],
+ "loc": {
+ "start": {
+ "line": 601,
+ "column": 17
+ },
+ "end": {
+ "line": 601,
+ "column": 44
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 22236,
+ 22241
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 18
+ },
+ "end": {
+ "line": 602,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 22242,
+ 22279
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 24
+ },
+ "end": {
+ "line": 602,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is an attribute ('",
+ "cooked": "' is an attribute ('"
+ },
+ "tail": false,
+ "range": [
+ 22294,
+ 22317
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 76
+ },
+ "end": {
+ "line": 602,
+ "column": 99
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 22332,
+ 22336
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 114
+ },
+ "end": {
+ "line": 602,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 22279,
+ 22294
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 61
+ },
+ "end": {
+ "line": 602,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22317,
+ 22332
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 99
+ },
+ "end": {
+ "line": 602,
+ "column": 114
+ }
+ }
+ }
+ ],
+ "range": [
+ 22242,
+ 22336
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 24
+ },
+ "end": {
+ "line": 602,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 22232,
+ 22337
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 14
+ },
+ "end": {
+ "line": 602,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 22226,
+ 22338
+ ],
+ "loc": {
+ "start": {
+ "line": 602,
+ "column": 8
+ },
+ "end": {
+ "line": 602,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 22216,
+ 22346
+ ],
+ "loc": {
+ "start": {
+ "line": 601,
+ "column": 46
+ },
+ "end": {
+ "line": 603,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 22183,
+ 22346
+ ],
+ "loc": {
+ "start": {
+ "line": 601,
+ "column": 13
+ },
+ "end": {
+ "line": 603,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 21785,
+ 22346
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 13
+ },
+ "end": {
+ "line": 603,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 21479,
+ 22346
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 6
+ },
+ "end": {
+ "line": 603,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 21471,
+ 22352
+ ],
+ "loc": {
+ "start": {
+ "line": 588,
+ "column": 21
+ },
+ "end": {
+ "line": 604,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 22362,
+ 22373
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 15
+ },
+ "end": {
+ "line": 604,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 22374,
+ 22381
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 27
+ },
+ "end": {
+ "line": 604,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 22362,
+ 22381
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 15
+ },
+ "end": {
+ "line": 604,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 22401,
+ 22406
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 16
+ },
+ "end": {
+ "line": 605,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 22407,
+ 22444
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 22
+ },
+ "end": {
+ "line": 605,
+ "column": 59
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is missing ('",
+ "cooked": "' is missing ('"
+ },
+ "tail": false,
+ "range": [
+ 22459,
+ 22477
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 74
+ },
+ "end": {
+ "line": 605,
+ "column": 92
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 22496,
+ 22500
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 111
+ },
+ "end": {
+ "line": 605,
+ "column": 115
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 22444,
+ 22459
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 59
+ },
+ "end": {
+ "line": 605,
+ "column": 74
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 22477,
+ 22488
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 92
+ },
+ "end": {
+ "line": 605,
+ "column": 103
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 22489,
+ 22496
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 104
+ },
+ "end": {
+ "line": 605,
+ "column": 111
+ }
+ }
+ },
+ "range": [
+ 22477,
+ 22496
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 92
+ },
+ "end": {
+ "line": 605,
+ "column": 111
+ }
+ }
+ }
+ ],
+ "range": [
+ 22407,
+ 22500
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 22
+ },
+ "end": {
+ "line": 605,
+ "column": 115
+ }
+ }
+ }
+ ],
+ "range": [
+ 22397,
+ 22501
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 12
+ },
+ "end": {
+ "line": 605,
+ "column": 116
+ }
+ }
+ },
+ "range": [
+ 22391,
+ 22502
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 6
+ },
+ "end": {
+ "line": 605,
+ "column": 117
+ }
+ }
+ }
+ ],
+ "range": [
+ 22383,
+ 22508
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 36
+ },
+ "end": {
+ "line": 606,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 22358,
+ 22508
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 11
+ },
+ "end": {
+ "line": 606,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 21454,
+ 22508
+ ],
+ "loc": {
+ "start": {
+ "line": 588,
+ "column": 4
+ },
+ "end": {
+ "line": 606,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 21045,
+ 22512
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 91
+ },
+ "end": {
+ "line": 607,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 20982,
+ 22512
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 28
+ },
+ "end": {
+ "line": 607,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 20956,
+ 22512
+ ],
+ "loc": {
+ "start": {
+ "line": 581,
+ "column": 2
+ },
+ "end": {
+ "line": 607,
+ "column": 3
+ }
+ },
+ "static": false
+ }
+ ],
+ "range": [
+ 101,
+ 22515
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 27
+ },
+ "end": {
+ "line": 609,
+ "column": 1
+ }
+ }
+ },
+ "range": [
+ 89,
+ 22515
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 15
+ },
+ "end": {
+ "line": 609,
+ "column": 1
+ }
+ },
+ "leadingComments": [],
+ "trailingComments": []
+ },
+ "range": [
+ 74,
+ 22515
+ ],
+ "loc": {
+ "start": {
+ "line": 4,
+ "column": 0
+ },
+ "end": {
+ "line": 609,
+ "column": 1
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 22517,
+ 22522
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 0
+ },
+ "end": {
+ "line": 611,
+ "column": 5
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "AjaxAdapter",
+ "range": [
+ 22523,
+ 22534
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 6
+ },
+ "end": {
+ "line": 611,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 22517,
+ 22534
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 0
+ },
+ "end": {
+ "line": 611,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "AjaxAdapter",
+ "range": [
+ 22537,
+ 22548
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 20
+ },
+ "end": {
+ "line": 611,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 22517,
+ 22548
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 0
+ },
+ "end": {
+ "line": 611,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 22517,
+ 22549
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 0
+ },
+ "end": {
+ "line": 611,
+ "column": 32
+ }
+ }
+ }
+ ],
+ "sourceType": "module",
+ "range": [
+ 0,
+ 22549
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 611,
+ "column": 32
+ }
+ },
+ "comments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an attribute.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.default] - Default value for this field.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 106,
+ 428
+ ],
+ "loc": {
+ "start": {
+ "line": 6,
+ "column": 2
+ },
+ "end": {
+ "line": 14,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 897,
+ 1234
+ ],
+ "loc": {
+ "start": {
+ "line": 32,
+ "column": 2
+ },
+ "end": {
+ "line": 40,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 2282,
+ 2620
+ ],
+ "loc": {
+ "start": {
+ "line": 74,
+ "column": 2
+ },
+ "end": {
+ "line": 82,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - Resource Object to add. See:\n http://jsonapi.org/format/#document-resource-objects\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 3873,
+ 4165
+ ],
+ "loc": {
+ "start": {
+ "line": 124,
+ "column": 2
+ },
+ "end": {
+ "line": 132,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n ",
+ "range": [
+ 5213,
+ 5659
+ ],
+ "loc": {
+ "start": {
+ "line": 158,
+ "column": 2
+ },
+ "end": {
+ "line": 166,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 6293,
+ 6954
+ ],
+ "loc": {
+ "start": {
+ "line": 191,
+ "column": 2
+ },
+ "end": {
+ "line": 209,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 7252,
+ 7479
+ ],
+ "loc": {
+ "start": {
+ "line": 218,
+ "column": 2
+ },
+ "end": {
+ "line": 225,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n ",
+ "range": [
+ 7956,
+ 8575
+ ],
+ "loc": {
+ "start": {
+ "line": 242,
+ "column": 2
+ },
+ "end": {
+ "line": 260,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n ",
+ "range": [
+ 8865,
+ 9375
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 2
+ },
+ "end": {
+ "line": 280,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 10312,
+ 11058
+ ],
+ "loc": {
+ "start": {
+ "line": 314,
+ "column": 2
+ },
+ "end": {
+ "line": 333,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Unregister an event listener that was registered with on().\n *\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 11360,
+ 11763
+ ],
+ "loc": {
+ "start": {
+ "line": 342,
+ "column": 2
+ },
+ "end": {
+ "line": 351,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Line",
+ "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
+ "range": [
+ 12067,
+ 12176
+ ],
+ "loc": {
+ "start": {
+ "line": 358,
+ "column": 10
+ },
+ "end": {
+ "line": 358,
+ "column": 119
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 12970,
+ 13410
+ ],
+ "loc": {
+ "start": {
+ "line": 381,
+ "column": 2
+ },
+ "end": {
+ "line": 391,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Line",
+ "value": " TODO: Performance-wise, this can be made way better. There shouldn't be a need to maintain separate lists.",
+ "range": [
+ 13721,
+ 13830
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 10
+ },
+ "end": {
+ "line": 398,
+ "column": 119
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 14803,
+ 15137
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 2
+ },
+ "end": {
+ "line": 430,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n * @return {undefined} - Nothing.\n ",
+ "range": [
+ 15370,
+ 15712
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 2
+ },
+ "end": {
+ "line": 450,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n * @return {undefined} - Nothing.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 16610,
+ 17319
+ ],
+ "loc": {
+ "start": {
+ "line": 476,
+ "column": 2
+ },
+ "end": {
+ "line": 495,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Line",
+ "value": " TODO: This only needs to be run once for each dependent.",
+ "range": [
+ 20670,
+ 20729
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 6
+ },
+ "end": {
+ "line": 573,
+ "column": 65
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/docs/v0.6.1/ast/source/store.js.json b/docs/v0.6.1/ast/source/store.js.json
new file mode 100644
index 0000000..33511b3
--- /dev/null
+++ b/docs/v0.6.1/ast/source/store.js.json
@@ -0,0 +1,42864 @@
+{
+ "type": "Program",
+ "body": [
+ {
+ "type": "ImportDeclaration",
+ "specifiers": [],
+ "source": {
+ "type": "Literal",
+ "value": "array.prototype.find",
+ "raw": "\"array.prototype.find\"",
+ "range": [
+ 7,
+ 29
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 7
+ },
+ "end": {
+ "line": 1,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 0,
+ 30
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 1,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "ImportDeclaration",
+ "specifiers": [
+ {
+ "type": "ImportDefaultSpecifier",
+ "local": {
+ "type": "Identifier",
+ "name": "Rx",
+ "range": [
+ 38,
+ 40
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 38,
+ 40
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 7
+ },
+ "end": {
+ "line": 2,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "value": "rx-lite",
+ "raw": "\"rx-lite\"",
+ "range": [
+ 46,
+ 55
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 15
+ },
+ "end": {
+ "line": 2,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 31,
+ 56
+ ],
+ "loc": {
+ "start": {
+ "line": 2,
+ "column": 0
+ },
+ "end": {
+ "line": 2,
+ "column": 25
+ }
+ }
+ },
+ {
+ "type": "ImportDeclaration",
+ "specifiers": [
+ {
+ "type": "ImportDefaultSpecifier",
+ "local": {
+ "type": "Identifier",
+ "name": "AjaxAdapter",
+ "range": [
+ 64,
+ 75
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 7
+ },
+ "end": {
+ "line": 3,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 64,
+ 75
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 7
+ },
+ "end": {
+ "line": 3,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "source": {
+ "type": "Literal",
+ "value": "./ajax-adapter",
+ "raw": "\"./ajax-adapter\"",
+ "range": [
+ 81,
+ 97
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 24
+ },
+ "end": {
+ "line": 3,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 57,
+ 98
+ ],
+ "loc": {
+ "start": {
+ "line": 3,
+ "column": 0
+ },
+ "end": {
+ "line": 3,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "ExportDefaultDeclaration",
+ "declaration": {
+ "type": "ClassDeclaration",
+ "id": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 121,
+ 126
+ ],
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 21
+ },
+ "end": {
+ "line": 5,
+ "column": 26
+ }
+ }
+ },
+ "superClass": null,
+ "body": {
+ "type": "ClassBody",
+ "body": [
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "attr",
+ "range": [
+ 464,
+ 468
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 9
+ },
+ "end": {
+ "line": 16,
+ "column": 13
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 469,
+ 473
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 14
+ },
+ "end": {
+ "line": 16,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 475,
+ 482
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 20
+ },
+ "end": {
+ "line": 16,
+ "column": 27
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 494,
+ 498
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 8
+ },
+ "end": {
+ "line": 17,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 509,
+ 513
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 23
+ },
+ "end": {
+ "line": 17,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 502,
+ 513
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 16
+ },
+ "end": {
+ "line": 17,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "'object'",
+ "range": [
+ 518,
+ 526
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 32
+ },
+ "end": {
+ "line": 17,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 502,
+ 526
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 16
+ },
+ "end": {
+ "line": 17,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 494,
+ 526
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 8
+ },
+ "end": {
+ "line": 17,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 543,
+ 548
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 13
+ },
+ "end": {
+ "line": 18,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attr",
+ "range": [
+ 549,
+ 553
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 19
+ },
+ "end": {
+ "line": 18,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 543,
+ 553
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 13
+ },
+ "end": {
+ "line": 18,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 554,
+ 558
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 24
+ },
+ "end": {
+ "line": 18,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 560,
+ 564
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 30
+ },
+ "end": {
+ "line": 18,
+ "column": 34
+ }
+ }
+ }
+ ],
+ "range": [
+ 543,
+ 565
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 13
+ },
+ "end": {
+ "line": 18,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 536,
+ 566
+ ],
+ "loc": {
+ "start": {
+ "line": 18,
+ "column": 6
+ },
+ "end": {
+ "line": 18,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 528,
+ 572
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 42
+ },
+ "end": {
+ "line": 19,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 603,
+ 607
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 8
+ },
+ "end": {
+ "line": 21,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": "attr",
+ "raw": "\"attr\"",
+ "range": [
+ 609,
+ 615
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 14
+ },
+ "end": {
+ "line": 21,
+ "column": 20
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 603,
+ 615
+ ],
+ "loc": {
+ "start": {
+ "line": 21,
+ "column": 8
+ },
+ "end": {
+ "line": 21,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 625,
+ 632
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 22,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 634,
+ 641
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 17
+ },
+ "end": {
+ "line": 22,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 645,
+ 652
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 28
+ },
+ "end": {
+ "line": 22,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 653,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 36
+ },
+ "end": {
+ "line": 22,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 645,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 28
+ },
+ "end": {
+ "line": 22,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 634,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 17
+ },
+ "end": {
+ "line": 22,
+ "column": 43
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 625,
+ 660
+ ],
+ "loc": {
+ "start": {
+ "line": 22,
+ "column": 8
+ },
+ "end": {
+ "line": 22,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 670,
+ 681
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 8
+ },
+ "end": {
+ "line": 23,
+ "column": 19
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 693,
+ 697
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 31
+ },
+ "end": {
+ "line": 23,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 699,
+ 702
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 37
+ },
+ "end": {
+ "line": 23,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 723,
+ 727
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 17
+ },
+ "end": {
+ "line": 24,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 728,
+ 738
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 22
+ },
+ "end": {
+ "line": 24,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 723,
+ 738
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 17
+ },
+ "end": {
+ "line": 24,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 742,
+ 746
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 36
+ },
+ "end": {
+ "line": 24,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 747,
+ 757
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 41
+ },
+ "end": {
+ "line": 24,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 742,
+ 757
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 36
+ },
+ "end": {
+ "line": 24,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 758,
+ 762
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 52
+ },
+ "end": {
+ "line": 24,
+ "column": 56
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 766,
+ 769
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 60
+ },
+ "end": {
+ "line": 24,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 758,
+ 769
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 52
+ },
+ "end": {
+ "line": 24,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 742,
+ 770
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 36
+ },
+ "end": {
+ "line": 24,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 723,
+ 770
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 17
+ },
+ "end": {
+ "line": 24,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 716,
+ 771
+ ],
+ "loc": {
+ "start": {
+ "line": 24,
+ "column": 10
+ },
+ "end": {
+ "line": 24,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 704,
+ 781
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 42
+ },
+ "end": {
+ "line": 25,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 683,
+ 781
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 21
+ },
+ "end": {
+ "line": 25,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 670,
+ 781
+ ],
+ "loc": {
+ "start": {
+ "line": 23,
+ "column": 8
+ },
+ "end": {
+ "line": 25,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 791,
+ 800
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 8
+ },
+ "end": {
+ "line": 26,
+ "column": 17
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 812,
+ 820
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 29
+ },
+ "end": {
+ "line": 26,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 822,
+ 826
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 39
+ },
+ "end": {
+ "line": 26,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 828,
+ 831
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 45
+ },
+ "end": {
+ "line": 26,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 845,
+ 849
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 10
+ },
+ "end": {
+ "line": 27,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 850,
+ 860
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 15
+ },
+ "end": {
+ "line": 27,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 845,
+ 860
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 10
+ },
+ "end": {
+ "line": 27,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 861,
+ 865
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 26
+ },
+ "end": {
+ "line": 27,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 869,
+ 872
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 34
+ },
+ "end": {
+ "line": 27,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 861,
+ 872
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 26
+ },
+ "end": {
+ "line": 27,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 845,
+ 873
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 10
+ },
+ "end": {
+ "line": 27,
+ "column": 38
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 876,
+ 884
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 41
+ },
+ "end": {
+ "line": 27,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 885,
+ 888
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 50
+ },
+ "end": {
+ "line": 27,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 876,
+ 889
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 41
+ },
+ "end": {
+ "line": 27,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 845,
+ 889
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 10
+ },
+ "end": {
+ "line": 27,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 845,
+ 890
+ ],
+ "loc": {
+ "start": {
+ "line": 27,
+ "column": 10
+ },
+ "end": {
+ "line": 27,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 833,
+ 900
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 50
+ },
+ "end": {
+ "line": 28,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 802,
+ 900
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 19
+ },
+ "end": {
+ "line": 28,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 791,
+ 900
+ ],
+ "loc": {
+ "start": {
+ "line": 26,
+ "column": 8
+ },
+ "end": {
+ "line": 28,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 593,
+ 908
+ ],
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 13
+ },
+ "end": {
+ "line": 29,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 586,
+ 909
+ ],
+ "loc": {
+ "start": {
+ "line": 20,
+ "column": 6
+ },
+ "end": {
+ "line": 29,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 578,
+ 915
+ ],
+ "loc": {
+ "start": {
+ "line": 19,
+ "column": 11
+ },
+ "end": {
+ "line": 30,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 490,
+ 915
+ ],
+ "loc": {
+ "start": {
+ "line": 17,
+ "column": 4
+ },
+ "end": {
+ "line": 30,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 484,
+ 919
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 29
+ },
+ "end": {
+ "line": 31,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 468,
+ 919
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 13
+ },
+ "end": {
+ "line": 31,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 457,
+ 919
+ ],
+ "loc": {
+ "start": {
+ "line": 16,
+ "column": 2
+ },
+ "end": {
+ "line": 31,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an attribute.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.default] - Default value for this field.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 132,
+ 454
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 15,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 923,
+ 1260
+ ],
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 2
+ },
+ "end": {
+ "line": 41,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": true
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "hasOne",
+ "range": [
+ 1270,
+ 1276
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 9
+ },
+ "end": {
+ "line": 42,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1277,
+ 1281
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 16
+ },
+ "end": {
+ "line": 42,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 1283,
+ 1290
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 22
+ },
+ "end": {
+ "line": 42,
+ "column": 29
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1302,
+ 1306
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 8
+ },
+ "end": {
+ "line": 43,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1317,
+ 1321
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 23
+ },
+ "end": {
+ "line": 43,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 1310,
+ 1321
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 16
+ },
+ "end": {
+ "line": 43,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "'object'",
+ "range": [
+ 1326,
+ 1334
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 32
+ },
+ "end": {
+ "line": 43,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 1310,
+ 1334
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 16
+ },
+ "end": {
+ "line": 43,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 1302,
+ 1334
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 8
+ },
+ "end": {
+ "line": 43,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 1351,
+ 1356
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 13
+ },
+ "end": {
+ "line": 44,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "hasOne",
+ "range": [
+ 1357,
+ 1363
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 19
+ },
+ "end": {
+ "line": 44,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 1351,
+ 1363
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 13
+ },
+ "end": {
+ "line": 44,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1364,
+ 1368
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 26
+ },
+ "end": {
+ "line": 44,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1370,
+ 1374
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 32
+ },
+ "end": {
+ "line": 44,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 1351,
+ 1375
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 13
+ },
+ "end": {
+ "line": 44,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 1344,
+ 1376
+ ],
+ "loc": {
+ "start": {
+ "line": 44,
+ "column": 6
+ },
+ "end": {
+ "line": 44,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 1336,
+ 1382
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 42
+ },
+ "end": {
+ "line": 45,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1413,
+ 1417
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 8
+ },
+ "end": {
+ "line": 47,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 1419,
+ 1428
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 14
+ },
+ "end": {
+ "line": 47,
+ "column": 23
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1413,
+ 1428
+ ],
+ "loc": {
+ "start": {
+ "line": 47,
+ "column": 8
+ },
+ "end": {
+ "line": 47,
+ "column": 23
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 1438,
+ 1445
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 8
+ },
+ "end": {
+ "line": 48,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 1447,
+ 1454
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 17
+ },
+ "end": {
+ "line": 48,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 1458,
+ 1465
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 28
+ },
+ "end": {
+ "line": 48,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 1466,
+ 1473
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 36
+ },
+ "end": {
+ "line": 48,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 1458,
+ 1473
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 28
+ },
+ "end": {
+ "line": 48,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 1447,
+ 1473
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 17
+ },
+ "end": {
+ "line": 48,
+ "column": 43
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1438,
+ 1473
+ ],
+ "loc": {
+ "start": {
+ "line": 48,
+ "column": 8
+ },
+ "end": {
+ "line": 48,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 1483,
+ 1494
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 8
+ },
+ "end": {
+ "line": 49,
+ "column": 19
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1506,
+ 1510
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 31
+ },
+ "end": {
+ "line": 49,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1512,
+ 1515
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 37
+ },
+ "end": {
+ "line": 49,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1529,
+ 1533
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 10
+ },
+ "end": {
+ "line": 50,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1536,
+ 1540
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 17
+ },
+ "end": {
+ "line": 50,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1544,
+ 1547
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 25
+ },
+ "end": {
+ "line": 50,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1536,
+ 1547
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 17
+ },
+ "end": {
+ "line": 50,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1529,
+ 1547
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 10
+ },
+ "end": {
+ "line": 50,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 1529,
+ 1548
+ ],
+ "loc": {
+ "start": {
+ "line": 50,
+ "column": 10
+ },
+ "end": {
+ "line": 50,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1563,
+ 1567
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 14
+ },
+ "end": {
+ "line": 51,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1568,
+ 1581
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 19
+ },
+ "end": {
+ "line": 51,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 1563,
+ 1581
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 14
+ },
+ "end": {
+ "line": 51,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1585,
+ 1589
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 36
+ },
+ "end": {
+ "line": 51,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1590,
+ 1603
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 41
+ },
+ "end": {
+ "line": 51,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 1585,
+ 1603
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 36
+ },
+ "end": {
+ "line": 51,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1604,
+ 1608
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 55
+ },
+ "end": {
+ "line": 51,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 1585,
+ 1609
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 36
+ },
+ "end": {
+ "line": 51,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 1563,
+ 1609
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 14
+ },
+ "end": {
+ "line": 51,
+ "column": 60
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1629,
+ 1633
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 16
+ },
+ "end": {
+ "line": 52,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1634,
+ 1647
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 21
+ },
+ "end": {
+ "line": 52,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 1629,
+ 1647
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 16
+ },
+ "end": {
+ "line": 52,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1648,
+ 1652
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 35
+ },
+ "end": {
+ "line": 52,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 1629,
+ 1653
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 16
+ },
+ "end": {
+ "line": 52,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1654,
+ 1658
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 41
+ },
+ "end": {
+ "line": 52,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 1629,
+ 1658
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 16
+ },
+ "end": {
+ "line": 52,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1663,
+ 1667
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 50
+ },
+ "end": {
+ "line": 52,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 1629,
+ 1667
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 16
+ },
+ "end": {
+ "line": 52,
+ "column": 54
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1692,
+ 1696
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 21
+ },
+ "end": {
+ "line": 53,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 1685,
+ 1697
+ ],
+ "loc": {
+ "start": {
+ "line": 53,
+ "column": 14
+ },
+ "end": {
+ "line": 53,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "range": [
+ 1669,
+ 1711
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 56
+ },
+ "end": {
+ "line": 54,
+ "column": 13
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1721,
+ 1725
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 23
+ },
+ "end": {
+ "line": 54,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1726,
+ 1739
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 28
+ },
+ "end": {
+ "line": 54,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 1721,
+ 1739
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 23
+ },
+ "end": {
+ "line": 54,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1740,
+ 1744
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 42
+ },
+ "end": {
+ "line": 54,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 1721,
+ 1745
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 23
+ },
+ "end": {
+ "line": 54,
+ "column": 47
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1746,
+ 1750
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 48
+ },
+ "end": {
+ "line": 54,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 1721,
+ 1750
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 23
+ },
+ "end": {
+ "line": 54,
+ "column": 52
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 1775,
+ 1779
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 21
+ },
+ "end": {
+ "line": 55,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 1780,
+ 1784
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 26
+ },
+ "end": {
+ "line": 55,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 1775,
+ 1784
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 21
+ },
+ "end": {
+ "line": 55,
+ "column": 30
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1785,
+ 1789
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 31
+ },
+ "end": {
+ "line": 55,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1790,
+ 1803
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 36
+ },
+ "end": {
+ "line": 55,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 1785,
+ 1803
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 31
+ },
+ "end": {
+ "line": 55,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1804,
+ 1808
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 50
+ },
+ "end": {
+ "line": 55,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 1785,
+ 1809
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 31
+ },
+ "end": {
+ "line": 55,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1810,
+ 1814
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 56
+ },
+ "end": {
+ "line": 55,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 1785,
+ 1814
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 31
+ },
+ "end": {
+ "line": 55,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 1815,
+ 1819
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 61
+ },
+ "end": {
+ "line": 55,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 1785,
+ 1819
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 31
+ },
+ "end": {
+ "line": 55,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1821,
+ 1825
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 67
+ },
+ "end": {
+ "line": 55,
+ "column": 71
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 1826,
+ 1839
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 72
+ },
+ "end": {
+ "line": 55,
+ "column": 85
+ }
+ }
+ },
+ "range": [
+ 1821,
+ 1839
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 67
+ },
+ "end": {
+ "line": 55,
+ "column": 85
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 1840,
+ 1844
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 86
+ },
+ "end": {
+ "line": 55,
+ "column": 90
+ }
+ }
+ },
+ "range": [
+ 1821,
+ 1845
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 67
+ },
+ "end": {
+ "line": 55,
+ "column": 91
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1846,
+ 1850
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 92
+ },
+ "end": {
+ "line": 55,
+ "column": 96
+ }
+ }
+ },
+ "range": [
+ 1821,
+ 1850
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 67
+ },
+ "end": {
+ "line": 55,
+ "column": 96
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 1851,
+ 1853
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 97
+ },
+ "end": {
+ "line": 55,
+ "column": 99
+ }
+ }
+ },
+ "range": [
+ 1821,
+ 1853
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 67
+ },
+ "end": {
+ "line": 55,
+ "column": 99
+ }
+ }
+ }
+ ],
+ "range": [
+ 1775,
+ 1854
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 21
+ },
+ "end": {
+ "line": 55,
+ "column": 100
+ }
+ }
+ },
+ "range": [
+ 1768,
+ 1855
+ ],
+ "loc": {
+ "start": {
+ "line": 55,
+ "column": 14
+ },
+ "end": {
+ "line": 55,
+ "column": 101
+ }
+ }
+ }
+ ],
+ "range": [
+ 1752,
+ 1869
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 54
+ },
+ "end": {
+ "line": 56,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1717,
+ 1869
+ ],
+ "loc": {
+ "start": {
+ "line": 54,
+ "column": 19
+ },
+ "end": {
+ "line": 56,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 1625,
+ 1869
+ ],
+ "loc": {
+ "start": {
+ "line": 52,
+ "column": 12
+ },
+ "end": {
+ "line": 56,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 1611,
+ 1881
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 62
+ },
+ "end": {
+ "line": 57,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 1559,
+ 1881
+ ],
+ "loc": {
+ "start": {
+ "line": 51,
+ "column": 10
+ },
+ "end": {
+ "line": 57,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 1517,
+ 1891
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 42
+ },
+ "end": {
+ "line": 58,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1496,
+ 1891
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 21
+ },
+ "end": {
+ "line": 58,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1483,
+ 1891
+ ],
+ "loc": {
+ "start": {
+ "line": 49,
+ "column": 8
+ },
+ "end": {
+ "line": 58,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 1901,
+ 1910
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 8
+ },
+ "end": {
+ "line": 59,
+ "column": 17
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 1921,
+ 1930
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 28
+ },
+ "end": {
+ "line": 59,
+ "column": 37
+ }
+ }
+ },
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 1931,
+ 1939
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 38
+ },
+ "end": {
+ "line": 59,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 1941,
+ 1945
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 48
+ },
+ "end": {
+ "line": 59,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1947,
+ 1950
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 54
+ },
+ "end": {
+ "line": 59,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 1968,
+ 1976
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 14
+ },
+ "end": {
+ "line": 60,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 1977,
+ 1980
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 23
+ },
+ "end": {
+ "line": 60,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 1968,
+ 1981
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 14
+ },
+ "end": {
+ "line": 60,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 1986,
+ 1990
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 32
+ },
+ "end": {
+ "line": 60,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 1968,
+ 1990
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 14
+ },
+ "end": {
+ "line": 60,
+ "column": 36
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2006,
+ 2010
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 12
+ },
+ "end": {
+ "line": 61,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 2011,
+ 2024
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 17
+ },
+ "end": {
+ "line": 61,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 2006,
+ 2024
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 12
+ },
+ "end": {
+ "line": 61,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2025,
+ 2029
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 31
+ },
+ "end": {
+ "line": 61,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2033,
+ 2036
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 39
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2025,
+ 2036
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 31
+ },
+ "end": {
+ "line": 61,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2006,
+ 2037
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 12
+ },
+ "end": {
+ "line": 61,
+ "column": 43
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2040,
+ 2044
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 46
+ },
+ "end": {
+ "line": 61,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 2006,
+ 2044
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 12
+ },
+ "end": {
+ "line": 61,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 2006,
+ 2045
+ ],
+ "loc": {
+ "start": {
+ "line": 61,
+ "column": 12
+ },
+ "end": {
+ "line": 61,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "range": [
+ 1992,
+ 2057
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 38
+ },
+ "end": {
+ "line": 62,
+ "column": 11
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 2067,
+ 2075
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 21
+ },
+ "end": {
+ "line": 62,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2076,
+ 2079
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 30
+ },
+ "end": {
+ "line": 62,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 2067,
+ 2080
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 21
+ },
+ "end": {
+ "line": 62,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2096,
+ 2100
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 12
+ },
+ "end": {
+ "line": 63,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 2101,
+ 2114
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 17
+ },
+ "end": {
+ "line": 63,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 2096,
+ 2114
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 12
+ },
+ "end": {
+ "line": 63,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2115,
+ 2119
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 31
+ },
+ "end": {
+ "line": 63,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2123,
+ 2126
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 39
+ },
+ "end": {
+ "line": 63,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2115,
+ 2126
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 31
+ },
+ "end": {
+ "line": 63,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 2096,
+ 2127
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 12
+ },
+ "end": {
+ "line": 63,
+ "column": 43
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2146,
+ 2150
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 14
+ },
+ "end": {
+ "line": 64,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2170,
+ 2174
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 16
+ },
+ "end": {
+ "line": 65,
+ "column": 20
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 2176,
+ 2184
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 22
+ },
+ "end": {
+ "line": 65,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2185,
+ 2188
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 31
+ },
+ "end": {
+ "line": 65,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 2176,
+ 2189
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 22
+ },
+ "end": {
+ "line": 65,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2190,
+ 2194
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 36
+ },
+ "end": {
+ "line": 65,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2176,
+ 2194
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 22
+ },
+ "end": {
+ "line": 65,
+ "column": 40
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2170,
+ 2194
+ ],
+ "loc": {
+ "start": {
+ "line": 65,
+ "column": 16
+ },
+ "end": {
+ "line": 65,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2212,
+ 2214
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 16
+ },
+ "end": {
+ "line": 66,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 2216,
+ 2224
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 20
+ },
+ "end": {
+ "line": 66,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2225,
+ 2228
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 29
+ },
+ "end": {
+ "line": 66,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 2216,
+ 2229
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 20
+ },
+ "end": {
+ "line": 66,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 2230,
+ 2232
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 34
+ },
+ "end": {
+ "line": 66,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 2216,
+ 2232
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 20
+ },
+ "end": {
+ "line": 66,
+ "column": 36
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2212,
+ 2232
+ ],
+ "loc": {
+ "start": {
+ "line": 66,
+ "column": 16
+ },
+ "end": {
+ "line": 66,
+ "column": 36
+ }
+ }
+ }
+ ],
+ "range": [
+ 2152,
+ 2248
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 20
+ },
+ "end": {
+ "line": 67,
+ "column": 15
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2146,
+ 2248
+ ],
+ "loc": {
+ "start": {
+ "line": 64,
+ "column": 14
+ },
+ "end": {
+ "line": 67,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 2130,
+ 2262
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 46
+ },
+ "end": {
+ "line": 68,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 2096,
+ 2262
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 2096,
+ 2263
+ ],
+ "loc": {
+ "start": {
+ "line": 63,
+ "column": 12
+ },
+ "end": {
+ "line": 68,
+ "column": 14
+ }
+ }
+ }
+ ],
+ "range": [
+ 2082,
+ 2275
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 36
+ },
+ "end": {
+ "line": 69,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2063,
+ 2275
+ ],
+ "loc": {
+ "start": {
+ "line": 62,
+ "column": 17
+ },
+ "end": {
+ "line": 69,
+ "column": 11
+ }
+ }
+ },
+ "range": [
+ 1964,
+ 2275
+ ],
+ "loc": {
+ "start": {
+ "line": 60,
+ "column": 10
+ },
+ "end": {
+ "line": 69,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 1952,
+ 2285
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 59
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1912,
+ 2285
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 19
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 1901,
+ 2285
+ ],
+ "loc": {
+ "start": {
+ "line": 59,
+ "column": 8
+ },
+ "end": {
+ "line": 70,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 1403,
+ 2293
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 13
+ },
+ "end": {
+ "line": 71,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 1396,
+ 2294
+ ],
+ "loc": {
+ "start": {
+ "line": 46,
+ "column": 6
+ },
+ "end": {
+ "line": 71,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 1388,
+ 2300
+ ],
+ "loc": {
+ "start": {
+ "line": 45,
+ "column": 11
+ },
+ "end": {
+ "line": 72,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 1298,
+ 2300
+ ],
+ "loc": {
+ "start": {
+ "line": 43,
+ "column": 4
+ },
+ "end": {
+ "line": 72,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 1292,
+ 2304
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 31
+ },
+ "end": {
+ "line": 73,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 1276,
+ 2304
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 15
+ },
+ "end": {
+ "line": 73,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 1263,
+ 2304
+ ],
+ "loc": {
+ "start": {
+ "line": 42,
+ "column": 2
+ },
+ "end": {
+ "line": 73,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 923,
+ 1260
+ ],
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 2
+ },
+ "end": {
+ "line": 41,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 2308,
+ 2646
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": true
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "hasMany",
+ "range": [
+ 2656,
+ 2663
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 9
+ },
+ "end": {
+ "line": 84,
+ "column": 16
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2664,
+ 2668
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 17
+ },
+ "end": {
+ "line": 84,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2670,
+ 2677
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 23
+ },
+ "end": {
+ "line": 84,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2689,
+ 2693
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 8
+ },
+ "end": {
+ "line": 85,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2704,
+ 2708
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 23
+ },
+ "end": {
+ "line": 85,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 2697,
+ 2708
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 16
+ },
+ "end": {
+ "line": 85,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "'object'",
+ "range": [
+ 2713,
+ 2721
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 32
+ },
+ "end": {
+ "line": 85,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2697,
+ 2721
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 16
+ },
+ "end": {
+ "line": 85,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 2689,
+ 2721
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 8
+ },
+ "end": {
+ "line": 85,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 2738,
+ 2743
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 13
+ },
+ "end": {
+ "line": 86,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "hasMany",
+ "range": [
+ 2744,
+ 2751
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 19
+ },
+ "end": {
+ "line": 86,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 2738,
+ 2751
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 13
+ },
+ "end": {
+ "line": 86,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 2752,
+ 2756
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 27
+ },
+ "end": {
+ "line": 86,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2758,
+ 2762
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 33
+ },
+ "end": {
+ "line": 86,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 2738,
+ 2763
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 13
+ },
+ "end": {
+ "line": 86,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 2731,
+ 2764
+ ],
+ "loc": {
+ "start": {
+ "line": 86,
+ "column": 6
+ },
+ "end": {
+ "line": 86,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 2723,
+ 2770
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 42
+ },
+ "end": {
+ "line": 87,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 2801,
+ 2805
+ ],
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 8
+ },
+ "end": {
+ "line": 89,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 2807,
+ 2817
+ ],
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 14
+ },
+ "end": {
+ "line": 89,
+ "column": 24
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2801,
+ 2817
+ ],
+ "loc": {
+ "start": {
+ "line": 89,
+ "column": 8
+ },
+ "end": {
+ "line": 89,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 2827,
+ 2834
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 2836,
+ 2838
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 17
+ },
+ "end": {
+ "line": 90,
+ "column": 19
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2827,
+ 2838
+ ],
+ "loc": {
+ "start": {
+ "line": 90,
+ "column": 8
+ },
+ "end": {
+ "line": 90,
+ "column": 19
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 2848,
+ 2855
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 8
+ },
+ "end": {
+ "line": 91,
+ "column": 15
+ }
+ }
+ },
+ "value": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2857,
+ 2864
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 17
+ },
+ "end": {
+ "line": 91,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 2868,
+ 2875
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 28
+ },
+ "end": {
+ "line": 91,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 2876,
+ 2883
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 36
+ },
+ "end": {
+ "line": 91,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2868,
+ 2883
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 28
+ },
+ "end": {
+ "line": 91,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 2857,
+ 2883
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 17
+ },
+ "end": {
+ "line": 91,
+ "column": 43
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2848,
+ 2883
+ ],
+ "loc": {
+ "start": {
+ "line": 91,
+ "column": 8
+ },
+ "end": {
+ "line": 91,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 2893,
+ 2904
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 8
+ },
+ "end": {
+ "line": 92,
+ "column": 19
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2916,
+ 2920
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 31
+ },
+ "end": {
+ "line": 92,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2922,
+ 2925
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 37
+ },
+ "end": {
+ "line": 92,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2939,
+ 2943
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 10
+ },
+ "end": {
+ "line": 93,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 2946,
+ 2950
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 17
+ },
+ "end": {
+ "line": 93,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 2954,
+ 2957
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 25
+ },
+ "end": {
+ "line": 93,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 2946,
+ 2957
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 17
+ },
+ "end": {
+ "line": 93,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 2939,
+ 2957
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 10
+ },
+ "end": {
+ "line": 93,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 2939,
+ 2958
+ ],
+ "loc": {
+ "start": {
+ "line": 93,
+ "column": 10
+ },
+ "end": {
+ "line": 93,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2973,
+ 2977
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 14
+ },
+ "end": {
+ "line": 94,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 2978,
+ 2991
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 19
+ },
+ "end": {
+ "line": 94,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 2973,
+ 2991
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 14
+ },
+ "end": {
+ "line": 94,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 2995,
+ 2999
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 36
+ },
+ "end": {
+ "line": 94,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3000,
+ 3013
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 41
+ },
+ "end": {
+ "line": 94,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 2995,
+ 3013
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 36
+ },
+ "end": {
+ "line": 94,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3014,
+ 3018
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 55
+ },
+ "end": {
+ "line": 94,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 2995,
+ 3019
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 36
+ },
+ "end": {
+ "line": 94,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 2973,
+ 3019
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 14
+ },
+ "end": {
+ "line": 94,
+ "column": 60
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3039,
+ 3043
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3044,
+ 3057
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 21
+ },
+ "end": {
+ "line": 95,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 3039,
+ 3057
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3058,
+ 3062
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 35
+ },
+ "end": {
+ "line": 95,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 3039,
+ 3063
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3064,
+ 3068
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 41
+ },
+ "end": {
+ "line": 95,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 3039,
+ 3068
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 3073,
+ 3077
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 50
+ },
+ "end": {
+ "line": 95,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 3039,
+ 3077
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 16
+ },
+ "end": {
+ "line": 95,
+ "column": 54
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 3102,
+ 3104
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 21
+ },
+ "end": {
+ "line": 96,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 3095,
+ 3105
+ ],
+ "loc": {
+ "start": {
+ "line": 96,
+ "column": 14
+ },
+ "end": {
+ "line": 96,
+ "column": 24
+ }
+ }
+ }
+ ],
+ "range": [
+ 3079,
+ 3119
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 56
+ },
+ "end": {
+ "line": 97,
+ "column": 13
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3129,
+ 3133
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 23
+ },
+ "end": {
+ "line": 97,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3134,
+ 3147
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 28
+ },
+ "end": {
+ "line": 97,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 3129,
+ 3147
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 23
+ },
+ "end": {
+ "line": 97,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3148,
+ 3152
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 42
+ },
+ "end": {
+ "line": 97,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 3129,
+ 3153
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 23
+ },
+ "end": {
+ "line": 97,
+ "column": 47
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3154,
+ 3158
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 48
+ },
+ "end": {
+ "line": 97,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 3129,
+ 3158
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 23
+ },
+ "end": {
+ "line": 97,
+ "column": 52
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3183,
+ 3187
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 98,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3188,
+ 3201
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 26
+ },
+ "end": {
+ "line": 98,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 3183,
+ 3201
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 98,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3202,
+ 3206
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 40
+ },
+ "end": {
+ "line": 98,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 3183,
+ 3207
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 98,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3208,
+ 3212
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 46
+ },
+ "end": {
+ "line": 98,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 3183,
+ 3212
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 98,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 3213,
+ 3216
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 51
+ },
+ "end": {
+ "line": 98,
+ "column": 54
+ }
+ }
+ },
+ "range": [
+ 3183,
+ 3216
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 98,
+ "column": 54
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "c",
+ "range": [
+ 3218,
+ 3219
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 56
+ },
+ "end": {
+ "line": 98,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3249,
+ 3253
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 23
+ },
+ "end": {
+ "line": 99,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 3254,
+ 3258
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 28
+ },
+ "end": {
+ "line": 99,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 3249,
+ 3258
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 23
+ },
+ "end": {
+ "line": 99,
+ "column": 32
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "c",
+ "range": [
+ 3259,
+ 3260
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 33
+ },
+ "end": {
+ "line": 99,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3261,
+ 3265
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 35
+ },
+ "end": {
+ "line": 99,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 3259,
+ 3265
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 33
+ },
+ "end": {
+ "line": 99,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "c",
+ "range": [
+ 3267,
+ 3268
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 41
+ },
+ "end": {
+ "line": 99,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3269,
+ 3271
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 43
+ },
+ "end": {
+ "line": 99,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 3267,
+ 3271
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 41
+ },
+ "end": {
+ "line": 99,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 3249,
+ 3272
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 23
+ },
+ "end": {
+ "line": 99,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 3242,
+ 3273
+ ],
+ "loc": {
+ "start": {
+ "line": 99,
+ "column": 16
+ },
+ "end": {
+ "line": 99,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "range": [
+ 3224,
+ 3289
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 62
+ },
+ "end": {
+ "line": 100,
+ "column": 15
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3217,
+ 3289
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 55
+ },
+ "end": {
+ "line": 100,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 3183,
+ 3290
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 21
+ },
+ "end": {
+ "line": 100,
+ "column": 16
+ }
+ }
+ },
+ "range": [
+ 3176,
+ 3291
+ ],
+ "loc": {
+ "start": {
+ "line": 98,
+ "column": 14
+ },
+ "end": {
+ "line": 100,
+ "column": 17
+ }
+ }
+ }
+ ],
+ "range": [
+ 3160,
+ 3305
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 54
+ },
+ "end": {
+ "line": 101,
+ "column": 13
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3125,
+ 3305
+ ],
+ "loc": {
+ "start": {
+ "line": 97,
+ "column": 19
+ },
+ "end": {
+ "line": 101,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 3035,
+ 3305
+ ],
+ "loc": {
+ "start": {
+ "line": 95,
+ "column": 12
+ },
+ "end": {
+ "line": 101,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 3021,
+ 3317
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 62
+ },
+ "end": {
+ "line": 102,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 2969,
+ 3317
+ ],
+ "loc": {
+ "start": {
+ "line": 94,
+ "column": 10
+ },
+ "end": {
+ "line": 102,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 2927,
+ 3327
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 42
+ },
+ "end": {
+ "line": 103,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 2906,
+ 3327
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 21
+ },
+ "end": {
+ "line": 103,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 2893,
+ 3327
+ ],
+ "loc": {
+ "start": {
+ "line": 92,
+ "column": 8
+ },
+ "end": {
+ "line": 103,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 3337,
+ 3346
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 8
+ },
+ "end": {
+ "line": 104,
+ "column": 17
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 3357,
+ 3366
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 28
+ },
+ "end": {
+ "line": 104,
+ "column": 37
+ }
+ }
+ },
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 3367,
+ 3375
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 38
+ },
+ "end": {
+ "line": 104,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3377,
+ 3381
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 48
+ },
+ "end": {
+ "line": 104,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3383,
+ 3386
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 54
+ },
+ "end": {
+ "line": 104,
+ "column": 57
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 3404,
+ 3412
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 14
+ },
+ "end": {
+ "line": 105,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3413,
+ 3416
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 23
+ },
+ "end": {
+ "line": 105,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 3404,
+ 3417
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 14
+ },
+ "end": {
+ "line": 105,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3433,
+ 3437
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 12
+ },
+ "end": {
+ "line": 106,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 3438,
+ 3451
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 17
+ },
+ "end": {
+ "line": 106,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 3433,
+ 3451
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 12
+ },
+ "end": {
+ "line": 106,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 3452,
+ 3456
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 31
+ },
+ "end": {
+ "line": 106,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3460,
+ 3463
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 39
+ },
+ "end": {
+ "line": 106,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 3452,
+ 3463
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 31
+ },
+ "end": {
+ "line": 106,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 3433,
+ 3464
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 12
+ },
+ "end": {
+ "line": 106,
+ "column": 43
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 3483,
+ 3487
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 14
+ },
+ "end": {
+ "line": 107,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 3489,
+ 3497
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 20
+ },
+ "end": {
+ "line": 107,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 3498,
+ 3501
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 29
+ },
+ "end": {
+ "line": 107,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 3489,
+ 3502
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 20
+ },
+ "end": {
+ "line": 107,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 3503,
+ 3506
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 34
+ },
+ "end": {
+ "line": 107,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 3489,
+ 3506
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 20
+ },
+ "end": {
+ "line": 107,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 3507,
+ 3508
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 38
+ },
+ "end": {
+ "line": 107,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3539,
+ 3543
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 25
+ },
+ "end": {
+ "line": 108,
+ "column": 29
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 3545,
+ 3546
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 31
+ },
+ "end": {
+ "line": 108,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 3547,
+ 3551
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 33
+ },
+ "end": {
+ "line": 108,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 3545,
+ 3551
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 31
+ },
+ "end": {
+ "line": 108,
+ "column": 37
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3539,
+ 3551
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 25
+ },
+ "end": {
+ "line": 108,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3553,
+ 3555
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 39
+ },
+ "end": {
+ "line": 108,
+ "column": 41
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 3557,
+ 3558
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 43
+ },
+ "end": {
+ "line": 108,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 3559,
+ 3561
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 45
+ },
+ "end": {
+ "line": 108,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 3557,
+ 3561
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 43
+ },
+ "end": {
+ "line": 108,
+ "column": 47
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3553,
+ 3561
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 39
+ },
+ "end": {
+ "line": 108,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "range": [
+ 3537,
+ 3563
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 23
+ },
+ "end": {
+ "line": 108,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 3530,
+ 3564
+ ],
+ "loc": {
+ "start": {
+ "line": 108,
+ "column": 16
+ },
+ "end": {
+ "line": 108,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 3512,
+ 3580
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 43
+ },
+ "end": {
+ "line": 109,
+ "column": 15
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3507,
+ 3580
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 38
+ },
+ "end": {
+ "line": 109,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 3489,
+ 3581
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 20
+ },
+ "end": {
+ "line": 109,
+ "column": 16
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3483,
+ 3581
+ ],
+ "loc": {
+ "start": {
+ "line": 107,
+ "column": 14
+ },
+ "end": {
+ "line": 109,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 3467,
+ 3595
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 46
+ },
+ "end": {
+ "line": 110,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 3433,
+ 3595
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 12
+ },
+ "end": {
+ "line": 110,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 3433,
+ 3596
+ ],
+ "loc": {
+ "start": {
+ "line": 106,
+ "column": 12
+ },
+ "end": {
+ "line": 110,
+ "column": 14
+ }
+ }
+ }
+ ],
+ "range": [
+ 3419,
+ 3608
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 29
+ },
+ "end": {
+ "line": 111,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 3400,
+ 3608
+ ],
+ "loc": {
+ "start": {
+ "line": 105,
+ "column": 10
+ },
+ "end": {
+ "line": 111,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 3388,
+ 3618
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 59
+ },
+ "end": {
+ "line": 112,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3348,
+ 3618
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 19
+ },
+ "end": {
+ "line": 112,
+ "column": 9
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 3337,
+ 3618
+ ],
+ "loc": {
+ "start": {
+ "line": 104,
+ "column": 8
+ },
+ "end": {
+ "line": 112,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 2791,
+ 3626
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 13
+ },
+ "end": {
+ "line": 113,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 2784,
+ 3627
+ ],
+ "loc": {
+ "start": {
+ "line": 88,
+ "column": 6
+ },
+ "end": {
+ "line": 113,
+ "column": 8
+ }
+ }
+ }
+ ],
+ "range": [
+ 2776,
+ 3633
+ ],
+ "loc": {
+ "start": {
+ "line": 87,
+ "column": 11
+ },
+ "end": {
+ "line": 114,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 2685,
+ 3633
+ ],
+ "loc": {
+ "start": {
+ "line": 85,
+ "column": 4
+ },
+ "end": {
+ "line": 114,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 2679,
+ 3637
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 32
+ },
+ "end": {
+ "line": 115,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 2663,
+ 3637
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 16
+ },
+ "end": {
+ "line": 115,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 2649,
+ 3637
+ ],
+ "loc": {
+ "start": {
+ "line": 84,
+ "column": 2
+ },
+ "end": {
+ "line": 115,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 2308,
+ 2646
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": true
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "constructor",
+ "range": [
+ 3641,
+ 3652
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 2
+ },
+ "end": {
+ "line": 117,
+ "column": 13
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "adapter",
+ "range": [
+ 3653,
+ 3660
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 14
+ },
+ "end": {
+ "line": 117,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3669,
+ 3673
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 3674,
+ 3682
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 9
+ },
+ "end": {
+ "line": 119,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 3669,
+ 3682
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "adapter",
+ "range": [
+ 3685,
+ 3692
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 20
+ },
+ "end": {
+ "line": 119,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 3669,
+ 3692
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 3669,
+ 3693
+ ],
+ "loc": {
+ "start": {
+ "line": 119,
+ "column": 4
+ },
+ "end": {
+ "line": 119,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3698,
+ 3702
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 3703,
+ 3708
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 9
+ },
+ "end": {
+ "line": 120,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 3698,
+ 3708
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3711,
+ 3713
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 17
+ },
+ "end": {
+ "line": 120,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 3698,
+ 3713
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 3698,
+ 3714
+ ],
+ "loc": {
+ "start": {
+ "line": 120,
+ "column": 4
+ },
+ "end": {
+ "line": 120,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3719,
+ 3723
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subject",
+ "range": [
+ 3724,
+ 3732
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 9
+ },
+ "end": {
+ "line": 121,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 3719,
+ 3732
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Rx",
+ "range": [
+ 3739,
+ 3741
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 24
+ },
+ "end": {
+ "line": 121,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "Subject",
+ "range": [
+ 3742,
+ 3749
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 27
+ },
+ "end": {
+ "line": 121,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 3739,
+ 3749
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 24
+ },
+ "end": {
+ "line": 121,
+ "column": 34
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 3735,
+ 3751
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 20
+ },
+ "end": {
+ "line": 121,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 3719,
+ 3751
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 3719,
+ 3752
+ ],
+ "loc": {
+ "start": {
+ "line": 121,
+ "column": 4
+ },
+ "end": {
+ "line": 121,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3757,
+ 3761
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 4
+ },
+ "end": {
+ "line": 122,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 3762,
+ 3776
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 9
+ },
+ "end": {
+ "line": 122,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 3757,
+ 3776
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 4
+ },
+ "end": {
+ "line": 122,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3779,
+ 3781
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 26
+ },
+ "end": {
+ "line": 122,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 3757,
+ 3781
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 4
+ },
+ "end": {
+ "line": 122,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 3757,
+ 3782
+ ],
+ "loc": {
+ "start": {
+ "line": 122,
+ "column": 4
+ },
+ "end": {
+ "line": 122,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 3787,
+ 3791
+ ],
+ "loc": {
+ "start": {
+ "line": 123,
+ "column": 4
+ },
+ "end": {
+ "line": 123,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 3792,
+ 3798
+ ],
+ "loc": {
+ "start": {
+ "line": 123,
+ "column": 9
+ },
+ "end": {
+ "line": 123,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 3787,
+ 3798
+ ],
+ "loc": {
+ "start": {
+ "line": 123,
+ "column": 4
+ },
+ "end": {
+ "line": 123,
+ "column": 15
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 3801,
+ 3803
+ ],
+ "loc": {
+ "start": {
+ "line": 123,
+ "column": 18
+ },
+ "end": {
+ "line": 123,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3787,
+ 3803
+ ],
+ "loc": {
+ "start": {
+ "line": 123,
+ "column": 4
+ },
+ "end": {
+ "line": 123,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 3787,
+ 3804
+ ],
+ "loc": {
+ "start": {
+ "line": 123,
+ "column": 4
+ },
+ "end": {
+ "line": 123,
+ "column": 21
+ }
+ },
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * An observable that will emit events when any resource in added, updated\n * or removed. The object passed to listeners will be in this format:\n *\n *
\n * { name: string, type: string, id: string, resource: object }\n * \n *\n * You can learn more about RxJS observables at the GitHub repo:\n * https://github.com/Reactive-Extensions/RxJS\n *\n * @type {Rx.Observable}\n * @since 0.6.0\n *\n * @example\n * let store = new Store();\n *\n * store.observable.filter(e => e.name === \"added\").subscribe(event => {\n * console.log(event.name); // \"added\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"updated\").subscribe(event => {\n * console.log(event.name); // \"updated\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"removed\").subscribe(event => {\n * console.log(event.name); // \"removed\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // null\n * });\n ",
+ "range": [
+ 3810,
+ 5178
+ ],
+ "loc": {
+ "start": {
+ "line": 125,
+ "column": 4
+ },
+ "end": {
+ "line": 162,
+ "column": 7
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5183,
+ 5187
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 4
+ },
+ "end": {
+ "line": 163,
+ "column": 8
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "observable",
+ "range": [
+ 5188,
+ 5198
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 9
+ },
+ "end": {
+ "line": 163,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 5183,
+ 5198
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 4
+ },
+ "end": {
+ "line": 163,
+ "column": 19
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5201,
+ 5205
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 22
+ },
+ "end": {
+ "line": 163,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subject",
+ "range": [
+ 5206,
+ 5214
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 27
+ },
+ "end": {
+ "line": 163,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 5201,
+ 5214
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 22
+ },
+ "end": {
+ "line": 163,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "asObservable",
+ "range": [
+ 5215,
+ 5227
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 36
+ },
+ "end": {
+ "line": 163,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 5201,
+ 5227
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 22
+ },
+ "end": {
+ "line": 163,
+ "column": 48
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 5201,
+ 5229
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 22
+ },
+ "end": {
+ "line": 163,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 5183,
+ 5229
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 4
+ },
+ "end": {
+ "line": 163,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 5183,
+ 5230
+ ],
+ "loc": {
+ "start": {
+ "line": 163,
+ "column": 4
+ },
+ "end": {
+ "line": 163,
+ "column": 51
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * An observable that will emit events when any resource in added, updated\n * or removed. The object passed to listeners will be in this format:\n *\n *
\n * { name: string, type: string, id: string, resource: object }\n * \n *\n * You can learn more about RxJS observables at the GitHub repo:\n * https://github.com/Reactive-Extensions/RxJS\n *\n * @type {Rx.Observable}\n * @since 0.6.0\n *\n * @example\n * let store = new Store();\n *\n * store.observable.filter(e => e.name === \"added\").subscribe(event => {\n * console.log(event.name); // \"added\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"updated\").subscribe(event => {\n * console.log(event.name); // \"updated\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"removed\").subscribe(event => {\n * console.log(event.name); // \"removed\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // null\n * });\n ",
+ "range": [
+ 3810,
+ 5178
+ ],
+ "loc": {
+ "start": {
+ "line": 125,
+ "column": 4
+ },
+ "end": {
+ "line": 162,
+ "column": 7
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "range": [
+ 3662,
+ 5235
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 23
+ },
+ "end": {
+ "line": 165,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 3652,
+ 5235
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 13
+ },
+ "end": {
+ "line": 165,
+ "column": 3
+ }
+ }
+ },
+ "kind": "constructor",
+ "computed": false,
+ "range": [
+ 3641,
+ 5235
+ ],
+ "loc": {
+ "start": {
+ "line": 117,
+ "column": 2
+ },
+ "end": {
+ "line": 165,
+ "column": 3
+ }
+ },
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - A JSON API Resource Object to be added. See:\n http://jsonapi.org/format/#document-resource-objects\n ",
+ "range": [
+ 5239,
+ 5511
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 2
+ },
+ "end": {
+ "line": 174,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 5514,
+ 5517
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 2
+ },
+ "end": {
+ "line": 175,
+ "column": 5
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5518,
+ 5524
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 6
+ },
+ "end": {
+ "line": 175,
+ "column": 12
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5536,
+ 5542
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 8
+ },
+ "end": {
+ "line": 176,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5556,
+ 5562
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 10
+ },
+ "end": {
+ "line": 177,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5563,
+ 5567
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 17
+ },
+ "end": {
+ "line": 177,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 5556,
+ 5567
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 10
+ },
+ "end": {
+ "line": 177,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5571,
+ 5577
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 25
+ },
+ "end": {
+ "line": 177,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5578,
+ 5580
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 32
+ },
+ "end": {
+ "line": 177,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 5571,
+ 5580
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 25
+ },
+ "end": {
+ "line": 177,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 5556,
+ 5580
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 10
+ },
+ "end": {
+ "line": 177,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 5596,
+ 5600
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 12
+ },
+ "end": {
+ "line": 178,
+ "column": 16
+ }
+ }
+ },
+ "init": {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5603,
+ 5607
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 19
+ },
+ "end": {
+ "line": 178,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 5608,
+ 5613
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 24
+ },
+ "end": {
+ "line": 178,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 5603,
+ 5613
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 19
+ },
+ "end": {
+ "line": 178,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5614,
+ 5620
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 30
+ },
+ "end": {
+ "line": 178,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5621,
+ 5625
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 37
+ },
+ "end": {
+ "line": 178,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 5614,
+ 5625
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 30
+ },
+ "end": {
+ "line": 178,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 5603,
+ 5626
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 19
+ },
+ "end": {
+ "line": 178,
+ "column": 42
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5630,
+ 5634
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 46
+ },
+ "end": {
+ "line": 178,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 5635,
+ 5640
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 51
+ },
+ "end": {
+ "line": 178,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 5630,
+ 5640
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 46
+ },
+ "end": {
+ "line": 178,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5641,
+ 5647
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 57
+ },
+ "end": {
+ "line": 178,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5648,
+ 5652
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 64
+ },
+ "end": {
+ "line": 178,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 5641,
+ 5652
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 57
+ },
+ "end": {
+ "line": 178,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 5630,
+ 5653
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 46
+ },
+ "end": {
+ "line": 178,
+ "column": 69
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5654,
+ 5660
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 70
+ },
+ "end": {
+ "line": 178,
+ "column": 76
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5661,
+ 5663
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 77
+ },
+ "end": {
+ "line": 178,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 5654,
+ 5663
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 70
+ },
+ "end": {
+ "line": 178,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 5630,
+ 5664
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 46
+ },
+ "end": {
+ "line": 178,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 5603,
+ 5664
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 19
+ },
+ "end": {
+ "line": 178,
+ "column": 80
+ }
+ }
+ },
+ "consequent": {
+ "type": "Literal",
+ "value": "updated",
+ "raw": "\"updated\"",
+ "range": [
+ 5667,
+ 5676
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 83
+ },
+ "end": {
+ "line": 178,
+ "column": 92
+ }
+ }
+ },
+ "alternate": {
+ "type": "Literal",
+ "value": "added",
+ "raw": "\"added\"",
+ "range": [
+ 5679,
+ 5686
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 95
+ },
+ "end": {
+ "line": 178,
+ "column": 102
+ }
+ }
+ },
+ "range": [
+ 5603,
+ 5686
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 19
+ },
+ "end": {
+ "line": 178,
+ "column": 102
+ }
+ }
+ },
+ "range": [
+ 5596,
+ 5686
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 12
+ },
+ "end": {
+ "line": 178,
+ "column": 102
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 5592,
+ 5687
+ ],
+ "loc": {
+ "start": {
+ "line": 178,
+ "column": 8
+ },
+ "end": {
+ "line": 178,
+ "column": 103
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 5700,
+ 5708
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 12
+ },
+ "end": {
+ "line": 179,
+ "column": 20
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5711,
+ 5715
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 23
+ },
+ "end": {
+ "line": 179,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 5716,
+ 5720
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 28
+ },
+ "end": {
+ "line": 179,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 5711,
+ 5720
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 23
+ },
+ "end": {
+ "line": 179,
+ "column": 32
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5721,
+ 5727
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 33
+ },
+ "end": {
+ "line": 179,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5728,
+ 5732
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 40
+ },
+ "end": {
+ "line": 179,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 5721,
+ 5732
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 33
+ },
+ "end": {
+ "line": 179,
+ "column": 44
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5734,
+ 5740
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 46
+ },
+ "end": {
+ "line": 179,
+ "column": 52
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 5741,
+ 5743
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 53
+ },
+ "end": {
+ "line": 179,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 5734,
+ 5743
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 46
+ },
+ "end": {
+ "line": 179,
+ "column": 55
+ }
+ }
+ }
+ ],
+ "range": [
+ 5711,
+ 5744
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 23
+ },
+ "end": {
+ "line": 179,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 5700,
+ 5744
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 12
+ },
+ "end": {
+ "line": 179,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 5696,
+ 5745
+ ],
+ "loc": {
+ "start": {
+ "line": 179,
+ "column": 8
+ },
+ "end": {
+ "line": 179,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 5758,
+ 5768
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 12
+ },
+ "end": {
+ "line": 180,
+ "column": 22
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5771,
+ 5775
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 25
+ },
+ "end": {
+ "line": 180,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 5776,
+ 5782
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 30
+ },
+ "end": {
+ "line": 180,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 5771,
+ 5782
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 25
+ },
+ "end": {
+ "line": 180,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5783,
+ 5789
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 37
+ },
+ "end": {
+ "line": 180,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 5790,
+ 5794
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 44
+ },
+ "end": {
+ "line": 180,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 5783,
+ 5794
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 37
+ },
+ "end": {
+ "line": 180,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 5771,
+ 5795
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 25
+ },
+ "end": {
+ "line": 180,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 5758,
+ 5795
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 12
+ },
+ "end": {
+ "line": 180,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 5754,
+ 5796
+ ],
+ "loc": {
+ "start": {
+ "line": 180,
+ "column": 8
+ },
+ "end": {
+ "line": 180,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 5805,
+ 5811
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 8
+ },
+ "end": {
+ "line": 181,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 5812,
+ 5816
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 15
+ },
+ "end": {
+ "line": 181,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 5805,
+ 5816
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 8
+ },
+ "end": {
+ "line": 181,
+ "column": 19
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 5817,
+ 5827
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 20
+ },
+ "end": {
+ "line": 181,
+ "column": 30
+ }
+ }
+ }
+ ],
+ "range": [
+ 5805,
+ 5828
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 8
+ },
+ "end": {
+ "line": 181,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 5829,
+ 5836
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 32
+ },
+ "end": {
+ "line": 181,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 5805,
+ 5836
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 8
+ },
+ "end": {
+ "line": 181,
+ "column": 39
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 5837,
+ 5846
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 40
+ },
+ "end": {
+ "line": 181,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 5866,
+ 5875
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 14
+ },
+ "end": {
+ "line": 182,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 5876,
+ 5877
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 24
+ },
+ "end": {
+ "line": 182,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 5866,
+ 5878
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 14
+ },
+ "end": {
+ "line": 182,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "_",
+ "raw": "\"_\"",
+ "range": [
+ 5883,
+ 5886
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 31
+ },
+ "end": {
+ "line": 182,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 5866,
+ 5886
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 14
+ },
+ "end": {
+ "line": 182,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5902,
+ 5906
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 12
+ },
+ "end": {
+ "line": 183,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_addField",
+ "range": [
+ 5907,
+ 5916
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 17
+ },
+ "end": {
+ "line": 183,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 5902,
+ 5916
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 12
+ },
+ "end": {
+ "line": 183,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 5917,
+ 5923
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 27
+ },
+ "end": {
+ "line": 183,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 5925,
+ 5933
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 35
+ },
+ "end": {
+ "line": 183,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 5935,
+ 5945
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 45
+ },
+ "end": {
+ "line": 183,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 5947,
+ 5956
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 57
+ },
+ "end": {
+ "line": 183,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 5902,
+ 5957
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 12
+ },
+ "end": {
+ "line": 183,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 5902,
+ 5958
+ ],
+ "loc": {
+ "start": {
+ "line": 183,
+ "column": 12
+ },
+ "end": {
+ "line": 183,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 5888,
+ 5970
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 36
+ },
+ "end": {
+ "line": 184,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 5862,
+ 5970
+ ],
+ "loc": {
+ "start": {
+ "line": 182,
+ "column": 10
+ },
+ "end": {
+ "line": 184,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 5850,
+ 5980
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 53
+ },
+ "end": {
+ "line": 185,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 5837,
+ 5980
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 40
+ },
+ "end": {
+ "line": 185,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 5805,
+ 5981
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 8
+ },
+ "end": {
+ "line": 185,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 5805,
+ 5982
+ ],
+ "loc": {
+ "start": {
+ "line": 181,
+ "column": 8
+ },
+ "end": {
+ "line": 185,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 5991,
+ 5995
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 8
+ },
+ "end": {
+ "line": 186,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subject",
+ "range": [
+ 5996,
+ 6004
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 13
+ },
+ "end": {
+ "line": 186,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 5991,
+ 6004
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 8
+ },
+ "end": {
+ "line": 186,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onNext",
+ "range": [
+ 6005,
+ 6011
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 22
+ },
+ "end": {
+ "line": 186,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 5991,
+ 6011
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 8
+ },
+ "end": {
+ "line": 186,
+ "column": 28
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 6024,
+ 6028
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 10
+ },
+ "end": {
+ "line": 187,
+ "column": 14
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 6030,
+ 6034
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 16
+ },
+ "end": {
+ "line": 187,
+ "column": 20
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 6024,
+ 6034
+ ],
+ "loc": {
+ "start": {
+ "line": 187,
+ "column": 10
+ },
+ "end": {
+ "line": 187,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6046,
+ 6050
+ ],
+ "loc": {
+ "start": {
+ "line": 188,
+ "column": 10
+ },
+ "end": {
+ "line": 188,
+ "column": 14
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 6052,
+ 6058
+ ],
+ "loc": {
+ "start": {
+ "line": 188,
+ "column": 16
+ },
+ "end": {
+ "line": 188,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6059,
+ 6063
+ ],
+ "loc": {
+ "start": {
+ "line": 188,
+ "column": 23
+ },
+ "end": {
+ "line": 188,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 6052,
+ 6063
+ ],
+ "loc": {
+ "start": {
+ "line": 188,
+ "column": 16
+ },
+ "end": {
+ "line": 188,
+ "column": 27
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 6046,
+ 6063
+ ],
+ "loc": {
+ "start": {
+ "line": 188,
+ "column": 10
+ },
+ "end": {
+ "line": 188,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6075,
+ 6077
+ ],
+ "loc": {
+ "start": {
+ "line": 189,
+ "column": 10
+ },
+ "end": {
+ "line": 189,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 6079,
+ 6085
+ ],
+ "loc": {
+ "start": {
+ "line": 189,
+ "column": 14
+ },
+ "end": {
+ "line": 189,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6086,
+ 6088
+ ],
+ "loc": {
+ "start": {
+ "line": 189,
+ "column": 21
+ },
+ "end": {
+ "line": 189,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 6079,
+ 6088
+ ],
+ "loc": {
+ "start": {
+ "line": 189,
+ "column": 14
+ },
+ "end": {
+ "line": 189,
+ "column": 23
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 6075,
+ 6088
+ ],
+ "loc": {
+ "start": {
+ "line": 189,
+ "column": 10
+ },
+ "end": {
+ "line": 189,
+ "column": 23
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 6100,
+ 6108
+ ],
+ "loc": {
+ "start": {
+ "line": 190,
+ "column": 10
+ },
+ "end": {
+ "line": 190,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 6110,
+ 6118
+ ],
+ "loc": {
+ "start": {
+ "line": 190,
+ "column": 20
+ },
+ "end": {
+ "line": 190,
+ "column": 28
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 6100,
+ 6118
+ ],
+ "loc": {
+ "start": {
+ "line": 190,
+ "column": 10
+ },
+ "end": {
+ "line": 190,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 6012,
+ 6128
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 29
+ },
+ "end": {
+ "line": 191,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 5991,
+ 6129
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 8
+ },
+ "end": {
+ "line": 191,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 5991,
+ 6130
+ ],
+ "loc": {
+ "start": {
+ "line": 186,
+ "column": 8
+ },
+ "end": {
+ "line": 191,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 5582,
+ 6138
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 36
+ },
+ "end": {
+ "line": 192,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 6164,
+ 6173
+ ],
+ "loc": {
+ "start": {
+ "line": 193,
+ "column": 18
+ },
+ "end": {
+ "line": 193,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The data must have a type and id",
+ "cooked": "The data must have a type and id"
+ },
+ "tail": true,
+ "range": [
+ 6174,
+ 6208
+ ],
+ "loc": {
+ "start": {
+ "line": 193,
+ "column": 28
+ },
+ "end": {
+ "line": 193,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 6174,
+ 6208
+ ],
+ "loc": {
+ "start": {
+ "line": 193,
+ "column": 28
+ },
+ "end": {
+ "line": 193,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 6160,
+ 6209
+ ],
+ "loc": {
+ "start": {
+ "line": 193,
+ "column": 14
+ },
+ "end": {
+ "line": 193,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 6154,
+ 6210
+ ],
+ "loc": {
+ "start": {
+ "line": 193,
+ "column": 8
+ },
+ "end": {
+ "line": 193,
+ "column": 64
+ }
+ }
+ }
+ ],
+ "range": [
+ 6144,
+ 6218
+ ],
+ "loc": {
+ "start": {
+ "line": 192,
+ "column": 13
+ },
+ "end": {
+ "line": 194,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 5552,
+ 6218
+ ],
+ "loc": {
+ "start": {
+ "line": 177,
+ "column": 6
+ },
+ "end": {
+ "line": 194,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 5544,
+ 6224
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 16
+ },
+ "end": {
+ "line": 195,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 6248,
+ 6257
+ ],
+ "loc": {
+ "start": {
+ "line": 196,
+ "column": 16
+ },
+ "end": {
+ "line": 196,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide data to add",
+ "cooked": "You must provide data to add"
+ },
+ "tail": true,
+ "range": [
+ 6258,
+ 6288
+ ],
+ "loc": {
+ "start": {
+ "line": 196,
+ "column": 26
+ },
+ "end": {
+ "line": 196,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 6258,
+ 6288
+ ],
+ "loc": {
+ "start": {
+ "line": 196,
+ "column": 26
+ },
+ "end": {
+ "line": 196,
+ "column": 56
+ }
+ }
+ }
+ ],
+ "range": [
+ 6244,
+ 6289
+ ],
+ "loc": {
+ "start": {
+ "line": 196,
+ "column": 12
+ },
+ "end": {
+ "line": 196,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 6238,
+ 6290
+ ],
+ "loc": {
+ "start": {
+ "line": 196,
+ "column": 6
+ },
+ "end": {
+ "line": 196,
+ "column": 58
+ }
+ }
+ }
+ ],
+ "range": [
+ 6230,
+ 6296
+ ],
+ "loc": {
+ "start": {
+ "line": 195,
+ "column": 11
+ },
+ "end": {
+ "line": 197,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 5532,
+ 6296
+ ],
+ "loc": {
+ "start": {
+ "line": 176,
+ "column": 4
+ },
+ "end": {
+ "line": 197,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 5526,
+ 6300
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 14
+ },
+ "end": {
+ "line": 198,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 5517,
+ 6300
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 5
+ },
+ "end": {
+ "line": 198,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 5514,
+ 6300
+ ],
+ "loc": {
+ "start": {
+ "line": 175,
+ "column": 2
+ },
+ "end": {
+ "line": 198,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - A JSON API Resource Object to be added. See:\n http://jsonapi.org/format/#document-resource-objects\n ",
+ "range": [
+ 5239,
+ 5511
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 2
+ },
+ "end": {
+ "line": 174,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n ",
+ "range": [
+ 6304,
+ 6750
+ ],
+ "loc": {
+ "start": {
+ "line": 200,
+ "column": 2
+ },
+ "end": {
+ "line": 208,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 6753,
+ 6760
+ ],
+ "loc": {
+ "start": {
+ "line": 209,
+ "column": 2
+ },
+ "end": {
+ "line": 209,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6761,
+ 6765
+ ],
+ "loc": {
+ "start": {
+ "line": 209,
+ "column": 10
+ },
+ "end": {
+ "line": 209,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6767,
+ 6769
+ ],
+ "loc": {
+ "start": {
+ "line": 209,
+ "column": 16
+ },
+ "end": {
+ "line": 209,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 6771,
+ 6778
+ ],
+ "loc": {
+ "start": {
+ "line": 209,
+ "column": 20
+ },
+ "end": {
+ "line": 209,
+ "column": 27
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6790,
+ 6794
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 8
+ },
+ "end": {
+ "line": 210,
+ "column": 12
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6805,
+ 6809
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 23
+ },
+ "end": {
+ "line": 210,
+ "column": 27
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 6798,
+ 6809
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 16
+ },
+ "end": {
+ "line": 210,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "\"object\"",
+ "range": [
+ 6814,
+ 6822
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 32
+ },
+ "end": {
+ "line": 210,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 6798,
+ 6822
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 16
+ },
+ "end": {
+ "line": 210,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 6790,
+ 6822
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 8
+ },
+ "end": {
+ "line": 210,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 6839,
+ 6843
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 13
+ },
+ "end": {
+ "line": 211,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 6844,
+ 6851
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 18
+ },
+ "end": {
+ "line": 211,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 6839,
+ 6851
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 13
+ },
+ "end": {
+ "line": 211,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6852,
+ 6856
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 26
+ },
+ "end": {
+ "line": 211,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6857,
+ 6861
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 31
+ },
+ "end": {
+ "line": 211,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 6852,
+ 6861
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 26
+ },
+ "end": {
+ "line": 211,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6863,
+ 6867
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 37
+ },
+ "end": {
+ "line": 211,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6868,
+ 6870
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 42
+ },
+ "end": {
+ "line": 211,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 6863,
+ 6870
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 37
+ },
+ "end": {
+ "line": 211,
+ "column": 44
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6872,
+ 6876
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 46
+ },
+ "end": {
+ "line": 211,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 6839,
+ 6877
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 13
+ },
+ "end": {
+ "line": 211,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 6832,
+ 6878
+ ],
+ "loc": {
+ "start": {
+ "line": 211,
+ "column": 6
+ },
+ "end": {
+ "line": 211,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "range": [
+ 6824,
+ 6884
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 42
+ },
+ "end": {
+ "line": 212,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6894,
+ 6896
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 15
+ },
+ "end": {
+ "line": 212,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6907,
+ 6909
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 28
+ },
+ "end": {
+ "line": 212,
+ "column": 30
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 6900,
+ 6909
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 21
+ },
+ "end": {
+ "line": 212,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "object",
+ "raw": "\"object\"",
+ "range": [
+ 6914,
+ 6922
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 35
+ },
+ "end": {
+ "line": 212,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 6900,
+ 6922
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 21
+ },
+ "end": {
+ "line": 212,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 6894,
+ 6922
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 15
+ },
+ "end": {
+ "line": 212,
+ "column": 43
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 6939,
+ 6943
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 13
+ },
+ "end": {
+ "line": 213,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "convert",
+ "range": [
+ 6944,
+ 6951
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 18
+ },
+ "end": {
+ "line": 213,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 6939,
+ 6951
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 13
+ },
+ "end": {
+ "line": 213,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 6952,
+ 6956
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 26
+ },
+ "end": {
+ "line": 213,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6958,
+ 6960
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 32
+ },
+ "end": {
+ "line": 213,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6961,
+ 6963
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 35
+ },
+ "end": {
+ "line": 213,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 6958,
+ 6963
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 32
+ },
+ "end": {
+ "line": 213,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 6965,
+ 6967
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 39
+ },
+ "end": {
+ "line": 213,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 6939,
+ 6968
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 13
+ },
+ "end": {
+ "line": 213,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 6932,
+ 6969
+ ],
+ "loc": {
+ "start": {
+ "line": 213,
+ "column": 6
+ },
+ "end": {
+ "line": 213,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 6924,
+ 6975
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 45
+ },
+ "end": {
+ "line": 214,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 6993,
+ 6997
+ ],
+ "loc": {
+ "start": {
+ "line": 215,
+ "column": 10
+ },
+ "end": {
+ "line": 215,
+ "column": 14
+ }
+ }
+ },
+ "init": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 7010,
+ 7014
+ ],
+ "loc": {
+ "start": {
+ "line": 216,
+ "column": 8
+ },
+ "end": {
+ "line": 216,
+ "column": 12
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 7016,
+ 7020
+ ],
+ "loc": {
+ "start": {
+ "line": 216,
+ "column": 14
+ },
+ "end": {
+ "line": 216,
+ "column": 18
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 7010,
+ 7020
+ ],
+ "loc": {
+ "start": {
+ "line": 216,
+ "column": 8
+ },
+ "end": {
+ "line": 216,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "attributes",
+ "range": [
+ 7030,
+ 7040
+ ],
+ "loc": {
+ "start": {
+ "line": 217,
+ "column": 8
+ },
+ "end": {
+ "line": 217,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 7042,
+ 7044
+ ],
+ "loc": {
+ "start": {
+ "line": 217,
+ "column": 20
+ },
+ "end": {
+ "line": 217,
+ "column": 22
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 7030,
+ 7044
+ ],
+ "loc": {
+ "start": {
+ "line": 217,
+ "column": 8
+ },
+ "end": {
+ "line": 217,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "relationships",
+ "range": [
+ 7054,
+ 7067
+ ],
+ "loc": {
+ "start": {
+ "line": 218,
+ "column": 8
+ },
+ "end": {
+ "line": 218,
+ "column": 21
+ }
+ }
+ },
+ "value": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 7069,
+ 7071
+ ],
+ "loc": {
+ "start": {
+ "line": 218,
+ "column": 23
+ },
+ "end": {
+ "line": 218,
+ "column": 25
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 7054,
+ 7071
+ ],
+ "loc": {
+ "start": {
+ "line": 218,
+ "column": 8
+ },
+ "end": {
+ "line": 218,
+ "column": 25
+ }
+ }
+ }
+ ],
+ "range": [
+ 7000,
+ 7079
+ ],
+ "loc": {
+ "start": {
+ "line": 215,
+ "column": 17
+ },
+ "end": {
+ "line": 219,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 6993,
+ 7079
+ ],
+ "loc": {
+ "start": {
+ "line": 215,
+ "column": 10
+ },
+ "end": {
+ "line": 219,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 6989,
+ 7080
+ ],
+ "loc": {
+ "start": {
+ "line": 215,
+ "column": 6
+ },
+ "end": {
+ "line": 219,
+ "column": 8
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 7091,
+ 7093
+ ],
+ "loc": {
+ "start": {
+ "line": 220,
+ "column": 10
+ },
+ "end": {
+ "line": 220,
+ "column": 12
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 7105,
+ 7109
+ ],
+ "loc": {
+ "start": {
+ "line": 221,
+ "column": 8
+ },
+ "end": {
+ "line": 221,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 7110,
+ 7112
+ ],
+ "loc": {
+ "start": {
+ "line": 221,
+ "column": 13
+ },
+ "end": {
+ "line": 221,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 7105,
+ 7112
+ ],
+ "loc": {
+ "start": {
+ "line": 221,
+ "column": 8
+ },
+ "end": {
+ "line": 221,
+ "column": 15
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 7115,
+ 7117
+ ],
+ "loc": {
+ "start": {
+ "line": 221,
+ "column": 18
+ },
+ "end": {
+ "line": 221,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 7105,
+ 7117
+ ],
+ "loc": {
+ "start": {
+ "line": 221,
+ "column": 8
+ },
+ "end": {
+ "line": 221,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 7105,
+ 7118
+ ],
+ "loc": {
+ "start": {
+ "line": 221,
+ "column": 8
+ },
+ "end": {
+ "line": 221,
+ "column": 21
+ }
+ }
+ }
+ ],
+ "range": [
+ 7095,
+ 7126
+ ],
+ "loc": {
+ "start": {
+ "line": 220,
+ "column": 14
+ },
+ "end": {
+ "line": 222,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 7087,
+ 7126
+ ],
+ "loc": {
+ "start": {
+ "line": 220,
+ "column": 6
+ },
+ "end": {
+ "line": 222,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 7137,
+ 7147
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 10
+ },
+ "end": {
+ "line": 223,
+ "column": 20
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 7150,
+ 7154
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 23
+ },
+ "end": {
+ "line": 223,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 7155,
+ 7161
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 28
+ },
+ "end": {
+ "line": 223,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 7150,
+ 7161
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 23
+ },
+ "end": {
+ "line": 223,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 7162,
+ 7166
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 35
+ },
+ "end": {
+ "line": 223,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 7167,
+ 7171
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 40
+ },
+ "end": {
+ "line": 223,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 7162,
+ 7171
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 35
+ },
+ "end": {
+ "line": 223,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 7150,
+ 7172
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 23
+ },
+ "end": {
+ "line": 223,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 7137,
+ 7172
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 10
+ },
+ "end": {
+ "line": 223,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 7133,
+ 7173
+ ],
+ "loc": {
+ "start": {
+ "line": 223,
+ "column": 6
+ },
+ "end": {
+ "line": 223,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 7180,
+ 7186
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 6
+ },
+ "end": {
+ "line": 224,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 7187,
+ 7191
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 13
+ },
+ "end": {
+ "line": 224,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 7180,
+ 7191
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 6
+ },
+ "end": {
+ "line": 224,
+ "column": 17
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 7192,
+ 7202
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 18
+ },
+ "end": {
+ "line": 224,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 7180,
+ 7203
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 6
+ },
+ "end": {
+ "line": 224,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 7204,
+ 7211
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 30
+ },
+ "end": {
+ "line": 224,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 7180,
+ 7211
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 6
+ },
+ "end": {
+ "line": 224,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 7212,
+ 7221
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 38
+ },
+ "end": {
+ "line": 224,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 7239,
+ 7248
+ ],
+ "loc": {
+ "start": {
+ "line": 225,
+ "column": 12
+ },
+ "end": {
+ "line": 225,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 7249,
+ 7250
+ ],
+ "loc": {
+ "start": {
+ "line": 225,
+ "column": 22
+ },
+ "end": {
+ "line": 225,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 7239,
+ 7251
+ ],
+ "loc": {
+ "start": {
+ "line": 225,
+ "column": 12
+ },
+ "end": {
+ "line": 225,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "_",
+ "raw": "\"_\"",
+ "range": [
+ 7256,
+ 7259
+ ],
+ "loc": {
+ "start": {
+ "line": 225,
+ "column": 29
+ },
+ "end": {
+ "line": 225,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 7239,
+ 7259
+ ],
+ "loc": {
+ "start": {
+ "line": 225,
+ "column": 12
+ },
+ "end": {
+ "line": 225,
+ "column": 32
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 7273,
+ 7283
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 10
+ },
+ "end": {
+ "line": 226,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 7284,
+ 7293
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 21
+ },
+ "end": {
+ "line": 226,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 7273,
+ 7294
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 10
+ },
+ "end": {
+ "line": 226,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "serialize",
+ "range": [
+ 7295,
+ 7304
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 32
+ },
+ "end": {
+ "line": 226,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 7273,
+ 7304
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 10
+ },
+ "end": {
+ "line": 226,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 7305,
+ 7312
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 42
+ },
+ "end": {
+ "line": 226,
+ "column": 49
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 7314,
+ 7318
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 51
+ },
+ "end": {
+ "line": 226,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 7320,
+ 7329
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 57
+ },
+ "end": {
+ "line": 226,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 7273,
+ 7330
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 10
+ },
+ "end": {
+ "line": 226,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 7273,
+ 7331
+ ],
+ "loc": {
+ "start": {
+ "line": 226,
+ "column": 10
+ },
+ "end": {
+ "line": 226,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 7261,
+ 7341
+ ],
+ "loc": {
+ "start": {
+ "line": 225,
+ "column": 34
+ },
+ "end": {
+ "line": 227,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 7235,
+ 7341
+ ],
+ "loc": {
+ "start": {
+ "line": 225,
+ "column": 8
+ },
+ "end": {
+ "line": 227,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 7225,
+ 7349
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 51
+ },
+ "end": {
+ "line": 228,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 7212,
+ 7349
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 38
+ },
+ "end": {
+ "line": 228,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 7180,
+ 7350
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 6
+ },
+ "end": {
+ "line": 228,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 7180,
+ 7351
+ ],
+ "loc": {
+ "start": {
+ "line": 224,
+ "column": 6
+ },
+ "end": {
+ "line": 228,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 7365,
+ 7369
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 13
+ },
+ "end": {
+ "line": 229,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 7358,
+ 7370
+ ],
+ "loc": {
+ "start": {
+ "line": 229,
+ "column": 6
+ },
+ "end": {
+ "line": 229,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "range": [
+ 6981,
+ 7376
+ ],
+ "loc": {
+ "start": {
+ "line": 214,
+ "column": 11
+ },
+ "end": {
+ "line": 230,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 6890,
+ 7376
+ ],
+ "loc": {
+ "start": {
+ "line": 212,
+ "column": 11
+ },
+ "end": {
+ "line": 230,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 6786,
+ 7376
+ ],
+ "loc": {
+ "start": {
+ "line": 210,
+ "column": 4
+ },
+ "end": {
+ "line": 230,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 6780,
+ 7380
+ ],
+ "loc": {
+ "start": {
+ "line": 209,
+ "column": 29
+ },
+ "end": {
+ "line": 231,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 6760,
+ 7380
+ ],
+ "loc": {
+ "start": {
+ "line": 209,
+ "column": 9
+ },
+ "end": {
+ "line": 231,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 6753,
+ 7380
+ ],
+ "loc": {
+ "start": {
+ "line": 209,
+ "column": 2
+ },
+ "end": {
+ "line": 231,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n ",
+ "range": [
+ 6304,
+ 6750
+ ],
+ "loc": {
+ "start": {
+ "line": 200,
+ "column": 2
+ },
+ "end": {
+ "line": 208,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 7384,
+ 8009
+ ],
+ "loc": {
+ "start": {
+ "line": 233,
+ "column": 2
+ },
+ "end": {
+ "line": 250,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "create",
+ "range": [
+ 8012,
+ 8018
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 2
+ },
+ "end": {
+ "line": 251,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 8019,
+ 8023
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 9
+ },
+ "end": {
+ "line": 251,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 8025,
+ 8032
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 15
+ },
+ "end": {
+ "line": 251,
+ "column": 22
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 8034,
+ 8041
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 24
+ },
+ "end": {
+ "line": 251,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 8043,
+ 8048
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 33
+ },
+ "end": {
+ "line": 251,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 8050,
+ 8057
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 40
+ },
+ "end": {
+ "line": 251,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 8069,
+ 8073
+ ],
+ "loc": {
+ "start": {
+ "line": 252,
+ "column": 8
+ },
+ "end": {
+ "line": 252,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 8074,
+ 8082
+ ],
+ "loc": {
+ "start": {
+ "line": 252,
+ "column": 13
+ },
+ "end": {
+ "line": 252,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 8069,
+ 8082
+ ],
+ "loc": {
+ "start": {
+ "line": 252,
+ "column": 8
+ },
+ "end": {
+ "line": 252,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 8092,
+ 8096
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 6
+ },
+ "end": {
+ "line": 253,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 8097,
+ 8105
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 11
+ },
+ "end": {
+ "line": 253,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 8092,
+ 8105
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 6
+ },
+ "end": {
+ "line": 253,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "create",
+ "range": [
+ 8106,
+ 8112
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 20
+ },
+ "end": {
+ "line": 253,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 8092,
+ 8112
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 6
+ },
+ "end": {
+ "line": 253,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 8113,
+ 8117
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 27
+ },
+ "end": {
+ "line": 253,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 8119,
+ 8123
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 33
+ },
+ "end": {
+ "line": 253,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 8125,
+ 8132
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 39
+ },
+ "end": {
+ "line": 253,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 8134,
+ 8141
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 48
+ },
+ "end": {
+ "line": 253,
+ "column": 55
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 8143,
+ 8148
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 57
+ },
+ "end": {
+ "line": 253,
+ "column": 62
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 8150,
+ 8157
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 64
+ },
+ "end": {
+ "line": 253,
+ "column": 71
+ }
+ }
+ }
+ ],
+ "range": [
+ 8092,
+ 8158
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 6
+ },
+ "end": {
+ "line": 253,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 8092,
+ 8159
+ ],
+ "loc": {
+ "start": {
+ "line": 253,
+ "column": 6
+ },
+ "end": {
+ "line": 253,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 8084,
+ 8165
+ ],
+ "loc": {
+ "start": {
+ "line": 252,
+ "column": 23
+ },
+ "end": {
+ "line": 254,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 8189,
+ 8194
+ ],
+ "loc": {
+ "start": {
+ "line": 255,
+ "column": 16
+ },
+ "end": {
+ "line": 255,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 8195,
+ 8291
+ ],
+ "loc": {
+ "start": {
+ "line": 255,
+ "column": 22
+ },
+ "end": {
+ "line": 255,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 8185,
+ 8292
+ ],
+ "loc": {
+ "start": {
+ "line": 255,
+ "column": 12
+ },
+ "end": {
+ "line": 255,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 8179,
+ 8293
+ ],
+ "loc": {
+ "start": {
+ "line": 255,
+ "column": 6
+ },
+ "end": {
+ "line": 255,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 8171,
+ 8299
+ ],
+ "loc": {
+ "start": {
+ "line": 254,
+ "column": 11
+ },
+ "end": {
+ "line": 256,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 8065,
+ 8299
+ ],
+ "loc": {
+ "start": {
+ "line": 252,
+ "column": 4
+ },
+ "end": {
+ "line": 256,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 8059,
+ 8303
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 49
+ },
+ "end": {
+ "line": 257,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 8018,
+ 8303
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 8
+ },
+ "end": {
+ "line": 257,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 8012,
+ 8303
+ ],
+ "loc": {
+ "start": {
+ "line": 251,
+ "column": 2
+ },
+ "end": {
+ "line": 257,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 7384,
+ 8009
+ ],
+ "loc": {
+ "start": {
+ "line": 233,
+ "column": 2
+ },
+ "end": {
+ "line": 250,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n ",
+ "range": [
+ 8307,
+ 8498
+ ],
+ "loc": {
+ "start": {
+ "line": 259,
+ "column": 2
+ },
+ "end": {
+ "line": 265,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "define",
+ "range": [
+ 8501,
+ 8507
+ ],
+ "loc": {
+ "start": {
+ "line": 266,
+ "column": 2
+ },
+ "end": {
+ "line": 266,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8508,
+ 8513
+ ],
+ "loc": {
+ "start": {
+ "line": 266,
+ "column": 9
+ },
+ "end": {
+ "line": 266,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 8515,
+ 8525
+ ],
+ "loc": {
+ "start": {
+ "line": 266,
+ "column": 16
+ },
+ "end": {
+ "line": 266,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8533,
+ 8538
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 4
+ },
+ "end": {
+ "line": 267,
+ "column": 9
+ }
+ }
+ },
+ "right": {
+ "type": "ConditionalExpression",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8542,
+ 8547
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 13
+ },
+ "end": {
+ "line": 267,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "constructor",
+ "range": [
+ 8548,
+ 8559
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 19
+ },
+ "end": {
+ "line": 267,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 8542,
+ 8559
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 13
+ },
+ "end": {
+ "line": 267,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "Array",
+ "range": [
+ 8564,
+ 8569
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 35
+ },
+ "end": {
+ "line": 267,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 8542,
+ 8569
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 13
+ },
+ "end": {
+ "line": 267,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8573,
+ 8578
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 44
+ },
+ "end": {
+ "line": 267,
+ "column": 49
+ }
+ }
+ },
+ "alternate": {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8583,
+ 8588
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 54
+ },
+ "end": {
+ "line": 267,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "range": [
+ 8581,
+ 8590
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 52
+ },
+ "end": {
+ "line": 267,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 8541,
+ 8590
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 12
+ },
+ "end": {
+ "line": 267,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 8533,
+ 8590
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 4
+ },
+ "end": {
+ "line": 267,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 8533,
+ 8591
+ ],
+ "loc": {
+ "start": {
+ "line": 267,
+ "column": 4
+ },
+ "end": {
+ "line": 267,
+ "column": 62
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 8600,
+ 8610
+ ],
+ "loc": {
+ "start": {
+ "line": 268,
+ "column": 8
+ },
+ "end": {
+ "line": 268,
+ "column": 18
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 8620,
+ 8630
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 6
+ },
+ "end": {
+ "line": 269,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 8631,
+ 8637
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 17
+ },
+ "end": {
+ "line": 269,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 8620,
+ 8637
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 6
+ },
+ "end": {
+ "line": 269,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8640,
+ 8645
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 26
+ },
+ "end": {
+ "line": 269,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 8620,
+ 8645
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 6
+ },
+ "end": {
+ "line": 269,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 8620,
+ 8646
+ ],
+ "loc": {
+ "start": {
+ "line": 269,
+ "column": 6
+ },
+ "end": {
+ "line": 269,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8653,
+ 8658
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 6
+ },
+ "end": {
+ "line": 270,
+ "column": 11
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 8659,
+ 8666
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 12
+ },
+ "end": {
+ "line": 270,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 8653,
+ 8666
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 6
+ },
+ "end": {
+ "line": 270,
+ "column": 19
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 8667,
+ 8671
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 20
+ },
+ "end": {
+ "line": 270,
+ "column": 24
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 8690,
+ 8694
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 13
+ },
+ "end": {
+ "line": 271,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 8695,
+ 8701
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 18
+ },
+ "end": {
+ "line": 271,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 8690,
+ 8701
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 13
+ },
+ "end": {
+ "line": 271,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 8702,
+ 8706
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 25
+ },
+ "end": {
+ "line": 271,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 8690,
+ 8707
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 13
+ },
+ "end": {
+ "line": 271,
+ "column": 30
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 8689,
+ 8707
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 12
+ },
+ "end": {
+ "line": 271,
+ "column": 30
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 8721,
+ 8725
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 10
+ },
+ "end": {
+ "line": 272,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 8726,
+ 8732
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 15
+ },
+ "end": {
+ "line": 272,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 8721,
+ 8732
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 10
+ },
+ "end": {
+ "line": 272,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 8733,
+ 8737
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 22
+ },
+ "end": {
+ "line": 272,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 8721,
+ 8738
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 10
+ },
+ "end": {
+ "line": 272,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 8741,
+ 8751
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 30
+ },
+ "end": {
+ "line": 272,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 8721,
+ 8751
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 10
+ },
+ "end": {
+ "line": 272,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 8721,
+ 8752
+ ],
+ "loc": {
+ "start": {
+ "line": 272,
+ "column": 10
+ },
+ "end": {
+ "line": 272,
+ "column": 41
+ }
+ }
+ }
+ ],
+ "range": [
+ 8709,
+ 8762
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 32
+ },
+ "end": {
+ "line": 273,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 8790,
+ 8795
+ ],
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 20
+ },
+ "end": {
+ "line": 274,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The type '",
+ "cooked": "The type '"
+ },
+ "tail": false,
+ "range": [
+ 8796,
+ 8809
+ ],
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 26
+ },
+ "end": {
+ "line": 274,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' has already been defined.",
+ "cooked": "' has already been defined."
+ },
+ "tail": true,
+ "range": [
+ 8813,
+ 8842
+ ],
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 43
+ },
+ "end": {
+ "line": 274,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 8809,
+ 8813
+ ],
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 39
+ },
+ "end": {
+ "line": 274,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 8796,
+ 8842
+ ],
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 26
+ },
+ "end": {
+ "line": 274,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "range": [
+ 8786,
+ 8843
+ ],
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 16
+ },
+ "end": {
+ "line": 274,
+ "column": 73
+ }
+ }
+ },
+ "range": [
+ 8780,
+ 8844
+ ],
+ "loc": {
+ "start": {
+ "line": 274,
+ "column": 10
+ },
+ "end": {
+ "line": 274,
+ "column": 74
+ }
+ }
+ }
+ ],
+ "range": [
+ 8768,
+ 8854
+ ],
+ "loc": {
+ "start": {
+ "line": 273,
+ "column": 15
+ },
+ "end": {
+ "line": 275,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 8685,
+ 8854
+ ],
+ "loc": {
+ "start": {
+ "line": 271,
+ "column": 8
+ },
+ "end": {
+ "line": 275,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 8675,
+ 8862
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 28
+ },
+ "end": {
+ "line": 276,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 8667,
+ 8862
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 20
+ },
+ "end": {
+ "line": 276,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 8653,
+ 8863
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 6
+ },
+ "end": {
+ "line": 276,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 8653,
+ 8864
+ ],
+ "loc": {
+ "start": {
+ "line": 270,
+ "column": 6
+ },
+ "end": {
+ "line": 276,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 8612,
+ 8870
+ ],
+ "loc": {
+ "start": {
+ "line": 268,
+ "column": 20
+ },
+ "end": {
+ "line": 277,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 8894,
+ 8899
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 16
+ },
+ "end": {
+ "line": 278,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide a definition for the type '",
+ "cooked": "You must provide a definition for the type '"
+ },
+ "tail": false,
+ "range": [
+ 8900,
+ 8947
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 22
+ },
+ "end": {
+ "line": 278,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'.",
+ "cooked": "'."
+ },
+ "tail": true,
+ "range": [
+ 8955,
+ 8959
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 77
+ },
+ "end": {
+ "line": 278,
+ "column": 81
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "names",
+ "range": [
+ 8947,
+ 8952
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 69
+ },
+ "end": {
+ "line": 278,
+ "column": 74
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 8953,
+ 8954
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 75
+ },
+ "end": {
+ "line": 278,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 8947,
+ 8955
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 69
+ },
+ "end": {
+ "line": 278,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 8900,
+ 8959
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 22
+ },
+ "end": {
+ "line": 278,
+ "column": 81
+ }
+ }
+ }
+ ],
+ "range": [
+ 8890,
+ 8960
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 12
+ },
+ "end": {
+ "line": 278,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 8884,
+ 8961
+ ],
+ "loc": {
+ "start": {
+ "line": 278,
+ "column": 6
+ },
+ "end": {
+ "line": 278,
+ "column": 83
+ }
+ }
+ }
+ ],
+ "range": [
+ 8876,
+ 8967
+ ],
+ "loc": {
+ "start": {
+ "line": 277,
+ "column": 11
+ },
+ "end": {
+ "line": 279,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 8596,
+ 8967
+ ],
+ "loc": {
+ "start": {
+ "line": 268,
+ "column": 4
+ },
+ "end": {
+ "line": 279,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 8527,
+ 8971
+ ],
+ "loc": {
+ "start": {
+ "line": 266,
+ "column": 28
+ },
+ "end": {
+ "line": 280,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 8507,
+ 8971
+ ],
+ "loc": {
+ "start": {
+ "line": 266,
+ "column": 8
+ },
+ "end": {
+ "line": 280,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 8501,
+ 8971
+ ],
+ "loc": {
+ "start": {
+ "line": 266,
+ "column": 2
+ },
+ "end": {
+ "line": 280,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n ",
+ "range": [
+ 8307,
+ 8498
+ ],
+ "loc": {
+ "start": {
+ "line": 259,
+ "column": 2
+ },
+ "end": {
+ "line": 265,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n ",
+ "range": [
+ 8975,
+ 9558
+ ],
+ "loc": {
+ "start": {
+ "line": 282,
+ "column": 2
+ },
+ "end": {
+ "line": 299,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 9561,
+ 9568
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 2
+ },
+ "end": {
+ "line": 300,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9569,
+ 9573
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 10
+ },
+ "end": {
+ "line": 300,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9575,
+ 9577
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 16
+ },
+ "end": {
+ "line": 300,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 9579,
+ 9586
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 20
+ },
+ "end": {
+ "line": 300,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 9588,
+ 9593
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 29
+ },
+ "end": {
+ "line": 300,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 9595,
+ 9602
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 36
+ },
+ "end": {
+ "line": 300,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9614,
+ 9618
+ ],
+ "loc": {
+ "start": {
+ "line": 301,
+ "column": 8
+ },
+ "end": {
+ "line": 301,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 9619,
+ 9627
+ ],
+ "loc": {
+ "start": {
+ "line": 301,
+ "column": 13
+ },
+ "end": {
+ "line": 301,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 9614,
+ 9627
+ ],
+ "loc": {
+ "start": {
+ "line": 301,
+ "column": 8
+ },
+ "end": {
+ "line": 301,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 9637,
+ 9641
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 6
+ },
+ "end": {
+ "line": 302,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 9642,
+ 9650
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 11
+ },
+ "end": {
+ "line": 302,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 9637,
+ 9650
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 6
+ },
+ "end": {
+ "line": 302,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "destroy",
+ "range": [
+ 9651,
+ 9658
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 20
+ },
+ "end": {
+ "line": 302,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 9637,
+ 9658
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 6
+ },
+ "end": {
+ "line": 302,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 9659,
+ 9663
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 28
+ },
+ "end": {
+ "line": 302,
+ "column": 32
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 9665,
+ 9669
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 34
+ },
+ "end": {
+ "line": 302,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 9671,
+ 9673
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 40
+ },
+ "end": {
+ "line": 302,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 9675,
+ 9682
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 44
+ },
+ "end": {
+ "line": 302,
+ "column": 51
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 9684,
+ 9689
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 53
+ },
+ "end": {
+ "line": 302,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 9691,
+ 9698
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 60
+ },
+ "end": {
+ "line": 302,
+ "column": 67
+ }
+ }
+ }
+ ],
+ "range": [
+ 9637,
+ 9699
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 6
+ },
+ "end": {
+ "line": 302,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 9637,
+ 9700
+ ],
+ "loc": {
+ "start": {
+ "line": 302,
+ "column": 6
+ },
+ "end": {
+ "line": 302,
+ "column": 69
+ }
+ }
+ }
+ ],
+ "range": [
+ 9629,
+ 9706
+ ],
+ "loc": {
+ "start": {
+ "line": 301,
+ "column": 23
+ },
+ "end": {
+ "line": 303,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 9730,
+ 9735
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 16
+ },
+ "end": {
+ "line": 304,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 9736,
+ 9832
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 22
+ },
+ "end": {
+ "line": 304,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 9726,
+ 9833
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 12
+ },
+ "end": {
+ "line": 304,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 9720,
+ 9834
+ ],
+ "loc": {
+ "start": {
+ "line": 304,
+ "column": 6
+ },
+ "end": {
+ "line": 304,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 9712,
+ 9840
+ ],
+ "loc": {
+ "start": {
+ "line": 303,
+ "column": 11
+ },
+ "end": {
+ "line": 305,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 9610,
+ 9840
+ ],
+ "loc": {
+ "start": {
+ "line": 301,
+ "column": 4
+ },
+ "end": {
+ "line": 305,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 9604,
+ 9844
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 45
+ },
+ "end": {
+ "line": 306,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 9568,
+ 9844
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 9
+ },
+ "end": {
+ "line": 306,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 9561,
+ 9844
+ ],
+ "loc": {
+ "start": {
+ "line": 300,
+ "column": 2
+ },
+ "end": {
+ "line": 306,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n ",
+ "range": [
+ 8975,
+ 9558
+ ],
+ "loc": {
+ "start": {
+ "line": 282,
+ "column": 2
+ },
+ "end": {
+ "line": 299,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n ",
+ "range": [
+ 9848,
+ 10358
+ ],
+ "loc": {
+ "start": {
+ "line": 308,
+ "column": 2
+ },
+ "end": {
+ "line": 319,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 10361,
+ 10365
+ ],
+ "loc": {
+ "start": {
+ "line": 320,
+ "column": 2
+ },
+ "end": {
+ "line": 320,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10366,
+ 10370
+ ],
+ "loc": {
+ "start": {
+ "line": 320,
+ "column": 7
+ },
+ "end": {
+ "line": 320,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10372,
+ 10374
+ ],
+ "loc": {
+ "start": {
+ "line": 320,
+ "column": 13
+ },
+ "end": {
+ "line": 320,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10386,
+ 10390
+ ],
+ "loc": {
+ "start": {
+ "line": 321,
+ "column": 8
+ },
+ "end": {
+ "line": 321,
+ "column": 12
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 10404,
+ 10414
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 10
+ },
+ "end": {
+ "line": 322,
+ "column": 20
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10417,
+ 10421
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 23
+ },
+ "end": {
+ "line": 322,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 10422,
+ 10428
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 28
+ },
+ "end": {
+ "line": 322,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 10417,
+ 10428
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 23
+ },
+ "end": {
+ "line": 322,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10429,
+ 10433
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 35
+ },
+ "end": {
+ "line": 322,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 10417,
+ 10434
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 23
+ },
+ "end": {
+ "line": 322,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 10404,
+ 10434
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 10
+ },
+ "end": {
+ "line": 322,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 10400,
+ 10435
+ ],
+ "loc": {
+ "start": {
+ "line": 322,
+ "column": 6
+ },
+ "end": {
+ "line": 322,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 10446,
+ 10456
+ ],
+ "loc": {
+ "start": {
+ "line": 323,
+ "column": 10
+ },
+ "end": {
+ "line": 323,
+ "column": 20
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10473,
+ 10477
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 13
+ },
+ "end": {
+ "line": 324,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10478,
+ 10483
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 18
+ },
+ "end": {
+ "line": 324,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 10473,
+ 10483
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 13
+ },
+ "end": {
+ "line": 324,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10484,
+ 10488
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 24
+ },
+ "end": {
+ "line": 324,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 10473,
+ 10489
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 13
+ },
+ "end": {
+ "line": 324,
+ "column": 29
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 10472,
+ 10489
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 12
+ },
+ "end": {
+ "line": 324,
+ "column": 29
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "collection",
+ "range": [
+ 10507,
+ 10517
+ ],
+ "loc": {
+ "start": {
+ "line": 325,
+ "column": 14
+ },
+ "end": {
+ "line": 325,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 10520,
+ 10522
+ ],
+ "loc": {
+ "start": {
+ "line": 325,
+ "column": 27
+ },
+ "end": {
+ "line": 325,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 10507,
+ 10522
+ ],
+ "loc": {
+ "start": {
+ "line": 325,
+ "column": 14
+ },
+ "end": {
+ "line": 325,
+ "column": 29
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 10503,
+ 10523
+ ],
+ "loc": {
+ "start": {
+ "line": 325,
+ "column": 10
+ },
+ "end": {
+ "line": 325,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 10534,
+ 10544
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 10
+ },
+ "end": {
+ "line": 326,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 10545,
+ 10551
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 21
+ },
+ "end": {
+ "line": 326,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 10534,
+ 10551
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 10
+ },
+ "end": {
+ "line": 326,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 10552,
+ 10559
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 28
+ },
+ "end": {
+ "line": 326,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 10534,
+ 10559
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 10
+ },
+ "end": {
+ "line": 326,
+ "column": 35
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "t",
+ "range": [
+ 10560,
+ 10561
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 36
+ },
+ "end": {
+ "line": 326,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10565,
+ 10569
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 41
+ },
+ "end": {
+ "line": 326,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10570,
+ 10575
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 46
+ },
+ "end": {
+ "line": 326,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 10565,
+ 10575
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 41
+ },
+ "end": {
+ "line": 326,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "t",
+ "range": [
+ 10576,
+ 10577
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 52
+ },
+ "end": {
+ "line": 326,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 10565,
+ 10578
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 41
+ },
+ "end": {
+ "line": 326,
+ "column": 54
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "collection",
+ "range": [
+ 10581,
+ 10591
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 57
+ },
+ "end": {
+ "line": 326,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 10565,
+ 10591
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 41
+ },
+ "end": {
+ "line": 326,
+ "column": 67
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 10560,
+ 10591
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 36
+ },
+ "end": {
+ "line": 326,
+ "column": 67
+ }
+ }
+ }
+ ],
+ "range": [
+ 10534,
+ 10592
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 10
+ },
+ "end": {
+ "line": 326,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 10534,
+ 10593
+ ],
+ "loc": {
+ "start": {
+ "line": 326,
+ "column": 10
+ },
+ "end": {
+ "line": 326,
+ "column": 69
+ }
+ }
+ }
+ ],
+ "range": [
+ 10491,
+ 10603
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 31
+ },
+ "end": {
+ "line": 327,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 10468,
+ 10603
+ ],
+ "loc": {
+ "start": {
+ "line": 324,
+ "column": 8
+ },
+ "end": {
+ "line": 327,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10616,
+ 10618
+ ],
+ "loc": {
+ "start": {
+ "line": 328,
+ "column": 12
+ },
+ "end": {
+ "line": 328,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10637,
+ 10641
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 15
+ },
+ "end": {
+ "line": 329,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10642,
+ 10647
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 20
+ },
+ "end": {
+ "line": 329,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 10637,
+ 10647
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 15
+ },
+ "end": {
+ "line": 329,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10648,
+ 10652
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 26
+ },
+ "end": {
+ "line": 329,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 10637,
+ 10653
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 15
+ },
+ "end": {
+ "line": 329,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10654,
+ 10656
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 32
+ },
+ "end": {
+ "line": 329,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 10637,
+ 10657
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 15
+ },
+ "end": {
+ "line": 329,
+ "column": 35
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 10636,
+ 10657
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 14
+ },
+ "end": {
+ "line": 329,
+ "column": 35
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10673,
+ 10677
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 12
+ },
+ "end": {
+ "line": 330,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10678,
+ 10683
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 17
+ },
+ "end": {
+ "line": 330,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 10673,
+ 10683
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 12
+ },
+ "end": {
+ "line": 330,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10684,
+ 10688
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 23
+ },
+ "end": {
+ "line": 330,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 10673,
+ 10689
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 12
+ },
+ "end": {
+ "line": 330,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10690,
+ 10692
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 29
+ },
+ "end": {
+ "line": 330,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 10673,
+ 10693
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 12
+ },
+ "end": {
+ "line": 330,
+ "column": 32
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 10712,
+ 10723
+ ],
+ "loc": {
+ "start": {
+ "line": 331,
+ "column": 14
+ },
+ "end": {
+ "line": 331,
+ "column": 25
+ }
+ }
+ },
+ "value": {
+ "type": "ArrayExpression",
+ "elements": [],
+ "range": [
+ 10725,
+ 10727
+ ],
+ "loc": {
+ "start": {
+ "line": 331,
+ "column": 27
+ },
+ "end": {
+ "line": 331,
+ "column": 29
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 10712,
+ 10727
+ ],
+ "loc": {
+ "start": {
+ "line": 331,
+ "column": 14
+ },
+ "end": {
+ "line": 331,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10743,
+ 10747
+ ],
+ "loc": {
+ "start": {
+ "line": 332,
+ "column": 14
+ },
+ "end": {
+ "line": 332,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10749,
+ 10753
+ ],
+ "loc": {
+ "start": {
+ "line": 332,
+ "column": 20
+ },
+ "end": {
+ "line": 332,
+ "column": 24
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 10743,
+ 10753
+ ],
+ "loc": {
+ "start": {
+ "line": 332,
+ "column": 14
+ },
+ "end": {
+ "line": 332,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10769,
+ 10771
+ ],
+ "loc": {
+ "start": {
+ "line": 333,
+ "column": 14
+ },
+ "end": {
+ "line": 333,
+ "column": 16
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10773,
+ 10775
+ ],
+ "loc": {
+ "start": {
+ "line": 333,
+ "column": 18
+ },
+ "end": {
+ "line": 333,
+ "column": 20
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 10769,
+ 10775
+ ],
+ "loc": {
+ "start": {
+ "line": 333,
+ "column": 14
+ },
+ "end": {
+ "line": 333,
+ "column": 20
+ }
+ }
+ }
+ ],
+ "range": [
+ 10696,
+ 10789
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 35
+ },
+ "end": {
+ "line": 334,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 10673,
+ 10789
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 12
+ },
+ "end": {
+ "line": 334,
+ "column": 13
+ }
+ }
+ },
+ "range": [
+ 10673,
+ 10790
+ ],
+ "loc": {
+ "start": {
+ "line": 330,
+ "column": 12
+ },
+ "end": {
+ "line": 334,
+ "column": 14
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 10803,
+ 10809
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 12
+ },
+ "end": {
+ "line": 335,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 10810,
+ 10814
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 19
+ },
+ "end": {
+ "line": 335,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 10803,
+ 10814
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 12
+ },
+ "end": {
+ "line": 335,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 10815,
+ 10825
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 24
+ },
+ "end": {
+ "line": 335,
+ "column": 34
+ }
+ }
+ }
+ ],
+ "range": [
+ 10803,
+ 10826
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 12
+ },
+ "end": {
+ "line": 335,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 10827,
+ 10834
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 36
+ },
+ "end": {
+ "line": 335,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 10803,
+ 10834
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 12
+ },
+ "end": {
+ "line": 335,
+ "column": 43
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 10835,
+ 10838
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 44
+ },
+ "end": {
+ "line": 335,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 10862,
+ 10865
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 18
+ },
+ "end": {
+ "line": 336,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Literal",
+ "value": 0,
+ "raw": "0",
+ "range": [
+ 10866,
+ 10867
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 22
+ },
+ "end": {
+ "line": 336,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 10862,
+ 10868
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 18
+ },
+ "end": {
+ "line": 336,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "_",
+ "raw": "\"_\"",
+ "range": [
+ 10873,
+ 10876
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 29
+ },
+ "end": {
+ "line": 336,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 10862,
+ 10876
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 18
+ },
+ "end": {
+ "line": 336,
+ "column": 32
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 10896,
+ 10900
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 16
+ },
+ "end": {
+ "line": 337,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 10901,
+ 10906
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 21
+ },
+ "end": {
+ "line": 337,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 10896,
+ 10906
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 16
+ },
+ "end": {
+ "line": 337,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 10907,
+ 10911
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 27
+ },
+ "end": {
+ "line": 337,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 10896,
+ 10912
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 16
+ },
+ "end": {
+ "line": 337,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 10913,
+ 10915
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 33
+ },
+ "end": {
+ "line": 337,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 10896,
+ 10916
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 16
+ },
+ "end": {
+ "line": 337,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 10917,
+ 10920
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 37
+ },
+ "end": {
+ "line": 337,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 10896,
+ 10921
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 16
+ },
+ "end": {
+ "line": 337,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 10924,
+ 10934
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 44
+ },
+ "end": {
+ "line": 337,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "key",
+ "range": [
+ 10935,
+ 10938
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 55
+ },
+ "end": {
+ "line": 337,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 10924,
+ 10939
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 44
+ },
+ "end": {
+ "line": 337,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "default",
+ "range": [
+ 10940,
+ 10947
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 60
+ },
+ "end": {
+ "line": 337,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 10924,
+ 10947
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 44
+ },
+ "end": {
+ "line": 337,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 10896,
+ 10947
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 16
+ },
+ "end": {
+ "line": 337,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 10896,
+ 10948
+ ],
+ "loc": {
+ "start": {
+ "line": 337,
+ "column": 16
+ },
+ "end": {
+ "line": 337,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 10878,
+ 10964
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 34
+ },
+ "end": {
+ "line": 338,
+ "column": 15
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 10858,
+ 10964
+ ],
+ "loc": {
+ "start": {
+ "line": 336,
+ "column": 14
+ },
+ "end": {
+ "line": 338,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 10842,
+ 10978
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 51
+ },
+ "end": {
+ "line": 339,
+ "column": 13
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 10835,
+ 10978
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 44
+ },
+ "end": {
+ "line": 339,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 10803,
+ 10979
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 12
+ },
+ "end": {
+ "line": 339,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 10803,
+ 10980
+ ],
+ "loc": {
+ "start": {
+ "line": 335,
+ "column": 12
+ },
+ "end": {
+ "line": 339,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 10659,
+ 10992
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 37
+ },
+ "end": {
+ "line": 340,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 10632,
+ 10992
+ ],
+ "loc": {
+ "start": {
+ "line": 329,
+ "column": 10
+ },
+ "end": {
+ "line": 340,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11010,
+ 11014
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 17
+ },
+ "end": {
+ "line": 341,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 11015,
+ 11020
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 22
+ },
+ "end": {
+ "line": 341,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 11010,
+ 11020
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 17
+ },
+ "end": {
+ "line": 341,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11021,
+ 11025
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 28
+ },
+ "end": {
+ "line": 341,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 11010,
+ 11026
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 17
+ },
+ "end": {
+ "line": 341,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 11027,
+ 11029
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 34
+ },
+ "end": {
+ "line": 341,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 11010,
+ 11030
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 17
+ },
+ "end": {
+ "line": 341,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 11003,
+ 11031
+ ],
+ "loc": {
+ "start": {
+ "line": 341,
+ "column": 10
+ },
+ "end": {
+ "line": 341,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 10620,
+ 11041
+ ],
+ "loc": {
+ "start": {
+ "line": 328,
+ "column": 16
+ },
+ "end": {
+ "line": 342,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 11066,
+ 11072
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 17
+ },
+ "end": {
+ "line": 343,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 11073,
+ 11077
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 24
+ },
+ "end": {
+ "line": 343,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 11066,
+ 11077
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 17
+ },
+ "end": {
+ "line": 343,
+ "column": 28
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11078,
+ 11082
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 29
+ },
+ "end": {
+ "line": 343,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 11083,
+ 11088
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 34
+ },
+ "end": {
+ "line": 343,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 11078,
+ 11088
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 29
+ },
+ "end": {
+ "line": 343,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11089,
+ 11093
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 40
+ },
+ "end": {
+ "line": 343,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 11078,
+ 11094
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 29
+ },
+ "end": {
+ "line": 343,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 11066,
+ 11095
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 17
+ },
+ "end": {
+ "line": 343,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 11096,
+ 11099
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 47
+ },
+ "end": {
+ "line": 343,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 11066,
+ 11099
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 17
+ },
+ "end": {
+ "line": 343,
+ "column": 50
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 11100,
+ 11101
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 51
+ },
+ "end": {
+ "line": 343,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 11105,
+ 11109
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 56
+ },
+ "end": {
+ "line": 343,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 11110,
+ 11115
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 61
+ },
+ "end": {
+ "line": 343,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 11105,
+ 11115
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 56
+ },
+ "end": {
+ "line": 343,
+ "column": 66
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11116,
+ 11120
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 67
+ },
+ "end": {
+ "line": 343,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 11105,
+ 11121
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 56
+ },
+ "end": {
+ "line": 343,
+ "column": 72
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 11122,
+ 11123
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 73
+ },
+ "end": {
+ "line": 343,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 11105,
+ 11124
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 56
+ },
+ "end": {
+ "line": 343,
+ "column": 75
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 11100,
+ 11124
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 51
+ },
+ "end": {
+ "line": 343,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 11066,
+ 11125
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 17
+ },
+ "end": {
+ "line": 343,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 11059,
+ 11126
+ ],
+ "loc": {
+ "start": {
+ "line": 343,
+ "column": 10
+ },
+ "end": {
+ "line": 343,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 11047,
+ 11136
+ ],
+ "loc": {
+ "start": {
+ "line": 342,
+ "column": 15
+ },
+ "end": {
+ "line": 344,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 10612,
+ 11136
+ ],
+ "loc": {
+ "start": {
+ "line": 328,
+ "column": 8
+ },
+ "end": {
+ "line": 344,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 10458,
+ 11144
+ ],
+ "loc": {
+ "start": {
+ "line": 323,
+ "column": 22
+ },
+ "end": {
+ "line": 345,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 11170,
+ 11179
+ ],
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 18
+ },
+ "end": {
+ "line": 346,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 11180,
+ 11197
+ ],
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 28
+ },
+ "end": {
+ "line": 346,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 11201,
+ 11204
+ ],
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 49
+ },
+ "end": {
+ "line": 346,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 11197,
+ 11201
+ ],
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 45
+ },
+ "end": {
+ "line": 346,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "range": [
+ 11180,
+ 11204
+ ],
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 28
+ },
+ "end": {
+ "line": 346,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "range": [
+ 11166,
+ 11205
+ ],
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 14
+ },
+ "end": {
+ "line": 346,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 11160,
+ 11206
+ ],
+ "loc": {
+ "start": {
+ "line": 346,
+ "column": 8
+ },
+ "end": {
+ "line": 346,
+ "column": 54
+ }
+ }
+ }
+ ],
+ "range": [
+ 11150,
+ 11214
+ ],
+ "loc": {
+ "start": {
+ "line": 345,
+ "column": 13
+ },
+ "end": {
+ "line": 347,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 10442,
+ 11214
+ ],
+ "loc": {
+ "start": {
+ "line": 323,
+ "column": 6
+ },
+ "end": {
+ "line": 347,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 10392,
+ 11220
+ ],
+ "loc": {
+ "start": {
+ "line": 321,
+ "column": 14
+ },
+ "end": {
+ "line": 348,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 11244,
+ 11253
+ ],
+ "loc": {
+ "start": {
+ "line": 349,
+ "column": 16
+ },
+ "end": {
+ "line": 349,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide a type",
+ "cooked": "You must provide a type"
+ },
+ "tail": true,
+ "range": [
+ 11254,
+ 11279
+ ],
+ "loc": {
+ "start": {
+ "line": 349,
+ "column": 26
+ },
+ "end": {
+ "line": 349,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 11254,
+ 11279
+ ],
+ "loc": {
+ "start": {
+ "line": 349,
+ "column": 26
+ },
+ "end": {
+ "line": 349,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "range": [
+ 11240,
+ 11280
+ ],
+ "loc": {
+ "start": {
+ "line": 349,
+ "column": 12
+ },
+ "end": {
+ "line": 349,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 11234,
+ 11281
+ ],
+ "loc": {
+ "start": {
+ "line": 349,
+ "column": 6
+ },
+ "end": {
+ "line": 349,
+ "column": 53
+ }
+ }
+ }
+ ],
+ "range": [
+ 11226,
+ 11287
+ ],
+ "loc": {
+ "start": {
+ "line": 348,
+ "column": 11
+ },
+ "end": {
+ "line": 350,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 10382,
+ 11287
+ ],
+ "loc": {
+ "start": {
+ "line": 321,
+ "column": 4
+ },
+ "end": {
+ "line": 350,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 10376,
+ 11291
+ ],
+ "loc": {
+ "start": {
+ "line": 320,
+ "column": 17
+ },
+ "end": {
+ "line": 351,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 10365,
+ 11291
+ ],
+ "loc": {
+ "start": {
+ "line": 320,
+ "column": 6
+ },
+ "end": {
+ "line": 351,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 10361,
+ 11291
+ ],
+ "loc": {
+ "start": {
+ "line": 320,
+ "column": 2
+ },
+ "end": {
+ "line": 351,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n ",
+ "range": [
+ 9848,
+ 10358
+ ],
+ "loc": {
+ "start": {
+ "line": 308,
+ "column": 2
+ },
+ "end": {
+ "line": 319,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 11295,
+ 12005
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 2
+ },
+ "end": {
+ "line": 371,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 12008,
+ 12012
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 2
+ },
+ "end": {
+ "line": 372,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12013,
+ 12017
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 7
+ },
+ "end": {
+ "line": 372,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12019,
+ 12021
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 13
+ },
+ "end": {
+ "line": 372,
+ "column": 15
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 12023,
+ 12030
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 17
+ },
+ "end": {
+ "line": 372,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 12032,
+ 12039
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 26
+ },
+ "end": {
+ "line": 372,
+ "column": 33
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 12041,
+ 12046
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 35
+ },
+ "end": {
+ "line": 372,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 12048,
+ 12055
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 42
+ },
+ "end": {
+ "line": 372,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12067,
+ 12071
+ ],
+ "loc": {
+ "start": {
+ "line": 373,
+ "column": 8
+ },
+ "end": {
+ "line": 373,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 12072,
+ 12080
+ ],
+ "loc": {
+ "start": {
+ "line": 373,
+ "column": 13
+ },
+ "end": {
+ "line": 373,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 12067,
+ 12080
+ ],
+ "loc": {
+ "start": {
+ "line": 373,
+ "column": 8
+ },
+ "end": {
+ "line": 373,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 12090,
+ 12094
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 6
+ },
+ "end": {
+ "line": 374,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 12095,
+ 12103
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 11
+ },
+ "end": {
+ "line": 374,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 12090,
+ 12103
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 6
+ },
+ "end": {
+ "line": 374,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "load",
+ "range": [
+ 12104,
+ 12108
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 20
+ },
+ "end": {
+ "line": 374,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 12090,
+ 12108
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 6
+ },
+ "end": {
+ "line": 374,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 12109,
+ 12113
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 25
+ },
+ "end": {
+ "line": 374,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12115,
+ 12119
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 31
+ },
+ "end": {
+ "line": 374,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12121,
+ 12123
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 37
+ },
+ "end": {
+ "line": 374,
+ "column": 39
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "options",
+ "range": [
+ 12125,
+ 12132
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 41
+ },
+ "end": {
+ "line": 374,
+ "column": 48
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 12134,
+ 12141
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 50
+ },
+ "end": {
+ "line": 374,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 12143,
+ 12148
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 59
+ },
+ "end": {
+ "line": 374,
+ "column": 64
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 12150,
+ 12157
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 66
+ },
+ "end": {
+ "line": 374,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 12090,
+ 12158
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 6
+ },
+ "end": {
+ "line": 374,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 12090,
+ 12159
+ ],
+ "loc": {
+ "start": {
+ "line": 374,
+ "column": 6
+ },
+ "end": {
+ "line": 374,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 12082,
+ 12165
+ ],
+ "loc": {
+ "start": {
+ "line": 373,
+ "column": 23
+ },
+ "end": {
+ "line": 375,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 12189,
+ 12194
+ ],
+ "loc": {
+ "start": {
+ "line": 376,
+ "column": 16
+ },
+ "end": {
+ "line": 376,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 12195,
+ 12291
+ ],
+ "loc": {
+ "start": {
+ "line": 376,
+ "column": 22
+ },
+ "end": {
+ "line": 376,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 12185,
+ 12292
+ ],
+ "loc": {
+ "start": {
+ "line": 376,
+ "column": 12
+ },
+ "end": {
+ "line": 376,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 12179,
+ 12293
+ ],
+ "loc": {
+ "start": {
+ "line": 376,
+ "column": 6
+ },
+ "end": {
+ "line": 376,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 12171,
+ 12299
+ ],
+ "loc": {
+ "start": {
+ "line": 375,
+ "column": 11
+ },
+ "end": {
+ "line": 377,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 12063,
+ 12299
+ ],
+ "loc": {
+ "start": {
+ "line": 373,
+ "column": 4
+ },
+ "end": {
+ "line": 377,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 12057,
+ 12303
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 51
+ },
+ "end": {
+ "line": 378,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 12012,
+ 12303
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 6
+ },
+ "end": {
+ "line": 378,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 12008,
+ 12303
+ ],
+ "loc": {
+ "start": {
+ "line": 372,
+ "column": 2
+ },
+ "end": {
+ "line": 378,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 11295,
+ 12005
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 2
+ },
+ "end": {
+ "line": 371,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Unregister an event listener that was registered with on().\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n ",
+ "range": [
+ 12307,
+ 12755
+ ],
+ "loc": {
+ "start": {
+ "line": 380,
+ "column": 2
+ },
+ "end": {
+ "line": 389,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "off",
+ "range": [
+ 12758,
+ 12761
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 2
+ },
+ "end": {
+ "line": 390,
+ "column": 5
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 12762,
+ 12767
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 6
+ },
+ "end": {
+ "line": 390,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 12769,
+ 12773
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 13
+ },
+ "end": {
+ "line": 390,
+ "column": 17
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 12775,
+ 12777
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 19
+ },
+ "end": {
+ "line": 390,
+ "column": 21
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 12779,
+ 12787
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 23
+ },
+ "end": {
+ "line": 390,
+ "column": 31
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "console",
+ "range": [
+ 12795,
+ 12802
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 4
+ },
+ "end": {
+ "line": 391,
+ "column": 11
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "warn",
+ "range": [
+ 12803,
+ 12807
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 12
+ },
+ "end": {
+ "line": 391,
+ "column": 16
+ }
+ }
+ },
+ "range": [
+ 12795,
+ 12807
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 4
+ },
+ "end": {
+ "line": 391,
+ "column": 16
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "Literal",
+ "value": "The `store.off()` method has been deprecated in favour of `store.observable`.",
+ "raw": "\"The `store.off()` method has been deprecated in favour of `store.observable`.\"",
+ "range": [
+ 12816,
+ 12895
+ ],
+ "loc": {
+ "start": {
+ "line": 392,
+ "column": 6
+ },
+ "end": {
+ "line": 392,
+ "column": 85
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0",
+ "raw": "\"For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0\"",
+ "range": [
+ 12903,
+ 12990
+ ],
+ "loc": {
+ "start": {
+ "line": 393,
+ "column": 6
+ },
+ "end": {
+ "line": 393,
+ "column": 93
+ }
+ }
+ }
+ ],
+ "range": [
+ 12808,
+ 12996
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 17
+ },
+ "end": {
+ "line": 394,
+ "column": 5
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "join",
+ "range": [
+ 12997,
+ 13001
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 6
+ },
+ "end": {
+ "line": 394,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 12808,
+ 13001
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 17
+ },
+ "end": {
+ "line": 394,
+ "column": 10
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "\n",
+ "raw": "\"\\n\"",
+ "range": [
+ 13002,
+ 13006
+ ],
+ "loc": {
+ "start": {
+ "line": 394,
+ "column": 11
+ },
+ "end": {
+ "line": 394,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 12808,
+ 13007
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 17
+ },
+ "end": {
+ "line": 394,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 12795,
+ 13008
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 4
+ },
+ "end": {
+ "line": 394,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 12795,
+ 13009
+ ],
+ "loc": {
+ "start": {
+ "line": 391,
+ "column": 4
+ },
+ "end": {
+ "line": 394,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13018,
+ 13023
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 8
+ },
+ "end": {
+ "line": 395,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "added",
+ "raw": "\"added\"",
+ "range": [
+ 13028,
+ 13035
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 18
+ },
+ "end": {
+ "line": 395,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 13018,
+ 13035
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 8
+ },
+ "end": {
+ "line": 395,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13039,
+ 13044
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 29
+ },
+ "end": {
+ "line": 395,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "updated",
+ "raw": "\"updated\"",
+ "range": [
+ 13049,
+ 13058
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 39
+ },
+ "end": {
+ "line": 395,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 13039,
+ 13058
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 29
+ },
+ "end": {
+ "line": 395,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 13018,
+ 13058
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 8
+ },
+ "end": {
+ "line": 395,
+ "column": 48
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13062,
+ 13067
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 52
+ },
+ "end": {
+ "line": 395,
+ "column": 57
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 13072,
+ 13081
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 62
+ },
+ "end": {
+ "line": 395,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 13062,
+ 13081
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 52
+ },
+ "end": {
+ "line": 395,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 13018,
+ 13081
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 8
+ },
+ "end": {
+ "line": 395,
+ "column": 71
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13095,
+ 13099
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 13100,
+ 13106
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 15
+ },
+ "end": {
+ "line": 396,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 13095,
+ 13106
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13107,
+ 13111
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 22
+ },
+ "end": {
+ "line": 396,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 13095,
+ 13112
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 10
+ },
+ "end": {
+ "line": 396,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13128,
+ 13130
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 12
+ },
+ "end": {
+ "line": 397,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 13135,
+ 13137
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 19
+ },
+ "end": {
+ "line": 397,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 13139,
+ 13147
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 23
+ },
+ "end": {
+ "line": 397,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 13134,
+ 13147
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 18
+ },
+ "end": {
+ "line": 397,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 13148,
+ 13152
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 32
+ },
+ "end": {
+ "line": 397,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 13134,
+ 13152
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 18
+ },
+ "end": {
+ "line": 397,
+ "column": 36
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13153,
+ 13155
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 37
+ },
+ "end": {
+ "line": 397,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 13134,
+ 13156
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 18
+ },
+ "end": {
+ "line": 397,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 13161,
+ 13180
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 45
+ },
+ "end": {
+ "line": 397,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 13134,
+ 13180
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 18
+ },
+ "end": {
+ "line": 397,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 13128,
+ 13180
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 12
+ },
+ "end": {
+ "line": 397,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13194,
+ 13198
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 10
+ },
+ "end": {
+ "line": 398,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "off",
+ "range": [
+ 13199,
+ 13202
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 15
+ },
+ "end": {
+ "line": 398,
+ "column": 18
+ }
+ }
+ },
+ "range": [
+ 13194,
+ 13202
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 10
+ },
+ "end": {
+ "line": 398,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 13203,
+ 13207
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 19
+ },
+ "end": {
+ "line": 398,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 13194,
+ 13207
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 10
+ },
+ "end": {
+ "line": 398,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 13208,
+ 13212
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 24
+ },
+ "end": {
+ "line": 398,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13214,
+ 13219
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 30
+ },
+ "end": {
+ "line": 398,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13221,
+ 13225
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 37
+ },
+ "end": {
+ "line": 398,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 13227,
+ 13231
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 43
+ },
+ "end": {
+ "line": 398,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13233,
+ 13235
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 49
+ },
+ "end": {
+ "line": 398,
+ "column": 51
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 13237,
+ 13245
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 53
+ },
+ "end": {
+ "line": 398,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "range": [
+ 13194,
+ 13246
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 10
+ },
+ "end": {
+ "line": 398,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 13194,
+ 13247
+ ],
+ "loc": {
+ "start": {
+ "line": 398,
+ "column": 10
+ },
+ "end": {
+ "line": 398,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 13182,
+ 13257
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 66
+ },
+ "end": {
+ "line": 399,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13267,
+ 13271
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 19
+ },
+ "end": {
+ "line": 399,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 13272,
+ 13286
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 24
+ },
+ "end": {
+ "line": 399,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 13267,
+ 13286
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 19
+ },
+ "end": {
+ "line": 399,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13287,
+ 13292
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 39
+ },
+ "end": {
+ "line": 399,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 13267,
+ 13293
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 19
+ },
+ "end": {
+ "line": 399,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13297,
+ 13301
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 49
+ },
+ "end": {
+ "line": 399,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 13302,
+ 13316
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 54
+ },
+ "end": {
+ "line": 399,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 13297,
+ 13316
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 49
+ },
+ "end": {
+ "line": 399,
+ "column": 68
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13317,
+ 13322
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 69
+ },
+ "end": {
+ "line": 399,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 13297,
+ 13323
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 49
+ },
+ "end": {
+ "line": 399,
+ "column": 75
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13324,
+ 13328
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 76
+ },
+ "end": {
+ "line": 399,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 13297,
+ 13329
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 49
+ },
+ "end": {
+ "line": 399,
+ "column": 81
+ }
+ }
+ },
+ "range": [
+ 13267,
+ 13329
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 19
+ },
+ "end": {
+ "line": 399,
+ "column": 81
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13333,
+ 13337
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 85
+ },
+ "end": {
+ "line": 399,
+ "column": 89
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 13338,
+ 13352
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 90
+ },
+ "end": {
+ "line": 399,
+ "column": 104
+ }
+ }
+ },
+ "range": [
+ 13333,
+ 13352
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 85
+ },
+ "end": {
+ "line": 399,
+ "column": 104
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13353,
+ 13358
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 105
+ },
+ "end": {
+ "line": 399,
+ "column": 110
+ }
+ }
+ },
+ "range": [
+ 13333,
+ 13359
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 85
+ },
+ "end": {
+ "line": 399,
+ "column": 111
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13360,
+ 13364
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 112
+ },
+ "end": {
+ "line": 399,
+ "column": 116
+ }
+ }
+ },
+ "range": [
+ 13333,
+ 13365
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 85
+ },
+ "end": {
+ "line": 399,
+ "column": 117
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13366,
+ 13368
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 118
+ },
+ "end": {
+ "line": 399,
+ "column": 120
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "*",
+ "raw": "\"*\"",
+ "range": [
+ 13372,
+ 13375
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 124
+ },
+ "end": {
+ "line": 399,
+ "column": 127
+ }
+ }
+ },
+ "range": [
+ 13366,
+ 13375
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 118
+ },
+ "end": {
+ "line": 399,
+ "column": 127
+ }
+ }
+ },
+ "range": [
+ 13333,
+ 13376
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 85
+ },
+ "end": {
+ "line": 399,
+ "column": 128
+ }
+ }
+ },
+ "range": [
+ 13267,
+ 13376
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 19
+ },
+ "end": {
+ "line": 399,
+ "column": 128
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13390,
+ 13394
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 13395,
+ 13409
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 15
+ },
+ "end": {
+ "line": 400,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 13390,
+ 13409
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13410,
+ 13415
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 30
+ },
+ "end": {
+ "line": 400,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 13390,
+ 13416
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13417,
+ 13421
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 37
+ },
+ "end": {
+ "line": 400,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 13390,
+ 13422
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13423,
+ 13425
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 43
+ },
+ "end": {
+ "line": 400,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "*",
+ "raw": "\"*\"",
+ "range": [
+ 13429,
+ 13432
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 49
+ },
+ "end": {
+ "line": 400,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 13423,
+ 13432
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 43
+ },
+ "end": {
+ "line": 400,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 13390,
+ 13433
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "dispose",
+ "range": [
+ 13434,
+ 13441
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 54
+ },
+ "end": {
+ "line": 400,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 13390,
+ 13441
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 61
+ }
+ }
+ },
+ "arguments": [],
+ "range": [
+ 13390,
+ 13443
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 13390,
+ 13444
+ ],
+ "loc": {
+ "start": {
+ "line": 400,
+ "column": 10
+ },
+ "end": {
+ "line": 400,
+ "column": 64
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "UnaryExpression",
+ "operator": "delete",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 13462,
+ 13466
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 17
+ },
+ "end": {
+ "line": 401,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 13467,
+ 13481
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 22
+ },
+ "end": {
+ "line": 401,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 13462,
+ 13481
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 17
+ },
+ "end": {
+ "line": 401,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13482,
+ 13487
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 37
+ },
+ "end": {
+ "line": 401,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 13462,
+ 13488
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 17
+ },
+ "end": {
+ "line": 401,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13489,
+ 13493
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 44
+ },
+ "end": {
+ "line": 401,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 13462,
+ 13494
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 17
+ },
+ "end": {
+ "line": 401,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 13495,
+ 13497
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 50
+ },
+ "end": {
+ "line": 401,
+ "column": 52
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "*",
+ "raw": "\"*\"",
+ "range": [
+ 13501,
+ 13504
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 56
+ },
+ "end": {
+ "line": 401,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 13495,
+ 13504
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 50
+ },
+ "end": {
+ "line": 401,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 13462,
+ 13505
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 17
+ },
+ "end": {
+ "line": 401,
+ "column": 60
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 13455,
+ 13505
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 10
+ },
+ "end": {
+ "line": 401,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 13455,
+ 13506
+ ],
+ "loc": {
+ "start": {
+ "line": 401,
+ "column": 10
+ },
+ "end": {
+ "line": 401,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "range": [
+ 13378,
+ 13516
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 130
+ },
+ "end": {
+ "line": 402,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 13263,
+ 13516
+ ],
+ "loc": {
+ "start": {
+ "line": 399,
+ "column": 15
+ },
+ "end": {
+ "line": 402,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 13124,
+ 13516
+ ],
+ "loc": {
+ "start": {
+ "line": 397,
+ "column": 8
+ },
+ "end": {
+ "line": 402,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 13114,
+ 13524
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 29
+ },
+ "end": {
+ "line": 403,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 13550,
+ 13555
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 18
+ },
+ "end": {
+ "line": 404,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 13556,
+ 13573
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 24
+ },
+ "end": {
+ "line": 404,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 13577,
+ 13580
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 45
+ },
+ "end": {
+ "line": 404,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 13573,
+ 13577
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 41
+ },
+ "end": {
+ "line": 404,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 13556,
+ 13580
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 24
+ },
+ "end": {
+ "line": 404,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 13546,
+ 13581
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 14
+ },
+ "end": {
+ "line": 404,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 13540,
+ 13582
+ ],
+ "loc": {
+ "start": {
+ "line": 404,
+ "column": 8
+ },
+ "end": {
+ "line": 404,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 13530,
+ 13590
+ ],
+ "loc": {
+ "start": {
+ "line": 403,
+ "column": 13
+ },
+ "end": {
+ "line": 405,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 13091,
+ 13590
+ ],
+ "loc": {
+ "start": {
+ "line": 396,
+ "column": 6
+ },
+ "end": {
+ "line": 405,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 13083,
+ 13596
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 73
+ },
+ "end": {
+ "line": 406,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 13620,
+ 13625
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 16
+ },
+ "end": {
+ "line": 407,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown event '",
+ "cooked": "Unknown event '"
+ },
+ "tail": false,
+ "range": [
+ 13626,
+ 13644
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 22
+ },
+ "end": {
+ "line": 407,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 13649,
+ 13652
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 45
+ },
+ "end": {
+ "line": 407,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 13644,
+ 13649
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 40
+ },
+ "end": {
+ "line": 407,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 13626,
+ 13652
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 22
+ },
+ "end": {
+ "line": 407,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 13616,
+ 13653
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 12
+ },
+ "end": {
+ "line": 407,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 13610,
+ 13654
+ ],
+ "loc": {
+ "start": {
+ "line": 407,
+ "column": 6
+ },
+ "end": {
+ "line": 407,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 13602,
+ 13660
+ ],
+ "loc": {
+ "start": {
+ "line": 406,
+ "column": 11
+ },
+ "end": {
+ "line": 408,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 13014,
+ 13660
+ ],
+ "loc": {
+ "start": {
+ "line": 395,
+ "column": 4
+ },
+ "end": {
+ "line": 408,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 12789,
+ 13664
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 33
+ },
+ "end": {
+ "line": 409,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 12761,
+ 13664
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 5
+ },
+ "end": {
+ "line": 409,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 12758,
+ 13664
+ ],
+ "loc": {
+ "start": {
+ "line": 390,
+ "column": 2
+ },
+ "end": {
+ "line": 409,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Unregister an event listener that was registered with on().\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n ",
+ "range": [
+ 12307,
+ 12755
+ ],
+ "loc": {
+ "start": {
+ "line": 380,
+ "column": 2
+ },
+ "end": {
+ "line": 389,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n ",
+ "range": [
+ 13668,
+ 14153
+ ],
+ "loc": {
+ "start": {
+ "line": 411,
+ "column": 2
+ },
+ "end": {
+ "line": 421,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "on",
+ "range": [
+ 14156,
+ 14158
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 2
+ },
+ "end": {
+ "line": 422,
+ "column": 4
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14159,
+ 14164
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 5
+ },
+ "end": {
+ "line": 422,
+ "column": 10
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14166,
+ 14170
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 12
+ },
+ "end": {
+ "line": 422,
+ "column": 16
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14172,
+ 14174
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 18
+ },
+ "end": {
+ "line": 422,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 14176,
+ 14184
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 22
+ },
+ "end": {
+ "line": 422,
+ "column": 30
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 14186,
+ 14193
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 32
+ },
+ "end": {
+ "line": 422,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "console",
+ "range": [
+ 14201,
+ 14208
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 4
+ },
+ "end": {
+ "line": 423,
+ "column": 11
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "warn",
+ "range": [
+ 14209,
+ 14213
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 12
+ },
+ "end": {
+ "line": 423,
+ "column": 16
+ }
+ }
+ },
+ "range": [
+ 14201,
+ 14213
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 4
+ },
+ "end": {
+ "line": 423,
+ "column": 16
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "Literal",
+ "value": "The `store.on()` method has been deprecated in favour of `store.observable`.",
+ "raw": "\"The `store.on()` method has been deprecated in favour of `store.observable`.\"",
+ "range": [
+ 14222,
+ 14300
+ ],
+ "loc": {
+ "start": {
+ "line": 424,
+ "column": 6
+ },
+ "end": {
+ "line": 424,
+ "column": 84
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0",
+ "raw": "\"For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0\"",
+ "range": [
+ 14308,
+ 14395
+ ],
+ "loc": {
+ "start": {
+ "line": 425,
+ "column": 6
+ },
+ "end": {
+ "line": 425,
+ "column": 93
+ }
+ }
+ }
+ ],
+ "range": [
+ 14214,
+ 14401
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 17
+ },
+ "end": {
+ "line": 426,
+ "column": 5
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "join",
+ "range": [
+ 14402,
+ 14406
+ ],
+ "loc": {
+ "start": {
+ "line": 426,
+ "column": 6
+ },
+ "end": {
+ "line": 426,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 14214,
+ 14406
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 17
+ },
+ "end": {
+ "line": 426,
+ "column": 10
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "\n",
+ "raw": "\"\\n\"",
+ "range": [
+ 14407,
+ 14411
+ ],
+ "loc": {
+ "start": {
+ "line": 426,
+ "column": 11
+ },
+ "end": {
+ "line": 426,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 14214,
+ 14412
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 17
+ },
+ "end": {
+ "line": 426,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 14201,
+ 14413
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 4
+ },
+ "end": {
+ "line": 426,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 14201,
+ 14414
+ ],
+ "loc": {
+ "start": {
+ "line": 423,
+ "column": 4
+ },
+ "end": {
+ "line": 426,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14423,
+ 14428
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 8
+ },
+ "end": {
+ "line": 427,
+ "column": 13
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "added",
+ "raw": "\"added\"",
+ "range": [
+ 14433,
+ 14440
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 18
+ },
+ "end": {
+ "line": 427,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 14423,
+ 14440
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 8
+ },
+ "end": {
+ "line": 427,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14444,
+ 14449
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 29
+ },
+ "end": {
+ "line": 427,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "updated",
+ "raw": "\"updated\"",
+ "range": [
+ 14454,
+ 14463
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 39
+ },
+ "end": {
+ "line": 427,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 14444,
+ 14463
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 29
+ },
+ "end": {
+ "line": 427,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 14423,
+ 14463
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 8
+ },
+ "end": {
+ "line": 427,
+ "column": 48
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14467,
+ 14472
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 52
+ },
+ "end": {
+ "line": 427,
+ "column": 57
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 14477,
+ 14486
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 62
+ },
+ "end": {
+ "line": 427,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 14467,
+ 14486
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 52
+ },
+ "end": {
+ "line": 427,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 14423,
+ 14486
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 8
+ },
+ "end": {
+ "line": 427,
+ "column": 71
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14500,
+ 14504
+ ],
+ "loc": {
+ "start": {
+ "line": 428,
+ "column": 10
+ },
+ "end": {
+ "line": 428,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 14505,
+ 14511
+ ],
+ "loc": {
+ "start": {
+ "line": 428,
+ "column": 15
+ },
+ "end": {
+ "line": 428,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 14500,
+ 14511
+ ],
+ "loc": {
+ "start": {
+ "line": 428,
+ "column": 10
+ },
+ "end": {
+ "line": 428,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14512,
+ 14516
+ ],
+ "loc": {
+ "start": {
+ "line": 428,
+ "column": 22
+ },
+ "end": {
+ "line": 428,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 14500,
+ 14517
+ ],
+ "loc": {
+ "start": {
+ "line": 428,
+ "column": 10
+ },
+ "end": {
+ "line": 428,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14533,
+ 14535
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 12
+ },
+ "end": {
+ "line": 429,
+ "column": 14
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 14540,
+ 14542
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 19
+ },
+ "end": {
+ "line": 429,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "toString",
+ "range": [
+ 14544,
+ 14552
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 23
+ },
+ "end": {
+ "line": 429,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 14539,
+ 14552
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 18
+ },
+ "end": {
+ "line": 429,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 14553,
+ 14557
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 32
+ },
+ "end": {
+ "line": 429,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 14539,
+ 14557
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 18
+ },
+ "end": {
+ "line": 429,
+ "column": 36
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14558,
+ 14560
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 37
+ },
+ "end": {
+ "line": 429,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 14539,
+ 14561
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 18
+ },
+ "end": {
+ "line": 429,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "[object Function]",
+ "raw": "'[object Function]'",
+ "range": [
+ 14566,
+ 14585
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 45
+ },
+ "end": {
+ "line": 429,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 14539,
+ 14585
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 18
+ },
+ "end": {
+ "line": 429,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 14533,
+ 14585
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 12
+ },
+ "end": {
+ "line": 429,
+ "column": 64
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14599,
+ 14603
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 10
+ },
+ "end": {
+ "line": 430,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "on",
+ "range": [
+ 14604,
+ 14606
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 15
+ },
+ "end": {
+ "line": 430,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 14599,
+ 14606
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 10
+ },
+ "end": {
+ "line": 430,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 14607,
+ 14611
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 18
+ },
+ "end": {
+ "line": 430,
+ "column": 22
+ }
+ }
+ },
+ "range": [
+ 14599,
+ 14611
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 10
+ },
+ "end": {
+ "line": 430,
+ "column": 22
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 14612,
+ 14616
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 23
+ },
+ "end": {
+ "line": 430,
+ "column": 27
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14618,
+ 14623
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 29
+ },
+ "end": {
+ "line": 430,
+ "column": 34
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14625,
+ 14629
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 36
+ },
+ "end": {
+ "line": 430,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 14631,
+ 14635
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 42
+ },
+ "end": {
+ "line": 430,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14637,
+ 14639
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 48
+ },
+ "end": {
+ "line": 430,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 14641,
+ 14649
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 52
+ },
+ "end": {
+ "line": 430,
+ "column": 60
+ }
+ }
+ }
+ ],
+ "range": [
+ 14599,
+ 14650
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 10
+ },
+ "end": {
+ "line": 430,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 14599,
+ 14651
+ ],
+ "loc": {
+ "start": {
+ "line": 430,
+ "column": 10
+ },
+ "end": {
+ "line": 430,
+ "column": 62
+ }
+ }
+ }
+ ],
+ "range": [
+ 14587,
+ 14661
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 66
+ },
+ "end": {
+ "line": 431,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14672,
+ 14676
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 20
+ },
+ "end": {
+ "line": 431,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 14677,
+ 14691
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 25
+ },
+ "end": {
+ "line": 431,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 14672,
+ 14691
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 20
+ },
+ "end": {
+ "line": 431,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14692,
+ 14697
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 40
+ },
+ "end": {
+ "line": 431,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 14672,
+ 14698
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 20
+ },
+ "end": {
+ "line": 431,
+ "column": 46
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 14671,
+ 14698
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 19
+ },
+ "end": {
+ "line": 431,
+ "column": 46
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14703,
+ 14707
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 51
+ },
+ "end": {
+ "line": 431,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 14708,
+ 14722
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 56
+ },
+ "end": {
+ "line": 431,
+ "column": 70
+ }
+ }
+ },
+ "range": [
+ 14703,
+ 14722
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 51
+ },
+ "end": {
+ "line": 431,
+ "column": 70
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14723,
+ 14728
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 71
+ },
+ "end": {
+ "line": 431,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 14703,
+ 14729
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 51
+ },
+ "end": {
+ "line": 431,
+ "column": 77
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14730,
+ 14734
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 78
+ },
+ "end": {
+ "line": 431,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 14703,
+ 14735
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 51
+ },
+ "end": {
+ "line": 431,
+ "column": 83
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 14702,
+ 14735
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 50
+ },
+ "end": {
+ "line": 431,
+ "column": 83
+ }
+ }
+ },
+ "range": [
+ 14671,
+ 14735
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 19
+ },
+ "end": {
+ "line": 431,
+ "column": 83
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14740,
+ 14744
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 88
+ },
+ "end": {
+ "line": 431,
+ "column": 92
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 14745,
+ 14759
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 93
+ },
+ "end": {
+ "line": 431,
+ "column": 107
+ }
+ }
+ },
+ "range": [
+ 14740,
+ 14759
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 88
+ },
+ "end": {
+ "line": 431,
+ "column": 107
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14760,
+ 14765
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 108
+ },
+ "end": {
+ "line": 431,
+ "column": 113
+ }
+ }
+ },
+ "range": [
+ 14740,
+ 14766
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 88
+ },
+ "end": {
+ "line": 431,
+ "column": 114
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14767,
+ 14771
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 115
+ },
+ "end": {
+ "line": 431,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 14740,
+ 14772
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 88
+ },
+ "end": {
+ "line": 431,
+ "column": 120
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14773,
+ 14775
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 121
+ },
+ "end": {
+ "line": 431,
+ "column": 123
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "*",
+ "raw": "\"*\"",
+ "range": [
+ 14779,
+ 14782
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 127
+ },
+ "end": {
+ "line": 431,
+ "column": 130
+ }
+ }
+ },
+ "range": [
+ 14773,
+ 14782
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 121
+ },
+ "end": {
+ "line": 431,
+ "column": 130
+ }
+ }
+ },
+ "range": [
+ 14740,
+ 14783
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 88
+ },
+ "end": {
+ "line": 431,
+ "column": 131
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 14739,
+ 14783
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 87
+ },
+ "end": {
+ "line": 431,
+ "column": 131
+ }
+ }
+ },
+ "range": [
+ 14671,
+ 14783
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 19
+ },
+ "end": {
+ "line": 431,
+ "column": 131
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 14801,
+ 14813
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 14
+ },
+ "end": {
+ "line": 432,
+ "column": 26
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14816,
+ 14820
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 29
+ },
+ "end": {
+ "line": 432,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subject",
+ "range": [
+ 14821,
+ 14829
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 34
+ },
+ "end": {
+ "line": 432,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 14816,
+ 14829
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 29
+ },
+ "end": {
+ "line": 432,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 14830,
+ 14836
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 43
+ },
+ "end": {
+ "line": 432,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 14816,
+ 14836
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 29
+ },
+ "end": {
+ "line": 432,
+ "column": 49
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 14837,
+ 14838
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 50
+ },
+ "end": {
+ "line": 432,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 14842,
+ 14843
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 55
+ },
+ "end": {
+ "line": 432,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 14844,
+ 14848
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 57
+ },
+ "end": {
+ "line": 432,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 14842,
+ 14848
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 55
+ },
+ "end": {
+ "line": 432,
+ "column": 61
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 14853,
+ 14858
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 66
+ },
+ "end": {
+ "line": 432,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 14842,
+ 14858
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 55
+ },
+ "end": {
+ "line": 432,
+ "column": 71
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 14837,
+ 14858
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 50
+ },
+ "end": {
+ "line": 432,
+ "column": 71
+ }
+ }
+ }
+ ],
+ "range": [
+ 14816,
+ 14859
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 29
+ },
+ "end": {
+ "line": 432,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 14801,
+ 14859
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 14
+ },
+ "end": {
+ "line": 432,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 14797,
+ 14860
+ ],
+ "loc": {
+ "start": {
+ "line": 432,
+ "column": 10
+ },
+ "end": {
+ "line": 432,
+ "column": 73
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 14871,
+ 14883
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 10
+ },
+ "end": {
+ "line": 433,
+ "column": 22
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 14886,
+ 14898
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 25
+ },
+ "end": {
+ "line": 433,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 14899,
+ 14905
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 38
+ },
+ "end": {
+ "line": 433,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 14886,
+ 14905
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 25
+ },
+ "end": {
+ "line": 433,
+ "column": 44
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 14906,
+ 14907
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 45
+ },
+ "end": {
+ "line": 433,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 14911,
+ 14915
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 50
+ },
+ "end": {
+ "line": 433,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 14916,
+ 14922
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 55
+ },
+ "end": {
+ "line": 433,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 14911,
+ 14922
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 50
+ },
+ "end": {
+ "line": 433,
+ "column": 61
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14923,
+ 14927
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 62
+ },
+ "end": {
+ "line": 433,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 14911,
+ 14928
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 50
+ },
+ "end": {
+ "line": 433,
+ "column": 67
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 14929,
+ 14935
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 68
+ },
+ "end": {
+ "line": 433,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 14911,
+ 14935
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 50
+ },
+ "end": {
+ "line": 433,
+ "column": 74
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "indexOf",
+ "range": [
+ 14936,
+ 14943
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 75
+ },
+ "end": {
+ "line": 433,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 14911,
+ 14943
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 50
+ },
+ "end": {
+ "line": 433,
+ "column": 82
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 14944,
+ 14945
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 83
+ },
+ "end": {
+ "line": 433,
+ "column": 84
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 14946,
+ 14950
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 85
+ },
+ "end": {
+ "line": 433,
+ "column": 89
+ }
+ }
+ },
+ "range": [
+ 14944,
+ 14950
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 83
+ },
+ "end": {
+ "line": 433,
+ "column": 89
+ }
+ }
+ }
+ ],
+ "range": [
+ 14911,
+ 14951
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 50
+ },
+ "end": {
+ "line": 433,
+ "column": 90
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "-",
+ "argument": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 14957,
+ 14958
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 96
+ },
+ "end": {
+ "line": 433,
+ "column": 97
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 14956,
+ 14958
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 95
+ },
+ "end": {
+ "line": 433,
+ "column": 97
+ }
+ }
+ },
+ "range": [
+ 14911,
+ 14958
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 50
+ },
+ "end": {
+ "line": 433,
+ "column": 97
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 14906,
+ 14958
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 45
+ },
+ "end": {
+ "line": 433,
+ "column": 97
+ }
+ }
+ }
+ ],
+ "range": [
+ 14886,
+ 14959
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 25
+ },
+ "end": {
+ "line": 433,
+ "column": 98
+ }
+ }
+ },
+ "range": [
+ 14871,
+ 14959
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 10
+ },
+ "end": {
+ "line": 433,
+ "column": 98
+ }
+ }
+ },
+ "range": [
+ 14871,
+ 14960
+ ],
+ "loc": {
+ "start": {
+ "line": 433,
+ "column": 10
+ },
+ "end": {
+ "line": 433,
+ "column": 99
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 14975,
+ 14977
+ ],
+ "loc": {
+ "start": {
+ "line": 434,
+ "column": 14
+ },
+ "end": {
+ "line": 434,
+ "column": 16
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 14993,
+ 15005
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 12
+ },
+ "end": {
+ "line": 435,
+ "column": 24
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 15008,
+ 15020
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 27
+ },
+ "end": {
+ "line": 435,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 15021,
+ 15027
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 40
+ },
+ "end": {
+ "line": 435,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 15008,
+ 15027
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 27
+ },
+ "end": {
+ "line": 435,
+ "column": 46
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 15028,
+ 15029
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 47
+ },
+ "end": {
+ "line": 435,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 15033,
+ 15034
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 52
+ },
+ "end": {
+ "line": 435,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 15035,
+ 15037
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 54
+ },
+ "end": {
+ "line": 435,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 15033,
+ 15037
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 52
+ },
+ "end": {
+ "line": 435,
+ "column": 56
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 15042,
+ 15044
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 61
+ },
+ "end": {
+ "line": 435,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 15033,
+ 15044
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 52
+ },
+ "end": {
+ "line": 435,
+ "column": 63
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 15028,
+ 15044
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 47
+ },
+ "end": {
+ "line": 435,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 15008,
+ 15045
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 27
+ },
+ "end": {
+ "line": 435,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 14993,
+ 15045
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 12
+ },
+ "end": {
+ "line": 435,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 14993,
+ 15046
+ ],
+ "loc": {
+ "start": {
+ "line": 435,
+ "column": 12
+ },
+ "end": {
+ "line": 435,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 14979,
+ 15058
+ ],
+ "loc": {
+ "start": {
+ "line": 434,
+ "column": 18
+ },
+ "end": {
+ "line": 436,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 14971,
+ 15058
+ ],
+ "loc": {
+ "start": {
+ "line": 434,
+ "column": 10
+ },
+ "end": {
+ "line": 436,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 15069,
+ 15081
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 10
+ },
+ "end": {
+ "line": 437,
+ "column": 22
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 15084,
+ 15096
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 25
+ },
+ "end": {
+ "line": 437,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "map",
+ "range": [
+ 15097,
+ 15100
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 38
+ },
+ "end": {
+ "line": 437,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 15084,
+ 15100
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 25
+ },
+ "end": {
+ "line": 437,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 15101,
+ 15102
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 42
+ },
+ "end": {
+ "line": 437,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15106,
+ 15110
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 47
+ },
+ "end": {
+ "line": 437,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 15111,
+ 15115
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 52
+ },
+ "end": {
+ "line": 437,
+ "column": 56
+ }
+ }
+ },
+ "range": [
+ 15106,
+ 15115
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 47
+ },
+ "end": {
+ "line": 437,
+ "column": 56
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 15116,
+ 15117
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 57
+ },
+ "end": {
+ "line": 437,
+ "column": 58
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15118,
+ 15122
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 59
+ },
+ "end": {
+ "line": 437,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 15116,
+ 15122
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 57
+ },
+ "end": {
+ "line": 437,
+ "column": 63
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "e",
+ "range": [
+ 15124,
+ 15125
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 65
+ },
+ "end": {
+ "line": 437,
+ "column": 66
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 15126,
+ 15128
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 67
+ },
+ "end": {
+ "line": 437,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 15124,
+ 15128
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 65
+ },
+ "end": {
+ "line": 437,
+ "column": 69
+ }
+ }
+ }
+ ],
+ "range": [
+ 15106,
+ 15129
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 47
+ },
+ "end": {
+ "line": 437,
+ "column": 70
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 15101,
+ 15129
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 42
+ },
+ "end": {
+ "line": 437,
+ "column": 70
+ }
+ }
+ }
+ ],
+ "range": [
+ 15084,
+ 15130
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 25
+ },
+ "end": {
+ "line": 437,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 15069,
+ 15130
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 10
+ },
+ "end": {
+ "line": 437,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 15069,
+ 15131
+ ],
+ "loc": {
+ "start": {
+ "line": 437,
+ "column": 10
+ },
+ "end": {
+ "line": 437,
+ "column": 72
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15142,
+ 15146
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 10
+ },
+ "end": {
+ "line": 438,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 15147,
+ 15161
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 15
+ },
+ "end": {
+ "line": 438,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 15142,
+ 15161
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 10
+ },
+ "end": {
+ "line": 438,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 15162,
+ 15167
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 30
+ },
+ "end": {
+ "line": 438,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 15142,
+ 15168
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 10
+ },
+ "end": {
+ "line": 438,
+ "column": 36
+ }
+ }
+ },
+ "right": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15171,
+ 15175
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 39
+ },
+ "end": {
+ "line": 438,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 15176,
+ 15190
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 44
+ },
+ "end": {
+ "line": 438,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 15171,
+ 15190
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 39
+ },
+ "end": {
+ "line": 438,
+ "column": 58
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 15191,
+ 15196
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 59
+ },
+ "end": {
+ "line": 438,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 15171,
+ 15197
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 39
+ },
+ "end": {
+ "line": 438,
+ "column": 65
+ }
+ }
+ },
+ "right": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 15201,
+ 15203
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 69
+ },
+ "end": {
+ "line": 438,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 15171,
+ 15203
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 39
+ },
+ "end": {
+ "line": 438,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 15142,
+ 15203
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 10
+ },
+ "end": {
+ "line": 438,
+ "column": 71
+ }
+ }
+ },
+ "range": [
+ 15142,
+ 15204
+ ],
+ "loc": {
+ "start": {
+ "line": 438,
+ "column": 10
+ },
+ "end": {
+ "line": 438,
+ "column": 72
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15220,
+ 15224
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 15
+ },
+ "end": {
+ "line": 439,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 15225,
+ 15239
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 20
+ },
+ "end": {
+ "line": 439,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 15220,
+ 15239
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 15
+ },
+ "end": {
+ "line": 439,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 15240,
+ 15245
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 35
+ },
+ "end": {
+ "line": 439,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 15220,
+ 15246
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 15
+ },
+ "end": {
+ "line": 439,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15247,
+ 15251
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 42
+ },
+ "end": {
+ "line": 439,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 15220,
+ 15252
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 15
+ },
+ "end": {
+ "line": 439,
+ "column": 47
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 15219,
+ 15252
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 14
+ },
+ "end": {
+ "line": 439,
+ "column": 47
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "obj",
+ "range": [
+ 15272,
+ 15275
+ ],
+ "loc": {
+ "start": {
+ "line": 440,
+ "column": 16
+ },
+ "end": {
+ "line": 440,
+ "column": 19
+ }
+ }
+ },
+ "init": {
+ "type": "ObjectExpression",
+ "properties": [],
+ "range": [
+ 15278,
+ 15280
+ ],
+ "loc": {
+ "start": {
+ "line": 440,
+ "column": 22
+ },
+ "end": {
+ "line": 440,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 15272,
+ 15280
+ ],
+ "loc": {
+ "start": {
+ "line": 440,
+ "column": 16
+ },
+ "end": {
+ "line": 440,
+ "column": 24
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 15268,
+ 15281
+ ],
+ "loc": {
+ "start": {
+ "line": 440,
+ "column": 12
+ },
+ "end": {
+ "line": 440,
+ "column": 25
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15294,
+ 15298
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 12
+ },
+ "end": {
+ "line": 441,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 15299,
+ 15305
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 17
+ },
+ "end": {
+ "line": 441,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 15294,
+ 15305
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 12
+ },
+ "end": {
+ "line": 441,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15306,
+ 15310
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 24
+ },
+ "end": {
+ "line": 441,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 15294,
+ 15311
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 12
+ },
+ "end": {
+ "line": 441,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 15312,
+ 15318
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 30
+ },
+ "end": {
+ "line": 441,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 15294,
+ 15318
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 12
+ },
+ "end": {
+ "line": 441,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 15319,
+ 15326
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 37
+ },
+ "end": {
+ "line": 441,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 15294,
+ 15326
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 12
+ },
+ "end": {
+ "line": 441,
+ "column": 44
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15327,
+ 15331
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 45
+ },
+ "end": {
+ "line": 441,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15351,
+ 15355
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 14
+ },
+ "end": {
+ "line": 442,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 15356,
+ 15370
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 19
+ },
+ "end": {
+ "line": 442,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 15351,
+ 15370
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 14
+ },
+ "end": {
+ "line": 442,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 15371,
+ 15376
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 34
+ },
+ "end": {
+ "line": 442,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 15351,
+ 15377
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 14
+ },
+ "end": {
+ "line": 442,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15378,
+ 15382
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 41
+ },
+ "end": {
+ "line": 442,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 15351,
+ 15383
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 14
+ },
+ "end": {
+ "line": 442,
+ "column": 46
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "obj",
+ "range": [
+ 15386,
+ 15389
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 49
+ },
+ "end": {
+ "line": 442,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 15351,
+ 15389
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 14
+ },
+ "end": {
+ "line": 442,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 15351,
+ 15390
+ ],
+ "loc": {
+ "start": {
+ "line": 442,
+ "column": 14
+ },
+ "end": {
+ "line": 442,
+ "column": 53
+ }
+ }
+ }
+ ],
+ "range": [
+ 15335,
+ 15404
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 53
+ },
+ "end": {
+ "line": 443,
+ "column": 13
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 15327,
+ 15404
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 45
+ },
+ "end": {
+ "line": 443,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 15294,
+ 15405
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 12
+ },
+ "end": {
+ "line": 443,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 15294,
+ 15406
+ ],
+ "loc": {
+ "start": {
+ "line": 441,
+ "column": 12
+ },
+ "end": {
+ "line": 443,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 15254,
+ 15418
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 49
+ },
+ "end": {
+ "line": 444,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 15215,
+ 15418
+ ],
+ "loc": {
+ "start": {
+ "line": 439,
+ "column": 10
+ },
+ "end": {
+ "line": 444,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 15429,
+ 15433
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 10
+ },
+ "end": {
+ "line": 445,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subscriptions",
+ "range": [
+ 15434,
+ 15448
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 15
+ },
+ "end": {
+ "line": 445,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 15429,
+ 15448
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 10
+ },
+ "end": {
+ "line": 445,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 15449,
+ 15454
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 30
+ },
+ "end": {
+ "line": 445,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 15429,
+ 15455
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 10
+ },
+ "end": {
+ "line": 445,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15456,
+ 15460
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 37
+ },
+ "end": {
+ "line": 445,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 15429,
+ 15461
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 10
+ },
+ "end": {
+ "line": 445,
+ "column": 42
+ }
+ }
+ },
+ "property": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 15462,
+ 15464
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 43
+ },
+ "end": {
+ "line": 445,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "*",
+ "raw": "\"*\"",
+ "range": [
+ 15468,
+ 15471
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 49
+ },
+ "end": {
+ "line": 445,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 15462,
+ 15471
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 43
+ },
+ "end": {
+ "line": 445,
+ "column": 52
+ }
+ }
+ },
+ "range": [
+ 15429,
+ 15472
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 10
+ },
+ "end": {
+ "line": 445,
+ "column": 53
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "subscription",
+ "range": [
+ 15475,
+ 15487
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 56
+ },
+ "end": {
+ "line": 445,
+ "column": 68
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "subscribe",
+ "range": [
+ 15488,
+ 15497
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 69
+ },
+ "end": {
+ "line": 445,
+ "column": 78
+ }
+ }
+ },
+ "range": [
+ 15475,
+ 15497
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 56
+ },
+ "end": {
+ "line": 445,
+ "column": 78
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "callback",
+ "range": [
+ 15498,
+ 15506
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 79
+ },
+ "end": {
+ "line": 445,
+ "column": 87
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "bind",
+ "range": [
+ 15507,
+ 15511
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 88
+ },
+ "end": {
+ "line": 445,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 15498,
+ 15511
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 79
+ },
+ "end": {
+ "line": 445,
+ "column": 92
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 15512,
+ 15519
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 93
+ },
+ "end": {
+ "line": 445,
+ "column": 100
+ }
+ }
+ }
+ ],
+ "range": [
+ 15498,
+ 15520
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 79
+ },
+ "end": {
+ "line": 445,
+ "column": 101
+ }
+ }
+ }
+ ],
+ "range": [
+ 15475,
+ 15521
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 56
+ },
+ "end": {
+ "line": 445,
+ "column": 102
+ }
+ }
+ },
+ "range": [
+ 15429,
+ 15521
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 10
+ },
+ "end": {
+ "line": 445,
+ "column": 102
+ }
+ }
+ },
+ "range": [
+ 15429,
+ 15522
+ ],
+ "loc": {
+ "start": {
+ "line": 445,
+ "column": 10
+ },
+ "end": {
+ "line": 445,
+ "column": 103
+ }
+ }
+ }
+ ],
+ "range": [
+ 14785,
+ 15532
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 133
+ },
+ "end": {
+ "line": 446,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 14667,
+ 15532
+ ],
+ "loc": {
+ "start": {
+ "line": 431,
+ "column": 15
+ },
+ "end": {
+ "line": 446,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 14529,
+ 15532
+ ],
+ "loc": {
+ "start": {
+ "line": 429,
+ "column": 8
+ },
+ "end": {
+ "line": 446,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 14519,
+ 15540
+ ],
+ "loc": {
+ "start": {
+ "line": 428,
+ "column": 29
+ },
+ "end": {
+ "line": 447,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 15566,
+ 15571
+ ],
+ "loc": {
+ "start": {
+ "line": 448,
+ "column": 18
+ },
+ "end": {
+ "line": 448,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 15572,
+ 15589
+ ],
+ "loc": {
+ "start": {
+ "line": 448,
+ "column": 24
+ },
+ "end": {
+ "line": 448,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 15593,
+ 15596
+ ],
+ "loc": {
+ "start": {
+ "line": 448,
+ "column": 45
+ },
+ "end": {
+ "line": 448,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 15589,
+ 15593
+ ],
+ "loc": {
+ "start": {
+ "line": 448,
+ "column": 41
+ },
+ "end": {
+ "line": 448,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 15572,
+ 15596
+ ],
+ "loc": {
+ "start": {
+ "line": 448,
+ "column": 24
+ },
+ "end": {
+ "line": 448,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 15562,
+ 15597
+ ],
+ "loc": {
+ "start": {
+ "line": 448,
+ "column": 14
+ },
+ "end": {
+ "line": 448,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 15556,
+ 15598
+ ],
+ "loc": {
+ "start": {
+ "line": 448,
+ "column": 8
+ },
+ "end": {
+ "line": 448,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 15546,
+ 15606
+ ],
+ "loc": {
+ "start": {
+ "line": 447,
+ "column": 13
+ },
+ "end": {
+ "line": 449,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 14496,
+ 15606
+ ],
+ "loc": {
+ "start": {
+ "line": 428,
+ "column": 6
+ },
+ "end": {
+ "line": 449,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 14488,
+ 15612
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 73
+ },
+ "end": {
+ "line": 450,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 15636,
+ 15641
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 16
+ },
+ "end": {
+ "line": 451,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown event '",
+ "cooked": "Unknown event '"
+ },
+ "tail": false,
+ "range": [
+ 15642,
+ 15660
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 22
+ },
+ "end": {
+ "line": 451,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 15665,
+ 15668
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 45
+ },
+ "end": {
+ "line": 451,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "event",
+ "range": [
+ 15660,
+ 15665
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 40
+ },
+ "end": {
+ "line": 451,
+ "column": 45
+ }
+ }
+ }
+ ],
+ "range": [
+ 15642,
+ 15668
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 22
+ },
+ "end": {
+ "line": 451,
+ "column": 48
+ }
+ }
+ }
+ ],
+ "range": [
+ 15632,
+ 15669
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 12
+ },
+ "end": {
+ "line": 451,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 15626,
+ 15670
+ ],
+ "loc": {
+ "start": {
+ "line": 451,
+ "column": 6
+ },
+ "end": {
+ "line": 451,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 15618,
+ 15676
+ ],
+ "loc": {
+ "start": {
+ "line": 450,
+ "column": 11
+ },
+ "end": {
+ "line": 452,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 14419,
+ 15676
+ ],
+ "loc": {
+ "start": {
+ "line": 427,
+ "column": 4
+ },
+ "end": {
+ "line": 452,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 14195,
+ 15680
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 41
+ },
+ "end": {
+ "line": 453,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 14158,
+ 15680
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 4
+ },
+ "end": {
+ "line": 453,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 14156,
+ 15680
+ ],
+ "loc": {
+ "start": {
+ "line": 422,
+ "column": 2
+ },
+ "end": {
+ "line": 453,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n ",
+ "range": [
+ 13668,
+ 14153
+ ],
+ "loc": {
+ "start": {
+ "line": 411,
+ "column": 2
+ },
+ "end": {
+ "line": 421,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n ",
+ "range": [
+ 15684,
+ 15982
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 2
+ },
+ "end": {
+ "line": 462,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 15985,
+ 15989
+ ],
+ "loc": {
+ "start": {
+ "line": 463,
+ "column": 2
+ },
+ "end": {
+ "line": 463,
+ "column": 6
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 15990,
+ 15994
+ ],
+ "loc": {
+ "start": {
+ "line": 463,
+ "column": 7
+ },
+ "end": {
+ "line": 463,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 16006,
+ 16010
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 8
+ },
+ "end": {
+ "line": 464,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 16011,
+ 16015
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 13
+ },
+ "end": {
+ "line": 464,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 16006,
+ 16015
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 8
+ },
+ "end": {
+ "line": 464,
+ "column": 17
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "constructor",
+ "range": [
+ 16016,
+ 16027
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 18
+ },
+ "end": {
+ "line": 464,
+ "column": 29
+ }
+ }
+ },
+ "range": [
+ 16006,
+ 16027
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 8
+ },
+ "end": {
+ "line": 464,
+ "column": 29
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "Array",
+ "range": [
+ 16032,
+ 16037
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 34
+ },
+ "end": {
+ "line": 464,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 16006,
+ 16037
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 8
+ },
+ "end": {
+ "line": 464,
+ "column": 39
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 16047,
+ 16051
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 6
+ },
+ "end": {
+ "line": 465,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 16052,
+ 16056
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 11
+ },
+ "end": {
+ "line": 465,
+ "column": 15
+ }
+ }
+ },
+ "range": [
+ 16047,
+ 16056
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 6
+ },
+ "end": {
+ "line": 465,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 16057,
+ 16064
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 16
+ },
+ "end": {
+ "line": 465,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 16047,
+ 16064
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 6
+ },
+ "end": {
+ "line": 465,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16065,
+ 16066
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 24
+ },
+ "end": {
+ "line": 465,
+ "column": 25
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16070,
+ 16074
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 29
+ },
+ "end": {
+ "line": 465,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 16075,
+ 16078
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 34
+ },
+ "end": {
+ "line": 465,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 16070,
+ 16078
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 29
+ },
+ "end": {
+ "line": 465,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16079,
+ 16080
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 38
+ },
+ "end": {
+ "line": 465,
+ "column": 39
+ }
+ }
+ }
+ ],
+ "range": [
+ 16070,
+ 16081
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 29
+ },
+ "end": {
+ "line": 465,
+ "column": 40
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 16065,
+ 16081
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 24
+ },
+ "end": {
+ "line": 465,
+ "column": 40
+ }
+ }
+ }
+ ],
+ "range": [
+ 16047,
+ 16082
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 6
+ },
+ "end": {
+ "line": 465,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 16047,
+ 16083
+ ],
+ "loc": {
+ "start": {
+ "line": 465,
+ "column": 6
+ },
+ "end": {
+ "line": 465,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "range": [
+ 16039,
+ 16089
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 41
+ },
+ "end": {
+ "line": 466,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16103,
+ 16107
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 6
+ },
+ "end": {
+ "line": 467,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 16108,
+ 16111
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 11
+ },
+ "end": {
+ "line": 467,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 16103,
+ 16111
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 6
+ },
+ "end": {
+ "line": 467,
+ "column": 14
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 16112,
+ 16116
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 15
+ },
+ "end": {
+ "line": 467,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "data",
+ "range": [
+ 16117,
+ 16121
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 20
+ },
+ "end": {
+ "line": 467,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 16112,
+ 16121
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 15
+ },
+ "end": {
+ "line": 467,
+ "column": 24
+ }
+ }
+ }
+ ],
+ "range": [
+ 16103,
+ 16122
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 6
+ },
+ "end": {
+ "line": 467,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 16103,
+ 16123
+ ],
+ "loc": {
+ "start": {
+ "line": 467,
+ "column": 6
+ },
+ "end": {
+ "line": 467,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "range": [
+ 16095,
+ 16129
+ ],
+ "loc": {
+ "start": {
+ "line": 466,
+ "column": 11
+ },
+ "end": {
+ "line": 468,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 16002,
+ 16129
+ ],
+ "loc": {
+ "start": {
+ "line": 464,
+ "column": 4
+ },
+ "end": {
+ "line": 468,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 16138,
+ 16142
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 8
+ },
+ "end": {
+ "line": 469,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "included",
+ "range": [
+ 16143,
+ 16151
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 13
+ },
+ "end": {
+ "line": 469,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 16138,
+ 16151
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 8
+ },
+ "end": {
+ "line": 469,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "root",
+ "range": [
+ 16161,
+ 16165
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 6
+ },
+ "end": {
+ "line": 470,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "included",
+ "range": [
+ 16166,
+ 16174
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 11
+ },
+ "end": {
+ "line": 470,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 16161,
+ 16174
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 6
+ },
+ "end": {
+ "line": 470,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 16175,
+ 16182
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 20
+ },
+ "end": {
+ "line": 470,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 16161,
+ 16182
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 6
+ },
+ "end": {
+ "line": 470,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16183,
+ 16184
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 28
+ },
+ "end": {
+ "line": 470,
+ "column": 29
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16188,
+ 16192
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 33
+ },
+ "end": {
+ "line": 470,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "add",
+ "range": [
+ 16193,
+ 16196
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 38
+ },
+ "end": {
+ "line": 470,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 16188,
+ 16196
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 33
+ },
+ "end": {
+ "line": 470,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 16197,
+ 16198
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 42
+ },
+ "end": {
+ "line": 470,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 16188,
+ 16199
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 33
+ },
+ "end": {
+ "line": 470,
+ "column": 44
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 16183,
+ 16199
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 28
+ },
+ "end": {
+ "line": 470,
+ "column": 44
+ }
+ }
+ }
+ ],
+ "range": [
+ 16161,
+ 16200
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 6
+ },
+ "end": {
+ "line": 470,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 16161,
+ 16201
+ ],
+ "loc": {
+ "start": {
+ "line": 470,
+ "column": 6
+ },
+ "end": {
+ "line": 470,
+ "column": 46
+ }
+ }
+ }
+ ],
+ "range": [
+ 16153,
+ 16207
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 23
+ },
+ "end": {
+ "line": 471,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 16134,
+ 16207
+ ],
+ "loc": {
+ "start": {
+ "line": 469,
+ "column": 4
+ },
+ "end": {
+ "line": 471,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 15996,
+ 16211
+ ],
+ "loc": {
+ "start": {
+ "line": 463,
+ "column": 13
+ },
+ "end": {
+ "line": 472,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 15989,
+ 16211
+ ],
+ "loc": {
+ "start": {
+ "line": 463,
+ "column": 6
+ },
+ "end": {
+ "line": 472,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 15985,
+ 16211
+ ],
+ "loc": {
+ "start": {
+ "line": 463,
+ "column": 2
+ },
+ "end": {
+ "line": 472,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n ",
+ "range": [
+ 15684,
+ 15982
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 2
+ },
+ "end": {
+ "line": 462,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n ",
+ "range": [
+ 16215,
+ 16521
+ ],
+ "loc": {
+ "start": {
+ "line": 474,
+ "column": 2
+ },
+ "end": {
+ "line": 481,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "remove",
+ "range": [
+ 16524,
+ 16530
+ ],
+ "loc": {
+ "start": {
+ "line": 482,
+ "column": 2
+ },
+ "end": {
+ "line": 482,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16531,
+ 16535
+ ],
+ "loc": {
+ "start": {
+ "line": 482,
+ "column": 9
+ },
+ "end": {
+ "line": 482,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16537,
+ 16539
+ ],
+ "loc": {
+ "start": {
+ "line": 482,
+ "column": 15
+ },
+ "end": {
+ "line": 482,
+ "column": 17
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16551,
+ 16555
+ ],
+ "loc": {
+ "start": {
+ "line": 483,
+ "column": 8
+ },
+ "end": {
+ "line": 483,
+ "column": 12
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16569,
+ 16573
+ ],
+ "loc": {
+ "start": {
+ "line": 484,
+ "column": 10
+ },
+ "end": {
+ "line": 484,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 16574,
+ 16580
+ ],
+ "loc": {
+ "start": {
+ "line": 484,
+ "column": 15
+ },
+ "end": {
+ "line": 484,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 16569,
+ 16580
+ ],
+ "loc": {
+ "start": {
+ "line": 484,
+ "column": 10
+ },
+ "end": {
+ "line": 484,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16581,
+ 16585
+ ],
+ "loc": {
+ "start": {
+ "line": 484,
+ "column": 22
+ },
+ "end": {
+ "line": 484,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 16569,
+ 16586
+ ],
+ "loc": {
+ "start": {
+ "line": 484,
+ "column": 10
+ },
+ "end": {
+ "line": 484,
+ "column": 27
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16602,
+ 16604
+ ],
+ "loc": {
+ "start": {
+ "line": 485,
+ "column": 12
+ },
+ "end": {
+ "line": 485,
+ "column": 14
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 16622,
+ 16630
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 14
+ },
+ "end": {
+ "line": 486,
+ "column": 22
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16633,
+ 16637
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 25
+ },
+ "end": {
+ "line": 486,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 16638,
+ 16643
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 30
+ },
+ "end": {
+ "line": 486,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 16633,
+ 16643
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 25
+ },
+ "end": {
+ "line": 486,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16644,
+ 16648
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 36
+ },
+ "end": {
+ "line": 486,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 16633,
+ 16649
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 25
+ },
+ "end": {
+ "line": 486,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16653,
+ 16657
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 45
+ },
+ "end": {
+ "line": 486,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 16658,
+ 16663
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 50
+ },
+ "end": {
+ "line": 486,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 16653,
+ 16663
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 45
+ },
+ "end": {
+ "line": 486,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16664,
+ 16668
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 56
+ },
+ "end": {
+ "line": 486,
+ "column": 60
+ }
+ }
+ },
+ "range": [
+ 16653,
+ 16669
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 45
+ },
+ "end": {
+ "line": 486,
+ "column": 61
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16670,
+ 16672
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 62
+ },
+ "end": {
+ "line": 486,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 16653,
+ 16673
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 45
+ },
+ "end": {
+ "line": 486,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 16633,
+ 16673
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 25
+ },
+ "end": {
+ "line": 486,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 16622,
+ 16673
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 14
+ },
+ "end": {
+ "line": 486,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 16618,
+ 16674
+ ],
+ "loc": {
+ "start": {
+ "line": 486,
+ "column": 10
+ },
+ "end": {
+ "line": 486,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 16689,
+ 16697
+ ],
+ "loc": {
+ "start": {
+ "line": 487,
+ "column": 14
+ },
+ "end": {
+ "line": 487,
+ "column": 22
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16713,
+ 16717
+ ],
+ "loc": {
+ "start": {
+ "line": 488,
+ "column": 12
+ },
+ "end": {
+ "line": 488,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_remove",
+ "range": [
+ 16718,
+ 16725
+ ],
+ "loc": {
+ "start": {
+ "line": 488,
+ "column": 17
+ },
+ "end": {
+ "line": 488,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 16713,
+ 16725
+ ],
+ "loc": {
+ "start": {
+ "line": 488,
+ "column": 12
+ },
+ "end": {
+ "line": 488,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 16726,
+ 16734
+ ],
+ "loc": {
+ "start": {
+ "line": 488,
+ "column": 25
+ },
+ "end": {
+ "line": 488,
+ "column": 33
+ }
+ }
+ }
+ ],
+ "range": [
+ 16713,
+ 16735
+ ],
+ "loc": {
+ "start": {
+ "line": 488,
+ "column": 12
+ },
+ "end": {
+ "line": 488,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 16713,
+ 16736
+ ],
+ "loc": {
+ "start": {
+ "line": 488,
+ "column": 12
+ },
+ "end": {
+ "line": 488,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16749,
+ 16753
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 12
+ },
+ "end": {
+ "line": 489,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_subject",
+ "range": [
+ 16754,
+ 16762
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 17
+ },
+ "end": {
+ "line": 489,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 16749,
+ 16762
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 12
+ },
+ "end": {
+ "line": 489,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "onNext",
+ "range": [
+ 16763,
+ 16769
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 26
+ },
+ "end": {
+ "line": 489,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 16749,
+ 16769
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 12
+ },
+ "end": {
+ "line": 489,
+ "column": 32
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "name",
+ "range": [
+ 16786,
+ 16790
+ ],
+ "loc": {
+ "start": {
+ "line": 490,
+ "column": 14
+ },
+ "end": {
+ "line": 490,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": "removed",
+ "raw": "\"removed\"",
+ "range": [
+ 16792,
+ 16801
+ ],
+ "loc": {
+ "start": {
+ "line": 490,
+ "column": 20
+ },
+ "end": {
+ "line": 490,
+ "column": 29
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 16786,
+ 16801
+ ],
+ "loc": {
+ "start": {
+ "line": 490,
+ "column": 14
+ },
+ "end": {
+ "line": 490,
+ "column": 29
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16817,
+ 16821
+ ],
+ "loc": {
+ "start": {
+ "line": 491,
+ "column": 14
+ },
+ "end": {
+ "line": 491,
+ "column": 18
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16823,
+ 16827
+ ],
+ "loc": {
+ "start": {
+ "line": 491,
+ "column": 20
+ },
+ "end": {
+ "line": 491,
+ "column": 24
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 16817,
+ 16827
+ ],
+ "loc": {
+ "start": {
+ "line": 491,
+ "column": 14
+ },
+ "end": {
+ "line": 491,
+ "column": 24
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16843,
+ 16845
+ ],
+ "loc": {
+ "start": {
+ "line": 492,
+ "column": 14
+ },
+ "end": {
+ "line": 492,
+ "column": 16
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16847,
+ 16849
+ ],
+ "loc": {
+ "start": {
+ "line": 492,
+ "column": 18
+ },
+ "end": {
+ "line": 492,
+ "column": 20
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 16843,
+ 16849
+ ],
+ "loc": {
+ "start": {
+ "line": 492,
+ "column": 14
+ },
+ "end": {
+ "line": 492,
+ "column": 20
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 16865,
+ 16873
+ ],
+ "loc": {
+ "start": {
+ "line": 493,
+ "column": 14
+ },
+ "end": {
+ "line": 493,
+ "column": 22
+ }
+ }
+ },
+ "value": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 16875,
+ 16879
+ ],
+ "loc": {
+ "start": {
+ "line": 493,
+ "column": 24
+ },
+ "end": {
+ "line": 493,
+ "column": 28
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 16865,
+ 16879
+ ],
+ "loc": {
+ "start": {
+ "line": 493,
+ "column": 14
+ },
+ "end": {
+ "line": 493,
+ "column": 28
+ }
+ }
+ }
+ ],
+ "range": [
+ 16770,
+ 16893
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 33
+ },
+ "end": {
+ "line": 494,
+ "column": 13
+ }
+ }
+ }
+ ],
+ "range": [
+ 16749,
+ 16894
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 12
+ },
+ "end": {
+ "line": 494,
+ "column": 14
+ }
+ }
+ },
+ "range": [
+ 16749,
+ 16895
+ ],
+ "loc": {
+ "start": {
+ "line": 489,
+ "column": 12
+ },
+ "end": {
+ "line": 494,
+ "column": 15
+ }
+ }
+ }
+ ],
+ "range": [
+ 16699,
+ 16907
+ ],
+ "loc": {
+ "start": {
+ "line": 487,
+ "column": 24
+ },
+ "end": {
+ "line": 495,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 16685,
+ 16907
+ ],
+ "loc": {
+ "start": {
+ "line": 487,
+ "column": 10
+ },
+ "end": {
+ "line": 495,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 16606,
+ 16917
+ ],
+ "loc": {
+ "start": {
+ "line": 485,
+ "column": 16
+ },
+ "end": {
+ "line": 496,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Object",
+ "range": [
+ 16935,
+ 16941
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 10
+ },
+ "end": {
+ "line": 497,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "keys",
+ "range": [
+ 16942,
+ 16946
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 17
+ },
+ "end": {
+ "line": 497,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 16935,
+ 16946
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 10
+ },
+ "end": {
+ "line": 497,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16947,
+ 16951
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 22
+ },
+ "end": {
+ "line": 497,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 16952,
+ 16957
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 27
+ },
+ "end": {
+ "line": 497,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 16947,
+ 16957
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 22
+ },
+ "end": {
+ "line": 497,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16958,
+ 16962
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 33
+ },
+ "end": {
+ "line": 497,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 16947,
+ 16963
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 22
+ },
+ "end": {
+ "line": 497,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 16935,
+ 16964
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 10
+ },
+ "end": {
+ "line": 497,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 16965,
+ 16972
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 40
+ },
+ "end": {
+ "line": 497,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 16935,
+ 16972
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 10
+ },
+ "end": {
+ "line": 497,
+ "column": 47
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16973,
+ 16975
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 48
+ },
+ "end": {
+ "line": 497,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 16979,
+ 16983
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 54
+ },
+ "end": {
+ "line": 497,
+ "column": 58
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "remove",
+ "range": [
+ 16984,
+ 16990
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 59
+ },
+ "end": {
+ "line": 497,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 16979,
+ 16990
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 54
+ },
+ "end": {
+ "line": 497,
+ "column": 65
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 16991,
+ 16995
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 66
+ },
+ "end": {
+ "line": 497,
+ "column": 70
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 16997,
+ 16999
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 72
+ },
+ "end": {
+ "line": 497,
+ "column": 74
+ }
+ }
+ }
+ ],
+ "range": [
+ 16979,
+ 17000
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 54
+ },
+ "end": {
+ "line": 497,
+ "column": 75
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 16973,
+ 17000
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 48
+ },
+ "end": {
+ "line": 497,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 16935,
+ 17001
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 10
+ },
+ "end": {
+ "line": 497,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 16935,
+ 17002
+ ],
+ "loc": {
+ "start": {
+ "line": 497,
+ "column": 10
+ },
+ "end": {
+ "line": 497,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 16923,
+ 17012
+ ],
+ "loc": {
+ "start": {
+ "line": 496,
+ "column": 15
+ },
+ "end": {
+ "line": 498,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 16598,
+ 17012
+ ],
+ "loc": {
+ "start": {
+ "line": 485,
+ "column": 8
+ },
+ "end": {
+ "line": 498,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 16588,
+ 17020
+ ],
+ "loc": {
+ "start": {
+ "line": 484,
+ "column": 29
+ },
+ "end": {
+ "line": 499,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 17046,
+ 17055
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 18
+ },
+ "end": {
+ "line": 500,
+ "column": 27
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "Unknown type '",
+ "cooked": "Unknown type '"
+ },
+ "tail": false,
+ "range": [
+ 17056,
+ 17073
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 28
+ },
+ "end": {
+ "line": 500,
+ "column": 45
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "'",
+ "cooked": "'"
+ },
+ "tail": true,
+ "range": [
+ 17077,
+ 17080
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 49
+ },
+ "end": {
+ "line": 500,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 17073,
+ 17077
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 45
+ },
+ "end": {
+ "line": 500,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "range": [
+ 17056,
+ 17080
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 28
+ },
+ "end": {
+ "line": 500,
+ "column": 52
+ }
+ }
+ }
+ ],
+ "range": [
+ 17042,
+ 17081
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 14
+ },
+ "end": {
+ "line": 500,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 17036,
+ 17082
+ ],
+ "loc": {
+ "start": {
+ "line": 500,
+ "column": 8
+ },
+ "end": {
+ "line": 500,
+ "column": 54
+ }
+ }
+ }
+ ],
+ "range": [
+ 17026,
+ 17090
+ ],
+ "loc": {
+ "start": {
+ "line": 499,
+ "column": 13
+ },
+ "end": {
+ "line": 501,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 16565,
+ 17090
+ ],
+ "loc": {
+ "start": {
+ "line": 484,
+ "column": 6
+ },
+ "end": {
+ "line": 501,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 16557,
+ 17096
+ ],
+ "loc": {
+ "start": {
+ "line": 483,
+ "column": 14
+ },
+ "end": {
+ "line": 502,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "TypeError",
+ "range": [
+ 17120,
+ 17129
+ ],
+ "loc": {
+ "start": {
+ "line": 503,
+ "column": 16
+ },
+ "end": {
+ "line": 503,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "You must provide a type to remove",
+ "cooked": "You must provide a type to remove"
+ },
+ "tail": true,
+ "range": [
+ 17130,
+ 17165
+ ],
+ "loc": {
+ "start": {
+ "line": 503,
+ "column": 26
+ },
+ "end": {
+ "line": 503,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "expressions": [],
+ "range": [
+ 17130,
+ 17165
+ ],
+ "loc": {
+ "start": {
+ "line": 503,
+ "column": 26
+ },
+ "end": {
+ "line": 503,
+ "column": 61
+ }
+ }
+ }
+ ],
+ "range": [
+ 17116,
+ 17166
+ ],
+ "loc": {
+ "start": {
+ "line": 503,
+ "column": 12
+ },
+ "end": {
+ "line": 503,
+ "column": 62
+ }
+ }
+ },
+ "range": [
+ 17110,
+ 17167
+ ],
+ "loc": {
+ "start": {
+ "line": 503,
+ "column": 6
+ },
+ "end": {
+ "line": 503,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 17102,
+ 17173
+ ],
+ "loc": {
+ "start": {
+ "line": 502,
+ "column": 11
+ },
+ "end": {
+ "line": 504,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 16547,
+ 17173
+ ],
+ "loc": {
+ "start": {
+ "line": 483,
+ "column": 4
+ },
+ "end": {
+ "line": 504,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 16541,
+ 17177
+ ],
+ "loc": {
+ "start": {
+ "line": 482,
+ "column": 19
+ },
+ "end": {
+ "line": 505,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 16530,
+ 17177
+ ],
+ "loc": {
+ "start": {
+ "line": 482,
+ "column": 8
+ },
+ "end": {
+ "line": 505,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 16524,
+ 17177
+ ],
+ "loc": {
+ "start": {
+ "line": 482,
+ "column": 2
+ },
+ "end": {
+ "line": 505,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n ",
+ "range": [
+ 16215,
+ 16521
+ ],
+ "loc": {
+ "start": {
+ "line": 474,
+ "column": 2
+ },
+ "end": {
+ "line": 481,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "trailingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 17181,
+ 17854
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 2
+ },
+ "end": {
+ "line": 525,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 17857,
+ 17863
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 2
+ },
+ "end": {
+ "line": 526,
+ "column": 8
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 17864,
+ 17868
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 9
+ },
+ "end": {
+ "line": 526,
+ "column": 13
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 17870,
+ 17872
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 15
+ },
+ "end": {
+ "line": 526,
+ "column": 17
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 17874,
+ 17881
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 19
+ },
+ "end": {
+ "line": 526,
+ "column": 26
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 17883,
+ 17890
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 28
+ },
+ "end": {
+ "line": 526,
+ "column": 35
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 17892,
+ 17897
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 37
+ },
+ "end": {
+ "line": 526,
+ "column": 42
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 17899,
+ 17906
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 44
+ },
+ "end": {
+ "line": 526,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 17918,
+ 17922
+ ],
+ "loc": {
+ "start": {
+ "line": 527,
+ "column": 8
+ },
+ "end": {
+ "line": 527,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 17923,
+ 17931
+ ],
+ "loc": {
+ "start": {
+ "line": 527,
+ "column": 13
+ },
+ "end": {
+ "line": 527,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 17918,
+ 17931
+ ],
+ "loc": {
+ "start": {
+ "line": 527,
+ "column": 8
+ },
+ "end": {
+ "line": 527,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 17941,
+ 17945
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 6
+ },
+ "end": {
+ "line": 528,
+ "column": 10
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_adapter",
+ "range": [
+ 17946,
+ 17954
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 11
+ },
+ "end": {
+ "line": 528,
+ "column": 19
+ }
+ }
+ },
+ "range": [
+ 17941,
+ 17954
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 6
+ },
+ "end": {
+ "line": 528,
+ "column": 19
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "update",
+ "range": [
+ 17955,
+ 17961
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 20
+ },
+ "end": {
+ "line": 528,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 17941,
+ 17961
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 6
+ },
+ "end": {
+ "line": 528,
+ "column": 26
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 17962,
+ 17966
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 27
+ },
+ "end": {
+ "line": 528,
+ "column": 31
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 17968,
+ 17972
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 33
+ },
+ "end": {
+ "line": 528,
+ "column": 37
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 17974,
+ 17976
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 39
+ },
+ "end": {
+ "line": 528,
+ "column": 41
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "partial",
+ "range": [
+ 17978,
+ 17985
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 43
+ },
+ "end": {
+ "line": 528,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "success",
+ "range": [
+ 17987,
+ 17994
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 52
+ },
+ "end": {
+ "line": 528,
+ "column": 59
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "error",
+ "range": [
+ 17996,
+ 18001
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 61
+ },
+ "end": {
+ "line": 528,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "context",
+ "range": [
+ 18003,
+ 18010
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 68
+ },
+ "end": {
+ "line": 528,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 17941,
+ 18011
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 6
+ },
+ "end": {
+ "line": 528,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 17941,
+ 18012
+ ],
+ "loc": {
+ "start": {
+ "line": 528,
+ "column": 6
+ },
+ "end": {
+ "line": 528,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 17933,
+ 18018
+ ],
+ "loc": {
+ "start": {
+ "line": 527,
+ "column": 23
+ },
+ "end": {
+ "line": 529,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 18042,
+ 18047
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 16
+ },
+ "end": {
+ "line": 530,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Literal",
+ "value": "Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`",
+ "raw": "\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\"",
+ "range": [
+ 18048,
+ 18144
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 22
+ },
+ "end": {
+ "line": 530,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 18038,
+ 18145
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 12
+ },
+ "end": {
+ "line": 530,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 18032,
+ 18146
+ ],
+ "loc": {
+ "start": {
+ "line": 530,
+ "column": 6
+ },
+ "end": {
+ "line": 530,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 18024,
+ 18152
+ ],
+ "loc": {
+ "start": {
+ "line": 529,
+ "column": 11
+ },
+ "end": {
+ "line": 531,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 17914,
+ 18152
+ ],
+ "loc": {
+ "start": {
+ "line": 527,
+ "column": 4
+ },
+ "end": {
+ "line": 531,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 17908,
+ 18156
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 53
+ },
+ "end": {
+ "line": 532,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 17863,
+ 18156
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 8
+ },
+ "end": {
+ "line": 532,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 17857,
+ 18156
+ ],
+ "loc": {
+ "start": {
+ "line": 526,
+ "column": 2
+ },
+ "end": {
+ "line": 532,
+ "column": 3
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 17181,
+ 17854
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 2
+ },
+ "end": {
+ "line": 525,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_addField",
+ "range": [
+ 18160,
+ 18169
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 2
+ },
+ "end": {
+ "line": 534,
+ "column": 11
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 18170,
+ 18176
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 12
+ },
+ "end": {
+ "line": 534,
+ "column": 18
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18178,
+ 18186
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 20
+ },
+ "end": {
+ "line": 534,
+ "column": 28
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 18188,
+ 18198
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 30
+ },
+ "end": {
+ "line": 534,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18200,
+ 18209
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 42
+ },
+ "end": {
+ "line": 534,
+ "column": 51
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18221,
+ 18226
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 8
+ },
+ "end": {
+ "line": 535,
+ "column": 13
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "definition",
+ "range": [
+ 18229,
+ 18239
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 16
+ },
+ "end": {
+ "line": 535,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18240,
+ 18249
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 27
+ },
+ "end": {
+ "line": 535,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 18229,
+ 18250
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 16
+ },
+ "end": {
+ "line": 535,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 18221,
+ 18250
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 8
+ },
+ "end": {
+ "line": 535,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 18217,
+ 18251
+ ],
+ "loc": {
+ "start": {
+ "line": 535,
+ "column": 4
+ },
+ "end": {
+ "line": 535,
+ "column": 38
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18260,
+ 18268
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 8
+ },
+ "end": {
+ "line": 536,
+ "column": 16
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18271,
+ 18276
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 19
+ },
+ "end": {
+ "line": 536,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "deserialize",
+ "range": [
+ 18277,
+ 18288
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 25
+ },
+ "end": {
+ "line": 536,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 18271,
+ 18288
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 19
+ },
+ "end": {
+ "line": 536,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "call",
+ "range": [
+ 18289,
+ 18293
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 37
+ },
+ "end": {
+ "line": 536,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 18271,
+ 18293
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 19
+ },
+ "end": {
+ "line": 536,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ThisExpression",
+ "range": [
+ 18294,
+ 18298
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 42
+ },
+ "end": {
+ "line": 536,
+ "column": 46
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "object",
+ "range": [
+ 18300,
+ 18306
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 48
+ },
+ "end": {
+ "line": 536,
+ "column": 54
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18308,
+ 18317
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 56
+ },
+ "end": {
+ "line": 536,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 18271,
+ 18318
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 19
+ },
+ "end": {
+ "line": 536,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 18260,
+ 18318
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 8
+ },
+ "end": {
+ "line": 536,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 18256,
+ 18319
+ ],
+ "loc": {
+ "start": {
+ "line": 536,
+ "column": 4
+ },
+ "end": {
+ "line": 536,
+ "column": 67
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "UnaryExpression",
+ "operator": "typeof",
+ "argument": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18335,
+ 18343
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 15
+ },
+ "end": {
+ "line": 537,
+ "column": 23
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 18328,
+ 18343
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 8
+ },
+ "end": {
+ "line": 537,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "undefined",
+ "raw": "\"undefined\"",
+ "range": [
+ 18348,
+ 18359
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 28
+ },
+ "end": {
+ "line": 537,
+ "column": 39
+ }
+ }
+ },
+ "range": [
+ 18328,
+ 18359
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 8
+ },
+ "end": {
+ "line": 537,
+ "column": 39
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18373,
+ 18378
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 18379,
+ 18383
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 16
+ },
+ "end": {
+ "line": 538,
+ "column": 20
+ }
+ }
+ },
+ "range": [
+ 18373,
+ 18383
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 20
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 18388,
+ 18397
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 25
+ },
+ "end": {
+ "line": 538,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 18373,
+ 18397
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 10
+ },
+ "end": {
+ "line": 538,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18413,
+ 18421
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 12
+ },
+ "end": {
+ "line": 539,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18422,
+ 18431
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 21
+ },
+ "end": {
+ "line": 539,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 18413,
+ 18432
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 12
+ },
+ "end": {
+ "line": 539,
+ "column": 31
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18446,
+ 18450
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 10
+ },
+ "end": {
+ "line": 540,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_removeInverseRelationship",
+ "range": [
+ 18451,
+ 18477
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 15
+ },
+ "end": {
+ "line": 540,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 18446,
+ 18477
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 10
+ },
+ "end": {
+ "line": 540,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18478,
+ 18486
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 42
+ },
+ "end": {
+ "line": 540,
+ "column": 50
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18488,
+ 18497
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 52
+ },
+ "end": {
+ "line": 540,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18499,
+ 18507
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 63
+ },
+ "end": {
+ "line": 540,
+ "column": 71
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18508,
+ 18517
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 72
+ },
+ "end": {
+ "line": 540,
+ "column": 81
+ }
+ }
+ },
+ "range": [
+ 18499,
+ 18518
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 63
+ },
+ "end": {
+ "line": 540,
+ "column": 82
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18520,
+ 18525
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 84
+ },
+ "end": {
+ "line": 540,
+ "column": 89
+ }
+ }
+ }
+ ],
+ "range": [
+ 18446,
+ 18526
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 10
+ },
+ "end": {
+ "line": 540,
+ "column": 90
+ }
+ }
+ },
+ "range": [
+ 18446,
+ 18527
+ ],
+ "loc": {
+ "start": {
+ "line": 540,
+ "column": 10
+ },
+ "end": {
+ "line": 540,
+ "column": 91
+ }
+ }
+ }
+ ],
+ "range": [
+ 18434,
+ 18537
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 33
+ },
+ "end": {
+ "line": 541,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18409,
+ 18537
+ ],
+ "loc": {
+ "start": {
+ "line": 539,
+ "column": 8
+ },
+ "end": {
+ "line": 541,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18550,
+ 18558
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 12
+ },
+ "end": {
+ "line": 542,
+ "column": 20
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18572,
+ 18576
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 10
+ },
+ "end": {
+ "line": 543,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_addInverseRelationship",
+ "range": [
+ 18577,
+ 18600
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 15
+ },
+ "end": {
+ "line": 543,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 18572,
+ 18600
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 10
+ },
+ "end": {
+ "line": 543,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18601,
+ 18609
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 39
+ },
+ "end": {
+ "line": 543,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18611,
+ 18620
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 49
+ },
+ "end": {
+ "line": 543,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18622,
+ 18630
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 60
+ },
+ "end": {
+ "line": 543,
+ "column": 68
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18632,
+ 18637
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 70
+ },
+ "end": {
+ "line": 543,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 18572,
+ 18638
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 10
+ },
+ "end": {
+ "line": 543,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 18572,
+ 18639
+ ],
+ "loc": {
+ "start": {
+ "line": 543,
+ "column": 10
+ },
+ "end": {
+ "line": 543,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 18560,
+ 18649
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 22
+ },
+ "end": {
+ "line": 544,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18546,
+ 18649
+ ],
+ "loc": {
+ "start": {
+ "line": 542,
+ "column": 8
+ },
+ "end": {
+ "line": 544,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 18399,
+ 18657
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 36
+ },
+ "end": {
+ "line": 545,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18667,
+ 18672
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 17
+ },
+ "end": {
+ "line": 545,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 18673,
+ 18677
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 23
+ },
+ "end": {
+ "line": 545,
+ "column": 27
+ }
+ }
+ },
+ "range": [
+ 18667,
+ 18677
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 17
+ },
+ "end": {
+ "line": 545,
+ "column": 27
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 18682,
+ 18692
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 32
+ },
+ "end": {
+ "line": 545,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 18667,
+ 18692
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 17
+ },
+ "end": {
+ "line": 545,
+ "column": 42
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18704,
+ 18712
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 8
+ },
+ "end": {
+ "line": 546,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18713,
+ 18722
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 17
+ },
+ "end": {
+ "line": 546,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 18704,
+ 18723
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 8
+ },
+ "end": {
+ "line": 546,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 18724,
+ 18731
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 28
+ },
+ "end": {
+ "line": 546,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 18704,
+ 18731
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 8
+ },
+ "end": {
+ "line": 546,
+ "column": 35
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18732,
+ 18733
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 36
+ },
+ "end": {
+ "line": 546,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18753,
+ 18761
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 14
+ },
+ "end": {
+ "line": 547,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18762,
+ 18771
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 23
+ },
+ "end": {
+ "line": 547,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 18753,
+ 18772
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 14
+ },
+ "end": {
+ "line": 547,
+ "column": 33
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "indexOf",
+ "range": [
+ 18773,
+ 18780
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 34
+ },
+ "end": {
+ "line": 547,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 18753,
+ 18780
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 14
+ },
+ "end": {
+ "line": 547,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18781,
+ 18782
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 42
+ },
+ "end": {
+ "line": 547,
+ "column": 43
+ }
+ }
+ }
+ ],
+ "range": [
+ 18753,
+ 18783
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 14
+ },
+ "end": {
+ "line": 547,
+ "column": 44
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "-",
+ "argument": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 18789,
+ 18790
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 50
+ },
+ "end": {
+ "line": 547,
+ "column": 51
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 18788,
+ 18790
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 49
+ },
+ "end": {
+ "line": 547,
+ "column": 51
+ }
+ }
+ },
+ "range": [
+ 18753,
+ 18790
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 14
+ },
+ "end": {
+ "line": 547,
+ "column": 51
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18806,
+ 18810
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 12
+ },
+ "end": {
+ "line": 548,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_removeInverseRelationship",
+ "range": [
+ 18811,
+ 18837
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 17
+ },
+ "end": {
+ "line": 548,
+ "column": 43
+ }
+ }
+ },
+ "range": [
+ 18806,
+ 18837
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 12
+ },
+ "end": {
+ "line": 548,
+ "column": 43
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18838,
+ 18846
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 44
+ },
+ "end": {
+ "line": 548,
+ "column": 52
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18848,
+ 18857
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 54
+ },
+ "end": {
+ "line": 548,
+ "column": 63
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18859,
+ 18860
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 65
+ },
+ "end": {
+ "line": 548,
+ "column": 66
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18862,
+ 18867
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 68
+ },
+ "end": {
+ "line": 548,
+ "column": 73
+ }
+ }
+ }
+ ],
+ "range": [
+ 18806,
+ 18868
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 12
+ },
+ "end": {
+ "line": 548,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 18806,
+ 18869
+ ],
+ "loc": {
+ "start": {
+ "line": 548,
+ "column": 12
+ },
+ "end": {
+ "line": 548,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "range": [
+ 18792,
+ 18881
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 53
+ },
+ "end": {
+ "line": 549,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18749,
+ 18881
+ ],
+ "loc": {
+ "start": {
+ "line": 547,
+ "column": 10
+ },
+ "end": {
+ "line": 549,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 18737,
+ 18891
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 41
+ },
+ "end": {
+ "line": 550,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 18732,
+ 18891
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 36
+ },
+ "end": {
+ "line": 550,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 18704,
+ 18892
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 8
+ },
+ "end": {
+ "line": 550,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 18704,
+ 18893
+ ],
+ "loc": {
+ "start": {
+ "line": 546,
+ "column": 8
+ },
+ "end": {
+ "line": 550,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 18902,
+ 18910
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 8
+ },
+ "end": {
+ "line": 551,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 18911,
+ 18918
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 17
+ },
+ "end": {
+ "line": 551,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 18902,
+ 18918
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 8
+ },
+ "end": {
+ "line": 551,
+ "column": 24
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18919,
+ 18920
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 25
+ },
+ "end": {
+ "line": 551,
+ "column": 26
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 18936,
+ 18940
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 10
+ },
+ "end": {
+ "line": 552,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_addInverseRelationship",
+ "range": [
+ 18941,
+ 18964
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 15
+ },
+ "end": {
+ "line": 552,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 18936,
+ 18964
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 10
+ },
+ "end": {
+ "line": 552,
+ "column": 38
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 18965,
+ 18973
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 39
+ },
+ "end": {
+ "line": 552,
+ "column": 47
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 18975,
+ 18984
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 49
+ },
+ "end": {
+ "line": 552,
+ "column": 58
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 18986,
+ 18987
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 60
+ },
+ "end": {
+ "line": 552,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "field",
+ "range": [
+ 18989,
+ 18994
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 63
+ },
+ "end": {
+ "line": 552,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 18936,
+ 18995
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 10
+ },
+ "end": {
+ "line": 552,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 18936,
+ 18996
+ ],
+ "loc": {
+ "start": {
+ "line": 552,
+ "column": 10
+ },
+ "end": {
+ "line": 552,
+ "column": 70
+ }
+ }
+ }
+ ],
+ "range": [
+ 18924,
+ 19006
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 30
+ },
+ "end": {
+ "line": 553,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 18919,
+ 19006
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 25
+ },
+ "end": {
+ "line": 553,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 18902,
+ 19007
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 8
+ },
+ "end": {
+ "line": 553,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 18902,
+ 19008
+ ],
+ "loc": {
+ "start": {
+ "line": 551,
+ "column": 8
+ },
+ "end": {
+ "line": 553,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 18694,
+ 19016
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 44
+ },
+ "end": {
+ "line": 554,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18663,
+ 19016
+ ],
+ "loc": {
+ "start": {
+ "line": 545,
+ "column": 13
+ },
+ "end": {
+ "line": 554,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 18369,
+ 19016
+ ],
+ "loc": {
+ "start": {
+ "line": 538,
+ "column": 6
+ },
+ "end": {
+ "line": 554,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 19023,
+ 19031
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 6
+ },
+ "end": {
+ "line": 555,
+ "column": 14
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 19032,
+ 19041
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 15
+ },
+ "end": {
+ "line": 555,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 19023,
+ 19042
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 6
+ },
+ "end": {
+ "line": 555,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "newValue",
+ "range": [
+ 19045,
+ 19053
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 28
+ },
+ "end": {
+ "line": 555,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 19023,
+ 19053
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 6
+ },
+ "end": {
+ "line": 555,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 19023,
+ 19054
+ ],
+ "loc": {
+ "start": {
+ "line": 555,
+ "column": 6
+ },
+ "end": {
+ "line": 555,
+ "column": 37
+ }
+ }
+ }
+ ],
+ "range": [
+ 18361,
+ 19060
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 41
+ },
+ "end": {
+ "line": 556,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 18324,
+ 19060
+ ],
+ "loc": {
+ "start": {
+ "line": 537,
+ "column": 4
+ },
+ "end": {
+ "line": 556,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 18211,
+ 19064
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 53
+ },
+ "end": {
+ "line": 557,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 18169,
+ 19064
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 11
+ },
+ "end": {
+ "line": 557,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 18160,
+ 19064
+ ],
+ "loc": {
+ "start": {
+ "line": 534,
+ "column": 2
+ },
+ "end": {
+ "line": 557,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_addInverseRelationship",
+ "range": [
+ 19068,
+ 19091
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 2
+ },
+ "end": {
+ "line": 559,
+ "column": 25
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19092,
+ 19106
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 26
+ },
+ "end": {
+ "line": 559,
+ "column": 40
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 19108,
+ 19123
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 42
+ },
+ "end": {
+ "line": 559,
+ "column": 57
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19125,
+ 19139
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 59
+ },
+ "end": {
+ "line": 559,
+ "column": 73
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 19141,
+ 19152
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 75
+ },
+ "end": {
+ "line": 559,
+ "column": 86
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 19164,
+ 19180
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 8
+ },
+ "end": {
+ "line": 560,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 19183,
+ 19187
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 27
+ },
+ "end": {
+ "line": 560,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 19188,
+ 19194
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 32
+ },
+ "end": {
+ "line": 560,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 19183,
+ 19194
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 27
+ },
+ "end": {
+ "line": 560,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19195,
+ 19209
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 39
+ },
+ "end": {
+ "line": 560,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19210,
+ 19214
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 54
+ },
+ "end": {
+ "line": 560,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19195,
+ 19214
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 39
+ },
+ "end": {
+ "line": 560,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19183,
+ 19215
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 27
+ },
+ "end": {
+ "line": 560,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 19164,
+ 19215
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 8
+ },
+ "end": {
+ "line": 560,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 19160,
+ 19216
+ ],
+ "loc": {
+ "start": {
+ "line": 560,
+ "column": 4
+ },
+ "end": {
+ "line": 560,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "sourceDefinition",
+ "range": [
+ 19225,
+ 19241
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 8
+ },
+ "end": {
+ "line": 561,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 19244,
+ 19248
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 27
+ },
+ "end": {
+ "line": 561,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 19249,
+ 19255
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 32
+ },
+ "end": {
+ "line": 561,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 19244,
+ 19255
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 27
+ },
+ "end": {
+ "line": 561,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19256,
+ 19270
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 39
+ },
+ "end": {
+ "line": 561,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19271,
+ 19275
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 54
+ },
+ "end": {
+ "line": 561,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19256,
+ 19275
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 39
+ },
+ "end": {
+ "line": 561,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19244,
+ 19276
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 27
+ },
+ "end": {
+ "line": 561,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 19225,
+ 19276
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 8
+ },
+ "end": {
+ "line": 561,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 19221,
+ 19277
+ ],
+ "loc": {
+ "start": {
+ "line": 561,
+ "column": 4
+ },
+ "end": {
+ "line": 561,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 19286,
+ 19302
+ ],
+ "loc": {
+ "start": {
+ "line": 562,
+ "column": 8
+ },
+ "end": {
+ "line": 562,
+ "column": 24
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19316,
+ 19331
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 10
+ },
+ "end": {
+ "line": 563,
+ "column": 25
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ArrayExpression",
+ "elements": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 19336,
+ 19347
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 30
+ },
+ "end": {
+ "line": 563,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 19348,
+ 19355
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 42
+ },
+ "end": {
+ "line": 563,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 19336,
+ 19355
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 30
+ },
+ "end": {
+ "line": 563,
+ "column": 49
+ }
+ }
+ }
+ ],
+ "range": [
+ 19334,
+ 19357
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 28
+ },
+ "end": {
+ "line": 563,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "concat",
+ "range": [
+ 19358,
+ 19364
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 52
+ },
+ "end": {
+ "line": 563,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19334,
+ 19364
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 28
+ },
+ "end": {
+ "line": 563,
+ "column": 58
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceDefinition",
+ "range": [
+ 19365,
+ 19381
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 59
+ },
+ "end": {
+ "line": 563,
+ "column": 75
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_names",
+ "range": [
+ 19382,
+ 19388
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 76
+ },
+ "end": {
+ "line": 563,
+ "column": 82
+ }
+ }
+ },
+ "range": [
+ 19365,
+ 19388
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 59
+ },
+ "end": {
+ "line": 563,
+ "column": 82
+ }
+ }
+ }
+ ],
+ "range": [
+ 19334,
+ 19389
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 28
+ },
+ "end": {
+ "line": 563,
+ "column": 83
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "find",
+ "range": [
+ 19390,
+ 19394
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 84
+ },
+ "end": {
+ "line": 563,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 19334,
+ 19394
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 28
+ },
+ "end": {
+ "line": 563,
+ "column": 88
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 19395,
+ 19396
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 89
+ },
+ "end": {
+ "line": 563,
+ "column": 90
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 19400,
+ 19416
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 94
+ },
+ "end": {
+ "line": 563,
+ "column": 110
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "x",
+ "range": [
+ 19417,
+ 19418
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 111
+ },
+ "end": {
+ "line": 563,
+ "column": 112
+ }
+ }
+ },
+ "range": [
+ 19400,
+ 19419
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 94
+ },
+ "end": {
+ "line": 563,
+ "column": 113
+ }
+ }
+ },
+ "generator": false,
+ "expression": true,
+ "range": [
+ 19395,
+ 19419
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 89
+ },
+ "end": {
+ "line": 563,
+ "column": 113
+ }
+ }
+ }
+ ],
+ "range": [
+ 19334,
+ 19420
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 28
+ },
+ "end": {
+ "line": 563,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 19316,
+ 19420
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 10
+ },
+ "end": {
+ "line": 563,
+ "column": 114
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 19312,
+ 19421
+ ],
+ "loc": {
+ "start": {
+ "line": 563,
+ "column": 6
+ },
+ "end": {
+ "line": 563,
+ "column": 115
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19432,
+ 19443
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 10
+ },
+ "end": {
+ "line": 564,
+ "column": 21
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 19446,
+ 19462
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 24
+ },
+ "end": {
+ "line": 564,
+ "column": 40
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 19466,
+ 19482
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 44
+ },
+ "end": {
+ "line": 564,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19483,
+ 19498
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 61
+ },
+ "end": {
+ "line": 564,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 19466,
+ 19499
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 44
+ },
+ "end": {
+ "line": 564,
+ "column": 77
+ }
+ }
+ },
+ "range": [
+ 19446,
+ 19499
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 24
+ },
+ "end": {
+ "line": 564,
+ "column": 77
+ }
+ }
+ },
+ "range": [
+ 19432,
+ 19499
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 10
+ },
+ "end": {
+ "line": 564,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 19428,
+ 19500
+ ],
+ "loc": {
+ "start": {
+ "line": 564,
+ "column": 6
+ },
+ "end": {
+ "line": 564,
+ "column": 78
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19507,
+ 19521
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 6
+ },
+ "end": {
+ "line": 565,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 19522,
+ 19533
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 21
+ },
+ "end": {
+ "line": 565,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 19507,
+ 19533
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 6
+ },
+ "end": {
+ "line": 565,
+ "column": 32
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 19534,
+ 19538
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 33
+ },
+ "end": {
+ "line": 565,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 19507,
+ 19538
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 6
+ },
+ "end": {
+ "line": 565,
+ "column": 37
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19541,
+ 19545
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 40
+ },
+ "end": {
+ "line": 565,
+ "column": 44
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19547,
+ 19561
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 46
+ },
+ "end": {
+ "line": 565,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19562,
+ 19566
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 61
+ },
+ "end": {
+ "line": 565,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 19547,
+ 19566
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 46
+ },
+ "end": {
+ "line": 565,
+ "column": 65
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19541,
+ 19566
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 40
+ },
+ "end": {
+ "line": 565,
+ "column": 65
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19568,
+ 19570
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 67
+ },
+ "end": {
+ "line": 565,
+ "column": 69
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19572,
+ 19586
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 71
+ },
+ "end": {
+ "line": 565,
+ "column": 85
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19587,
+ 19589
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 86
+ },
+ "end": {
+ "line": 565,
+ "column": 88
+ }
+ }
+ },
+ "range": [
+ 19572,
+ 19589
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 71
+ },
+ "end": {
+ "line": 565,
+ "column": 88
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19568,
+ 19589
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 67
+ },
+ "end": {
+ "line": 565,
+ "column": 88
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 19591,
+ 19600
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 90
+ },
+ "end": {
+ "line": 565,
+ "column": 99
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 19602,
+ 19617
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 101
+ },
+ "end": {
+ "line": 565,
+ "column": 116
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19591,
+ 19617
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 90
+ },
+ "end": {
+ "line": 565,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 19539,
+ 19619
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 38
+ },
+ "end": {
+ "line": 565,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 19507,
+ 19620
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 6
+ },
+ "end": {
+ "line": 565,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 19507,
+ 19621
+ ],
+ "loc": {
+ "start": {
+ "line": 565,
+ "column": 6
+ },
+ "end": {
+ "line": 565,
+ "column": 120
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19632,
+ 19643
+ ],
+ "loc": {
+ "start": {
+ "line": 566,
+ "column": 10
+ },
+ "end": {
+ "line": 566,
+ "column": 21
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19659,
+ 19670
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 12
+ },
+ "end": {
+ "line": 567,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19671,
+ 19675
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 24
+ },
+ "end": {
+ "line": 567,
+ "column": 28
+ }
+ }
+ },
+ "range": [
+ 19659,
+ 19675
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 12
+ },
+ "end": {
+ "line": 567,
+ "column": 28
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 19680,
+ 19689
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 33
+ },
+ "end": {
+ "line": 567,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 19659,
+ 19689
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 12
+ },
+ "end": {
+ "line": 567,
+ "column": 42
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19703,
+ 19717
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 10
+ },
+ "end": {
+ "line": 568,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 19718,
+ 19729
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 25
+ },
+ "end": {
+ "line": 568,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 19703,
+ 19729
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 10
+ },
+ "end": {
+ "line": 568,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 19730,
+ 19734
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 37
+ },
+ "end": {
+ "line": 568,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 19703,
+ 19734
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 10
+ },
+ "end": {
+ "line": 568,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19737,
+ 19741
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 44
+ },
+ "end": {
+ "line": 568,
+ "column": 48
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19743,
+ 19757
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 50
+ },
+ "end": {
+ "line": 568,
+ "column": 64
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19758,
+ 19762
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 65
+ },
+ "end": {
+ "line": 568,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 19743,
+ 19762
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 50
+ },
+ "end": {
+ "line": 568,
+ "column": 69
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19737,
+ 19762
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 44
+ },
+ "end": {
+ "line": 568,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19764,
+ 19766
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 71
+ },
+ "end": {
+ "line": 568,
+ "column": 73
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19768,
+ 19782
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 75
+ },
+ "end": {
+ "line": 568,
+ "column": 89
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 19783,
+ 19785
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 90
+ },
+ "end": {
+ "line": 568,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 19768,
+ 19785
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 75
+ },
+ "end": {
+ "line": 568,
+ "column": 92
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19764,
+ 19785
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 71
+ },
+ "end": {
+ "line": 568,
+ "column": 92
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 19787,
+ 19796
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 94
+ },
+ "end": {
+ "line": 568,
+ "column": 103
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19798,
+ 19813
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 105
+ },
+ "end": {
+ "line": 568,
+ "column": 120
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19787,
+ 19813
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 94
+ },
+ "end": {
+ "line": 568,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 19735,
+ 19815
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 42
+ },
+ "end": {
+ "line": 568,
+ "column": 122
+ }
+ }
+ }
+ ],
+ "range": [
+ 19703,
+ 19816
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 10
+ },
+ "end": {
+ "line": 568,
+ "column": 123
+ }
+ }
+ },
+ "range": [
+ 19703,
+ 19817
+ ],
+ "loc": {
+ "start": {
+ "line": 568,
+ "column": 10
+ },
+ "end": {
+ "line": 568,
+ "column": 124
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19828,
+ 19842
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 10
+ },
+ "end": {
+ "line": 569,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 19843,
+ 19858
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 25
+ },
+ "end": {
+ "line": 569,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 19828,
+ 19859
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 10
+ },
+ "end": {
+ "line": 569,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19862,
+ 19876
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 44
+ },
+ "end": {
+ "line": 569,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19828,
+ 19876
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 10
+ },
+ "end": {
+ "line": 569,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 19828,
+ 19877
+ ],
+ "loc": {
+ "start": {
+ "line": 569,
+ "column": 10
+ },
+ "end": {
+ "line": 569,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "range": [
+ 19691,
+ 19887
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 44
+ },
+ "end": {
+ "line": 570,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 19897,
+ 19908
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 19
+ },
+ "end": {
+ "line": 570,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19909,
+ 19913
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 31
+ },
+ "end": {
+ "line": 570,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 19897,
+ 19913
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 19
+ },
+ "end": {
+ "line": 570,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 19918,
+ 19928
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 40
+ },
+ "end": {
+ "line": 570,
+ "column": 50
+ }
+ }
+ },
+ "range": [
+ 19897,
+ 19928
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 19
+ },
+ "end": {
+ "line": 570,
+ "column": 50
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 19942,
+ 19956
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 10
+ },
+ "end": {
+ "line": 571,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 19957,
+ 19968
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 25
+ },
+ "end": {
+ "line": 571,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 19942,
+ 19968
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 10
+ },
+ "end": {
+ "line": 571,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 19969,
+ 19973
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 37
+ },
+ "end": {
+ "line": 571,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 19942,
+ 19973
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 10
+ },
+ "end": {
+ "line": 571,
+ "column": 41
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ObjectExpression",
+ "properties": [
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19976,
+ 19980
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 44
+ },
+ "end": {
+ "line": 571,
+ "column": 48
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 19982,
+ 19996
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 50
+ },
+ "end": {
+ "line": 571,
+ "column": 64
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 19997,
+ 20001
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 65
+ },
+ "end": {
+ "line": 571,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 19982,
+ 20001
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 50
+ },
+ "end": {
+ "line": 571,
+ "column": 69
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 19976,
+ 20001
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 44
+ },
+ "end": {
+ "line": 571,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 20003,
+ 20005
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 71
+ },
+ "end": {
+ "line": 571,
+ "column": 73
+ }
+ }
+ },
+ "value": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 20007,
+ 20021
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 75
+ },
+ "end": {
+ "line": 571,
+ "column": 89
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 20022,
+ 20024
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 90
+ },
+ "end": {
+ "line": 571,
+ "column": 92
+ }
+ }
+ },
+ "range": [
+ 20007,
+ 20024
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 75
+ },
+ "end": {
+ "line": 571,
+ "column": 92
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 20003,
+ 20024
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 71
+ },
+ "end": {
+ "line": 571,
+ "column": 92
+ }
+ }
+ },
+ {
+ "type": "Property",
+ "key": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20026,
+ 20035
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 94
+ },
+ "end": {
+ "line": 571,
+ "column": 103
+ }
+ }
+ },
+ "value": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 20037,
+ 20052
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 105
+ },
+ "end": {
+ "line": 571,
+ "column": 120
+ }
+ }
+ },
+ "kind": "init",
+ "method": false,
+ "shorthand": false,
+ "computed": false,
+ "range": [
+ 20026,
+ 20052
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 94
+ },
+ "end": {
+ "line": 571,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 19974,
+ 20054
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 42
+ },
+ "end": {
+ "line": 571,
+ "column": 122
+ }
+ }
+ }
+ ],
+ "range": [
+ 19942,
+ 20055
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 10
+ },
+ "end": {
+ "line": 571,
+ "column": 123
+ }
+ }
+ },
+ "range": [
+ 19942,
+ 20056
+ ],
+ "loc": {
+ "start": {
+ "line": 571,
+ "column": 10
+ },
+ "end": {
+ "line": 571,
+ "column": 124
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 20071,
+ 20085
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 14
+ },
+ "end": {
+ "line": 572,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 20086,
+ 20101
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 29
+ },
+ "end": {
+ "line": 572,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 20071,
+ 20102
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 14
+ },
+ "end": {
+ "line": 572,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "indexOf",
+ "range": [
+ 20103,
+ 20110
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 46
+ },
+ "end": {
+ "line": 572,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 20071,
+ 20110
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 14
+ },
+ "end": {
+ "line": 572,
+ "column": 53
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 20111,
+ 20125
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 54
+ },
+ "end": {
+ "line": 572,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 20071,
+ 20126
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 14
+ },
+ "end": {
+ "line": 572,
+ "column": 69
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "-",
+ "argument": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 20132,
+ 20133
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 75
+ },
+ "end": {
+ "line": 572,
+ "column": 76
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 20131,
+ 20133
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 74
+ },
+ "end": {
+ "line": 572,
+ "column": 76
+ }
+ }
+ },
+ "range": [
+ 20071,
+ 20133
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 14
+ },
+ "end": {
+ "line": 572,
+ "column": 76
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 20149,
+ 20163
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 12
+ },
+ "end": {
+ "line": 573,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 20164,
+ 20179
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 27
+ },
+ "end": {
+ "line": 573,
+ "column": 42
+ }
+ }
+ },
+ "range": [
+ 20149,
+ 20180
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 12
+ },
+ "end": {
+ "line": 573,
+ "column": 43
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "push",
+ "range": [
+ 20181,
+ 20185
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 44
+ },
+ "end": {
+ "line": 573,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 20149,
+ 20185
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 12
+ },
+ "end": {
+ "line": 573,
+ "column": 48
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 20186,
+ 20200
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 49
+ },
+ "end": {
+ "line": 573,
+ "column": 63
+ }
+ }
+ }
+ ],
+ "range": [
+ 20149,
+ 20201
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 12
+ },
+ "end": {
+ "line": 573,
+ "column": 64
+ }
+ }
+ },
+ "range": [
+ 20149,
+ 20202
+ ],
+ "loc": {
+ "start": {
+ "line": 573,
+ "column": 12
+ },
+ "end": {
+ "line": 573,
+ "column": 65
+ }
+ }
+ }
+ ],
+ "range": [
+ 20135,
+ 20214
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 78
+ },
+ "end": {
+ "line": 574,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 20067,
+ 20214
+ ],
+ "loc": {
+ "start": {
+ "line": 572,
+ "column": 10
+ },
+ "end": {
+ "line": 574,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 19930,
+ 20224
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 52
+ },
+ "end": {
+ "line": 575,
+ "column": 9
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 20234,
+ 20245
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 19
+ },
+ "end": {
+ "line": 575,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20246,
+ 20250
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 31
+ },
+ "end": {
+ "line": 575,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 20234,
+ 20250
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 19
+ },
+ "end": {
+ "line": 575,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "attr",
+ "raw": "\"attr\"",
+ "range": [
+ 20255,
+ 20261
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 40
+ },
+ "end": {
+ "line": 575,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 20234,
+ 20261
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 19
+ },
+ "end": {
+ "line": 575,
+ "column": 46
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 20285,
+ 20290
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 20
+ },
+ "end": {
+ "line": 576,
+ "column": 25
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 20291,
+ 20328
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 26
+ },
+ "end": {
+ "line": 576,
+ "column": 63
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is an attribute ('",
+ "cooked": "' is an attribute ('"
+ },
+ "tail": false,
+ "range": [
+ 20343,
+ 20366
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 78
+ },
+ "end": {
+ "line": 576,
+ "column": 101
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 20381,
+ 20385
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 116
+ },
+ "end": {
+ "line": 576,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 20328,
+ 20343
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 63
+ },
+ "end": {
+ "line": 576,
+ "column": 78
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 20366,
+ 20381
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 101
+ },
+ "end": {
+ "line": 576,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 20291,
+ 20385
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 26
+ },
+ "end": {
+ "line": 576,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 20281,
+ 20386
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 16
+ },
+ "end": {
+ "line": 576,
+ "column": 121
+ }
+ }
+ },
+ "range": [
+ 20275,
+ 20387
+ ],
+ "loc": {
+ "start": {
+ "line": 576,
+ "column": 10
+ },
+ "end": {
+ "line": 576,
+ "column": 122
+ }
+ }
+ }
+ ],
+ "range": [
+ 20263,
+ 20397
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 48
+ },
+ "end": {
+ "line": 577,
+ "column": 9
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 20230,
+ 20397
+ ],
+ "loc": {
+ "start": {
+ "line": 575,
+ "column": 15
+ },
+ "end": {
+ "line": 577,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 19893,
+ 20397
+ ],
+ "loc": {
+ "start": {
+ "line": 570,
+ "column": 15
+ },
+ "end": {
+ "line": 577,
+ "column": 9
+ }
+ }
+ },
+ "range": [
+ 19655,
+ 20397
+ ],
+ "loc": {
+ "start": {
+ "line": 567,
+ "column": 8
+ },
+ "end": {
+ "line": 577,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 19645,
+ 20405
+ ],
+ "loc": {
+ "start": {
+ "line": 566,
+ "column": 23
+ },
+ "end": {
+ "line": 578,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 20415,
+ 20426
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 17
+ },
+ "end": {
+ "line": 578,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 20427,
+ 20434
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 29
+ },
+ "end": {
+ "line": 578,
+ "column": 36
+ }
+ }
+ },
+ "range": [
+ 20415,
+ 20434
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 17
+ },
+ "end": {
+ "line": 578,
+ "column": 36
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 20456,
+ 20461
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 18
+ },
+ "end": {
+ "line": 579,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 20462,
+ 20499
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 24
+ },
+ "end": {
+ "line": 579,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is missing ('",
+ "cooked": "' is missing ('"
+ },
+ "tail": false,
+ "range": [
+ 20514,
+ 20532
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 76
+ },
+ "end": {
+ "line": 579,
+ "column": 94
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 20551,
+ 20555
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 113
+ },
+ "end": {
+ "line": 579,
+ "column": 117
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 20499,
+ 20514
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 61
+ },
+ "end": {
+ "line": 579,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 20532,
+ 20543
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 94
+ },
+ "end": {
+ "line": 579,
+ "column": 105
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 20544,
+ 20551
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 106
+ },
+ "end": {
+ "line": 579,
+ "column": 113
+ }
+ }
+ },
+ "range": [
+ 20532,
+ 20551
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 94
+ },
+ "end": {
+ "line": 579,
+ "column": 113
+ }
+ }
+ }
+ ],
+ "range": [
+ 20462,
+ 20555
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 24
+ },
+ "end": {
+ "line": 579,
+ "column": 117
+ }
+ }
+ }
+ ],
+ "range": [
+ 20452,
+ 20556
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 14
+ },
+ "end": {
+ "line": 579,
+ "column": 118
+ }
+ }
+ },
+ "range": [
+ 20446,
+ 20557
+ ],
+ "loc": {
+ "start": {
+ "line": 579,
+ "column": 8
+ },
+ "end": {
+ "line": 579,
+ "column": 119
+ }
+ }
+ }
+ ],
+ "range": [
+ 20436,
+ 20565
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 38
+ },
+ "end": {
+ "line": 580,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 20411,
+ 20565
+ ],
+ "loc": {
+ "start": {
+ "line": 578,
+ "column": 13
+ },
+ "end": {
+ "line": 580,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 19628,
+ 20565
+ ],
+ "loc": {
+ "start": {
+ "line": 566,
+ "column": 6
+ },
+ "end": {
+ "line": 580,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 19304,
+ 20571
+ ],
+ "loc": {
+ "start": {
+ "line": 562,
+ "column": 26
+ },
+ "end": {
+ "line": 581,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 19282,
+ 20571
+ ],
+ "loc": {
+ "start": {
+ "line": 562,
+ "column": 4
+ },
+ "end": {
+ "line": 581,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 19154,
+ 20575
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 88
+ },
+ "end": {
+ "line": 582,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 19091,
+ 20575
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 25
+ },
+ "end": {
+ "line": 582,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 19068,
+ 20575
+ ],
+ "loc": {
+ "start": {
+ "line": 559,
+ "column": 2
+ },
+ "end": {
+ "line": 582,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_remove",
+ "range": [
+ 20579,
+ 20586
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 2
+ },
+ "end": {
+ "line": 584,
+ "column": 9
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20587,
+ 20595
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 10
+ },
+ "end": {
+ "line": 584,
+ "column": 18
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20603,
+ 20611
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 585,
+ "column": 12
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 20612,
+ 20623
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 13
+ },
+ "end": {
+ "line": 585,
+ "column": 24
+ }
+ }
+ },
+ "range": [
+ 20603,
+ 20623
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 585,
+ "column": 24
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "forEach",
+ "range": [
+ 20624,
+ 20631
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 25
+ },
+ "end": {
+ "line": 585,
+ "column": 32
+ }
+ }
+ },
+ "range": [
+ 20603,
+ 20631
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 585,
+ "column": 32
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20632,
+ 20641
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 33
+ },
+ "end": {
+ "line": 585,
+ "column": 42
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20657,
+ 20674
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 10
+ },
+ "end": {
+ "line": 586,
+ "column": 27
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 20677,
+ 20681
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 30
+ },
+ "end": {
+ "line": 586,
+ "column": 34
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 20682,
+ 20687
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 35
+ },
+ "end": {
+ "line": 586,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 20677,
+ 20687
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 30
+ },
+ "end": {
+ "line": 586,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20688,
+ 20697
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 41
+ },
+ "end": {
+ "line": 586,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20698,
+ 20702
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 51
+ },
+ "end": {
+ "line": 586,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20688,
+ 20702
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 41
+ },
+ "end": {
+ "line": 586,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20677,
+ 20703
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 30
+ },
+ "end": {
+ "line": 586,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20704,
+ 20713
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 57
+ },
+ "end": {
+ "line": 586,
+ "column": 66
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 20714,
+ 20716
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 67
+ },
+ "end": {
+ "line": 586,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 20704,
+ 20716
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 57
+ },
+ "end": {
+ "line": 586,
+ "column": 69
+ }
+ }
+ },
+ "range": [
+ 20677,
+ 20717
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 30
+ },
+ "end": {
+ "line": 586,
+ "column": 70
+ }
+ }
+ },
+ "range": [
+ 20657,
+ 20717
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 10
+ },
+ "end": {
+ "line": 586,
+ "column": 70
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 20653,
+ 20718
+ ],
+ "loc": {
+ "start": {
+ "line": 586,
+ "column": 6
+ },
+ "end": {
+ "line": 586,
+ "column": 71
+ }
+ }
+ },
+ {
+ "type": "SwitchStatement",
+ "discriminant": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 20733,
+ 20737
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 14
+ },
+ "end": {
+ "line": 587,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 20738,
+ 20744
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 19
+ },
+ "end": {
+ "line": 587,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 20733,
+ 20744
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 14
+ },
+ "end": {
+ "line": 587,
+ "column": 25
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20745,
+ 20754
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 26
+ },
+ "end": {
+ "line": 587,
+ "column": 35
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20755,
+ 20759
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 36
+ },
+ "end": {
+ "line": 587,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 20745,
+ 20759
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 26
+ },
+ "end": {
+ "line": 587,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 20733,
+ 20760
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 14
+ },
+ "end": {
+ "line": 587,
+ "column": 41
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20761,
+ 20770
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 42
+ },
+ "end": {
+ "line": 587,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20771,
+ 20780
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 52
+ },
+ "end": {
+ "line": 587,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 20761,
+ 20780
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 42
+ },
+ "end": {
+ "line": 587,
+ "column": 61
+ }
+ }
+ },
+ "range": [
+ 20733,
+ 20781
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 14
+ },
+ "end": {
+ "line": 587,
+ "column": 62
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 20782,
+ 20786
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 63
+ },
+ "end": {
+ "line": 587,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 20733,
+ 20786
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 14
+ },
+ "end": {
+ "line": 587,
+ "column": 67
+ }
+ }
+ },
+ "cases": [
+ {
+ "type": "SwitchCase",
+ "test": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 20803,
+ 20812
+ ],
+ "loc": {
+ "start": {
+ "line": 588,
+ "column": 13
+ },
+ "end": {
+ "line": 588,
+ "column": 22
+ }
+ }
+ },
+ "consequent": [
+ {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20826,
+ 20843
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 10
+ },
+ "end": {
+ "line": 589,
+ "column": 27
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20844,
+ 20853
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 28
+ },
+ "end": {
+ "line": 589,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20854,
+ 20863
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 38
+ },
+ "end": {
+ "line": 589,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 20844,
+ 20863
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 28
+ },
+ "end": {
+ "line": 589,
+ "column": 47
+ }
+ }
+ },
+ "range": [
+ 20826,
+ 20864
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 10
+ },
+ "end": {
+ "line": 589,
+ "column": 48
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 20867,
+ 20871
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 51
+ },
+ "end": {
+ "line": 589,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20826,
+ 20871
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 10
+ },
+ "end": {
+ "line": 589,
+ "column": 55
+ }
+ }
+ },
+ "range": [
+ 20826,
+ 20872
+ ],
+ "loc": {
+ "start": {
+ "line": 589,
+ "column": 10
+ },
+ "end": {
+ "line": 589,
+ "column": 56
+ }
+ }
+ },
+ {
+ "type": "BreakStatement",
+ "label": null,
+ "range": [
+ 20883,
+ 20889
+ ],
+ "loc": {
+ "start": {
+ "line": 590,
+ "column": 10
+ },
+ "end": {
+ "line": 590,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 20814,
+ 20899
+ ],
+ "loc": {
+ "start": {
+ "line": 588,
+ "column": 24
+ },
+ "end": {
+ "line": 591,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 20798,
+ 20899
+ ],
+ "loc": {
+ "start": {
+ "line": 588,
+ "column": 8
+ },
+ "end": {
+ "line": 591,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "SwitchCase",
+ "test": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 20913,
+ 20923
+ ],
+ "loc": {
+ "start": {
+ "line": 592,
+ "column": 13
+ },
+ "end": {
+ "line": 592,
+ "column": 23
+ }
+ }
+ },
+ "consequent": [
+ {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "index",
+ "range": [
+ 20941,
+ 20946
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 14
+ },
+ "end": {
+ "line": 593,
+ "column": 19
+ }
+ }
+ },
+ "init": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 20949,
+ 20966
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 22
+ },
+ "end": {
+ "line": 593,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 20967,
+ 20976
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 40
+ },
+ "end": {
+ "line": 593,
+ "column": 49
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 20977,
+ 20986
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 50
+ },
+ "end": {
+ "line": 593,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 20967,
+ 20986
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 40
+ },
+ "end": {
+ "line": 593,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 20949,
+ 20987
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 22
+ },
+ "end": {
+ "line": 593,
+ "column": 60
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "indexOf",
+ "range": [
+ 20988,
+ 20995
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 61
+ },
+ "end": {
+ "line": 593,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 20949,
+ 20995
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 22
+ },
+ "end": {
+ "line": 593,
+ "column": 68
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 20996,
+ 21004
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 69
+ },
+ "end": {
+ "line": 593,
+ "column": 77
+ }
+ }
+ }
+ ],
+ "range": [
+ 20949,
+ 21005
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 22
+ },
+ "end": {
+ "line": 593,
+ "column": 78
+ }
+ }
+ },
+ "range": [
+ 20941,
+ 21005
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 14
+ },
+ "end": {
+ "line": 593,
+ "column": 78
+ }
+ }
+ }
+ ],
+ "kind": "let",
+ "range": [
+ 20937,
+ 21006
+ ],
+ "loc": {
+ "start": {
+ "line": 593,
+ "column": 10
+ },
+ "end": {
+ "line": 593,
+ "column": 79
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "Identifier",
+ "name": "index",
+ "range": [
+ 21021,
+ 21026
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 14
+ },
+ "end": {
+ "line": 594,
+ "column": 19
+ }
+ }
+ },
+ "right": {
+ "type": "UnaryExpression",
+ "operator": "-",
+ "argument": {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 21032,
+ 21033
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 25
+ },
+ "end": {
+ "line": 594,
+ "column": 26
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 21031,
+ 21033
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 24
+ },
+ "end": {
+ "line": 594,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 21021,
+ 21033
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 14
+ },
+ "end": {
+ "line": 594,
+ "column": 26
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 21049,
+ 21066
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 12
+ },
+ "end": {
+ "line": 595,
+ "column": 29
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependent",
+ "range": [
+ 21067,
+ 21076
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 30
+ },
+ "end": {
+ "line": 595,
+ "column": 39
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 21077,
+ 21086
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 40
+ },
+ "end": {
+ "line": 595,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21067,
+ 21086
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 30
+ },
+ "end": {
+ "line": 595,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21049,
+ 21087
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 12
+ },
+ "end": {
+ "line": 595,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "splice",
+ "range": [
+ 21088,
+ 21094
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 51
+ },
+ "end": {
+ "line": 595,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 21049,
+ 21094
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 12
+ },
+ "end": {
+ "line": 595,
+ "column": 57
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "Identifier",
+ "name": "index",
+ "range": [
+ 21095,
+ 21100
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 58
+ },
+ "end": {
+ "line": 595,
+ "column": 63
+ }
+ }
+ },
+ {
+ "type": "Literal",
+ "value": 1,
+ "raw": "1",
+ "range": [
+ 21102,
+ 21103
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 65
+ },
+ "end": {
+ "line": 595,
+ "column": 66
+ }
+ }
+ }
+ ],
+ "range": [
+ 21049,
+ 21104
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 12
+ },
+ "end": {
+ "line": 595,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 21049,
+ 21105
+ ],
+ "loc": {
+ "start": {
+ "line": 595,
+ "column": 12
+ },
+ "end": {
+ "line": 595,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "range": [
+ 21035,
+ 21117
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 28
+ },
+ "end": {
+ "line": 596,
+ "column": 11
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 21017,
+ 21117
+ ],
+ "loc": {
+ "start": {
+ "line": 594,
+ "column": 10
+ },
+ "end": {
+ "line": 596,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "BreakStatement",
+ "label": null,
+ "range": [
+ 21128,
+ 21134
+ ],
+ "loc": {
+ "start": {
+ "line": 597,
+ "column": 10
+ },
+ "end": {
+ "line": 597,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 20925,
+ 21144
+ ],
+ "loc": {
+ "start": {
+ "line": 592,
+ "column": 25
+ },
+ "end": {
+ "line": 598,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 20908,
+ 21144
+ ],
+ "loc": {
+ "start": {
+ "line": 592,
+ "column": 8
+ },
+ "end": {
+ "line": 598,
+ "column": 9
+ }
+ }
+ },
+ {
+ "type": "SwitchCase",
+ "test": null,
+ "consequent": [
+ {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "BreakStatement",
+ "label": null,
+ "range": [
+ 21174,
+ 21180
+ ],
+ "loc": {
+ "start": {
+ "line": 600,
+ "column": 10
+ },
+ "end": {
+ "line": 600,
+ "column": 16
+ }
+ }
+ }
+ ],
+ "range": [
+ 21162,
+ 21190
+ ],
+ "loc": {
+ "start": {
+ "line": 599,
+ "column": 17
+ },
+ "end": {
+ "line": 601,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 21153,
+ 21190
+ ],
+ "loc": {
+ "start": {
+ "line": 599,
+ "column": 8
+ },
+ "end": {
+ "line": 601,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 20725,
+ 21198
+ ],
+ "loc": {
+ "start": {
+ "line": 587,
+ "column": 6
+ },
+ "end": {
+ "line": 602,
+ "column": 7
+ }
+ },
+ "trailingComments": [
+ {
+ "type": "Line",
+ "value": " TODO: This only needs to be run once for each dependent.",
+ "range": [
+ 21205,
+ 21264
+ ],
+ "loc": {
+ "start": {
+ "line": 603,
+ "column": 6
+ },
+ "end": {
+ "line": 603,
+ "column": 65
+ }
+ }
+ }
+ ]
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 21271,
+ 21288
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 6
+ },
+ "end": {
+ "line": 604,
+ "column": 23
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21289,
+ 21300
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 24
+ },
+ "end": {
+ "line": 604,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 21271,
+ 21300
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 6
+ },
+ "end": {
+ "line": 604,
+ "column": 35
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "dependentResource",
+ "range": [
+ 21303,
+ 21320
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 38
+ },
+ "end": {
+ "line": 604,
+ "column": 55
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21321,
+ 21332
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 56
+ },
+ "end": {
+ "line": 604,
+ "column": 67
+ }
+ }
+ },
+ "range": [
+ 21303,
+ 21332
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 38
+ },
+ "end": {
+ "line": 604,
+ "column": 67
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 21333,
+ 21339
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 68
+ },
+ "end": {
+ "line": 604,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 21303,
+ 21339
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 38
+ },
+ "end": {
+ "line": 604,
+ "column": 74
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "d",
+ "range": [
+ 21340,
+ 21341
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 75
+ },
+ "end": {
+ "line": 604,
+ "column": 76
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "d",
+ "range": [
+ 21364,
+ 21365
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 17
+ },
+ "end": {
+ "line": 605,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21366,
+ 21370
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 19
+ },
+ "end": {
+ "line": 605,
+ "column": 23
+ }
+ }
+ },
+ "range": [
+ 21364,
+ 21370
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 17
+ },
+ "end": {
+ "line": 605,
+ "column": 23
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 21375,
+ 21383
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 28
+ },
+ "end": {
+ "line": 605,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21384,
+ 21388
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 37
+ },
+ "end": {
+ "line": 605,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 21375,
+ 21388
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 28
+ },
+ "end": {
+ "line": 605,
+ "column": 41
+ }
+ }
+ },
+ "range": [
+ 21364,
+ 21388
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 17
+ },
+ "end": {
+ "line": 605,
+ "column": 41
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "d",
+ "range": [
+ 21392,
+ 21393
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 45
+ },
+ "end": {
+ "line": 605,
+ "column": 46
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21394,
+ 21396
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 47
+ },
+ "end": {
+ "line": 605,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21392,
+ 21396
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 45
+ },
+ "end": {
+ "line": 605,
+ "column": 49
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 21401,
+ 21409
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 54
+ },
+ "end": {
+ "line": 605,
+ "column": 62
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21410,
+ 21412
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 63
+ },
+ "end": {
+ "line": 605,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 21401,
+ 21412
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 54
+ },
+ "end": {
+ "line": 605,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 21392,
+ 21412
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 45
+ },
+ "end": {
+ "line": 605,
+ "column": 65
+ }
+ }
+ },
+ "range": [
+ 21364,
+ 21412
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 17
+ },
+ "end": {
+ "line": 605,
+ "column": 65
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 21362,
+ 21413
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 15
+ },
+ "end": {
+ "line": 605,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 21355,
+ 21414
+ ],
+ "loc": {
+ "start": {
+ "line": 605,
+ "column": 8
+ },
+ "end": {
+ "line": 605,
+ "column": 67
+ }
+ }
+ }
+ ],
+ "range": [
+ 21345,
+ 21422
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 80
+ },
+ "end": {
+ "line": 606,
+ "column": 7
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 21340,
+ 21422
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 75
+ },
+ "end": {
+ "line": 606,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 21303,
+ 21423
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 38
+ },
+ "end": {
+ "line": 606,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 21271,
+ 21423
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 6
+ },
+ "end": {
+ "line": 606,
+ "column": 8
+ }
+ }
+ },
+ "range": [
+ 21271,
+ 21424
+ ],
+ "loc": {
+ "start": {
+ "line": 604,
+ "column": 6
+ },
+ "end": {
+ "line": 606,
+ "column": 9
+ }
+ },
+ "leadingComments": [
+ {
+ "type": "Line",
+ "value": " TODO: This only needs to be run once for each dependent.",
+ "range": [
+ 21205,
+ 21264
+ ],
+ "loc": {
+ "start": {
+ "line": 603,
+ "column": 6
+ },
+ "end": {
+ "line": 603,
+ "column": 65
+ }
+ }
+ }
+ ]
+ }
+ ],
+ "range": [
+ 20645,
+ 21430
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 46
+ },
+ "end": {
+ "line": 607,
+ "column": 5
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 20632,
+ 21430
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 33
+ },
+ "end": {
+ "line": 607,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 20603,
+ 21431
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 607,
+ "column": 6
+ }
+ }
+ },
+ "range": [
+ 20603,
+ 21432
+ ],
+ "loc": {
+ "start": {
+ "line": 585,
+ "column": 4
+ },
+ "end": {
+ "line": 607,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "UnaryExpression",
+ "operator": "delete",
+ "argument": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 21444,
+ 21448
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 11
+ },
+ "end": {
+ "line": 608,
+ "column": 15
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_data",
+ "range": [
+ 21449,
+ 21454
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 16
+ },
+ "end": {
+ "line": 608,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 21444,
+ 21454
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 11
+ },
+ "end": {
+ "line": 608,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 21455,
+ 21463
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 22
+ },
+ "end": {
+ "line": 608,
+ "column": 30
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21464,
+ 21468
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 31
+ },
+ "end": {
+ "line": 608,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 21455,
+ 21468
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 22
+ },
+ "end": {
+ "line": 608,
+ "column": 35
+ }
+ }
+ },
+ "range": [
+ 21444,
+ 21469
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 11
+ },
+ "end": {
+ "line": 608,
+ "column": 36
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "resource",
+ "range": [
+ 21470,
+ 21478
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 37
+ },
+ "end": {
+ "line": 608,
+ "column": 45
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21479,
+ 21481
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 46
+ },
+ "end": {
+ "line": 608,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 21470,
+ 21481
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 37
+ },
+ "end": {
+ "line": 608,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 21444,
+ 21482
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 11
+ },
+ "end": {
+ "line": 608,
+ "column": 49
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 21437,
+ 21482
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 4
+ },
+ "end": {
+ "line": 608,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 21437,
+ 21483
+ ],
+ "loc": {
+ "start": {
+ "line": 608,
+ "column": 4
+ },
+ "end": {
+ "line": 608,
+ "column": 50
+ }
+ }
+ }
+ ],
+ "range": [
+ 20597,
+ 21487
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 20
+ },
+ "end": {
+ "line": 609,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 20586,
+ 21487
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 9
+ },
+ "end": {
+ "line": 609,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 20579,
+ 21487
+ ],
+ "loc": {
+ "start": {
+ "line": 584,
+ "column": 2
+ },
+ "end": {
+ "line": 609,
+ "column": 3
+ }
+ },
+ "static": false
+ },
+ {
+ "type": "MethodDefinition",
+ "key": {
+ "type": "Identifier",
+ "name": "_removeInverseRelationship",
+ "range": [
+ 21491,
+ 21517
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 2
+ },
+ "end": {
+ "line": 611,
+ "column": 28
+ }
+ }
+ },
+ "value": {
+ "type": "FunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21518,
+ 21532
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 29
+ },
+ "end": {
+ "line": 611,
+ "column": 43
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 21534,
+ 21549
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 45
+ },
+ "end": {
+ "line": 611,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21551,
+ 21565
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 62
+ },
+ "end": {
+ "line": 611,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 21567,
+ 21578
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 78
+ },
+ "end": {
+ "line": 611,
+ "column": 89
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 21590,
+ 21606
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 8
+ },
+ "end": {
+ "line": 612,
+ "column": 24
+ }
+ }
+ },
+ "init": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "ThisExpression",
+ "range": [
+ 21609,
+ 21613
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 27
+ },
+ "end": {
+ "line": 612,
+ "column": 31
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_types",
+ "range": [
+ 21614,
+ 21620
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 32
+ },
+ "end": {
+ "line": 612,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 21609,
+ 21620
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 27
+ },
+ "end": {
+ "line": 612,
+ "column": 38
+ }
+ }
+ },
+ "property": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21621,
+ 21635
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 39
+ },
+ "end": {
+ "line": 612,
+ "column": 53
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21636,
+ 21640
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 54
+ },
+ "end": {
+ "line": 612,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 21621,
+ 21640
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 39
+ },
+ "end": {
+ "line": 612,
+ "column": 58
+ }
+ }
+ },
+ "range": [
+ 21609,
+ 21641
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 27
+ },
+ "end": {
+ "line": 612,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 21590,
+ 21641
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 8
+ },
+ "end": {
+ "line": 612,
+ "column": 59
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 21586,
+ 21642
+ ],
+ "loc": {
+ "start": {
+ "line": 612,
+ "column": 4
+ },
+ "end": {
+ "line": 612,
+ "column": 60
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 21651,
+ 21666
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 8
+ },
+ "end": {
+ "line": 613,
+ "column": 23
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "||",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 21669,
+ 21680
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 26
+ },
+ "end": {
+ "line": 613,
+ "column": 37
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 21681,
+ 21688
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 38
+ },
+ "end": {
+ "line": 613,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 21669,
+ 21688
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 26
+ },
+ "end": {
+ "line": 613,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21692,
+ 21706
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 49
+ },
+ "end": {
+ "line": 613,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21707,
+ 21711
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 64
+ },
+ "end": {
+ "line": 613,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 21692,
+ 21711
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 49
+ },
+ "end": {
+ "line": 613,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 21669,
+ 21711
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 26
+ },
+ "end": {
+ "line": 613,
+ "column": 68
+ }
+ }
+ },
+ "range": [
+ 21651,
+ 21711
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 8
+ },
+ "end": {
+ "line": 613,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 21647,
+ 21712
+ ],
+ "loc": {
+ "start": {
+ "line": 613,
+ "column": 4
+ },
+ "end": {
+ "line": 613,
+ "column": 69
+ }
+ }
+ },
+ {
+ "type": "VariableDeclaration",
+ "declarations": [
+ {
+ "type": "VariableDeclarator",
+ "id": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 21721,
+ 21732
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 8
+ },
+ "end": {
+ "line": 614,
+ "column": 19
+ }
+ }
+ },
+ "init": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 21735,
+ 21751
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 22
+ },
+ "end": {
+ "line": 614,
+ "column": 38
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetDefinition",
+ "range": [
+ 21755,
+ 21771
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 42
+ },
+ "end": {
+ "line": 614,
+ "column": 58
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 21772,
+ 21787
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 59
+ },
+ "end": {
+ "line": 614,
+ "column": 74
+ }
+ }
+ },
+ "range": [
+ 21755,
+ 21788
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 42
+ },
+ "end": {
+ "line": 614,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21735,
+ 21788
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 22
+ },
+ "end": {
+ "line": 614,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21721,
+ 21788
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 8
+ },
+ "end": {
+ "line": 614,
+ "column": 75
+ }
+ }
+ }
+ ],
+ "kind": "var",
+ "range": [
+ 21717,
+ 21789
+ ],
+ "loc": {
+ "start": {
+ "line": 614,
+ "column": 4
+ },
+ "end": {
+ "line": 614,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21794,
+ 21808
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 4
+ },
+ "end": {
+ "line": 615,
+ "column": 18
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21809,
+ 21820
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 19
+ },
+ "end": {
+ "line": 615,
+ "column": 30
+ }
+ }
+ },
+ "range": [
+ 21794,
+ 21820
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 4
+ },
+ "end": {
+ "line": 615,
+ "column": 30
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 21823,
+ 21837
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 33
+ },
+ "end": {
+ "line": 615,
+ "column": 47
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 21838,
+ 21849
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 48
+ },
+ "end": {
+ "line": 615,
+ "column": 59
+ }
+ }
+ },
+ "range": [
+ 21823,
+ 21849
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 33
+ },
+ "end": {
+ "line": 615,
+ "column": 59
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 21850,
+ 21856
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 60
+ },
+ "end": {
+ "line": 615,
+ "column": 66
+ }
+ }
+ },
+ "range": [
+ 21823,
+ 21856
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 33
+ },
+ "end": {
+ "line": 615,
+ "column": 66
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21857,
+ 21858
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 67
+ },
+ "end": {
+ "line": 615,
+ "column": 68
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21879,
+ 21880
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 15
+ },
+ "end": {
+ "line": 616,
+ "column": 16
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21881,
+ 21885
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 17
+ },
+ "end": {
+ "line": 616,
+ "column": 21
+ }
+ }
+ },
+ "range": [
+ 21879,
+ 21885
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 15
+ },
+ "end": {
+ "line": 616,
+ "column": 21
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21890,
+ 21904
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 26
+ },
+ "end": {
+ "line": 616,
+ "column": 40
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 21905,
+ 21909
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 41
+ },
+ "end": {
+ "line": 616,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 21890,
+ 21909
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 26
+ },
+ "end": {
+ "line": 616,
+ "column": 45
+ }
+ }
+ },
+ "range": [
+ 21879,
+ 21909
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 15
+ },
+ "end": {
+ "line": 616,
+ "column": 45
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21913,
+ 21914
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 49
+ },
+ "end": {
+ "line": 616,
+ "column": 50
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21915,
+ 21917
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 51
+ },
+ "end": {
+ "line": 616,
+ "column": 53
+ }
+ }
+ },
+ "range": [
+ 21913,
+ 21917
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 49
+ },
+ "end": {
+ "line": 616,
+ "column": 53
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 21922,
+ 21936
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 58
+ },
+ "end": {
+ "line": 616,
+ "column": 72
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 21937,
+ 21939
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 73
+ },
+ "end": {
+ "line": 616,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21922,
+ 21939
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 58
+ },
+ "end": {
+ "line": 616,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21913,
+ 21939
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 49
+ },
+ "end": {
+ "line": 616,
+ "column": 75
+ }
+ }
+ },
+ "range": [
+ 21879,
+ 21939
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 15
+ },
+ "end": {
+ "line": 616,
+ "column": 75
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 21943,
+ 21944
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 79
+ },
+ "end": {
+ "line": 616,
+ "column": 80
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 21945,
+ 21954
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 81
+ },
+ "end": {
+ "line": 616,
+ "column": 90
+ }
+ }
+ },
+ "range": [
+ 21943,
+ 21954
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 79
+ },
+ "end": {
+ "line": 616,
+ "column": 90
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 21959,
+ 21974
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 95
+ },
+ "end": {
+ "line": 616,
+ "column": 110
+ }
+ }
+ },
+ "range": [
+ 21943,
+ 21974
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 79
+ },
+ "end": {
+ "line": 616,
+ "column": 110
+ }
+ }
+ },
+ "range": [
+ 21879,
+ 21974
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 15
+ },
+ "end": {
+ "line": 616,
+ "column": 110
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 21877,
+ 21975
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 13
+ },
+ "end": {
+ "line": 616,
+ "column": 111
+ }
+ }
+ },
+ "range": [
+ 21870,
+ 21976
+ ],
+ "loc": {
+ "start": {
+ "line": 616,
+ "column": 6
+ },
+ "end": {
+ "line": 616,
+ "column": 112
+ }
+ }
+ }
+ ],
+ "range": [
+ 21862,
+ 21982
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 72
+ },
+ "end": {
+ "line": 617,
+ "column": 5
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 21857,
+ 21982
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 67
+ },
+ "end": {
+ "line": 617,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 21823,
+ 21983
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 33
+ },
+ "end": {
+ "line": 617,
+ "column": 6
+ }
+ }
+ },
+ "range": [
+ 21794,
+ 21983
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 4
+ },
+ "end": {
+ "line": 617,
+ "column": 6
+ }
+ }
+ },
+ "range": [
+ 21794,
+ 21984
+ ],
+ "loc": {
+ "start": {
+ "line": 615,
+ "column": 4
+ },
+ "end": {
+ "line": 617,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 21993,
+ 22004
+ ],
+ "loc": {
+ "start": {
+ "line": 618,
+ "column": 8
+ },
+ "end": {
+ "line": 618,
+ "column": 19
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 22018,
+ 22029
+ ],
+ "loc": {
+ "start": {
+ "line": 619,
+ "column": 10
+ },
+ "end": {
+ "line": 619,
+ "column": 21
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22030,
+ 22034
+ ],
+ "loc": {
+ "start": {
+ "line": 619,
+ "column": 22
+ },
+ "end": {
+ "line": 619,
+ "column": 26
+ }
+ }
+ },
+ "range": [
+ 22018,
+ 22034
+ ],
+ "loc": {
+ "start": {
+ "line": 619,
+ "column": 10
+ },
+ "end": {
+ "line": 619,
+ "column": 26
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-one",
+ "raw": "\"has-one\"",
+ "range": [
+ 22039,
+ 22048
+ ],
+ "loc": {
+ "start": {
+ "line": 619,
+ "column": 31
+ },
+ "end": {
+ "line": 619,
+ "column": 40
+ }
+ }
+ },
+ "range": [
+ 22018,
+ 22048
+ ],
+ "loc": {
+ "start": {
+ "line": 619,
+ "column": 10
+ },
+ "end": {
+ "line": 619,
+ "column": 40
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 22060,
+ 22074
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 8
+ },
+ "end": {
+ "line": 620,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 22075,
+ 22086
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 23
+ },
+ "end": {
+ "line": 620,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 22060,
+ 22086
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 8
+ },
+ "end": {
+ "line": 620,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 22089,
+ 22103
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 37
+ },
+ "end": {
+ "line": 620,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 22104,
+ 22115
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 52
+ },
+ "end": {
+ "line": 620,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 22089,
+ 22115
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 37
+ },
+ "end": {
+ "line": 620,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 22116,
+ 22122
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 64
+ },
+ "end": {
+ "line": 620,
+ "column": 70
+ }
+ }
+ },
+ "range": [
+ 22089,
+ 22122
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 37
+ },
+ "end": {
+ "line": 620,
+ "column": 70
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22123,
+ 22124
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 71
+ },
+ "end": {
+ "line": 620,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22149,
+ 22150
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 19
+ },
+ "end": {
+ "line": 621,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22151,
+ 22155
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 21
+ },
+ "end": {
+ "line": 621,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 22149,
+ 22155
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 19
+ },
+ "end": {
+ "line": 621,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22160,
+ 22174
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 30
+ },
+ "end": {
+ "line": 621,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22175,
+ 22179
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 45
+ },
+ "end": {
+ "line": 621,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 22160,
+ 22179
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 30
+ },
+ "end": {
+ "line": 621,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 22149,
+ 22179
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 19
+ },
+ "end": {
+ "line": 621,
+ "column": 49
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22183,
+ 22184
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 53
+ },
+ "end": {
+ "line": 621,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 22185,
+ 22187
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 55
+ },
+ "end": {
+ "line": 621,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 22183,
+ 22187
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 53
+ },
+ "end": {
+ "line": 621,
+ "column": 57
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22192,
+ 22206
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 62
+ },
+ "end": {
+ "line": 621,
+ "column": 76
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 22207,
+ 22209
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 77
+ },
+ "end": {
+ "line": 621,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 22192,
+ 22209
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 62
+ },
+ "end": {
+ "line": 621,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 22183,
+ 22209
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 53
+ },
+ "end": {
+ "line": 621,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 22149,
+ 22209
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 19
+ },
+ "end": {
+ "line": 621,
+ "column": 79
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22213,
+ 22214
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 83
+ },
+ "end": {
+ "line": 621,
+ "column": 84
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 22215,
+ 22224
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 85
+ },
+ "end": {
+ "line": 621,
+ "column": 94
+ }
+ }
+ },
+ "range": [
+ 22213,
+ 22224
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 83
+ },
+ "end": {
+ "line": 621,
+ "column": 94
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22229,
+ 22244
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 99
+ },
+ "end": {
+ "line": 621,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 22213,
+ 22244
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 83
+ },
+ "end": {
+ "line": 621,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 22149,
+ 22244
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 19
+ },
+ "end": {
+ "line": 621,
+ "column": 114
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 22147,
+ 22245
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 17
+ },
+ "end": {
+ "line": 621,
+ "column": 115
+ }
+ }
+ },
+ "range": [
+ 22140,
+ 22246
+ ],
+ "loc": {
+ "start": {
+ "line": 621,
+ "column": 10
+ },
+ "end": {
+ "line": 621,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 22128,
+ 22256
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 76
+ },
+ "end": {
+ "line": 622,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 22123,
+ 22256
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 71
+ },
+ "end": {
+ "line": 622,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 22089,
+ 22257
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 37
+ },
+ "end": {
+ "line": 622,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22060,
+ 22257
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 8
+ },
+ "end": {
+ "line": 622,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22060,
+ 22258
+ ],
+ "loc": {
+ "start": {
+ "line": 620,
+ "column": 8
+ },
+ "end": {
+ "line": 622,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22267,
+ 22281
+ ],
+ "loc": {
+ "start": {
+ "line": 623,
+ "column": 8
+ },
+ "end": {
+ "line": 623,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22282,
+ 22297
+ ],
+ "loc": {
+ "start": {
+ "line": 623,
+ "column": 23
+ },
+ "end": {
+ "line": 623,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 22267,
+ 22298
+ ],
+ "loc": {
+ "start": {
+ "line": 623,
+ "column": 8
+ },
+ "end": {
+ "line": 623,
+ "column": 39
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": null,
+ "raw": "null",
+ "range": [
+ 22301,
+ 22305
+ ],
+ "loc": {
+ "start": {
+ "line": 623,
+ "column": 42
+ },
+ "end": {
+ "line": 623,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 22267,
+ 22305
+ ],
+ "loc": {
+ "start": {
+ "line": 623,
+ "column": 8
+ },
+ "end": {
+ "line": 623,
+ "column": 46
+ }
+ }
+ },
+ "range": [
+ 22267,
+ 22306
+ ],
+ "loc": {
+ "start": {
+ "line": 623,
+ "column": 8
+ },
+ "end": {
+ "line": 623,
+ "column": 47
+ }
+ }
+ }
+ ],
+ "range": [
+ 22050,
+ 22314
+ ],
+ "loc": {
+ "start": {
+ "line": 619,
+ "column": 42
+ },
+ "end": {
+ "line": 624,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 22324,
+ 22335
+ ],
+ "loc": {
+ "start": {
+ "line": 624,
+ "column": 17
+ },
+ "end": {
+ "line": 624,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22336,
+ 22340
+ ],
+ "loc": {
+ "start": {
+ "line": 624,
+ "column": 29
+ },
+ "end": {
+ "line": 624,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 22324,
+ 22340
+ ],
+ "loc": {
+ "start": {
+ "line": 624,
+ "column": 17
+ },
+ "end": {
+ "line": 624,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "has-many",
+ "raw": "\"has-many\"",
+ "range": [
+ 22345,
+ 22355
+ ],
+ "loc": {
+ "start": {
+ "line": 624,
+ "column": 38
+ },
+ "end": {
+ "line": 624,
+ "column": 48
+ }
+ }
+ },
+ "range": [
+ 22324,
+ 22355
+ ],
+ "loc": {
+ "start": {
+ "line": 624,
+ "column": 17
+ },
+ "end": {
+ "line": 624,
+ "column": 48
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 22367,
+ 22381
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 8
+ },
+ "end": {
+ "line": 625,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 22382,
+ 22393
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 23
+ },
+ "end": {
+ "line": 625,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 22367,
+ 22393
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 8
+ },
+ "end": {
+ "line": 625,
+ "column": 34
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 22396,
+ 22410
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 37
+ },
+ "end": {
+ "line": 625,
+ "column": 51
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "_dependents",
+ "range": [
+ 22411,
+ 22422
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 52
+ },
+ "end": {
+ "line": 625,
+ "column": 63
+ }
+ }
+ },
+ "range": [
+ 22396,
+ 22422
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 37
+ },
+ "end": {
+ "line": 625,
+ "column": 63
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 22423,
+ 22429
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 64
+ },
+ "end": {
+ "line": 625,
+ "column": 70
+ }
+ }
+ },
+ "range": [
+ 22396,
+ 22429
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 37
+ },
+ "end": {
+ "line": 625,
+ "column": 70
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22430,
+ 22431
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 71
+ },
+ "end": {
+ "line": 625,
+ "column": 72
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "UnaryExpression",
+ "operator": "!",
+ "argument": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "LogicalExpression",
+ "operator": "&&",
+ "left": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22456,
+ 22457
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 19
+ },
+ "end": {
+ "line": 626,
+ "column": 20
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22458,
+ 22462
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 21
+ },
+ "end": {
+ "line": 626,
+ "column": 25
+ }
+ }
+ },
+ "range": [
+ 22456,
+ 22462
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 19
+ },
+ "end": {
+ "line": 626,
+ "column": 25
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22467,
+ 22481
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 30
+ },
+ "end": {
+ "line": 626,
+ "column": 44
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22482,
+ 22486
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 45
+ },
+ "end": {
+ "line": 626,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 22467,
+ 22486
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 30
+ },
+ "end": {
+ "line": 626,
+ "column": 49
+ }
+ }
+ },
+ "range": [
+ 22456,
+ 22486
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 19
+ },
+ "end": {
+ "line": 626,
+ "column": 49
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22490,
+ 22491
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 53
+ },
+ "end": {
+ "line": 626,
+ "column": 54
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 22492,
+ 22494
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 55
+ },
+ "end": {
+ "line": 626,
+ "column": 57
+ }
+ }
+ },
+ "range": [
+ 22490,
+ 22494
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 53
+ },
+ "end": {
+ "line": 626,
+ "column": 57
+ }
+ }
+ },
+ "right": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22499,
+ 22513
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 62
+ },
+ "end": {
+ "line": 626,
+ "column": 76
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "id",
+ "range": [
+ 22514,
+ 22516
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 77
+ },
+ "end": {
+ "line": 626,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 22499,
+ 22516
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 62
+ },
+ "end": {
+ "line": 626,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 22490,
+ 22516
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 53
+ },
+ "end": {
+ "line": 626,
+ "column": 79
+ }
+ }
+ },
+ "range": [
+ 22456,
+ 22516
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 19
+ },
+ "end": {
+ "line": 626,
+ "column": 79
+ }
+ }
+ },
+ "right": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22520,
+ 22521
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 83
+ },
+ "end": {
+ "line": 626,
+ "column": 84
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "fieldName",
+ "range": [
+ 22522,
+ 22531
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 85
+ },
+ "end": {
+ "line": 626,
+ "column": 94
+ }
+ }
+ },
+ "range": [
+ 22520,
+ 22531
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 83
+ },
+ "end": {
+ "line": 626,
+ "column": 94
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22536,
+ 22551
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 99
+ },
+ "end": {
+ "line": 626,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 22520,
+ 22551
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 83
+ },
+ "end": {
+ "line": 626,
+ "column": 114
+ }
+ }
+ },
+ "range": [
+ 22456,
+ 22551
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 19
+ },
+ "end": {
+ "line": 626,
+ "column": 114
+ }
+ }
+ },
+ "prefix": true,
+ "range": [
+ 22454,
+ 22552
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 17
+ },
+ "end": {
+ "line": 626,
+ "column": 115
+ }
+ }
+ },
+ "range": [
+ 22447,
+ 22553
+ ],
+ "loc": {
+ "start": {
+ "line": 626,
+ "column": 10
+ },
+ "end": {
+ "line": 626,
+ "column": 116
+ }
+ }
+ }
+ ],
+ "range": [
+ 22435,
+ 22563
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 76
+ },
+ "end": {
+ "line": 627,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 22430,
+ 22563
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 71
+ },
+ "end": {
+ "line": 627,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 22396,
+ 22564
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 37
+ },
+ "end": {
+ "line": 627,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22367,
+ 22564
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 8
+ },
+ "end": {
+ "line": 627,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22367,
+ 22565
+ ],
+ "loc": {
+ "start": {
+ "line": 625,
+ "column": 8
+ },
+ "end": {
+ "line": 627,
+ "column": 11
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22574,
+ 22588
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 8
+ },
+ "end": {
+ "line": 628,
+ "column": 22
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22589,
+ 22604
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 23
+ },
+ "end": {
+ "line": 628,
+ "column": 38
+ }
+ }
+ },
+ "range": [
+ 22574,
+ 22605
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 8
+ },
+ "end": {
+ "line": 628,
+ "column": 39
+ }
+ }
+ },
+ "right": {
+ "type": "CallExpression",
+ "callee": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "MemberExpression",
+ "computed": true,
+ "object": {
+ "type": "Identifier",
+ "name": "targetResource",
+ "range": [
+ 22608,
+ 22622
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 42
+ },
+ "end": {
+ "line": 628,
+ "column": 56
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22623,
+ 22638
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 57
+ },
+ "end": {
+ "line": 628,
+ "column": 72
+ }
+ }
+ },
+ "range": [
+ 22608,
+ 22639
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 42
+ },
+ "end": {
+ "line": 628,
+ "column": 73
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "filter",
+ "range": [
+ 22640,
+ 22646
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 74
+ },
+ "end": {
+ "line": 628,
+ "column": 80
+ }
+ }
+ },
+ "range": [
+ 22608,
+ 22646
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 42
+ },
+ "end": {
+ "line": 628,
+ "column": 80
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "ArrowFunctionExpression",
+ "id": null,
+ "params": [
+ {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22647,
+ 22648
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 81
+ },
+ "end": {
+ "line": 628,
+ "column": 82
+ }
+ }
+ }
+ ],
+ "body": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ReturnStatement",
+ "argument": {
+ "type": "BinaryExpression",
+ "operator": "!==",
+ "left": {
+ "type": "Identifier",
+ "name": "r",
+ "range": [
+ 22671,
+ 22672
+ ],
+ "loc": {
+ "start": {
+ "line": 629,
+ "column": 17
+ },
+ "end": {
+ "line": 629,
+ "column": 18
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "sourceResource",
+ "range": [
+ 22677,
+ 22691
+ ],
+ "loc": {
+ "start": {
+ "line": 629,
+ "column": 23
+ },
+ "end": {
+ "line": 629,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 22671,
+ 22691
+ ],
+ "loc": {
+ "start": {
+ "line": 629,
+ "column": 17
+ },
+ "end": {
+ "line": 629,
+ "column": 37
+ }
+ }
+ },
+ "range": [
+ 22664,
+ 22692
+ ],
+ "loc": {
+ "start": {
+ "line": 629,
+ "column": 10
+ },
+ "end": {
+ "line": 629,
+ "column": 38
+ }
+ }
+ }
+ ],
+ "range": [
+ 22652,
+ 22702
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 86
+ },
+ "end": {
+ "line": 630,
+ "column": 9
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 22647,
+ 22702
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 81
+ },
+ "end": {
+ "line": 630,
+ "column": 9
+ }
+ }
+ }
+ ],
+ "range": [
+ 22608,
+ 22703
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 42
+ },
+ "end": {
+ "line": 630,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22574,
+ 22703
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 8
+ },
+ "end": {
+ "line": 630,
+ "column": 10
+ }
+ }
+ },
+ "range": [
+ 22574,
+ 22704
+ ],
+ "loc": {
+ "start": {
+ "line": 628,
+ "column": 8
+ },
+ "end": {
+ "line": 630,
+ "column": 11
+ }
+ }
+ }
+ ],
+ "range": [
+ 22357,
+ 22712
+ ],
+ "loc": {
+ "start": {
+ "line": 624,
+ "column": 50
+ },
+ "end": {
+ "line": 631,
+ "column": 7
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "BinaryExpression",
+ "operator": "===",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "targetField",
+ "range": [
+ 22722,
+ 22733
+ ],
+ "loc": {
+ "start": {
+ "line": 631,
+ "column": 17
+ },
+ "end": {
+ "line": 631,
+ "column": 28
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "type",
+ "range": [
+ 22734,
+ 22738
+ ],
+ "loc": {
+ "start": {
+ "line": 631,
+ "column": 29
+ },
+ "end": {
+ "line": 631,
+ "column": 33
+ }
+ }
+ },
+ "range": [
+ 22722,
+ 22738
+ ],
+ "loc": {
+ "start": {
+ "line": 631,
+ "column": 17
+ },
+ "end": {
+ "line": 631,
+ "column": 33
+ }
+ }
+ },
+ "right": {
+ "type": "Literal",
+ "value": "attr",
+ "raw": "\"attr\"",
+ "range": [
+ 22743,
+ 22749
+ ],
+ "loc": {
+ "start": {
+ "line": 631,
+ "column": 38
+ },
+ "end": {
+ "line": 631,
+ "column": 44
+ }
+ }
+ },
+ "range": [
+ 22722,
+ 22749
+ ],
+ "loc": {
+ "start": {
+ "line": 631,
+ "column": 17
+ },
+ "end": {
+ "line": 631,
+ "column": 44
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 22771,
+ 22776
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 18
+ },
+ "end": {
+ "line": 632,
+ "column": 23
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 22777,
+ 22814
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 24
+ },
+ "end": {
+ "line": 632,
+ "column": 61
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is an attribute ('",
+ "cooked": "' is an attribute ('"
+ },
+ "tail": false,
+ "range": [
+ 22829,
+ 22852
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 76
+ },
+ "end": {
+ "line": 632,
+ "column": 99
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 22867,
+ 22871
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 114
+ },
+ "end": {
+ "line": 632,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 22814,
+ 22829
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 61
+ },
+ "end": {
+ "line": 632,
+ "column": 76
+ }
+ }
+ },
+ {
+ "type": "Identifier",
+ "name": "targetFieldName",
+ "range": [
+ 22852,
+ 22867
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 99
+ },
+ "end": {
+ "line": 632,
+ "column": 114
+ }
+ }
+ }
+ ],
+ "range": [
+ 22777,
+ 22871
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 24
+ },
+ "end": {
+ "line": 632,
+ "column": 118
+ }
+ }
+ }
+ ],
+ "range": [
+ 22767,
+ 22872
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 14
+ },
+ "end": {
+ "line": 632,
+ "column": 119
+ }
+ }
+ },
+ "range": [
+ 22761,
+ 22873
+ ],
+ "loc": {
+ "start": {
+ "line": 632,
+ "column": 8
+ },
+ "end": {
+ "line": 632,
+ "column": 120
+ }
+ }
+ }
+ ],
+ "range": [
+ 22751,
+ 22881
+ ],
+ "loc": {
+ "start": {
+ "line": 631,
+ "column": 46
+ },
+ "end": {
+ "line": 633,
+ "column": 7
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 22718,
+ 22881
+ ],
+ "loc": {
+ "start": {
+ "line": 631,
+ "column": 13
+ },
+ "end": {
+ "line": 633,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 22320,
+ 22881
+ ],
+ "loc": {
+ "start": {
+ "line": 624,
+ "column": 13
+ },
+ "end": {
+ "line": 633,
+ "column": 7
+ }
+ }
+ },
+ "range": [
+ 22014,
+ 22881
+ ],
+ "loc": {
+ "start": {
+ "line": 619,
+ "column": 6
+ },
+ "end": {
+ "line": 633,
+ "column": 7
+ }
+ }
+ }
+ ],
+ "range": [
+ 22006,
+ 22887
+ ],
+ "loc": {
+ "start": {
+ "line": 618,
+ "column": 21
+ },
+ "end": {
+ "line": 634,
+ "column": 5
+ }
+ }
+ },
+ "alternate": {
+ "type": "IfStatement",
+ "test": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 22897,
+ 22908
+ ],
+ "loc": {
+ "start": {
+ "line": 634,
+ "column": 15
+ },
+ "end": {
+ "line": 634,
+ "column": 26
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 22909,
+ 22916
+ ],
+ "loc": {
+ "start": {
+ "line": 634,
+ "column": 27
+ },
+ "end": {
+ "line": 634,
+ "column": 34
+ }
+ }
+ },
+ "range": [
+ 22897,
+ 22916
+ ],
+ "loc": {
+ "start": {
+ "line": 634,
+ "column": 15
+ },
+ "end": {
+ "line": 634,
+ "column": 34
+ }
+ }
+ },
+ "consequent": {
+ "type": "BlockStatement",
+ "body": [
+ {
+ "type": "ThrowStatement",
+ "argument": {
+ "type": "NewExpression",
+ "callee": {
+ "type": "Identifier",
+ "name": "Error",
+ "range": [
+ 22936,
+ 22941
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 16
+ },
+ "end": {
+ "line": 635,
+ "column": 21
+ }
+ }
+ },
+ "arguments": [
+ {
+ "type": "TemplateLiteral",
+ "quasis": [
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "The the inverse relationship for '",
+ "cooked": "The the inverse relationship for '"
+ },
+ "tail": false,
+ "range": [
+ 22942,
+ 22979
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 22
+ },
+ "end": {
+ "line": 635,
+ "column": 59
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "' is missing ('",
+ "cooked": "' is missing ('"
+ },
+ "tail": false,
+ "range": [
+ 22994,
+ 23012
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 74
+ },
+ "end": {
+ "line": 635,
+ "column": 92
+ }
+ }
+ },
+ {
+ "type": "TemplateElement",
+ "value": {
+ "raw": "')",
+ "cooked": "')"
+ },
+ "tail": true,
+ "range": [
+ 23031,
+ 23035
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 111
+ },
+ "end": {
+ "line": 635,
+ "column": 115
+ }
+ }
+ }
+ ],
+ "expressions": [
+ {
+ "type": "Identifier",
+ "name": "sourceFieldName",
+ "range": [
+ 22979,
+ 22994
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 59
+ },
+ "end": {
+ "line": 635,
+ "column": 74
+ }
+ }
+ },
+ {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "sourceField",
+ "range": [
+ 23012,
+ 23023
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 92
+ },
+ "end": {
+ "line": 635,
+ "column": 103
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "inverse",
+ "range": [
+ 23024,
+ 23031
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 104
+ },
+ "end": {
+ "line": 635,
+ "column": 111
+ }
+ }
+ },
+ "range": [
+ 23012,
+ 23031
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 92
+ },
+ "end": {
+ "line": 635,
+ "column": 111
+ }
+ }
+ }
+ ],
+ "range": [
+ 22942,
+ 23035
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 22
+ },
+ "end": {
+ "line": 635,
+ "column": 115
+ }
+ }
+ }
+ ],
+ "range": [
+ 22932,
+ 23036
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 12
+ },
+ "end": {
+ "line": 635,
+ "column": 116
+ }
+ }
+ },
+ "range": [
+ 22926,
+ 23037
+ ],
+ "loc": {
+ "start": {
+ "line": 635,
+ "column": 6
+ },
+ "end": {
+ "line": 635,
+ "column": 117
+ }
+ }
+ }
+ ],
+ "range": [
+ 22918,
+ 23043
+ ],
+ "loc": {
+ "start": {
+ "line": 634,
+ "column": 36
+ },
+ "end": {
+ "line": 636,
+ "column": 5
+ }
+ }
+ },
+ "alternate": null,
+ "range": [
+ 22893,
+ 23043
+ ],
+ "loc": {
+ "start": {
+ "line": 634,
+ "column": 11
+ },
+ "end": {
+ "line": 636,
+ "column": 5
+ }
+ }
+ },
+ "range": [
+ 21989,
+ 23043
+ ],
+ "loc": {
+ "start": {
+ "line": 618,
+ "column": 4
+ },
+ "end": {
+ "line": 636,
+ "column": 5
+ }
+ }
+ }
+ ],
+ "range": [
+ 21580,
+ 23047
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 91
+ },
+ "end": {
+ "line": 637,
+ "column": 3
+ }
+ }
+ },
+ "generator": false,
+ "expression": false,
+ "range": [
+ 21517,
+ 23047
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 28
+ },
+ "end": {
+ "line": 637,
+ "column": 3
+ }
+ }
+ },
+ "kind": "method",
+ "computed": false,
+ "range": [
+ 21491,
+ 23047
+ ],
+ "loc": {
+ "start": {
+ "line": 611,
+ "column": 2
+ },
+ "end": {
+ "line": 637,
+ "column": 3
+ }
+ },
+ "static": false
+ }
+ ],
+ "range": [
+ 127,
+ 23050
+ ],
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 27
+ },
+ "end": {
+ "line": 639,
+ "column": 1
+ }
+ }
+ },
+ "range": [
+ 115,
+ 23050
+ ],
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 15
+ },
+ "end": {
+ "line": 639,
+ "column": 1
+ }
+ },
+ "leadingComments": [],
+ "trailingComments": []
+ },
+ "range": [
+ 100,
+ 23050
+ ],
+ "loc": {
+ "start": {
+ "line": 5,
+ "column": 0
+ },
+ "end": {
+ "line": 639,
+ "column": 1
+ }
+ }
+ },
+ {
+ "type": "ExpressionStatement",
+ "expression": {
+ "type": "AssignmentExpression",
+ "operator": "=",
+ "left": {
+ "type": "MemberExpression",
+ "computed": false,
+ "object": {
+ "type": "Identifier",
+ "name": "Store",
+ "range": [
+ 23052,
+ 23057
+ ],
+ "loc": {
+ "start": {
+ "line": 641,
+ "column": 0
+ },
+ "end": {
+ "line": 641,
+ "column": 5
+ }
+ }
+ },
+ "property": {
+ "type": "Identifier",
+ "name": "AjaxAdapter",
+ "range": [
+ 23058,
+ 23069
+ ],
+ "loc": {
+ "start": {
+ "line": 641,
+ "column": 6
+ },
+ "end": {
+ "line": 641,
+ "column": 17
+ }
+ }
+ },
+ "range": [
+ 23052,
+ 23069
+ ],
+ "loc": {
+ "start": {
+ "line": 641,
+ "column": 0
+ },
+ "end": {
+ "line": 641,
+ "column": 17
+ }
+ }
+ },
+ "right": {
+ "type": "Identifier",
+ "name": "AjaxAdapter",
+ "range": [
+ 23072,
+ 23083
+ ],
+ "loc": {
+ "start": {
+ "line": 641,
+ "column": 20
+ },
+ "end": {
+ "line": 641,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 23052,
+ 23083
+ ],
+ "loc": {
+ "start": {
+ "line": 641,
+ "column": 0
+ },
+ "end": {
+ "line": 641,
+ "column": 31
+ }
+ }
+ },
+ "range": [
+ 23052,
+ 23084
+ ],
+ "loc": {
+ "start": {
+ "line": 641,
+ "column": 0
+ },
+ "end": {
+ "line": 641,
+ "column": 32
+ }
+ }
+ }
+ ],
+ "sourceType": "module",
+ "range": [
+ 0,
+ 23084
+ ],
+ "loc": {
+ "start": {
+ "line": 1,
+ "column": 0
+ },
+ "end": {
+ "line": 641,
+ "column": 32
+ }
+ },
+ "comments": [
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an attribute.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.default] - Default value for this field.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 132,
+ 454
+ ],
+ "loc": {
+ "start": {
+ "line": 7,
+ "column": 2
+ },
+ "end": {
+ "line": 15,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 923,
+ 1260
+ ],
+ "loc": {
+ "start": {
+ "line": 33,
+ "column": 2
+ },
+ "end": {
+ "line": 41,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n ",
+ "range": [
+ 2308,
+ 2646
+ ],
+ "loc": {
+ "start": {
+ "line": 75,
+ "column": 2
+ },
+ "end": {
+ "line": 83,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * An observable that will emit events when any resource in added, updated\n * or removed. The object passed to listeners will be in this format:\n *\n *
\n * { name: string, type: string, id: string, resource: object }\n * \n *\n * You can learn more about RxJS observables at the GitHub repo:\n * https://github.com/Reactive-Extensions/RxJS\n *\n * @type {Rx.Observable}\n * @since 0.6.0\n *\n * @example\n * let store = new Store();\n *\n * store.observable.filter(e => e.name === \"added\").subscribe(event => {\n * console.log(event.name); // \"added\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"updated\").subscribe(event => {\n * console.log(event.name); // \"updated\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"removed\").subscribe(event => {\n * console.log(event.name); // \"removed\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // null\n * });\n ",
+ "range": [
+ 3810,
+ 5178
+ ],
+ "loc": {
+ "start": {
+ "line": 125,
+ "column": 4
+ },
+ "end": {
+ "line": 162,
+ "column": 7
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - A JSON API Resource Object to be added. See:\n http://jsonapi.org/format/#document-resource-objects\n ",
+ "range": [
+ 5239,
+ 5511
+ ],
+ "loc": {
+ "start": {
+ "line": 167,
+ "column": 2
+ },
+ "end": {
+ "line": 174,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n ",
+ "range": [
+ 6304,
+ 6750
+ ],
+ "loc": {
+ "start": {
+ "line": 200,
+ "column": 2
+ },
+ "end": {
+ "line": 208,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 7384,
+ 8009
+ ],
+ "loc": {
+ "start": {
+ "line": 233,
+ "column": 2
+ },
+ "end": {
+ "line": 250,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n ",
+ "range": [
+ 8307,
+ 8498
+ ],
+ "loc": {
+ "start": {
+ "line": 259,
+ "column": 2
+ },
+ "end": {
+ "line": 265,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n ",
+ "range": [
+ 8975,
+ 9558
+ ],
+ "loc": {
+ "start": {
+ "line": 282,
+ "column": 2
+ },
+ "end": {
+ "line": 299,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n ",
+ "range": [
+ 9848,
+ 10358
+ ],
+ "loc": {
+ "start": {
+ "line": 308,
+ "column": 2
+ },
+ "end": {
+ "line": 319,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 11295,
+ 12005
+ ],
+ "loc": {
+ "start": {
+ "line": 353,
+ "column": 2
+ },
+ "end": {
+ "line": 371,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Unregister an event listener that was registered with on().\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n ",
+ "range": [
+ 12307,
+ 12755
+ ],
+ "loc": {
+ "start": {
+ "line": 380,
+ "column": 2
+ },
+ "end": {
+ "line": 389,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n ",
+ "range": [
+ 13668,
+ 14153
+ ],
+ "loc": {
+ "start": {
+ "line": 411,
+ "column": 2
+ },
+ "end": {
+ "line": 421,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n ",
+ "range": [
+ 15684,
+ 15982
+ ],
+ "loc": {
+ "start": {
+ "line": 455,
+ "column": 2
+ },
+ "end": {
+ "line": 462,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n ",
+ "range": [
+ 16215,
+ 16521
+ ],
+ "loc": {
+ "start": {
+ "line": 474,
+ "column": 2
+ },
+ "end": {
+ "line": 481,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Block",
+ "value": "*\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n ",
+ "range": [
+ 17181,
+ 17854
+ ],
+ "loc": {
+ "start": {
+ "line": 507,
+ "column": 2
+ },
+ "end": {
+ "line": 525,
+ "column": 5
+ }
+ }
+ },
+ {
+ "type": "Line",
+ "value": " TODO: This only needs to be run once for each dependent.",
+ "range": [
+ 21205,
+ 21264
+ ],
+ "loc": {
+ "start": {
+ "line": 603,
+ "column": 6
+ },
+ "end": {
+ "line": 603,
+ "column": 65
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/docs/v0.6.1/badge.svg b/docs/v0.6.1/badge.svg
new file mode 100644
index 0000000..5b24eb1
--- /dev/null
+++ b/docs/v0.6.1/badge.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+ document
+ document
+ 66%
+ 66%
+
+
diff --git a/docs/v0.6.1/class/src/ajax-adapter.js~AjaxAdapter.html b/docs/v0.6.1/class/src/ajax-adapter.js~AjaxAdapter.html
new file mode 100644
index 0000000..7393faf
--- /dev/null
+++ b/docs/v0.6.1/class/src/ajax-adapter.js~AjaxAdapter.html
@@ -0,0 +1,668 @@
+
+
+
+
+
+ AjaxAdapter | API Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
AjaxAdapter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Constructor Summary
+ Public Constructor
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Method Summary
+ Public Methods
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+ create (store: * , type: * , partial: * , success: * , error: * , context: * )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+ destroy (store: * , type: * , id: * , success: * , error: * , context: * )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+ load (store: * , type: * , id: * , options: * , success: * , error: * , context: * )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+ update (store: * , type: * , id: * , partial: * , success: * , error: * , context: * )
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Public Constructors
+
+
+
+ public
+
+
+
+
+ constructor (options: * )
+
+
+
+ source
+
+
+
+
+
+
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ options
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Public Methods
+
+
+
+ public
+
+
+
+
+ create (store: * , type: * , partial: * , success: * , error: * , context: * )
+
+
+
+ source
+
+
+
+
+
+
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ store
+ *
+
+
+
+
+ type
+ *
+
+
+
+
+ partial
+ *
+
+
+
+
+ success
+ *
+
+
+
+
+ error
+ *
+
+
+
+
+ context
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ destroy (store: * , type: * , id: * , success: * , error: * , context: * )
+
+
+
+ source
+
+
+
+
+
+
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ store
+ *
+
+
+
+
+ type
+ *
+
+
+
+
+ id
+ *
+
+
+
+
+ success
+ *
+
+
+
+
+ error
+ *
+
+
+
+
+ context
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ load (store: * , type: * , id: * , options: * , success: * , error: * , context: * )
+
+
+
+ source
+
+
+
+
+
+
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ store
+ *
+
+
+
+
+ type
+ *
+
+
+
+
+ id
+ *
+
+
+
+
+ options
+ *
+
+
+
+
+ success
+ *
+
+
+
+
+ error
+ *
+
+
+
+
+ context
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ update (store: * , type: * , id: * , partial: * , success: * , error: * , context: * )
+
+
+
+ source
+
+
+
+
+
+
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ store
+ *
+
+
+
+
+ type
+ *
+
+
+
+
+ id
+ *
+
+
+
+
+ partial
+ *
+
+
+
+
+ success
+ *
+
+
+
+
+ error
+ *
+
+
+
+
+ context
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/v0.6.1/class/src/store.js~Store.html b/docs/v0.6.1/class/src/store.js~Store.html
new file mode 100644
index 0000000..d711cd9
--- /dev/null
+++ b/docs/v0.6.1/class/src/store.js~Store.html
@@ -0,0 +1,1945 @@
+
+
+
+
+
+ Store | API Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Store
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Static Method Summary
+ Static Public Methods
+
+
+
+
+ public
+ static
+
+
+
+
+
+
+
+
+
+
Creates a field definition for an attribute.
+
+
+
+
+ since 0.1.0
+
+
+
+
+ public
+ static
+
+
+
+
+
+
+
+
+
+
Creates a field definition for an has-many relationship.
+
+
+
+
+ since 0.1.0
+
+
+
+
+ public
+ static
+
+
+
+
+
+
+
+
+
+
Creates a field definition for an has-one relationship.
+
+
+
+
+ since 0.1.0
+
+
+
+
+
+
Constructor Summary
+ Public Constructor
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Member Summary
+ Public Members
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
An observable that will emit events when any resource in added, updated
+
+
+
+
+
+ since 0.6.0
+
+
+
+
+
+
Method Summary
+ Public Methods
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Add an individual resource to the store.
+
+
+
+
+ since 0.1.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Converts the given partial into a JSON API compliant representation.
+
+
+
+
+ since 0.5.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Attempts to create the resource through the adapter and adds it to the
+
+
+
+
+
+ since 0.5.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Defines a type of resource.
+
+
+
+
+ since 0.2.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Attempts to delete the resource through the adapter and removes it from
+
+
+
+
+
+ since 0.5.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Find a resource or entire collection of resources.
+
+
+
+
+ since 0.1.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Attempts to load the resource(s) through the adapter and adds it/them to
+
+
+
+
+
+ since 0.5.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
this method was deprecated. Use the store.observable property instead of this.
+
+
Unregister an event listener that was registered with on().
+
+
+
+
+ since 0.4.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
this method was deprecated. Use the store.observable property instead of this.
+
+
Register an event listener: "added", "updated" or "removed".
+
+
+
+
+ since 0.4.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Add a JSON API response to the store.
+
+
+
+
+ since 0.1.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Remove a resource or collection of resources from the store.
+
+
+
+
+ since 0.1.0
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
Attempts to update the resource through the adapter and updates it in the
+
+
+
+
+
+ since 0.5.0
+
+
+
+
+
+
+
+
+
+
Static Public Methods
+
+
+
+ public
+ static
+
+
+
+ attr (name: string , options: Object ): Object
+
+
+ since 0.1.0
+ source
+
+
+
+
+
+
+
Creates a field definition for an attribute.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ name
+ string
+
+ Name of the property to map this field from.
+
+
+
+ options
+ Object
+
+ An options object.
+
+
+
+ options.default
+ string
+
+ Default value for this field.
+
+
+
+
+
+
+
+
+
Return:
+
+
+ Object
+ Field definition.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+ static
+
+
+
+ hasMany (name: string , options: Object ): Object
+
+
+ since 0.1.0
+ source
+
+
+
+
+
+
+
Creates a field definition for an has-many relationship.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ name
+ string
+
+ Name of the property to map this field from.
+
+
+
+ options
+ Object
+
+ An options object.
+
+
+
+ options.inverse
+ string
+
+ Name of the inverse relationship.
+
+
+
+
+
+
+
+
+
Return:
+
+
+ Object
+ Field definition.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+ static
+
+
+
+ hasOne (name: string , options: Object ): Object
+
+
+ since 0.1.0
+ source
+
+
+
+
+
+
+
Creates a field definition for an has-one relationship.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ name
+ string
+
+ Name of the property to map this field from.
+
+
+
+ options
+ Object
+
+ An options object.
+
+
+
+ options.inverse
+ string
+
+ Name of the inverse relationship.
+
+
+
+
+
+
+
+
+
Return:
+
+
+ Object
+ Field definition.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Public Constructors
+
+
+
+ public
+
+
+
+
+ constructor (adapter: * )
+
+
+
+ source
+
+
+
+
+
+
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ adapter
+ *
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Public Members
+
+
+
+ public
+
+
+
+
+ observable : Rx.Observable
+
+
+ since 0.6.0
+ source
+
+
+
+
+
+
+
An observable that will emit events when any resource in added, updated
+or removed. The object passed to listeners will be in this format:
+
+{ name: string, type: string, id: string, resource: object }
+
+
+
You can learn more about RxJS observables at the GitHub repo:
+https://github.com/Reactive-Extensions/RxJS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Example:
+
+
+
+
let store = new Store();
+
+store.observable.filter(e => e.name === "added").subscribe(event => {
+ console.log(event.name); // "added"
+ console.log(event.type); // "products"
+ console.log(event.id); // "1"
+ console.log(event.resource); // Map {...}
+});
+
+store.observable.filter(e => e.name === "updated").subscribe(event => {
+ console.log(event.name); // "updated"
+ console.log(event.type); // "products"
+ console.log(event.id); // "1"
+ console.log(event.resource); // Map {...}
+});
+
+store.observable.filter(e => e.name === "removed").subscribe(event => {
+ console.log(event.name); // "removed"
+ console.log(event.type); // "products"
+ console.log(event.id); // "1"
+ console.log(event.resource); // null
+});
+
+
+
+
+
+
+
+
+
+
Public Methods
+
+
+
+ public
+
+
+
+
+ add (object: Object )
+
+
+ since 0.1.0
+ source
+
+
+
+
+
+
+
Add an individual resource to the store. This is used internally by the
+push() method.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ convert (type: string , id: string , partial: object ): object
+
+
+ since 0.5.0
+ source
+
+
+
+
+
+
+
Converts the given partial into a JSON API compliant representation.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ type
+ string
+ optional
+nullable: false
+ The type of the resource. This can be omitted if the partial includes a type property.
+
+
+
+ id
+ string
+ optional
+nullable: false
+ The id of the resource. This can be omitted if the partial includes an id property.
+
+
+
+ partial
+ object
+
+ The data to convert.
+
+
+
+
+
+
+
+
+
Return:
+
+
+ object
+ JSON API version of the object.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ create (type: string , partial: Object , success: function , error: function , context: Object )
+
+
+ since 0.5.0
+ source
+
+
+
+
+
+
+
Attempts to create the resource through the adapter and adds it to the
+store if successful.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ type
+ string
+
+ Type of resource.
+
+
+
+ partial
+ Object
+
+ Data to create the resource with.
+
+
+
+ success
+ function
+
+ Callback on success.
+
+
+
+ error
+ function
+
+ Callback on error.
+
+
+
+ context
+ Object
+
+ Context for the callbacks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Example:
+
+
+
+
let adapter = new Store.AjaxAdapter();
+let store = new Store(adpater);
+store.create("product", { title: "A Book" }, (product) => {
+ console.log(product.title);
+});
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ define (names: string | string [] , definition: Object )
+
+
+ since 0.2.0
+ source
+
+
+
+
+
+
+
Defines a type of resource.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ names
+ string | string []
+
+ Name(s) of the resource.
+
+
+
+ definition
+ Object
+
+ The resource's definition.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ destroy (type: string , id: string , success: function , error: function , context: Object )
+
+
+ since 0.5.0
+ source
+
+
+
+
+
+
+
Attempts to delete the resource through the adapter and removes it from
+the store if successful.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ type
+ string
+
+ Type of resource.
+
+
+
+ id
+ string
+
+ ID of resource.
+
+
+
+ success
+ function
+
+ Callback on success.
+
+
+
+ error
+ function
+
+ Callback on error.
+
+
+
+ context
+ Object
+
+ Context for the callbacks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Example:
+
+
+
+
let adapter = new Store.AjaxAdapter();
+let store = new Store(adpater);
+store.destroy("product", "1", () => {
+ console.log("Destroyed!");
+});
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ find (type: string , id: string ): Object | Object []
+
+
+ since 0.1.0
+ source
+
+
+
+
+
+
+
Find a resource or entire collection of resources.
+
NOTE: If the resource hasn't been loaded via an add() or push() call it
+will be automatically created when find is called.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ type
+ string
+
+ Type of the resource(s) to find.
+
+
+
+ id
+ string
+
+ The id of the resource to find. If omitted all
+ resources of the type will be returned.
+
+
+
+
+
+
+
+
+
Return:
+
+
+ Object | Object []
+ Either the resource or an array of resources.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ load (type: string , id: string , options: Object , success: function , error: function , context: Object )
+
+
+ since 0.5.0
+ source
+
+
+
+
+
+
+
Attempts to load the resource(s) through the adapter and adds it/them to
+the store if successful.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ type
+ string
+
+ Type of resource.
+
+
+
+ id
+ string
+ optional
+nullable: false
+ ID of resource.
+
+
+
+ options
+ Object
+
+ NOT YET IMPLEMENTED (this will include sorting, filtering and pagination options)
+
+
+
+ success
+ function
+
+ Callback on success.
+
+
+
+ error
+ function
+
+ Callback on error.
+
+
+
+ context
+ Object
+
+ Context for the callbacks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Example:
+
+
+
+
let adapter = new Store.AjaxAdapter();
+let store = new Store(adpater);
+store.load("product", "1", (product) => {
+ console.log(product.title);
+});
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ off (event: string , type: string , id: string , callback: function )
+
+
+ since 0.4.0
+ source
+
+
+
+
+
this method was deprecated. Use the store.observable property instead of this.
+
+
Unregister an event listener that was registered with on().
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ event
+ string
+
+ Name of the event.
+
+
+
+ type
+ string
+
+ Name of resource to originally passed to on().
+
+
+
+ id
+ string
+
+ ID of the resource to originally passed to on().
+
+
+
+ callback
+ function
+
+ Function originally passed to on().
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ on (event: string , type: string , id: string , callback: function , context: Object )
+
+
+ since 0.4.0
+ source
+
+
+
+
+
this method was deprecated. Use the store.observable property instead of this.
+
+
Register an event listener: "added", "updated" or "removed".
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ event
+ string
+
+ Name of the event.
+
+
+
+ type
+ string
+
+ Name of resource to watch.
+
+
+
+ id
+ string
+
+ ID of the resource to watch.
+
+
+
+ callback
+ function
+
+ Function to call when the event occurs.
+
+
+
+ context
+ Object
+
+ Context in which to call the callback.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ push (root: Object )
+
+
+ since 0.1.0
+ source
+
+
+
+
+
+
+
Add a JSON API response to the store. This method can be used to handle a
+successful GET or POST response from the server.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ remove (type: string , id: string )
+
+
+ since 0.1.0
+ source
+
+
+
+
+
+
+
Remove a resource or collection of resources from the store.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ type
+ string
+
+ Type of the resource(s) to remove.
+
+
+
+ id
+ string
+
+ The id of the resource to remove. If omitted all
+ resources of the type will be removed.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+ update (type: string , id: string , partial: Object , success: function , error: function , context: Object )
+
+
+ since 0.5.0
+ source
+
+
+
+
+
+
+
Attempts to update the resource through the adapter and updates it in the
+store if successful.
+
+
+
+
+
+
Params:
+
+
+ Name Type Attribute Description
+
+
+
+
+ type
+ string
+
+ Type of resource.
+
+
+
+ id
+ string
+
+ ID of resource.
+
+
+
+ partial
+ Object
+
+ Data to update the resource with.
+
+
+
+ success
+ function
+
+ Callback on success.
+
+
+
+ error
+ function
+
+ Callback on error.
+
+
+
+ context
+ Object
+
+ Context for the callbacks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Example:
+
+
+
+
let adapter = new Store.AjaxAdapter();
+let store = new Store(adpater);
+store.update("product", "1", { title: "foo" }, (product) => {
+ console.log(product.title);
+});
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/v0.6.1/coverage.json b/docs/v0.6.1/coverage.json
new file mode 100644
index 0000000..833903a
--- /dev/null
+++ b/docs/v0.6.1/coverage.json
@@ -0,0 +1,27 @@
+{
+ "coverage": "66.66%",
+ "expectCount": 24,
+ "actualCount": 16,
+ "files": {
+ "src/ajax-adapter.js": {
+ "expectCount": 6,
+ "actualCount": 0,
+ "undocumentLines": [
+ 1,
+ 3,
+ 7,
+ 51,
+ 88,
+ 154
+ ]
+ },
+ "src/store.js": {
+ "expectCount": 18,
+ "actualCount": 16,
+ "undocumentLines": [
+ 5,
+ 117
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/docs/v0.6.1/css/prettify-tomorrow.css b/docs/v0.6.1/css/prettify-tomorrow.css
new file mode 100644
index 0000000..b6f92a7
--- /dev/null
+++ b/docs/v0.6.1/css/prettify-tomorrow.css
@@ -0,0 +1,132 @@
+/* Tomorrow Theme */
+/* Original theme - https://github.com/chriskempson/tomorrow-theme */
+/* Pretty printing styles. Used with prettify.js. */
+/* SPAN elements with the classes below are added by prettyprint. */
+/* plain text */
+.pln {
+ color: #4d4d4c; }
+
+@media screen {
+ /* string content */
+ .str {
+ color: #718c00; }
+
+ /* a keyword */
+ .kwd {
+ color: #8959a8; }
+
+ /* a comment */
+ .com {
+ color: #8e908c; }
+
+ /* a type name */
+ .typ {
+ color: #4271ae; }
+
+ /* a literal value */
+ .lit {
+ color: #f5871f; }
+
+ /* punctuation */
+ .pun {
+ color: #4d4d4c; }
+
+ /* lisp open bracket */
+ .opn {
+ color: #4d4d4c; }
+
+ /* lisp close bracket */
+ .clo {
+ color: #4d4d4c; }
+
+ /* a markup tag name */
+ .tag {
+ color: #c82829; }
+
+ /* a markup attribute name */
+ .atn {
+ color: #f5871f; }
+
+ /* a markup attribute value */
+ .atv {
+ color: #3e999f; }
+
+ /* a declaration */
+ .dec {
+ color: #f5871f; }
+
+ /* a variable name */
+ .var {
+ color: #c82829; }
+
+ /* a function name */
+ .fun {
+ color: #4271ae; } }
+/* Use higher contrast and text-weight for printable form. */
+@media print, projection {
+ .str {
+ color: #060; }
+
+ .kwd {
+ color: #006;
+ font-weight: bold; }
+
+ .com {
+ color: #600;
+ font-style: italic; }
+
+ .typ {
+ color: #404;
+ font-weight: bold; }
+
+ .lit {
+ color: #044; }
+
+ .pun, .opn, .clo {
+ color: #440; }
+
+ .tag {
+ color: #006;
+ font-weight: bold; }
+
+ .atn {
+ color: #404; }
+
+ .atv {
+ color: #060; } }
+/* Style */
+/*
+pre.prettyprint {
+ background: white;
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
+ font-size: 12px;
+ line-height: 1.5;
+ border: 1px solid #ccc;
+ padding: 10px; }
+*/
+
+/* Specify class=linenums on a pre to get line numbering */
+ol.linenums {
+ margin-top: 0;
+ margin-bottom: 0; }
+
+/* IE indents via margin-left */
+li.L0,
+li.L1,
+li.L2,
+li.L3,
+li.L4,
+li.L5,
+li.L6,
+li.L7,
+li.L8,
+li.L9 {
+ /* */ }
+
+/* Alternate shading for lines */
+li.L1,
+li.L3,
+li.L5,
+li.L7,
+li.L9 {
+ /* */ }
diff --git a/docs/v0.6.1/css/style.css b/docs/v0.6.1/css/style.css
new file mode 100644
index 0000000..39b3682
--- /dev/null
+++ b/docs/v0.6.1/css/style.css
@@ -0,0 +1,822 @@
+@import url(https://fonts.googleapis.com/css?family=Roboto:400,300,700);
+
+* {
+ margin: 0;
+ padding: 0;
+ text-decoration: none;
+}
+
+html
+{
+ font-family: 'Roboto', sans-serif;
+ overflow: auto;
+ font-size: 14px;
+ /*color: #4d4e53;*/
+ color: rgba(0, 0, 0, .68);
+ background-color: #fff;
+}
+
+a {
+ /*color: #0095dd;*/
+ /*color:rgb(37, 138, 175);*/
+ color: #039BE5;
+}
+
+code a:hover {
+ text-decoration: underline;
+}
+
+ul, ol {
+ padding-left: 20px;
+}
+
+ul li {
+ list-style: disc;
+ margin: 4px 0;
+}
+
+ol li {
+ margin: 4px 0;
+}
+
+h1 {
+ margin-bottom: 10px;
+ font-size: 34px;
+ font-weight: 300;
+ border-bottom: solid 1px #ddd;
+}
+
+h2 {
+ margin-top: 24px;
+ margin-bottom: 10px;
+ font-size: 20px;
+ border-bottom: solid 1px #ddd;
+ font-weight: 300;
+}
+
+h3 {
+ position: relative;
+ font-size: 16px;
+ margin-bottom: 12px;
+ background-color: #E2E2E2;
+ padding: 4px;
+ font-weight: 300;
+}
+
+del {
+ text-decoration: line-through;
+}
+
+p {
+ margin-bottom: 15px;
+ line-height: 19px;
+}
+
+p > code {
+ background-color: #f5f5f5;
+ border-radius: 3px;
+}
+
+pre > code {
+ display: block;
+}
+
+pre.prettyprint, pre > code {
+ padding: 4px;
+ margin: 1em 0;
+ background-color: #f5f5f5;
+ border-radius: 3px;
+}
+
+pre.prettyprint > code {
+ margin: 0;
+}
+
+p > code,
+li > code {
+ padding: 0 4px;
+ border-radius: 3px;
+}
+
+.import-path pre.prettyprint,
+.import-path pre.prettyprint code {
+ margin: 0;
+ padding: 0;
+ border: none;
+ background: white;
+}
+
+.layout-container {
+ /*display: flex;*/
+ /*flex-direction: row;*/
+ /*justify-content: flex-start;*/
+ /*align-items: stretch;*/
+}
+
+.layout-container > header {
+ height: 40px;
+ line-height: 40px;
+ font-size: 16px;
+ padding: 0 10px;
+ margin: 0;
+ position: fixed;
+ width: 100%;
+ z-index: 1;
+ background-color: white;
+ top: 0;
+ border-bottom: solid 1px #E02130;
+}
+.layout-container > header > a{
+ margin: 0 5px;
+}
+
+.layout-container > header > a.repo-url-github {
+ font-size: 0;
+ display: inline-block;
+ width: 20px;
+ height: 38px;
+ background: url("../image/github.png") no-repeat center;
+ background-size: 20px;
+ vertical-align: top;
+}
+
+.navigation {
+ position: fixed;
+ top: 0;
+ left: 0;
+ box-sizing: border-box;
+ width: 200px;
+ height: 100%;
+ padding-top: 40px;
+ padding-left: 15px;
+ padding-bottom: 20px;
+ overflow-x: scroll;
+ box-shadow: rgba(255, 255, 255, 1) -1px 0 0 inset;
+ border-right: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.navigation h1 {
+ border: none;
+ font-size: 18px;
+}
+
+.navigation h2 {
+ margin: 15px 0 4px;
+ font-size: 16px;
+ border: none;
+}
+
+.navigation h2 a {
+ color: inherit;
+}
+
+.navigation ul {
+ padding: 0;
+}
+
+.navigation li {
+ list-style: none;
+ margin: 4px 0;
+}
+
+h1 .version,
+h1 .url a {
+ font-size: 14px;
+ color: #aaa;
+}
+
+.content {
+ margin-top: 40px;
+ margin-left: 200px;
+ padding: 10px 50px 10px 20px;
+}
+
+.header-notice {
+ font-size: 14px;
+ color: #aaa;
+ margin: 0;
+}
+
+.expression-extends .prettyprint {
+ margin-left: 10px;
+ background: white;
+}
+
+.extends-chain {
+ border-bottom: 1px solid#ddd;
+ padding-bottom: 10px;
+ margin-bottom: 10px;
+}
+
+.extends-chain span:nth-of-type(1) {
+ padding-left: 10px;
+}
+
+.extends-chain > div {
+ margin: 5px 0;
+}
+
+.description table {
+ font-size: 14px;
+ border-spacing: 0;
+ border: 0;
+ border-collapse: collapse;
+}
+
+.description thead {
+ background: #999;
+ color: white;
+}
+
+.description table td,
+.description table th {
+ border: solid 1px #ddd;
+ padding: 4px;
+ font-weight: normal;
+}
+
+.flat-list ul {
+ padding-left: 0;
+}
+
+.flat-list li {
+ display: inline;
+ list-style: none;
+}
+
+table.summary {
+ width: 100%;
+ margin: 10px 0;
+ border-spacing: 0;
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.summary thead {
+ background: #999;
+ color: white;
+}
+
+table.summary td {
+ border: solid 1px #ddd;
+ padding: 4px 10px;
+}
+
+table.summary tbody td:nth-child(1) {
+ text-align: right;
+ white-space: nowrap;
+ min-width: 64px;
+ vertical-align: top;
+}
+
+table.summary tbody td:nth-child(2) {
+ width: 100%;
+ border-right: none;
+}
+
+table.summary tbody td:nth-child(3) {
+ white-space: nowrap;
+ border-left: none;
+ vertical-align: top;
+}
+
+table.summary td > div:nth-of-type(2) {
+ padding-top: 4px;
+ padding-left: 15px;
+}
+
+table.summary td p {
+ margin-bottom: 0;
+}
+
+.inherited-summary thead td {
+ padding-left: 2px;
+}
+
+.inherited-summary thead a {
+ color: white;
+}
+
+.inherited-summary .summary tbody {
+ display: none;
+}
+
+.inherited-summary .summary .toggle {
+ padding: 0 4px;
+ font-size: 12px;
+ cursor: pointer;
+}
+.inherited-summary .summary .toggle.closed:before {
+ content: "â–¶";
+}
+.inherited-summary .summary .toggle.opened:before {
+ content: "â–¼";
+}
+
+.member, .method {
+ margin-bottom: 24px;
+}
+
+table.params {
+ width: 100%;
+ margin: 10px 0;
+ border-spacing: 0;
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.params thead {
+ background: #eee;
+ color: #aaa;
+}
+
+table.params td {
+ padding: 4px;
+ border: solid 1px #ddd;
+}
+
+table.params td p {
+ margin: 0;
+}
+
+.content .detail > * {
+ margin: 15px 0;
+}
+
+.content .detail > h3 {
+ color: black;
+}
+
+.content .detail > div {
+ margin-left: 10px;
+}
+
+.content .detail > .import-path {
+ margin-top: -8px;
+}
+
+.content .detail + .detail {
+ margin-top: 30px;
+}
+
+.content .detail .throw td:first-child {
+ padding-right: 10px;
+}
+
+.content .detail h4 + :not(pre) {
+ padding-left: 0;
+ margin-left: 10px;
+}
+
+.content .detail h4 + ul li {
+ list-style: none;
+}
+
+.return-param * {
+ display: inline;
+}
+
+.argument-params {
+ margin-bottom: 20px;
+}
+
+.return-type {
+ padding-right: 10px;
+ font-weight: normal;
+}
+
+.return-desc {
+ margin-left: 10px;
+ margin-top: 4px;
+}
+
+.return-desc p {
+ margin: 0;
+}
+
+.deprecated, .experimental, .instance-docs {
+ border-left: solid 5px orange;
+ padding-left: 4px;
+ margin: 4px 0;
+}
+
+tr.listen p,
+tr.throw p,
+tr.emit p{
+ margin-bottom: 10px;
+}
+
+.version, .since {
+ color: #aaa;
+}
+
+h3 .right-info {
+ position: absolute;
+ right: 4px;
+ font-size: 14px;
+}
+
+.version + .since:before {
+ content: '| ';
+}
+
+.see {
+ margin-top: 10px;
+}
+
+.see h4 {
+ margin: 4px 0;
+}
+
+.content .detail h4 + .example-doc {
+ margin: 6px 0;
+}
+
+.example-caption {
+ position: relative;
+ bottom: -1px;
+ display: inline-block;
+ padding: 4px;
+ font-style: italic;
+ background-color: #f5f5f5;
+ font-weight: bold;
+ border-radius: 3px;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+.example-caption + pre.source-code {
+ margin-top: 0;
+ border-top-left-radius: 0;
+}
+
+footer, .file-footer {
+ text-align: right;
+ font-style: italic;
+ font-weight: 100;
+ font-size: 13px;
+ margin-right: 50px;
+ margin-left: 220px;
+ border-top: 1px solid #ddd;
+ padding-top: 30px;
+ margin-top: 20px;
+ padding-bottom: 10px;
+}
+
+pre.source-code {
+ background: #f5f5f5;
+ padding: 4px;
+}
+
+pre.raw-source-code > code {
+ padding: 0;
+ margin: 0;
+}
+
+pre.source-code.line-number {
+ padding: 0;
+}
+
+pre.source-code ol {
+ background: #eee;
+ padding-left: 40px;
+}
+
+pre.source-code li {
+ background: white;
+ padding-left: 4px;
+ list-style: decimal;
+ margin: 0;
+}
+
+pre.source-code.line-number li.active {
+ background: rgb(255, 255, 150);
+}
+
+pre.source-code.line-number li.error-line {
+ background: #ffb8bf;
+}
+
+table.files-summary {
+ width: 100%;
+ margin: 10px 0;
+ border-spacing: 0;
+ border: 0;
+ border-collapse: collapse;
+ text-align: right;
+}
+
+table.files-summary tbody tr:hover {
+ background: #eee;
+}
+
+table.files-summary td:first-child,
+table.files-summary td:nth-of-type(2) {
+ text-align: left;
+}
+
+table.files-summary[data-use-coverage="false"] td.coverage {
+ display: none;
+}
+
+table.files-summary thead {
+ background: #999;
+ color: white;
+}
+
+table.files-summary td {
+ border: solid 1px #ddd;
+ padding: 4px 10px;
+ vertical-align: top;
+}
+
+table.files-summary td.identifiers > span {
+ display: block;
+ margin-top: 4px;
+}
+table.files-summary td.identifiers > span:first-child {
+ margin-top: 0;
+}
+
+table.files-summary .coverage-count {
+ font-size: 12px;
+ color: #aaa;
+ display: inline-block;
+ min-width: 40px;
+}
+
+.total-coverage-count {
+ position: relative;
+ bottom: 2px;
+ font-size: 12px;
+ color: #666;
+ font-weight: 500;
+ padding-left: 5px;
+}
+
+table.test-summary thead {
+ background: #999;
+ color: white;
+}
+
+table.test-summary thead .test-description {
+ width: 50%;
+}
+
+table.test-summary {
+ width: 100%;
+ margin: 10px 0;
+ border-spacing: 0;
+ border: 0;
+ border-collapse: collapse;
+}
+
+table.test-summary thead .test-count {
+ width: 3em;
+}
+
+table.test-summary tbody tr:hover {
+ background-color: #eee;
+}
+
+table.test-summary td {
+ border: solid 1px #ddd;
+ padding: 4px 10px;
+ vertical-align: top;
+}
+
+table.test-summary td p {
+ margin: 0;
+}
+
+table.test-summary tr.test-describe .toggle {
+ display: inline-block;
+ float: left;
+ margin-right: 4px;
+ cursor: pointer;
+}
+
+table.test-summary tr.test-describe .toggle.opened:before {
+ content: 'â–¼';
+}
+
+table.test-summary tr.test-describe .toggle.closed:before {
+ content: 'â–¶';
+}
+
+table.test-summary .test-target > span {
+ display: block;
+ margin-top: 4px;
+}
+table.test-summary .test-target > span:first-child {
+ margin-top: 0;
+}
+
+.inner-link-active {
+ background: rgb(255, 255, 150);
+}
+
+/* search box */
+.search-box {
+ position: absolute;
+ top: 10px;
+ right: 50px;
+ padding-right: 8px;
+ padding-bottom: 10px;
+ line-height: normal;
+ font-size: 12px;
+}
+
+.search-box img {
+ width: 20px;
+ vertical-align: top;
+}
+
+.search-input {
+ display: inline;
+ visibility: hidden;
+ width: 0;
+ padding: 2px;
+ height: 1.5em;
+ outline: none;
+ background: transparent;
+ border: 1px #0af;
+ border-style: none none solid none;
+ vertical-align: bottom;
+}
+
+.search-input-edge {
+ display: none;
+ width: 1px;
+ height: 5px;
+ background-color: #0af;
+ vertical-align: bottom;
+}
+
+.search-result {
+ position: absolute;
+ display: none;
+ height: 600px;
+ width: 100%;
+ padding: 0;
+ margin-top: 5px;
+ margin-left: 24px;
+ background: white;
+ box-shadow: 1px 1px 4px rgb(0,0,0);
+ white-space: nowrap;
+ overflow-y: scroll;
+}
+
+.search-result-import-path {
+ color: #aaa;
+ font-size: 12px;
+}
+
+.search-result li {
+ list-style: none;
+ padding: 2px 4px;
+}
+
+.search-result li a {
+ display: block;
+}
+
+.search-result li.selected {
+ background: #ddd;
+}
+
+.search-result li.search-separator {
+ background: rgb(37, 138, 175);
+ color: white;
+}
+
+.search-box.active .search-input {
+ visibility: visible;
+ transition: width 0.2s ease-out;
+ width: 300px;
+}
+
+.search-box.active .search-input-edge {
+ display: inline-block;
+}
+
+/* coverage badge */
+.esdoc-coverage {
+ display: inline-block;
+ height: 20px;
+ vertical-align: top;
+}
+
+h1 .esdoc-coverage {
+ position: relative;
+ top: -4px;
+}
+
+.esdoc-coverage-wrap {
+ color: white;
+ font-size: 12px;
+ font-weight: 500;
+}
+
+.esdoc-coverage-label {
+ padding: 3px 4px 3px 6px;
+ background: linear-gradient(to bottom, #5e5e5e 0%,#4c4c4c 100%);
+ border-radius: 4px 0 0 4px;
+ display: inline-block;
+ height: 20px;
+ box-sizing: border-box;
+ line-height: 14px;
+}
+
+.esdoc-coverage-ratio {
+ padding: 3px 6px 3px 4px;
+ border-radius: 0 4px 4px 0;
+ display: inline-block;
+ height: 20px;
+ box-sizing: border-box;
+ line-height: 14px;
+}
+
+.esdoc-coverage-low {
+ background: linear-gradient(to bottom, #db654f 0%,#c9533d 100%);
+}
+
+.esdoc-coverage-middle {
+ background: linear-gradient(to bottom, #dab226 0%,#c9a179 100%);
+}
+
+.esdoc-coverage-high {
+ background: linear-gradient(to bottom, #4fc921 0%,#3eb810 100%);
+}
+
+/* github markdown */
+.github-markdown {
+ font-size: 16px;
+}
+
+.github-markdown h1,
+.github-markdown h2,
+.github-markdown h3,
+.github-markdown h4,
+.github-markdown h5 {
+ margin-top: 1em;
+ margin-bottom: 16px;
+ font-weight: bold;
+ padding: 0;
+}
+
+.github-markdown h1:nth-of-type(1) {
+ margin-top: 0;
+}
+
+.github-markdown h1 {
+ font-size: 2em;
+ padding-bottom: 0.3em;
+}
+
+.github-markdown h2 {
+ font-size: 1.75em;
+ padding-bottom: 0.3em;
+}
+
+.github-markdown h3 {
+ font-size: 1.5em;
+ background-color: transparent;
+}
+
+.github-markdown h4 {
+ font-size: 1.25em;
+}
+
+.github-markdown h5 {
+ font-size: 1em;
+}
+
+.github-markdown ul, .github-markdown ol {
+ padding-left: 2em;
+}
+
+.github-markdown pre > code {
+ font-size: 0.85em;
+}
+
+.github-markdown table {
+ margin-bottom: 1em;
+ border-collapse: collapse;
+ border-spacing: 0;
+}
+
+.github-markdown table tr {
+ background-color: #fff;
+ border-top: 1px solid #ccc;
+}
+
+.github-markdown table th,
+.github-markdown table td {
+ padding: 6px 13px;
+ border: 1px solid #ddd;
+}
+
+.github-markdown table tr:nth-child(2n) {
+ background-color: #f8f8f8;
+}
diff --git a/docs/v0.6.1/dump.json b/docs/v0.6.1/dump.json
new file mode 100644
index 0000000..d7886be
--- /dev/null
+++ b/docs/v0.6.1/dump.json
@@ -0,0 +1,2018 @@
+[
+ {
+ "kind": "file",
+ "static": true,
+ "variation": null,
+ "name": "src/ajax-adapter.js",
+ "memberof": null,
+ "longname": "src/ajax-adapter.js",
+ "access": null,
+ "description": null,
+ "lineNumber": 1,
+ "content": "export default class AjaxAdapter {\n\n constructor(options) {\n this._base = (options && options.base) || \"\";\n };\n\n create(store, type, partial, success, error, context) {\n\n if (error && {}.toString.call(error) !== '[object Function]') {\n\n this.create(store, type, partial, success, null, error);\n\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n\n request.open('POST', `${this._base}/${type}`, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n let response = JSON.parse(request.responseText);\n try {\n store.push(response);\n if (success) {\n success.call(context, store.find(response.data.type, response.data.id));\n }\n } catch (e) {\n if (error) {\n error.call(context, e);\n }\n }\n } else {\n if (error) {\n error.call(context);\n }\n }\n };\n\n request.send(JSON.stringify({\n data: store.convert(type, partial)\n }));\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n destroy(store, type, id, success, error, context) {\n\n if (error && {}.toString.call(error) !== '[object Function]') {\n\n this.destroy(store, type, id, success, null, error);\n\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n\n request.open('DELETE', `${this._base}/${type}/${id}`, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n try {\n store.remove(type, id);\n if (success) {\n success.call(context);\n }\n } catch (e) {\n error.call(context, e);\n }\n } else if (error) {\n error.call(context);\n }\n };\n\n request.send();\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n load(store, type, id, options, success, error, context) {\n\n if (id && {}.toString.call(id) === '[object Function]') {\n this.load(store, type, null, null, id, options, success);\n } else if (id && typeof id === \"object\") {\n this.load(store, type, null, id, options, success, error);\n } else if (options && {}.toString.call(options) === '[object Function]') {\n this.load(store, type, id, {}, options, success, error);\n } else if (error && {}.toString.call(error) !== '[object Function]') {\n this.load(store, type, id, options, success, null, error);\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n let url;\n\n options = options || {};\n url = id ? `${this._base}/${type}/${id}` : `${this._base}/${type}`;\n\n if (options) {\n\n let params = [];\n\n if (options.fields) {\n Object.keys(options.fields).forEach(field => {\n options[`fields[${field}]`] = options.fields[field];\n });\n delete options.fields;\n }\n\n params = Object.keys(options).map(key => {\n return key + \"=\" + encodeURIComponent(options[key]);\n }).sort();\n\n if (params.length) {\n url = `${url}?${params.join(\"&\")}`;\n }\n\n }\n\n request.open('GET', url, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n try {\n store.push(JSON.parse(request.responseText));\n if (success) {\n success.call(context, id ? store.find(type, id) : store.find(type));\n }\n } catch (e) {\n error.call({}, e);\n }\n } else if (error) {\n error.call(context);\n }\n };\n\n request.send();\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n update(store, type, id, partial, success, error, context) {\n\n if (error && {}.toString.call(error) !== '[object Function]') {\n\n this.update(store, type, id, partial, success, null, error);\n\n } else if (store._types[type]) {\n\n let request = new XMLHttpRequest();\n let data = store.convert(type, id, partial);\n\n request.open('PATCH', `${this._base}/${type}/${id}`, true);\n\n request.setRequestHeader(\"Content-Type\", \"application/vnd.api+json\");\n\n request.onload = function () {\n if (request.status >= 200 && request.status < 300) {\n try {\n store.add(data);\n if (success) {\n success.call(context, store.find(data.type, data.id));\n }\n } catch (e) {\n if (error) {\n error.call(context, e);\n }\n }\n } else if (error) {\n error.call(context);\n }\n };\n\n request.send(JSON.stringify({\n data: data\n }));\n\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n\n }\n\n}\n"
+ },
+ {
+ "kind": "class",
+ "static": true,
+ "variation": null,
+ "name": "AjaxAdapter",
+ "memberof": "src/ajax-adapter.js",
+ "longname": "src/ajax-adapter.js~AjaxAdapter",
+ "access": null,
+ "export": true,
+ "importPath": "json-api-store/src/ajax-adapter.js",
+ "importStyle": "AjaxAdapter",
+ "description": null,
+ "lineNumber": 1,
+ "undocument": true,
+ "interface": false
+ },
+ {
+ "kind": "constructor",
+ "static": false,
+ "variation": null,
+ "name": "constructor",
+ "memberof": "src/ajax-adapter.js~AjaxAdapter",
+ "longname": "src/ajax-adapter.js~AjaxAdapter#constructor",
+ "access": null,
+ "description": null,
+ "lineNumber": 3,
+ "undocument": true,
+ "params": [
+ {
+ "name": "options",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "member",
+ "static": false,
+ "variation": null,
+ "name": "_base",
+ "memberof": "src/ajax-adapter.js~AjaxAdapter",
+ "longname": "src/ajax-adapter.js~AjaxAdapter#_base",
+ "access": null,
+ "description": null,
+ "lineNumber": 4,
+ "undocument": true,
+ "type": {
+ "types": [
+ "*"
+ ]
+ }
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "create",
+ "memberof": "src/ajax-adapter.js~AjaxAdapter",
+ "longname": "src/ajax-adapter.js~AjaxAdapter#create",
+ "access": null,
+ "description": null,
+ "lineNumber": 7,
+ "undocument": true,
+ "params": [
+ {
+ "name": "store",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "type",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "partial",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "success",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "error",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "context",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "destroy",
+ "memberof": "src/ajax-adapter.js~AjaxAdapter",
+ "longname": "src/ajax-adapter.js~AjaxAdapter#destroy",
+ "access": null,
+ "description": null,
+ "lineNumber": 51,
+ "undocument": true,
+ "params": [
+ {
+ "name": "store",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "type",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "id",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "success",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "error",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "context",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "load",
+ "memberof": "src/ajax-adapter.js~AjaxAdapter",
+ "longname": "src/ajax-adapter.js~AjaxAdapter#load",
+ "access": null,
+ "description": null,
+ "lineNumber": 88,
+ "undocument": true,
+ "params": [
+ {
+ "name": "store",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "type",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "id",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "options",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "success",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "error",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "context",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "update",
+ "memberof": "src/ajax-adapter.js~AjaxAdapter",
+ "longname": "src/ajax-adapter.js~AjaxAdapter#update",
+ "access": null,
+ "description": null,
+ "lineNumber": 154,
+ "undocument": true,
+ "params": [
+ {
+ "name": "store",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "type",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "id",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "partial",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "success",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "error",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "context",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "file",
+ "static": true,
+ "variation": null,
+ "name": "src/store.js",
+ "memberof": null,
+ "longname": "src/store.js",
+ "access": null,
+ "description": null,
+ "lineNumber": 1,
+ "content": "import \"array.prototype.find\";\nimport Rx from \"rx-lite\";\nimport AjaxAdapter from \"./ajax-adapter\";\n\nexport default class Store {\n\n /**\n * Creates a field definition for an attribute.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.default] - Default value for this field.\n * @return {Object} - Field definition.\n */\n static attr(name, options) {\n if (name && typeof name === 'object') {\n return Store.attr(null, name);\n } else {\n return {\n type: \"attr\",\n default: options && options.default,\n deserialize: function (data, key) {\n return data.attributes && data.attributes[name || key];\n },\n serialize: function (resource, data, key) {\n data.attributes[name || key] = resource[key];\n }\n };\n }\n }\n\n /**\n * Creates a field definition for an has-one relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n */\n static hasOne(name, options) {\n if (name && typeof name === 'object') {\n return Store.hasOne(null, name);\n } else {\n return {\n type: \"has-one\",\n inverse: options && options.inverse,\n deserialize: function (data, key) {\n name = name || key;\n if (data.relationships && data.relationships[name]) {\n if (data.relationships[name].data === null) {\n return null;\n } else if (data.relationships[name].data) {\n return this.find(data.relationships[name].data.type, data.relationships[name].data.id);\n }\n }\n },\n serialize: function serialize(resource, data, key) {\n if (resource[key] === null) {\n data.relationships[name || key] = null;\n } else if (resource[key]) {\n data.relationships[name || key] = {\n data: {\n type: resource[key].type,\n id: resource[key].id\n }\n };\n }\n }\n };\n }\n }\n\n /**\n * Creates a field definition for an has-many relationship.\n *\n * @since 0.1.0\n * @param {string} [name] - Name of the property to map this field from.\n * @param {Object} [options] - An options object.\n * @param {string} [options.inverse] - Name of the inverse relationship.\n * @return {Object} - Field definition.\n */\n static hasMany(name, options) {\n if (name && typeof name === 'object') {\n return Store.hasMany(null, name);\n } else {\n return {\n type: \"has-many\",\n default: [],\n inverse: options && options.inverse,\n deserialize: function (data, key) {\n name = name || key;\n if (data.relationships && data.relationships[name]) {\n if (data.relationships[name].data === null) {\n return [];\n } else if (data.relationships[name].data) {\n return data.relationships[name].data.map((c) => {\n return this.find(c.type, c.id);\n });\n }\n }\n },\n serialize: function serialize(resource, data, key) {\n if (resource[key]) {\n data.relationships[name || key] = {\n data: resource[key].map(x => {\n return { type: x.type, id: x.id };\n })\n };\n }\n }\n };\n }\n }\n\n constructor(adapter) {\n\n this._adapter = adapter;\n this._data = {};\n this._subject = new Rx.Subject();\n this._subscriptions = {};\n this._types = {};\n\n /**\n * An observable that will emit events when any resource in added, updated\n * or removed. The object passed to listeners will be in this format:\n *\n *
\n * { name: string, type: string, id: string, resource: object }\n * \n *\n * You can learn more about RxJS observables at the GitHub repo:\n * https://github.com/Reactive-Extensions/RxJS\n *\n * @type {Rx.Observable}\n * @since 0.6.0\n *\n * @example\n * let store = new Store();\n *\n * store.observable.filter(e => e.name === \"added\").subscribe(event => {\n * console.log(event.name); // \"added\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"updated\").subscribe(event => {\n * console.log(event.name); // \"updated\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // Map {...}\n * });\n *\n * store.observable.filter(e => e.name === \"removed\").subscribe(event => {\n * console.log(event.name); // \"removed\"\n * console.log(event.type); // \"products\"\n * console.log(event.id); // \"1\"\n * console.log(event.resource); // null\n * });\n */\n this.observable = this._subject.asObservable();\n\n }\n\n /**\n * Add an individual resource to the store. This is used internally by the\n * `push()` method.\n *\n * @since 0.1.0\n * @param {!Object} object - A JSON API Resource Object to be added. See:\n http://jsonapi.org/format/#document-resource-objects\n */\n add(object) {\n if (object) {\n if (object.type && object.id) {\n let name = this._data[object.type] && this._data[object.type][object.id] ? \"updated\" : \"added\";\n let resource = this.find(object.type, object.id);\n let definition = this._types[object.type];\n Object.keys(definition).forEach(fieldName => {\n if (fieldName[0] !== \"_\") {\n this._addField(object, resource, definition, fieldName);\n }\n });\n this._subject.onNext({\n name: name,\n type: object.type,\n id: object.id,\n resource: resource\n });\n } else {\n throw new TypeError(`The data must have a type and id`);\n }\n } else {\n throw new TypeError(`You must provide data to add`);\n }\n }\n\n /**\n * Converts the given partial into a JSON API compliant representation.\n *\n * @since 0.5.0\n * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.\n * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.\n * @param {!object} partial - The data to convert.\n * @return {object} - JSON API version of the object.\n */\n convert(type, id, partial) {\n if (type && typeof type === \"object\") {\n return this.convert(type.type, type.id, type);\n } else if (id && typeof id === \"object\") {\n return this.convert(type, id.id, id);\n } else {\n let data = {\n type: type,\n attributes: {},\n relationships: {}\n };\n if (id) {\n data.id = id;\n }\n let definition = this._types[data.type];\n Object.keys(definition).forEach(fieldName => {\n if (fieldName[0] !== \"_\") {\n definition[fieldName].serialize(partial, data, fieldName);\n }\n });\n return data;\n }\n }\n\n /**\n * Attempts to create the resource through the adapter and adds it to the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!Object} partial - Data to create the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.create(\"product\", { title: \"A Book\" }, (product) => {\n * console.log(product.title);\n * });\n */\n create(type, partial, success, error, context) {\n if (this._adapter) {\n this._adapter.create(this, type, partial, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Defines a type of resource.\n *\n * @since 0.2.0\n * @param {!string|string[]} names - Name(s) of the resource.\n * @param {!Object} definition - The resource's definition.\n */\n define(names, definition) {\n names = (names.constructor === Array) ? names : [ names ];\n if (definition) {\n definition._names = names;\n names.forEach(name => {\n if (!this._types[name]) {\n this._types[name] = definition;\n } else {\n throw new Error(`The type '${name}' has already been defined.`);\n }\n });\n } else {\n throw new Error(`You must provide a definition for the type '${names[0]}'.`);\n }\n }\n\n /**\n * Attempts to delete the resource through the adapter and removes it from\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.destroy(\"product\", \"1\", () => {\n * console.log(\"Destroyed!\");\n * });\n */\n destroy(type, id, success, error, context) {\n if (this._adapter) {\n this._adapter.destroy(this, type, id, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Find a resource or entire collection of resources.\n *\n * NOTE: If the resource hasn't been loaded via an add() or push() call it\n * will be automatically created when find is called.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to find.\n * @param {string} [id] - The id of the resource to find. If omitted all\n * resources of the type will be returned.\n * @return {Object|Object[]} - Either the resource or an array of resources.\n */\n find(type, id) {\n if (type) {\n let definition = this._types[type];\n if (definition) {\n if (!this._data[type]) {\n let collection = {};\n definition._names.forEach(t => this._data[t] = collection);\n }\n if (id) {\n if (!this._data[type][id]) {\n this._data[type][id] = {\n _dependents: [],\n type: type,\n id: id\n };\n Object.keys(definition).forEach(key => {\n if (key[0] !== \"_\") {\n this._data[type][id][key] = definition[key].default;\n }\n });\n }\n return this._data[type][id];\n } else {\n return Object.keys(this._data[type]).map(x => this._data[type][x]);\n }\n } else {\n throw new TypeError(`Unknown type '${type}'`);\n }\n } else {\n throw new TypeError(`You must provide a type`);\n }\n }\n\n /**\n * Attempts to load the resource(s) through the adapter and adds it/them to\n * the store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} [id] - ID of resource.\n * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.load(\"product\", \"1\", (product) => {\n * console.log(product.title);\n * });\n */\n load(type, id, options, success, error, context) {\n if (this._adapter) {\n this._adapter.load(this, type, id, options, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n /**\n * Unregister an event listener that was registered with on().\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to originally passed to on().\n * @param {string} [id] - ID of the resource to originally passed to on().\n * @param {function} callback - Function originally passed to on().\n */\n off(event, type, id, callback) {\n console.warn([\n \"The `store.off()` method has been deprecated in favour of `store.observable`.\",\n \"For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0\"\n ].join(\"\\n\"));\n if (event === \"added\" || event === \"updated\" || event === \"removed\") {\n if (this._types[type]) {\n if (id && ({}).toString.call(id) === '[object Function]') {\n this.off.call(this, event, type, null, id, callback);\n } else if (this._subscriptions[event] && this._subscriptions[event][type] && this._subscriptions[event][type][id || \"*\"]) {\n this._subscriptions[event][type][id || \"*\"].dispose();\n delete this._subscriptions[event][type][id || \"*\"];\n }\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n } else {\n throw new Error(`Unknown event '${event}'`);\n }\n }\n\n /**\n * Register an event listener: \"added\", \"updated\" or \"removed\".\n *\n * @deprecated Use the store.observable property instead of this.\n * @since 0.4.0\n * @param {string} event - Name of the event.\n * @param {string} type - Name of resource to watch.\n * @param {string} [id] - ID of the resource to watch.\n * @param {function} callback - Function to call when the event occurs.\n * @param {Object} [context] - Context in which to call the callback.\n */\n on(event, type, id, callback, context) {\n console.warn([\n \"The `store.on()` method has been deprecated in favour of `store.observable`.\",\n \"For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0\"\n ].join(\"\\n\"));\n if (event === \"added\" || event === \"updated\" || event === \"removed\") {\n if (this._types[type]) {\n if (id && ({}).toString.call(id) === '[object Function]') {\n this.on.call(this, event, type, null, id, callback);\n } else if (!this._subscriptions[event] || !this._subscriptions[event][type] || !this._subscriptions[event][type][id || \"*\"]) {\n let subscription = this._subject.filter(e => e.name === event);\n subscription = subscription.filter(e => this._types[type]._names.indexOf(e.type) !== -1);\n if (id) {\n subscription = subscription.filter(e => e.id === id);\n }\n subscription = subscription.map(e => this.find(e.type, e.id));\n this._subscriptions[event] = this._subscriptions[event] || {};\n if (!this._subscriptions[event][type]) {\n let obj = {};\n this._types[type]._names.forEach(type => {\n this._subscriptions[event][type] = obj;\n });\n }\n this._subscriptions[event][type][id || \"*\"] = subscription.subscribe(callback.bind(context));\n }\n } else {\n throw new Error(`Unknown type '${type}'`);\n }\n } else {\n throw new Error(`Unknown event '${event}'`);\n }\n }\n\n /**\n * Add a JSON API response to the store. This method can be used to handle a\n * successful GET or POST response from the server.\n *\n * @since 0.1.0\n * @param {Object} root - Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level\n */\n push(root) {\n if (root.data.constructor === Array) {\n root.data.forEach(x => this.add(x));\n } else {\n this.add(root.data);\n }\n if (root.included) {\n root.included.forEach(x => this.add(x));\n }\n }\n\n /**\n * Remove a resource or collection of resources from the store.\n *\n * @since 0.1.0\n * @param {!string} type - Type of the resource(s) to remove.\n * @param {string} [id] - The id of the resource to remove. If omitted all\n * resources of the type will be removed.\n */\n remove(type, id) {\n if (type) {\n if (this._types[type]) {\n if (id) {\n let resource = this._data[type] && this._data[type][id];\n if (resource) {\n this._remove(resource);\n this._subject.onNext({\n name: \"removed\",\n type: type,\n id: id,\n resource: null\n });\n }\n } else {\n Object.keys(this._data[type]).forEach(id => this.remove(type, id));\n }\n } else {\n throw new TypeError(`Unknown type '${type}'`);\n }\n } else {\n throw new TypeError(`You must provide a type to remove`);\n }\n }\n\n /**\n * Attempts to update the resource through the adapter and updates it in the\n * store if successful.\n *\n * @since 0.5.0\n * @param {!string} type - Type of resource.\n * @param {!string} id - ID of resource.\n * @param {!Object} partial - Data to update the resource with.\n * @param {function} [success] - Callback on success.\n * @param {function} [error] - Callback on error.\n * @param {Object} [context] - Context for the callbacks.\n *\n * @example\n * let adapter = new Store.AjaxAdapter();\n * let store = new Store(adpater);\n * store.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n * console.log(product.title);\n * });\n */\n update(type, id, partial, success, error, context) {\n if (this._adapter) {\n this._adapter.update(this, type, id, partial, success, error, context);\n } else {\n throw new Error(\"Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`\");\n }\n }\n\n _addField(object, resource, definition, fieldName) {\n var field = definition[fieldName];\n var newValue = field.deserialize.call(this, object, fieldName);\n if (typeof newValue !== \"undefined\") {\n if (field.type === \"has-one\") {\n if (resource[fieldName]) {\n this._removeInverseRelationship(resource, fieldName, resource[fieldName], field);\n }\n if (newValue) {\n this._addInverseRelationship(resource, fieldName, newValue, field);\n }\n } else if (field.type === \"has-many\") {\n resource[fieldName].forEach(r => {\n if (resource[fieldName].indexOf(r) !== -1) {\n this._removeInverseRelationship(resource, fieldName, r, field);\n }\n });\n newValue.forEach(r => {\n this._addInverseRelationship(resource, fieldName, r, field);\n });\n }\n resource[fieldName] = newValue;\n }\n }\n\n _addInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {\n var targetDefinition = this._types[targetResource.type];\n var sourceDefinition = this._types[sourceResource.type];\n if (targetDefinition) {\n let targetFieldName = [ sourceField.inverse ].concat(sourceDefinition._names).find(x => targetDefinition[x]);\n let targetField = targetDefinition && targetDefinition[targetFieldName];\n targetResource._dependents.push({ type: sourceResource.type, id: sourceResource.id, fieldName: sourceFieldName });\n if (targetField) {\n if (targetField.type === \"has-one\") {\n sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });\n targetResource[targetFieldName] = sourceResource;\n } else if (targetField.type === \"has-many\") {\n sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });\n if (targetResource[targetFieldName].indexOf(sourceResource) === -1) {\n targetResource[targetFieldName].push(sourceResource);\n }\n } else if (targetField.type === \"attr\") {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);\n }\n } else if (sourceField.inverse) {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);\n }\n }\n }\n\n _remove(resource) {\n resource._dependents.forEach(dependent => {\n let dependentResource = this._data[dependent.type][dependent.id];\n switch (this._types[dependent.type][dependent.fieldName].type) {\n case \"has-one\": {\n dependentResource[dependent.fieldName] = null;\n break;\n }\n case \"has-many\": {\n let index = dependentResource[dependent.fieldName].indexOf(resource);\n if (index !== -1) {\n dependentResource[dependent.fieldName].splice(index, 1);\n }\n break;\n }\n default: {\n break;\n }\n }\n // TODO: This only needs to be run once for each dependent.\n dependentResource._dependents = dependentResource._dependents.filter(d => {\n return !(d.type === resource.type && d.id === resource.id);\n });\n });\n delete this._data[resource.type][resource.id];\n }\n\n _removeInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {\n var targetDefinition = this._types[targetResource.type];\n var targetFieldName = sourceField.inverse || sourceResource.type;\n var targetField = targetDefinition && targetDefinition[targetFieldName];\n targetResource._dependents = targetResource._dependents.filter(r => {\n return !(r.type === sourceResource.type && r.id === sourceResource.id && r.fieldName === sourceFieldName);\n });\n if (targetField) {\n if (targetField.type === \"has-one\") {\n sourceResource._dependents = sourceResource._dependents.filter(r => {\n return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);\n });\n targetResource[targetFieldName] = null;\n } else if (targetField.type === \"has-many\") {\n sourceResource._dependents = sourceResource._dependents.filter(r => {\n return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);\n });\n targetResource[targetFieldName] = targetResource[targetFieldName].filter(r => {\n return r !== sourceResource;\n });\n } else if (targetField.type === \"attr\") {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);\n }\n } else if (sourceField.inverse) {\n throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);\n }\n }\n\n}\n\nStore.AjaxAdapter = AjaxAdapter;\n"
+ },
+ {
+ "kind": "class",
+ "static": true,
+ "variation": null,
+ "name": "Store",
+ "memberof": "src/store.js",
+ "longname": "src/store.js~Store",
+ "access": null,
+ "export": true,
+ "importPath": "json-api-store/src/store.js",
+ "importStyle": "Store",
+ "description": null,
+ "lineNumber": 5,
+ "undocument": true,
+ "interface": false
+ },
+ {
+ "kind": "method",
+ "static": true,
+ "variation": null,
+ "name": "attr",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store.attr",
+ "access": null,
+ "description": "Creates a field definition for an attribute.",
+ "lineNumber": 16,
+ "since": "0.1.0",
+ "params": [
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "name",
+ "description": "Name of the property to map this field from."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "options",
+ "description": "An options object."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "options.default",
+ "description": "Default value for this field."
+ }
+ ],
+ "return": {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "description": "Field definition."
+ },
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": true,
+ "variation": null,
+ "name": "hasOne",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store.hasOne",
+ "access": null,
+ "description": "Creates a field definition for an has-one relationship.",
+ "lineNumber": 42,
+ "since": "0.1.0",
+ "params": [
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "name",
+ "description": "Name of the property to map this field from."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "options",
+ "description": "An options object."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "options.inverse",
+ "description": "Name of the inverse relationship."
+ }
+ ],
+ "return": {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "description": "Field definition."
+ },
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": true,
+ "variation": null,
+ "name": "hasMany",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store.hasMany",
+ "access": null,
+ "description": "Creates a field definition for an has-many relationship.",
+ "lineNumber": 84,
+ "since": "0.1.0",
+ "params": [
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "name",
+ "description": "Name of the property to map this field from."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "options",
+ "description": "An options object."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "options.inverse",
+ "description": "Name of the inverse relationship."
+ }
+ ],
+ "return": {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "description": "Field definition."
+ },
+ "generator": false
+ },
+ {
+ "kind": "constructor",
+ "static": false,
+ "variation": null,
+ "name": "constructor",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#constructor",
+ "access": null,
+ "description": null,
+ "lineNumber": 117,
+ "undocument": true,
+ "params": [
+ {
+ "name": "adapter",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "member",
+ "static": false,
+ "variation": null,
+ "name": "_adapter",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_adapter",
+ "access": null,
+ "description": null,
+ "lineNumber": 119,
+ "undocument": true,
+ "type": {
+ "types": [
+ "*"
+ ]
+ }
+ },
+ {
+ "kind": "member",
+ "static": false,
+ "variation": null,
+ "name": "_data",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_data",
+ "access": null,
+ "description": null,
+ "lineNumber": 120,
+ "undocument": true,
+ "type": {
+ "types": [
+ "*"
+ ]
+ }
+ },
+ {
+ "kind": "member",
+ "static": false,
+ "variation": null,
+ "name": "_subject",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_subject",
+ "access": null,
+ "description": null,
+ "lineNumber": 121,
+ "undocument": true,
+ "type": {
+ "types": [
+ "*"
+ ]
+ }
+ },
+ {
+ "kind": "member",
+ "static": false,
+ "variation": null,
+ "name": "_subscriptions",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_subscriptions",
+ "access": null,
+ "description": null,
+ "lineNumber": 122,
+ "undocument": true,
+ "type": {
+ "types": [
+ "*"
+ ]
+ }
+ },
+ {
+ "kind": "member",
+ "static": false,
+ "variation": null,
+ "name": "_types",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_types",
+ "access": null,
+ "description": null,
+ "lineNumber": 123,
+ "undocument": true,
+ "type": {
+ "types": [
+ "*"
+ ]
+ }
+ },
+ {
+ "kind": "member",
+ "static": false,
+ "variation": null,
+ "name": "observable",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#observable",
+ "access": null,
+ "description": "An observable that will emit events when any resource in added, updated\nor removed. The object passed to listeners will be in this format:\n\n
\n{ name: string, type: string, id: string, resource: object }\n \n\nYou can learn more about RxJS observables at the GitHub repo:\nhttps://github.com/Reactive-Extensions/RxJS",
+ "examples": [
+ "let store = new Store();\n\nstore.observable.filter(e => e.name === \"added\").subscribe(event => {\n console.log(event.name); // \"added\"\n console.log(event.type); // \"products\"\n console.log(event.id); // \"1\"\n console.log(event.resource); // Map {...}\n});\n\nstore.observable.filter(e => e.name === \"updated\").subscribe(event => {\n console.log(event.name); // \"updated\"\n console.log(event.type); // \"products\"\n console.log(event.id); // \"1\"\n console.log(event.resource); // Map {...}\n});\n\nstore.observable.filter(e => e.name === \"removed\").subscribe(event => {\n console.log(event.name); // \"removed\"\n console.log(event.type); // \"products\"\n console.log(event.id); // \"1\"\n console.log(event.resource); // null\n});"
+ ],
+ "lineNumber": 163,
+ "since": "0.6.0",
+ "type": {
+ "nullable": null,
+ "types": [
+ "Rx.Observable"
+ ],
+ "spread": false,
+ "description": null
+ }
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "add",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#add",
+ "access": null,
+ "description": "Add an individual resource to the store. This is used internally by the\n`push()` method.",
+ "lineNumber": 175,
+ "since": "0.1.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "object",
+ "description": "A JSON API Resource Object to be added. See:\n http://jsonapi.org/format/#document-resource-objects"
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "convert",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#convert",
+ "access": null,
+ "description": "Converts the given partial into a JSON API compliant representation.",
+ "lineNumber": 209,
+ "since": "0.5.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "type",
+ "description": "The type of the resource. This can be omitted if the partial includes a type property."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "id",
+ "description": "The id of the resource. This can be omitted if the partial includes an id property."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "object"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "partial",
+ "description": "The data to convert."
+ }
+ ],
+ "return": {
+ "nullable": null,
+ "types": [
+ "object"
+ ],
+ "spread": false,
+ "description": "JSON API version of the object."
+ },
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "create",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#create",
+ "access": null,
+ "description": "Attempts to create the resource through the adapter and adds it to the\nstore if successful.",
+ "examples": [
+ "let adapter = new Store.AjaxAdapter();\nlet store = new Store(adpater);\nstore.create(\"product\", { title: \"A Book\" }, (product) => {\n console.log(product.title);\n});"
+ ],
+ "lineNumber": 251,
+ "since": "0.5.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Type of resource."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "partial",
+ "description": "Data to create the resource with."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "success",
+ "description": "Callback on success."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "error",
+ "description": "Callback on error."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "context",
+ "description": "Context for the callbacks."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "define",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#define",
+ "access": null,
+ "description": "Defines a type of resource.",
+ "lineNumber": 266,
+ "since": "0.2.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string",
+ "string[]"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "names",
+ "description": "Name(s) of the resource."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "definition",
+ "description": "The resource's definition."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "destroy",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#destroy",
+ "access": null,
+ "description": "Attempts to delete the resource through the adapter and removes it from\nthe store if successful.",
+ "examples": [
+ "let adapter = new Store.AjaxAdapter();\nlet store = new Store(adpater);\nstore.destroy(\"product\", \"1\", () => {\n console.log(\"Destroyed!\");\n});"
+ ],
+ "lineNumber": 300,
+ "since": "0.5.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Type of resource."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "id",
+ "description": "ID of resource."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "success",
+ "description": "Callback on success."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "error",
+ "description": "Callback on error."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "context",
+ "description": "Context for the callbacks."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "find",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#find",
+ "access": null,
+ "description": "Find a resource or entire collection of resources.\n\nNOTE: If the resource hasn't been loaded via an add() or push() call it\nwill be automatically created when find is called.",
+ "lineNumber": 320,
+ "since": "0.1.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Type of the resource(s) to find."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "id",
+ "description": "The id of the resource to find. If omitted all\n resources of the type will be returned."
+ }
+ ],
+ "return": {
+ "nullable": null,
+ "types": [
+ "Object",
+ "Object[]"
+ ],
+ "spread": false,
+ "description": "Either the resource or an array of resources."
+ },
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "load",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#load",
+ "access": null,
+ "description": "Attempts to load the resource(s) through the adapter and adds it/them to\nthe store if successful.",
+ "examples": [
+ "let adapter = new Store.AjaxAdapter();\nlet store = new Store(adpater);\nstore.load(\"product\", \"1\", (product) => {\n console.log(product.title);\n});"
+ ],
+ "lineNumber": 372,
+ "since": "0.5.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Type of resource."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "id",
+ "description": "ID of resource."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "options",
+ "description": "**NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)"
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "success",
+ "description": "Callback on success."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "error",
+ "description": "Callback on error."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "context",
+ "description": "Context for the callbacks."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "off",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#off",
+ "access": null,
+ "description": "Unregister an event listener that was registered with on().",
+ "lineNumber": 390,
+ "deprecated": "Use the store.observable property instead of this.",
+ "since": "0.4.0",
+ "params": [
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "event",
+ "description": "Name of the event."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Name of resource to originally passed to on()."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "id",
+ "description": "ID of the resource to originally passed to on()."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "callback",
+ "description": "Function originally passed to on()."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "on",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#on",
+ "access": null,
+ "description": "Register an event listener: \"added\", \"updated\" or \"removed\".",
+ "lineNumber": 422,
+ "deprecated": "Use the store.observable property instead of this.",
+ "since": "0.4.0",
+ "params": [
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "event",
+ "description": "Name of the event."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Name of resource to watch."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "id",
+ "description": "ID of the resource to watch."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "callback",
+ "description": "Function to call when the event occurs."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "context",
+ "description": "Context in which to call the callback."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "push",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#push",
+ "access": null,
+ "description": "Add a JSON API response to the store. This method can be used to handle a\nsuccessful GET or POST response from the server.",
+ "lineNumber": 463,
+ "since": "0.1.0",
+ "params": [
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "root",
+ "description": "Top Level Object to push. See:\n http://jsonapi.org/format/#document-top-level"
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "remove",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#remove",
+ "access": null,
+ "description": "Remove a resource or collection of resources from the store.",
+ "lineNumber": 482,
+ "since": "0.1.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Type of the resource(s) to remove."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "id",
+ "description": "The id of the resource to remove. If omitted all\n resources of the type will be removed."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "update",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#update",
+ "access": null,
+ "description": "Attempts to update the resource through the adapter and updates it in the\nstore if successful.",
+ "examples": [
+ "let adapter = new Store.AjaxAdapter();\nlet store = new Store(adpater);\nstore.update(\"product\", \"1\", { title: \"foo\" }, (product) => {\n console.log(product.title);\n});"
+ ],
+ "lineNumber": 526,
+ "since": "0.5.0",
+ "params": [
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "type",
+ "description": "Type of resource."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "string"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "id",
+ "description": "ID of resource."
+ },
+ {
+ "nullable": false,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": false,
+ "name": "partial",
+ "description": "Data to update the resource with."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "success",
+ "description": "Callback on success."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "function"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "error",
+ "description": "Callback on error."
+ },
+ {
+ "nullable": null,
+ "types": [
+ "Object"
+ ],
+ "spread": false,
+ "optional": true,
+ "name": "context",
+ "description": "Context for the callbacks."
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "_addField",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_addField",
+ "access": null,
+ "description": null,
+ "lineNumber": 534,
+ "undocument": true,
+ "params": [
+ {
+ "name": "object",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "resource",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "definition",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "fieldName",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "_addInverseRelationship",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_addInverseRelationship",
+ "access": null,
+ "description": null,
+ "lineNumber": 559,
+ "undocument": true,
+ "params": [
+ {
+ "name": "sourceResource",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "sourceFieldName",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "targetResource",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "sourceField",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "_remove",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_remove",
+ "access": null,
+ "description": null,
+ "lineNumber": 584,
+ "undocument": true,
+ "params": [
+ {
+ "name": "resource",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "method",
+ "static": false,
+ "variation": null,
+ "name": "_removeInverseRelationship",
+ "memberof": "src/store.js~Store",
+ "longname": "src/store.js~Store#_removeInverseRelationship",
+ "access": null,
+ "description": null,
+ "lineNumber": 611,
+ "undocument": true,
+ "params": [
+ {
+ "name": "sourceResource",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "sourceFieldName",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "targetResource",
+ "types": [
+ "*"
+ ]
+ },
+ {
+ "name": "sourceField",
+ "types": [
+ "*"
+ ]
+ }
+ ],
+ "generator": false
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Infinity",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Infinity",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Infinity",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "NaN",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~NaN",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "undefined",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~undefined",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "null",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~null",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Object",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Object",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "object",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~object",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Function",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Function",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "function",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~function",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Boolean",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Boolean",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "boolean",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~boolean",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Symbol",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Symbol",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Error",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Error",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "EvalError",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/EvalError",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~EvalError",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "InternalError",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/InternalError",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~InternalError",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "RangeError",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RangeError",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~RangeError",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "ReferenceError",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~ReferenceError",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "SyntaxError",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~SyntaxError",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "TypeError",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypeError",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~TypeError",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "URIError",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~URIError",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Number",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Number",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "number",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~number",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Date",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Date",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "String",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~String",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "string",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~string",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "RegExp",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~RegExp",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Int8Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Int8Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Uint8Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Uint8ClampedArray",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint8ClampedArray",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Int16Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Int16Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Uint16Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint16Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Int32Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Int32Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Uint32Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Uint32Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Float32Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Float32Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Float64Array",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Float64Array",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Map",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Map",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Set",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Set",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "WeakMap",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~WeakMap",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "WeakSet",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~WeakSet",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "ArrayBuffer",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~ArrayBuffer",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "DataView",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~DataView",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "JSON",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~JSON",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Promise",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Promise",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Generator",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Generator",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "GeneratorFunction",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/GeneratorFunction",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~GeneratorFunction",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Reflect",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Reflect",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Proxy",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy",
+ "memberof": "BuiltinExternal/ECMAScriptExternal.js",
+ "longname": "BuiltinExternal/ECMAScriptExternal.js~Proxy",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "CanvasRenderingContext2D",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D",
+ "memberof": "BuiltinExternal/WebAPIExternal.js",
+ "longname": "BuiltinExternal/WebAPIExternal.js~CanvasRenderingContext2D",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "DocumentFragment",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment",
+ "memberof": "BuiltinExternal/WebAPIExternal.js",
+ "longname": "BuiltinExternal/WebAPIExternal.js~DocumentFragment",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Element",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Element",
+ "memberof": "BuiltinExternal/WebAPIExternal.js",
+ "longname": "BuiltinExternal/WebAPIExternal.js~Element",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Event",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Event",
+ "memberof": "BuiltinExternal/WebAPIExternal.js",
+ "longname": "BuiltinExternal/WebAPIExternal.js~Event",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "Node",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/Node",
+ "memberof": "BuiltinExternal/WebAPIExternal.js",
+ "longname": "BuiltinExternal/WebAPIExternal.js~Node",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "NodeList",
+ "externalLink": "https://developer.mozilla.org/en-US/docs/Web/API/NodeList",
+ "memberof": "BuiltinExternal/WebAPIExternal.js",
+ "longname": "BuiltinExternal/WebAPIExternal.js~NodeList",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ },
+ {
+ "kind": "external",
+ "static": true,
+ "variation": null,
+ "name": "XMLHttpRequest",
+ "externalLink": "https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest",
+ "memberof": "BuiltinExternal/WebAPIExternal.js",
+ "longname": "BuiltinExternal/WebAPIExternal.js~XMLHttpRequest",
+ "access": null,
+ "description": null,
+ "builtinExternal": true
+ }
+]
\ No newline at end of file
diff --git a/docs/v0.6.1/file/src/ajax-adapter.js.html b/docs/v0.6.1/file/src/ajax-adapter.js.html
new file mode 100644
index 0000000..7fd4ad3
--- /dev/null
+++ b/docs/v0.6.1/file/src/ajax-adapter.js.html
@@ -0,0 +1,263 @@
+
+
+
+
+
+ src/ajax-adapter.js | API Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+src/ajax-adapter.js
+
export default class AjaxAdapter {
+
+ constructor(options) {
+ this._base = (options && options.base) || "";
+ };
+
+ create(store, type, partial, success, error, context) {
+
+ if (error && {}.toString.call(error) !== '[object Function]') {
+
+ this.create(store, type, partial, success, null, error);
+
+ } else if (store._types[type]) {
+
+ let request = new XMLHttpRequest();
+
+ request.open('POST', `${this._base}/${type}`, true);
+
+ request.setRequestHeader("Content-Type", "application/vnd.api+json");
+
+ request.onload = function () {
+ if (request.status >= 200 && request.status < 300) {
+ let response = JSON.parse(request.responseText);
+ try {
+ store.push(response);
+ if (success) {
+ success.call(context, store.find(response.data.type, response.data.id));
+ }
+ } catch (e) {
+ if (error) {
+ error.call(context, e);
+ }
+ }
+ } else {
+ if (error) {
+ error.call(context);
+ }
+ }
+ };
+
+ request.send(JSON.stringify({
+ data: store.convert(type, partial)
+ }));
+
+ } else {
+ throw new Error(`Unknown type '${type}'`);
+ }
+
+ }
+
+ destroy(store, type, id, success, error, context) {
+
+ if (error && {}.toString.call(error) !== '[object Function]') {
+
+ this.destroy(store, type, id, success, null, error);
+
+ } else if (store._types[type]) {
+
+ let request = new XMLHttpRequest();
+
+ request.open('DELETE', `${this._base}/${type}/${id}`, true);
+
+ request.setRequestHeader("Content-Type", "application/vnd.api+json");
+
+ request.onload = function () {
+ if (request.status >= 200 && request.status < 300) {
+ try {
+ store.remove(type, id);
+ if (success) {
+ success.call(context);
+ }
+ } catch (e) {
+ error.call(context, e);
+ }
+ } else if (error) {
+ error.call(context);
+ }
+ };
+
+ request.send();
+
+ } else {
+ throw new Error(`Unknown type '${type}'`);
+ }
+
+ }
+
+ load(store, type, id, options, success, error, context) {
+
+ if (id && {}.toString.call(id) === '[object Function]') {
+ this.load(store, type, null, null, id, options, success);
+ } else if (id && typeof id === "object") {
+ this.load(store, type, null, id, options, success, error);
+ } else if (options && {}.toString.call(options) === '[object Function]') {
+ this.load(store, type, id, {}, options, success, error);
+ } else if (error && {}.toString.call(error) !== '[object Function]') {
+ this.load(store, type, id, options, success, null, error);
+ } else if (store._types[type]) {
+
+ let request = new XMLHttpRequest();
+ let url;
+
+ options = options || {};
+ url = id ? `${this._base}/${type}/${id}` : `${this._base}/${type}`;
+
+ if (options) {
+
+ let params = [];
+
+ if (options.fields) {
+ Object.keys(options.fields).forEach(field => {
+ options[`fields[${field}]`] = options.fields[field];
+ });
+ delete options.fields;
+ }
+
+ params = Object.keys(options).map(key => {
+ return key + "=" + encodeURIComponent(options[key]);
+ }).sort();
+
+ if (params.length) {
+ url = `${url}?${params.join("&")}`;
+ }
+
+ }
+
+ request.open('GET', url, true);
+
+ request.setRequestHeader("Content-Type", "application/vnd.api+json");
+
+ request.onload = function () {
+ if (request.status >= 200 && request.status < 300) {
+ try {
+ store.push(JSON.parse(request.responseText));
+ if (success) {
+ success.call(context, id ? store.find(type, id) : store.find(type));
+ }
+ } catch (e) {
+ error.call({}, e);
+ }
+ } else if (error) {
+ error.call(context);
+ }
+ };
+
+ request.send();
+
+ } else {
+ throw new Error(`Unknown type '${type}'`);
+ }
+
+ }
+
+ update(store, type, id, partial, success, error, context) {
+
+ if (error && {}.toString.call(error) !== '[object Function]') {
+
+ this.update(store, type, id, partial, success, null, error);
+
+ } else if (store._types[type]) {
+
+ let request = new XMLHttpRequest();
+ let data = store.convert(type, id, partial);
+
+ request.open('PATCH', `${this._base}/${type}/${id}`, true);
+
+ request.setRequestHeader("Content-Type", "application/vnd.api+json");
+
+ request.onload = function () {
+ if (request.status >= 200 && request.status < 300) {
+ try {
+ store.add(data);
+ if (success) {
+ success.call(context, store.find(data.type, data.id));
+ }
+ } catch (e) {
+ if (error) {
+ error.call(context, e);
+ }
+ }
+ } else if (error) {
+ error.call(context);
+ }
+ };
+
+ request.send(JSON.stringify({
+ data: data
+ }));
+
+ } else {
+ throw new Error(`Unknown type '${type}'`);
+ }
+
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/v0.6.1/file/src/store.js.html b/docs/v0.6.1/file/src/store.js.html
new file mode 100644
index 0000000..0e2981e
--- /dev/null
+++ b/docs/v0.6.1/file/src/store.js.html
@@ -0,0 +1,708 @@
+
+
+
+
+
+ src/store.js | API Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+src/store.js
+
import "array.prototype.find";
+import Rx from "rx-lite";
+import AjaxAdapter from "./ajax-adapter";
+
+export default class Store {
+
+ /**
+ * Creates a field definition for an attribute.
+ *
+ * @since 0.1.0
+ * @param {string} [name] - Name of the property to map this field from.
+ * @param {Object} [options] - An options object.
+ * @param {string} [options.default] - Default value for this field.
+ * @return {Object} - Field definition.
+ */
+ static attr(name, options) {
+ if (name && typeof name === 'object') {
+ return Store.attr(null, name);
+ } else {
+ return {
+ type: "attr",
+ default: options && options.default,
+ deserialize: function (data, key) {
+ return data.attributes && data.attributes[name || key];
+ },
+ serialize: function (resource, data, key) {
+ data.attributes[name || key] = resource[key];
+ }
+ };
+ }
+ }
+
+ /**
+ * Creates a field definition for an has-one relationship.
+ *
+ * @since 0.1.0
+ * @param {string} [name] - Name of the property to map this field from.
+ * @param {Object} [options] - An options object.
+ * @param {string} [options.inverse] - Name of the inverse relationship.
+ * @return {Object} - Field definition.
+ */
+ static hasOne(name, options) {
+ if (name && typeof name === 'object') {
+ return Store.hasOne(null, name);
+ } else {
+ return {
+ type: "has-one",
+ inverse: options && options.inverse,
+ deserialize: function (data, key) {
+ name = name || key;
+ if (data.relationships && data.relationships[name]) {
+ if (data.relationships[name].data === null) {
+ return null;
+ } else if (data.relationships[name].data) {
+ return this.find(data.relationships[name].data.type, data.relationships[name].data.id);
+ }
+ }
+ },
+ serialize: function serialize(resource, data, key) {
+ if (resource[key] === null) {
+ data.relationships[name || key] = null;
+ } else if (resource[key]) {
+ data.relationships[name || key] = {
+ data: {
+ type: resource[key].type,
+ id: resource[key].id
+ }
+ };
+ }
+ }
+ };
+ }
+ }
+
+ /**
+ * Creates a field definition for an has-many relationship.
+ *
+ * @since 0.1.0
+ * @param {string} [name] - Name of the property to map this field from.
+ * @param {Object} [options] - An options object.
+ * @param {string} [options.inverse] - Name of the inverse relationship.
+ * @return {Object} - Field definition.
+ */
+ static hasMany(name, options) {
+ if (name && typeof name === 'object') {
+ return Store.hasMany(null, name);
+ } else {
+ return {
+ type: "has-many",
+ default: [],
+ inverse: options && options.inverse,
+ deserialize: function (data, key) {
+ name = name || key;
+ if (data.relationships && data.relationships[name]) {
+ if (data.relationships[name].data === null) {
+ return [];
+ } else if (data.relationships[name].data) {
+ return data.relationships[name].data.map((c) => {
+ return this.find(c.type, c.id);
+ });
+ }
+ }
+ },
+ serialize: function serialize(resource, data, key) {
+ if (resource[key]) {
+ data.relationships[name || key] = {
+ data: resource[key].map(x => {
+ return { type: x.type, id: x.id };
+ })
+ };
+ }
+ }
+ };
+ }
+ }
+
+ constructor(adapter) {
+
+ this._adapter = adapter;
+ this._data = {};
+ this._subject = new Rx.Subject();
+ this._subscriptions = {};
+ this._types = {};
+
+ /**
+ * An observable that will emit events when any resource in added, updated
+ * or removed. The object passed to listeners will be in this format:
+ *
+ * <p><pre class="source-code">
+ * { name: string, type: string, id: string, resource: object }
+ * </pre></p>
+ *
+ * You can learn more about RxJS observables at the GitHub repo:
+ * https://github.com/Reactive-Extensions/RxJS
+ *
+ * @type {Rx.Observable}
+ * @since 0.6.0
+ *
+ * @example
+ * let store = new Store();
+ *
+ * store.observable.filter(e => e.name === "added").subscribe(event => {
+ * console.log(event.name); // "added"
+ * console.log(event.type); // "products"
+ * console.log(event.id); // "1"
+ * console.log(event.resource); // Map {...}
+ * });
+ *
+ * store.observable.filter(e => e.name === "updated").subscribe(event => {
+ * console.log(event.name); // "updated"
+ * console.log(event.type); // "products"
+ * console.log(event.id); // "1"
+ * console.log(event.resource); // Map {...}
+ * });
+ *
+ * store.observable.filter(e => e.name === "removed").subscribe(event => {
+ * console.log(event.name); // "removed"
+ * console.log(event.type); // "products"
+ * console.log(event.id); // "1"
+ * console.log(event.resource); // null
+ * });
+ */
+ this.observable = this._subject.asObservable();
+
+ }
+
+ /**
+ * Add an individual resource to the store. This is used internally by the
+ * `push()` method.
+ *
+ * @since 0.1.0
+ * @param {!Object} object - A JSON API Resource Object to be added. See:
+ http://jsonapi.org/format/#document-resource-objects
+ */
+ add(object) {
+ if (object) {
+ if (object.type && object.id) {
+ let name = this._data[object.type] && this._data[object.type][object.id] ? "updated" : "added";
+ let resource = this.find(object.type, object.id);
+ let definition = this._types[object.type];
+ Object.keys(definition).forEach(fieldName => {
+ if (fieldName[0] !== "_") {
+ this._addField(object, resource, definition, fieldName);
+ }
+ });
+ this._subject.onNext({
+ name: name,
+ type: object.type,
+ id: object.id,
+ resource: resource
+ });
+ } else {
+ throw new TypeError(`The data must have a type and id`);
+ }
+ } else {
+ throw new TypeError(`You must provide data to add`);
+ }
+ }
+
+ /**
+ * Converts the given partial into a JSON API compliant representation.
+ *
+ * @since 0.5.0
+ * @param {!string} [type] - The type of the resource. This can be omitted if the partial includes a type property.
+ * @param {!string} [id] - The id of the resource. This can be omitted if the partial includes an id property.
+ * @param {!object} partial - The data to convert.
+ * @return {object} - JSON API version of the object.
+ */
+ convert(type, id, partial) {
+ if (type && typeof type === "object") {
+ return this.convert(type.type, type.id, type);
+ } else if (id && typeof id === "object") {
+ return this.convert(type, id.id, id);
+ } else {
+ let data = {
+ type: type,
+ attributes: {},
+ relationships: {}
+ };
+ if (id) {
+ data.id = id;
+ }
+ let definition = this._types[data.type];
+ Object.keys(definition).forEach(fieldName => {
+ if (fieldName[0] !== "_") {
+ definition[fieldName].serialize(partial, data, fieldName);
+ }
+ });
+ return data;
+ }
+ }
+
+ /**
+ * Attempts to create the resource through the adapter and adds it to the
+ * store if successful.
+ *
+ * @since 0.5.0
+ * @param {!string} type - Type of resource.
+ * @param {!Object} partial - Data to create the resource with.
+ * @param {function} [success] - Callback on success.
+ * @param {function} [error] - Callback on error.
+ * @param {Object} [context] - Context for the callbacks.
+ *
+ * @example
+ * let adapter = new Store.AjaxAdapter();
+ * let store = new Store(adpater);
+ * store.create("product", { title: "A Book" }, (product) => {
+ * console.log(product.title);
+ * });
+ */
+ create(type, partial, success, error, context) {
+ if (this._adapter) {
+ this._adapter.create(this, type, partial, success, error, context);
+ } else {
+ throw new Error("Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`");
+ }
+ }
+
+ /**
+ * Defines a type of resource.
+ *
+ * @since 0.2.0
+ * @param {!string|string[]} names - Name(s) of the resource.
+ * @param {!Object} definition - The resource's definition.
+ */
+ define(names, definition) {
+ names = (names.constructor === Array) ? names : [ names ];
+ if (definition) {
+ definition._names = names;
+ names.forEach(name => {
+ if (!this._types[name]) {
+ this._types[name] = definition;
+ } else {
+ throw new Error(`The type '${name}' has already been defined.`);
+ }
+ });
+ } else {
+ throw new Error(`You must provide a definition for the type '${names[0]}'.`);
+ }
+ }
+
+ /**
+ * Attempts to delete the resource through the adapter and removes it from
+ * the store if successful.
+ *
+ * @since 0.5.0
+ * @param {!string} type - Type of resource.
+ * @param {!string} id - ID of resource.
+ * @param {function} [success] - Callback on success.
+ * @param {function} [error] - Callback on error.
+ * @param {Object} [context] - Context for the callbacks.
+ *
+ * @example
+ * let adapter = new Store.AjaxAdapter();
+ * let store = new Store(adpater);
+ * store.destroy("product", "1", () => {
+ * console.log("Destroyed!");
+ * });
+ */
+ destroy(type, id, success, error, context) {
+ if (this._adapter) {
+ this._adapter.destroy(this, type, id, success, error, context);
+ } else {
+ throw new Error("Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`");
+ }
+ }
+
+ /**
+ * Find a resource or entire collection of resources.
+ *
+ * NOTE: If the resource hasn't been loaded via an add() or push() call it
+ * will be automatically created when find is called.
+ *
+ * @since 0.1.0
+ * @param {!string} type - Type of the resource(s) to find.
+ * @param {string} [id] - The id of the resource to find. If omitted all
+ * resources of the type will be returned.
+ * @return {Object|Object[]} - Either the resource or an array of resources.
+ */
+ find(type, id) {
+ if (type) {
+ let definition = this._types[type];
+ if (definition) {
+ if (!this._data[type]) {
+ let collection = {};
+ definition._names.forEach(t => this._data[t] = collection);
+ }
+ if (id) {
+ if (!this._data[type][id]) {
+ this._data[type][id] = {
+ _dependents: [],
+ type: type,
+ id: id
+ };
+ Object.keys(definition).forEach(key => {
+ if (key[0] !== "_") {
+ this._data[type][id][key] = definition[key].default;
+ }
+ });
+ }
+ return this._data[type][id];
+ } else {
+ return Object.keys(this._data[type]).map(x => this._data[type][x]);
+ }
+ } else {
+ throw new TypeError(`Unknown type '${type}'`);
+ }
+ } else {
+ throw new TypeError(`You must provide a type`);
+ }
+ }
+
+ /**
+ * Attempts to load the resource(s) through the adapter and adds it/them to
+ * the store if successful.
+ *
+ * @since 0.5.0
+ * @param {!string} type - Type of resource.
+ * @param {!string} [id] - ID of resource.
+ * @param {Object} [options] - **NOT YET IMPLEMENTED** (this will include sorting, filtering and pagination options)
+ * @param {function} [success] - Callback on success.
+ * @param {function} [error] - Callback on error.
+ * @param {Object} [context] - Context for the callbacks.
+ *
+ * @example
+ * let adapter = new Store.AjaxAdapter();
+ * let store = new Store(adpater);
+ * store.load("product", "1", (product) => {
+ * console.log(product.title);
+ * });
+ */
+ load(type, id, options, success, error, context) {
+ if (this._adapter) {
+ this._adapter.load(this, type, id, options, success, error, context);
+ } else {
+ throw new Error("Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`");
+ }
+ }
+
+ /**
+ * Unregister an event listener that was registered with on().
+ *
+ * @deprecated Use the <code>store.observable</code> property instead of this.
+ * @since 0.4.0
+ * @param {string} event - Name of the event.
+ * @param {string} type - Name of resource to originally passed to on().
+ * @param {string} [id] - ID of the resource to originally passed to on().
+ * @param {function} callback - Function originally passed to on().
+ */
+ off(event, type, id, callback) {
+ console.warn([
+ "The `store.off()` method has been deprecated in favour of `store.observable`.",
+ "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0"
+ ].join("\n"));
+ if (event === "added" || event === "updated" || event === "removed") {
+ if (this._types[type]) {
+ if (id && ({}).toString.call(id) === '[object Function]') {
+ this.off.call(this, event, type, null, id, callback);
+ } else if (this._subscriptions[event] && this._subscriptions[event][type] && this._subscriptions[event][type][id || "*"]) {
+ this._subscriptions[event][type][id || "*"].dispose();
+ delete this._subscriptions[event][type][id || "*"];
+ }
+ } else {
+ throw new Error(`Unknown type '${type}'`);
+ }
+ } else {
+ throw new Error(`Unknown event '${event}'`);
+ }
+ }
+
+ /**
+ * Register an event listener: "added", "updated" or "removed".
+ *
+ * @deprecated Use the <code>store.observable</code> property instead of this.
+ * @since 0.4.0
+ * @param {string} event - Name of the event.
+ * @param {string} type - Name of resource to watch.
+ * @param {string} [id] - ID of the resource to watch.
+ * @param {function} callback - Function to call when the event occurs.
+ * @param {Object} [context] - Context in which to call the callback.
+ */
+ on(event, type, id, callback, context) {
+ console.warn([
+ "The `store.on()` method has been deprecated in favour of `store.observable`.",
+ "For more information see: https://github.com/haydn/json-api-store/releases/tag/v0.6.0"
+ ].join("\n"));
+ if (event === "added" || event === "updated" || event === "removed") {
+ if (this._types[type]) {
+ if (id && ({}).toString.call(id) === '[object Function]') {
+ this.on.call(this, event, type, null, id, callback);
+ } else if (!this._subscriptions[event] || !this._subscriptions[event][type] || !this._subscriptions[event][type][id || "*"]) {
+ let subscription = this._subject.filter(e => e.name === event);
+ subscription = subscription.filter(e => this._types[type]._names.indexOf(e.type) !== -1);
+ if (id) {
+ subscription = subscription.filter(e => e.id === id);
+ }
+ subscription = subscription.map(e => this.find(e.type, e.id));
+ this._subscriptions[event] = this._subscriptions[event] || {};
+ if (!this._subscriptions[event][type]) {
+ let obj = {};
+ this._types[type]._names.forEach(type => {
+ this._subscriptions[event][type] = obj;
+ });
+ }
+ this._subscriptions[event][type][id || "*"] = subscription.subscribe(callback.bind(context));
+ }
+ } else {
+ throw new Error(`Unknown type '${type}'`);
+ }
+ } else {
+ throw new Error(`Unknown event '${event}'`);
+ }
+ }
+
+ /**
+ * Add a JSON API response to the store. This method can be used to handle a
+ * successful GET or POST response from the server.
+ *
+ * @since 0.1.0
+ * @param {Object} root - Top Level Object to push. See:
+ http://jsonapi.org/format/#document-top-level
+ */
+ push(root) {
+ if (root.data.constructor === Array) {
+ root.data.forEach(x => this.add(x));
+ } else {
+ this.add(root.data);
+ }
+ if (root.included) {
+ root.included.forEach(x => this.add(x));
+ }
+ }
+
+ /**
+ * Remove a resource or collection of resources from the store.
+ *
+ * @since 0.1.0
+ * @param {!string} type - Type of the resource(s) to remove.
+ * @param {string} [id] - The id of the resource to remove. If omitted all
+ * resources of the type will be removed.
+ */
+ remove(type, id) {
+ if (type) {
+ if (this._types[type]) {
+ if (id) {
+ let resource = this._data[type] && this._data[type][id];
+ if (resource) {
+ this._remove(resource);
+ this._subject.onNext({
+ name: "removed",
+ type: type,
+ id: id,
+ resource: null
+ });
+ }
+ } else {
+ Object.keys(this._data[type]).forEach(id => this.remove(type, id));
+ }
+ } else {
+ throw new TypeError(`Unknown type '${type}'`);
+ }
+ } else {
+ throw new TypeError(`You must provide a type to remove`);
+ }
+ }
+
+ /**
+ * Attempts to update the resource through the adapter and updates it in the
+ * store if successful.
+ *
+ * @since 0.5.0
+ * @param {!string} type - Type of resource.
+ * @param {!string} id - ID of resource.
+ * @param {!Object} partial - Data to update the resource with.
+ * @param {function} [success] - Callback on success.
+ * @param {function} [error] - Callback on error.
+ * @param {Object} [context] - Context for the callbacks.
+ *
+ * @example
+ * let adapter = new Store.AjaxAdapter();
+ * let store = new Store(adpater);
+ * store.update("product", "1", { title: "foo" }, (product) => {
+ * console.log(product.title);
+ * });
+ */
+ update(type, id, partial, success, error, context) {
+ if (this._adapter) {
+ this._adapter.update(this, type, id, partial, success, error, context);
+ } else {
+ throw new Error("Adapter missing. Specify an adapter when creating the store: `var store = new Store(adapter);`");
+ }
+ }
+
+ _addField(object, resource, definition, fieldName) {
+ var field = definition[fieldName];
+ var newValue = field.deserialize.call(this, object, fieldName);
+ if (typeof newValue !== "undefined") {
+ if (field.type === "has-one") {
+ if (resource[fieldName]) {
+ this._removeInverseRelationship(resource, fieldName, resource[fieldName], field);
+ }
+ if (newValue) {
+ this._addInverseRelationship(resource, fieldName, newValue, field);
+ }
+ } else if (field.type === "has-many") {
+ resource[fieldName].forEach(r => {
+ if (resource[fieldName].indexOf(r) !== -1) {
+ this._removeInverseRelationship(resource, fieldName, r, field);
+ }
+ });
+ newValue.forEach(r => {
+ this._addInverseRelationship(resource, fieldName, r, field);
+ });
+ }
+ resource[fieldName] = newValue;
+ }
+ }
+
+ _addInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {
+ var targetDefinition = this._types[targetResource.type];
+ var sourceDefinition = this._types[sourceResource.type];
+ if (targetDefinition) {
+ let targetFieldName = [ sourceField.inverse ].concat(sourceDefinition._names).find(x => targetDefinition[x]);
+ let targetField = targetDefinition && targetDefinition[targetFieldName];
+ targetResource._dependents.push({ type: sourceResource.type, id: sourceResource.id, fieldName: sourceFieldName });
+ if (targetField) {
+ if (targetField.type === "has-one") {
+ sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });
+ targetResource[targetFieldName] = sourceResource;
+ } else if (targetField.type === "has-many") {
+ sourceResource._dependents.push({ type: targetResource.type, id: targetResource.id, fieldName: targetFieldName });
+ if (targetResource[targetFieldName].indexOf(sourceResource) === -1) {
+ targetResource[targetFieldName].push(sourceResource);
+ }
+ } else if (targetField.type === "attr") {
+ throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);
+ }
+ } else if (sourceField.inverse) {
+ throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);
+ }
+ }
+ }
+
+ _remove(resource) {
+ resource._dependents.forEach(dependent => {
+ let dependentResource = this._data[dependent.type][dependent.id];
+ switch (this._types[dependent.type][dependent.fieldName].type) {
+ case "has-one": {
+ dependentResource[dependent.fieldName] = null;
+ break;
+ }
+ case "has-many": {
+ let index = dependentResource[dependent.fieldName].indexOf(resource);
+ if (index !== -1) {
+ dependentResource[dependent.fieldName].splice(index, 1);
+ }
+ break;
+ }
+ default: {
+ break;
+ }
+ }
+ // TODO: This only needs to be run once for each dependent.
+ dependentResource._dependents = dependentResource._dependents.filter(d => {
+ return !(d.type === resource.type && d.id === resource.id);
+ });
+ });
+ delete this._data[resource.type][resource.id];
+ }
+
+ _removeInverseRelationship(sourceResource, sourceFieldName, targetResource, sourceField) {
+ var targetDefinition = this._types[targetResource.type];
+ var targetFieldName = sourceField.inverse || sourceResource.type;
+ var targetField = targetDefinition && targetDefinition[targetFieldName];
+ targetResource._dependents = targetResource._dependents.filter(r => {
+ return !(r.type === sourceResource.type && r.id === sourceResource.id && r.fieldName === sourceFieldName);
+ });
+ if (targetField) {
+ if (targetField.type === "has-one") {
+ sourceResource._dependents = sourceResource._dependents.filter(r => {
+ return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);
+ });
+ targetResource[targetFieldName] = null;
+ } else if (targetField.type === "has-many") {
+ sourceResource._dependents = sourceResource._dependents.filter(r => {
+ return !(r.type === targetResource.type && r.id === targetResource.id && r.fieldName === targetFieldName);
+ });
+ targetResource[targetFieldName] = targetResource[targetFieldName].filter(r => {
+ return r !== sourceResource;
+ });
+ } else if (targetField.type === "attr") {
+ throw new Error(`The the inverse relationship for '${sourceFieldName}' is an attribute ('${targetFieldName}')`);
+ }
+ } else if (sourceField.inverse) {
+ throw new Error(`The the inverse relationship for '${sourceFieldName}' is missing ('${sourceField.inverse}')`);
+ }
+ }
+
+}
+
+Store.AjaxAdapter = AjaxAdapter;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/v0.6.1/identifiers.html b/docs/v0.6.1/identifiers.html
new file mode 100644
index 0000000..ceb13f5
--- /dev/null
+++ b/docs/v0.6.1/identifiers.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+ Index | API Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Identifier
+
Class Summary
+ Static Public Class Summary
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ public
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/v0.6.1/image/badge.svg b/docs/v0.6.1/image/badge.svg
new file mode 100644
index 0000000..324db4c
--- /dev/null
+++ b/docs/v0.6.1/image/badge.svg
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+ document
+ document
+ @ratio@
+ @ratio@
+
+
diff --git a/docs/v0.6.1/image/github.png b/docs/v0.6.1/image/github.png
new file mode 100644
index 0000000000000000000000000000000000000000..ea6ff545a246caa64074ba809bbc86fcb8589071
GIT binary patch
literal 4268
zcmeAS@N?(olHy`uVBq!ia0y~yV5k6L4mJh`2Fnz)OAHJQk|nMYCBgY=CFO}lsSJ)O
z`AMk?p1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3m8Da#=fE;F*!T6
zL?J0PJu}Z%>HY5gN(z}Nwo2iqz6QPp&Z!xh9#uuD!Bu`C$yM3OmMKd1b_zBXRu#Dg
zxv3?I3Kh9IdBs*0wn|`gt@4VkK*IV;3ScEA*|tg$M@9GsC^+XAr7D=}8S5q+7#b>=
znduptn3|ax>L?f)7#ist80j0B=^C0?nVMM{nJYknlAVH0QA(Oskc%7CuA-DQTcwPW
zk^(Dz{qpj1y>er{{GxPyLrY6bkQqisxCgqow*eWSOjjhNnfE$}v3=O8_{9OHt!~%UoJp+)JAb!m)@b$&7G&dKny0|1L
z72#g21{a4^7NqJ2r55Lx7A2}6#Z40`Tsp!z
zltV&xG&-oVK7NaS>zC6t`)YIXL_}k9Az?X8cr@J
z4p(R_U}}ol`}hBw(!Aes=Pb+L7k|4|J->LL>E^WJnbrG`|9bn^_WJgHE}@}QHwNvP
zq|xHFCFkBEQ@Obdjwazhn~j
zr!%JWZ)KHpUU=PU_wg+=v=?k%=+E>`j{Ao64ZDh-mN?ej3F^8J4PSh|(9T%Z$XcUx
zoFZ^EM&sdfk$Sk(u@Pfw+-*V@)eae4v_fk!`m~6s?F`$x=YE;JKV|2&3Cfoi`Le!PwTGE!N6i0Po~qu|
znSt{f`xu@yS29Z!SU)gizjgA{XBFuM%#1(dH?s5WxNmfBm0$4bv(w)QpXhG(*`kuL
zqxoY*!oxJxEjO7qCME>wJM2*YFoSb#e&o|5k6#^Iy40Fa)^3ZMSp(yDHJfEKnF=1v{O#3jOlU{vOcUt$6p(x{9ek
zT26~6?P`_oyzuODYvVZuZrOilEAGrncI0=k%vhjrw4Il`R=DYF>g8R`QL~b3cYgWJ
z$QG;3oWCgb^n2dPzvJGC=DlZIa=WdWTe|v!8blTt7YTy6H@QFn&z5T|`Zn?y9_wKlA`jY;xr+DLvQs{8Q>VsMhBmvd-*W<-#4Dr@t`I+;`^t$MSBbQ}uf`
zoYaUjW0NyE_%q;VRJ5pndwSr+oklx$D?3Ntn|$#0?hA7-e0Q~+VXad8IPm9Pw@cTH
zFC0Fcxz=@mnvDMW%?p;NzhG8(eDC_RFD0@0I`gJf<;2f>*ZfW>%>C=`z?$?qWLEd)
znK~P6xNN0&g+#H`3BGRn)-mDdKg)o1H)3<-R
zJHGO6J;$>`;da1;%ghEgr{_3C#kbs)Q@$^h8M=={VeQ+BEu1Sd<}{UhJ&&2cvQth>
zA?DON1)+&))?b2OGwu)g&nr;Co@jdbvx4`mi66N>J8So`)E=9`ysoXz?V=6GwR=S;
zq!m|Z|7F-0x=`Sn{;&UwHb$9W6HcgkRoi<`>(a|<*;}`SdVH2i41X^Er+96n23JAR
z#>t}6TSC14E$eAe%{esHYi4oP<)d|bj^{3T`pCpVV%guOcFDUNIBRv|L#0gw+Ad%((?Nu5c;x-Z|$-BdfweCf86@|Hu-=PZ7B_HM$?Ycn<$L{ExSkV@aV
zW9iK)iQ<#v3-lL@nfiCtI#%a{7EZ}aXL`3_%8#Vex<%2Y3J;8y9tn@in|OPb54S;V^7hEQ
zd9B-4U17T8rTFlzL_%%e&dPaug75rVmqZH|7`L|AZ@f`+nz7Ynb|&M$6Q4fmvTtR`
z{^5Cb^PZaSW6KVoWLYDqx_sl)r_m;Nx}>LRh;F;`>67mA43$-^H;$d_>O8xJVf!a(
z-eogf{q(k7V2WA!#cbQQ7dG6vOCPR_iCko{)beoAXPviGF8y8MlG(I2@`aPg+WvOJz=9Je{`Sb?DVq49=j!_2LHAQ
zb+-Ll7{sRYBcR)8El+66?*5#~-cwhLY8zTfx}5RqT|fPH^J3A>7IJ1rnLn0xNq(Gg
zwO{9w@RO>=)xUolnLkiHHFc)S#szCho;#nIq4?+7;zf761@vCqoNp<9d18(*!{f2
zyz0WYrYzlH^N@SlAJZjPn-__$_`#B~mx(Q!|I`N0Vo`CEtkXK*`L{CuKWp*4>yW^+
zztJz8Bp%*jYPs#YZ2tDyAM(;|)p&xLk1gMO{cc^micH0tHphP~xzP*>=NtYVwb1rV
z>^FUOg>U9WkH7=oA1bas@8WdN^_g*zX-DN*-3`AY_cgvz``6R7?u_z^EstG~bzV6g
z&=go|y*F`txG~c-rq5ivKijIDxb5t>wsw+0{e7AKzzc?I)%EdhaaCS%^Gu7vo!9&d
ze|+clkp;;;6Xdr}ei*&sV&&HV#uF2b-kJV7oj>8j`>elzl_EW7YQ{hLX(=}E`oX7i{d^{xlb;>UDPHP9_
znv_H0NgPIzkG-1jac%byKKAU}qXz9`dXJRK=P^3J(^7uurgqPW$!x~Nyj7F@Zn&)f
zJdtzzzG(+E-mSj&g6~Ln=1p@Rql4|)Qj1x`(?sv6%ZnH9c)e8HN3%3G_qeFU{)ZDP
z?1SPZ(lfih{5rkFeu5+GmhNx78AdZ6b<16kKL2~O_L(g=CcNZbXYlX6-jk@;_wSao
zZ;)>*TG>~79eTd)w?g_{O?j^1rxGnTh&6qeH(dc0T^-{#a($ET+F_+-J$m+%M7?_*m%5
z9G)$xB^u*##Gf!Rl^)vP5eEZbPyiaXAW1j7feKu$7+$Z)1eb$1%-*cxr
z{ZC_QyDKGpV6jTn9`%oVdt23}oldNqd$W2`!0Ag%+;?0~S(u_z+xem1w`X(xE_wTU
zrTyW0+-mxpR`TCobz(nH|9=;ra;v82Cc-PfPy-_vj0c#Nxd(@*~Y
zm{poru}0vATO89iHgmU>JI#WJW7W5ruWIk~
zWnYbNKk4@LyI3K9A@#z1my`#mI38}Ay(`G=^FEbqf98*UF$sSxC;k;`tvT^z;evg4
zEN{tQT%h&z)PgYKxqm)Q^PK-8-855+$277m>yz&y4dYyEmFOLojAAGB9~jy7f
zL~ullakwP}Y`v*w{r>N_W4qZs@0dR*mJEnhkBwIldT}sEq$j%jzF}Yc(q(f(8VWKu
z+c_TMmD%91tUtv3#q48U;SUc5ZZBC~yOBv}LZw;TY_9(3vQnzuho3bb62YD*+f2qAt}xC2J#S{J_)I&t;ucLK6Tg
Cd!TIq
literal 0
HcmV?d00001
diff --git a/docs/v0.6.1/image/search.png b/docs/v0.6.1/image/search.png
new file mode 100644
index 0000000000000000000000000000000000000000..f5d84b697dad0c856a822c2df0a0da46ee3e9be3
GIT binary patch
literal 12704
zcmeAS@N?(olHy`uVBq!ia0y~yV6iFfq_LO)7d$|)7e=epeR2r
zGbfdS!9uV#^nU*B5D~l1{GcUb_6ia1?OjLLhXzOQl$Kh1jLmcM(zjk>OJCm5Qh8!!
z-nmkm{r1aktNg1Q&Ds7iI^1OD_pnjqWlO5Q`R%|K&){~gRh}NzFOKjls=Z|meYm?U
zNj>;T%-3J1E$>@Cw|*XX+r>6MbL%Y0(2i-V*UdezGIjEDu_^O>yDn|M;>~Kl|?=
zncLa!e3toe*^Gs0HPiIkIYJc|kE`4IDcW=PUC??hx|U-Po6VjZY5Lm}|cKNNdtR>{g$mHsm}ncJ~ff|9l^
zKH&bs#YNdqOgHK3N-ygr0rQNe9NFt;W}|9!qNVll=|n>%|4TwScPlOXA0Kb&*(APK
zcTwO{>*MPS_MhAsVIO>x@sE7c<~Ih?>B37knBSQFhQs@y)j>X1uA*EkQLW3h8ec!}
z@h=S#v+@i0^v9uAqa*O#&G%Bj&i4Ono3+7P`-`&w1w)hQx55hS!WpIJm+Y2jXWPHw
zvpL1K`^UMr`?9l3{uF-hz1y98+-yVMv2BNb+*rR+_fKvRlXXH>*R+MFK9n8etWcJ<
zjbXg3%KJM1LF9#7LAN$8Ui#{1;{|24gZ3xv&Rp90@WQHpi~g<5TM@rP{K|dntQJY@
zWh%8=wc39*YSnA?|N3;5MD9}hs}ehP-$XrD%iZty&R4xry*@rs_-dWbKb`Vt&!0^;(i=o}#>-7!{$%fmH=N(j^8A(ED^bF=Im>rzweCk22@`%*wz+KA
zkA)mYeV`@B6r;(n-Y
zSjPPI-(+C}E2{^&IzFl=j33RlDhzY|!c{W+!r9n5w)=dGJXe=pGdm?3esle*^_rYD
zr*;^{UUhF5J!>L*{;7sp`HsDZx)-bLYgX!e;dt-&KG(9lJh|_pUE2R2vVI+w5xqjV
z_N~Cz{ZhBuKKRu8C@j-16JEZk@Yk?b_ULtQOje%wmQU(kALQ&NfOv
zH>Yst&Yk9tE7Y8?tYcijDX=>G!+(~X$~-2Qo#`87-FCiTbmy?Z;qs6F4?cVL%=Y#5
z_4x&x^`^P9#VJ-;yd^fcYwQjt-be*0M;l?mJBxBTcSh?ui_x#JJ1zz1<159AW6
zWp~6y?ksxxdtKO}Lnj&+ENmE3A#<#tO?O`YoC}$%0c1to&yd?*5fp68_xrMOtETq5Qd(&cU|)i>`O%
zD(~9+`oi14wX2?ftT9^9*?58L-l0}*^|Z9KbFIeDlqT;En;g6)!SUI5z71DON=mM*
ziQN3GKdL~GU9#Ym!wnYwxBq^>-!GkF+u@Vf7JTVYh1{lnZ#Vp2zB+8}FJ8Odhfgr(
zn$2(Az!CRrlB#!_;^b-xr}D)=^SIA3am@EAugv-S>Z)|(B5ezmH8Xis&Np0bGB15~
zWzC{Ri++EYa_GL(3pI6r{_`D28Cu>eJX8FaaeZB^|MlzFPcLBqf1;s^ZH>sDNs}hc
z@tmxt>*V%bU>nodI0FfVO?#DZ$k~^?2)KG}ZFDq`S?dMo0}Z)N(>vF_E>|qFcW^5Y
z<@mGwm`h5Hyu**Wo^|iI8eRo3_c)wzkY`&XXw$Q+PBhqi-V@thcK3K6tiJR3@RVs!
zC9c+*HoS^dm6Vvm_?XpS?&l#bmHx#G&$_3j@3C#JIz2&t;>(khW&9IEr?>y$n62o?
z&3T5W`K`}!k;%Ue6+SXaU7x-o@XZv9;F`w$PCwEt6ozd#?q**~7_X?=33-=+IW@npf$2*L3r6Ft0MUd3mT$#`07AMGvuy
zvEK|Ea@N1PvNHI7viNno`&nB();>5p*ZTYCiic<2I_~mDom5_TMY7?=+r!T%K=Ul_7OwDd_{dw&>OJ^H!S?3k}_;a;{t-w*b`L^iOif20$pP!ri|9(kz
zN4z=nEf)VU)1RzT2a+>5ZthyCY_(lNApY^AZ_@?#8Vc;Kci%Z@^K-GCI?LsmvvzIS
zw5Q6^@!(~Sf7QPfpV%)YwolhJ2v}57qgSK$(_s9?6<=$s#f0(
zw)*&U(!-NByH7B%9`#F?k!bePn<3;a6nv~fEx?qg!tP_lyagRTTK^_Vt>!$E!FFM<
zZ1>5N+mnhuZJsgbPUaRvmiOAsGv%&NldFt*Q`Z05a9PEjntZor+n)268EVDmr%&8E
z=jfI0dH#khvD*?)B(X4;%f2I6`N&GSMWqb$*+0BG#H_2U%Wjr)qktvFqSnGL_uHGBtd^FR
zn|^&3xnjtgTFduTJXu=MYEt3`9qIn^hjr#X+b%zQBKg7R!!*5Et@XY!vu#w2&o}&-
zb9kHVZLyB?)4IC4?ru1;{*1D0jrgK>L05Ed^W;pQeKO_Kio!rm_WS;-^=juiq?zY&
z%+t9ybN1}tY%K4MrwRX(le&F*hWxkaJ&Pam-ng~!$UUDu%qdpStnYEkp9p$2KeXwz
zu*8RhKc78&_AJG6C8(!!Y~N8EbZw#v?I
z*^^ctT~F%dUd?OsdB1jn
z!G^fKJUfIQO#EH8-dUli-qTF#|Fmn@uCZTR7rQ%r{p~yMVR3PF%5ihPu(-T0`|kaH
zyUULP{ddo6FJ6h}|F=nW-L06J6?5j#|G(p9Qu~<)7Tee_me#7pD1PYND%hy+y39_x
zx{m3gbhZ}1P`A+J1OIJIz-@s{l$
z>x?+1$t^#{6BU&H+&^A2Eh|P~m10#Z+a%?UKUE6ucb#3&`GD<`h~5d!*u4|)-t9lO
z;fl*CgHO9YJvi8$dfxtjO>^guzXy8CkJK6D+}N<(tw*Ae^^eWjeyh7{n8hEhUhX&d
zmt$@1-mA?1c|~c}k$t+W_F>NM~#k(%2Hz^AanQXk>di=n$pf{8F!yfwVXl{`B
zY9!kk*m?Dd?lVa=EIK%&`K7jc!NK40f9pbi^~cOmO=DayF?$-T+>}kJ=4+O)>lWxgujW|rbJ>Na
zgPrY$umAm@(R5v8js(Y#?~4{KGCOieRxRP!*PmVwY+D;8W;z|+Kf!3ilm}C%OnK5H
zXZy>NrT^E~YbkZI|E47=eLU~{D*F7{wu(Jb5fK`T@02U4$=v7vCX=y*DM9DRiqBn#
z+xd-8f9@_x{i-6mWU`uXRLg>$UNd=_A9UPEoXxs%wbTdY@*Srd3Up$)pRW^pFVF#%(%JpY}TJoEyWM*{!Kh6r)a3N
zQAUUBnw$u8CzsqKmA~wcjXqoAd~7S3J|C@{^5Ub-xmdQA>XO{6_lC~Q!Xs`1oteqcCLP<>vR~z}
zL(IX$zZlB1_eCvEoO@8`S7c3-lH~U4>NP){YLxbU+@|(?ske`Jj8IOP_vJplBgvT`aPYA4X5m8BISa2E^>D3w;=~ZO
z*Epr)hg;1O(S=909oZ39bL6QVb2FEm7)OA0P5+xj^J|+YKTrO-dYmWb#`}=K@!m2reQ(xKlvL^);>0UvH9BA-DT_bO*aaim+1IWFgab+LcbzS<=fop2aK;88#sLU
z^!fAtwu!5Ca!(Yp)`du`Jt{ob;1=(7#`}%+=8p84hYm0tY<}#$wefiE{OKEnxZ;Z%leOzMr{KQMaPuK_h!J>8@BAd3v
zU6o3dxH$QH=cn^dY+HVYCB@%rXbri%goF7n3xBvpsHW|QIhk2mmn;??XDDi9{J8eV
zjn+jm+D_5Z1!oP!t{ir-KX~}XOtXX4>$Yv%Hgn&m$&4R$S)N(?Udzm8p0#5m<7wA}
z(c5xvUiEmn{&I?l)L|>%ijJeTY+HUt+-lgu`dv4*Q%YioMumiF@YK7FbG~mlbs`V4
z>`j58(HC5LUPkC~$p!tKZ6et`{lK3vVY#G_eT=#Lu3Zz`lWbR`8ZTlqW8E{`MLX6P
z=bfEpn%{C>_TiR@8eO~al)baIE$9%|UhswE-WTKg-kq-J5D+DKY04=*{WCP9?d(ay)NqHp)1A<&OX0&tEGxvifM!UhXU8x
zYdG~ktcX?#61F!>y7;U(H}{a+eD=iP{s#}$-kLgw$gTCeb2@X)iWLvIs}@a6{%H4c
z=a0DV&RMrw#Qbs&TvV)O@2b*{pXz%_gf(X!y8PSVLN$NB)BM`TI@dP$gWOk`4~DKg
z`Tc;AqJ>(-=5U@R$+G`rEX>cZ=9;9teed46P1AKUr^&28`TdgGlH3R<-LoAA6Xs2v
zSlFs&78MnxQ87#Ak+N9szU$Y_YD!wShA!ooHp`hJ_PXHylFGwvyzW~bDDu@y3f%YR
z`4OG{=9bCU-WwV}y^VO5B&TxtO5WSeaGsTU(#Hj{$IBLLS4MPup1Rd07S(gC@ul0#
zSw?#WfB*z
znE8B|%PDdBVyna|R*gKN;163Yloe!VB{>A&<~SjHE%Y?cd8_HOas`ZSHve5NTYG+S
z>Mchhc}WH4lmonMOT2GCb92m_(x}OK_>M+<>WtG3U^CBrU7`2n($d_kOq~6n0`MET
zcNGtREJs?!E#+g$HM5c$B)6dTfRj$~v>-o8Pw!057#bq`zvmN;^#LVaS^~n@&alI8U|5hX=
zaBxrk`XR*9R9!vYi{r1u?##rwvBD;Jb2&YnG6Z8Ed_cg6PXL(V$)
zj2qtgU3K+~p8eq-^TQPj-9KDgAAi3=J8H4gz)Ya+zGrwoT%UyTiFNSpGld7T24zj+MW#;&j80sG4`Vx}Hr9GQI~nd
zC8d4emX)wC&C2HH^Le0Y2r3s}1nm)eJYzvwec8!Lszv(!^&RnrUH)GN9
z3>|US{HLd;zE_@FA3fQWV^8I*4+7o4c``n4+`^d2{Vw{Hkf}jI;0G2Sx8>V17_N3R
z_CB1qX_JxZY1Xfg9xb=#>Bv8N{N0pieww##HCTsjoD#?Oi&L)2fA)i?PoF=pUoEa<
z|2D~?rhCTe%PCX0nJws)mfrA1c+an81^*ALRjTIl0OeY7K7A6~seO&n?Y%;IV?@MeZiArMSpn7QH
zqR`T8R^hm1pE`D@ZQim#GT>Ek=|=f2^K(|$H#|^W8~(f`rgDGb|G(e;H~0S8a7%fg
z$o#C$@yTzpAD<|(VP;vsa^=hNf|}iChYhNZ>G;nMmU(pXg?DFVXKlOMM-yiW35AM?
zzfe3$-Y>(jp%n;zTqJ*<6w+lr>^7cP8IVsf}#6lgo|VD0>%H9gkW
zHF=v3CxIIhrpOJ6J-c@83S&9w_I-8n(j)WF%&`o}LEp^T)aMzb378&t9XR%-rwW
z)9Cnq=>qN|4#%q8B-fwiB5qf#3Pa~@tNQxt?!T+2X3a5b5Dk37YHKavE$Mgq!z-I3
zm#jraMJMmkn*a1wl0sUWcw^*Z?sw`LOCBy@44pn@%9D&E?mqL46zqiJGevfDcuh6@
zr`i1HnHqC5SDd?h`>g~AX016km7mVvQE5)ydA{L?N6pi^lkcXiusn8mUx}>WIA=7nSZcdrtM3eqMZjM}CanwYQH#j&HktY||b^=SN)kR)wyvYt~+P
zYrDn6e*toFOq&HS%e7rvXeA*K-{F76+)9AgMbS`qqwNRrcN=Fm?r36vyxVZn*BNO-
z7dCWpadE9`EW8kye%36aMc21R(e7eSu*$N~wSQO4)Q{evswMC;;^8A*mX9fC+a9m_
z%d+kkf5x#4YqKLK_bd4ATYuB<$jQhfCp8j6wtKXt-OD*J&7)1d>`~K=ugP!OyqypC
ze%gPv?{Zkpp}l1rh2J$6-q@6S`r6~{Wo!2>h`lIzqGMn6gE*Fx`!*&YKX?53hsOP{
zZZ=ClEf*0JGkbGqXYq8okZ;NdxsG)g+<(W}th2Z7)|Slq_ctaVU*EX%w8EX1Sxn5F
z-1j~{KEAuFtLv7c#(kfKcKiMI3P*f*{BrNh>O%(CnK%BP-_c#VLqhFV@&zYxSO0GH
znnM#eJm8$SXV0F!i`{yodJgQnqh8aus?%gowL;Z<u7I^sI}!xmotUT`@6NpQqG$-CSd-p6
z*l5t|GF}J$7n=I|`vc=9@ybuD3f!lfx~V#QhjOf-&BKI;hgySEMEGYOOy_y-GOcZ5
z=_Rv;AMLwRTgqnSolp2-xHm(}B~DGCo_k-ht{mIy%OCD*RIyoKxXR%EcqhM7V6uTc
z^8#m{xL0r9)NI+bspxluJny~6b+37P_SiAi*B(wVZff$o$ldi*@X+nZOeY+1Q&+qOvA11t~A#^uQ_15s4}C#|7TvHgQ(JD>-JUK9U0;s
z#kMY8v?$5^-}h|Q*qID*96U<}cH9nJpHi~wx(?3?-?&iki=Vq9r=R}n^MOTuSCDo=
za?Q@uGkP`n9$n_RxU!u=?!fcLZ{NNl23pxH-m)z}JI{8v0;p*h7IsYpG18jIV)(6T
z$qUH`(f+Lb-%j5?SJ!#0qMtG52a}-ERUSJ&XO7t)D#iZKcMdBPQ$CpfG}z(6_QV|l
zJd^!piY@yj+wOn*Xvz5h`7fp^Q!Nr37CmncbPmr3)V)?_b|tvbDyfH*{j7
zgT#UttWMQQQcf>_|GmmH{B;e|h(~zfpoA^O-MGEU$+j6u$k@j-2rnoXatT@WxdR{wCcFODQ>D%<}_6RKF2-Z*eGVSi|eMdg*Udywgdi8%~CQ^E4q>*N=MR8^k*!(EU0{>d=0Wfgiq
zpD*xUIpy%$xiv@rKi#ptmht}i$B*jy?w_A$U;poJ`uy5$j5QXuTIwtzYWYbIn$#ye
zmF1c-=MU4I+UiegA9#!s)R|`-E0vojd*GYcw(A@B_M~rlYW-ivXo1rQmfbcJ0|Np+
zn5?U+;W@j|xH3vZ!lKLPLu$k>&eetgrR}Vp6SsQ1trFbRVf!+oz~Nq_)G1c>m`|GB
zoSe)8`@Sb;U440Zx%S1swo*cygN=e`Klm!qytMDxNcf^(5Ox^n8QJnn_&OcLmCNL&4EKBCFc+H2-rMi`TjK}^?vV-p8A{H&)bEC%1S+q%h_D@-t^%5dd3D3
z+x|T&;-WeAy!*6mR~=fBbhRu~KXv22eQ~>XWN*B6svw2s@`v4qNwq6=760z%7S0Mc
zF*B>%y=>XD<~Y6w*S9b8o2#YtBYejUN#XvzKepC4UCzlVU)*gi7IU33f5q+{Ze47<
zc3i&TFt6o{&F?BiDUN+?!YRD*{EqyB#V;z~yZm^*dw$_t
zOJ83TTmIC=x_^;)uW0%AR^KmcME2a9aG<1Jhv)eD-jtfj)!#oGm$F?5;PY~8zxl^>
z#=8sisyZ)vFL>el{OH-ei9)ukS=ajqoY2zQtWd-MSuS2aOs2;5@eS^U)jYA+do66=
zomkzh#Wu(3qO?QjYwJTwRf&Ro?lE{C4w<(5uq)*Z{
zzw9cfE)u`*zEVz*?IQQ=2eCbzJ+J)EoH;Y6TlUh^z26@3|0$Ztm{RnKCyh7k{)&Su
zUd!wM6SyGWHShb8+j>49nR9rot|(r(Zfat(Cn7xj
z`mJ`c(s<3Pd%KT>U0nR&Xvf@5n>IcC`SWLd^NXpECIqn@fGi`hs1!<)e{-wpee|qZ
zv+Ba5qpPjhM77F;zw9aR?p>7b%KYu#SLe19$~iB-O;h0TQWRS%u>bX+71!5VDdglc
z{}xNQ-}LU)wG{cEMcnPPp9XxnlVV&Ixvf)6va>{H*8n*|U2&
z51C6URq%GrYe?A1_TT@&wC72o&H?WvbJ_#n?bi5iaO7?5pZX0ucUGSN_4V~r)^iJg
zf>M3fk!hmbd;uT!^iQ29Rp4(RKJ%LB;Wl3B)-xZtI38*IDX_HLEaxDa{}E
z^4^brD(rNvE%y0`N}=cVHQ(OcoNVzw`A%{6wB(=PIhjRl-zy(vySVs4rM&u@gX(M=
zRriE*cfAPwu%}<}+5=^f{7JLOFB%p1juY%eKGb|!2}&hDC0N#IS+HGTXlDzrw#dGwQ6;jc;8@a&HODv}wO){1dmtfq
zk^8}50g;vmw#*Sh-A&JJ&jw~+P^l8xvqJBY-))Hl3s_n89hPSa+H%D;I38G4n|ffy
zbdjH@di?ty^09qR--+>{rAAKr8+M;UW4OYB(ifcH@UeS22LDiNFg
zd(Zr0N@n1Fv-N;h`q4ni57D47xO-r(nNdUew}0&K9+%$En0?ahr)HIi&1B`)8{{hVK!82=u472{84^F}?`ME{uA73a)6oB0A
zSTV6QE8#)AfUTb7(u2Z<20JvXBnw|XI-hdDi|y6x*XMob+x;~*$ZMO*7L_LAl5est
zUrbc=Z`Sj3bDz(hb)4tCX0grr3O2uaHa{&k?U{T`T1bfb&WSG?6^fieKd<
zQ;zZIOKz)JGnFSHuu(O`K|V5b&QdqavtKkSrm?Y{^_s&N8N%SM@ArpCZe?R*$BVrt
z#m~;{arsy<#Vl}H#hj}=30J2#{+pG)x{_qF
z==GkpolAG0Wcc%y^~}ZB2W0l>NH
z4rz6l&zj%=^J!h|ZnixYb0y~~`l*~rkVsf2&hvidm9BNUQE6$<^aGAD)F!u0=h|#z
zF2ZAQ+4%g~6DN*~iHYrN54?T1_9B14fqnL$tR)qg=NlaGIlsrlVVOF&^OwsOX%)|Y
zPV8V#YM2@4aKw6zSmZs8l*;M}Pxs!8cCr8Z`tC`8BL}uc#s_@#t@NY5E1j-hp>M_&
z7jO1sE|1Cq23LK?NmFE)4*pK6to+%#w?Ly}ug{0cJSqnnT=h9OG1-}@tEZRgvv9@f
z3;$7J_B3+1=sjse1K;sId#VFV&nF!h+0!uRK-SxYhDFQo_e<=Vu_5Q?rk71qnwH;>
zcUduqv1?utJ7ZjUc=*Z%OCG%ZE-EN>fWg&&@8mq;77?4TbxIDw5({3u{3^0*YdqsF
zo_$+=*7tXu31Hh`bMa}!#>ITSITyCxHMj~Cm3Ay4c5*U5CJON)G6+by9Sh1z2={eg(
zoo1dTrx;xIL)jkBpFeS8;e^x9N1u1PPhh++@!(R>y@1{~>;C@u`1t3WOI3&Uy;Yg}
zBodZA@7U(zcWYzi=V#m^dt6pLGE6z(&ZbfIZgMYUcW#gt>-pNeNF_;+nT%a=r$oMK
zGsNCnyQ#V9dcW8|XSOc}4i}4$iwo?&e7sM#+SP0EgPn&py%m|~fy7&{#b3R8b*q=B
zh)wv96vdPS)@&M8D+_O5y!g>4pL5Q%OQ%`vPc{^>S){5~vM;o*Ub1LWlG3?1Q#Q|h
zsCr)UyaID0D1i#TwLctbo1~r|{6VJh#N-nW20Q^@gr3XZyu0$*vu9Up&o6lJHMRNv
z$p%J{c-f_{S+iz+uI*n26;e@a4tD`7u=@tnY)|e%MPIv@mwX<+zuY
zmHp#gwrI}IFC2ZB;!bh=S7&ZBJaF;$Kfc3zcmF?f;!XI5?YsZ$%WT;(h5w&FTTgPs
z%zMlAoWr-V-n<+1MpB`yNM!ex`9(+bQw~J1X;jVM!PoTNAvE;rzKFh*>1JZacl_CS
zQWVbIjqbQxygF>Hmh_q2GauNJ+xJgoJS@Rcxa|A0mBGu!ju(f!?P2}_%9Uw`8|wf6
z+tw+pe(l+_XZPC7OGRh2+Es3mSdw8;`|HbFY4f~48uxCB?5W`SSZ*(Taqjt
z9Uc8XVt?J=g)Vno4tlq!$~m*~q%7!vaktCoy%e*rgvh22S+|t^k+HFRvoA3J{^N1*
zwKLoPNsPB81TJQ0W>#)nupoiU<$YE3o5^`O)z#H6XPIUTiCJ%)+m!Cja)HlCpt(_4
z-LK@@_3QTWAt5G4wzhw}4f%}I%#C*ceSUtve&qJNyVfV0mOW5CEzz&eoMv=kZ}IbU
zyAB;X#FkQ3-=urm#aN+izfIAT6Y)0x|9n=T^WeFSjry98GDZmo%-mu+Kb*?SzUeDg
zna@aKYk9}C?fv748&8E87$5d-wVmh9#*>op{oP%4gWS|yKR-V+mnUKz^Rr|bj^&E$
z#q5x77S>fOtHkOanIBu6fZun`DdtPo)@n#%hEdH>lXcA__o=UkGrp~4(~ouYN4xt^YcIHckBP0I`RDF
R7X}6f22WQ%mvv4FO#nljU3&lk
literal 0
HcmV?d00001
diff --git a/docs/v0.6.1/index.html b/docs/v0.6.1/index.html
new file mode 100644
index 0000000..af39fa3
--- /dev/null
+++ b/docs/v0.6.1/index.html
@@ -0,0 +1,165 @@
+
+
+
+
+
+ API Document
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+JSON API Store
+
An isomorphic JavaScript library that acts as an in memory data store for
+JSON API data. Changes are
+broadcast using RxJS . Built to
+work with React .
+
Usage
+
Browser
+
At the moment the primary use can for JSON API Store is in the browser:
+
+// Create a new store instance.
+var adapter = new Store.AjaxAdapter({ base: "/api/v1" });
+var store = new Store(adapter);
+
+// Define the "categories" type.
+store.define([ "categories", "category" ], {
+ title: Store.attr(),
+ products: Store.hasMany()
+});
+
+// Define the "products" type.
+store.define([ "products", "product" ], {
+ title: Store.attr(),
+ category: Store.hasOne()
+});
+
+// Subscribe to events using RxJS.
+store.observable.subscribe(function (event) {
+ console.log(event.name, event.type, event.id, event.resource);
+});
+
+// Load all the products.
+store.load("products", { include: [ "category" ] }, function (products) {
+
+ products.length; // 1
+ products[0].id; // "1"
+ products[0].title; // "Example Book"
+ products[0].category.id; // "1"
+ products[0].category.title; // "Books"
+
+ products[0] === store.find("products", "1"); // true
+ products[0].category === store.find("categories", "1"); // true
+
+});
+
+
Node
+
You can also use JSON API Store in a Node.js environment (currently, there
+aren't any adapters that work in a Node.js):
+
NOTE : Without an adapter the CLUD methods (create, load, update and
+destroy) cannot be used.
+
+var Store = require("json-api-store");
+
+var store = new Store();
+
+store.define([ "categories", "category" ], {
+ title: Store.attr(),
+ products: Store.hasMany()
+});
+
+store.define([ "products", "product" ], {
+ title: Store.attr(),
+ category: Store.hasOne()
+});
+
+store.add({
+ type: "products",
+ id: "1",
+ attributes: {
+ title: "Example Product"
+ },
+ relationships: {
+ category: {
+ data: {
+ type: "categories",
+ id: "1"
+ }
+ }
+ }
+});
+
+store.add({
+ type: "categories",
+ id: "1",
+ attributes: {
+ title: "Example Category"
+ }
+});
+
+store.find("products", "1").category.title; // "Example Category"
+
+
Documentation
+
Full documentation is available on the website:
+
http://particlesystem.com/json-api-store/
+
Installing
+
NPM
+
npm i json-api-store
+Bower
+
bower i json-api-store
+Download
+
To use directly in the browser you can grab the store.prod.js file.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/v0.6.1/package.json b/docs/v0.6.1/package.json
new file mode 100644
index 0000000..8ad163c
--- /dev/null
+++ b/docs/v0.6.1/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "json-api-store",
+ "version": "0.6.0",
+ "description": "An isomorphic JavaScript library that acts as an in memory data store for JSON API data.",
+ "repository": "haydn/json-api-store",
+ "main": "dist/store.js",
+ "scripts": {
+ "build": "./scripts/build",
+ "docs": "./node_modules/.bin/esdoc -c esdoc.json",
+ "release": "./scripts/release",
+ "test": "./scripts/test"
+ },
+ "author": "Haydn Ewers",
+ "license": "MIT",
+ "devDependencies": {
+ "babel": "^5.8.21",
+ "babelify": "^6.2.0",
+ "browser-run": "2.5.0",
+ "browserify": "^11.0.1",
+ "chokidar-cli": "^1.0.1",
+ "esdoc": "^0.2.2",
+ "eslint": "^1.3.1",
+ "exorcist": "^0.4.0",
+ "faucet": "0.0.1",
+ "sinon": "^1.16.1",
+ "tape-catch": "^1.0.4",
+ "tape-run": "^1.1.0",
+ "tape": "^4.2.0",
+ "uglifyify": "^3.0.1"
+ },
+ "dependencies": {
+ "array.prototype.find": "^1.0.0",
+ "rx-lite": "^3.1.2"
+ }
+}
diff --git a/docs/v0.6.1/script/inherited-summary.js b/docs/v0.6.1/script/inherited-summary.js
new file mode 100644
index 0000000..0a35b6d
--- /dev/null
+++ b/docs/v0.6.1/script/inherited-summary.js
@@ -0,0 +1,28 @@
+(function(){
+ function toggle(ev) {
+ var button = ev.target;
+ var parent = ev.target.parentElement;
+ while(parent) {
+ if (parent.tagName === 'TABLE' && parent.classList.contains('summary')) break;
+ parent = parent.parentElement;
+ }
+
+ if (!parent) return;
+
+ var tbody = parent.querySelector('tbody');
+ if (button.classList.contains('opened')) {
+ button.classList.remove('opened');
+ button.classList.add('closed');
+ tbody.style.display = 'none';
+ } else {
+ button.classList.remove('closed');
+ button.classList.add('opened');
+ tbody.style.display = 'block';
+ }
+ }
+
+ var buttons = document.querySelectorAll('.inherited-summary thead .toggle');
+ for (var i = 0; i < buttons.length; i++) {
+ buttons[i].addEventListener('click', toggle);
+ }
+})();
diff --git a/docs/v0.6.1/script/inner-link.js b/docs/v0.6.1/script/inner-link.js
new file mode 100644
index 0000000..7b26d93
--- /dev/null
+++ b/docs/v0.6.1/script/inner-link.js
@@ -0,0 +1,21 @@
+// inner link(#foo) can not correctly scroll, because page has fixed header,
+// so, I manually scroll.
+(function(){
+ var matched = location.hash.match(/errorLines=([\d,]+)/);
+ if (matched) return;
+
+ function adjust() {
+ window.scrollBy(0, -55);
+ var el = document.querySelector('.inner-link-active');
+ if (el) el.classList.remove('inner-link-active');
+
+ var el = document.querySelector(location.hash);
+ if (el) el.classList.add('inner-link-active');
+ }
+
+ window.addEventListener('hashchange', adjust);
+
+ if (location.hash) {
+ setTimeout(adjust, 0);
+ }
+})();
diff --git a/docs/v0.6.1/script/patch-for-local.js b/docs/v0.6.1/script/patch-for-local.js
new file mode 100644
index 0000000..5756d13
--- /dev/null
+++ b/docs/v0.6.1/script/patch-for-local.js
@@ -0,0 +1,8 @@
+(function(){
+ if (location.protocol === 'file:') {
+ var elms = document.querySelectorAll('a[href="./"]');
+ for (var i = 0; i < elms.length; i++) {
+ elms[i].href = './index.html';
+ }
+ }
+})();
diff --git a/docs/v0.6.1/script/prettify/Apache-License-2.0.txt b/docs/v0.6.1/script/prettify/Apache-License-2.0.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/docs/v0.6.1/script/prettify/Apache-License-2.0.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/docs/v0.6.1/script/prettify/prettify.js b/docs/v0.6.1/script/prettify/prettify.js
new file mode 100644
index 0000000..eef5ad7
--- /dev/null
+++ b/docs/v0.6.1/script/prettify/prettify.js
@@ -0,0 +1,28 @@
+var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
+(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
+[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;ci[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
+l=[],p={},d=0,g=e.length;d=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
+q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
+q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
+"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
+a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
+for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
+"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
+H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
+J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
+I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^]+/],["dec",/^]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Source 16/24
+
+
+
+
+ File
+ Identifier
+ Document
+ Size
+ Lines
+ Updated
+
+
+
+
+
+ src/ajax-adapter.js
+ AjaxAdapter
+ 0 % 0/6
+ 5120 byte
+ 196
+ 2015-10-06 04:42:11 (UTC)
+
+
+ src/store.js
+ Store
+ 88 % 16/18
+ 23085 byte
+ 641
+ 2015-10-06 06:20:02 (UTC)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+