@quiltt/react 3.5.3 → 3.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/providers/index.ts","../../src/providers/QuilttAuthProvider.tsx","../../../../node_modules/.pnpm/tslib@2.5.0/node_modules/tslib/tslib.es6.js","../../../../node_modules/.pnpm/ts-invariant@0.10.3/node_modules/ts-invariant/src/invariant.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/maybe.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/global.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/DEV.ts","../../../../node_modules/.pnpm/ts-invariant@0.10.3/node_modules/ts-invariant/process/index.js","../../../../node_modules/.pnpm/graphql@16.8.1/node_modules/graphql/jsutils/devAssert.mjs","../../../../node_modules/.pnpm/graphql@16.8.1/node_modules/graphql/jsutils/inspect.mjs","../../../../node_modules/.pnpm/graphql@16.8.1/node_modules/graphql/language/source.mjs","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/fix-graphql.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/index.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/common/canUse.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/react/context/ApolloContext.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/react/context/ApolloProvider.tsx","../../src/hooks/session/useIdentifySession.ts","../../src/hooks/session/useAuthenticateSession.ts","../../src/hooks/session/useImportSession.ts","../../src/hooks/session/useRevokeSession.ts","../../src/hooks/useQuilttSession.ts","../../src/hooks/useSession.ts","../../src/hooks/useStorage.ts","../../src/hooks/useQuilttSettings.ts","../../src/providers/QuilttSettingsProvider.tsx","../../src/providers/QuilttProvider.tsx"],"sourcesContent":["export * from './QuilttAuthProvider'\nexport * from './QuilttProvider'\nexport * from './QuilttSettingsProvider'\n","'use client'\n\nimport type { FC, PropsWithChildren } from 'react'\nimport { useEffect } from 'react'\n\nimport { ApolloProvider } from '@apollo/client'\nimport { InMemoryCache, QuilttClient } from '@quiltt/core'\nimport { useQuilttSession } from '../hooks'\n\ntype QuilttAuthProviderProps = PropsWithChildren & {\n token?: string\n}\n\nconst GraphQLClient = new QuilttClient({\n cache: new InMemoryCache(),\n})\n\n/**\n * If a token is provided, will validate the token against the api and then import\n * it into trusted storage. While this process is happening, the component is put\n * into a loading state and the children are not rendered to prevent race conditions\n * from triggering within the transitionary state.\n *\n */\nexport const QuilttAuthProvider: FC<QuilttAuthProviderProps> = ({ token, children }) => {\n const { session, importSession } = useQuilttSession()\n\n // Import passed in token\n useEffect(() => {\n if (token) importSession(token)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [token])\n\n // Reset Client Store when logging in or out\n useEffect(() => {\n GraphQLClient.resetStore()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session])\n\n return <ApolloProvider client={GraphQLClient}>{children}</ApolloProvider>\n}\n\nexport default QuilttAuthProvider\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 Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n 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 return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(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\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(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 return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(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\nexport function __decorate(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\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(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\nexport function __generator(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 (g && (g = 0, op[0] && (_ = 0)), _) 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\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\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\nexport function __exportStar(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\nexport function __values(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\nexport function __read(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\nexport function __spread() {\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\nexport function __spreadArrays() {\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\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(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\nexport function __asyncDelegator(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: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(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\nexport function __makeTemplateObject(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\nvar __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\nexport function __importStar(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\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(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\nexport function __classPrivateFieldSet(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\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\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 = [\"debug\", \"log\", \"warn\", \"error\", \"silent\"] as const;\nexport type VerbosityLevel = (typeof verbosityLevels)[number];\nexport type ConsoleMethodName = Exclude<VerbosityLevel, \"silent\">;\nlet verbosityLevel = verbosityLevels.indexOf(\"log\");\n\nfunction wrapConsoleMethod<M extends ConsoleMethodName>(name: M) {\n return function () {\n if (verbosityLevels.indexOf(name) >= verbosityLevel) {\n // Default to console.log if this host environment happens not to provide\n // all the console.* methods we need.\n const method = console[name] || console.log;\n return method.apply(console, arguments as any);\n }\n } as (typeof console)[M];\n}\n\nexport namespace invariant {\n export const debug = wrapConsoleMethod(\"debug\");\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\nexport default invariant;\n","export function maybe<T>(thunk: () => T): T | undefined {\n try { return thunk() } catch {}\n}\n","import { maybe } from \"./maybe\";\n\ndeclare global {\n // Despite our attempts to reuse the React Native __DEV__ constant instead of\n // inventing something new and Apollo-specific, declaring a useful type for\n // __DEV__ unfortunately conflicts (TS2451) with the global declaration in\n // @types/react-native/index.d.ts.\n //\n // To hide that harmless conflict, we @ts-ignore this line, which should\n // continue to provide a type for __DEV__ elsewhere in the Apollo Client\n // codebase, even when @types/react-native is not in use.\n //\n // However, because TypeScript drops @ts-ignore comments when generating .d.ts\n // files (https://github.com/microsoft/TypeScript/issues/38628), we also\n // sanitize the dist/utilities/globals/global.d.ts file to avoid declaring\n // __DEV__ globally altogether when @apollo/client is installed in the\n // node_modules directory of an application.\n //\n // @ts-ignore\n const __DEV__: boolean | undefined;\n}\n\nexport default (\n maybe(() => globalThis) ||\n maybe(() => window) ||\n maybe(() => self) ||\n maybe(() => global) ||\n // We don't expect the Function constructor ever to be invoked at runtime, as\n // long as at least one of globalThis, window, self, or global is defined, so\n // we are under no obligation to make it easy for static analysis tools to\n // detect syntactic usage of the Function constructor. If you think you can\n // improve your static analysis to detect this obfuscation, think again. This\n // is an arms race you cannot win, at least not in JavaScript.\n maybe(function() { return maybe.constructor(\"return this\")() })\n) as typeof globalThis & {\n __DEV__: typeof __DEV__;\n};\n","import global from \"./global\";\nimport { maybe } from \"./maybe\";\n\n// To keep string-based find/replace minifiers from messing with __DEV__ inside\n// string literals or properties like global.__DEV__, we construct the \"__DEV__\"\n// string in a roundabout way that won't be altered by find/replace strategies.\nconst __ = \"__\";\nconst GLOBAL_KEY = [__, __].join(\"DEV\");\n\nfunction getDEV() {\n try {\n return Boolean(__DEV__);\n } catch {\n Object.defineProperty(global, GLOBAL_KEY, {\n // In a buildless browser environment, maybe(() => process.env.NODE_ENV)\n // evaluates as undefined, so __DEV__ becomes true by default, but can be\n // initialized to false instead by a script/module that runs earlier.\n value: maybe(() => process.env.NODE_ENV) !== \"production\",\n enumerable: false,\n configurable: true,\n writable: true,\n });\n // Using computed property access rather than global.__DEV__ here prevents\n // string-based find/replace strategies from munging this to global.false:\n return (global as any)[GLOBAL_KEY];\n }\n}\n\nexport default getDEV();\n","function maybe(thunk) {\n try { return thunk() } catch (_) {}\n}\n\nvar safeGlobal = (\n maybe(function() { return globalThis }) ||\n maybe(function() { return window }) ||\n maybe(function() { return self }) ||\n maybe(function() { return global }) ||\n // We don't expect the Function constructor ever to be invoked at runtime, as\n // long as at least one of globalThis, window, self, or global is defined, so\n // we are under no obligation to make it easy for static analysis tools to\n // detect syntactic usage of the Function constructor. If you think you can\n // improve your static analysis to detect this obfuscation, think again. This\n // is an arms race you cannot win, at least not in JavaScript.\n maybe(function() { return maybe.constructor(\"return this\")() })\n);\n\nvar needToRemove = false;\n\nexport function install() {\n if (safeGlobal &&\n !maybe(function() { return process.env.NODE_ENV }) &&\n !maybe(function() { return process })) {\n Object.defineProperty(safeGlobal, \"process\", {\n value: {\n env: {\n // This default needs to be \"production\" instead of \"development\", to\n // avoid the problem https://github.com/graphql/graphql-js/pull/2894\n // will eventually solve, once merged and released.\n NODE_ENV: \"production\",\n },\n },\n // Let anyone else change global.process as they see fit, but hide it from\n // Object.keys(global) enumeration.\n configurable: true,\n enumerable: false,\n writable: true,\n });\n needToRemove = true;\n }\n}\n\n// Call install() at least once, when this module is imported.\ninstall();\n\nexport function remove() {\n if (needToRemove) {\n delete safeGlobal.process;\n needToRemove = false;\n }\n}\n","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport 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 ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\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 const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let 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(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.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 class Source {\n constructor(\n body,\n name = 'GraphQL request',\n locationOffset = {\n line: 1,\n column: 1,\n },\n ) {\n typeof body === 'string' ||\n devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 ||\n devAssert(\n false,\n 'line in locationOffset is 1-indexed and must be positive.',\n );\n this.locationOffset.column > 0 ||\n devAssert(\n false,\n 'column in locationOffset is 1-indexed and must be positive.',\n );\n }\n\n get [Symbol.toStringTag]() {\n return 'Source';\n }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","// The ordering of these imports is important, because it ensures the temporary\n// process.env.NODE_ENV polyfill is defined globally (if necessary) before we\n// import { Source } from 'graphql'. The instanceOf function that we really care\n// about (the one that uses process.env.NODE_ENV) is not exported from the\n// top-level graphql package, but graphql/language/source uses instanceOf, and\n// has relatively few dependencies, so importing it here should not increase\n// bundle sizes as much as other options.\nimport { remove } from 'ts-invariant/process';\nimport { Source } from 'graphql';\n\nexport function removeTemporaryGlobals() {\n // Using Source here here just to make sure it won't be tree-shaken away.\n return typeof Source === \"function\" ? remove() : remove();\n}\n","import { invariant, InvariantError } from \"ts-invariant\";\n\n// Just in case the graphql package switches from process.env.NODE_ENV to\n// __DEV__, make sure __DEV__ is polyfilled before importing graphql.\nimport DEV from \"./DEV\";\nexport { DEV }\nexport function checkDEV() {\n invariant(\"boolean\" === typeof DEV, DEV);\n}\n\n// Import graphql/jsutils/instanceOf safely, working around its unchecked usage\n// of process.env.NODE_ENV and https://github.com/graphql/graphql-js/pull/2894.\nimport { removeTemporaryGlobals } from \"./fix-graphql\";\n\n// Synchronously undo the global process.env.NODE_ENV polyfill that we created\n// temporarily while importing the offending graphql/jsutils/instanceOf module.\nremoveTemporaryGlobals();\n\nexport { maybe } from \"./maybe\";\nexport { default as global } from \"./global\";\nexport { invariant, InvariantError }\n\n// Ensure __DEV__ was properly initialized, and prevent tree-shaking bundlers\n// from mistakenly pruning the ./DEV module (see issue #8674).\ncheckDEV();\n","import { maybe } from \"../globals\";\n\nexport const canUseWeakMap =\n typeof WeakMap === 'function' &&\n maybe(() => navigator.product) !== 'ReactNative';\n\nexport const canUseWeakSet = typeof WeakSet === 'function';\n\nexport const canUseSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.for === 'function';\n\nexport const canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;\n\nexport const canUseDOM =\n typeof maybe(() => window.document.createElement) === \"function\";\n\nconst usingJSDOM: boolean =\n // Following advice found in this comment from @domenic (maintainer of jsdom):\n // https://github.com/jsdom/jsdom/issues/1537#issuecomment-229405327\n //\n // Since we control the version of Jest and jsdom used when running Apollo\n // Client tests, and that version is recent enought to include \" jsdom/x.y.z\"\n // at the end of the user agent string, I believe this case is all we need to\n // check. Testing for \"Node.js\" was recommended for backwards compatibility\n // with older version of jsdom, but we don't have that problem.\n maybe(() => navigator.userAgent.indexOf(\"jsdom\") >= 0) || false;\n\n// Our tests should all continue to pass if we remove this !usingJSDOM\n// condition, thereby allowing useLayoutEffect when using jsdom. Unfortunately,\n// if we allow useLayoutEffect, then useSyncExternalStore generates many\n// warnings about useLayoutEffect doing nothing on the server. While these\n// warnings are harmless, this !usingJSDOM condition seems to be the best way to\n// prevent them (i.e. skipping useLayoutEffect when using jsdom).\nexport const canUseLayoutEffect = canUseDOM && !usingJSDOM;\n","import * as React from 'react';\nimport { ApolloClient } from '../../core';\nimport { canUseSymbol } from '../../utilities';\nimport type { RenderPromises } from '../ssr';\n\nexport interface ApolloContextValue {\n client?: ApolloClient<object>;\n renderPromises?: RenderPromises;\n}\n\n// To make sure Apollo Client doesn't create more than one React context\n// (which can lead to problems like having an Apollo Client instance added\n// in one context, then attempting to retrieve it from another different\n// context), a single Apollo context is created and tracked in global state.\nconst contextKey = canUseSymbol\n ? Symbol.for('__APOLLO_CONTEXT__')\n : '__APOLLO_CONTEXT__';\n\nexport function getApolloContext(): React.Context<ApolloContextValue> {\n let context = (React.createContext as any)[contextKey] as React.Context<ApolloContextValue>;\n if (!context) {\n Object.defineProperty(React.createContext, contextKey, {\n value: context = React.createContext<ApolloContextValue>({}),\n enumerable: false,\n writable: false,\n configurable: true,\n });\n context.displayName = 'ApolloContext';\n }\n return context;\n}\n\nexport { getApolloContext as resetApolloContext }\n","import { invariant } from '../../utilities/globals';\n\nimport * as React from 'react';\n\nimport { ApolloClient } from '../../core';\nimport { getApolloContext } from './ApolloContext';\n\nexport interface ApolloProviderProps<TCache> {\n client: ApolloClient<TCache>;\n children: React.ReactNode | React.ReactNode[] | null;\n}\n\nexport const ApolloProvider: React.FC<ApolloProviderProps<any>> = ({\n client,\n children\n}) => {\n const ApolloContext = getApolloContext();\n return (\n <ApolloContext.Consumer>\n {(context: any = {}) => {\n if (client && context.client !== client) {\n context = Object.assign({}, context, { client });\n }\n\n invariant(\n context.client,\n 'ApolloProvider was not passed a client instance. Make ' +\n 'sure you pass in your client via the \"client\" prop.'\n );\n\n return (\n <ApolloContext.Provider value={context}>\n {children}\n </ApolloContext.Provider>\n );\n }}\n </ApolloContext.Consumer>\n );\n};\n","import { useCallback } from 'react'\n\nimport type {\n AuthAPI,\n SessionResponse,\n UnprocessableData,\n UnprocessableResponse,\n UsernamePayload,\n} from '@quiltt/core'\n\nimport type { SetSession } from '../useSession'\n\ntype IdentifySessionCallbacks = {\n onSuccess?: () => unknown\n onChallenged?: () => unknown\n onError?: (errors: UnprocessableData) => unknown\n}\nexport type IdentifySession = (\n payload: UsernamePayload,\n callbacks: IdentifySessionCallbacks\n) => Promise<unknown>\n\ntype UseIdentifySession = (auth: AuthAPI, setSession: SetSession) => IdentifySession\n\nexport const useIdentifySession: UseIdentifySession = (auth, setSession) => {\n const identifySession = useCallback<IdentifySession>(\n async (payload, callbacks) => {\n const response = await auth.identify(payload)\n\n switch (response.status) {\n case 201: // Created\n setSession((response as SessionResponse).data.token)\n if (callbacks.onSuccess) return callbacks.onSuccess()\n break\n\n case 202: // Accepted\n if (callbacks.onChallenged) return callbacks.onChallenged()\n break\n\n case 422: // Unprocessable Content\n if (callbacks.onError) return callbacks.onError((response as UnprocessableResponse).data)\n break\n\n default:\n throw new Error(`AuthAPI.identify: Unexpected response status ${response.status}`)\n }\n },\n [auth, setSession]\n )\n\n return identifySession\n}\n\nexport default useIdentifySession\n","import { useCallback } from 'react'\n\nimport type {\n AuthAPI,\n PasscodePayload,\n SessionResponse,\n UnprocessableData,\n UnprocessableResponse,\n} from '@quiltt/core'\n\nimport type { SetSession } from '../'\n\ntype AuthenticateSessionCallbacks = {\n onSuccess?: () => unknown\n onFailure?: () => unknown\n onError?: (errors: UnprocessableData) => unknown\n}\nexport type AuthenticateSession = (\n payload: PasscodePayload,\n callbacks: AuthenticateSessionCallbacks\n) => Promise<unknown>\n\ntype UseAuthenticateSession = (auth: AuthAPI, setSession: SetSession) => AuthenticateSession\n\nexport const useAuthenticateSession: UseAuthenticateSession = (auth, setSession) => {\n const authenticateSession: AuthenticateSession = useCallback(\n async (payload, callbacks) => {\n const response = await auth.authenticate(payload)\n\n switch (response.status) {\n case 201:\n setSession((response as SessionResponse).data.token)\n if (callbacks.onSuccess) return callbacks.onSuccess()\n break\n\n case 401:\n if (callbacks.onFailure) return callbacks.onFailure()\n break\n\n case 422:\n if (callbacks.onError) return callbacks.onError((response as UnprocessableResponse).data)\n break\n\n default:\n throw new Error(`AuthAPI.authenticate: Unexpected response status ${response.status}`)\n }\n },\n [auth, setSession]\n )\n\n return authenticateSession\n}\n\nexport default useAuthenticateSession\n","import { useCallback } from 'react'\n\nimport type { AuthAPI, Maybe, QuilttJWT } from '@quiltt/core'\nimport { JsonWebTokenParse, PrivateClaims } from '@quiltt/core'\n\nimport type { SetSession } from '../useSession'\n\nexport type ImportSession = (token: string) => Promise<boolean>\n\ntype UseImportSession = (\n auth: AuthAPI,\n session: Maybe<QuilttJWT> | undefined,\n setSession: SetSession,\n environmentId?: string\n) => ImportSession\n\n/**\n * Optionally Accepts environmentId to validate session is from with your desired environment\n */\nexport const useImportSession: UseImportSession = (auth, session, setSession, environmentId) => {\n const importSession = useCallback<ImportSession>(\n async (token) => {\n // Is there a token?\n if (!token) return !!session\n\n // Is this token already imported?\n if (session && session.token == token) return true\n\n const jwt = JsonWebTokenParse<PrivateClaims>(token)\n\n // Is this token a valid JWT?\n if (!jwt) return false\n\n // Is this token within the expected environment?\n if (environmentId && jwt.claims.eid !== environmentId) return false\n\n // Is this token active?\n const response = await auth.ping(token)\n switch (response.status) {\n case 200:\n setSession(token)\n return true\n break\n\n case 401:\n return false\n break\n\n default:\n throw new Error(`AuthAPI.ping: Unexpected response status ${response.status}`)\n }\n },\n [auth, session, setSession, environmentId]\n )\n\n return importSession\n}\n\nexport default useImportSession\n","import { useCallback } from 'react'\n\nimport type { AuthAPI, Maybe, QuilttJWT } from '@quiltt/core'\n\nimport type { SetSession } from '../useSession'\n\nexport type RevokeSession = () => Promise<void>\n\ntype UseRevokeSession = (\n auth: AuthAPI,\n session: Maybe<QuilttJWT> | undefined,\n setSession: SetSession\n) => RevokeSession\n\nexport const useRevokeSession: UseRevokeSession = (auth, session, setSession) => {\n const revokeSession = useCallback<RevokeSession>(async () => {\n if (!session) return\n\n await auth.revoke(session.token)\n\n setSession(null)\n }, [auth, session, setSession])\n\n return revokeSession\n}\n\nexport default useRevokeSession\n","import { useCallback } from 'react'\n\nimport { useSession } from './useSession'\n\nimport { AuthAPI, Maybe, QuilttJWT } from '@quiltt/core'\n\nimport {\n AuthenticateSession,\n IdentifySession,\n ImportSession,\n RevokeSession,\n useAuthenticateSession,\n useIdentifySession,\n useImportSession,\n useRevokeSession,\n} from './session'\nimport { useQuilttSettings } from './useQuilttSettings'\n\nexport type UseQuilttSession = (environmentId?: string) => {\n session: Maybe<QuilttJWT> | undefined\n importSession: ImportSession\n identifySession: IdentifySession\n authenticateSession: AuthenticateSession\n revokeSession: RevokeSession\n forgetSession: (token?: string) => Promise<void>\n}\n\nexport const useQuilttSession: UseQuilttSession = (environmentId) => {\n const { clientId } = useQuilttSettings()\n const [session, setSession] = useSession()\n\n const auth = new AuthAPI(clientId)\n const importSession = useImportSession(auth, session, setSession, environmentId)\n const identifySession = useIdentifySession(auth, setSession)\n const authenticateSession = useAuthenticateSession(auth, setSession)\n const revokeSession = useRevokeSession(auth, session, setSession)\n\n /**\n * Forget current session.\n * @param token specific token to forget, to help guard against async processes clearing the wrong session\n */\n const forgetSession = useCallback(\n async (token?: string) => {\n if (!token || (session && token && token == session.token)) {\n setSession(null)\n }\n },\n [session, setSession]\n )\n\n return {\n session,\n importSession,\n identifySession,\n authenticateSession,\n revokeSession,\n forgetSession,\n }\n}\n\nexport default useQuilttSession\n","'use client'\n\nimport { Dispatch, SetStateAction, useMemo } from 'react'\nimport { useEffect, useCallback } from 'react'\n\nimport type { Maybe, PrivateClaims, QuilttJWT } from '@quiltt/core'\nimport { JsonWebTokenParse, Timeoutable } from '@quiltt/core'\n\nimport { useStorage } from './useStorage'\n\nexport type SetSession = Dispatch<SetStateAction<Maybe<string> | undefined>>\n\nconst parse = JsonWebTokenParse<PrivateClaims>\n\n/**\n * Singleton timeout, allows hooks to come and go, while ensuring that there is\n * one notification being sent, preventing race conditions.\n */\nconst sessionTimer = new Timeoutable()\n\n/**\n * useSession uses useStorage to support a global singleton style of access. When\n * updated, all components, and windows should also invalidate.\n *\n * TODO: Support Rotation before Expiry\n *\n * Dataflow can come from two directions:\n * 1. Login - Bottom Up\n * This happens on login, when a token is passed up through the setSession\n * callback. From here it needs to be stored, and shared for usage.\n * 2. Refresh - Top Down\n * This happens when a page is reloaded or a person returns, and everything is\n * reinitialized.\n */\nexport const useSession = (storageKey = 'session'): [Maybe<QuilttJWT> | undefined, SetSession] => {\n const [token, setToken] = useStorage<string>(storageKey)\n const session = useMemo(() => parse(token), [token])\n\n // Clear session if/when it expires\n useEffect(() => {\n if (!session) return\n\n const expirationMS = session.claims.exp * 1000\n const expire = () => setToken(null)\n\n if (Date.now() >= expirationMS) {\n expire()\n } else {\n sessionTimer.set(expire, expirationMS - Date.now())\n return () => sessionTimer.clear(expire)\n }\n }, [session, setToken])\n\n // Bubbles up from Login\n const setSession = useCallback(\n (nextState: Maybe<string> | SetStateAction<Maybe<string> | undefined> | undefined) => {\n const newState = nextState instanceof Function ? nextState(token) : nextState\n\n if (token !== newState && (!newState || parse(newState))) {\n setToken(newState)\n }\n },\n [token, setToken]\n )\n\n return [session, setSession]\n}\n\nexport default useSession\n","'use client'\n\nimport type { Dispatch, SetStateAction } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport type { Maybe } from '@quiltt/core'\nimport { GlobalStorage } from '@quiltt/core'\n\n/**\n * Attempt to persist state with local storage, so it remains after refresh and\n * across open documents. Falls back to in memory storage when localStorage is\n * unavailable.\n *\n * This hook is used in the same way as useState except that you must pass the\n * storage key in the 1st parameter. If the window object is not present (as in SSR),\n * useStorage() will return the default nextState.\n *\n * Expect values to remain in sync\n * Across Hooks\n * Across Reloads\n * Across Windows (Documents)\n *\n * @param key\n * @param initialState\n * @returns {Array} [storage, setStorage]\n */\nexport const useStorage = <T>(\n key: string,\n initialState?: Maybe<T>\n): [Maybe<T> | undefined, Dispatch<SetStateAction<Maybe<T> | undefined>>] => {\n const getStorage = useCallback(() => {\n let state\n\n if ((state = GlobalStorage.get(key)) !== undefined) {\n return state\n }\n\n return initialState\n }, [key, initialState])\n\n const [hookState, setHookState] = useState<Maybe<T> | undefined>(getStorage())\n\n const setStorage = useCallback(\n (nextState: Maybe<T> | SetStateAction<Maybe<T> | undefined>) => {\n const newState = nextState instanceof Function ? nextState(hookState) : nextState\n\n if (hookState !== newState) {\n GlobalStorage.set(key, newState)\n }\n },\n [key, hookState]\n )\n\n /**\n * The empty dependency array ensures that the effect runs only once when the component mounts\n * and doesn't re-run unnecessarily on subsequent renders because it doesn't depend on any\n * props or state variables that could change during the component's lifetime.\n *\n * Use an empty dependency array to avoid unnecessary re-renders.\n */\n useEffect(() => {\n GlobalStorage.subscribe(key, setHookState)\n\n setHookState(getStorage())\n\n return () => GlobalStorage.unsubscribe(key, setHookState)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return [hookState, setStorage]\n}\n\nexport default useStorage\n","'use client'\n\nimport { createContext, useContext } from 'react'\n\ntype QuilttSettingsContext = {\n clientId?: string | undefined\n}\n\nexport const QuilttSettings = createContext<QuilttSettingsContext>({})\n\nexport const useQuilttSettings = () => {\n const settings = useContext(QuilttSettings)\n\n return { ...settings }\n}\n\nexport default useQuilttSettings\n","'use client'\n\nimport type { FC, PropsWithChildren } from 'react'\nimport { useState } from 'react'\n\nimport { QuilttSettings } from '../hooks'\n\ntype QuilttSettingsProviderProps = PropsWithChildren & {\n clientId?: string\n}\n\nexport const QuilttSettingsProvider: FC<QuilttSettingsProviderProps> = ({ clientId, children }) => {\n const [_clientId] = useState(clientId)\n\n return (\n <QuilttSettings.Provider value={{ clientId: _clientId }}>{children}</QuilttSettings.Provider>\n )\n}\n\nexport default QuilttSettingsProvider\n","import type { FC, PropsWithChildren } from 'react'\n\nimport { QuilttAuthProvider } from './QuilttAuthProvider'\nimport { QuilttSettingsProvider } from './QuilttSettingsProvider'\n\ntype QuilttProviderProps = PropsWithChildren & {\n clientId?: string\n token?: string\n}\n\nexport const QuilttProvider: FC<QuilttProviderProps> = ({ clientId, token, children }) => {\n return (\n <QuilttSettingsProvider clientId={clientId}>\n <QuilttAuthProvider token={token}>{children}</QuilttAuthProvider>\n </QuilttSettingsProvider>\n )\n}\n\nexport default QuilttProvider\n"],"mappings":"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","names":["providers_exports","__export","QuilttAuthProvider","QuilttProvider","QuilttSettingsProvider","__toCommonJS","import_react","extendStatics","d","b","p","__extends","__","genericMessage","_a","setPrototypeOf","obj","proto","InvariantError","_super","__extends","message","_this","invariant","condition","message","InvariantError","verbosityLevels","verbosityLevel","wrapConsoleMethod","name","method","maybe","thunk","_a","global_default","maybe","__","GLOBAL_KEY","getDEV","_a","global_default","maybe","DEV_default","maybe","thunk","_","safeGlobal","needToRemove","install","remove","devAssert","condition","message","inspect","value","formatValue","seenValues","formatObjectValue","previouslySeenValues","isJSONable","jsonValue","formatArray","formatObject","object","entries","getObjectTag","key","array","len","remaining","items","tag","name","Source","body","name","locationOffset","devAssert","inspect","removeTemporaryGlobals","Source","remove","checkDEV","invariant","DEV_default","removeTemporaryGlobals","checkDEV","canUseWeakMap","maybe","canUseSymbol","canUseDOM","maybe","usingJSDOM","React","contextKey","canUseSymbol","getApolloContext","context","React","ApolloProvider","_a","client","children","ApolloContext","getApolloContext","context","invariant","import_core","import_react","useIdentifySession","auth","setSession","payload","callbacks","__async","response","import_react","useAuthenticateSession","auth","setSession","payload","callbacks","__async","response","import_react","import_core","useImportSession","auth","session","setSession","environmentId","token","__async","jwt","response","import_react","useRevokeSession","auth","session","setSession","__async","import_react","import_react","import_core","import_react","import_core","useStorage","key","initialState","getStorage","state","hookState","setHookState","setStorage","nextState","newState","parse","sessionTimer","useSession","storageKey","token","setToken","useStorage","session","expirationMS","expire","setSession","nextState","newState","import_core","import_react","QuilttSettings","useQuilttSettings","settings","__spreadValues","useQuilttSession","environmentId","clientId","useQuilttSettings","session","setSession","useSession","auth","importSession","useImportSession","identifySession","useIdentifySession","authenticateSession","useAuthenticateSession","revokeSession","useRevokeSession","forgetSession","token","__async","import_jsx_runtime","GraphQLClient","QuilttAuthProvider","token","children","session","importSession","useQuilttSession","ApolloProvider","import_react","import_jsx_runtime","QuilttSettingsProvider","clientId","children","_clientId","QuilttSettings","import_jsx_runtime","QuilttProvider","clientId","token","children","QuilttSettingsProvider","QuilttAuthProvider"]}
1
+ {"version":3,"sources":["../../src/providers/index.ts","../../src/providers/QuilttAuthProvider.tsx","../../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.es6.mjs","../../../../node_modules/.pnpm/ts-invariant@0.10.3/node_modules/ts-invariant/src/invariant.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/maybe.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/global.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/DEV.ts","../../../../node_modules/.pnpm/ts-invariant@0.10.3/node_modules/ts-invariant/process/index.js","../../../../node_modules/.pnpm/graphql@16.8.1/node_modules/graphql/jsutils/devAssert.mjs","../../../../node_modules/.pnpm/graphql@16.8.1/node_modules/graphql/jsutils/inspect.mjs","../../../../node_modules/.pnpm/graphql@16.8.1/node_modules/graphql/language/source.mjs","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/fix-graphql.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/globals/index.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/utilities/common/canUse.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/react/context/ApolloContext.ts","../../../../node_modules/.pnpm/@apollo+client@3.7.16_graphql@16.8.1_react-dom@18.2.0_react@18.2.0/node_modules/@apollo/src/react/context/ApolloProvider.tsx","../../src/hooks/session/useIdentifySession.ts","../../src/hooks/session/useAuthenticateSession.ts","../../src/hooks/session/useImportSession.ts","../../src/hooks/session/useRevokeSession.ts","../../src/hooks/useQuilttSession.ts","../../src/hooks/useSession.ts","../../src/hooks/useStorage.ts","../../src/hooks/useQuilttSettings.ts","../../src/providers/QuilttSettingsProvider.tsx","../../src/providers/QuilttProvider.tsx"],"sourcesContent":["export * from './QuilttAuthProvider'\nexport * from './QuilttProvider'\nexport * from './QuilttSettingsProvider'\n","'use client'\n\nimport type { FC, PropsWithChildren } from 'react'\nimport { useEffect } from 'react'\n\nimport { ApolloProvider } from '@apollo/client'\nimport { InMemoryCache, QuilttClient } from '@quiltt/core'\nimport { useQuilttSession } from '../hooks'\n\ntype QuilttAuthProviderProps = PropsWithChildren & {\n token?: string\n}\n\nconst GraphQLClient = new QuilttClient({\n cache: new InMemoryCache(),\n})\n\n/**\n * If a token is provided, will validate the token against the api and then import\n * it into trusted storage. While this process is happening, the component is put\n * into a loading state and the children are not rendered to prevent race conditions\n * from triggering within the transitionary state.\n *\n */\nexport const QuilttAuthProvider: FC<QuilttAuthProviderProps> = ({ token, children }) => {\n const { session, importSession } = useQuilttSession()\n\n // Import passed in token\n useEffect(() => {\n if (token) importSession(token)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [token])\n\n // Reset Client Store when logging in or out\n useEffect(() => {\n GraphQLClient.resetStore()\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [session])\n\n return <ApolloProvider client={GraphQLClient}>{children}</ApolloProvider>\n}\n\nexport default QuilttAuthProvider\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\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;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\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); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\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);\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); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\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\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\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\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\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 = [\"debug\", \"log\", \"warn\", \"error\", \"silent\"] as const;\nexport type VerbosityLevel = (typeof verbosityLevels)[number];\nexport type ConsoleMethodName = Exclude<VerbosityLevel, \"silent\">;\nlet verbosityLevel = verbosityLevels.indexOf(\"log\");\n\nfunction wrapConsoleMethod<M extends ConsoleMethodName>(name: M) {\n return function () {\n if (verbosityLevels.indexOf(name) >= verbosityLevel) {\n // Default to console.log if this host environment happens not to provide\n // all the console.* methods we need.\n const method = console[name] || console.log;\n return method.apply(console, arguments as any);\n }\n } as (typeof console)[M];\n}\n\nexport namespace invariant {\n export const debug = wrapConsoleMethod(\"debug\");\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\nexport default invariant;\n","export function maybe<T>(thunk: () => T): T | undefined {\n try { return thunk() } catch {}\n}\n","import { maybe } from \"./maybe\";\n\ndeclare global {\n // Despite our attempts to reuse the React Native __DEV__ constant instead of\n // inventing something new and Apollo-specific, declaring a useful type for\n // __DEV__ unfortunately conflicts (TS2451) with the global declaration in\n // @types/react-native/index.d.ts.\n //\n // To hide that harmless conflict, we @ts-ignore this line, which should\n // continue to provide a type for __DEV__ elsewhere in the Apollo Client\n // codebase, even when @types/react-native is not in use.\n //\n // However, because TypeScript drops @ts-ignore comments when generating .d.ts\n // files (https://github.com/microsoft/TypeScript/issues/38628), we also\n // sanitize the dist/utilities/globals/global.d.ts file to avoid declaring\n // __DEV__ globally altogether when @apollo/client is installed in the\n // node_modules directory of an application.\n //\n // @ts-ignore\n const __DEV__: boolean | undefined;\n}\n\nexport default (\n maybe(() => globalThis) ||\n maybe(() => window) ||\n maybe(() => self) ||\n maybe(() => global) ||\n // We don't expect the Function constructor ever to be invoked at runtime, as\n // long as at least one of globalThis, window, self, or global is defined, so\n // we are under no obligation to make it easy for static analysis tools to\n // detect syntactic usage of the Function constructor. If you think you can\n // improve your static analysis to detect this obfuscation, think again. This\n // is an arms race you cannot win, at least not in JavaScript.\n maybe(function() { return maybe.constructor(\"return this\")() })\n) as typeof globalThis & {\n __DEV__: typeof __DEV__;\n};\n","import global from \"./global\";\nimport { maybe } from \"./maybe\";\n\n// To keep string-based find/replace minifiers from messing with __DEV__ inside\n// string literals or properties like global.__DEV__, we construct the \"__DEV__\"\n// string in a roundabout way that won't be altered by find/replace strategies.\nconst __ = \"__\";\nconst GLOBAL_KEY = [__, __].join(\"DEV\");\n\nfunction getDEV() {\n try {\n return Boolean(__DEV__);\n } catch {\n Object.defineProperty(global, GLOBAL_KEY, {\n // In a buildless browser environment, maybe(() => process.env.NODE_ENV)\n // evaluates as undefined, so __DEV__ becomes true by default, but can be\n // initialized to false instead by a script/module that runs earlier.\n value: maybe(() => process.env.NODE_ENV) !== \"production\",\n enumerable: false,\n configurable: true,\n writable: true,\n });\n // Using computed property access rather than global.__DEV__ here prevents\n // string-based find/replace strategies from munging this to global.false:\n return (global as any)[GLOBAL_KEY];\n }\n}\n\nexport default getDEV();\n","function maybe(thunk) {\n try { return thunk() } catch (_) {}\n}\n\nvar safeGlobal = (\n maybe(function() { return globalThis }) ||\n maybe(function() { return window }) ||\n maybe(function() { return self }) ||\n maybe(function() { return global }) ||\n // We don't expect the Function constructor ever to be invoked at runtime, as\n // long as at least one of globalThis, window, self, or global is defined, so\n // we are under no obligation to make it easy for static analysis tools to\n // detect syntactic usage of the Function constructor. If you think you can\n // improve your static analysis to detect this obfuscation, think again. This\n // is an arms race you cannot win, at least not in JavaScript.\n maybe(function() { return maybe.constructor(\"return this\")() })\n);\n\nvar needToRemove = false;\n\nexport function install() {\n if (safeGlobal &&\n !maybe(function() { return process.env.NODE_ENV }) &&\n !maybe(function() { return process })) {\n Object.defineProperty(safeGlobal, \"process\", {\n value: {\n env: {\n // This default needs to be \"production\" instead of \"development\", to\n // avoid the problem https://github.com/graphql/graphql-js/pull/2894\n // will eventually solve, once merged and released.\n NODE_ENV: \"production\",\n },\n },\n // Let anyone else change global.process as they see fit, but hide it from\n // Object.keys(global) enumeration.\n configurable: true,\n enumerable: false,\n writable: true,\n });\n needToRemove = true;\n }\n}\n\n// Call install() at least once, when this module is imported.\ninstall();\n\nexport function remove() {\n if (needToRemove) {\n delete safeGlobal.process;\n needToRemove = false;\n }\n}\n","export function devAssert(condition, message) {\n const booleanCondition = Boolean(condition);\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","const MAX_ARRAY_LENGTH = 10;\nconst MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport 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 ${value.name}]` : '[function]';\n\n case 'object':\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (value === null) {\n return 'null';\n }\n\n if (previouslySeenValues.includes(value)) {\n return '[Circular]';\n }\n\n const seenValues = [...previouslySeenValues, value];\n\n if (isJSONable(value)) {\n const jsonValue = value.toJSON(); // check for infinite recursion\n\n if (jsonValue !== value) {\n return typeof jsonValue === 'string'\n ? jsonValue\n : formatValue(jsonValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction isJSONable(value) {\n return typeof value.toJSON === 'function';\n}\n\nfunction formatObject(object, seenValues) {\n const entries = Object.entries(object);\n\n if (entries.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n const properties = entries.map(\n ([key, value]) => key + ': ' + formatValue(value, seenValues),\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 const len = Math.min(MAX_ARRAY_LENGTH, array.length);\n const remaining = array.length - len;\n const items = [];\n\n for (let 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(`... ${remaining} more items`);\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getObjectTag(object) {\n const tag = Object.prototype.toString\n .call(object)\n .replace(/^\\[object /, '')\n .replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n const name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","import { devAssert } from '../jsutils/devAssert.mjs';\nimport { inspect } from '../jsutils/inspect.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 class Source {\n constructor(\n body,\n name = 'GraphQL request',\n locationOffset = {\n line: 1,\n column: 1,\n },\n ) {\n typeof body === 'string' ||\n devAssert(false, `Body must be a string. Received: ${inspect(body)}.`);\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 ||\n devAssert(\n false,\n 'line in locationOffset is 1-indexed and must be positive.',\n );\n this.locationOffset.column > 0 ||\n devAssert(\n false,\n 'column in locationOffset is 1-indexed and must be positive.',\n );\n }\n\n get [Symbol.toStringTag]() {\n return 'Source';\n }\n}\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","// The ordering of these imports is important, because it ensures the temporary\n// process.env.NODE_ENV polyfill is defined globally (if necessary) before we\n// import { Source } from 'graphql'. The instanceOf function that we really care\n// about (the one that uses process.env.NODE_ENV) is not exported from the\n// top-level graphql package, but graphql/language/source uses instanceOf, and\n// has relatively few dependencies, so importing it here should not increase\n// bundle sizes as much as other options.\nimport { remove } from 'ts-invariant/process';\nimport { Source } from 'graphql';\n\nexport function removeTemporaryGlobals() {\n // Using Source here here just to make sure it won't be tree-shaken away.\n return typeof Source === \"function\" ? remove() : remove();\n}\n","import { invariant, InvariantError } from \"ts-invariant\";\n\n// Just in case the graphql package switches from process.env.NODE_ENV to\n// __DEV__, make sure __DEV__ is polyfilled before importing graphql.\nimport DEV from \"./DEV\";\nexport { DEV }\nexport function checkDEV() {\n invariant(\"boolean\" === typeof DEV, DEV);\n}\n\n// Import graphql/jsutils/instanceOf safely, working around its unchecked usage\n// of process.env.NODE_ENV and https://github.com/graphql/graphql-js/pull/2894.\nimport { removeTemporaryGlobals } from \"./fix-graphql\";\n\n// Synchronously undo the global process.env.NODE_ENV polyfill that we created\n// temporarily while importing the offending graphql/jsutils/instanceOf module.\nremoveTemporaryGlobals();\n\nexport { maybe } from \"./maybe\";\nexport { default as global } from \"./global\";\nexport { invariant, InvariantError }\n\n// Ensure __DEV__ was properly initialized, and prevent tree-shaking bundlers\n// from mistakenly pruning the ./DEV module (see issue #8674).\ncheckDEV();\n","import { maybe } from \"../globals\";\n\nexport const canUseWeakMap =\n typeof WeakMap === 'function' &&\n maybe(() => navigator.product) !== 'ReactNative';\n\nexport const canUseWeakSet = typeof WeakSet === 'function';\n\nexport const canUseSymbol =\n typeof Symbol === 'function' &&\n typeof Symbol.for === 'function';\n\nexport const canUseAsyncIteratorSymbol = canUseSymbol && Symbol.asyncIterator;\n\nexport const canUseDOM =\n typeof maybe(() => window.document.createElement) === \"function\";\n\nconst usingJSDOM: boolean =\n // Following advice found in this comment from @domenic (maintainer of jsdom):\n // https://github.com/jsdom/jsdom/issues/1537#issuecomment-229405327\n //\n // Since we control the version of Jest and jsdom used when running Apollo\n // Client tests, and that version is recent enought to include \" jsdom/x.y.z\"\n // at the end of the user agent string, I believe this case is all we need to\n // check. Testing for \"Node.js\" was recommended for backwards compatibility\n // with older version of jsdom, but we don't have that problem.\n maybe(() => navigator.userAgent.indexOf(\"jsdom\") >= 0) || false;\n\n// Our tests should all continue to pass if we remove this !usingJSDOM\n// condition, thereby allowing useLayoutEffect when using jsdom. Unfortunately,\n// if we allow useLayoutEffect, then useSyncExternalStore generates many\n// warnings about useLayoutEffect doing nothing on the server. While these\n// warnings are harmless, this !usingJSDOM condition seems to be the best way to\n// prevent them (i.e. skipping useLayoutEffect when using jsdom).\nexport const canUseLayoutEffect = canUseDOM && !usingJSDOM;\n","import * as React from 'react';\nimport { ApolloClient } from '../../core';\nimport { canUseSymbol } from '../../utilities';\nimport type { RenderPromises } from '../ssr';\n\nexport interface ApolloContextValue {\n client?: ApolloClient<object>;\n renderPromises?: RenderPromises;\n}\n\n// To make sure Apollo Client doesn't create more than one React context\n// (which can lead to problems like having an Apollo Client instance added\n// in one context, then attempting to retrieve it from another different\n// context), a single Apollo context is created and tracked in global state.\nconst contextKey = canUseSymbol\n ? Symbol.for('__APOLLO_CONTEXT__')\n : '__APOLLO_CONTEXT__';\n\nexport function getApolloContext(): React.Context<ApolloContextValue> {\n let context = (React.createContext as any)[contextKey] as React.Context<ApolloContextValue>;\n if (!context) {\n Object.defineProperty(React.createContext, contextKey, {\n value: context = React.createContext<ApolloContextValue>({}),\n enumerable: false,\n writable: false,\n configurable: true,\n });\n context.displayName = 'ApolloContext';\n }\n return context;\n}\n\nexport { getApolloContext as resetApolloContext }\n","import { invariant } from '../../utilities/globals';\n\nimport * as React from 'react';\n\nimport { ApolloClient } from '../../core';\nimport { getApolloContext } from './ApolloContext';\n\nexport interface ApolloProviderProps<TCache> {\n client: ApolloClient<TCache>;\n children: React.ReactNode | React.ReactNode[] | null;\n}\n\nexport const ApolloProvider: React.FC<ApolloProviderProps<any>> = ({\n client,\n children\n}) => {\n const ApolloContext = getApolloContext();\n return (\n <ApolloContext.Consumer>\n {(context: any = {}) => {\n if (client && context.client !== client) {\n context = Object.assign({}, context, { client });\n }\n\n invariant(\n context.client,\n 'ApolloProvider was not passed a client instance. Make ' +\n 'sure you pass in your client via the \"client\" prop.'\n );\n\n return (\n <ApolloContext.Provider value={context}>\n {children}\n </ApolloContext.Provider>\n );\n }}\n </ApolloContext.Consumer>\n );\n};\n","import { useCallback } from 'react'\n\nimport type {\n AuthAPI,\n SessionResponse,\n UnprocessableData,\n UnprocessableResponse,\n UsernamePayload,\n} from '@quiltt/core'\n\nimport type { SetSession } from '../useSession'\n\ntype IdentifySessionCallbacks = {\n onSuccess?: () => unknown\n onChallenged?: () => unknown\n onError?: (errors: UnprocessableData) => unknown\n}\nexport type IdentifySession = (\n payload: UsernamePayload,\n callbacks: IdentifySessionCallbacks\n) => Promise<unknown>\n\ntype UseIdentifySession = (auth: AuthAPI, setSession: SetSession) => IdentifySession\n\nexport const useIdentifySession: UseIdentifySession = (auth, setSession) => {\n const identifySession = useCallback<IdentifySession>(\n async (payload, callbacks) => {\n const response = await auth.identify(payload)\n\n switch (response.status) {\n case 201: // Created\n setSession((response as SessionResponse).data.token)\n if (callbacks.onSuccess) return callbacks.onSuccess()\n break\n\n case 202: // Accepted\n if (callbacks.onChallenged) return callbacks.onChallenged()\n break\n\n case 422: // Unprocessable Content\n if (callbacks.onError) return callbacks.onError((response as UnprocessableResponse).data)\n break\n\n default:\n throw new Error(`AuthAPI.identify: Unexpected response status ${response.status}`)\n }\n },\n [auth, setSession]\n )\n\n return identifySession\n}\n\nexport default useIdentifySession\n","import { useCallback } from 'react'\n\nimport type {\n AuthAPI,\n PasscodePayload,\n SessionResponse,\n UnprocessableData,\n UnprocessableResponse,\n} from '@quiltt/core'\n\nimport type { SetSession } from '..'\n\ntype AuthenticateSessionCallbacks = {\n onSuccess?: () => unknown\n onFailure?: () => unknown\n onError?: (errors: UnprocessableData) => unknown\n}\nexport type AuthenticateSession = (\n payload: PasscodePayload,\n callbacks: AuthenticateSessionCallbacks\n) => Promise<unknown>\n\ntype UseAuthenticateSession = (auth: AuthAPI, setSession: SetSession) => AuthenticateSession\n\nexport const useAuthenticateSession: UseAuthenticateSession = (auth, setSession) => {\n const authenticateSession: AuthenticateSession = useCallback(\n async (payload, callbacks) => {\n const response = await auth.authenticate(payload)\n\n switch (response.status) {\n case 201:\n setSession((response as SessionResponse).data.token)\n if (callbacks.onSuccess) return callbacks.onSuccess()\n break\n\n case 401:\n if (callbacks.onFailure) return callbacks.onFailure()\n break\n\n case 422:\n if (callbacks.onError) return callbacks.onError((response as UnprocessableResponse).data)\n break\n\n default:\n throw new Error(`AuthAPI.authenticate: Unexpected response status ${response.status}`)\n }\n },\n [auth, setSession]\n )\n\n return authenticateSession\n}\n\nexport default useAuthenticateSession\n","import { useCallback } from 'react'\n\nimport type { AuthAPI, Maybe, QuilttJWT } from '@quiltt/core'\nimport { JsonWebTokenParse, PrivateClaims } from '@quiltt/core'\n\nimport type { SetSession } from '../useSession'\n\nexport type ImportSession = (token: string) => Promise<boolean>\n\ntype UseImportSession = (\n auth: AuthAPI,\n session: Maybe<QuilttJWT> | undefined,\n setSession: SetSession,\n environmentId?: string\n) => ImportSession\n\n/**\n * Optionally Accepts environmentId to validate session is from with your desired environment\n */\nexport const useImportSession: UseImportSession = (auth, session, setSession, environmentId) => {\n const importSession = useCallback<ImportSession>(\n async (token) => {\n // Is there a token?\n if (!token) return !!session\n\n // Is this token already imported?\n if (session && session.token == token) return true\n\n const jwt = JsonWebTokenParse<PrivateClaims>(token)\n\n // Is this token a valid JWT?\n if (!jwt) return false\n\n // Is this token within the expected environment?\n if (environmentId && jwt.claims.eid !== environmentId) return false\n\n // Is this token active?\n const response = await auth.ping(token)\n switch (response.status) {\n case 200:\n setSession(token)\n return true\n break\n\n case 401:\n return false\n break\n\n default:\n throw new Error(`AuthAPI.ping: Unexpected response status ${response.status}`)\n }\n },\n [auth, session, setSession, environmentId]\n )\n\n return importSession\n}\n\nexport default useImportSession\n","import { useCallback } from 'react'\n\nimport type { AuthAPI, Maybe, QuilttJWT } from '@quiltt/core'\n\nimport type { SetSession } from '../useSession'\n\nexport type RevokeSession = () => Promise<void>\n\ntype UseRevokeSession = (\n auth: AuthAPI,\n session: Maybe<QuilttJWT> | undefined,\n setSession: SetSession\n) => RevokeSession\n\nexport const useRevokeSession: UseRevokeSession = (auth, session, setSession) => {\n const revokeSession = useCallback<RevokeSession>(async () => {\n if (!session) return\n\n await auth.revoke(session.token)\n\n setSession(null)\n }, [auth, session, setSession])\n\n return revokeSession\n}\n\nexport default useRevokeSession\n","import { useCallback } from 'react'\n\nimport { useSession } from './useSession'\n\nimport { AuthAPI, Maybe, QuilttJWT } from '@quiltt/core'\n\nimport {\n AuthenticateSession,\n IdentifySession,\n ImportSession,\n RevokeSession,\n useAuthenticateSession,\n useIdentifySession,\n useImportSession,\n useRevokeSession,\n} from './session'\nimport { useQuilttSettings } from './useQuilttSettings'\n\nexport type UseQuilttSession = (environmentId?: string) => {\n session: Maybe<QuilttJWT> | undefined\n importSession: ImportSession\n identifySession: IdentifySession\n authenticateSession: AuthenticateSession\n revokeSession: RevokeSession\n forgetSession: (token?: string) => Promise<void>\n}\n\nexport const useQuilttSession: UseQuilttSession = (environmentId) => {\n const { clientId } = useQuilttSettings()\n const [session, setSession] = useSession()\n\n const auth = new AuthAPI(clientId)\n const importSession = useImportSession(auth, session, setSession, environmentId)\n const identifySession = useIdentifySession(auth, setSession)\n const authenticateSession = useAuthenticateSession(auth, setSession)\n const revokeSession = useRevokeSession(auth, session, setSession)\n\n /**\n * Forget current session.\n * @param token specific token to forget, to help guard against async processes clearing the wrong session\n */\n const forgetSession = useCallback(\n async (token?: string) => {\n if (!token || (session && token && token == session.token)) {\n setSession(null)\n }\n },\n [session, setSession]\n )\n\n return {\n session,\n importSession,\n identifySession,\n authenticateSession,\n revokeSession,\n forgetSession,\n }\n}\n\nexport default useQuilttSession\n","'use client'\n\nimport { Dispatch, SetStateAction, useMemo } from 'react'\nimport { useEffect, useCallback } from 'react'\n\nimport type { Maybe, PrivateClaims, QuilttJWT } from '@quiltt/core'\nimport { JsonWebTokenParse, Timeoutable } from '@quiltt/core'\n\nimport { useStorage } from './useStorage'\n\nexport type SetSession = Dispatch<SetStateAction<Maybe<string> | undefined>>\n\nconst parse = JsonWebTokenParse<PrivateClaims>\n\n/**\n * Singleton timeout, allows hooks to come and go, while ensuring that there is\n * one notification being sent, preventing race conditions.\n */\nconst sessionTimer = new Timeoutable()\n\n/**\n * useSession uses useStorage to support a global singleton style of access. When\n * updated, all components, and windows should also invalidate.\n *\n * TODO: Support Rotation before Expiry\n *\n * Dataflow can come from two directions:\n * 1. Login - Bottom Up\n * This happens on login, when a token is passed up through the setSession\n * callback. From here it needs to be stored, and shared for usage.\n * 2. Refresh - Top Down\n * This happens when a page is reloaded or a person returns, and everything is\n * reinitialized.\n */\nexport const useSession = (storageKey = 'session'): [Maybe<QuilttJWT> | undefined, SetSession] => {\n const [token, setToken] = useStorage<string>(storageKey)\n const session = useMemo(() => parse(token), [token])\n\n // Clear session if/when it expires\n useEffect(() => {\n if (!session) return\n\n const expirationMS = session.claims.exp * 1000\n const expire = () => setToken(null)\n\n if (Date.now() >= expirationMS) {\n expire()\n } else {\n sessionTimer.set(expire, expirationMS - Date.now())\n return () => sessionTimer.clear(expire)\n }\n }, [session, setToken])\n\n // Bubbles up from Login\n const setSession = useCallback(\n (nextState: Maybe<string> | SetStateAction<Maybe<string> | undefined> | undefined) => {\n const newState = nextState instanceof Function ? nextState(token) : nextState\n\n if (token !== newState && (!newState || parse(newState))) {\n setToken(newState)\n }\n },\n [token, setToken]\n )\n\n return [session, setSession]\n}\n\nexport default useSession\n","'use client'\n\nimport type { Dispatch, SetStateAction } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\n\nimport type { Maybe } from '@quiltt/core'\nimport { GlobalStorage } from '@quiltt/core'\n\n/**\n * Attempt to persist state with local storage, so it remains after refresh and\n * across open documents. Falls back to in memory storage when localStorage is\n * unavailable.\n *\n * This hook is used in the same way as useState except that you must pass the\n * storage key in the 1st parameter. If the window object is not present (as in SSR),\n * useStorage() will return the default nextState.\n *\n * Expect values to remain in sync\n * Across Hooks\n * Across Reloads\n * Across Windows (Documents)\n *\n * @param key\n * @param initialState\n * @returns {Array} [storage, setStorage]\n */\nexport const useStorage = <T>(\n key: string,\n initialState?: Maybe<T>\n): [Maybe<T> | undefined, Dispatch<SetStateAction<Maybe<T> | undefined>>] => {\n const getStorage = useCallback(() => {\n let state\n\n if ((state = GlobalStorage.get(key)) !== undefined) {\n return state\n }\n\n return initialState\n }, [key, initialState])\n\n const [hookState, setHookState] = useState<Maybe<T> | undefined>(getStorage())\n\n const setStorage = useCallback(\n (nextState: Maybe<T> | SetStateAction<Maybe<T> | undefined>) => {\n const newState = nextState instanceof Function ? nextState(hookState) : nextState\n\n if (hookState !== newState) {\n GlobalStorage.set(key, newState)\n }\n },\n [key, hookState]\n )\n\n /**\n * The empty dependency array ensures that the effect runs only once when the component mounts\n * and doesn't re-run unnecessarily on subsequent renders because it doesn't depend on any\n * props or state variables that could change during the component's lifetime.\n *\n * Use an empty dependency array to avoid unnecessary re-renders.\n */\n useEffect(() => {\n GlobalStorage.subscribe(key, setHookState)\n\n setHookState(getStorage())\n\n return () => GlobalStorage.unsubscribe(key, setHookState)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return [hookState, setStorage]\n}\n\nexport default useStorage\n","'use client'\n\nimport { createContext, useContext } from 'react'\n\ntype QuilttSettingsContext = {\n clientId?: string | undefined\n}\n\nexport const QuilttSettings = createContext<QuilttSettingsContext>({})\n\nexport const useQuilttSettings = () => {\n const settings = useContext(QuilttSettings)\n\n return { ...settings }\n}\n\nexport default useQuilttSettings\n","'use client'\n\nimport type { FC, PropsWithChildren } from 'react'\nimport { useState } from 'react'\n\nimport { QuilttSettings } from '../hooks'\n\ntype QuilttSettingsProviderProps = PropsWithChildren & {\n clientId?: string\n}\n\nexport const QuilttSettingsProvider: FC<QuilttSettingsProviderProps> = ({ clientId, children }) => {\n const [_clientId] = useState(clientId)\n\n return (\n <QuilttSettings.Provider value={{ clientId: _clientId }}>{children}</QuilttSettings.Provider>\n )\n}\n\nexport default QuilttSettingsProvider\n","import type { FC, PropsWithChildren } from 'react'\n\nimport { QuilttAuthProvider } from './QuilttAuthProvider'\nimport { QuilttSettingsProvider } from './QuilttSettingsProvider'\n\ntype QuilttProviderProps = PropsWithChildren & {\n clientId?: string\n token?: string\n}\n\nexport const QuilttProvider: FC<QuilttProviderProps> = ({ clientId, token, children }) => {\n return (\n <QuilttSettingsProvider clientId={clientId}>\n <QuilttAuthProvider token={token}>{children}</QuilttAuthProvider>\n </QuilttSettingsProvider>\n )\n}\n\nexport default QuilttProvider\n"],"mappings":"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","names":["providers_exports","__export","QuilttAuthProvider","QuilttProvider","QuilttSettingsProvider","__toCommonJS","import_react","extendStatics","d","b","p","__extends","__","genericMessage","_a","setPrototypeOf","obj","proto","InvariantError","_super","__extends","message","_this","invariant","condition","message","InvariantError","verbosityLevels","verbosityLevel","wrapConsoleMethod","name","method","maybe","thunk","_a","global_default","maybe","__","GLOBAL_KEY","getDEV","_a","global_default","maybe","DEV_default","maybe","thunk","_","safeGlobal","needToRemove","install","remove","devAssert","condition","message","inspect","value","formatValue","seenValues","formatObjectValue","previouslySeenValues","isJSONable","jsonValue","formatArray","formatObject","object","entries","getObjectTag","key","array","len","remaining","items","tag","name","Source","body","name","locationOffset","devAssert","inspect","removeTemporaryGlobals","Source","remove","checkDEV","invariant","DEV_default","removeTemporaryGlobals","checkDEV","canUseWeakMap","maybe","canUseSymbol","canUseDOM","maybe","usingJSDOM","React","contextKey","canUseSymbol","getApolloContext","context","React","ApolloProvider","_a","client","children","ApolloContext","getApolloContext","context","invariant","import_core","import_react","useIdentifySession","auth","setSession","payload","callbacks","__async","response","import_react","useAuthenticateSession","auth","setSession","payload","callbacks","__async","response","import_react","import_core","useImportSession","auth","session","setSession","environmentId","token","__async","jwt","response","import_react","useRevokeSession","auth","session","setSession","__async","import_react","import_react","import_core","import_react","import_core","useStorage","key","initialState","getStorage","state","hookState","setHookState","setStorage","nextState","newState","parse","sessionTimer","useSession","storageKey","token","setToken","useStorage","session","expirationMS","expire","setSession","nextState","newState","import_core","import_react","QuilttSettings","useQuilttSettings","settings","__spreadValues","useQuilttSession","environmentId","clientId","useQuilttSettings","session","setSession","useSession","auth","importSession","useImportSession","identifySession","useIdentifySession","authenticateSession","useAuthenticateSession","revokeSession","useRevokeSession","forgetSession","token","__async","import_jsx_runtime","GraphQLClient","QuilttAuthProvider","token","children","session","importSession","useQuilttSession","ApolloProvider","import_react","import_jsx_runtime","QuilttSettingsProvider","clientId","children","_clientId","QuilttSettings","import_jsx_runtime","QuilttProvider","clientId","token","children","QuilttSettingsProvider","QuilttAuthProvider"]}
@@ -1,2 +1,26 @@
1
- export { Q as QuilttAuthProvider, a as QuilttProvider, b as QuilttSettingsProvider } from '../QuilttSettingsProvider-d1d44353.js';
2
- import 'react';
1
+ import { FC, PropsWithChildren } from 'react';
2
+
3
+ type QuilttAuthProviderProps = PropsWithChildren & {
4
+ token?: string;
5
+ };
6
+ /**
7
+ * If a token is provided, will validate the token against the api and then import
8
+ * it into trusted storage. While this process is happening, the component is put
9
+ * into a loading state and the children are not rendered to prevent race conditions
10
+ * from triggering within the transitionary state.
11
+ *
12
+ */
13
+ declare const QuilttAuthProvider: FC<QuilttAuthProviderProps>;
14
+
15
+ type QuilttProviderProps = PropsWithChildren & {
16
+ clientId?: string;
17
+ token?: string;
18
+ };
19
+ declare const QuilttProvider: FC<QuilttProviderProps>;
20
+
21
+ type QuilttSettingsProviderProps = PropsWithChildren & {
22
+ clientId?: string;
23
+ };
24
+ declare const QuilttSettingsProvider: FC<QuilttSettingsProviderProps>;
25
+
26
+ export { QuilttAuthProvider, QuilttProvider, QuilttSettingsProvider };
@@ -1,2 +1,2 @@
1
- var ae=Object.defineProperty;var N=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,ce=Object.prototype.propertyIsEnumerable;var D=(e,t,r)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,L=(e,t)=>{for(var r in t||(t={}))ue.call(t,r)&&D(e,r,t[r]);if(N)for(var r of N(t))ce.call(t,r)&&D(e,r,t[r]);return e};var c=(e,t,r)=>new Promise((n,o)=>{var i=p=>{try{u(r.next(p))}catch(y){o(y)}},s=p=>{try{u(r.throw(p))}catch(y){o(y)}},u=p=>p.done?n(p.value):Promise.resolve(p.value).then(i,s);u((r=r.apply(e,t)).next())});import{useEffect as re}from"react";var A=function(e,t){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},A(e,t)};function Q(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");A(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var P="Invariant Violation",U=Object.setPrototypeOf,pe=U===void 0?function(e,t){return e.__proto__=t,e}:U,j=function(e){Q(t,e);function t(r){r===void 0&&(r=P);var n=e.call(this,typeof r=="number"?P+": "+r+" (see https://github.com/apollographql/invariant-packages)":r)||this;return n.framesToPop=1,n.name=P,pe(n,t.prototype),n}return t}(Error);function l(e,t){if(!e)throw new j(t)}var V=["debug","log","warn","error","silent"],le=V.indexOf("log");function d(e){return function(){if(V.indexOf(e)>=le){var t=console[e]||console.log;return t.apply(console,arguments)}}}(function(e){e.debug=d("debug"),e.log=d("log"),e.warn=d("warn"),e.error=d("error")})(l||(l={}));function a(e){try{return e()}catch(t){}}var h=a(function(){return globalThis})||a(function(){return window})||a(function(){return self})||a(function(){return global})||a(function(){return a.constructor("return this")()});var M="__",F=[M,M].join("DEV");function fe(){try{return!!__DEV__}catch(e){return Object.defineProperty(h,F,{value:a(function(){return process.env.NODE_ENV})!=="production",enumerable:!1,configurable:!0,writable:!0}),h[F]}}var S=fe();function f(e){try{return e()}catch(t){}}var O=f(function(){return globalThis})||f(function(){return window})||f(function(){return self})||f(function(){return global})||f(function(){return f.constructor("return this")()}),E=!1;function me(){O&&!f(function(){return process.env.NODE_ENV})&&!f(function(){return process})&&(Object.defineProperty(O,"process",{value:{env:{NODE_ENV:"production"}},configurable:!0,enumerable:!1,writable:!0}),E=!0)}me();function R(){E&&(delete O.process,E=!1)}function b(e,t){if(!!!e)throw new Error(t)}function k(e){return g(e,[])}function g(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return ye(e,t);default:return String(e)}}function ye(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(de(e)){let n=e.toJSON();if(n!==e)return typeof n=="string"?n:g(n,r)}else if(Array.isArray(e))return Se(e,r);return he(e,r)}function de(e){return typeof e.toJSON=="function"}function he(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+be(e)+"]":"{ "+r.map(([o,i])=>o+": "+g(i,t)).join(", ")+" }"}function Se(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,o=[];for(let i=0;i<r;++i)o.push(g(e[i],t));return n===1?o.push("... 1 more item"):n>1&&o.push(`... ${n} more items`),"["+o.join(", ")+"]"}function be(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}var m=class{constructor(t,r="GraphQL request",n={line:1,column:1}){typeof t=="string"||b(!1,`Body must be a string. Received: ${k(t)}.`),this.body=t,this.name=r,this.locationOffset=n,this.locationOffset.line>0||b(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||b(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function G(){return typeof m=="function"?R():R()}function ge(){__DEV__?l(typeof S=="boolean",S):l(typeof S=="boolean",39)}G();ge();var Bt=typeof WeakMap=="function"&&a(function(){return navigator.product})!=="ReactNative";var q=typeof Symbol=="function"&&typeof Symbol.for=="function";var Ht=typeof a(function(){return window.document.createElement})=="function",Xt=a(function(){return navigator.userAgent.indexOf("jsdom")>=0})||!1;import*as v from"react";var W=q?Symbol.for("__APOLLO_CONTEXT__"):"__APOLLO_CONTEXT__";function x(){var e=v.createContext[W];return e||(Object.defineProperty(v.createContext,W,{value:e=v.createContext({}),enumerable:!1,writable:!1,configurable:!0}),e.displayName="ApolloContext"),e}import*as C from"react";var T=function(e){var t=e.client,r=e.children,n=x();return C.createElement(n.Consumer,null,function(o){return o===void 0&&(o={}),t&&o.client!==t&&(o=Object.assign({},o,{client:t})),__DEV__?l(o.client,'ApolloProvider was not passed a client instance. Make sure you pass in your client via the "client" prop.'):l(o.client,29),C.createElement(n.Provider,{value:o},r)})};import{InMemoryCache as Ue,QuilttClient as je}from"@quiltt/core";import{useCallback as ve}from"react";var K=(e,t)=>ve((n,o)=>c(void 0,null,function*(){let i=yield e.identify(n);switch(i.status){case 201:if(t(i.data.token),o.onSuccess)return o.onSuccess();break;case 202:if(o.onChallenged)return o.onChallenged();break;case 422:if(o.onError)return o.onError(i.data);break;default:throw new Error(`AuthAPI.identify: Unexpected response status ${i.status}`)}}),[e,t]);import{useCallback as xe}from"react";var J=(e,t)=>xe((n,o)=>c(void 0,null,function*(){let i=yield e.authenticate(n);switch(i.status){case 201:if(t(i.data.token),o.onSuccess)return o.onSuccess();break;case 401:if(o.onFailure)return o.onFailure();break;case 422:if(o.onError)return o.onError(i.data);break;default:throw new Error(`AuthAPI.authenticate: Unexpected response status ${i.status}`)}}),[e,t]);import{useCallback as Te}from"react";import{JsonWebTokenParse as _e}from"@quiltt/core";var B=(e,t,r,n)=>Te(i=>c(void 0,null,function*(){if(!i)return!!t;if(t&&t.token==i)return!0;let s=_e(i);if(!s||n&&s.claims.eid!==n)return!1;let u=yield e.ping(i);switch(u.status){case 200:return r(i),!0;break;case 401:return!1;default:throw new Error(`AuthAPI.ping: Unexpected response status ${u.status}`)}}),[e,t,r,n]);import{useCallback as we}from"react";var H=(e,t,r)=>we(()=>c(void 0,null,function*(){t&&(yield e.revoke(t.token),r(null))}),[e,t,r]);import{useCallback as Le}from"react";import{useMemo as Oe}from"react";import{useEffect as Ee,useCallback as Re}from"react";import{JsonWebTokenParse as Ce,Timeoutable as Ie}from"@quiltt/core";import{useCallback as X,useEffect as Ae,useState as Pe}from"react";import{GlobalStorage as _}from"@quiltt/core";var $=(e,t)=>{let r=X(()=>{let s;return(s=_.get(e))!==void 0?s:t},[e,t]),[n,o]=Pe(r()),i=X(s=>{let u=s instanceof Function?s(n):s;n!==u&&_.set(e,u)},[e,n]);return Ae(()=>(_.subscribe(e,o),o(r()),()=>_.unsubscribe(e,o)),[]),[n,i]};var Y=Ce,z=new Ie,Z=(e="session")=>{let[t,r]=$(e),n=Oe(()=>Y(t),[t]);Ee(()=>{if(!n)return;let i=n.claims.exp*1e3,s=()=>r(null);if(Date.now()>=i)s();else return z.set(s,i-Date.now()),()=>z.clear(s)},[n,r]);let o=Re(i=>{let s=i instanceof Function?i(t):i;t!==s&&(!s||Y(s))&&r(s)},[t,r]);return[n,o]};import{AuthAPI as Qe}from"@quiltt/core";import{createContext as Ne,useContext as De}from"react";var I=Ne({}),ee=()=>{let e=De(I);return L({},e)};var te=e=>{let{clientId:t}=ee(),[r,n]=Z(),o=new Qe(t),i=B(o,r,n,e),s=K(o,n),u=J(o,n),p=H(o,r,n),y=Le(w=>c(void 0,null,function*(){(!w||r&&w&&w==r.token)&&n(null)}),[r,n]);return{session:r,importSession:i,identifySession:s,authenticateSession:u,revokeSession:p,forgetSession:y}};import{jsx as Ve}from"react/jsx-runtime";var ne=new je({cache:new Ue}),oe=({token:e,children:t})=>{let{session:r,importSession:n}=te();return re(()=>{e&&n(e)},[e]),re(()=>{ne.resetStore()},[r]),Ve(T,{client:ne,children:t})};import{useState as Me}from"react";import{jsx as Fe}from"react/jsx-runtime";var ie=({clientId:e,children:t})=>{let[r]=Me(e);return Fe(I.Provider,{value:{clientId:r},children:t})};import{jsx as se}from"react/jsx-runtime";var pn=({clientId:e,token:t,children:r})=>se(ie,{clientId:e,children:se(oe,{token:t,children:r})});export{oe as QuilttAuthProvider,pn as QuilttProvider,ie as QuilttSettingsProvider};
1
+ var ae=Object.defineProperty;var N=Object.getOwnPropertySymbols;var ue=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var D=(e,t,r)=>t in e?ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,L=(e,t)=>{for(var r in t||(t={}))ue.call(t,r)&&D(e,r,t[r]);if(N)for(var r of N(t))pe.call(t,r)&&D(e,r,t[r]);return e};var p=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{u(r.next(c))}catch(m){n(m)}},s=c=>{try{u(r.throw(c))}catch(m){n(m)}},u=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,s);u((r=r.apply(e,t)).next())});import{useEffect as re}from"react";var A=function(e,t){return A=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[n]=o[n])},A(e,t)};function Q(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");A(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var P="Invariant Violation",j=Object.setPrototypeOf,ce=j===void 0?function(e,t){return e.__proto__=t,e}:j,U=function(e){Q(t,e);function t(r){r===void 0&&(r=P);var o=e.call(this,typeof r=="number"?P+": "+r+" (see https://github.com/apollographql/invariant-packages)":r)||this;return o.framesToPop=1,o.name=P,ce(o,t.prototype),o}return t}(Error);function l(e,t){if(!e)throw new U(t)}var V=["debug","log","warn","error","silent"],le=V.indexOf("log");function d(e){return function(){if(V.indexOf(e)>=le){var t=console[e]||console.log;return t.apply(console,arguments)}}}(function(e){e.debug=d("debug"),e.log=d("log"),e.warn=d("warn"),e.error=d("error")})(l||(l={}));function a(e){try{return e()}catch(t){}}var h=a(function(){return globalThis})||a(function(){return window})||a(function(){return self})||a(function(){return global})||a(function(){return a.constructor("return this")()});var M="__",k=[M,M].join("DEV");function fe(){try{return!!__DEV__}catch(e){return Object.defineProperty(h,k,{value:a(function(){return process.env.NODE_ENV})!=="production",enumerable:!1,configurable:!0,writable:!0}),h[k]}}var S=fe();function f(e){try{return e()}catch(t){}}var E=f(function(){return globalThis})||f(function(){return window})||f(function(){return self})||f(function(){return global})||f(function(){return f.constructor("return this")()}),O=!1;function ye(){E&&!f(function(){return process.env.NODE_ENV})&&!f(function(){return process})&&(Object.defineProperty(E,"process",{value:{env:{NODE_ENV:"production"}},configurable:!0,enumerable:!1,writable:!0}),O=!0)}ye();function R(){O&&(delete E.process,O=!1)}function b(e,t){if(!!!e)throw new Error(t)}function F(e){return g(e,[])}function g(e,t){switch(typeof e){case"string":return JSON.stringify(e);case"function":return e.name?`[function ${e.name}]`:"[function]";case"object":return me(e,t);default:return String(e)}}function me(e,t){if(e===null)return"null";if(t.includes(e))return"[Circular]";let r=[...t,e];if(de(e)){let o=e.toJSON();if(o!==e)return typeof o=="string"?o:g(o,r)}else if(Array.isArray(e))return Se(e,r);return he(e,r)}function de(e){return typeof e.toJSON=="function"}function he(e,t){let r=Object.entries(e);return r.length===0?"{}":t.length>2?"["+be(e)+"]":"{ "+r.map(([n,i])=>n+": "+g(i,t)).join(", ")+" }"}function Se(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),o=e.length-r,n=[];for(let i=0;i<r;++i)n.push(g(e[i],t));return o===1?n.push("... 1 more item"):o>1&&n.push(`... ${o} more items`),"["+n.join(", ")+"]"}function be(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}var y=class{constructor(t,r="GraphQL request",o={line:1,column:1}){typeof t=="string"||b(!1,`Body must be a string. Received: ${F(t)}.`),this.body=t,this.name=r,this.locationOffset=o,this.locationOffset.line>0||b(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||b(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};function G(){return typeof y=="function"?R():R()}function ge(){__DEV__?l(typeof S=="boolean",S):l(typeof S=="boolean",39)}G();ge();var Bt=typeof WeakMap=="function"&&a(function(){return navigator.product})!=="ReactNative";var q=typeof Symbol=="function"&&typeof Symbol.for=="function";var Ht=typeof a(function(){return window.document.createElement})=="function",Xt=a(function(){return navigator.userAgent.indexOf("jsdom")>=0})||!1;import*as v from"react";var W=q?Symbol.for("__APOLLO_CONTEXT__"):"__APOLLO_CONTEXT__";function x(){var e=v.createContext[W];return e||(Object.defineProperty(v.createContext,W,{value:e=v.createContext({}),enumerable:!1,writable:!1,configurable:!0}),e.displayName="ApolloContext"),e}import*as C from"react";var T=function(e){var t=e.client,r=e.children,o=x();return C.createElement(o.Consumer,null,function(n){return n===void 0&&(n={}),t&&n.client!==t&&(n=Object.assign({},n,{client:t})),__DEV__?l(n.client,'ApolloProvider was not passed a client instance. Make sure you pass in your client via the "client" prop.'):l(n.client,29),C.createElement(o.Provider,{value:n},r)})};import{InMemoryCache as je,QuilttClient as Ue}from"@quiltt/core";import{useCallback as ve}from"react";var K=(e,t)=>ve((o,n)=>p(void 0,null,function*(){let i=yield e.identify(o);switch(i.status){case 201:if(t(i.data.token),n.onSuccess)return n.onSuccess();break;case 202:if(n.onChallenged)return n.onChallenged();break;case 422:if(n.onError)return n.onError(i.data);break;default:throw new Error(`AuthAPI.identify: Unexpected response status ${i.status}`)}}),[e,t]);import{useCallback as xe}from"react";var J=(e,t)=>xe((o,n)=>p(void 0,null,function*(){let i=yield e.authenticate(o);switch(i.status){case 201:if(t(i.data.token),n.onSuccess)return n.onSuccess();break;case 401:if(n.onFailure)return n.onFailure();break;case 422:if(n.onError)return n.onError(i.data);break;default:throw new Error(`AuthAPI.authenticate: Unexpected response status ${i.status}`)}}),[e,t]);import{useCallback as Te}from"react";import{JsonWebTokenParse as _e}from"@quiltt/core";var B=(e,t,r,o)=>Te(i=>p(void 0,null,function*(){if(!i)return!!t;if(t&&t.token==i)return!0;let s=_e(i);if(!s||o&&s.claims.eid!==o)return!1;let u=yield e.ping(i);switch(u.status){case 200:return r(i),!0;break;case 401:return!1;default:throw new Error(`AuthAPI.ping: Unexpected response status ${u.status}`)}}),[e,t,r,o]);import{useCallback as we}from"react";var H=(e,t,r)=>we(()=>p(void 0,null,function*(){t&&(yield e.revoke(t.token),r(null))}),[e,t,r]);import{useCallback as Le}from"react";import{useMemo as Ee}from"react";import{useEffect as Oe,useCallback as Re}from"react";import{JsonWebTokenParse as Ce,Timeoutable as Ie}from"@quiltt/core";import{useCallback as X,useEffect as Ae,useState as Pe}from"react";import{GlobalStorage as _}from"@quiltt/core";var $=(e,t)=>{let r=X(()=>{let s;return(s=_.get(e))!==void 0?s:t},[e,t]),[o,n]=Pe(r()),i=X(s=>{let u=s instanceof Function?s(o):s;o!==u&&_.set(e,u)},[e,o]);return Ae(()=>(_.subscribe(e,n),n(r()),()=>_.unsubscribe(e,n)),[]),[o,i]};var Y=Ce,z=new Ie,Z=(e="session")=>{let[t,r]=$(e),o=Ee(()=>Y(t),[t]);Oe(()=>{if(!o)return;let i=o.claims.exp*1e3,s=()=>r(null);if(Date.now()>=i)s();else return z.set(s,i-Date.now()),()=>z.clear(s)},[o,r]);let n=Re(i=>{let s=i instanceof Function?i(t):i;t!==s&&(!s||Y(s))&&r(s)},[t,r]);return[o,n]};import{AuthAPI as Qe}from"@quiltt/core";import{createContext as Ne,useContext as De}from"react";var I=Ne({}),ee=()=>{let e=De(I);return L({},e)};var te=e=>{let{clientId:t}=ee(),[r,o]=Z(),n=new Qe(t),i=B(n,r,o,e),s=K(n,o),u=J(n,o),c=H(n,r,o),m=Le(w=>p(void 0,null,function*(){(!w||r&&w&&w==r.token)&&o(null)}),[r,o]);return{session:r,importSession:i,identifySession:s,authenticateSession:u,revokeSession:c,forgetSession:m}};import{jsx as Ve}from"react/jsx-runtime";var oe=new Ue({cache:new je}),ne=({token:e,children:t})=>{let{session:r,importSession:o}=te();return re(()=>{e&&o(e)},[e]),re(()=>{oe.resetStore()},[r]),Ve(T,{client:oe,children:t})};import{useState as Me}from"react";import{jsx as ke}from"react/jsx-runtime";var ie=({clientId:e,children:t})=>{let[r]=Me(e);return ke(I.Provider,{value:{clientId:r},children:t})};import{jsx as se}from"react/jsx-runtime";var po=({clientId:e,token:t,children:r})=>se(ie,{clientId:e,children:se(ne,{token:t,children:r})});export{ne as QuilttAuthProvider,po as QuilttProvider,ie as QuilttSettingsProvider};
2
2
  //# sourceMappingURL=index.js.map