apollo-elements/apollo-elements

View on GitHub
docs/_assets/_static/mixins.js.map

Summary

Maintainability
Test Coverage
{
  "version": 3,
  "sources": ["../../../node_modules/ts-invariant/node_modules/tslib/tslib.js", "../../../node_modules/graphql-tag/node_modules/tslib/tslib.js", "../../../packages/mixins/apollo-client-mixin.ts", "../../../node_modules/@open-wc/dedupe-mixin/src/dedupeMixin.js", "../../../packages/core/decorators.ts", "../../../packages/mixins/controller-host-mixin.ts", "../../../packages/core/events.ts", "../../../packages/mixins/apollo-element-mixin.ts", "../../../packages/core/lib/is-valid-gql.ts", "../../../packages/core/apollo-controller.ts", "../../../packages/core/lib/bound.ts", "../../../packages/core/apollo-mutation-controller.ts", "../../../packages/mixins/apollo-mutation-mixin.ts", "../../../node_modules/ts-invariant/node_modules/tslib/modules/index.js", "../../../node_modules/ts-invariant/src/invariant.ts", "../../../node_modules/graphql/jsutils/isObjectLike.mjs", "../../../node_modules/graphql/polyfills/symbols.mjs", "../../../node_modules/graphql/language/location.mjs", "../../../node_modules/graphql/language/printLocation.mjs", "../../../node_modules/graphql/error/GraphQLError.mjs", "../../../node_modules/graphql/error/syntaxError.mjs", "../../../node_modules/graphql/language/kinds.mjs", "../../../node_modules/graphql/jsutils/invariant.mjs", "../../../node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs", "../../../node_modules/graphql/jsutils/defineInspect.mjs", "../../../node_modules/graphql/language/ast.mjs", "../../../node_modules/graphql/language/tokenKind.mjs", "../../../node_modules/graphql/jsutils/inspect.mjs", "../../../node_modules/graphql/jsutils/devAssert.mjs", "../../../node_modules/graphql/jsutils/instanceOf.mjs", "../../../node_modules/graphql/language/source.mjs", "../../../node_modules/graphql/language/directiveLocation.mjs", "../../../node_modules/graphql/language/blockString.mjs", "../../../node_modules/graphql/language/lexer.mjs", "../../../node_modules/graphql/language/parser.mjs", "../../../node_modules/@apollo/src/core/networkStatus.ts", "../../../node_modules/graphql-tag/node_modules/tslib/modules/index.js", "../../../node_modules/graphql-tag/src/index.ts", "../../../node_modules/@apollo/src/core/index.ts", "../../../packages/core/apollo-query-controller.ts", "../../../packages/mixins/apollo-query-mixin.ts", "../../../packages/core/apollo-subscription-controller.ts", "../../../packages/mixins/apollo-subscription-mixin.ts", "../../../packages/mixins/graphql-script-child-mixin.ts", "../../../packages/mixins/type-policies-mixin.ts", "../../../packages/core/lib/has-all-variables.ts", "../../../packages/mixins/validate-variables-mixin.ts"],
  "sourcesContent": ["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __spreadArray;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n    var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n    if (typeof define === \"function\" && define.amd) {\r\n        define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n    }\r\n    else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n        factory(createExporter(root, createExporter(module.exports)));\r\n    }\r\n    else {\r\n        factory(createExporter(root));\r\n    }\r\n    function createExporter(exports, previous) {\r\n        if (exports !== root) {\r\n            if (typeof Object.create === \"function\") {\r\n                Object.defineProperty(exports, \"__esModule\", { value: true });\r\n            }\r\n            else {\r\n                exports.__esModule = true;\r\n            }\r\n        }\r\n        return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n    }\r\n})\r\n(function (exporter) {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n    __extends = function (d, b) {\r\n        if (typeof b !== \"function\" && b !== null)\r\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n\r\n    __assign = Object.assign || function (t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n\r\n    __rest = function (s, e) {\r\n        var t = {};\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n            t[p] = s[p];\r\n        if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                    t[p[i]] = s[p[i]];\r\n            }\r\n        return t;\r\n    };\r\n\r\n    __decorate = function (decorators, target, key, desc) {\r\n        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n        if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n        else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n        return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n    };\r\n\r\n    __param = function (paramIndex, decorator) {\r\n        return function (target, key) { decorator(target, key, paramIndex); }\r\n    };\r\n\r\n    __metadata = function (metadataKey, metadataValue) {\r\n        if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n    };\r\n\r\n    __awaiter = function (thisArg, _arguments, P, generator) {\r\n        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n        return new (P || (P = Promise))(function (resolve, reject) {\r\n            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n            function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n            step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n        });\r\n    };\r\n\r\n    __generator = function (thisArg, body) {\r\n        var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n        return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n        function verb(n) { return function (v) { return step([n, v]); }; }\r\n        function step(op) {\r\n            if (f) throw new TypeError(\"Generator is already executing.\");\r\n            while (_) try {\r\n                if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n                if (y = 0, t) op = [op[0] & 2, t.value];\r\n                switch (op[0]) {\r\n                    case 0: case 1: t = op; break;\r\n                    case 4: _.label++; return { value: op[1], done: false };\r\n                    case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                    case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                    default:\r\n                        if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                        if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                        if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                        if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                        if (t[2]) _.ops.pop();\r\n                        _.trys.pop(); continue;\r\n                }\r\n                op = body.call(thisArg, _);\r\n            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n            if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n        }\r\n    };\r\n\r\n    __exportStar = function(m, o) {\r\n        for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n    };\r\n\r\n    __createBinding = Object.create ? (function(o, m, k, k2) {\r\n        if (k2 === undefined) k2 = k;\r\n        Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n    }) : (function(o, m, k, k2) {\r\n        if (k2 === undefined) k2 = k;\r\n        o[k2] = m[k];\r\n    });\r\n\r\n    __values = function (o) {\r\n        var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n        if (m) return m.call(o);\r\n        if (o && typeof o.length === \"number\") return {\r\n            next: function () {\r\n                if (o && i >= o.length) o = void 0;\r\n                return { value: o && o[i++], done: !o };\r\n            }\r\n        };\r\n        throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n    };\r\n\r\n    __read = function (o, n) {\r\n        var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n        if (!m) return o;\r\n        var i = m.call(o), r, ar = [], e;\r\n        try {\r\n            while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n        }\r\n        catch (error) { e = { error: error }; }\r\n        finally {\r\n            try {\r\n                if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n            }\r\n            finally { if (e) throw e.error; }\r\n        }\r\n        return ar;\r\n    };\r\n\r\n    /** @deprecated */\r\n    __spread = function () {\r\n        for (var ar = [], i = 0; i < arguments.length; i++)\r\n            ar = ar.concat(__read(arguments[i]));\r\n        return ar;\r\n    };\r\n\r\n    /** @deprecated */\r\n    __spreadArrays = function () {\r\n        for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n        for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n                r[k] = a[j];\r\n        return r;\r\n    };\r\n\r\n    __spreadArray = function (to, from) {\r\n        for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n            to[j] = from[i];\r\n        return to;\r\n    };\r\n\r\n    __await = function (v) {\r\n        return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n    };\r\n\r\n    __asyncGenerator = function (thisArg, _arguments, generator) {\r\n        if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n        var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n        return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n        function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n        function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n        function fulfill(value) { resume(\"next\", value); }\r\n        function reject(value) { resume(\"throw\", value); }\r\n        function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n    };\r\n\r\n    __asyncDelegator = function (o) {\r\n        var i, p;\r\n        return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n    };\r\n\r\n    __asyncValues = function (o) {\r\n        if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n        var m = o[Symbol.asyncIterator], i;\r\n        return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n    };\r\n\r\n    __makeTemplateObject = function (cooked, raw) {\r\n        if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n        return cooked;\r\n    };\r\n\r\n    var __setModuleDefault = Object.create ? (function(o, v) {\r\n        Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n    }) : function(o, v) {\r\n        o[\"default\"] = v;\r\n    };\r\n\r\n    __importStar = function (mod) {\r\n        if (mod && mod.__esModule) return mod;\r\n        var result = {};\r\n        if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n        __setModuleDefault(result, mod);\r\n        return result;\r\n    };\r\n\r\n    __importDefault = function (mod) {\r\n        return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n    };\r\n\r\n    __classPrivateFieldGet = function (receiver, state, kind, f) {\r\n        if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n        if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n        return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n    };\r\n\r\n    __classPrivateFieldSet = function (receiver, state, value, kind, f) {\r\n        if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n        if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n        if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n        return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n    };\r\n\r\n    exporter(\"__extends\", __extends);\r\n    exporter(\"__assign\", __assign);\r\n    exporter(\"__rest\", __rest);\r\n    exporter(\"__decorate\", __decorate);\r\n    exporter(\"__param\", __param);\r\n    exporter(\"__metadata\", __metadata);\r\n    exporter(\"__awaiter\", __awaiter);\r\n    exporter(\"__generator\", __generator);\r\n    exporter(\"__exportStar\", __exportStar);\r\n    exporter(\"__createBinding\", __createBinding);\r\n    exporter(\"__values\", __values);\r\n    exporter(\"__read\", __read);\r\n    exporter(\"__spread\", __spread);\r\n    exporter(\"__spreadArrays\", __spreadArrays);\r\n    exporter(\"__spreadArray\", __spreadArray);\r\n    exporter(\"__await\", __await);\r\n    exporter(\"__asyncGenerator\", __asyncGenerator);\r\n    exporter(\"__asyncDelegator\", __asyncDelegator);\r\n    exporter(\"__asyncValues\", __asyncValues);\r\n    exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n    exporter(\"__importStar\", __importStar);\r\n    exporter(\"__importDefault\", __importDefault);\r\n    exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n    exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global global, define, System, Reflect, Promise */\r\nvar __extends;\r\nvar __assign;\r\nvar __rest;\r\nvar __decorate;\r\nvar __param;\r\nvar __metadata;\r\nvar __awaiter;\r\nvar __generator;\r\nvar __exportStar;\r\nvar __values;\r\nvar __read;\r\nvar __spread;\r\nvar __spreadArrays;\r\nvar __spreadArray;\r\nvar __await;\r\nvar __asyncGenerator;\r\nvar __asyncDelegator;\r\nvar __asyncValues;\r\nvar __makeTemplateObject;\r\nvar __importStar;\r\nvar __importDefault;\r\nvar __classPrivateFieldGet;\r\nvar __classPrivateFieldSet;\r\nvar __createBinding;\r\n(function (factory) {\r\n    var root = typeof global === \"object\" ? global : typeof self === \"object\" ? self : typeof this === \"object\" ? this : {};\r\n    if (typeof define === \"function\" && define.amd) {\r\n        define(\"tslib\", [\"exports\"], function (exports) { factory(createExporter(root, createExporter(exports))); });\r\n    }\r\n    else if (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n        factory(createExporter(root, createExporter(module.exports)));\r\n    }\r\n    else {\r\n        factory(createExporter(root));\r\n    }\r\n    function createExporter(exports, previous) {\r\n        if (exports !== root) {\r\n            if (typeof Object.create === \"function\") {\r\n                Object.defineProperty(exports, \"__esModule\", { value: true });\r\n            }\r\n            else {\r\n                exports.__esModule = true;\r\n            }\r\n        }\r\n        return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };\r\n    }\r\n})\r\n(function (exporter) {\r\n    var extendStatics = Object.setPrototypeOf ||\r\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n\r\n    __extends = function (d, b) {\r\n        if (typeof b !== \"function\" && b !== null)\r\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n        extendStatics(d, b);\r\n        function __() { this.constructor = d; }\r\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n    };\r\n\r\n    __assign = Object.assign || function (t) {\r\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n            s = arguments[i];\r\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n        }\r\n        return t;\r\n    };\r\n\r\n    __rest = function (s, e) {\r\n        var t = {};\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n            t[p] = s[p];\r\n        if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n                    t[p[i]] = s[p[i]];\r\n            }\r\n        return t;\r\n    };\r\n\r\n    __decorate = function (decorators, target, key, desc) {\r\n        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n        if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n        else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n        return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n    };\r\n\r\n    __param = function (paramIndex, decorator) {\r\n        return function (target, key) { decorator(target, key, paramIndex); }\r\n    };\r\n\r\n    __metadata = function (metadataKey, metadataValue) {\r\n        if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n    };\r\n\r\n    __awaiter = function (thisArg, _arguments, P, generator) {\r\n        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n        return new (P || (P = Promise))(function (resolve, reject) {\r\n            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n            function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n            step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n        });\r\n    };\r\n\r\n    __generator = function (thisArg, body) {\r\n        var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n        return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n        function verb(n) { return function (v) { return step([n, v]); }; }\r\n        function step(op) {\r\n            if (f) throw new TypeError(\"Generator is already executing.\");\r\n            while (_) try {\r\n                if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n                if (y = 0, t) op = [op[0] & 2, t.value];\r\n                switch (op[0]) {\r\n                    case 0: case 1: t = op; break;\r\n                    case 4: _.label++; return { value: op[1], done: false };\r\n                    case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                    case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                    default:\r\n                        if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                        if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                        if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                        if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                        if (t[2]) _.ops.pop();\r\n                        _.trys.pop(); continue;\r\n                }\r\n                op = body.call(thisArg, _);\r\n            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n            if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n        }\r\n    };\r\n\r\n    __exportStar = function(m, o) {\r\n        for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n    };\r\n\r\n    __createBinding = Object.create ? (function(o, m, k, k2) {\r\n        if (k2 === undefined) k2 = k;\r\n        Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n    }) : (function(o, m, k, k2) {\r\n        if (k2 === undefined) k2 = k;\r\n        o[k2] = m[k];\r\n    });\r\n\r\n    __values = function (o) {\r\n        var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n        if (m) return m.call(o);\r\n        if (o && typeof o.length === \"number\") return {\r\n            next: function () {\r\n                if (o && i >= o.length) o = void 0;\r\n                return { value: o && o[i++], done: !o };\r\n            }\r\n        };\r\n        throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n    };\r\n\r\n    __read = function (o, n) {\r\n        var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n        if (!m) return o;\r\n        var i = m.call(o), r, ar = [], e;\r\n        try {\r\n            while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n        }\r\n        catch (error) { e = { error: error }; }\r\n        finally {\r\n            try {\r\n                if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n            }\r\n            finally { if (e) throw e.error; }\r\n        }\r\n        return ar;\r\n    };\r\n\r\n    /** @deprecated */\r\n    __spread = function () {\r\n        for (var ar = [], i = 0; i < arguments.length; i++)\r\n            ar = ar.concat(__read(arguments[i]));\r\n        return ar;\r\n    };\r\n\r\n    /** @deprecated */\r\n    __spreadArrays = function () {\r\n        for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n        for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n                r[k] = a[j];\r\n        return r;\r\n    };\r\n\r\n    __spreadArray = function (to, from) {\r\n        for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n            to[j] = from[i];\r\n        return to;\r\n    };\r\n\r\n    __await = function (v) {\r\n        return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n    };\r\n\r\n    __asyncGenerator = function (thisArg, _arguments, generator) {\r\n        if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n        var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n        return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n        function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n        function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n        function fulfill(value) { resume(\"next\", value); }\r\n        function reject(value) { resume(\"throw\", value); }\r\n        function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n    };\r\n\r\n    __asyncDelegator = function (o) {\r\n        var i, p;\r\n        return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n    };\r\n\r\n    __asyncValues = function (o) {\r\n        if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n        var m = o[Symbol.asyncIterator], i;\r\n        return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n    };\r\n\r\n    __makeTemplateObject = function (cooked, raw) {\r\n        if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n        return cooked;\r\n    };\r\n\r\n    var __setModuleDefault = Object.create ? (function(o, v) {\r\n        Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n    }) : function(o, v) {\r\n        o[\"default\"] = v;\r\n    };\r\n\r\n    __importStar = function (mod) {\r\n        if (mod && mod.__esModule) return mod;\r\n        var result = {};\r\n        if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n        __setModuleDefault(result, mod);\r\n        return result;\r\n    };\r\n\r\n    __importDefault = function (mod) {\r\n        return (mod && mod.__esModule) ? mod : { \"default\": mod };\r\n    };\r\n\r\n    __classPrivateFieldGet = function (receiver, state, kind, f) {\r\n        if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n        if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n        return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n    };\r\n\r\n    __classPrivateFieldSet = function (receiver, state, value, kind, f) {\r\n        if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n        if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n        if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n        return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n    };\r\n\r\n    exporter(\"__extends\", __extends);\r\n    exporter(\"__assign\", __assign);\r\n    exporter(\"__rest\", __rest);\r\n    exporter(\"__decorate\", __decorate);\r\n    exporter(\"__param\", __param);\r\n    exporter(\"__metadata\", __metadata);\r\n    exporter(\"__awaiter\", __awaiter);\r\n    exporter(\"__generator\", __generator);\r\n    exporter(\"__exportStar\", __exportStar);\r\n    exporter(\"__createBinding\", __createBinding);\r\n    exporter(\"__values\", __values);\r\n    exporter(\"__read\", __read);\r\n    exporter(\"__spread\", __spread);\r\n    exporter(\"__spreadArrays\", __spreadArrays);\r\n    exporter(\"__spreadArray\", __spreadArray);\r\n    exporter(\"__await\", __await);\r\n    exporter(\"__asyncGenerator\", __asyncGenerator);\r\n    exporter(\"__asyncDelegator\", __asyncDelegator);\r\n    exporter(\"__asyncValues\", __asyncValues);\r\n    exporter(\"__makeTemplateObject\", __makeTemplateObject);\r\n    exporter(\"__importStar\", __importStar);\r\n    exporter(\"__importDefault\", __importDefault);\r\n    exporter(\"__classPrivateFieldGet\", __classPrivateFieldGet);\r\n    exporter(\"__classPrivateFieldSet\", __classPrivateFieldSet);\r\n});\r\n", "import type { ApolloClient, NormalizedCacheObject } from '@apollo/client/core';\nimport type { ApolloElementElement, Constructor } from '@apollo-elements/core/types';\n\n/**\n * Mixin which applies a specific `ApolloClient` instance to the element.\n * @param client The specific `ApolloClient` instance.\n * @param superclass An element that implements the `ApolloElementInterface`.\n */\nexport function ApolloClientMixin<B extends Constructor<ApolloElementElement<any, any>>>( // eslint-disable-line @typescript-eslint/no-explicit-any\n  client: ApolloClient<NormalizedCacheObject>,\n  superclass: B\n): B {\n  return class extends superclass {\n    /** The client specified with `ApolloClientMixin`. */\n    client: ApolloClient<NormalizedCacheObject> = client;\n  };\n}\n", "const appliedClassMixins = new WeakMap();\n\n/** Vefify if the Mixin was previously applyed\n * @private\n * @param {function} mixin      Mixin being applyed\n * @param {object} superClass   Class receiving the new mixin\n * @returns {boolean}\n */\nfunction wasMixinPreviouslyApplied(mixin, superClass) {\n  let klass = superClass;\n  while (klass) {\n    if (appliedClassMixins.get(klass) === mixin) {\n      return true;\n    }\n    klass = Object.getPrototypeOf(klass);\n  }\n  return false;\n}\n\n/** Apply each mixin in the chain to make sure they are not applied more than once to the final class.\n * @export\n * @param {function} mixin      Mixin to be applyed\n * @returns {object}            Mixed class with mixin applied\n */\nexport function dedupeMixin(mixin) {\n  return superClass => {\n    if (wasMixinPreviouslyApplied(mixin, superClass)) {\n      return superClass;\n    }\n    const mixedClass = mixin(superClass);\n    appliedClassMixins.set(mixedClass, mixin);\n    return mixedClass;\n  };\n}\n", "import type { ReactiveElement, ReactiveControllerHost } from '@lit/reactive-element';\nimport type { ApolloController, ApolloControllerOptions } from './apollo-controller.js';\n\ntype O = ApolloControllerOptions<any, any>; // eslint-disable-line @typescript-eslint/no-explicit-any\ntype Key = string|number|symbol;\n\n/* eslint-disable @typescript-eslint/ban-types */\ntype AnyObj = object;\n/* eslint-enable @typescript-eslint/ban-types */\n\nconst initialProps = new WeakMap<AnyObj, Map<Key, unknown>>();\n\nexport function getInitialProps<T extends AnyObj>(\n  obj: T,\n): Map<keyof T, T[keyof T]> {\n  if (!initialProps.has(obj))\n    initialProps.set(obj, new Map());\n  return initialProps.get(obj) as Map<keyof T, T[keyof T]>;\n}\n\nexport function getInitialProp<T extends AnyObj>(obj: T, key: keyof T): T[keyof T] | undefined {\n  return getInitialProps(obj).get(key);\n}\n\nexport function setInitialProps<T extends AnyObj>(obj: T): void {\n  getInitialProps(obj).forEach((val, key) => obj[key] ??= val);\n}\n\nexport function setInitialProp<T extends AnyObj>(obj: T, key: keyof T, value: T[keyof T]): void {\n  getInitialProps(obj).set(key, value);\n}\n\nexport interface DefineOptions {\n  /** When set to 'options', the controlled property is a member of controller.options */\n  path?: 'options',\n  /** When true, setting the property has no effect */\n  readonly?: boolean,\n  /** Called after setting with the new value */\n  onSet?(x: unknown): void,\n}\n\nfunction defineOnReactiveElement<T extends ReactiveElement & {\n  controller: ApolloController;\n}>(\n  proto: T,\n  name: string & keyof T,\n  opts: DefineOptions\n): void {\n  // Run our property effects\n  defineOnHTMLElement(proto, name, {\n    ...opts,\n    // In addition to any user-defined side-effects,\n    // also notify the ReactiveElement lifecycle\n    onSet(this: T, x: unknown) {\n      const old = this[name];\n      opts?.onSet?.call?.(this, x);/* c8 ignore next */\n      this.requestUpdate(name, old);\n    },\n  });\n  // And also run ReactiveElement's property effects\n  const Class = proto.constructor as typeof ReactiveElement;\n  // @ts-expect-error: i know it's protected\n  Class.createProperty(name, Class.getPropertyOptions(name));\n}\n\nfunction defineOnHTMLElement<T extends HTMLElement & ReactiveControllerHost & {\n  controller: ApolloController;\n  requestUpdate(name?: string, old?: unknown): void;\n}>(\n  proto: T,\n  name: string & keyof T,\n  opts: DefineOptions\n): void {\n  Object.defineProperty(proto, name, {\n    configurable: true,\n    get(this: T) {\n      if (opts.path) { /* c8 ignore next */\n        return (\n            !this.controller ? getInitialProp(this, name)/* c8 ignore next */\n          : this.controller[opts.path][name as keyof O]\n        );\n      } else {\n        return (\n            !this.controller ? getInitialProp(this, name)/* c8 ignore next */\n          : this.controller[name as keyof ApolloController]\n        );\n      }\n    },\n\n    set(this: T, value: T[keyof T]) {\n      if (opts.readonly) return;/* c8 ignore next */\n      const old = this[name as keyof T];\n      if (!this.controller)\n        setInitialProp(this, name, value);/* c8 ignore next */\n      else {\n        if (opts.path)\n          this.controller[opts.path][name as keyof O] = value as O[keyof O];\n        else\n          this.controller[name as keyof ApolloController] = value as any; // eslint-disable-line @typescript-eslint/no-explicit-any\n        if (opts.onSet)\n          opts.onSet.call(this, value);/* c8 ignore next */\n      }\n      this.requestUpdate?.(name, old);\n    },\n  });\n}\n\nfunction isReactiveElement(\n  proto: HTMLElement\n): proto is ReactiveElement {\n  return typeof (proto.constructor as typeof ReactiveElement).createProperty === 'function';\n}\n\n/**\n * @summary Class field decorator for controlled properties\n *\n * Controlled properties are element class fields which defer to and reflect that property on the element's `controller` property, which is a `ReactiveController`.\n *\n * @param  options Options for the controlled field\n */\nexport function controlled(options: DefineOptions = {}) {\n  return function<T extends HTMLElement & ReactiveControllerHost & {\n  controller: ApolloController;\n}>(\n    proto: T,\n    name: string & keyof T\n  ): void {\n    if (isReactiveElement(proto))\n      defineOnReactiveElement(proto, name, options);/* c8 ignore next */\n    else\n      defineOnHTMLElement(proto, name, options);/* c8 ignore next */\n  };\n}\n", "import type { ReactiveController, ReactiveControllerHost } from '@lit/reactive-element';\nimport type { Constructor, CustomElement } from '@apollo-elements/core/types';\nimport type { ControllerHost } from '@apollo-elements/core/types';\n\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\n\nimport { setInitialProps } from '@apollo-elements/core/decorators';\n\nconst INITIALIZED = new WeakMap();\n\nconst microtask = Promise.resolve();\n\nfunction ControllerHostMixinImpl<T extends Constructor<CustomElement>>(\n  superclass: T\n): T & Constructor<ControllerHost> {\n  class ControllerHostElement extends superclass implements ReactiveControllerHost {\n    #controllers = new Set<ReactiveController>();\n\n    #updatePending = false;\n\n    #resolve!: (v: boolean) => void;\n\n    #updateComplete = new Promise(r => {\n      this.#resolve = r;\n    });\n\n    get updateComplete(): Promise<boolean> {\n      // @ts-expect-error: superclass may or may not have it\n      return super.updateComplete ??\n        this.#updateComplete;\n    }\n\n    constructor(...args: any[]) {\n      super(...args);\n      INITIALIZED.set(this, true);\n      this.requestUpdate();\n    }\n\n    private async doUpdate() {\n      this.#updatePending = true;\n      await this.#updateComplete;\n      this.update();\n      this.#updateComplete = new Promise(r => { this.#resolve = r; });\n      microtask.then(() => this.updated());\n    }\n\n    connectedCallback() {\n      // assign props that were set before initialization finished\n      setInitialProps(this);\n      super.connectedCallback?.();/* c8 ignore next */\n      // @ts-expect-error: superclass may or may not have it\n      if (typeof super.addController !== 'function')\n        this.#controllers.forEach(c => c.hostConnected?.());\n      this.#resolve(true);\n    }\n\n    addController(controller: ReactiveController): void {\n      // @ts-expect-error: superclass may or may not have it\n      if (typeof super.addController === 'function') super.addController(controller);/* c8 ignore next */\n      else\n        this.#controllers.add(controller);\n    }\n\n    removeController(controller: ReactiveController): void {\n      // @ts-expect-error: superclass may or may not have it\n      if (typeof super.removeController === 'function') super.removeController(controller);\n      else\n        this.#controllers.delete(controller);\n    }\n\n    requestUpdate(): void {\n      if (!INITIALIZED.get(this)) return;/* c8 ignore next */\n      // @ts-expect-error: superclass may or may not have it\n      if (typeof super.requestUpdate === 'function') return super.requestUpdate();/* c8 ignore next */\n      if (!this.#updatePending)\n        this.doUpdate();\n    }\n\n    update(...args: any[]) {\n      // @ts-expect-error: superclass may or may not have it\n      if (typeof super.update === 'function') super.update(...args);/* c8 ignore next */\n      else\n        this.#controllers.forEach(c => c.hostUpdate?.());/* c8 ignore next */\n    }\n\n    updated(...args: any[]) {\n      // @ts-expect-error: superclass may or may not have it\n      if (typeof super.updated === 'function') super.updated(...args);/* c8 ignore next */\n      else {\n        this.#updatePending = false;\n        this.#controllers.forEach(c => c.hostUpdated?.());/* c8 ignore next */\n        this.#resolve(this.#updatePending);\n      }\n    }\n\n    disconnectedCallback() {\n      super.disconnectedCallback?.();/* c8 ignore next */\n      // @ts-expect-error: superclass may or may not have it\n      if (typeof super.removeController !== 'function')\n        this.#controllers.forEach(c => c.hostDisconnected?.());\n    }\n  }\n\n  return ControllerHostElement as unknown as T & Constructor<ControllerHost>;\n}\n\nexport const ControllerHostMixin =\n  dedupeMixin(ControllerHostMixinImpl);\n", "import type { ApolloController } from './apollo-controller.js';\nimport type { Data } from '@apollo-elements/core/types';\nimport type {\n  ApolloClient,\n  ApolloError,\n  ApolloQueryResult,\n  FetchResult,\n  NormalizedCacheObject,\n} from '@apollo/client/core';\n\ntype ApolloEventType = `apollo-${'controller'|'element'}-${'connected'|'disconnected'}`;\ntype ApolloElementEventType = `apollo-element-${'disconnected'|'connected'}`;\ntype ApolloControllerEventType = `apollo-controller-${'disconnected'|'connected'}`;\n\ninterface ApolloControllerHost extends HTMLElement {\n  controller: ApolloController;\n}\n\nexport type ApolloQueryResultEvent<TData = unknown> =\n  CustomEvent<ApolloQueryResult<TData>>;\n\nexport type ApolloMutationResultEvent<TData = unknown> =\n  CustomEvent<FetchResult<TData>>;\n\nexport type ApolloSubscriptionResultEvent<D = unknown> = CustomEvent<{\n  client: ApolloClient<NormalizedCacheObject>;\n  subscriptionData: {\n    data: Data<D> | null;\n    loading: boolean;\n    error: null;\n  };\n}>;\n\nexport abstract class ApolloEvent<T = ApolloControllerHost> extends CustomEvent<T> {\n  public abstract type: ApolloEventType\n  public declare controller?: ApolloController;\n  constructor(type: ApolloEventType, options?: CustomEventInit) {\n    super(type, { ...options, bubbles: true, composed: true });\n  }\n}\n\n/**\n * @summary Fired when an ApolloElement connects to or disconnects from the DOM\n */\nexport class ApolloElementEvent<T = ApolloControllerHost> extends ApolloEvent<T> {\n  public declare static type: ApolloElementEventType;\n  public declare type: ApolloElementEventType;\n  constructor(type: ApolloElementEventType, detail: T) {\n    super(type, { detail });\n  }\n}\n\nexport abstract class ApolloControllerEvent extends ApolloEvent {\n  public abstract controller: ApolloController;\n  public abstract type: ApolloControllerEventType\n  constructor(type: ApolloControllerEventType) {\n    super(type);\n  }\n}\n\n/**\n * @summary Fired when a controlled element connects to the DOM\n */\nexport class ApolloControllerConnectedEvent extends ApolloControllerEvent {\n  public static type = 'apollo-controller-connected' as const;\n  public declare type: 'apollo-controller-connected';\n  constructor(public controller: ApolloController) {\n    super(ApolloControllerConnectedEvent.type);\n  }\n}\n\n/**\n * @summary Fired when a controlled element disconnects from the DOM\n */\nexport class ApolloControllerDisconnectedEvent extends ApolloControllerEvent {\n  public static type = 'apollo-controller-disconnected' as const;\n  public declare type: 'apollo-controller-disconnected';\n  constructor(public controller: ApolloController) {\n    super(ApolloControllerDisconnectedEvent.type);\n  }\n}\n\ndeclare global {\n  interface HTMLElementEventMap {\n    'apollo-controller-connected': ApolloControllerConnectedEvent;\n    'apollo-controller-disconnected': ApolloControllerDisconnectedEvent;\n    'apollo-element-connected': ApolloElementEvent;\n    'apollo-element-disconnected': ApolloElementEvent;\n    'apollo-error': CustomEvent<ApolloError>;\n    'apollo-mutation-result': ApolloMutationResultEvent;\n    'apollo-query-result': ApolloQueryResultEvent;\n    'apollo-subscription-result': ApolloSubscriptionResultEvent;\n  }\n\n  interface WindowEventMap {\n    'apollo-element-disconnected': ApolloElementEvent;\n    'apollo-controller-disconnected': ApolloControllerDisconnectedEvent;\n  }\n}\n", "import type {\n  ApolloClient,\n  ApolloError,\n  ErrorPolicy,\n  NormalizedCacheObject,\n} from '@apollo/client/core';\n\nimport type {\n  ComponentDocument,\n  Constructor,\n  Data,\n  GraphQLError,\n  MaybeTDN,\n  MaybeVariables,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport type { ApolloController, ApolloElementElement } from '@apollo-elements/core';\n\nimport { ControllerHostMixin } from './controller-host-mixin.js';\n\nimport { controlled } from '@apollo-elements/core/decorators';\nimport { ApolloElementEvent } from '@apollo-elements/core/events';\n\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\n\ntype MixinInstance<B extends Constructor<HTMLElement>> = B & {\n  new <D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>():\n    ApolloElementElement<D, V>;\n  documentType: 'document'|'mutation'|'query'|'subscription';\n  observedAttributes?: string[];\n}\n\nfunction ApolloElementMixinImplementation<B extends Constructor & {\n  observedAttributes?: string[]\n}>(\n  superclass: B\n): MixinInstance<B> {\n  class ApolloElement<D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>\n    extends ControllerHostMixin(superclass) {\n    static documentType: 'document'|'query'|'mutation'|'subscription' = 'document';\n\n    static get observedAttributes(): string[] {\n      return [\n        ...super.observedAttributes ?? [], /* c8 ignore next */ // covered\n        'error-policy',\n        'fetch-policy',\n      ];\n    }\n\n    /** @summary The Apollo Client instance. */\n    @controlled()\n    client: ApolloClient<NormalizedCacheObject> | null = window.__APOLLO_CLIENT__ ?? null; /* c8 ignore next */ // covered\n\n    declare controller: ApolloController<D, V>;\n\n    /**\n     * @summary Operation document.\n     * A GraphQL document containing a single query, mutation, or subscription.\n     * You can set it as a JavaScript property or by appending a GraphQL script to the element (light DOM).\n     */\n    @controlled() document: ComponentDocument<D> | null = null;\n\n    /** @summary Latest data */\n    @controlled() data: Data<D> | null = null;\n\n    /**\n     * @summary Operation variables.\n     * An object that maps from the name of a variable as used in the operation's GraphQL document to that variable's value.\n     */\n    @controlled() variables: Variables<D, V> | null = null;\n\n    /** @summary Latest error. */\n    @controlled() error: Error | ApolloError | null = null;\n\n    /** @summary Latest errors. */\n    @controlled() errors: readonly GraphQLError[] = [];\n\n    /** @summary Whether a request is in-flight. */\n    @controlled() loading = false;\n\n    /** @summary Fetch Policy for the operation. */\n    @controlled({ path: 'options' }) fetchPolicy?: string;\n\n    /** @summary Context passed to the link execution chain. */\n    @controlled({ path: 'options' }) context?: Record<string, unknown>;\n\n    /**\n     * errorPolicy determines the level of events for errors in the execution result. The options are:\n     * - `none` (default): any errors from the request are treated like runtime errors and the observable is stopped (XXX this is default to lower breaking changes going from AC 1.0 => 2.0)\n     * - `ignore`: errors from the request do not stop the observable, but also don't call `next`\n     * - `all`: errors are treated like data and will notify observables\n     * @summary [Error Policy](https://www.apollographql.com/docs/react/api/core/ApolloClient/#ErrorPolicy) for the operation.\n     * @attr error-policy\n     */\n    @controlled({ path: 'options' }) errorPolicy?: ErrorPolicy;\n\n    /** @summary True when the element is connected and ready to receive its GraphQL document */\n    public readyToReceiveDocument = false;\n\n    constructor(...a: any[]) {\n      super(...a);\n      this.requestUpdate();\n    }\n\n    attributeChangedCallback(name: string, oldVal: string, newVal: string): void {\n      type ThisPolicy = `${'error'|'fetch'}Policy`;\n      /* c8 ignore start */ // covered\n      switch (name) {\n        case 'error-policy':\n        case 'fetch-policy': {\n          const prop =\n            name.replace(/-(.)/g, (_, g1) => g1.toUpperCase()) as ThisPolicy;\n          if (this[prop] !== newVal)\n            this[prop] = newVal as this['errorPolicy'];\n        }\n      }\n      super.attributeChangedCallback?.(name, oldVal, newVal);\n      /* c8 ignore stop */\n    }\n\n    connectedCallback(): void {\n      this.readyToReceiveDocument = true;\n      super.connectedCallback();\n      this.dispatchEvent(new ApolloElementEvent('apollo-element-connected', this));\n    }\n\n    disconnectedCallback(): void {\n      this.dispatchEvent(new ApolloElementEvent('apollo-element-disconnected', this));\n      window.dispatchEvent(new ApolloElementEvent('apollo-element-disconnected', this));\n      super.disconnectedCallback?.(); /* c8 ignore start */ // manual testing showed that both cases were hit\n    }\n\n    /**\n     * Lifecycle callback that reacts to changes in the GraphQL document.\n     * @param document The GraphQL document.\n     */\n    protected documentChanged?(document: this['document']): void\n\n    /**\n     * Lifecycle callback that reacts to changes in the operation variables.\n     * @param variables The variables.\n     */\n    protected variablesChanged?(variables: this['variables']): void\n  }\n\n  return ApolloElement as unknown as MixinInstance<B>;\n}\n\n/**\n * `ApolloElementMixin`: class mixin for apollo custom elements.\n */\nexport const ApolloElementMixin =\n  dedupeMixin(ApolloElementMixinImplementation);\n", "import type { DocumentNode } from '@apollo/client/core';\n\n/**\n * Validates a graphql document node.\n *\n * ```haskell\n * isValidGql :: DocumentNode a => a -> Bool\n * ```\n * @param doc Maybe a DocumentNode\n * @return Whether the argument is a DocumentNode\n */\nexport function isValidGql(doc: unknown): doc is DocumentNode {\n  return !!(\n    doc &&\n    typeof doc === 'object' &&\n    'kind' in doc &&\n    'definitions' in doc\n  );\n}\n", "import type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nimport type {\n  ApolloClient,\n  ApolloError,\n  ErrorPolicy,\n  NormalizedCacheObject,\n} from '@apollo/client/core';\n\n\nimport type {\n  ComponentDocument,\n  Data,\n  GraphQLError,\n  MaybeTDN,\n  MaybeVariables,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport { isValidGql } from './lib/is-valid-gql.js';\n\nimport { ApolloControllerConnectedEvent, ApolloControllerDisconnectedEvent } from './events.js';\n\nexport interface ApolloControllerOptions<D, V> {\n  /** The `ApolloClient` instance for the controller. */\n  client?: ApolloClient<NormalizedCacheObject>;\n  /** Variables for the operation. */\n  variables?: Variables<D, V>;\n  /** Context passed to the link execution chain. */\n  context?: any; // eslint-disable-line @typescript-eslint/no-explicit-any\n  /**\n   * errorPolicy determines the level of events for errors in the execution result. The options are:\n   * - `none` (default): any errors from the request are treated like runtime errors and the observable is stopped (XXX this is default to lower breaking changes going from AC 1.0 => 2.0)\n   * - `ignore`: errors from the request do not stop the observable, but also don't call `next`\n   * - `all`: errors are treated like data and will notify observables\n   * @summary [Error Policy](https://www.apollographql.com/docs/react/api/core/ApolloClient/#ErrorPolicy) for the query.\n   */\n  errorPolicy?: ErrorPolicy;\n  /** When provided, the controller will fall back to this element to fire events */\n  hostElement?: HTMLElement;\n  /** Host update callback */\n  [update]?(properties?: Record<string, unknown>): void;\n}\n\nexport const update = Symbol('update');\n\ninterface ReflectingReactiveControllerHost extends ReactiveControllerHost {\n  [update](properties?: Record<string, unknown>): void;\n}\n\nfunction isReflectingHost(host: ReactiveControllerHost): host is ReflectingReactiveControllerHost {\n  return typeof (host as ReactiveControllerHost & { [update]: unknown })[update] === 'function';\n}\n\nexport abstract class ApolloController<\n  D extends MaybeTDN = MaybeTDN,\n  V = MaybeVariables<D>\n>\nimplements ReactiveController {\n  #options: ApolloControllerOptions<D, V> = {};\n\n  #client: ApolloClient<NormalizedCacheObject> | null = null;\n\n  #document: ComponentDocument<D> | null = null;\n\n  /** @summary The event emitter to use when firing events, usually the host element. */\n  protected emitter: EventTarget;\n\n  called = true;\n\n  /** @summary Latest data for the operation, or `null`. */\n  data: Data<D> | null = null;\n\n  /** @summary Latest error from the operation, or `null`. */\n  error: ApolloError | null = null;\n\n  /** @summary Latest errors from the operation, or `[]`. */\n  errors: readonly GraphQLError[] = [];\n\n  /** @summary Whether a request is in-flight. */\n  loading = false;\n\n  /** @summary Options for the operation and controller. */\n  get options(): ApolloControllerOptions<D, V> {\n    return this.#options;\n  }\n\n  set options(v: ApolloControllerOptions<D, V>) {\n    const u = this.#options[update];\n    this.#options = { [update]: u, ...v };\n  }\n\n  /** @summary The `ApolloClient` instance for this controller. */\n  get client(): ApolloClient<NormalizedCacheObject> | null {\n    return this.#client;\n  }\n\n  set client(v: ApolloClient<NormalizedCacheObject> | null) {\n    this.#client = v;\n    this.clientChanged?.(v); /* c8 ignore next */ // covered\n    this.notify('client');\n  }\n\n  /** @summary The GraphQL document for the operation. */\n  get document(): ComponentDocument<D> | null { return this.#document; }\n\n  set document(document: ComponentDocument<D> | null) {\n    if (document === this.#document)\n      return; /* c8 ignore next */ // covered\n    else if (!document)\n      this.#document = null; /* c8 ignore next */ // covered\n    else if (!isValidGql(document)) { /* c8 ignore next */ // covered\n      const name = (this.constructor.name).replace(/Apollo(\\w+)Controller/, '$1');\n      throw new TypeError(`${name} must be a parsed GraphQL document.`);\n    } else {\n      this.#document = document;\n      this[update]({ document });\n      this.documentChanged?.(document);/* c8 ignore next */\n    }\n  }\n\n  /** @summary Variables for the operation. */\n  get variables(): Variables<D, V> | null {\n    return this.options?.variables ?? null;\n  }\n\n  set variables(variables: Variables<D, V> | null) {\n    if (!variables)\n      delete this.options.variables;/* c8 ignore next */ // covered\n    else if (variables === this.options.variables)\n      return; /* c8 ignore next */ // covered\n    else\n      this.options.variables = variables;\n    this[update]({ variables });\n    this.variablesChanged?.(variables);/* c8 ignore next */\n  }\n\n  constructor(public host: ReactiveControllerHost, options?: ApolloControllerOptions<D, V>) {\n    /* c8 ignore start */ // these are all covered\n    if (host instanceof EventTarget)\n      this.emitter = host;\n    else if (options?.hostElement instanceof EventTarget)\n      this.emitter = options.hostElement;\n    else\n      this.emitter = new EventTarget();\n    this.options = options ?? {};\n    this.client = this.options.client ?? window.__APOLLO_CLIENT__ ?? null;\n    host.addController?.(this);\n    /* c8 ignore stop */\n  }\n\n  /** @summary requests an update on the host. */\n  private [update](properties?: Record<string, unknown>): void {\n    this.host.requestUpdate();\n    /* c8 ignore start */ // these are all covered\n    if (isReflectingHost(this.host))\n      this.host[update](properties);\n    else\n      this.options[update]?.(properties);\n    /* c8 ignore stop */\n  }\n\n  /** @summary callback for when the GraphQL document changes. */\n  protected documentChanged?(document?: ComponentDocument<D> | null): void;\n\n  /** @summary callback for when the GraphQL variables change. */\n  protected variablesChanged?(variables?: Variables<D, V> | null): void;\n\n  /** @summary callback for when the Apollo client changes. */\n  protected clientChanged?(client?: ApolloClient<NormalizedCacheObject> | null): void;\n\n  /** @summary Notifies about updated properties. */\n  protected notify(...keys: (keyof this)[]): void {\n    this[update](Object.fromEntries(keys.map(x => [x, this[x]])));\n  }\n\n  /** @summary Assigns the controller's variables and GraphQL document. */\n  protected init(document: ComponentDocument<D> | null): void {\n    this.variables ??= this.options.variables ?? null;\n    this.document = document;\n  }\n\n  /** @fires {ApolloControllerConnectedEvent} apollo-controller-connected when the controller's host connects to the document. */\n  hostConnected(): void {\n    this.emitter.dispatchEvent(new ApolloControllerConnectedEvent(this));\n  }\n\n  /** @fires {ApolloControllerDisconnectedEvent} apollo-controller-disconnected when the controller's host disconnects from the document. */\n  hostDisconnected(): void {\n    this.emitter.dispatchEvent(new ApolloControllerDisconnectedEvent(this));\n    window.dispatchEvent(new ApolloControllerDisconnectedEvent(this));\n  }\n}\n", "const configurable = true;\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\nexport function bound(_: any, key: string, descriptor: PropertyDescriptor): PropertyDescriptor {\n  if (typeof descriptor?.value !== 'function')\n    throw new TypeError(`Only methods can be decorated with @bound. <${key ?? _.name}> is not a method!`); /* c8 ignore next */\n  return {\n    configurable,\n    get() {\n      const value = descriptor.value.bind(this);\n      Object.defineProperty(this, key, { value, configurable, writable: true });\n      return value;\n    },\n  };\n}\n", "import type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nimport type {\n  ComponentDocument,\n  Data,\n  MaybeTDN,\n  MaybeVariables,\n  OptimisticResponseType,\n  RefetchQueriesType,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport type {\n  ApolloError,\n  ErrorPolicy,\n  FetchPolicy,\n  FetchResult,\n  MutationOptions,\n  MutationUpdaterFn,\n} from '@apollo/client/core';\n\nimport { ApolloController, ApolloControllerOptions } from './apollo-controller.js';\n\nimport { bound } from './lib/bound.js';\n\nexport interface ApolloMutationControllerOptions<D, V> extends ApolloControllerOptions<D, V> {\n  /**\n   * An object that maps from the name of a variable as used in the mutation GraphQL document to that variable's value.\n   *\n   * @summary Mutation variables.\n   */\n  variables?: Variables<D, V>,\n  refetchQueries?: RefetchQueriesType<D> | null,\n  context?: Record<string, unknown>,\n  optimisticResponse?: OptimisticResponseType<D, V>,\n  errorPolicy?: ErrorPolicy;\n  fetchPolicy?: Extract<FetchPolicy, 'no-cache'>,\n  awaitRefetchQueries?: boolean,\n  onCompleted?(data: Data<D>|null): void,\n  onError?(error: Error): void,\n  update?(\n    ...p: Parameters<MutationUpdaterFn<Data<D>>>\n  ): ReturnType<MutationUpdaterFn<Data<D>>>,\n  ignoreResults?: boolean,\n}\n\nexport class ApolloMutationController<D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>\n  extends ApolloController<D, V> implements ReactiveController {\n  /**\n   * The ID number of the most recent mutation since the element was instantiated.\n   */\n  private mostRecentMutationId = 0;\n\n  // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/40220\n  declare options: ApolloMutationControllerOptions<D, V>;\n\n  called = false;\n\n  get mutation(): ComponentDocument<D> | null { return this.document; }\n\n  set mutation(document: ComponentDocument<D> | null) { this.document = document; }\n\n  constructor(\n    host: ReactiveControllerHost,\n    mutation?: ComponentDocument<D> | null,\n    options?: ApolloMutationControllerOptions<D, V>\n  ) {\n    super(host, options);\n    this.init(mutation ?? null);/* c8 ignore next */\n  }\n\n  /**\n   * @summary Fires a mutation\n   * This resolves a single mutation according to the options specified and returns a Promise which is either resolved with the resulting data or rejected with an error.\n   */\n  @bound public async mutate(\n    params?: Partial<MutationOptions<Data<D>, Variables<D, V>>>\n  ): Promise<FetchResult<Data<D>>> {\n    if (!this.client)\n      throw new TypeError('No Apollo client. See https://apolloelements.dev/guides/getting-started/apollo-client/'); /* c8 ignore next */ // covered\n    const mutationId = this.generateMutationId();\n\n    this.loading = true;\n    this.called = true;\n    this.error = null;\n    this.errors = [];\n    this.data = null;\n    this.notify('called', 'data', 'error', 'errors', 'loading');\n\n    return this.client.mutate<Data<D>, Variables<D, V>>({\n      // It's better to let Apollo client throw this error\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      mutation: this.mutation!,\n\n      awaitRefetchQueries: this.options.awaitRefetchQueries,\n      context: this.options.context,\n      errorPolicy: this.options.errorPolicy,\n      fetchPolicy: this.options.fetchPolicy,\n      optimisticResponse: this.options.optimisticResponse,\n      refetchQueries: this.options.refetchQueries ?? undefined,\n      update: this.options.update,\n      variables: this.variables ?? undefined,\n      ...params,\n    })\n      .then(this.onCompletedMutation.bind(this, mutationId))\n      .catch(this.onMutationError.bind(this, mutationId));\n  }\n\n  /**\n   * Increments and returns the most recent mutation id.\n   */\n  private generateMutationId(): number {\n    this.mostRecentMutationId += 1;\n    return this.mostRecentMutationId;\n  }\n\n  /**\n   * Returns true when an ID matches the most recent mutation id.\n   */\n  private isMostRecentMutation(mutationId: number): boolean {\n    return this.mostRecentMutationId === mutationId;\n  }\n\n  /**\n   * Callback for when a mutation is completed.\n   */\n  private onCompletedMutation(\n    mutationId: number,\n    response: FetchResult<Data<D>>\n  ): FetchResult<Data<D>> {\n    const { data } = response;\n    this.emitter.dispatchEvent(new CustomEvent('apollo-mutation-result', { detail: response }));\n    if (this.isMostRecentMutation(mutationId)) {\n      this.loading = false;\n      if (!this.options.ignoreResults) {\n        this.error = null;\n        this.data = data ?? null;/* c8 ignore next */\n        this.errors = response.errors ?? [];\n        this.options.onCompleted?.(this.data); /* c8 ignore next */\n      }\n      this.notify('data', 'error', 'errors', 'loading');\n    }\n    return response;\n  }\n\n  /**\n   * Callback for when a mutation fails.\n   */\n  private onMutationError(mutationId: number, error: ApolloError): never {\n    this.emitter.dispatchEvent(new CustomEvent('apollo-error', { detail: error }));\n    if (this.isMostRecentMutation(mutationId)) {\n      this.loading = false;\n      this.data = null;\n      this.error = error;\n    }\n    this.options.onError?.(error);\n    this.notify('data', 'error', 'loading');\n    throw error;\n  }\n}\n", "import type * as C from '@apollo/client/core';\n\nimport type {\n  ComponentDocument,\n  Constructor,\n  Data,\n  MaybeTDN,\n  MaybeVariables,\n  OptimisticResponseType,\n  RefetchQueriesType,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport type { ApolloMutationElement } from '@apollo-elements/core/types';\n\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\n\nimport { ApolloElementMixin } from './apollo-element-mixin.js';\nimport { controlled } from '@apollo-elements/core/decorators';\n\nimport { ApolloMutationController } from '@apollo-elements/core/apollo-mutation-controller';\n\ntype MixinInstance<B extends Constructor> = B & {\n  new <D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>():\n    InstanceType<B> & ApolloMutationElement<D, V>;\n  documentType: 'mutation';\n  observedAttributes?: string[];\n}\n\nfunction ApolloMutationMixinImpl<B extends Constructor>(base: B): B & MixinInstance<B> {\n  class MixedApolloMutationElement<D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>\n    extends ApolloElementMixin(base)<D, V> {\n    static override documentType = 'mutation' as const;\n\n    static get observedAttributes(): string[] {\n      return [\n        ...(super.observedAttributes ?? []), /* c8 ignore next */\n        'await-refetch-queries',\n        'refetch-queries',\n      ];\n    }\n\n    controller = new ApolloMutationController<D, V>(this, null, {\n      update: this.updater,\n      onCompleted: data => data && this.onCompleted?.(data),\n      onError: error => this.onError?.(error),\n    });\n\n    @controlled({ readonly: true }) readonly called = false;\n\n    @controlled() mutation: ComponentDocument<D> | null = null;\n\n    @controlled({ path: 'options' }) optimisticResponse?: OptimisticResponseType<D, V>;\n\n    @controlled({ path: 'options' }) refetchQueries: RefetchQueriesType<D> | null = null;\n\n    @controlled({ path: 'options' }) fetchPolicy?: Extract<C.FetchPolicy, 'no-cache'>;\n\n    @controlled({ path: 'options' }) awaitRefetchQueries?: boolean;\n\n    @controlled({ path: 'options' }) ignoreResults = false;\n\n    onCompleted?(_data: Data<D>): void;\n\n    onError?(_error: Error): void;\n\n    updater?(\n      ...params: Parameters<C.MutationUpdaterFn<Data<D>>>\n    ): ReturnType<C.MutationUpdaterFn<Data<D>>>;\n\n    override attributeChangedCallback(name: string, oldVal: string, newVal: string): void {\n      super.attributeChangedCallback?.(name, oldVal, newVal);\n      /* c8 ignore start */\n      // @ts-expect-error: ts is not tracking the static side\n      if ((super.constructor?.observedAttributes ?? []).includes(name))\n        return;\n      /* c8 ignore stop */\n\n      switch (name) { /* c8 ignore next */\n        case 'await-refetch-queries':\n          this.awaitRefetchQueries =\n            this.hasAttribute('await-refetch-queries');\n          break; /* c8 ignore next */\n\n        case 'refetch-queries':\n          this.refetchQueries =\n            !newVal ? null : newVal\n              .split(',')\n              .map(x => x.trim());\n          break; /* c8 ignore next */\n      }\n    }\n\n    /**\n     * This resolves a single mutation according to the options specified and returns a Promise which is either resolved with the resulting data or rejected with an error.\n     */\n    public async mutate(\n      params?: Partial<C.MutationOptions<Data<D>, Variables<D, V>>>\n    ): Promise<C.FetchResult<Data<D>>> {\n      return this.controller.mutate(params);\n    }\n  }\n\n  return MixedApolloMutationElement as MixinInstance<B>;\n}\n\n/**\n * `ApolloMutationMixin`: class mixin for apollo-mutation elements.\n */\nexport const ApolloMutationMixin =\n  dedupeMixin(ApolloMutationMixinImpl);\n", "import tslib from '../tslib.js';\r\nconst {\r\n    __extends,\r\n    __assign,\r\n    __rest,\r\n    __decorate,\r\n    __param,\r\n    __metadata,\r\n    __awaiter,\r\n    __generator,\r\n    __exportStar,\r\n    __createBinding,\r\n    __values,\r\n    __read,\r\n    __spread,\r\n    __spreadArrays,\r\n    __spreadArray,\r\n    __await,\r\n    __asyncGenerator,\r\n    __asyncDelegator,\r\n    __asyncValues,\r\n    __makeTemplateObject,\r\n    __importStar,\r\n    __importDefault,\r\n    __classPrivateFieldGet,\r\n    __classPrivateFieldSet,\r\n} = tslib;\r\nexport {\r\n    __extends,\r\n    __assign,\r\n    __rest,\r\n    __decorate,\r\n    __param,\r\n    __metadata,\r\n    __awaiter,\r\n    __generator,\r\n    __exportStar,\r\n    __createBinding,\r\n    __values,\r\n    __read,\r\n    __spread,\r\n    __spreadArrays,\r\n    __spreadArray,\r\n    __await,\r\n    __asyncGenerator,\r\n    __asyncDelegator,\r\n    __asyncValues,\r\n    __makeTemplateObject,\r\n    __importStar,\r\n    __importDefault,\r\n    __classPrivateFieldGet,\r\n    __classPrivateFieldSet,\r\n};\r\n", "const genericMessage = \"Invariant Violation\";\nconst {\n  setPrototypeOf = function (obj: any, proto: any) {\n    obj.__proto__ = proto;\n    return obj;\n  },\n} = Object as any;\n\nexport class InvariantError extends Error {\n  framesToPop = 1;\n  name = genericMessage;\n  constructor(message: string | number = genericMessage) {\n    super(\n      typeof message === \"number\"\n        ? `${genericMessage}: ${message} (see https://github.com/apollographql/invariant-packages)`\n        : message\n    );\n    setPrototypeOf(this, InvariantError.prototype);\n  }\n}\n\nexport function invariant(\n  condition: any,\n  message?: string | number,\n): asserts condition {\n  if (!condition) {\n    throw new InvariantError(message);\n  }\n}\n\nconst verbosityLevels = [\"log\", \"warn\", \"error\", \"silent\"] as const;\ntype VerbosityLevel = (typeof verbosityLevels)[number];\ntype ConsoleMethodName = Exclude<VerbosityLevel, \"silent\">;\nlet verbosityLevel = verbosityLevels.indexOf(\"log\");\n\nfunction wrapConsoleMethod<M extends ConsoleMethodName>(method: M) {\n  return function () {\n    if (verbosityLevels.indexOf(method) >= verbosityLevel) {\n      return console[method].apply(console, arguments as any);\n    }\n  } as (typeof console)[M];\n}\n\nexport namespace invariant {\n  export const log = wrapConsoleMethod(\"log\");\n  export const warn = wrapConsoleMethod(\"warn\");\n  export const error = wrapConsoleMethod(\"error\");\n}\n\nexport function setVerbosity(level: VerbosityLevel): VerbosityLevel {\n  const old = verbosityLevels[verbosityLevel];\n  verbosityLevel = Math.max(0, verbosityLevels.indexOf(level));\n  return old;\n}\n\n// Code that uses ts-invariant with rollup-plugin-invariant may want to\n// import this process stub to avoid errors evaluating process.env.NODE_ENV.\n// However, because most ESM-to-CJS compilers will rewrite the process import\n// as tsInvariant.process, which prevents proper replacement by minifiers, we\n// also export processStub, so you can import { invariant, processStub } from\n// \"ts-invariant\" and assign processStub to a local variable named process.\nexport const processStub: {\n  env: Record<string, any>;\n  [key: string]: any;\n} = (\n  typeof process === \"object\" &&\n  typeof process.env === \"object\"\n) ? process : { env: {} };\n\nexport { processStub as process };\n\nexport default invariant;\n", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n  return _typeof(value) == 'object' && value !== null;\n}\n", "// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n", "/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n  var lineRegexp = /\\r\\n|[\\n\\r]/g;\n  var line = 1;\n  var column = position + 1;\n  var match;\n\n  while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n    line += 1;\n    column = position + 1 - (match.index + match[0].length);\n  }\n\n  return {\n    line: line,\n    column: column\n  };\n}\n", "import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n  return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n  var firstLineColumnOffset = source.locationOffset.column - 1;\n  var body = whitespace(firstLineColumnOffset) + source.body;\n  var lineIndex = sourceLocation.line - 1;\n  var lineOffset = source.locationOffset.line - 1;\n  var lineNum = sourceLocation.line + lineOffset;\n  var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n  var columnNum = sourceLocation.column + columnOffset;\n  var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n  var lines = body.split(/\\r\\n|[\\n\\r]/g);\n  var locationLine = lines[lineIndex]; // Special case for minified documents\n\n  if (locationLine.length > 120) {\n    var subLineIndex = Math.floor(columnNum / 80);\n    var subLineColumnNum = columnNum % 80;\n    var subLines = [];\n\n    for (var i = 0; i < locationLine.length; i += 80) {\n      subLines.push(locationLine.slice(i, i + 80));\n    }\n\n    return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n      return ['', subLine];\n    }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n  }\n\n  return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n  [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n  var existingLines = lines.filter(function (_ref) {\n    var _ = _ref[0],\n        line = _ref[1];\n    return line !== undefined;\n  });\n  var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n    var prefix = _ref2[0];\n    return prefix.length;\n  }));\n  return existingLines.map(function (_ref3) {\n    var prefix = _ref3[0],\n        line = _ref3[1];\n    return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n  }).join('\\n');\n}\n\nfunction whitespace(len) {\n  return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n  return whitespace(len - str.length) + str;\n}\n", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n// FIXME:\n// flowlint uninitialized-instance-property:off\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n  _inherits(GraphQLError, _Error);\n\n  var _super = _createSuper(GraphQLError);\n\n  /**\n   * A message describing the Error for debugging purposes.\n   *\n   * Enumerable, and appears in the result of JSON.stringify().\n   *\n   * Note: should be treated as readonly, despite invariant usage.\n   */\n\n  /**\n   * An array of { line, column } locations within the source GraphQL document\n   * which correspond to this error.\n   *\n   * Errors during validation often contain multiple locations, for example to\n   * point out two things with the same name. Errors during execution include a\n   * single location, the field which produced the error.\n   *\n   * Enumerable, and appears in the result of JSON.stringify().\n   */\n\n  /**\n   * An array describing the JSON-path into the execution response which\n   * corresponds to this error. Only included for errors during execution.\n   *\n   * Enumerable, and appears in the result of JSON.stringify().\n   */\n\n  /**\n   * An array of GraphQL AST Nodes corresponding to this error.\n   */\n\n  /**\n   * The source GraphQL document for the first location of this error.\n   *\n   * Note that if this Error represents more than one node, the source may not\n   * represent nodes after the first node.\n   */\n\n  /**\n   * An array of character offsets within the source GraphQL document\n   * which correspond to this error.\n   */\n\n  /**\n   * The original error thrown from a field resolver during execution.\n   */\n\n  /**\n   * Extension fields to add to the formatted error.\n   */\n  function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n    var _locations2, _source2, _positions2, _extensions2;\n\n    var _this;\n\n    _classCallCheck(this, GraphQLError);\n\n    _this = _super.call(this, message); // Compute list of blame nodes.\n\n    var _nodes = Array.isArray(nodes) ? nodes.length !== 0 ? nodes : undefined : nodes ? [nodes] : undefined; // Compute locations in the source for the given nodes/positions.\n\n\n    var _source = source;\n\n    if (!_source && _nodes) {\n      var _nodes$0$loc;\n\n      _source = (_nodes$0$loc = _nodes[0].loc) === null || _nodes$0$loc === void 0 ? void 0 : _nodes$0$loc.source;\n    }\n\n    var _positions = positions;\n\n    if (!_positions && _nodes) {\n      _positions = _nodes.reduce(function (list, node) {\n        if (node.loc) {\n          list.push(node.loc.start);\n        }\n\n        return list;\n      }, []);\n    }\n\n    if (_positions && _positions.length === 0) {\n      _positions = undefined;\n    }\n\n    var _locations;\n\n    if (positions && source) {\n      _locations = positions.map(function (pos) {\n        return getLocation(source, pos);\n      });\n    } else if (_nodes) {\n      _locations = _nodes.reduce(function (list, node) {\n        if (node.loc) {\n          list.push(getLocation(node.loc.source, node.loc.start));\n        }\n\n        return list;\n      }, []);\n    }\n\n    var _extensions = extensions;\n\n    if (_extensions == null && originalError != null) {\n      var originalExtensions = originalError.extensions;\n\n      if (isObjectLike(originalExtensions)) {\n        _extensions = originalExtensions;\n      }\n    }\n\n    Object.defineProperties(_assertThisInitialized(_this), {\n      name: {\n        value: 'GraphQLError'\n      },\n      message: {\n        value: message,\n        // By being enumerable, JSON.stringify will include `message` in the\n        // resulting output. This ensures that the simplest possible GraphQL\n        // service adheres to the spec.\n        enumerable: true,\n        writable: true\n      },\n      locations: {\n        // Coercing falsy values to undefined ensures they will not be included\n        // in JSON.stringify() when not provided.\n        value: (_locations2 = _locations) !== null && _locations2 !== void 0 ? _locations2 : undefined,\n        // By being enumerable, JSON.stringify will include `locations` in the\n        // resulting output. This ensures that the simplest possible GraphQL\n        // service adheres to the spec.\n        enumerable: _locations != null\n      },\n      path: {\n        // Coercing falsy values to undefined ensures they will not be included\n        // in JSON.stringify() when not provided.\n        value: path !== null && path !== void 0 ? path : undefined,\n        // By being enumerable, JSON.stringify will include `path` in the\n        // resulting output. This ensures that the simplest possible GraphQL\n        // service adheres to the spec.\n        enumerable: path != null\n      },\n      nodes: {\n        value: _nodes !== null && _nodes !== void 0 ? _nodes : undefined\n      },\n      source: {\n        value: (_source2 = _source) !== null && _source2 !== void 0 ? _source2 : undefined\n      },\n      positions: {\n        value: (_positions2 = _positions) !== null && _positions2 !== void 0 ? _positions2 : undefined\n      },\n      originalError: {\n        value: originalError\n      },\n      extensions: {\n        // Coercing falsy values to undefined ensures they will not be included\n        // in JSON.stringify() when not provided.\n        value: (_extensions2 = _extensions) !== null && _extensions2 !== void 0 ? _extensions2 : undefined,\n        // By being enumerable, JSON.stringify will include `path` in the\n        // resulting output. This ensures that the simplest possible GraphQL\n        // service adheres to the spec.\n        enumerable: _extensions != null\n      }\n    }); // Include (non-enumerable) stack trace.\n\n    if (originalError !== null && originalError !== void 0 && originalError.stack) {\n      Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n        value: originalError.stack,\n        writable: true,\n        configurable: true\n      });\n      return _possibleConstructorReturn(_this);\n    } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n    if (Error.captureStackTrace) {\n      Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n    } else {\n      Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n        value: Error().stack,\n        writable: true,\n        configurable: true\n      });\n    }\n\n    return _this;\n  }\n\n  _createClass(GraphQLError, [{\n    key: \"toString\",\n    value: function toString() {\n      return printError(this);\n    } // FIXME: workaround to not break chai comparisons, should be remove in v16\n    // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n  }, {\n    key: SYMBOL_TO_STRING_TAG,\n    get: function get() {\n      return 'Object';\n    }\n  }]);\n\n  return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\nexport function printError(error) {\n  var output = error.message;\n\n  if (error.nodes) {\n    for (var _i2 = 0, _error$nodes2 = error.nodes; _i2 < _error$nodes2.length; _i2++) {\n      var node = _error$nodes2[_i2];\n\n      if (node.loc) {\n        output += '\\n\\n' + printLocation(node.loc);\n      }\n    }\n  } else if (error.source && error.locations) {\n    for (var _i4 = 0, _error$locations2 = error.locations; _i4 < _error$locations2.length; _i4++) {\n      var location = _error$locations2[_i4];\n      output += '\\n\\n' + printSourceLocation(error.source, location);\n    }\n  }\n\n  return output;\n}\n", "import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n  return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n", "/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n  // Name\n  NAME: 'Name',\n  // Document\n  DOCUMENT: 'Document',\n  OPERATION_DEFINITION: 'OperationDefinition',\n  VARIABLE_DEFINITION: 'VariableDefinition',\n  SELECTION_SET: 'SelectionSet',\n  FIELD: 'Field',\n  ARGUMENT: 'Argument',\n  // Fragments\n  FRAGMENT_SPREAD: 'FragmentSpread',\n  INLINE_FRAGMENT: 'InlineFragment',\n  FRAGMENT_DEFINITION: 'FragmentDefinition',\n  // Values\n  VARIABLE: 'Variable',\n  INT: 'IntValue',\n  FLOAT: 'FloatValue',\n  STRING: 'StringValue',\n  BOOLEAN: 'BooleanValue',\n  NULL: 'NullValue',\n  ENUM: 'EnumValue',\n  LIST: 'ListValue',\n  OBJECT: 'ObjectValue',\n  OBJECT_FIELD: 'ObjectField',\n  // Directives\n  DIRECTIVE: 'Directive',\n  // Types\n  NAMED_TYPE: 'NamedType',\n  LIST_TYPE: 'ListType',\n  NON_NULL_TYPE: 'NonNullType',\n  // Type System Definitions\n  SCHEMA_DEFINITION: 'SchemaDefinition',\n  OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n  // Type Definitions\n  SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n  OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n  FIELD_DEFINITION: 'FieldDefinition',\n  INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n  INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n  UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n  ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n  ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n  INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n  // Directive Definitions\n  DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n  // Type System Extensions\n  SCHEMA_EXTENSION: 'SchemaExtension',\n  // Type Extensions\n  SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n  OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n  INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n  UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n  ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n  INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n", "export default function invariant(condition, message) {\n  var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n  if (!booleanCondition) {\n    throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n  }\n}\n", "// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n", "import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n  var fn = classObject.prototype.toJSON;\n  typeof fn === 'function' || invariant(0);\n  classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n  if (nodejsCustomInspectSymbol) {\n    classObject.prototype[nodejsCustomInspectSymbol] = fn;\n  }\n}\n", "import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n  /**\n   * The character offset at which this Node begins.\n   */\n\n  /**\n   * The character offset at which this Node ends.\n   */\n\n  /**\n   * The Token at which this Node begins.\n   */\n\n  /**\n   * The Token at which this Node ends.\n   */\n\n  /**\n   * The Source document the AST represents.\n   */\n  function Location(startToken, endToken, source) {\n    this.start = startToken.start;\n    this.end = endToken.end;\n    this.startToken = startToken;\n    this.endToken = endToken;\n    this.source = source;\n  }\n\n  var _proto = Location.prototype;\n\n  _proto.toJSON = function toJSON() {\n    return {\n      start: this.start,\n      end: this.end\n    };\n  };\n\n  return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n  /**\n   * The kind of Token.\n   */\n\n  /**\n   * The character offset at which this Node begins.\n   */\n\n  /**\n   * The character offset at which this Node ends.\n   */\n\n  /**\n   * The 1-indexed line number on which this Token appears.\n   */\n\n  /**\n   * The 1-indexed column number at which this Token begins.\n   */\n\n  /**\n   * For non-punctuation tokens, represents the interpreted value of the token.\n   */\n\n  /**\n   * Tokens exist as nodes in a double-linked-list amongst all tokens\n   * including ignored tokens. <SOF> is always the first node and <EOF>\n   * the last.\n   */\n  function Token(kind, start, end, line, column, prev, value) {\n    this.kind = kind;\n    this.start = start;\n    this.end = end;\n    this.line = line;\n    this.column = column;\n    this.value = value;\n    this.prev = prev;\n    this.next = null;\n  }\n\n  var _proto2 = Token.prototype;\n\n  _proto2.toJSON = function toJSON() {\n    return {\n      kind: this.kind,\n      value: this.value,\n      line: this.line,\n      column: this.column\n    };\n  };\n\n  return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n  return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n", "/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n  SOF: '<SOF>',\n  EOF: '<EOF>',\n  BANG: '!',\n  DOLLAR: '$',\n  AMP: '&',\n  PAREN_L: '(',\n  PAREN_R: ')',\n  SPREAD: '...',\n  COLON: ':',\n  EQUALS: '=',\n  AT: '@',\n  BRACKET_L: '[',\n  BRACKET_R: ']',\n  BRACE_L: '{',\n  PIPE: '|',\n  BRACE_R: '}',\n  NAME: 'Name',\n  INT: 'Int',\n  FLOAT: 'Float',\n  STRING: 'String',\n  BLOCK_STRING: 'BlockString',\n  COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n", "function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n  return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n  switch (_typeof(value)) {\n    case 'string':\n      return JSON.stringify(value);\n\n    case 'function':\n      return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n    case 'object':\n      if (value === null) {\n        return 'null';\n      }\n\n      return formatObjectValue(value, seenValues);\n\n    default:\n      return String(value);\n  }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n  if (previouslySeenValues.indexOf(value) !== -1) {\n    return '[Circular]';\n  }\n\n  var seenValues = [].concat(previouslySeenValues, [value]);\n  var customInspectFn = getCustomFn(value);\n\n  if (customInspectFn !== undefined) {\n    var customValue = customInspectFn.call(value); // check for infinite recursion\n\n    if (customValue !== value) {\n      return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n    }\n  } else if (Array.isArray(value)) {\n    return formatArray(value, seenValues);\n  }\n\n  return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n  var keys = Object.keys(object);\n\n  if (keys.length === 0) {\n    return '{}';\n  }\n\n  if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n    return '[' + getObjectTag(object) + ']';\n  }\n\n  var properties = keys.map(function (key) {\n    var value = formatValue(object[key], seenValues);\n    return key + ': ' + value;\n  });\n  return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n  if (array.length === 0) {\n    return '[]';\n  }\n\n  if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n    return '[Array]';\n  }\n\n  var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n  var remaining = array.length - len;\n  var items = [];\n\n  for (var i = 0; i < len; ++i) {\n    items.push(formatValue(array[i], seenValues));\n  }\n\n  if (remaining === 1) {\n    items.push('... 1 more item');\n  } else if (remaining > 1) {\n    items.push(\"... \".concat(remaining, \" more items\"));\n  }\n\n  return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n  var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n  if (typeof customInspectFn === 'function') {\n    return customInspectFn;\n  }\n\n  if (typeof object.inspect === 'function') {\n    return object.inspect;\n  }\n}\n\nfunction getObjectTag(object) {\n  var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n  if (tag === 'Object' && typeof object.constructor === 'function') {\n    var name = object.constructor.name;\n\n    if (typeof name === 'string' && name !== '') {\n      return name;\n    }\n  }\n\n  return tag;\n}\n", "export default function devAssert(condition, message) {\n  var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n  if (!booleanCondition) {\n    throw new Error(message);\n  }\n}\n", "/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n  return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n  if (value instanceof constructor) {\n    return true;\n  }\n\n  if (value) {\n    var valueClass = value.constructor;\n    var className = constructor.name;\n\n    if (className && valueClass && valueClass.name === className) {\n      throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(value, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n    }\n  }\n\n  return false;\n};\n", "function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n  function Source(body) {\n    var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n    var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n      line: 1,\n      column: 1\n    };\n    typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n    this.body = body;\n    this.name = name;\n    this.locationOffset = locationOffset;\n    this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n    this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n  } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n  _createClass(Source, [{\n    key: SYMBOL_TO_STRING_TAG,\n    get: function get() {\n      return 'Source';\n    }\n  }]);\n\n  return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n  return instanceOf(source, Source);\n}\n", "/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n  // Request Definitions\n  QUERY: 'QUERY',\n  MUTATION: 'MUTATION',\n  SUBSCRIPTION: 'SUBSCRIPTION',\n  FIELD: 'FIELD',\n  FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n  FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n  INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n  VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n  // Type System Definitions\n  SCHEMA: 'SCHEMA',\n  SCALAR: 'SCALAR',\n  OBJECT: 'OBJECT',\n  FIELD_DEFINITION: 'FIELD_DEFINITION',\n  ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n  INTERFACE: 'INTERFACE',\n  UNION: 'UNION',\n  ENUM: 'ENUM',\n  ENUM_VALUE: 'ENUM_VALUE',\n  INPUT_OBJECT: 'INPUT_OBJECT',\n  INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n", "/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n  // Expand a block string's raw value into independent lines.\n  var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n  var commonIndent = getBlockStringIndentation(rawString);\n\n  if (commonIndent !== 0) {\n    for (var i = 1; i < lines.length; i++) {\n      lines[i] = lines[i].slice(commonIndent);\n    }\n  } // Remove leading and trailing blank lines.\n\n\n  var startLine = 0;\n\n  while (startLine < lines.length && isBlank(lines[startLine])) {\n    ++startLine;\n  }\n\n  var endLine = lines.length;\n\n  while (endLine > startLine && isBlank(lines[endLine - 1])) {\n    --endLine;\n  } // Return a string of the lines joined with U+000A.\n\n\n  return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n  for (var i = 0; i < str.length; ++i) {\n    if (str[i] !== ' ' && str[i] !== '\\t') {\n      return false;\n    }\n  }\n\n  return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n  var _commonIndent;\n\n  var isFirstLine = true;\n  var isEmptyLine = true;\n  var indent = 0;\n  var commonIndent = null;\n\n  for (var i = 0; i < value.length; ++i) {\n    switch (value.charCodeAt(i)) {\n      case 13:\n        //  \\r\n        if (value.charCodeAt(i + 1) === 10) {\n          ++i; // skip \\r\\n as one symbol\n        }\n\n      // falls through\n\n      case 10:\n        //  \\n\n        isFirstLine = false;\n        isEmptyLine = true;\n        indent = 0;\n        break;\n\n      case 9: //   \\t\n\n      case 32:\n        //  <space>\n        ++indent;\n        break;\n\n      default:\n        if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n          commonIndent = indent;\n        }\n\n        isEmptyLine = false;\n    }\n  }\n\n  return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n  var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n  var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  var isSingleLine = value.indexOf('\\n') === -1;\n  var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n  var hasTrailingQuote = value[value.length - 1] === '\"';\n  var hasTrailingSlash = value[value.length - 1] === '\\\\';\n  var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n  var result = ''; // Format a multi-line block quote to account for leading space.\n\n  if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n    result += '\\n' + indentation;\n  }\n\n  result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n  if (printAsMultipleLines) {\n    result += '\\n';\n  }\n\n  return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n", "import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n  /**\n   * The previously focused non-ignored token.\n   */\n\n  /**\n   * The currently focused non-ignored token.\n   */\n\n  /**\n   * The (1-indexed) line containing the current token.\n   */\n\n  /**\n   * The character offset at which the current line begins.\n   */\n  function Lexer(source) {\n    var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n    this.source = source;\n    this.lastToken = startOfFileToken;\n    this.token = startOfFileToken;\n    this.line = 1;\n    this.lineStart = 0;\n  }\n  /**\n   * Advances the token stream to the next non-ignored token.\n   */\n\n\n  var _proto = Lexer.prototype;\n\n  _proto.advance = function advance() {\n    this.lastToken = this.token;\n    var token = this.token = this.lookahead();\n    return token;\n  }\n  /**\n   * Looks ahead and returns the next non-ignored token, but does not change\n   * the state of Lexer.\n   */\n  ;\n\n  _proto.lookahead = function lookahead() {\n    var token = this.token;\n\n    if (token.kind !== TokenKind.EOF) {\n      do {\n        var _token$next;\n\n        // Note: next is only mutable during parsing, so we cast to allow this.\n        token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n      } while (token.kind === TokenKind.COMMENT);\n    }\n\n    return token;\n  };\n\n  return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n  return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n  return (// NaN/undefined represents access beyond the end of the file.\n    isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n    code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n    \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n  );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n  var source = lexer.source;\n  var body = source.body;\n  var bodyLength = body.length;\n  var pos = prev.end;\n\n  while (pos < bodyLength) {\n    var code = body.charCodeAt(pos);\n    var _line = lexer.line;\n\n    var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n    switch (code) {\n      case 0xfeff: // <BOM>\n\n      case 9: //   \\t\n\n      case 32: //  <space>\n\n      case 44:\n        //  ,\n        ++pos;\n        continue;\n\n      case 10:\n        //  \\n\n        ++pos;\n        ++lexer.line;\n        lexer.lineStart = pos;\n        continue;\n\n      case 13:\n        //  \\r\n        if (body.charCodeAt(pos + 1) === 10) {\n          pos += 2;\n        } else {\n          ++pos;\n        }\n\n        ++lexer.line;\n        lexer.lineStart = pos;\n        continue;\n\n      case 33:\n        //  !\n        return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n      case 35:\n        //  #\n        return readComment(source, pos, _line, _col, prev);\n\n      case 36:\n        //  $\n        return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n      case 38:\n        //  &\n        return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n      case 40:\n        //  (\n        return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n      case 41:\n        //  )\n        return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n      case 46:\n        //  .\n        if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n          return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n        }\n\n        break;\n\n      case 58:\n        //  :\n        return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n      case 61:\n        //  =\n        return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n      case 64:\n        //  @\n        return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n      case 91:\n        //  [\n        return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n      case 93:\n        //  ]\n        return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n      case 123:\n        // {\n        return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n      case 124:\n        // |\n        return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n      case 125:\n        // }\n        return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n      case 34:\n        //  \"\n        if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n          return readBlockString(source, pos, _line, _col, prev, lexer);\n        }\n\n        return readString(source, pos, _line, _col, prev);\n\n      case 45: //  -\n\n      case 48: //  0\n\n      case 49: //  1\n\n      case 50: //  2\n\n      case 51: //  3\n\n      case 52: //  4\n\n      case 53: //  5\n\n      case 54: //  6\n\n      case 55: //  7\n\n      case 56: //  8\n\n      case 57:\n        //  9\n        return readNumber(source, pos, code, _line, _col, prev);\n\n      case 65: //  A\n\n      case 66: //  B\n\n      case 67: //  C\n\n      case 68: //  D\n\n      case 69: //  E\n\n      case 70: //  F\n\n      case 71: //  G\n\n      case 72: //  H\n\n      case 73: //  I\n\n      case 74: //  J\n\n      case 75: //  K\n\n      case 76: //  L\n\n      case 77: //  M\n\n      case 78: //  N\n\n      case 79: //  O\n\n      case 80: //  P\n\n      case 81: //  Q\n\n      case 82: //  R\n\n      case 83: //  S\n\n      case 84: //  T\n\n      case 85: //  U\n\n      case 86: //  V\n\n      case 87: //  W\n\n      case 88: //  X\n\n      case 89: //  Y\n\n      case 90: //  Z\n\n      case 95: //  _\n\n      case 97: //  a\n\n      case 98: //  b\n\n      case 99: //  c\n\n      case 100: // d\n\n      case 101: // e\n\n      case 102: // f\n\n      case 103: // g\n\n      case 104: // h\n\n      case 105: // i\n\n      case 106: // j\n\n      case 107: // k\n\n      case 108: // l\n\n      case 109: // m\n\n      case 110: // n\n\n      case 111: // o\n\n      case 112: // p\n\n      case 113: // q\n\n      case 114: // r\n\n      case 115: // s\n\n      case 116: // t\n\n      case 117: // u\n\n      case 118: // v\n\n      case 119: // w\n\n      case 120: // x\n\n      case 121: // y\n\n      case 122:\n        // z\n        return readName(source, pos, _line, _col, prev);\n    }\n\n    throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n  }\n\n  var line = lexer.line;\n  var col = 1 + pos - lexer.lineStart;\n  return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n  if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n    return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n  }\n\n  if (code === 39) {\n    // '\n    return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n  }\n\n  return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n  var body = source.body;\n  var code;\n  var position = start;\n\n  do {\n    code = body.charCodeAt(++position);\n  } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n  code > 0x001f || code === 0x0009));\n\n  return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int:   -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n  var body = source.body;\n  var code = firstCode;\n  var position = start;\n  var isFloat = false;\n\n  if (code === 45) {\n    // -\n    code = body.charCodeAt(++position);\n  }\n\n  if (code === 48) {\n    // 0\n    code = body.charCodeAt(++position);\n\n    if (code >= 48 && code <= 57) {\n      throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n    }\n  } else {\n    position = readDigits(source, position, code);\n    code = body.charCodeAt(position);\n  }\n\n  if (code === 46) {\n    // .\n    isFloat = true;\n    code = body.charCodeAt(++position);\n    position = readDigits(source, position, code);\n    code = body.charCodeAt(position);\n  }\n\n  if (code === 69 || code === 101) {\n    // E e\n    isFloat = true;\n    code = body.charCodeAt(++position);\n\n    if (code === 43 || code === 45) {\n      // + -\n      code = body.charCodeAt(++position);\n    }\n\n    position = readDigits(source, position, code);\n    code = body.charCodeAt(position);\n  } // Numbers cannot be followed by . or NameStart\n\n\n  if (code === 46 || isNameStart(code)) {\n    throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n  }\n\n  return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n  var body = source.body;\n  var position = start;\n  var code = firstCode;\n\n  if (code >= 48 && code <= 57) {\n    // 0 - 9\n    do {\n      code = body.charCodeAt(++position);\n    } while (code >= 48 && code <= 57); // 0 - 9\n\n\n    return position;\n  }\n\n  throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n  var body = source.body;\n  var position = start + 1;\n  var chunkStart = position;\n  var code = 0;\n  var value = '';\n\n  while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n  code !== 0x000a && code !== 0x000d) {\n    // Closing Quote (\")\n    if (code === 34) {\n      value += body.slice(chunkStart, position);\n      return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n    } // SourceCharacter\n\n\n    if (code < 0x0020 && code !== 0x0009) {\n      throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n    }\n\n    ++position;\n\n    if (code === 92) {\n      // \\\n      value += body.slice(chunkStart, position - 1);\n      code = body.charCodeAt(position);\n\n      switch (code) {\n        case 34:\n          value += '\"';\n          break;\n\n        case 47:\n          value += '/';\n          break;\n\n        case 92:\n          value += '\\\\';\n          break;\n\n        case 98:\n          value += '\\b';\n          break;\n\n        case 102:\n          value += '\\f';\n          break;\n\n        case 110:\n          value += '\\n';\n          break;\n\n        case 114:\n          value += '\\r';\n          break;\n\n        case 116:\n          value += '\\t';\n          break;\n\n        case 117:\n          {\n            // uXXXX\n            var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n            if (charCode < 0) {\n              var invalidSequence = body.slice(position + 1, position + 5);\n              throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n            }\n\n            value += String.fromCharCode(charCode);\n            position += 4;\n            break;\n          }\n\n        default:\n          throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n      }\n\n      ++position;\n      chunkStart = position;\n    }\n  }\n\n  throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n  var body = source.body;\n  var position = start + 3;\n  var chunkStart = position;\n  var code = 0;\n  var rawValue = '';\n\n  while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n    // Closing Triple-Quote (\"\"\")\n    if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n      rawValue += body.slice(chunkStart, position);\n      return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n    } // SourceCharacter\n\n\n    if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n      throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n    }\n\n    if (code === 10) {\n      // new line\n      ++position;\n      ++lexer.line;\n      lexer.lineStart = position;\n    } else if (code === 13) {\n      // carriage return\n      if (body.charCodeAt(position + 1) === 10) {\n        position += 2;\n      } else {\n        ++position;\n      }\n\n      ++lexer.line;\n      lexer.lineStart = position;\n    } else if ( // Escape Triple-Quote (\\\"\"\")\n    code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n      rawValue += body.slice(chunkStart, position) + '\"\"\"';\n      position += 4;\n      chunkStart = position;\n    } else {\n      ++position;\n    }\n  }\n\n  throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n  return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n  return a >= 48 && a <= 57 ? a - 48 // 0-9\n  : a >= 65 && a <= 70 ? a - 55 // A-F\n  : a >= 97 && a <= 102 ? a - 87 // a-f\n  : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n  var body = source.body;\n  var bodyLength = body.length;\n  var position = start + 1;\n  var code = 0;\n\n  while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n  code >= 48 && code <= 57 || // 0-9\n  code >= 65 && code <= 90 || // A-Z\n  code >= 97 && code <= 122) // a-z\n  ) {\n    ++position;\n  }\n\n  return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n  return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n", "import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n  var parser = new Parser(source, options);\n  return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n  var parser = new Parser(source, options);\n  parser.expectToken(TokenKind.SOF);\n  var value = parser.parseValueLiteral(false);\n  parser.expectToken(TokenKind.EOF);\n  return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n  var parser = new Parser(source, options);\n  parser.expectToken(TokenKind.SOF);\n  var type = parser.parseTypeReference();\n  parser.expectToken(TokenKind.EOF);\n  return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n  function Parser(source, options) {\n    var sourceObj = isSource(source) ? source : new Source(source);\n    this._lexer = new Lexer(sourceObj);\n    this._options = options;\n  }\n  /**\n   * Converts a name lex token into a name parse node.\n   */\n\n\n  var _proto = Parser.prototype;\n\n  _proto.parseName = function parseName() {\n    var token = this.expectToken(TokenKind.NAME);\n    return {\n      kind: Kind.NAME,\n      value: token.value,\n      loc: this.loc(token)\n    };\n  } // Implements the parsing rules in the Document section.\n\n  /**\n   * Document : Definition+\n   */\n  ;\n\n  _proto.parseDocument = function parseDocument() {\n    var start = this._lexer.token;\n    return {\n      kind: Kind.DOCUMENT,\n      definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * Definition :\n   *   - ExecutableDefinition\n   *   - TypeSystemDefinition\n   *   - TypeSystemExtension\n   *\n   * ExecutableDefinition :\n   *   - OperationDefinition\n   *   - FragmentDefinition\n   */\n  ;\n\n  _proto.parseDefinition = function parseDefinition() {\n    if (this.peek(TokenKind.NAME)) {\n      switch (this._lexer.token.value) {\n        case 'query':\n        case 'mutation':\n        case 'subscription':\n          return this.parseOperationDefinition();\n\n        case 'fragment':\n          return this.parseFragmentDefinition();\n\n        case 'schema':\n        case 'scalar':\n        case 'type':\n        case 'interface':\n        case 'union':\n        case 'enum':\n        case 'input':\n        case 'directive':\n          return this.parseTypeSystemDefinition();\n\n        case 'extend':\n          return this.parseTypeSystemExtension();\n      }\n    } else if (this.peek(TokenKind.BRACE_L)) {\n      return this.parseOperationDefinition();\n    } else if (this.peekDescription()) {\n      return this.parseTypeSystemDefinition();\n    }\n\n    throw this.unexpected();\n  } // Implements the parsing rules in the Operations section.\n\n  /**\n   * OperationDefinition :\n   *  - SelectionSet\n   *  - OperationType Name? VariableDefinitions? Directives? SelectionSet\n   */\n  ;\n\n  _proto.parseOperationDefinition = function parseOperationDefinition() {\n    var start = this._lexer.token;\n\n    if (this.peek(TokenKind.BRACE_L)) {\n      return {\n        kind: Kind.OPERATION_DEFINITION,\n        operation: 'query',\n        name: undefined,\n        variableDefinitions: [],\n        directives: [],\n        selectionSet: this.parseSelectionSet(),\n        loc: this.loc(start)\n      };\n    }\n\n    var operation = this.parseOperationType();\n    var name;\n\n    if (this.peek(TokenKind.NAME)) {\n      name = this.parseName();\n    }\n\n    return {\n      kind: Kind.OPERATION_DEFINITION,\n      operation: operation,\n      name: name,\n      variableDefinitions: this.parseVariableDefinitions(),\n      directives: this.parseDirectives(false),\n      selectionSet: this.parseSelectionSet(),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * OperationType : one of query mutation subscription\n   */\n  ;\n\n  _proto.parseOperationType = function parseOperationType() {\n    var operationToken = this.expectToken(TokenKind.NAME);\n\n    switch (operationToken.value) {\n      case 'query':\n        return 'query';\n\n      case 'mutation':\n        return 'mutation';\n\n      case 'subscription':\n        return 'subscription';\n    }\n\n    throw this.unexpected(operationToken);\n  }\n  /**\n   * VariableDefinitions : ( VariableDefinition+ )\n   */\n  ;\n\n  _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n    return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n  }\n  /**\n   * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n   */\n  ;\n\n  _proto.parseVariableDefinition = function parseVariableDefinition() {\n    var start = this._lexer.token;\n    return {\n      kind: Kind.VARIABLE_DEFINITION,\n      variable: this.parseVariable(),\n      type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n      defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n      directives: this.parseDirectives(true),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * Variable : $ Name\n   */\n  ;\n\n  _proto.parseVariable = function parseVariable() {\n    var start = this._lexer.token;\n    this.expectToken(TokenKind.DOLLAR);\n    return {\n      kind: Kind.VARIABLE,\n      name: this.parseName(),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * SelectionSet : { Selection+ }\n   */\n  ;\n\n  _proto.parseSelectionSet = function parseSelectionSet() {\n    var start = this._lexer.token;\n    return {\n      kind: Kind.SELECTION_SET,\n      selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * Selection :\n   *   - Field\n   *   - FragmentSpread\n   *   - InlineFragment\n   */\n  ;\n\n  _proto.parseSelection = function parseSelection() {\n    return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n  }\n  /**\n   * Field : Alias? Name Arguments? Directives? SelectionSet?\n   *\n   * Alias : Name :\n   */\n  ;\n\n  _proto.parseField = function parseField() {\n    var start = this._lexer.token;\n    var nameOrAlias = this.parseName();\n    var alias;\n    var name;\n\n    if (this.expectOptionalToken(TokenKind.COLON)) {\n      alias = nameOrAlias;\n      name = this.parseName();\n    } else {\n      name = nameOrAlias;\n    }\n\n    return {\n      kind: Kind.FIELD,\n      alias: alias,\n      name: name,\n      arguments: this.parseArguments(false),\n      directives: this.parseDirectives(false),\n      selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * Arguments[Const] : ( Argument[?Const]+ )\n   */\n  ;\n\n  _proto.parseArguments = function parseArguments(isConst) {\n    var item = isConst ? this.parseConstArgument : this.parseArgument;\n    return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n  }\n  /**\n   * Argument[Const] : Name : Value[?Const]\n   */\n  ;\n\n  _proto.parseArgument = function parseArgument() {\n    var start = this._lexer.token;\n    var name = this.parseName();\n    this.expectToken(TokenKind.COLON);\n    return {\n      kind: Kind.ARGUMENT,\n      name: name,\n      value: this.parseValueLiteral(false),\n      loc: this.loc(start)\n    };\n  };\n\n  _proto.parseConstArgument = function parseConstArgument() {\n    var start = this._lexer.token;\n    return {\n      kind: Kind.ARGUMENT,\n      name: this.parseName(),\n      value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n      loc: this.loc(start)\n    };\n  } // Implements the parsing rules in the Fragments section.\n\n  /**\n   * Corresponds to both FragmentSpread and InlineFragment in the spec.\n   *\n   * FragmentSpread : ... FragmentName Directives?\n   *\n   * InlineFragment : ... TypeCondition? Directives? SelectionSet\n   */\n  ;\n\n  _proto.parseFragment = function parseFragment() {\n    var start = this._lexer.token;\n    this.expectToken(TokenKind.SPREAD);\n    var hasTypeCondition = this.expectOptionalKeyword('on');\n\n    if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n      return {\n        kind: Kind.FRAGMENT_SPREAD,\n        name: this.parseFragmentName(),\n        directives: this.parseDirectives(false),\n        loc: this.loc(start)\n      };\n    }\n\n    return {\n      kind: Kind.INLINE_FRAGMENT,\n      typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n      directives: this.parseDirectives(false),\n      selectionSet: this.parseSelectionSet(),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * FragmentDefinition :\n   *   - fragment FragmentName on TypeCondition Directives? SelectionSet\n   *\n   * TypeCondition : NamedType\n   */\n  ;\n\n  _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n    var _this$_options;\n\n    var start = this._lexer.token;\n    this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n    // the grammar of FragmentDefinition:\n    //   - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n    if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n      return {\n        kind: Kind.FRAGMENT_DEFINITION,\n        name: this.parseFragmentName(),\n        variableDefinitions: this.parseVariableDefinitions(),\n        typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n        directives: this.parseDirectives(false),\n        selectionSet: this.parseSelectionSet(),\n        loc: this.loc(start)\n      };\n    }\n\n    return {\n      kind: Kind.FRAGMENT_DEFINITION,\n      name: this.parseFragmentName(),\n      typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n      directives: this.parseDirectives(false),\n      selectionSet: this.parseSelectionSet(),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * FragmentName : Name but not `on`\n   */\n  ;\n\n  _proto.parseFragmentName = function parseFragmentName() {\n    if (this._lexer.token.value === 'on') {\n      throw this.unexpected();\n    }\n\n    return this.parseName();\n  } // Implements the parsing rules in the Values section.\n\n  /**\n   * Value[Const] :\n   *   - [~Const] Variable\n   *   - IntValue\n   *   - FloatValue\n   *   - StringValue\n   *   - BooleanValue\n   *   - NullValue\n   *   - EnumValue\n   *   - ListValue[?Const]\n   *   - ObjectValue[?Const]\n   *\n   * BooleanValue : one of `true` `false`\n   *\n   * NullValue : `null`\n   *\n   * EnumValue : Name but not `true`, `false` or `null`\n   */\n  ;\n\n  _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n    var token = this._lexer.token;\n\n    switch (token.kind) {\n      case TokenKind.BRACKET_L:\n        return this.parseList(isConst);\n\n      case TokenKind.BRACE_L:\n        return this.parseObject(isConst);\n\n      case TokenKind.INT:\n        this._lexer.advance();\n\n        return {\n          kind: Kind.INT,\n          value: token.value,\n          loc: this.loc(token)\n        };\n\n      case TokenKind.FLOAT:\n        this._lexer.advance();\n\n        return {\n          kind: Kind.FLOAT,\n          value: token.value,\n          loc: this.loc(token)\n        };\n\n      case TokenKind.STRING:\n      case TokenKind.BLOCK_STRING:\n        return this.parseStringLiteral();\n\n      case TokenKind.NAME:\n        this._lexer.advance();\n\n        switch (token.value) {\n          case 'true':\n            return {\n              kind: Kind.BOOLEAN,\n              value: true,\n              loc: this.loc(token)\n            };\n\n          case 'false':\n            return {\n              kind: Kind.BOOLEAN,\n              value: false,\n              loc: this.loc(token)\n            };\n\n          case 'null':\n            return {\n              kind: Kind.NULL,\n              loc: this.loc(token)\n            };\n\n          default:\n            return {\n              kind: Kind.ENUM,\n              value: token.value,\n              loc: this.loc(token)\n            };\n        }\n\n      case TokenKind.DOLLAR:\n        if (!isConst) {\n          return this.parseVariable();\n        }\n\n        break;\n    }\n\n    throw this.unexpected();\n  };\n\n  _proto.parseStringLiteral = function parseStringLiteral() {\n    var token = this._lexer.token;\n\n    this._lexer.advance();\n\n    return {\n      kind: Kind.STRING,\n      value: token.value,\n      block: token.kind === TokenKind.BLOCK_STRING,\n      loc: this.loc(token)\n    };\n  }\n  /**\n   * ListValue[Const] :\n   *   - [ ]\n   *   - [ Value[?Const]+ ]\n   */\n  ;\n\n  _proto.parseList = function parseList(isConst) {\n    var _this = this;\n\n    var start = this._lexer.token;\n\n    var item = function item() {\n      return _this.parseValueLiteral(isConst);\n    };\n\n    return {\n      kind: Kind.LIST,\n      values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ObjectValue[Const] :\n   *   - { }\n   *   - { ObjectField[?Const]+ }\n   */\n  ;\n\n  _proto.parseObject = function parseObject(isConst) {\n    var _this2 = this;\n\n    var start = this._lexer.token;\n\n    var item = function item() {\n      return _this2.parseObjectField(isConst);\n    };\n\n    return {\n      kind: Kind.OBJECT,\n      fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ObjectField[Const] : Name : Value[?Const]\n   */\n  ;\n\n  _proto.parseObjectField = function parseObjectField(isConst) {\n    var start = this._lexer.token;\n    var name = this.parseName();\n    this.expectToken(TokenKind.COLON);\n    return {\n      kind: Kind.OBJECT_FIELD,\n      name: name,\n      value: this.parseValueLiteral(isConst),\n      loc: this.loc(start)\n    };\n  } // Implements the parsing rules in the Directives section.\n\n  /**\n   * Directives[Const] : Directive[?Const]+\n   */\n  ;\n\n  _proto.parseDirectives = function parseDirectives(isConst) {\n    var directives = [];\n\n    while (this.peek(TokenKind.AT)) {\n      directives.push(this.parseDirective(isConst));\n    }\n\n    return directives;\n  }\n  /**\n   * Directive[Const] : @ Name Arguments[?Const]?\n   */\n  ;\n\n  _proto.parseDirective = function parseDirective(isConst) {\n    var start = this._lexer.token;\n    this.expectToken(TokenKind.AT);\n    return {\n      kind: Kind.DIRECTIVE,\n      name: this.parseName(),\n      arguments: this.parseArguments(isConst),\n      loc: this.loc(start)\n    };\n  } // Implements the parsing rules in the Types section.\n\n  /**\n   * Type :\n   *   - NamedType\n   *   - ListType\n   *   - NonNullType\n   */\n  ;\n\n  _proto.parseTypeReference = function parseTypeReference() {\n    var start = this._lexer.token;\n    var type;\n\n    if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n      type = this.parseTypeReference();\n      this.expectToken(TokenKind.BRACKET_R);\n      type = {\n        kind: Kind.LIST_TYPE,\n        type: type,\n        loc: this.loc(start)\n      };\n    } else {\n      type = this.parseNamedType();\n    }\n\n    if (this.expectOptionalToken(TokenKind.BANG)) {\n      return {\n        kind: Kind.NON_NULL_TYPE,\n        type: type,\n        loc: this.loc(start)\n      };\n    }\n\n    return type;\n  }\n  /**\n   * NamedType : Name\n   */\n  ;\n\n  _proto.parseNamedType = function parseNamedType() {\n    var start = this._lexer.token;\n    return {\n      kind: Kind.NAMED_TYPE,\n      name: this.parseName(),\n      loc: this.loc(start)\n    };\n  } // Implements the parsing rules in the Type Definition section.\n\n  /**\n   * TypeSystemDefinition :\n   *   - SchemaDefinition\n   *   - TypeDefinition\n   *   - DirectiveDefinition\n   *\n   * TypeDefinition :\n   *   - ScalarTypeDefinition\n   *   - ObjectTypeDefinition\n   *   - InterfaceTypeDefinition\n   *   - UnionTypeDefinition\n   *   - EnumTypeDefinition\n   *   - InputObjectTypeDefinition\n   */\n  ;\n\n  _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n    // Many definitions begin with a description and require a lookahead.\n    var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n    if (keywordToken.kind === TokenKind.NAME) {\n      switch (keywordToken.value) {\n        case 'schema':\n          return this.parseSchemaDefinition();\n\n        case 'scalar':\n          return this.parseScalarTypeDefinition();\n\n        case 'type':\n          return this.parseObjectTypeDefinition();\n\n        case 'interface':\n          return this.parseInterfaceTypeDefinition();\n\n        case 'union':\n          return this.parseUnionTypeDefinition();\n\n        case 'enum':\n          return this.parseEnumTypeDefinition();\n\n        case 'input':\n          return this.parseInputObjectTypeDefinition();\n\n        case 'directive':\n          return this.parseDirectiveDefinition();\n      }\n    }\n\n    throw this.unexpected(keywordToken);\n  };\n\n  _proto.peekDescription = function peekDescription() {\n    return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n  }\n  /**\n   * Description : StringValue\n   */\n  ;\n\n  _proto.parseDescription = function parseDescription() {\n    if (this.peekDescription()) {\n      return this.parseStringLiteral();\n    }\n  }\n  /**\n   * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n   */\n  ;\n\n  _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('schema');\n    var directives = this.parseDirectives(true);\n    var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n    return {\n      kind: Kind.SCHEMA_DEFINITION,\n      description: description,\n      directives: directives,\n      operationTypes: operationTypes,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * OperationTypeDefinition : OperationType : NamedType\n   */\n  ;\n\n  _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n    var start = this._lexer.token;\n    var operation = this.parseOperationType();\n    this.expectToken(TokenKind.COLON);\n    var type = this.parseNamedType();\n    return {\n      kind: Kind.OPERATION_TYPE_DEFINITION,\n      operation: operation,\n      type: type,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n   */\n  ;\n\n  _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('scalar');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    return {\n      kind: Kind.SCALAR_TYPE_DEFINITION,\n      description: description,\n      name: name,\n      directives: directives,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ObjectTypeDefinition :\n   *   Description?\n   *   type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n   */\n  ;\n\n  _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('type');\n    var name = this.parseName();\n    var interfaces = this.parseImplementsInterfaces();\n    var directives = this.parseDirectives(true);\n    var fields = this.parseFieldsDefinition();\n    return {\n      kind: Kind.OBJECT_TYPE_DEFINITION,\n      description: description,\n      name: name,\n      interfaces: interfaces,\n      directives: directives,\n      fields: fields,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ImplementsInterfaces :\n   *   - implements `&`? NamedType\n   *   - ImplementsInterfaces & NamedType\n   */\n  ;\n\n  _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n    var _this$_options2;\n\n    if (!this.expectOptionalKeyword('implements')) {\n      return [];\n    }\n\n    if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n      var types = []; // Optional leading ampersand\n\n      this.expectOptionalToken(TokenKind.AMP);\n\n      do {\n        types.push(this.parseNamedType());\n      } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n      return types;\n    }\n\n    return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n  }\n  /**\n   * FieldsDefinition : { FieldDefinition+ }\n   */\n  ;\n\n  _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n    var _this$_options3;\n\n    // Legacy support for the SDL?\n    if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n      this._lexer.advance();\n\n      this._lexer.advance();\n\n      return [];\n    }\n\n    return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n  }\n  /**\n   * FieldDefinition :\n   *   - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n   */\n  ;\n\n  _proto.parseFieldDefinition = function parseFieldDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    var name = this.parseName();\n    var args = this.parseArgumentDefs();\n    this.expectToken(TokenKind.COLON);\n    var type = this.parseTypeReference();\n    var directives = this.parseDirectives(true);\n    return {\n      kind: Kind.FIELD_DEFINITION,\n      description: description,\n      name: name,\n      arguments: args,\n      type: type,\n      directives: directives,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ArgumentsDefinition : ( InputValueDefinition+ )\n   */\n  ;\n\n  _proto.parseArgumentDefs = function parseArgumentDefs() {\n    return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n  }\n  /**\n   * InputValueDefinition :\n   *   - Description? Name : Type DefaultValue? Directives[Const]?\n   */\n  ;\n\n  _proto.parseInputValueDef = function parseInputValueDef() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    var name = this.parseName();\n    this.expectToken(TokenKind.COLON);\n    var type = this.parseTypeReference();\n    var defaultValue;\n\n    if (this.expectOptionalToken(TokenKind.EQUALS)) {\n      defaultValue = this.parseValueLiteral(true);\n    }\n\n    var directives = this.parseDirectives(true);\n    return {\n      kind: Kind.INPUT_VALUE_DEFINITION,\n      description: description,\n      name: name,\n      type: type,\n      defaultValue: defaultValue,\n      directives: directives,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * InterfaceTypeDefinition :\n   *   - Description? interface Name Directives[Const]? FieldsDefinition?\n   */\n  ;\n\n  _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('interface');\n    var name = this.parseName();\n    var interfaces = this.parseImplementsInterfaces();\n    var directives = this.parseDirectives(true);\n    var fields = this.parseFieldsDefinition();\n    return {\n      kind: Kind.INTERFACE_TYPE_DEFINITION,\n      description: description,\n      name: name,\n      interfaces: interfaces,\n      directives: directives,\n      fields: fields,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * UnionTypeDefinition :\n   *   - Description? union Name Directives[Const]? UnionMemberTypes?\n   */\n  ;\n\n  _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('union');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    var types = this.parseUnionMemberTypes();\n    return {\n      kind: Kind.UNION_TYPE_DEFINITION,\n      description: description,\n      name: name,\n      directives: directives,\n      types: types,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * UnionMemberTypes :\n   *   - = `|`? NamedType\n   *   - UnionMemberTypes | NamedType\n   */\n  ;\n\n  _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n    return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n  }\n  /**\n   * EnumTypeDefinition :\n   *   - Description? enum Name Directives[Const]? EnumValuesDefinition?\n   */\n  ;\n\n  _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('enum');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    var values = this.parseEnumValuesDefinition();\n    return {\n      kind: Kind.ENUM_TYPE_DEFINITION,\n      description: description,\n      name: name,\n      directives: directives,\n      values: values,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * EnumValuesDefinition : { EnumValueDefinition+ }\n   */\n  ;\n\n  _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n    return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n  }\n  /**\n   * EnumValueDefinition : Description? EnumValue Directives[Const]?\n   *\n   * EnumValue : Name\n   */\n  ;\n\n  _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    return {\n      kind: Kind.ENUM_VALUE_DEFINITION,\n      description: description,\n      name: name,\n      directives: directives,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * InputObjectTypeDefinition :\n   *   - Description? input Name Directives[Const]? InputFieldsDefinition?\n   */\n  ;\n\n  _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('input');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    var fields = this.parseInputFieldsDefinition();\n    return {\n      kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n      description: description,\n      name: name,\n      directives: directives,\n      fields: fields,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * InputFieldsDefinition : { InputValueDefinition+ }\n   */\n  ;\n\n  _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n    return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n  }\n  /**\n   * TypeSystemExtension :\n   *   - SchemaExtension\n   *   - TypeExtension\n   *\n   * TypeExtension :\n   *   - ScalarTypeExtension\n   *   - ObjectTypeExtension\n   *   - InterfaceTypeExtension\n   *   - UnionTypeExtension\n   *   - EnumTypeExtension\n   *   - InputObjectTypeDefinition\n   */\n  ;\n\n  _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n    var keywordToken = this._lexer.lookahead();\n\n    if (keywordToken.kind === TokenKind.NAME) {\n      switch (keywordToken.value) {\n        case 'schema':\n          return this.parseSchemaExtension();\n\n        case 'scalar':\n          return this.parseScalarTypeExtension();\n\n        case 'type':\n          return this.parseObjectTypeExtension();\n\n        case 'interface':\n          return this.parseInterfaceTypeExtension();\n\n        case 'union':\n          return this.parseUnionTypeExtension();\n\n        case 'enum':\n          return this.parseEnumTypeExtension();\n\n        case 'input':\n          return this.parseInputObjectTypeExtension();\n      }\n    }\n\n    throw this.unexpected(keywordToken);\n  }\n  /**\n   * SchemaExtension :\n   *  - extend schema Directives[Const]? { OperationTypeDefinition+ }\n   *  - extend schema Directives[Const]\n   */\n  ;\n\n  _proto.parseSchemaExtension = function parseSchemaExtension() {\n    var start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('schema');\n    var directives = this.parseDirectives(true);\n    var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n    if (directives.length === 0 && operationTypes.length === 0) {\n      throw this.unexpected();\n    }\n\n    return {\n      kind: Kind.SCHEMA_EXTENSION,\n      directives: directives,\n      operationTypes: operationTypes,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ScalarTypeExtension :\n   *   - extend scalar Name Directives[Const]\n   */\n  ;\n\n  _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n    var start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('scalar');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n\n    if (directives.length === 0) {\n      throw this.unexpected();\n    }\n\n    return {\n      kind: Kind.SCALAR_TYPE_EXTENSION,\n      name: name,\n      directives: directives,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * ObjectTypeExtension :\n   *  - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n   *  - extend type Name ImplementsInterfaces? Directives[Const]\n   *  - extend type Name ImplementsInterfaces\n   */\n  ;\n\n  _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n    var start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('type');\n    var name = this.parseName();\n    var interfaces = this.parseImplementsInterfaces();\n    var directives = this.parseDirectives(true);\n    var fields = this.parseFieldsDefinition();\n\n    if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n      throw this.unexpected();\n    }\n\n    return {\n      kind: Kind.OBJECT_TYPE_EXTENSION,\n      name: name,\n      interfaces: interfaces,\n      directives: directives,\n      fields: fields,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * InterfaceTypeExtension :\n   *  - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n   *  - extend interface Name ImplementsInterfaces? Directives[Const]\n   *  - extend interface Name ImplementsInterfaces\n   */\n  ;\n\n  _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n    var start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('interface');\n    var name = this.parseName();\n    var interfaces = this.parseImplementsInterfaces();\n    var directives = this.parseDirectives(true);\n    var fields = this.parseFieldsDefinition();\n\n    if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n      throw this.unexpected();\n    }\n\n    return {\n      kind: Kind.INTERFACE_TYPE_EXTENSION,\n      name: name,\n      interfaces: interfaces,\n      directives: directives,\n      fields: fields,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * UnionTypeExtension :\n   *   - extend union Name Directives[Const]? UnionMemberTypes\n   *   - extend union Name Directives[Const]\n   */\n  ;\n\n  _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n    var start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('union');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    var types = this.parseUnionMemberTypes();\n\n    if (directives.length === 0 && types.length === 0) {\n      throw this.unexpected();\n    }\n\n    return {\n      kind: Kind.UNION_TYPE_EXTENSION,\n      name: name,\n      directives: directives,\n      types: types,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * EnumTypeExtension :\n   *   - extend enum Name Directives[Const]? EnumValuesDefinition\n   *   - extend enum Name Directives[Const]\n   */\n  ;\n\n  _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n    var start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('enum');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    var values = this.parseEnumValuesDefinition();\n\n    if (directives.length === 0 && values.length === 0) {\n      throw this.unexpected();\n    }\n\n    return {\n      kind: Kind.ENUM_TYPE_EXTENSION,\n      name: name,\n      directives: directives,\n      values: values,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * InputObjectTypeExtension :\n   *   - extend input Name Directives[Const]? InputFieldsDefinition\n   *   - extend input Name Directives[Const]\n   */\n  ;\n\n  _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n    var start = this._lexer.token;\n    this.expectKeyword('extend');\n    this.expectKeyword('input');\n    var name = this.parseName();\n    var directives = this.parseDirectives(true);\n    var fields = this.parseInputFieldsDefinition();\n\n    if (directives.length === 0 && fields.length === 0) {\n      throw this.unexpected();\n    }\n\n    return {\n      kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n      name: name,\n      directives: directives,\n      fields: fields,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * DirectiveDefinition :\n   *   - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n   */\n  ;\n\n  _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n    var start = this._lexer.token;\n    var description = this.parseDescription();\n    this.expectKeyword('directive');\n    this.expectToken(TokenKind.AT);\n    var name = this.parseName();\n    var args = this.parseArgumentDefs();\n    var repeatable = this.expectOptionalKeyword('repeatable');\n    this.expectKeyword('on');\n    var locations = this.parseDirectiveLocations();\n    return {\n      kind: Kind.DIRECTIVE_DEFINITION,\n      description: description,\n      name: name,\n      arguments: args,\n      repeatable: repeatable,\n      locations: locations,\n      loc: this.loc(start)\n    };\n  }\n  /**\n   * DirectiveLocations :\n   *   - `|`? DirectiveLocation\n   *   - DirectiveLocations | DirectiveLocation\n   */\n  ;\n\n  _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n    return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n  }\n  /*\n   * DirectiveLocation :\n   *   - ExecutableDirectiveLocation\n   *   - TypeSystemDirectiveLocation\n   *\n   * ExecutableDirectiveLocation : one of\n   *   `QUERY`\n   *   `MUTATION`\n   *   `SUBSCRIPTION`\n   *   `FIELD`\n   *   `FRAGMENT_DEFINITION`\n   *   `FRAGMENT_SPREAD`\n   *   `INLINE_FRAGMENT`\n   *\n   * TypeSystemDirectiveLocation : one of\n   *   `SCHEMA`\n   *   `SCALAR`\n   *   `OBJECT`\n   *   `FIELD_DEFINITION`\n   *   `ARGUMENT_DEFINITION`\n   *   `INTERFACE`\n   *   `UNION`\n   *   `ENUM`\n   *   `ENUM_VALUE`\n   *   `INPUT_OBJECT`\n   *   `INPUT_FIELD_DEFINITION`\n   */\n  ;\n\n  _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n    var start = this._lexer.token;\n    var name = this.parseName();\n\n    if (DirectiveLocation[name.value] !== undefined) {\n      return name;\n    }\n\n    throw this.unexpected(start);\n  } // Core parsing utility functions\n\n  /**\n   * Returns a location object, used to identify the place in the source that created a given parsed object.\n   */\n  ;\n\n  _proto.loc = function loc(startToken) {\n    var _this$_options4;\n\n    if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n      return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n    }\n  }\n  /**\n   * Determines if the next token is of a given kind\n   */\n  ;\n\n  _proto.peek = function peek(kind) {\n    return this._lexer.token.kind === kind;\n  }\n  /**\n   * If the next token is of the given kind, return that token after advancing the lexer.\n   * Otherwise, do not change the parser state and throw an error.\n   */\n  ;\n\n  _proto.expectToken = function expectToken(kind) {\n    var token = this._lexer.token;\n\n    if (token.kind === kind) {\n      this._lexer.advance();\n\n      return token;\n    }\n\n    throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n  }\n  /**\n   * If the next token is of the given kind, return that token after advancing the lexer.\n   * Otherwise, do not change the parser state and return undefined.\n   */\n  ;\n\n  _proto.expectOptionalToken = function expectOptionalToken(kind) {\n    var token = this._lexer.token;\n\n    if (token.kind === kind) {\n      this._lexer.advance();\n\n      return token;\n    }\n\n    return undefined;\n  }\n  /**\n   * If the next token is a given keyword, advance the lexer.\n   * Otherwise, do not change the parser state and throw an error.\n   */\n  ;\n\n  _proto.expectKeyword = function expectKeyword(value) {\n    var token = this._lexer.token;\n\n    if (token.kind === TokenKind.NAME && token.value === value) {\n      this._lexer.advance();\n    } else {\n      throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n    }\n  }\n  /**\n   * If the next token is a given keyword, return \"true\" after advancing the lexer.\n   * Otherwise, do not change the parser state and return \"false\".\n   */\n  ;\n\n  _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n    var token = this._lexer.token;\n\n    if (token.kind === TokenKind.NAME && token.value === value) {\n      this._lexer.advance();\n\n      return true;\n    }\n\n    return false;\n  }\n  /**\n   * Helper function for creating an error when an unexpected lexed token is encountered.\n   */\n  ;\n\n  _proto.unexpected = function unexpected(atToken) {\n    var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n    return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n  }\n  /**\n   * Returns a possibly empty list of parse nodes, determined by the parseFn.\n   * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n   * Advances the parser to the next lex token after the closing token.\n   */\n  ;\n\n  _proto.any = function any(openKind, parseFn, closeKind) {\n    this.expectToken(openKind);\n    var nodes = [];\n\n    while (!this.expectOptionalToken(closeKind)) {\n      nodes.push(parseFn.call(this));\n    }\n\n    return nodes;\n  }\n  /**\n   * Returns a list of parse nodes, determined by the parseFn.\n   * It can be empty only if open token is missing otherwise it will always return non-empty list\n   * that begins with a lex token of openKind and ends with a lex token of closeKind.\n   * Advances the parser to the next lex token after the closing token.\n   */\n  ;\n\n  _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n    if (this.expectOptionalToken(openKind)) {\n      var nodes = [];\n\n      do {\n        nodes.push(parseFn.call(this));\n      } while (!this.expectOptionalToken(closeKind));\n\n      return nodes;\n    }\n\n    return [];\n  }\n  /**\n   * Returns a non-empty list of parse nodes, determined by the parseFn.\n   * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n   * Advances the parser to the next lex token after the closing token.\n   */\n  ;\n\n  _proto.many = function many(openKind, parseFn, closeKind) {\n    this.expectToken(openKind);\n    var nodes = [];\n\n    do {\n      nodes.push(parseFn.call(this));\n    } while (!this.expectOptionalToken(closeKind));\n\n    return nodes;\n  }\n  /**\n   * Returns a non-empty list of parse nodes, determined by the parseFn.\n   * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n   * Advances the parser to the next lex token after last item in the list.\n   */\n  ;\n\n  _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n    this.expectOptionalToken(delimiterKind);\n    var nodes = [];\n\n    do {\n      nodes.push(parseFn.call(this));\n    } while (this.expectOptionalToken(delimiterKind));\n\n    return nodes;\n  };\n\n  return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n  var value = token.value;\n  return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n  return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n", "/**\n * The current status of a query\u2019s execution in our system.\n */\nexport enum NetworkStatus {\n  /**\n   * The query has never been run before and the query is now currently running. A query will still\n   * have this network status even if a partial data result was returned from the cache, but a\n   * query was dispatched anyway.\n   */\n  loading = 1,\n\n  /**\n   * If `setVariables` was called and a query was fired because of that then the network status\n   * will be `setVariables` until the result of that query comes back.\n   */\n  setVariables = 2,\n\n  /**\n   * Indicates that `fetchMore` was called on this query and that the query created is currently in\n   * flight.\n   */\n  fetchMore = 3,\n\n  /**\n   * Similar to the `setVariables` network status. It means that `refetch` was called on a query\n   * and the refetch request is currently in flight.\n   */\n  refetch = 4,\n\n  /**\n   * Indicates that a polling query is currently in flight. So for example if you are polling a\n   * query every 10 seconds then the network status will switch to `poll` every 10 seconds whenever\n   * a poll request has been sent but not resolved.\n   */\n  poll = 6,\n\n  /**\n   * No request is in flight for this query, and no errors happened. Everything is OK.\n   */\n  ready = 7,\n\n  /**\n   * No request is in flight for this query, but one or more errors were detected.\n   */\n  error = 8,\n}\n\n/**\n * Returns true if there is currently a network request in flight according to a given network\n * status.\n */\nexport function isNetworkRequestInFlight(\n  networkStatus?: NetworkStatus,\n): boolean {\n  return networkStatus ? networkStatus < 7 : false;\n}\n", "import tslib from '../tslib.js';\r\nconst {\r\n    __extends,\r\n    __assign,\r\n    __rest,\r\n    __decorate,\r\n    __param,\r\n    __metadata,\r\n    __awaiter,\r\n    __generator,\r\n    __exportStar,\r\n    __createBinding,\r\n    __values,\r\n    __read,\r\n    __spread,\r\n    __spreadArrays,\r\n    __spreadArray,\r\n    __await,\r\n    __asyncGenerator,\r\n    __asyncDelegator,\r\n    __asyncValues,\r\n    __makeTemplateObject,\r\n    __importStar,\r\n    __importDefault,\r\n    __classPrivateFieldGet,\r\n    __classPrivateFieldSet,\r\n} = tslib;\r\nexport {\r\n    __extends,\r\n    __assign,\r\n    __rest,\r\n    __decorate,\r\n    __param,\r\n    __metadata,\r\n    __awaiter,\r\n    __generator,\r\n    __exportStar,\r\n    __createBinding,\r\n    __values,\r\n    __read,\r\n    __spread,\r\n    __spreadArrays,\r\n    __spreadArray,\r\n    __await,\r\n    __asyncGenerator,\r\n    __asyncDelegator,\r\n    __asyncValues,\r\n    __makeTemplateObject,\r\n    __importStar,\r\n    __importDefault,\r\n    __classPrivateFieldGet,\r\n    __classPrivateFieldSet,\r\n};\r\n", null, "/* Core */\n\nexport {\n  ApolloClient,\n  ApolloClientOptions,\n  DefaultOptions,\n  mergeOptions,\n} from './ApolloClient';\nexport {\n  ObservableQuery,\n  FetchMoreOptions,\n  UpdateQueryOptions,\n} from './ObservableQuery';\nexport {\n  QueryOptions,\n  WatchQueryOptions,\n  MutationOptions,\n  SubscriptionOptions,\n  FetchPolicy,\n  WatchQueryFetchPolicy,\n  ErrorPolicy,\n  FetchMoreQueryOptions,\n  SubscribeToMoreOptions,\n  MutationUpdaterFn,\n} from './watchQueryOptions';\nexport { NetworkStatus } from './networkStatus';\nexport * from './types';\nexport {\n  Resolver,\n  FragmentMatcher,\n} from './LocalState';\nexport { isApolloError, ApolloError } from '../errors';\n\n/* Cache */\n\nexport {\n  // All the exports (types and values) from ../cache, minus cacheSlot,\n  // which we want to keep semi-private.\n  Cache,\n  ApolloCache,\n  Transaction,\n  DataProxy,\n  InMemoryCache,\n  InMemoryCacheConfig,\n  MissingFieldError,\n  defaultDataIdFromObject,\n  ReactiveVar,\n  makeVar,\n  TypePolicies,\n  TypePolicy,\n  FieldPolicy,\n  FieldReadFunction,\n  FieldMergeFunction,\n  FieldFunctionOptions,\n  PossibleTypesMap,\n} from '../cache';\n\nexport * from '../cache/inmemory/types';\n\n/* Link */\n\nexport * from '../link/core';\nexport * from '../link/http';\nexport {\n  fromError,\n  toPromise,\n  fromPromise,\n  ServerError,\n  throwServerError,\n} from '../link/utils';\n\n/* Utilities */\n\nexport {\n  Observable,\n  Observer,\n  ObservableSubscription,\n  Reference,\n  isReference,\n  makeReference,\n  StoreObject,\n} from '../utilities';\n\n/* Supporting */\n\n// The verbosity of invariant.{log,warn,error} can be controlled globally\n// (for anyone using the same ts-invariant package) by passing \"log\",\n// \"warn\", \"error\", or \"silent\" to setVerbosity (\"log\" is the default).\n// Note that all invariant.* logging is hidden in production.\nimport { setVerbosity } from \"ts-invariant\";\nexport { setVerbosity as setLogVerbosity }\nsetVerbosity(\"log\");\n\n// Note that importing `gql` by itself, then destructuring\n// additional properties separately before exporting, is intentional.\n// Due to the way the `graphql-tag` library is setup, certain bundlers\n// can't find the properties added to the exported `gql` function without\n// additional guidance (e.g. Rollup - see\n// https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module).\n// Instead of having people that are using bundlers with `@apollo/client` add\n// extra bundler config to help `graphql-tag` exports be found (which would be\n// awkward since they aren't importing `graphql-tag` themselves), this\n// workaround of pulling the extra properties off the `gql` function,\n// then re-exporting them separately, helps keeps bundlers happy without any\n// additional config changes.\nexport {\n  default as gql,\n  resetCaches,\n  disableFragmentWarnings,\n  enableExperimentalFragmentVariables,\n  disableExperimentalFragmentVariables,\n} from 'graphql-tag';\n", "import type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nimport type {\n  ComponentDocument,\n  Data,\n  FetchMoreParams,\n  MaybeTDN,\n  MaybeVariables,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport type {\n  ApolloError,\n  ApolloQueryResult,\n  DocumentNode,\n  ObservableQuery,\n  QueryOptions,\n  SubscribeToMoreOptions,\n  SubscriptionOptions,\n  WatchQueryOptions,\n} from '@apollo/client/core';\n\nimport { NetworkStatus } from '@apollo/client/core';\n\nimport { ApolloController, ApolloControllerOptions } from './apollo-controller.js';\n\nimport { bound } from './lib/bound.js';\n\nexport interface ApolloQueryControllerOptions<D, V> extends\n    ApolloControllerOptions<D, V>,\n    Partial<WatchQueryOptions<Variables<D, V>, Data<D>>> {\n  variables?: Variables<D, V>;\n  noAutoSubscribe?: boolean;\n  shouldSubscribe?: (options?: Partial<SubscriptionOptions<Variables<D, V>, Data<D>>>) => boolean;\n  onData?: (data: Data<D>) => void;\n  onError?: (error: Error) => void;\n}\n\nexport class ApolloQueryController<D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>\n  extends ApolloController<D, V>\n  implements ReactiveController {\n  private observableQuery?: ObservableQuery<Data<D>, Variables<D, V>>;\n\n  private pollingInterval?: number;\n\n  /** @summary Options to customize the query and to interface with the controller. */ // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/40220\n  declare options: ApolloQueryControllerOptions<D, V>;\n\n  /**\n   * `networkStatus` is useful if you want to display a different loading indicator (or no indicator at all)\n   * depending on your network status as it provides a more detailed view into the state of a network request\n   * on your component than `loading` does. `networkStatus` is an enum with different number values between 1 and 8.\n   * These number values each represent a different network state.\n   *\n   * 1. `loading`: The query has never been run before and the request is now pending. A query will still have this network status even if a result was returned from the cache, but a query was dispatched anyway.\n   * 2. `setVariables`: If a query\u2019s variables change and a network request was fired then the network status will be setVariables until the result of that query comes back. React users will see this when options.variables changes on their queries.\n   * 3. `fetchMore`: Indicates that fetchMore was called on this query and that the network request created is currently in flight.\n   * 4. `refetch`: It means that refetch was called on a query and the refetch request is currently in flight.\n   * 5. Unused.\n   * 6. `poll`: Indicates that a polling query is currently in flight. So for example if you are polling a query every 10 seconds then the network status will switch to poll every 10 seconds whenever a poll request has been sent but not resolved.\n   * 7. `ready`: No request is in flight for this query, and no errors happened. Everything is OK.\n   * 8. `error`: No request is in flight for this query, but one or more errors were detected.\n   *\n   * If the network status is less then 7 then it is equivalent to `loading` being true. In fact you could\n   * replace all of your `loading` checks with `networkStatus < 7` and you would not see a difference.\n   * It is recommended that you use `loading`, however.\n   */\n  networkStatus = NetworkStatus.ready;\n\n  /**\n   * If data was read from the cache with missing fields,\n   * partial will be true. Otherwise, partial will be falsy.\n   *\n   * @summary True when the query returned partial data.\n   */\n  partial = false;\n\n  #hasDisconnected = false;\n\n  #lastQueryDocument?: DocumentNode;\n\n  /** @summary A GraphQL document containing a single query. */\n  get query(): ComponentDocument<D> | null { return this.document; }\n\n  set query(document: ComponentDocument<D> | null) { this.document = document; }\n\n  /** @summary Flags an element that's ready and able to auto-subscribe */\n  public get canAutoSubscribe(): boolean {\n    return (\n      !!this.client &&\n      !!this.document &&\n      !this.options.noAutoSubscribe &&\n      this.shouldSubscribe()\n    );\n  }\n\n  constructor(\n    host: ReactiveControllerHost,\n    query?: ComponentDocument<D> | null,\n    options?: ApolloQueryControllerOptions<D, V>\n  ) {\n    super(host, options);\n    this.init(query ?? null);/* c8 ignore next */\n  }\n\n  /** @summary initializes or reinitializes the query */\n  override hostConnected(): void {\n    super.hostConnected();\n    if (this.#hasDisconnected && this.observableQuery) { /* c8 ignore next */\n      this.observableQuery.reobserve();\n      this.#hasDisconnected = false;\n    } else\n      this.documentChanged(this.query);\n  }\n\n  override hostDisconnected(): void {\n    this.#hasDisconnected = true;\n    super.hostDisconnected();\n  }\n\n  private shouldSubscribe(opts?: Partial<SubscriptionOptions<Variables<D, V>, Data<D>>>): boolean {\n    return this.options.shouldSubscribe?.(opts) ?? true;/* c8 ignore next */\n  }\n\n  /**\n   * Determines whether the element is able to automatically subscribe\n   */\n  private canSubscribe(\n    options?: Partial<SubscriptionOptions<Variables<D, V> | null, Data<D>>>\n  ): boolean {\n    /* c8 ignore next 4 */\n    return (\n      !(this.options.noAutoSubscribe ?? false) &&\n      !!this.client &&\n      !!(options?.query ?? this.document)\n    );\n  }\n\n  /**\n   * Creates an instance of ObservableQuery with the options provided by the element.\n   * - `context` Context to be passed to link execution chain\n   * - `errorPolicy` Specifies the ErrorPolicy to be used for this query\n   * - `fetchPolicy` Specifies the FetchPolicy to be used for this query\n   * - `fetchResults` Whether or not to fetch results\n   * - `metadata` Arbitrary metadata stored in the store with this query. Designed for debugging, developer tools, etc.\n   * - `notifyOnNetworkStatusChange` Whether or not updates to the network status should trigger next on the observer of this query\n   * - `pollInterval` The time interval (in milliseconds) on which this query should be refetched from the server.\n   * - `query` A GraphQL document that consists of a single query to be sent down to the server.\n   * - `variables` A map going from variable name to variable value, where the variables are used within the GraphQL query.\n   */\n  @bound private watchQuery(\n    params?: Partial<WatchQueryOptions<Variables<D, V>, Data<D>>>\n  ): ObservableQuery<Data<D>, Variables<D, V>> {\n    if (!this.client)\n      throw new TypeError('No Apollo client. See https://apolloelements.dev/guides/getting-started/apollo-client/'); /* c8 ignore next */ // covered\n\n    return this.client.watchQuery({\n      // It's better to let Apollo client throw this error\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      query: this.query!,\n      variables: this.variables ?? undefined,\n      context: this.options.context,\n      errorPolicy: this.options.errorPolicy,\n      fetchPolicy: this.options.fetchPolicy,\n      notifyOnNetworkStatusChange: this.options.notifyOnNetworkStatusChange,\n      partialRefetch: this.options.partialRefetch,\n      pollInterval: this.options.pollInterval,\n      returnPartialData: this.options.returnPartialData,\n      nextFetchPolicy: this.options.nextFetchPolicy,\n      ...params,\n    }) as ObservableQuery<Data<D>, Variables<D, V>>;\n  }\n\n  private nextData(result: ApolloQueryResult<Data<D>>): void {\n    this.emitter.dispatchEvent(new CustomEvent('apollo-query-result', { detail: result }));\n    this.data = result.data;\n    this.error = result.error ?? null;/* c8 ignore next */\n    this.errors = result.errors ?? [];\n    this.loading = result.loading ?? false;/* c8 ignore next */\n    this.networkStatus = result.networkStatus;\n    this.partial = result.partial ?? false;\n    this.options.onData?.(result.data);/* c8 ignore next */\n    this.notify('data', 'error', 'errors', 'loading', 'networkStatus', 'partial');\n  }\n\n  private nextError(error: ApolloError): void {\n    this.emitter.dispatchEvent(new CustomEvent('apollo-error', { detail: error }));\n    this.error = error;\n    this.loading = false;\n    this.options.onError?.(error);/* c8 ignore next */\n    this.notify('error', 'loading');\n  }\n\n  protected override clientChanged(): void {\n    if (this.canSubscribe() && this.shouldSubscribe())/* c8 ignore next */\n      this.subscribe();/* c8 ignore next */\n  }\n\n  protected override documentChanged(doc?: ComponentDocument<D> | null): void {\n    const query = doc ?? undefined;/* c8 ignore next */\n    if (doc === this.#lastQueryDocument)\n      return;/* c8 ignore next */\n    if (this.canSubscribe({ query }) && this.shouldSubscribe({ query }))/* c8 ignore next */\n      this.subscribe({ query }); /* c8 ignore next */ // covered\n  }\n\n  protected override variablesChanged(variables?: Variables<D, V>): void {\n    if (this.observableQuery)\n      this.refetch(variables);/* c8 ignore next */\n    else if (this.canSubscribe({ variables }) && this.shouldSubscribe({ variables }))/* c8 ignore next */\n      this.subscribe({ variables });/* c8 ignore next */\n  }\n\n  /**\n   * Exposes the [`ObservableQuery#refetch`](https://www.apollographql.com/docs/react/api/apollo-client.html#ObservableQuery.refetch) method.\n   *\n   * @param variables The new set of variables. If there are missing variables, the previous values of those variables will be used.\n   */\n  @bound public async refetch(variables?: Variables<D, V>): Promise<ApolloQueryResult<Data<D>>> {\n    if (!this.observableQuery)\n      throw new Error('Cannot refetch without an ObservableQuery'); /* c8 ignore next */ // covered\n    return this.observableQuery.refetch(variables as Variables<D, V>);\n  }\n\n  /**\n   * Resets the observableQuery and subscribes.\n   * @param params options for controlling how the subscription subscribes\n   */\n  @bound public subscribe(\n    params?: Partial<WatchQueryOptions<Variables<D, V>, Data<D>>>\n  ): ZenObservable.Subscription {\n    if (this.observableQuery)\n      this.observableQuery.stopPolling(); /* c8 ignore next */ // covered\n\n    this.observableQuery = this.watchQuery({\n      // It's better to let Apollo client throw this error\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      query: this.query!,\n      variables: this.variables ?? undefined,\n      context: this.options.context,\n      errorPolicy: this.options.errorPolicy,\n      fetchPolicy: this.options.fetchPolicy,\n      pollInterval: this.options.pollInterval,\n      notifyOnNetworkStatusChange: this.options.notifyOnNetworkStatusChange,\n      returnPartialData: this.options.returnPartialData,\n      partialRefetch: this.options.partialRefetch,\n      ...params,\n    });\n\n    this.#lastQueryDocument = params?.query ?? this.query ?? undefined;/* c8 ignore next */\n\n    this.loading = true;\n    this.notify('loading');\n\n    return this.observableQuery?.subscribe({\n      next: this.nextData.bind(this),\n      error: this.nextError.bind(this),\n    });\n  }\n\n  /**\n   * Lets you pass a GraphQL subscription and updateQuery function\n   * to subscribe to more updates for your query.\n   *\n   * The `updateQuery` parameter is a function that takes the previous query data,\n   * then a `{ subscriptionData: TSubscriptionResult }` object,\n   * and returns an object with updated query data based on the new results.\n   */\n  @bound public subscribeToMore<TSubscriptionVariables, TSubscriptionData>(\n    options: SubscribeToMoreOptions<Data<D>, TSubscriptionVariables, TSubscriptionData>\n  ): (() => void) | void {\n    return this.observableQuery?.subscribeToMore(options);\n  }\n\n  /**\n   * @summary Executes a Query once and updates the with the result\n   */\n  @bound public async executeQuery(\n    params?: Partial<QueryOptions<Variables<D, V>, Data<D>>>\n  ): Promise<ApolloQueryResult<Data<D>>> {\n    try {\n      if (!this.client)\n        throw new TypeError('No Apollo client. See https://apolloelements.dev/guides/getting-started/apollo-client/'); /* c8 ignore next */ // covered\n\n      this.loading = true;\n      this.notify('loading');\n\n      const result = await this.client.query<Data<D>, Variables<D, V>>({\n        // It's better to let Apollo client throw this error, if needs be\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        query: this.query!, variables: this.variables!,\n        context: this.options.context,\n        errorPolicy: this.options.errorPolicy,\n        fetchPolicy:\n            this.options.fetchPolicy === 'cache-and-network' ? undefined/* c8 ignore next */\n          : this.options.fetchPolicy,\n        notifyOnNetworkStatusChange: this.options.notifyOnNetworkStatusChange,\n        partialRefetch: this.options.partialRefetch,\n        returnPartialData: this.options.returnPartialData,\n        ...params,\n      });\n      if (result) // NB: not sure why, but sometimes this returns undefined\n        this.nextData(result);\n      return result;/* c8 ignore next */\n    } catch (error) {\n      this.nextError(error);\n      throw error;\n    }\n  }\n\n  /**\n   * Exposes the `ObservableQuery#fetchMore` method.\n   * https://www.apollographql.com/docs/react/api/core/ObservableQuery/#ObservableQuery.fetchMore\n   *\n   * The optional `updateQuery` parameter is a function that takes the previous query data,\n   * then a `{ subscriptionData: TSubscriptionResult }` object,\n   * and returns an object with updated query data based on the new results.\n   *\n   * The optional `variables` parameter is an optional new variables object.\n   */\n  @bound public async fetchMore(\n    params?: Partial<FetchMoreParams<D, V>>\n  ): Promise<ApolloQueryResult<Data<D>>> {\n    this.loading = true;\n    this.notify('loading');\n\n    const options = {\n      // It's better to let Apollo client throw this error\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      query: this.query!,\n      context: this.options.context,\n      variables: this.variables,\n      ...params,\n    };\n\n    return (\n      this.observableQuery ??= this.watchQuery(\n        options as WatchQueryOptions<Variables<D, V>, Data<D>>\n      )\n    ).fetchMore({\n      ...options,\n      variables: (options.variables as Variables<D, V>) ?? undefined, /* c8 ignore next */\n    }).then(x => {\n      this.loading = false;\n      this.notify('loading');\n      return x;\n    });\n  }\n\n  /**\n   * @summary Start polling this query\n   * @param ms milliseconds to wait between fetches\n   */\n  @bound public startPolling(ms: number): void {\n    this.pollingInterval = window.setInterval(() => {\n      this.refetch();\n    }, ms);\n  }\n\n  /**\n   * @summary Stop polling this query\n   */\n  @bound public stopPolling(): void {\n    clearInterval(this.pollingInterval);\n  }\n}\n", "import type * as C from '@apollo/client/core';\n\nimport type {\n  ComponentDocument,\n  Constructor,\n  Data,\n  FetchMoreParams,\n  MaybeTDN,\n  MaybeVariables,\n  NextFetchPolicyFunction,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport type { ApolloQueryElement } from '@apollo-elements/core/types';\n\nimport { NetworkStatus } from '@apollo/client/core';\n\nimport { ApolloElementMixin } from './apollo-element-mixin.js';\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport { controlled } from '@apollo-elements/core/decorators';\n\nimport {\n  ApolloQueryController,\n  ApolloQueryControllerOptions,\n} from '@apollo-elements/core/apollo-query-controller';\n\ntype MixinInstance<B extends Constructor> = B & {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  new <D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>(...a: any[]):\n    InstanceType<B> & ApolloQueryElement<D, V>;\n  documentType: 'query',\n}\n\n/**\n * `ApolloQueryMixin`: class mixin for apollo-query elements.\n */\nfunction ApolloQueryMixinImpl<B extends Constructor>(superclass: B): MixinInstance<B> {\n  class ApolloQueryElement<D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>\n    extends ApolloElementMixin(superclass)<D, V> {\n    static override documentType: 'query' = 'query';\n\n    static override get observedAttributes(): string[] {\n      return [\n        ...super.observedAttributes as string[],\n        'next-fetch-policy',\n        'no-auto-subscribe',\n      ];\n    }\n\n    controller = new ApolloQueryController<D, V>(this, null, {\n      shouldSubscribe: x => this.readyToReceiveDocument && this.shouldSubscribe(x),\n      onData: data => this.onData?.(data), /* c8 ignore next */ // covered\n      onError: error => this.onError?.(error), /* c8 ignore next */ // covered\n    });\n\n    /** @summary The latest query data. */\n    declare data: Data<D> | null;\n\n    /**\n     * An object map from variable name to variable value, where the variables are used within the GraphQL query.\n     *\n     * Setting variables will initiate the query, unless [`noAutoSubscribe`](#noautosubscribe) is also set.\n     *\n     * @summary Query variables.\n     */\n    declare variables: Variables<D, V> | null;\n\n    get options(): ApolloQueryControllerOptions<D, V> {\n      return this.controller.options;\n    }\n\n    set options(options: ApolloQueryControllerOptions<D, V>) {\n      const { onData, onError } = this.controller.options;\n      this.controller.options = {\n        ...options,\n        onData,\n        onError,\n      };\n    }\n\n    /**\n     * If data was read from the cache with missing fields,\n     * partial will be true. Otherwise, partial will be falsy.\n     *\n     * @summary True when the query returned partial data.\n     */\n    @controlled({ readonly: true }) readonly partial = false;\n\n    /**\n     * `networkStatus` is useful if you want to display a different loading indicator (or no indicator at all)\n     * depending on your network status as it provides a more detailed view into the state of a network request\n     * on your component than `loading` does. `networkStatus` is an enum with different number values between 1 and 8.\n     * These number values each represent a different network state.\n     *\n     * 1. `loading`: The query has never been run before and the request is now pending. A query will still have this network status even if a result was returned from the cache, but a query was dispatched anyway.\n     * 2. `setVariables`: If a query\u2019s variables change and a network request was fired then the network status will be setVariables until the result of that query comes back. React users will see this when options.variables changes on their queries.\n     * 3. `fetchMore`: Indicates that fetchMore was called on this query and that the network request created is currently in flight.\n     * 4. `refetch`: It means that refetch was called on a query and the refetch request is currently in flight.\n     * 5. Unused.\n     * 6. `poll`: Indicates that a polling query is currently in flight. So for example if you are polling a query every 10 seconds then the network status will switch to poll every 10 seconds whenever a poll request has been sent but not resolved.\n     * 7. `ready`: No request is in flight for this query, and no errors happened. Everything is OK.\n     * 8. `error`: No request is in flight for this query, but one or more errors were detected.\n     *\n     * If the network status is less then 7 then it is equivalent to `loading` being true. In fact you could\n     * replace all of your `loading` checks with `networkStatus < 7` and you would not see a difference.\n     * It is recommended that you use `loading`, however.\n     */\n    @controlled() networkStatus: NetworkStatus = NetworkStatus.ready;\n\n    /** @summary A GraphQL document containing a single query. */\n    @controlled() query: ComponentDocument<D> | null = null;\n\n    /**\n     * Determines where the client may return a result from. The options are:\n     *\n     * - `cache-first` (default): return result from cache, fetch from network if cached result is not available.\n     * - `cache-and-network`: return result from cache first (if it exists), then return network result once it's available.\n     * - `cache-only`: return result from cache if available, fail otherwise.\n     * - `no-cache`: return result from network, fail if network call doesn't succeed, don't save to cache\n     * - `network-only`: return result from network, fail if network call doesn't succeed, save to cache\n     * - `standby`: only for queries that aren't actively watched, but should be available for refetch and updateQueries.\n     *\n     * @summary The [fetchPolicy](https://www.apollographql.com/docs/react/api/core/ApolloClient/#FetchPolicy) for the query.\n     * @attr fetch-policy\n     */\n    @controlled({ path: 'options' }) fetchPolicy?: C.WatchQueryFetchPolicy;\n\n    /**\n     * If true, perform a query refetch if the query result is marked as being partial,\n     * and the returned data is reset to an empty Object by the Apollo Client QueryManager\n     * (due to a cache miss).\n     *\n     * The default value is false for backwards-compatibility's sake,\n     * but should be changed to true for most use-cases.\n     *\n     * @summary Set to retry any partial query results.\n     */\n    @controlled({ path: 'options' }) partialRefetch?: boolean;\n\n    /**\n     * Opt into receiving partial results from the cache for queries\n     * that are not fully satisfied by the cache.\n     */\n    @controlled({ path: 'options' }) returnPartialData?: boolean;\n\n    /**\n     * When someone chooses cache-and-network or network-only as their\n     * initial FetchPolicy, they often do not want future cache updates to\n     * trigger unconditional network requests, which is what repeatedly\n     * applying the cache-and-network or network-only policies would seem\n     * to imply. Instead, when the cache reports an update after the\n     * initial network request, it may be desirable for subsequent network\n     * requests to be triggered only if the cache result is incomplete.\n     * The nextFetchPolicy option provides a way to update\n     * options.fetchPolicy after the intial network request, without\n     * having to set options.\n     *\n     * @summary Set to prevent subsequent network requests when the fetch policy is `cache-and-network` or `network-only`.\n     * @attr next-fetch-policy\n     */\n    @controlled({\n      path: 'options',\n      onSet(this: ApolloQueryElement, value: ApolloQueryElement['nextFetchPolicy']) {\n        if (value && typeof value !== 'function')\n          this.setAttribute('next-fetch-policy', value); /* c8 ignore next */ // covered\n        else\n          this.removeAttribute('next-fetch-policy');\n      },\n    })\n    nextFetchPolicy?: C.WatchQueryFetchPolicy | NextFetchPolicyFunction<D, V>;\n\n    /**\n     * When true, the component will not automatically subscribe to new data.\n     * Call the `subscribe()` method to do so.\n     * @attr no-auto-subscribe\n     */\n    @controlled({\n      path: 'options',\n      onSet(this: ApolloQueryElement, value: ApolloQueryElement['noAutoSubscribe']) {\n        this.toggleAttribute('no-auto-subscribe', !!value);\n      },\n    })\n    noAutoSubscribe = this.hasAttribute('no-auto-subscribe');\n\n    /**\n     * @summary Whether or not updates to the network status should trigger next on the observer of this query.\n     */\n    @controlled({ path: 'options' }) notifyOnNetworkStatusChange?: boolean;\n\n    /** @summary The time interval (in milliseconds) on which this query should be refetched from the server. */\n    @controlled({ path: 'options' }) pollInterval?: number;\n\n    /**\n     * Optional callback for when a query is completed.\n     * @param data the query data.\n     */\n    onData?(data: Data<D>): void\n\n    /**\n     * Optional callback for when an error occurs.\n     * @param error the error.\n     */\n    onError?(error: Error): void\n\n    /** @summary Flags an element that's ready and able to auto subscribe */\n    @controlled({ readonly: true }) readonly canAutoSubscribe = true;\n\n    override attributeChangedCallback(name: string, oldVal: string, newVal: string): void {\n      super.attributeChangedCallback?.(name, oldVal, newVal);\n      // @ts-expect-error: ts is not tracking the static side\n      if (super.constructor?.observedAttributes?.includes?.(name))\n        return; /* c8 ignore next */ // covered\n\n      switch (name) { /* c8 ignore next */ // covered\n        case 'next-fetch-policy':\n          // to allow for case where this.nextFetchPolicy is undefined\n          // eslint-disable-next-line eqeqeq\n          if (this.nextFetchPolicy != newVal)\n            this.nextFetchPolicy = newVal as C.WatchQueryFetchPolicy; /* c8 ignore next */ // covered\n          break;\n        case 'no-auto-subscribe':\n          this.noAutoSubscribe = newVal != null;\n      }\n    }\n\n    /**\n     * Exposes the [`ObservableQuery#refetch`](https://www.apollographql.com/docs/react/api/apollo-client.html#ObservableQuery.refetch) method.\n     *\n     * @param variables The new set of variables. If there are missing variables, the previous values of those variables will be used..\n     */\n    async refetch(variables: Variables<D, V>): Promise<C.ApolloQueryResult<Data<D>>> {\n      return this.controller.refetch(variables);\n    }\n\n    /**\n     * Determines whether the element should attempt to automatically subscribe i.e. begin querying\n     *\n     * Override to prevent subscribing unless your conditions are met.\n     */\n    shouldSubscribe(\n      options?: Partial<C.SubscriptionOptions<Variables<D, V>, Data<D>>>\n    ): boolean {\n      return (void options, true);\n    }\n\n    /**\n     * Resets the observableQuery and subscribes.\n     * @param params options for controlling how the subscription subscribes\n     */\n    subscribe(\n      params?: Partial<C.SubscriptionOptions<Variables<D, V>, Data<D>>>\n    ): ZenObservable.Subscription {\n      return this.controller.subscribe(params);\n    }\n\n    /**\n     * Lets you pass a GraphQL subscription and updateQuery function\n     * to subscribe to more updates for your query.\n     *\n     * The `updateQuery` parameter is a function that takes the previous query data,\n     * then a `{ subscriptionData: TSubscriptionResult }` object,\n     * and returns an object with updated query data based on the new results.\n     */\n    subscribeToMore<TSubscriptionVariables, TSubscriptionData>(\n      options: C.SubscribeToMoreOptions<Data<D>, TSubscriptionVariables, TSubscriptionData>\n    ): void | (() => void) {\n      return this.controller.subscribeToMore(options);\n    }\n\n    /**\n     * Executes a Query once and updates the component with the result\n     */\n    async executeQuery(\n      params?: Partial<C.QueryOptions<Variables<D, V>, Data<D>>> | undefined\n    ): Promise<C.ApolloQueryResult<Data<D>>> {\n      return this.controller.executeQuery(params);\n    }\n\n    /**\n     * Exposes the `ObservableQuery#fetchMore` method.\n     * https://www.apollographql.com/docs/react/api/core/ObservableQuery/#ObservableQuery.fetchMore\n     *\n     * The optional `updateQuery` parameter is a function that takes the previous query data,\n     * then a `{ subscriptionData: TSubscriptionResult }` object,\n     * and returns an object with updated query data based on the new results.\n     *\n     * The optional `variables` parameter is an optional new variables object.\n     */\n    async fetchMore(\n      params?: Partial<FetchMoreParams<D, V>> | undefined\n    ): Promise<C.ApolloQueryResult<Data<D>>> {\n      return this.controller.fetchMore(params);\n    }\n  }\n\n  return ApolloQueryElement as unknown as MixinInstance<B>;\n}\n\n\nexport const ApolloQueryMixin =\n  dedupeMixin(ApolloQueryMixinImpl);\n", "import type { ReactiveController, ReactiveControllerHost } from 'lit';\n\nimport type {\n  ComponentDocument,\n  Data,\n  MaybeTDN,\n  MaybeVariables,\n  SubscriptionDataOptions,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport type {\n  ApolloClient,\n  ApolloError,\n  DocumentNode,\n  FetchPolicy,\n  FetchResult,\n  NormalizedCacheObject,\n  Observable,\n  SubscriptionOptions,\n  WatchQueryOptions,\n} from '@apollo/client/core';\n\nimport { ApolloController, ApolloControllerOptions } from './apollo-controller.js';\n\nimport { bound } from './lib/bound.js';\n\nexport interface ApolloSubscriptionControllerOptions<D, V> extends ApolloControllerOptions<D, V>,\n          Partial<WatchQueryOptions<Variables<D, V>, Data<D>>> {\n  variables?: Variables<D, V>,\n  fetchPolicy?: FetchPolicy;\n  noAutoSubscribe?: boolean;\n  shouldSubscribe?: (options?: Partial<SubscriptionOptions<Variables<D, V>, Data<D>>>) => boolean;\n  shouldResubscribe?: boolean;\n  skip?: boolean;\n  onData?: (detail: {\n    client: ApolloClient<NormalizedCacheObject>;\n    subscriptionData: { data: Data<D> | null; loading: boolean; error: null; };\n  }) => void;\n  onComplete?: () => void;\n  onError?: (error: ApolloError) => void;\n}\n\nexport class ApolloSubscriptionController<D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>\n  extends ApolloController<D, V>\n  implements ReactiveController {\n  private observable?: Observable<FetchResult<Data<D>>>;\n\n  private observableSubscription?: ZenObservable.Subscription;\n\n  // @ts-expect-error: https://github.com/microsoft/TypeScript/issues/40220\n  declare options: ApolloSubscriptionControllerOptions<D, V>;\n\n  #hasDisconnected = false;\n\n  #lastSubscriptionDocument?: DocumentNode;\n\n  get subscription(): ComponentDocument<D> | null { return this.document; }\n\n  set subscription(document: ComponentDocument<D> | null) { this.document = document; }\n\n  /** Flags an element that's ready and able to auto-subscribe */\n  public get canAutoSubscribe(): boolean {\n    return (\n      !!this.client &&\n      !this.options.noAutoSubscribe &&\n      this.shouldSubscribe()\n    );\n  }\n\n  constructor(\n    host: ReactiveControllerHost,\n    subscription?: ComponentDocument<D> | null,\n    options?: ApolloSubscriptionControllerOptions<D, V>\n  ) {\n    super(host, options);\n    this.init(subscription ?? null);/* c8 ignore next */\n  }\n\n  override hostConnected(): void {\n    super.hostConnected();\n    /* c8 ignore start */ // covered\n    if (this.#hasDisconnected && this.observableSubscription)\n      this.subscribe(); /* c8 ignore stop */\n    else\n      this.documentChanged(this.subscription);\n  }\n\n  override hostDisconnected(): void {\n    this.endSubscription();\n    this.#hasDisconnected = true;\n    super.hostDisconnected();\n  }\n\n  /**\n   * Determines whether the element is able to automatically subscribe\n   */\n  private canSubscribe(\n    options?: Partial<SubscriptionOptions<Variables<D, V> | null, Data<D>>>\n  ): boolean {\n    /* c8 ignore next 4 */\n    return (\n      !this.options.noAutoSubscribe &&\n      !!this.client &&\n      (!this.observable || !!this.options.shouldResubscribe) &&\n      !!(options?.query ?? this.subscription)\n    );\n  }\n\n  private initObservable(params?: Partial<SubscriptionDataOptions<D, V>>): void {\n    const {\n      shouldResubscribe = this.options.shouldResubscribe,\n      client = this.client,\n      skip = this.options.skip,\n      ...rest\n    } = params ?? {}; /* c8 ignore start */ // covered\n\n    if (!client) /* c8 ignore start */ // covered\n      throw new TypeError('No Apollo client. See https://apolloelements.dev/guides/getting-started/apollo-client/');\n\n\n    if ((this.observable && !shouldResubscribe) || skip)\n      return; /* c8 ignore stop */\n\n    const query = params?.subscription ?? this.subscription as DocumentNode; /* c8 ignore next */\n    this.#lastSubscriptionDocument = query;\n    this.observable = client.subscribe({\n      // It's better to let Apollo client throw this error\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      variables: this.variables,\n      context: this.options.context,\n      errorPolicy: this.options.errorPolicy,\n      fetchPolicy: this.options.fetchPolicy,\n      ...rest,\n      query,\n    });\n  }\n\n  /**\n   * Sets `data`, `loading`, and `error` on the instance when new subscription results arrive.\n   */\n  private nextData(result: FetchResult<Data<D>>) {\n    const { data = null, errors } = result;\n    // If we got to this line without a client, it's because of user error\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    const client = this.client!;\n    const loading = false;\n    const subscriptionData = { data, loading, error: null };\n    const detail = { client, subscriptionData };\n    this.emitter.dispatchEvent(new CustomEvent('apollo-subscription-result', { detail }));\n    this.data = data;\n    this.error = null;\n    this.errors = errors ?? [];\n    this.loading = loading;\n    this.options.onData?.(detail); /* c8 ignore next */ // covered\n    this.notify('data', 'error', 'errors', 'loading');\n  }\n\n  /**\n   * Sets `error` and `loading` on the instance when the subscription errors.\n   */\n  private nextError(error: ApolloError) {\n    this.emitter.dispatchEvent(new CustomEvent('apollo-error', { detail: error }));\n    this.error = error;\n    this.loading = false;\n    this.options.onError?.(error); /* c8 ignore next */ // covered\n    this.notify('error', 'loading');\n  }\n\n  /**\n   * Shuts down the subscription\n   */\n  private onComplete(): void {\n    this.options.onComplete?.(); /* c8 ignore next */ // covered\n    this.endSubscription();\n    this.notify();\n  }\n\n  private endSubscription() {\n    if (this.observableSubscription)\n      this.observableSubscription.unsubscribe();\n  }\n\n  private shouldSubscribe(opts?: Partial<SubscriptionOptions<Variables<D, V>, Data<D>>>): boolean {\n    return this.options.shouldSubscribe?.(opts) ?? true; /* c8 ignore next */\n  }\n\n  protected override clientChanged(): void {\n    if (this.canSubscribe() && this.shouldSubscribe())/* c8 ignore next */\n      this.subscribe();/* c8 ignore next */\n  }\n\n  protected override documentChanged(doc?: ComponentDocument<D> | null): void {\n    const query = doc ?? undefined;/* c8 ignore next */\n    if (doc === this.#lastSubscriptionDocument)\n      return;/* c8 ignore next */\n    this.cancel();\n    if (this.canSubscribe({ query }) && this.shouldSubscribe({ query })) /* c8 ignore next */\n      this.subscribe();/* c8 ignore next */\n  }\n\n  protected override variablesChanged(variables?: Variables<D, V>): void {\n    this.cancel();\n    if (this.canSubscribe({ variables }) && this.shouldSubscribe({ variables }))/* c8 ignore next */\n      this.subscribe();/* c8 ignore next */\n  }\n\n  /**\n   * @summary Starts the subscription\n   */\n  @bound public subscribe(params?: Partial<SubscriptionDataOptions<D, V>>): void {\n    this.initObservable(params);\n\n    /* c8 ignore start */ // covered\n    const shouldResubscribe = params?.shouldResubscribe ?? this.options.shouldResubscribe;\n    if (this.observableSubscription && !shouldResubscribe) return;\n    /* c8 ignore stop */\n\n    this.loading = true;\n    this.notify('loading');\n\n    this.observableSubscription =\n      this.observable?.subscribe({\n        next: this.nextData.bind(this),\n        error: this.nextError.bind(this),\n        complete: this.onComplete.bind(this),\n      });\n  }\n\n  /**\n   * @summary Ends the subscription\n   */\n  @bound public cancel(): void {\n    this.endSubscription();\n    this.observableSubscription = undefined;\n    this.observable = undefined;\n  }\n}\n", "import type * as C from '@apollo/client/core';\n\nimport type {\n  ComponentDocument,\n  Constructor,\n  Data,\n  MaybeTDN,\n  MaybeVariables,\n  OnSubscriptionDataParams,\n  SubscriptionDataOptions,\n  Variables,\n} from '@apollo-elements/core/types';\n\nimport type { ApolloSubscriptionElement } from '@apollo-elements/core/types';\n\nimport { ApolloSubscriptionController } from '@apollo-elements/core/apollo-subscription-controller';\nimport { ApolloElementMixin } from './apollo-element-mixin.js';\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport { controlled } from '@apollo-elements/core/decorators';\n\ntype MixinInstance<B extends Constructor> = B & {\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  new <D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>(...a: any[]):\n    InstanceType<B> & ApolloSubscriptionElement<D, V>;\n  documentType: 'subscription';\n}\n\nfunction ApolloSubscriptionMixinImpl<B extends Constructor>(superclass: B): MixinInstance<B> {\n  class MixedApolloSubscriptionElement<D extends MaybeTDN = MaybeTDN, V = MaybeVariables<D>>\n    extends ApolloElementMixin(superclass)<D, V> {\n    static override documentType = 'subscription' as const;\n\n    static override get observedAttributes(): string[] {\n      return [\n        ...super.observedAttributes as string[],\n        'no-auto-subscribe',\n      ];\n    }\n\n    /**\n     * Latest subscription data.\n     */\n    declare data: Data<D> | null;\n\n    /**\n     * An object map from variable name to variable value, where the variables are used within the GraphQL subscription.\n     *\n     * Setting variables will initiate the subscription, unless [`noAutoSubscribe`](#noautosubscribe) is also set.\n     *\n     * @summary Subscription variables.\n     */\n    declare variables: Variables<D, V> | null;\n\n    controller = new ApolloSubscriptionController<D, V>(this, null, {\n      shouldSubscribe: x => this.readyToReceiveDocument && this.shouldSubscribe(x),\n      onData: data => this.onSubscriptionData?.(data), /* c8 ignore next */ // covered\n      onComplete: () => this.onSubscriptionComplete?.(), /* c8 ignore next */ // covered\n      onError: error => this.onError?.(error),\n    });\n\n    @controlled() subscription: ComponentDocument<D> | null = null;\n\n    @controlled({ readonly: true }) declare readonly canAutoSubscribe: boolean;\n\n    @controlled({ path: 'options' }) context?: Record<string, unknown>;\n\n    @controlled({ path: 'options' }) fetchPolicy?: C.FetchPolicy;\n\n    @controlled({ path: 'options' }) pollInterval?: number;\n\n    @controlled({\n      path: 'options',\n      onSet(\n        this: ApolloSubscriptionElement,\n        value: ApolloSubscriptionElement['noAutoSubscribe']\n      ) {\n        this.toggleAttribute('no-auto-subscribe', !!value);\n      },\n    })\n    noAutoSubscribe = this.hasAttribute('no-auto-subscribe');\n\n    @controlled({ path: 'options' }) notifyOnNetworkStatusChange?: boolean;\n\n    @controlled({ path: 'options' })\n    shouldResubscribe: SubscriptionDataOptions['shouldResubscribe'] = false;\n\n    @controlled({ path: 'options' }) skip = false;\n\n    onSubscriptionData?(_result: OnSubscriptionDataParams<Data<D>>): void\n\n    onSubscriptionComplete?(): void\n\n    onError?(error: C.ApolloError): void\n\n    public subscribe(params?: Partial<SubscriptionDataOptions<D, V>>): void {\n      return this.controller.subscribe(params);\n    }\n\n    public cancel(): void {\n      return this.controller.cancel();\n    }\n\n    /**\n     * Determines whether the element should attempt to subscribe automatically\n     * Override to prevent subscribing unless your conditions are met\n     * @override\n     */\n    shouldSubscribe(\n      options?: Partial<C.SubscriptionOptions<Variables<D, V>, Data<D>>>\n    ): boolean {\n      return (void options, true);\n    }\n  }\n\n  return MixedApolloSubscriptionElement as unknown as MixinInstance<B>;\n}\n\n/**\n * `ApolloSubscriptionMixin`: class mixin for apollo-subscription elements.\n */\nexport const ApolloSubscriptionMixin =\n  dedupeMixin(ApolloSubscriptionMixinImpl);\n", "import type { DocumentNode, ApolloError } from '@apollo/client/core';\n\nimport type { Constructor, CustomElement } from '@apollo-elements/core/types';\n\nimport { gql } from '@apollo/client/core';\n\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\n\n// HACK to get HTMLScriptElement interface on querySelector results\nconst SELECTORS = {\n  GQL: 'script[type=\"application/graphql\"]' as 'script',\n  VAR: 'script[type=\"application/json\"]' as 'script',\n};\n\nfunction stripHTMLComments(string: string): string {\n  return string.replace?.(/<!---->/g, '');\n}\n\nfunction GraphQLScriptChildMixinImplementation<\n  B extends Constructor<CustomElement & {\n    document: DocumentNode|null;\n    variables: unknown|null;\n    error: Error|ApolloError|null;\n  }>\n>(superclass: B): B {\n  class GraphQLScriptChild extends superclass {\n    /** Updates the element state in reaction to GraphQL or JSON script child changes. */\n    private mo?: MutationObserver;\n\n    /**\n     * When encountering a DOM Mutation, update the element's state if relevant.\n     */\n    private async matchNode(node: Node): Promise<void> {\n      if (!(node instanceof HTMLScriptElement))\n        return; /* c8 ignore next */ // it's covered\n      if (node.matches(SELECTORS.GQL))\n        this.document = await this.getDOMGraphQLDocument();\n      if (node.matches(SELECTORS.VAR))\n        this.variables = this.getDOMVariables();\n    }\n\n    /**\n     * Update the element state in reaction to DOM updates that change the\n     * declarative GraphQL document or JSON-variable scripts\n     */\n    private onDOMMutation(records: MutationRecord[]): void {\n      // eslint-disable-next-line easy-loops/easy-loops\n      for (const { target: node, addedNodes = [] } of records) {\n        this.matchNode(node);\n        for (const added of addedNodes)\n          this.matchNode(added);\n      }\n    }\n\n    private parseGQL(text: string): this['document'] {\n      try {\n        return gql(stripHTMLComments(text)); /* c8 ignore next */ // covered\n      } catch (err) {\n        this.error = err;\n        return null;\n      }\n    }\n\n    private parseVariables(text: string): this['variables'] {\n      try {\n        return JSON.parse(text); /* c8 ignore next */ // covered\n      } catch {\n        return null;\n      }\n    }\n\n    private async fetchDocument(url: string): Promise<this['document']> {\n      return fetch(url)\n        .then(x => x.text())\n        .then(x => this.parseGQL(x));\n    }\n\n    /**\n     * @summary Get a GraphQL DocumentNode from the element's GraphQL script child\n     */\n    protected async getDOMGraphQLDocument(): Promise<this['document']> {\n      const script = this.querySelector(SELECTORS.GQL);\n      /* c8 ignore start */ // covered\n      if (script?.src)\n        return this.fetchDocument(script.src);\n      else if (!script?.innerText)\n        return null;\n      else\n        return this.parseGQL(script.innerText);\n    }\n\n    /**\n     * @summary Gets operation variables from the element's JSON script child\n     */\n    protected getDOMVariables(): this['variables'] {\n      const script = this.querySelector(SELECTORS.VAR);\n      if (!script)\n        return null;\n      // TODO: Allow this to be async without breaking <apollo-mutation> (see constructor)\n      // else if (script.src)\n      //   return await fetch(script.src).then(x => x.json());\n      else\n        return this.parseVariables(script.innerText);\n    }\n\n    /**\n     * Initializes a `MutationObserver` which watches for changes the the element's children.\n     * When a `<script type=\"application/graphql\">` or `<script type=\"application/json\">`\n     * is appended, the mixin asynchrously sets the `document` or `variables`.\n     */\n    override async connectedCallback(): Promise<void> {\n      this.mo = new MutationObserver(this.onDOMMutation.bind(this));\n      this.mo.observe(this, { characterData: true, childList: true, subtree: true });\n      this.document ??= await this.getDOMGraphQLDocument();\n      this.variables ??= this.getDOMVariables();\n      super.connectedCallback?.();\n    }\n\n    /**\n     * Disconnects the `MutationObserver`.\n     */\n    override disconnectedCallback(): void {\n      super.disconnectedCallback?.();\n      this.mo?.disconnect();\n    }\n  }\n\n  return GraphQLScriptChild;\n}\n\n/**\n * `GraphQLScriptChildMixin`\n *  @summary Allows elements to read their GraphQL document and variables from HTML.\n */\nexport const GraphQLScriptChildMixin =\n  dedupeMixin(GraphQLScriptChildMixinImplementation);\n", "import type { TypePolicies } from '@apollo/client/core';\nimport type { Policies } from '@apollo/client/cache/inmemory/policies';\nimport type { Constructor } from '@apollo-elements/core/types';\nimport type { ApolloElementElement } from '@apollo-elements/core/types';\n\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\n\ndeclare module '@apollo/client/cache' {\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  export interface ApolloCache<TSerialized> {\n    policies: Policies;\n  }\n}\n\n/**\n * Lazily adds [`TypePolicies`](https://www.apollographql.com/docs/react/caching/cache-configuration/#typepolicy-fields)\n * to the Apollo client when the element connects to the DOM,\n * from the element's `typePolicies` instance property.\n */\nfunction TypePoliciesMixinImpl<B extends Constructor<ApolloElementElement>>(\n  superclass: B\n): B & Constructor<{\n  typePolicies?: TypePolicies;\n}> {\n  return class TypePoliciesElement extends superclass {\n    /**\n     * `TypePolicies` to lazy-load.\n     */\n    declare typePolicies?: TypePolicies;\n\n    override connectedCallback() {\n      super.connectedCallback?.();\n      if (this.typePolicies)\n        this.client?.cache.policies.addTypePolicies(this.typePolicies);\n    }\n  };\n}\n\nexport const TypePoliciesMixin =\n  dedupeMixin(TypePoliciesMixinImpl);\n", "import type { DefinitionNode, OperationDefinitionNode, VariableDefinitionNode } from 'graphql';\nimport type { Operation } from '@apollo/client/core';\n\n/** isOperationDefinition :: DefinitionNode -> Boolean */\nfunction isOperationDefinition(definition: DefinitionNode): definition is OperationDefinitionNode {\n  return definition.kind === 'OperationDefinition';\n}\n\n/** isNonNullType :: a -> Boolean */\nfunction isNonNullType<T extends { type: { kind: string } }>(x: T) {\n  return x?.type?.kind === 'NonNullType';\n}\n\n/** hasNonNullValue :: keyof TVariables VariableName => TVariables -> VariableName -> Boolean */\nfunction hasNonNullValue<T>(x: T) {\n  return (prop: string): boolean =>\n    x?.[prop as keyof T] != null; /* c8 ignore next */ // covered\n}\n\nfunction isTrue(x: boolean): x is true {\n  return x;\n}\n\n/** getVariableDefinitions :: OperationDefinitionNode -> [VariableDefinitionNode] */\nfunction getVariableDefinitions(\n  x: OperationDefinitionNode\n): readonly VariableDefinitionNode[] {\n  return x.variableDefinitions ?? []; /* c8 ignore next */ // couldn't repro\n}\n\n/** getVariableValue :: VariableDefinitionNode -> a */\nfunction getVariableValue(x: VariableDefinitionNode) {\n  return x.variable.name.value;\n}\n\n/**\n * Checks whether an operation includes all its non-nullable variables.\n * Note that this can't check properties of Input types defined in schema,\n * only top-level variables.\n *\n * ```haskell\n * hasAllVariables :: Operation -> Bool\n * ```\n *\n * @param operation The GraphQL operation to validate.\n * @return Whether the operation has all it's required variables.\n */\nexport function hasAllVariables(operation: Partial<Operation>): boolean {\n  try {\n    return operation.query?.definitions\n      ?.filter(isOperationDefinition)\n      ?.flatMap(getVariableDefinitions)\n      ?.filter(isNonNullType)\n      ?.map(getVariableValue)\n      ?.map(hasNonNullValue(operation.variables))\n      ?.every(isTrue) ?? false; /* c8 ignore next */ // covered\n  } catch {\n    return false;\n  }\n}\n", "import type { SubscriptionOptions } from '@apollo/client/core';\n\nimport type { ApolloElementElement, Constructor } from '@apollo-elements/core/types';\n\nimport type * as C from '@apollo-elements/core';\n\nimport { dedupeMixin } from '@open-wc/dedupe-mixin';\nimport { hasAllVariables } from '@apollo-elements/core/lib/has-all-variables';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\ntype ControllerElementConstructor = Constructor<ApolloElementElement<any, any> & {\n  shouldSubscribe?(options?: Partial<SubscriptionOptions>): boolean;\n  controller: C.ApolloQueryController<any, any> | C.ApolloSubscriptionController<any, any>\n}> /* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Mixin which prevents query or subscription operations from fetching until their required variables are set.\n * @param superclass An element which implements either `ApolloQueryInterface` or `ApolloSubscriptionInterface`.\n */\nfunction ValidateVariablesMixinImpl<B extends ControllerElementConstructor>(superclass: B): B {\n  class ValidateVariablesElement extends superclass {\n    constructor(..._: any[]) {\n      super();\n      const { shouldSubscribe } = this.controller.options;\n      this.controller.options.shouldSubscribe = (x?: Partial<SubscriptionOptions>) =>\n        (shouldSubscribe?.(x) ?? true) && this.shouldSubscribe(x);/* c8 ignore next */\n    }\n\n    override shouldSubscribe(options?: Partial<SubscriptionOptions>) {\n      const query = options?.query ?? this.document ?? undefined;\n      const variables = options?.variables ?? this.variables ?? undefined;\n      return hasAllVariables({ query, variables });\n    }\n  }\n  return ValidateVariablesElement;\n}\n\nexport const ValidateVariablesMixin =\n  dedupeMixin(ValidateVariablesMixinImpl);\n"],
  "mappings": "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",
  "names": []
}