From 9e6b5d2dcf663c20467400449a465fa83b1900ec Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 3 Feb 2024 15:35:08 +0800 Subject: [PATCH 01/39] Backoff for save page --- packages/content-fetch/src/job.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/content-fetch/src/job.ts b/packages/content-fetch/src/job.ts index ba70478af..29a58b64d 100644 --- a/packages/content-fetch/src/job.ts +++ b/packages/content-fetch/src/job.ts @@ -38,7 +38,7 @@ const getAttempts = (job: savePageJob): number => { return 1 } - return 2 + return 3 } const getOpts = (job: savePageJob): BulkJobOptions => { @@ -48,6 +48,10 @@ const getOpts = (job: savePageJob): BulkJobOptions => { // removeOnFail: true, attempts: getAttempts(job), priority: getPriority(job), + backoff: { + type: 'exponential', + delay: 1000, + }, } } From f0103d4da5966313f1c81567c7bceebee88c4731 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 3 Feb 2024 15:36:40 +0800 Subject: [PATCH 02/39] Add retries for pdf handler job --- packages/pdf-handler/src/job.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/pdf-handler/src/job.ts b/packages/pdf-handler/src/job.ts index 3ba1c1849..d244079d3 100644 --- a/packages/pdf-handler/src/job.ts +++ b/packages/pdf-handler/src/job.ts @@ -17,5 +17,12 @@ type UpdatePageJobData = { } export const queueUpdatePageJob = async (data: UpdatePageJobData) => { - return queue.add(JOB_NAME, data) + return queue.add(JOB_NAME, data, { + priority: 5, + attempts: 3, + backoff: { + type: 'exponential', + delay: 1000, + }, + }) } From 0a38cd6422471f12df4f123eaf6dbe458f51f70a Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 3 Feb 2024 19:08:13 +0800 Subject: [PATCH 03/39] More attempts now that lock timeouts are lower --- packages/api/src/utils/createTask.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/api/src/utils/createTask.ts b/packages/api/src/utils/createTask.ts index 3a1145aec..f8ef008ad 100644 --- a/packages/api/src/utils/createTask.ts +++ b/packages/api/src/utils/createTask.ts @@ -695,7 +695,7 @@ export const bulkEnqueueUpdateLabels = async (data: UpdateLabelsData[]) => { name: UPDATE_LABELS_JOB, data: d, opts: { - attempts: 3, + attempts: 6, priority: 1, backoff: { type: 'exponential', @@ -720,7 +720,7 @@ export const enqueueUpdateHighlight = async (data: UpdateHighlightData) => { try { return queue.add(UPDATE_HIGHLIGHT_JOB, data, { - attempts: 3, + attempts: 6, priority: 1, backoff: { type: 'exponential', From 2d6bd0779f08c07459fe1e7b2c8da1877e9edf41 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 3 Feb 2024 19:08:25 +0800 Subject: [PATCH 04/39] Dont fetch from rsshub --- packages/api/src/jobs/rss/refreshFeed.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/api/src/jobs/rss/refreshFeed.ts b/packages/api/src/jobs/rss/refreshFeed.ts index 6274920de..8cef84a32 100644 --- a/packages/api/src/jobs/rss/refreshFeed.ts +++ b/packages/api/src/jobs/rss/refreshFeed.ts @@ -129,6 +129,9 @@ export const isContentFetchBlocked = (feedUrl: string) => { if (feedUrl.startsWith('https://rss.arxiv.org')) { return true } + if (feedUrl.startsWith('https://rsshub.app')) { + return true + } if (feedUrl.startsWith('https://xkcd.com')) { return true } From f59b944bd6783a04740f217129cda02e95b5665b Mon Sep 17 00:00:00 2001 From: Avadhut Tanugade Date: Sun, 4 Feb 2024 14:25:19 +0530 Subject: [PATCH 05/39] feat(android): scroll with volume buttons closes: github issue #2936 --- .../omnivore/omnivore/ui/reader/WebReader.kt | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReader.kt b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReader.kt index 85155f0c6..4dd26c7dd 100644 --- a/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReader.kt +++ b/android/Omnivore/app/src/main/java/app/omnivore/omnivore/ui/reader/WebReader.kt @@ -23,6 +23,7 @@ import androidx.compose.runtime.* import androidx.compose.runtime.livedata.observeAsState import androidx.compose.ui.viewinterop.AndroidView import app.omnivore.omnivore.R +import app.omnivore.omnivore.ui.reader.OmnivoreWebView.Direction import com.google.gson.Gson import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers @@ -160,6 +161,24 @@ fun WebReader( "utf-8", null ) + requestFocus() + setOnKeyListener { _, keyCode, event -> + if (event.action == KeyEvent.ACTION_DOWN) { + when (keyCode) { + KeyEvent.KEYCODE_VOLUME_UP -> { + scrollVertically(Direction.UP) + return@setOnKeyListener true + } + + KeyEvent.KEYCODE_VOLUME_DOWN -> { + scrollVertically(Direction.DOWN) + return@setOnKeyListener true + } + } + } + // default value + false + } } }, update = { if (javascriptActionLoopUUID != webReaderViewModel.lastJavascriptActionLoopUUID) { @@ -194,6 +213,18 @@ class OmnivoreWebView(context: Context) : WebView(context), OnScrollChangeListen setOnScrollChangeListener(this) } + enum class Direction(val value: Int) { + UP(-1), + DOWN(1) + } + + fun scrollVertically(direction: Direction, heightFactor: Int = 10) { + if (canScrollVertically(direction.value)) { + val scrollByValue = height.div(heightFactor) + scrollBy(0, direction.value.times(scrollByValue)) + } + } + private val actionModeCallback = object : ActionMode.Callback2() { // Called when the action mode is created; startActionMode() was called override fun onCreateActionMode(mode: ActionMode, menu: Menu): Boolean { From 53f63b90d7616816b873d3befb34663f982c3840 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 5 Feb 2024 16:26:05 +0800 Subject: [PATCH 06/39] increase the seed valud of backoff delay to 2 seconds --- packages/api/src/jobs/rss/refreshAllFeeds.ts | 2 -- packages/api/src/queue-processor.ts | 8 ++++++++ packages/api/src/utils/createTask.ts | 14 -------------- 3 files changed, 8 insertions(+), 16 deletions(-) diff --git a/packages/api/src/jobs/rss/refreshAllFeeds.ts b/packages/api/src/jobs/rss/refreshAllFeeds.ts index 5a50e41ce..ef49bacac 100644 --- a/packages/api/src/jobs/rss/refreshAllFeeds.ts +++ b/packages/api/src/jobs/rss/refreshAllFeeds.ts @@ -137,8 +137,6 @@ export const queueRSSRefreshFeedJob = async ( } return queue.add('refresh-feed', payload, { jobId: jobid, - removeOnComplete: true, - removeOnFail: true, priority: options.priority == 'low' ? 10 : 50, }) } diff --git a/packages/api/src/queue-processor.ts b/packages/api/src/queue-processor.ts index b93b327d9..cde76f885 100644 --- a/packages/api/src/queue-processor.ts +++ b/packages/api/src/queue-processor.ts @@ -49,6 +49,14 @@ export const getBackendQueue = async (): Promise => { } backendQueue = new Queue(QUEUE_NAME, { connection: redisDataSource.workerRedisClient, + defaultJobOptions: { + backoff: { + type: 'exponential', + delay: 2000, // 2 seconds + }, + removeOnComplete: true, + removeOnFail: true, + }, }) await backendQueue.waitUntilReady() return backendQueue diff --git a/packages/api/src/utils/createTask.ts b/packages/api/src/utils/createTask.ts index 3a1145aec..cfb266724 100644 --- a/packages/api/src/utils/createTask.ts +++ b/packages/api/src/utils/createTask.ts @@ -666,8 +666,6 @@ export const enqueueTriggerRuleJob = async (data: TriggerRuleJobData) => { return queue.add(TRIGGER_RULE_JOB_NAME, data, { priority: 5, attempts: 1, - removeOnComplete: true, - removeOnFail: true, }) } @@ -680,8 +678,6 @@ export const enqueueWebhookJob = async (data: CallWebhookJobData) => { return queue.add(CALL_WEBHOOK_JOB_NAME, data, { priority: 5, attempts: 1, - removeOnComplete: true, - removeOnFail: true, }) } @@ -697,10 +693,6 @@ export const bulkEnqueueUpdateLabels = async (data: UpdateLabelsData[]) => { opts: { attempts: 3, priority: 1, - backoff: { - type: 'exponential', - delay: 1000, - }, }, })) @@ -722,10 +714,6 @@ export const enqueueUpdateHighlight = async (data: UpdateHighlightData) => { return queue.add(UPDATE_HIGHLIGHT_JOB, data, { attempts: 3, priority: 1, - backoff: { - type: 'exponential', - delay: 1000, - }, }) } catch (error) { logger.error('error enqueuing update highlight job', error) @@ -745,8 +733,6 @@ export const enqueueBulkAction = async (data: BulkActionData) => { attempts: 1, priority: 10, jobId, // deduplication - removeOnComplete: true, - removeOnFail: true, }) } catch (error) { logger.error('error enqueuing bulk action job', error) From 37c75865d1582b4f5599f6cb70776693ad6dcc34 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 5 Feb 2024 16:56:48 +0800 Subject: [PATCH 07/39] do not update db immediately for force update of reading progress --- packages/api/src/resolvers/article/index.ts | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index a33e828f5..b1a7535fe 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -624,23 +624,6 @@ export const saveArticleReadingProgressResolver = authorized< // update reading progress without checking the current value, also // clear any cached values. await clearCachedReadingPosition(uid, id) - - const updatedItem = await updateLibraryItem( - id, - { - readingProgressBottomPercent: readingProgressPercent, - readingProgressTopPercent: readingProgressTopPercent ?? undefined, - readingProgressHighestReadAnchor: - readingProgressAnchorIndex ?? undefined, - readAt: new Date(), - }, - uid, - pubsub - ) - - return { - updatedArticle: libraryItemToArticle(updatedItem), - } } let updatedItem: LibraryItem | null From d77fad804ad7adc5721f8436357fb2a6be0a2556 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 5 Feb 2024 18:29:58 +0800 Subject: [PATCH 08/39] fix tests --- packages/api/src/resolvers/article/index.ts | 88 ++++++++++++--------- 1 file changed, 50 insertions(+), 38 deletions(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index b1a7535fe..1d0e95a64 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -59,7 +59,7 @@ import { UpdatesSinceError, UpdatesSinceSuccess, } from '../../generated/graphql' -import { authTrx, getColumns } from '../../repository' +import { getColumns } from '../../repository' import { getInternalLabelWithColor } from '../../repository/label' import { libraryItemRepository } from '../../repository/library_item' import { userRepository } from '../../repository/user' @@ -607,7 +607,7 @@ export const saveArticleReadingProgressResolver = authorized< force, }, }, - { log, pubsub, uid, dataSources } + { pubsub, uid, dataSources } ) => { if ( readingProgressPercent < 0 || @@ -619,40 +619,54 @@ export const saveArticleReadingProgressResolver = authorized< ) { return { errorCodes: [SaveArticleReadingProgressErrorCode.BadData] } } - try { + + // We don't need to update the values of reading progress here + // because the function resolver will handle that for us when + // it resolves the properties of the Article object + let updatedItem = await findLibraryItemById(id, uid) + if (!updatedItem) { + return { + errorCodes: [SaveArticleReadingProgressErrorCode.Unauthorized], + } + } + + if (env.redis.cache && env.redis.mq) { if (force) { - // update reading progress without checking the current value, also // clear any cached values. await clearCachedReadingPosition(uid, id) } - let updatedItem: LibraryItem | null - if (env.redis.cache && env.redis.mq) { - // If redis caching and queueing are available we delay this write - const updatedProgress = - await dataSources.readingProgress.updateReadingProgress(uid, id, { - readingProgressPercent, + // If redis caching and queueing are available we delay this write + const updatedProgress = + await dataSources.readingProgress.updateReadingProgress(uid, id, { + readingProgressPercent, + readingProgressTopPercent: readingProgressTopPercent ?? undefined, + readingProgressAnchorIndex: readingProgressAnchorIndex ?? undefined, + }) + if (updatedProgress) { + updatedItem.readAt = new Date() + updatedItem.readingProgressBottomPercent = + updatedProgress.readingProgressPercent + updatedItem.readingProgressTopPercent = + updatedProgress.readingProgressTopPercent || 0 + updatedItem.readingProgressHighestReadAnchor = + updatedProgress.readingProgressAnchorIndex || 0 + } + } else { + if (force) { + // update reading progress without checking the current value + updatedItem = await updateLibraryItem( + id, + { + readingProgressBottomPercent: readingProgressPercent, readingProgressTopPercent: readingProgressTopPercent ?? undefined, - readingProgressAnchorIndex: readingProgressAnchorIndex ?? undefined, - }) - - // We don't need to update the values of reading progress here - // because the function resolver will handle that for us when - // it resolves the properties of the Article object - updatedItem = await authTrx( - async (t) => { - return t.getRepository(LibraryItem).findOne({ - where: { - id, - }, - }) + readingProgressHighestReadAnchor: + readingProgressAnchorIndex ?? undefined, + readAt: new Date(), }, - undefined, - uid + uid, + pubsub ) - if (updatedItem) { - updatedItem.readAt = new Date() - } } else { updatedItem = await updateLibraryItemReadingProgress( id, @@ -661,19 +675,17 @@ export const saveArticleReadingProgressResolver = authorized< readingProgressTopPercent, readingProgressAnchorIndex ) - } - if (!updatedItem) { - return { errorCodes: [SaveArticleReadingProgressErrorCode.BadData] } + if (!updatedItem) { + return { + errorCodes: [SaveArticleReadingProgressErrorCode.BadData], + } + } } + } - return { - updatedArticle: libraryItemToArticle(updatedItem), - } - } catch (error) { - log.error('saveArticleReadingProgressResolver error', error) - - return { errorCodes: [SaveArticleReadingProgressErrorCode.Unauthorized] } + return { + updatedArticle: libraryItemToArticle(updatedItem), } } ) From 8bf0f4d755f0c1ac29063d49758630d3ac7f40c1 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 3 Feb 2024 09:39:15 +0800 Subject: [PATCH 09/39] Add an index to the subscriptions name column --- .../migrations/0161.do.add_subscriptions_name_index.sql | 7 +++++++ .../0161.undo.add_subscriptions_name_index.sql | 9 +++++++++ 2 files changed, 16 insertions(+) create mode 100755 packages/db/migrations/0161.do.add_subscriptions_name_index.sql create mode 100755 packages/db/migrations/0161.undo.add_subscriptions_name_index.sql diff --git a/packages/db/migrations/0161.do.add_subscriptions_name_index.sql b/packages/db/migrations/0161.do.add_subscriptions_name_index.sql new file mode 100755 index 000000000..4f3c2dd86 --- /dev/null +++ b/packages/db/migrations/0161.do.add_subscriptions_name_index.sql @@ -0,0 +1,7 @@ +-- Type: DO +-- Name: add_subscriptions_name_index +-- Description: Add an index to the subscriptions name column + + +CREATE INDEX CONCURRENTLY IF NOT EXISTS subscriptions_name_index ON omnivore.subscriptions (name); + diff --git a/packages/db/migrations/0161.undo.add_subscriptions_name_index.sql b/packages/db/migrations/0161.undo.add_subscriptions_name_index.sql new file mode 100755 index 000000000..641614cc5 --- /dev/null +++ b/packages/db/migrations/0161.undo.add_subscriptions_name_index.sql @@ -0,0 +1,9 @@ +-- Type: UNDO +-- Name: add_subscriptions_name_index +-- Description: Add an index to the subscriptions name column + +BEGIN; + +DROP INDEX IF EXISTS subscriptions_name_index; + +COMMIT; From 23fc68e57909a1e5c3a1ff61f0ff8ee01a0e3a31 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Tue, 6 Feb 2024 11:01:39 +0800 Subject: [PATCH 10/39] Add user_id to the subscriptions name index --- packages/db/migrations/0161.do.add_subscriptions_name_index.sql | 2 +- .../db/migrations/0161.undo.add_subscriptions_name_index.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/db/migrations/0161.do.add_subscriptions_name_index.sql b/packages/db/migrations/0161.do.add_subscriptions_name_index.sql index 4f3c2dd86..140be90d6 100755 --- a/packages/db/migrations/0161.do.add_subscriptions_name_index.sql +++ b/packages/db/migrations/0161.do.add_subscriptions_name_index.sql @@ -3,5 +3,5 @@ -- Description: Add an index to the subscriptions name column -CREATE INDEX CONCURRENTLY IF NOT EXISTS subscriptions_name_index ON omnivore.subscriptions (name); +CREATE INDEX CONCURRENTLY IF NOT EXISTS subscriptions_user_id_name_index ON omnivore.subscriptions (user_id, name); diff --git a/packages/db/migrations/0161.undo.add_subscriptions_name_index.sql b/packages/db/migrations/0161.undo.add_subscriptions_name_index.sql index 641614cc5..e69ae5fe4 100755 --- a/packages/db/migrations/0161.undo.add_subscriptions_name_index.sql +++ b/packages/db/migrations/0161.undo.add_subscriptions_name_index.sql @@ -4,6 +4,6 @@ BEGIN; -DROP INDEX IF EXISTS subscriptions_name_index; +DROP INDEX IF EXISTS omnivore.subscriptions_user_id_name_index; COMMIT; From b905ff126b35b45a9550ed27ec512e9a95c23f5a Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 3 Feb 2024 15:44:49 +0800 Subject: [PATCH 11/39] Remove async algorithms package --- apple/OmnivoreKit/Package.swift | 3 +-- .../OmnivoreKit/Sources/Services/DataService/DataService.swift | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/apple/OmnivoreKit/Package.swift b/apple/OmnivoreKit/Package.swift index bbe196816..f1300134f 100644 --- a/apple/OmnivoreKit/Package.swift +++ b/apple/OmnivoreKit/Package.swift @@ -40,8 +40,7 @@ let package = Package( "Valet", .product(name: "SwiftGraphQL", package: "swift-graphql"), "Models", - "Utils", - .product(name: "AsyncAlgorithms", package: "swift-async-algorithms") + "Utils" ] ), .testTarget(name: "ServicesTests", dependencies: ["Services"]), diff --git a/apple/OmnivoreKit/Sources/Services/DataService/DataService.swift b/apple/OmnivoreKit/Sources/Services/DataService/DataService.swift index 70e798db2..11062d9ea 100644 --- a/apple/OmnivoreKit/Sources/Services/DataService/DataService.swift +++ b/apple/OmnivoreKit/Sources/Services/DataService/DataService.swift @@ -1,4 +1,3 @@ -import AsyncAlgorithms import CoreData import CoreImage import Foundation @@ -26,7 +25,6 @@ public final class DataService: ObservableObject { public let networker: Networker public let prefetchQueue = OperationQueue() - public let itemLoaderChannel = AsyncChannel() var persistentContainer: PersistentContainer public var backgroundContext: NSManagedObjectContext From 03766734e5a9473487f1ddd445980a1bf0e84f0a Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sat, 3 Feb 2024 19:06:49 +0800 Subject: [PATCH 12/39] Pull out popup view and replace with Transmission snackbars PopupView and Transimission can interfere with each other and cause an issue with the root screen becoming black and the app getting stuck. --- .../xcshareddata/swiftpm/Package.resolved | 9 ----- apple/OmnivoreKit/Package.swift | 2 - .../Share/Views/MiniShareExtensionView.swift | 11 ------ .../Sources/App/PDFSupport/PDFViewer.swift | 2 +- .../App/PDFSupport/PDFViewerViewModel.swift | 8 ---- .../Sources/App/SnackbarExtension.swift | 4 +- .../Views/Highlights/HighlightsListCard.swift | 2 +- .../App/Views/Home/HomeFeedViewIOS.swift | 25 +------------ .../App/Views/Home/HomeFeedViewModel.swift | 6 +-- .../App/Views/Home/LibraryScanFeedView.swift | 7 ++-- .../Sources/App/Views/LibraryTabView.swift | 23 +++++++++++- .../Views/Profile/NewsletterEmailsView.swift | 32 +--------------- .../Profile/RecommendationGroupView.swift | 4 +- .../App/Views/RemoveLibraryItemAction.swift | 4 +- .../App/Views/WebReader/RecommendToView.swift | 2 +- .../App/Views/WebReader/WebReader.swift | 2 +- .../Views/WebReader/WebReaderContainer.swift | 37 +++---------------- .../Views/WebReader/WebReaderViewModel.swift | 25 ++++--------- .../DataService/Mutations/ArchiveLink.swift | 5 --- .../Services/NSNotification+Operation.swift | 19 ++++------ .../Sources/Utils/ShowInSnackbar.swift | 18 --------- .../Views/Article/OmnivoreWebView.swift | 9 +++++ 22 files changed, 70 insertions(+), 186 deletions(-) delete mode 100644 apple/OmnivoreKit/Sources/Utils/ShowInSnackbar.swift diff --git a/apple/Omnivore.xcworkspace/xcshareddata/swiftpm/Package.resolved b/apple/Omnivore.xcworkspace/xcshareddata/swiftpm/Package.resolved index 96acc85cc..b740628b5 100644 --- a/apple/Omnivore.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/apple/Omnivore.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -144,15 +144,6 @@ "version" : "2.30908.0" } }, - { - "identity" : "popupview", - "kind" : "remoteSourceControl", - "location" : "https://github.com/exyte/PopupView.git", - "state" : { - "revision" : "68349a0ae704b9a7041f756f3f4f460ddbf7ba8d", - "version" : "2.6.0" - } - }, { "identity" : "posthog-ios", "kind" : "remoteSourceControl", diff --git a/apple/OmnivoreKit/Package.swift b/apple/OmnivoreKit/Package.swift index f1300134f..4347f0f6a 100644 --- a/apple/OmnivoreKit/Package.swift +++ b/apple/OmnivoreKit/Package.swift @@ -27,7 +27,6 @@ let package = Package( "Models", .product(name: "Introspect", package: "SwiftUI-Introspect"), .product(name: "MarkdownUI", package: "swift-markdown-ui"), - .productItem(name: "PopupView", package: "PopupView"), .product(name: "Transmission", package: "Transmission") ], resources: [.process("Resources")] @@ -71,7 +70,6 @@ var dependencies: [Package.Dependency] { .package(url: "https://github.com/siteline/SwiftUI-Introspect.git", from: "0.1.4"), .package(url: "https://github.com/google/GoogleSignIn-iOS", from: "6.2.2"), .package(url: "https://github.com/gonzalezreal/swift-markdown-ui", from: "2.0.0"), - .package(url: "https://github.com/exyte/PopupView.git", from: "2.6.0"), .package(url: "https://github.com/PostHog/posthog-ios.git", from: "2.0.0"), .package(url: "https://github.com/nathantannar4/Transmission", from: "1.0.1"), .package(url: "https://github.com/apple/swift-async-algorithms", from: "1.0.0") diff --git a/apple/OmnivoreKit/Sources/App/AppExtensions/Share/Views/MiniShareExtensionView.swift b/apple/OmnivoreKit/Sources/App/AppExtensions/Share/Views/MiniShareExtensionView.swift index 44b6e00ba..fe6e7c511 100644 --- a/apple/OmnivoreKit/Sources/App/AppExtensions/Share/Views/MiniShareExtensionView.swift +++ b/apple/OmnivoreKit/Sources/App/AppExtensions/Share/Views/MiniShareExtensionView.swift @@ -17,16 +17,5 @@ struct MiniShareExtensionView: View { var body: some View { ProgressView() - .popup(isPresented: $showToast) { - Text("Saving to Omnivore") - .padding(20) - } customize: { - $0 - .type(.toast) - .position(.bottom) - .animation(.spring()) - .closeOnTapOutside(true) - .backgroundColor(.black.opacity(0.5)) - } } } diff --git a/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewer.swift b/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewer.swift index 7ff6eb686..e6dd22008 100644 --- a/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewer.swift +++ b/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewer.swift @@ -332,7 +332,7 @@ import Utils if let customHighlight = annotation.customData?["omnivoreHighlight"] as? [String: String] { if customHighlight["id"]?.lowercased() == highlightId { if !document.remove(annotations: [annotation]) { - viewModel.snackbar(message: "Error removing highlight") + Snackbar.show(message: "Error removing highlight", dismissAfter: 2000) } } } diff --git a/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewerViewModel.swift b/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewerViewModel.swift index c1ba16706..da33b83e7 100644 --- a/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewerViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/PDFSupport/PDFViewerViewModel.swift @@ -8,9 +8,6 @@ final class PDFViewerViewModel: ObservableObject { @Published var errorMessage: String? @Published var readerView: Bool = false - @Published var showSnackbar: Bool = false - var snackbarMessage: String? - let pdfItem: PDFItem var highlights: [Highlight] @@ -19,11 +16,6 @@ final class PDFViewerViewModel: ObservableObject { self.highlights = pdfItem.highlights } - func snackbar(message: String) { - snackbarMessage = message - showSnackbar = true - } - func findHighlight(dataService: DataService, highlightID: String) -> Highlight? { let libraryItem = LibraryItem.lookup(byID: pdfItem.itemID, inContext: dataService.viewContext) return libraryItem?.highlights.asArray(of: Highlight.self).first { $0.id == highlightID } diff --git a/apple/OmnivoreKit/Sources/App/SnackbarExtension.swift b/apple/OmnivoreKit/Sources/App/SnackbarExtension.swift index 54b54793e..c678bbaad 100644 --- a/apple/OmnivoreKit/Sources/App/SnackbarExtension.swift +++ b/apple/OmnivoreKit/Sources/App/SnackbarExtension.swift @@ -3,7 +3,7 @@ import Services import Views extension Snackbar { - static func showInLibrary(message: String, undoAction: (() -> Void)? = nil) { - NSNotification.librarySnackBar(message: message, undoAction: undoAction) + static func show(message: String, undoAction: (() -> Void)? = nil, dismissAfter: Int?) { + NSNotification.snackBar(message: message, undoAction: undoAction, dismissAfter: dismissAfter) } } diff --git a/apple/OmnivoreKit/Sources/App/Views/Highlights/HighlightsListCard.swift b/apple/OmnivoreKit/Sources/App/Views/Highlights/HighlightsListCard.swift index a6805336f..1545be12e 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Highlights/HighlightsListCard.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Highlights/HighlightsListCard.swift @@ -35,7 +35,7 @@ pasteBoard.writeObjects([highlightParams.quote as NSString]) #endif - // Snackbar.show(message: "Highlight copied") + Snackbar.show(message: "Highlight copied", dismissAfter: 2000) }, label: { Label("Copy", systemImage: "doc.on.doc") } ) diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift index 321110e56..ed39d891d 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift @@ -222,7 +222,7 @@ struct AnimatingCellHeight: AnimatableModifier { } var body: some View { - ZStack { + ZStack { HomeFeedView( listTitle: $listTitle, isListScrolled: $isListScrolled, @@ -506,29 +506,6 @@ struct AnimatingCellHeight: AnimatableModifier { viewModel.negatedLabels = $1 } } - .popup(isPresented: $viewModel.showSnackbar) { - if let operation = viewModel.snackbarOperation { - Snackbar(isShowing: $viewModel.showSnackbar, operation: operation) - } else { - EmptyView() - } - } customize: { - $0 - .type(.toast) - .autohideIn(2) - .position(.bottom) - .animation(.spring()) - .isOpaque(false) - } - .onReceive(NSNotification.librarySnackBarPublisher) { notification in - if !viewModel.showSnackbar { - if let message = notification.userInfo?["message"] as? String { - viewModel.snackbarOperation = SnackbarOperation(message: message, - undoAction: notification.userInfo?["undoAction"] as? SnackbarUndoAction) - viewModel.showSnackbar = true - } - } - } } } diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift index 2bd2261a7..6f458a251 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift @@ -28,10 +28,9 @@ enum LoadingBarStyle { @Published var linkIsActive = false @Published var showLabelsSheet = false - @Published var showSnackbar = false + @Published var showAddFeedView = false @Published var showHideFollowingAlert = false - @Published var snackbarOperation: SnackbarOperation? @Published var filters = [InternalFilter]() @@ -235,8 +234,7 @@ enum LoadingBarStyle { } func snackbar(_ message: String, undoAction: SnackbarUndoAction? = nil) { - snackbarOperation = SnackbarOperation(message: message, undoAction: undoAction) - showSnackbar = true + Snackbar.show(message: message, undoAction: undoAction, dismissAfter: 2000) } func setLinkArchived(dataService: DataService, objectID: NSManagedObjectID, archived: Bool) { diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/LibraryScanFeedView.swift b/apple/OmnivoreKit/Sources/App/Views/Home/LibraryScanFeedView.swift index dc5455f01..9b6a72676 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/LibraryScanFeedView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/LibraryScanFeedView.swift @@ -3,6 +3,7 @@ import Models import Services import SwiftUI import Utils +import Views @MainActor public class LibraryAddFeedViewModel: NSObject, ObservableObject { @@ -101,9 +102,9 @@ public class LibraryAddFeedViewModel: NSObject, ObservableObject { DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(4000)) { if failureCount > 0 { - showInLibrarySnackbar("Failed to add \(failureCount) feeds") + Snackbar.show(message: "Failed to add \(failureCount) feeds", dismissAfter: 3000) } else { - showInLibrarySnackbar("Added \(successCount) feed\(successCount == 0 ? "" : "s")") + Snackbar.show(message: "Added \(successCount) feed\(successCount == 0 ? "" : "s")", dismissAfter: 3000) } } } @@ -211,7 +212,7 @@ public struct LibraryScanFeedView: View { if viewModel.selected.count > 0 { Button(action: { dismiss() - showInLibrarySnackbar("Adding feeds...") + Snackbar.show(message: "Adding feeds...", dismissAfter: 2000) Task { await viewModel.addFeeds() } diff --git a/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift b/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift index d298e5ed4..aa86d5ad3 100644 --- a/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift @@ -7,7 +7,6 @@ import Foundation import Models -import PopupView import Services import SwiftUI import Transmission @@ -71,8 +70,18 @@ struct LibraryTabView: View { } } + @State var showOperationToast = false + @State var operationStatus: OperationStatus = .none + @State var operationMessage: String? + var body: some View { VStack(spacing: 0) { + WindowLink(level: .alert, transition: .move(edge: .bottom), isPresented: $showOperationToast) { + OperationToast(operationMessage: $operationMessage, showOperationToast: $showOperationToast, operationStatus: $operationStatus) + } label: { + EmptyView() + }.buttonStyle(.plain) + TabView(selection: $selectedTab) { if !hideFollowingTab { NavigationView { @@ -128,6 +137,18 @@ struct LibraryTabView: View { ) } .navigationBarHidden(true) + .onReceive(NSNotification.snackBarPublisher) { notification in + if let message = notification.userInfo?["message"] as? String { + showOperationToast = true + operationMessage = message + operationStatus = .isPerforming + if let dismissAfter = notification.userInfo?["dismissAfter"] as? Int { + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(dismissAfter)) { + showOperationToast = false + } + } + } + } .onReceive(NSNotification.performSyncPublisher) { _ in Task { await syncManager.syncUpdates(dataService: dataService) diff --git a/apple/OmnivoreKit/Sources/App/Views/Profile/NewsletterEmailsView.swift b/apple/OmnivoreKit/Sources/App/Views/Profile/NewsletterEmailsView.swift index 6c960a36a..1af903785 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Profile/NewsletterEmailsView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Profile/NewsletterEmailsView.swift @@ -1,5 +1,4 @@ import Models -import PopupView import Services import SwiftUI import Transmission @@ -7,7 +6,6 @@ import Views @MainActor final class NewsletterEmailsViewModel: ObservableObject { @Published var isLoading = false - @Published var showAddressCopied = false @Published var emails = [NewsletterEmail]() @Published var showOperationToast = false @@ -78,12 +76,6 @@ struct NewsletterEmailsView: View { EmptyView() }.buttonStyle(.plain) - WindowLink(level: .alert, transition: .move(edge: .bottom), isPresented: $viewModel.showAddressCopied) { - MessageToast() - } label: { - EmptyView() - }.buttonStyle(.plain) - #if os(iOS) Form { innerBody @@ -162,10 +154,7 @@ struct NewsletterEmailRow: View { pasteBoard.writeObjects([newsletterEmail.unwrappedEmail as NSString]) #endif - viewModel.showAddressCopied = true - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(2000)) { - viewModel.showAddressCopied = false - } + Snackbar.show(message: "Address copied", undoAction: nil, dismissAfter: 2000) }, label: { Text("Copy") @@ -191,22 +180,3 @@ struct NewsletterEmailRow: View { } } -struct MessageToast: View { - var body: some View { - VStack { - HStack { - Text("Address copied") - Spacer() - } - .padding(10) - .frame(minHeight: 50) - .frame(maxWidth: 380) - .background(Color(hex: "2A2A2A")) - .cornerRadius(4.0) - .tint(Color.green) - } - .padding(.bottom, 70) - .padding(.horizontal, 10) - .ignoresSafeArea(.all, edges: .bottom) - } -} diff --git a/apple/OmnivoreKit/Sources/App/Views/Profile/RecommendationGroupView.swift b/apple/OmnivoreKit/Sources/App/Views/Profile/RecommendationGroupView.swift index 28f8a9854..9f7c652c5 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Profile/RecommendationGroupView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Profile/RecommendationGroupView.swift @@ -29,7 +29,7 @@ do { try await dataService.leaveGroup(groupID: recommendationGroup.id) - // Snackbar.show(message: "You have left the club.") + Snackbar.show(message: "You have left the club.", dismissAfter: 2000) } catch { return false } @@ -182,7 +182,7 @@ pasteBoard.writeObjects([highlightParams.quote as NSString]) #endif - // Snackbar.show(message: "Invite link copied") + Snackbar.show(message: "Invite link copied", dismissAfter: 2000) }, label: { Text("[\(viewModel.recommendationGroup.inviteUrl)](\(viewModel.recommendationGroup.inviteUrl))") .font(.appCaption) diff --git a/apple/OmnivoreKit/Sources/App/Views/RemoveLibraryItemAction.swift b/apple/OmnivoreKit/Sources/App/Views/RemoveLibraryItemAction.swift index 96aad9260..c728509ee 100644 --- a/apple/OmnivoreKit/Sources/App/Views/RemoveLibraryItemAction.swift +++ b/apple/OmnivoreKit/Sources/App/Views/RemoveLibraryItemAction.swift @@ -33,7 +33,7 @@ func removeLibraryItemAction(dataService: DataService, objectID: NSManagedObject print("checking if task is canceled: ", Task.isCancelled) } - Snackbar.showInLibrary(message: "Item removed", undoAction: { + Snackbar.show(message: "Item removed", undoAction: { print("canceling task", syncTask) syncTask.cancel() dataService.viewContext.performAndWait { @@ -42,5 +42,5 @@ func removeLibraryItemAction(dataService: DataService, objectID: NSManagedObject try? dataService.viewContext.save() } } - }) + }, dismissAfter: 2000) } diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/RecommendToView.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/RecommendToView.swift index c2e04ec36..32d5333e5 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/RecommendToView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/RecommendToView.swift @@ -95,7 +95,7 @@ return AnyView(Button(action: { Task { if await viewModel.recommend(dataService: dataService) { - // Snackbar.show(message: "Recommendation sent") + Snackbar.show(message: "Recommendation sent", dismissAfter: 2000) dismiss() } } diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift index 606d8a609..118e0299b 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift @@ -103,7 +103,7 @@ struct WebReader: PlatformViewRepresentable { do { try (webView as? OmnivoreWebView)?.dispatchEvent(.saveAnnotation(annotation: annotation)) } catch { - showInLibrarySnackbar("Error saving note.") + Snackbar.show(message: "Error saving note.", dismissAfter: 2000) } } diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift index 8244b4400..bfc17dca4 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift @@ -1,6 +1,5 @@ import AVFoundation import Models -import PopupView import Services import SwiftUI import Transmission @@ -355,12 +354,6 @@ struct WebReaderContainerView: View { var body: some View { ZStack { - WindowLink(level: .alert, transition: .move(edge: .bottom), isPresented: $viewModel.showOperationToast) { - OperationToast(operationMessage: $viewModel.operationMessage, showOperationToast: $viewModel.showOperationToast, operationStatus: $viewModel.operationStatus) - } label: { - EmptyView() - }.buttonStyle(.plain) - if let articleContent = viewModel.articleContent { WebReader( item: item, @@ -421,7 +414,7 @@ struct WebReaderContainerView: View { #else // Pasteboard.general.string = item.unwrappedPageURLString TODO: fix for mac #endif - showInLibrarySnackbar("Link Copied") + Snackbar.show(message: "Link copied", dismissAfter: 2000) }, label: { Text(LocalText.readerCopyLink) }) Button(action: { if let linkToOpen = linkToOpen { @@ -533,7 +526,7 @@ struct WebReaderContainerView: View { self.isRecovering = true Task { if !(await dataService.recoverItem(itemID: item.unwrappedID)) { - viewModel.snackbar(message: "Error recovering item") + Snackbar.show(message: "Error recoviering item", dismissAfter: 2000) } else { await viewModel.loadContent( dataService: dataService, @@ -625,28 +618,7 @@ struct WebReaderContainerView: View { .onReceive(NotificationCenter.default.publisher(for: Notification.Name("PopToRoot"))) { _ in pop() } - .popup(isPresented: $viewModel.showSnackbar) { - if let operation = viewModel.snackbarOperation { - Snackbar(isShowing: $viewModel.showSnackbar, operation: operation) - } else { - EmptyView() - } - } customize: { - $0 - .type(.toast) - .autohideIn(2) - .position(.bottom) - .animation(.spring()) - .isOpaque(false) - } .ignoresSafeArea(.all, edges: .bottom) - .onReceive(NSNotification.readerSnackBarPublisher) { notification in - if let message = notification.userInfo?["message"] as? String { - viewModel.snackbarOperation = SnackbarOperation(message: message, - undoAction: notification.userInfo?["undoAction"] as? SnackbarUndoAction) - viewModel.showSnackbar = true - } - } } func moveToInbox() { @@ -673,6 +645,7 @@ struct WebReaderContainerView: View { dataService.archiveLink(objectID: item.objectID, archived: !isArchived) #if os(iOS) pop() + Snackbar.show(message: isArchived ? "Unarchived" : "Archived", dismissAfter: 2000) #endif } @@ -693,9 +666,9 @@ struct WebReaderContainerView: View { pasteBoard.clearContents() pasteBoard.writeObjects([deepLink.absoluteString as NSString]) #endif - showInLibrarySnackbar("Deeplink Copied") + Snackbar.show(message: "Deeplink Copied", dismissAfter: 2000) } else { - showInLibrarySnackbar("Error copying deeplink") + Snackbar.show(message: "Error copying deeplink", dismissAfter: 2000) } } diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift index 968594f04..5f908647e 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift @@ -20,14 +20,6 @@ struct SafariWebLink: Identifiable { @Published var showOperationToast: Bool = false @Published var operationStatus: OperationStatus = .none - @Published var showSnackbar: Bool = false - var snackbarOperation: SnackbarOperation? - - func snackbar(message: String) { - snackbarOperation = SnackbarOperation(message: message, undoAction: nil) - showSnackbar = true - } - func hasOriginalUrl(_ item: Models.LibraryItem) -> Bool { if let pageURLString = item.pageURLString, let host = URL(string: pageURLString)?.host { if host == "omnivore.app" { @@ -39,7 +31,7 @@ struct SafariWebLink: Identifiable { } func downloadAudio(audioController: AudioController, item: Models.LibraryItem) { - snackbar(message: "Downloading Offline Audio") + Snackbar.show(message: "Downloading Offline Audio", dismissAfter: 2000) isDownloadingAudio = true if let audioDownloadTask = audioDownloadTask { @@ -53,7 +45,7 @@ struct SafariWebLink: Identifiable { DispatchQueue.main.async { self.isDownloadingAudio = false if !canceled { - self.snackbar(message: downloaded ? "Audio file downloaded" : "Error downloading audio") + Snackbar.show(message: downloaded ? "Audio file downloaded" : "Error downloading audio", dismissAfter: 2000) } } } @@ -214,12 +206,11 @@ struct SafariWebLink: Identifiable { func saveLink(dataService: DataService, url: URL) { Task { do { - snackbar(message: "Saving link") - print("SAVING: ", url.absoluteString) + Snackbar.show(message: "Saving link", dismissAfter: 5000) _ = try await dataService.createPageFromUrl(id: UUID().uuidString, url: url.absoluteString) - snackbar(message: "Link saved") + Snackbar.show(message: "Link saved", dismissAfter: 2000) } catch { - snackbar(message: "Error saving link") + Snackbar.show(message: "Error saving link", dismissAfter: 2000) } } } @@ -227,14 +218,14 @@ struct SafariWebLink: Identifiable { func saveLinkAndFetch(dataService: DataService, username: String, url: URL) { Task { do { - snackbar(message: "Saving link") + Snackbar.show(message: "Saving link", dismissAfter: 5000) let requestId = UUID().uuidString _ = try await dataService.createPageFromUrl(id: requestId, url: url.absoluteString) - snackbar(message: "Link saved") + Snackbar.show(message: "Link saved", dismissAfter: 2000) await loadContent(dataService: dataService, username: username, itemID: requestId, retryCount: 0) } catch { - snackbar(message: "Error saving link") + Snackbar.show(message: "Error saving link", dismissAfter: 2000) } } } diff --git a/apple/OmnivoreKit/Sources/Services/DataService/Mutations/ArchiveLink.swift b/apple/OmnivoreKit/Sources/Services/DataService/Mutations/ArchiveLink.swift index a70c63ef9..0fb93b950 100644 --- a/apple/OmnivoreKit/Sources/Services/DataService/Mutations/ArchiveLink.swift +++ b/apple/OmnivoreKit/Sources/Services/DataService/Mutations/ArchiveLink.swift @@ -14,11 +14,6 @@ extension DataService { // Send update to server self.syncLinkArchiveStatus(itemID: linkedItem.unwrappedID, archived: archived) - - let message = archived ? "Link archived" : "Link unarchived" - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(300)) { - showInLibrarySnackbar(message) - } } } diff --git a/apple/OmnivoreKit/Sources/Services/NSNotification+Operation.swift b/apple/OmnivoreKit/Sources/Services/NSNotification+Operation.swift index 8848ab1b8..0ebb8654b 100644 --- a/apple/OmnivoreKit/Sources/Services/NSNotification+Operation.swift +++ b/apple/OmnivoreKit/Sources/Services/NSNotification+Operation.swift @@ -5,8 +5,7 @@ import Models public extension NSNotification { static let PushJSONArticle = Notification.Name("PushJSONArticle") static let PushReaderItem = Notification.Name("PushReaderItem") - static let LibrarySnackBar = Notification.Name("LibrarySnackBar") - static let ReaderSnackBar = Notification.Name("ReaderSnackBar") + static let SnackBar = Notification.Name("SnackBar") static let OperationFailure = Notification.Name("OperationFailure") static let ReaderSettingsChanged = Notification.Name("ReaderSettingsChanged") static let SpeakingReaderItem = Notification.Name("SpeakingReaderItem") @@ -27,12 +26,8 @@ public extension NSNotification { NotificationCenter.default.publisher(for: PushReaderItem) } - static var readerSnackBarPublisher: NotificationCenter.Publisher { - NotificationCenter.default.publisher(for: ReaderSnackBar) - } - - static var librarySnackBarPublisher: NotificationCenter.Publisher { - NotificationCenter.default.publisher(for: LibrarySnackBar) + static var snackBarPublisher: NotificationCenter.Publisher { + NotificationCenter.default.publisher(for: SnackBar) } static var operationFailedPublisher: NotificationCenter.Publisher { @@ -82,10 +77,12 @@ public extension NSNotification { ) } - static func librarySnackBar(message: String, undoAction: (() -> Void)?) { - NotificationCenter.default.post(name: NSNotification.LibrarySnackBar, + static func snackBar(message: String, undoAction: (() -> Void)?, dismissAfter: Int?) { + NotificationCenter.default.post(name: NSNotification.SnackBar, object: nil, - userInfo: ["message": message, "undoAction": undoAction as Any]) + userInfo: ["message": message, + "undoAction": undoAction as Any, + "dismissAfter": dismissAfter as Any]) } static func operationFailed(message: String) { diff --git a/apple/OmnivoreKit/Sources/Utils/ShowInSnackbar.swift b/apple/OmnivoreKit/Sources/Utils/ShowInSnackbar.swift deleted file mode 100644 index 147f122d5..000000000 --- a/apple/OmnivoreKit/Sources/Utils/ShowInSnackbar.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// ShowInSnackbar.swift -// -// -// Created by Jackson Harper on 11/1/22. -// - -import Foundation - -public func showInLibrarySnackbar(_ message: String) { - let nname = Notification.Name("LibrarySnackBar") - NotificationCenter.default.post(name: nname, object: nil, userInfo: ["message": message]) -} - -public func showInReaderSnackbar(_ message: String) { - let nname = Notification.Name("ReaderSnackBar") - NotificationCenter.default.post(name: nname, object: nil, userInfo: ["message": message]) -} diff --git a/apple/OmnivoreKit/Sources/Views/Article/OmnivoreWebView.swift b/apple/OmnivoreKit/Sources/Views/Article/OmnivoreWebView.swift index fa6f4d41e..23c9bd1b3 100644 --- a/apple/OmnivoreKit/Sources/Views/Article/OmnivoreWebView.swift +++ b/apple/OmnivoreKit/Sources/Views/Article/OmnivoreWebView.swift @@ -1,6 +1,7 @@ import Models import Utils import WebKit + // swiftlint:disable file_length /// Describes actions that can be sent from the WebView back to native views. @@ -191,6 +192,14 @@ public final class OmnivoreWebView: WKWebView { } } #endif + + // Because all the snackbar stuff lives in app we just use notifications here + func showInReaderSnackbar(_ message: String) { + NotificationCenter.default.post(name: Notification.Name("SnackBar"), + object: nil, + userInfo: ["message": message, + "dismissAfter": 2000 as Any]) + } } #if os(iOS) From 85caaa7ea36aa9ccf96ecd43b40587c05824bb06 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 5 Feb 2024 14:02:31 +0800 Subject: [PATCH 13/39] Use transmission for snackbar, fix issue with ownership of currently viewed item The list object of the root library view had ownership of the currently selected item, so object modifications that removed the item from the current library list (like move or archive) could cause the object to be released and the current screen to continue operating on an invalid object. --- .../AudioPlayer/ExpandedAudioPlayer.swift | 8 ++-- .../LibraryItemListNavigationLink.swift | 26 +++------- .../App/Views/Home/HomeFeedViewIOS.swift | 19 ++++++++ .../App/Views/Home/HomeFeedViewModel.swift | 11 ++++- .../Sources/App/Views/LibraryTabView.swift | 12 ----- .../App/Views/LinkItemDetailView.swift | 2 +- .../App/Views/PrimaryContentView.swift | 48 ++++++++++++++++++- .../Views/WebReader/WebReaderContainer.swift | 46 ++++++++---------- 8 files changed, 106 insertions(+), 66 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ExpandedAudioPlayer.swift b/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ExpandedAudioPlayer.swift index 51b7de10e..89035da24 100644 --- a/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ExpandedAudioPlayer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/AudioPlayer/ExpandedAudioPlayer.swift @@ -24,9 +24,9 @@ @State var showLabelsModal = false @State var showNotebookView = false - @State var showOperationToast = false + @State var showSnackbar = false @State var operationStatus: OperationStatus = .none - @State var operationMessage: String? + @State var snackbarMessage: String? var playPauseButtonImage: String { switch audioController.state { @@ -384,8 +384,8 @@ func playerContent(_: LinkedItemAudioProperties) -> some View { ZStack { - WindowLink(level: .alert, transition: .move(edge: .bottom), isPresented: $showOperationToast) { - OperationToast(operationMessage: $operationMessage, showOperationToast: $showOperationToast, operationStatus: $operationStatus) + WindowLink(level: .alert, transition: .move(edge: .bottom), isPresented: $showSnackbar) { + OperationToast(operationMessage: $snackbarMessage, showOperationToast: $showSnackbar, operationStatus: $operationStatus) .offset(y: -90) } label: { EmptyView() diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift b/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift index 02b4514a0..4f987d7d1 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift @@ -29,29 +29,15 @@ struct LibraryItemListNavigationLink: View { @EnvironmentObject var dataService: DataService @EnvironmentObject var audioController: AudioController - @ObservedObject var item: Models.LibraryItem - @ObservedObject var viewModel: HomeFeedViewModel + let item: Models.LibraryItem + let viewModel: HomeFeedViewModel var body: some View { - ZStack { + Button(action: { + viewModel.presentItem(item: item) + }, label: { LibraryItemCard(item: LibraryItemData.make(from: item), viewer: dataService.currentViewer) - PresentationLink( - transition: PresentationLinkTransition.slide( - options: PresentationLinkTransition.SlideTransitionOptions(edge: .trailing, - options: - PresentationLinkTransition.Options( - modalPresentationCapturesStatusBarAppearance: true - ))), - destination: { - LinkItemDetailView( - linkedItemObjectID: item.objectID, - isPDF: item.isPDF - ) - }, label: { - EmptyView() - } - ) - } + }) } } diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift index ed39d891d..93865e28c 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift @@ -461,6 +461,15 @@ struct AnimatingCellHeight: AnimatableModifier { @ObservedObject var viewModel: HomeFeedViewModel let showFeatureCards: Bool + var slideTransition: PresentationLinkTransition { + PresentationLinkTransition.slide( + options: PresentationLinkTransition.SlideTransitionOptions(edge: .trailing, + options: + PresentationLinkTransition.Options( + modalPresentationCapturesStatusBarAppearance: true + ) + )) + } var body: some View { VStack(spacing: 0) { @@ -481,6 +490,16 @@ struct AnimatingCellHeight: AnimatableModifier { } ) } + PresentationLink(transition: slideTransition, isPresented: $viewModel.linkIsActive) { + if let presentingItem = viewModel.selectedItem { + WebReaderContainerView(item: presentingItem) + } else { + EmptyView() + } + } label: { + EmptyView() + }.buttonStyle(.plain) + if prefersListLayout || !enableGrid { HomeFeedListView( listTitle: $listTitle, diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift index 6f458a251..513274b58 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift @@ -13,7 +13,7 @@ enum LoadingBarStyle { @MainActor final class HomeFeedViewModel: NSObject, ObservableObject { let filterKey: String - @ObservedObject var fetcher: LibraryItemFetcher + @Published var fetcher: LibraryItemFetcher let folderConfigs: [String: LibraryListConfig] @Published var isLoading = false @@ -67,6 +67,13 @@ enum LoadingBarStyle { super.init() } + func presentItem(item: Models.LibraryItem) { + withAnimation { + self.selectedItem = item + self.linkIsActive = true + } + } + private var filterState: FetcherFilterState? { if let appliedFilter = appliedFilter { return FetcherFilterState( @@ -307,7 +314,7 @@ enum LoadingBarStyle { Task { do { try await dataService.moveItem(itemID: item.unwrappedID, folder: folder) - snackbar("Item moved") + snackbar("Moved to library") } catch { snackbar("Error moving item to \(folder)") } diff --git a/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift b/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift index aa86d5ad3..40cdb5f48 100644 --- a/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift @@ -137,18 +137,6 @@ struct LibraryTabView: View { ) } .navigationBarHidden(true) - .onReceive(NSNotification.snackBarPublisher) { notification in - if let message = notification.userInfo?["message"] as? String { - showOperationToast = true - operationMessage = message - operationStatus = .isPerforming - if let dismissAfter = notification.userInfo?["dismissAfter"] as? Int { - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(dismissAfter)) { - showOperationToast = false - } - } - } - } .onReceive(NSNotification.performSyncPublisher) { _ in Task { await syncManager.syncUpdates(dataService: dataService) diff --git a/apple/OmnivoreKit/Sources/App/Views/LinkItemDetailView.swift b/apple/OmnivoreKit/Sources/App/Views/LinkItemDetailView.swift index 4b6fb28c5..96891e0cb 100644 --- a/apple/OmnivoreKit/Sources/App/Views/LinkItemDetailView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/LinkItemDetailView.swift @@ -71,7 +71,7 @@ struct LinkItemDetailView: View { } .navigationViewStyle(.stack) } else if let item = viewModel.item { - WebReaderContainerView(item: item, pop: { dismiss() }) + WebReaderContainerView(item: item) .background(ThemeManager.currentBgColor) } } diff --git a/apple/OmnivoreKit/Sources/App/Views/PrimaryContentView.swift b/apple/OmnivoreKit/Sources/App/Views/PrimaryContentView.swift index 95ff33563..634553453 100644 --- a/apple/OmnivoreKit/Sources/App/Views/PrimaryContentView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/PrimaryContentView.swift @@ -2,12 +2,39 @@ import Models import Services import SwiftUI import Views +import Transmission @MainActor public struct PrimaryContentView: View { - @State var searchTerm: String = "" + @State var showSnackbar = false + @State var snackbarMessage: String? + @State var snackbarUndoAction: (() -> Void)? + + @State private var snackbarTimer: Timer? public var body: some View { - innerBody + ZStack { + WindowLink(level: .alert, transition: .move(edge: .bottom), isPresented: $showSnackbar) { + InformationalSnackbar(message: snackbarMessage, undoAction: snackbarUndoAction) + } label: { + EmptyView() + }.buttonStyle(.plain) + + innerBody + } + .onReceive(NSNotification.snackBarPublisher) { notification in + if let message = notification.userInfo?["message"] as? String { + snackbarUndoAction = notification.userInfo?["undoAction"] as? (() -> Void) + snackbarMessage = message + showSnackbar = true + + let dismissAfter = notification.userInfo?["dismissAfter"] as? Int ?? 2000 + if snackbarTimer == nil { + startTimer(amount: dismissAfter) + } else { + increaseTimeout(amount: dismissAfter) + } + } + } } public var innerBody: some View { @@ -25,4 +52,21 @@ import Views return AnyView(splitView) #endif } + + func startTimer(amount: Int) { + self.snackbarTimer = Timer.scheduledTimer(withTimeInterval: TimeInterval(amount / 1000), repeats: false) { _ in + DispatchQueue.main.async { + self.showSnackbar = false + } + } + } + + func stopTimer() { + snackbarTimer?.invalidate() + } + + func increaseTimeout(amount: Int) { + stopTimer() + startTimer(amount: amount) + } } diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift index bfc17dca4..baff59d8d 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift @@ -9,8 +9,8 @@ import WebKit // swiftlint:disable file_length type_body_length struct WebReaderContainerView: View { - let item: Models.LibraryItem - let pop: () -> Void + @State var item: Models.LibraryItem + @Environment(\.dismiss) private var dismiss @State private var showPreferencesPopover = false @State private var showPreferencesFormsheet = false @@ -44,7 +44,6 @@ struct WebReaderContainerView: View { @EnvironmentObject var audioController: AudioController @Environment(\.openURL) var openURL @StateObject var viewModel = WebReaderViewModel() - @Environment(\.dismiss) var dismiss @AppStorage(UserDefaultKey.prefersHideStatusBarInReader.rawValue) var prefersHideStatusBarInReader = false @@ -252,7 +251,7 @@ struct WebReaderContainerView: View { #if os(iOS) Button( action: { - pop() + dismiss() }, label: { Image.chevronRight @@ -492,13 +491,6 @@ struct WebReaderContainerView: View { } } } - .sheet(isPresented: $showLabelsModal) { - ApplyLabelsView(mode: .item(item), onSave: { labels in - showLabelsModal = false - item.labels = NSSet(array: labels) - readerSettingsChangedTransactionID = UUID() - }) - } .sheet(isPresented: $showTitleEdit) { LinkedItemMetadataEditView(item: item, onSave: { title, _ in item.title = title @@ -506,6 +498,13 @@ struct WebReaderContainerView: View { readerSettingsChangedTransactionID = UUID() }) } + .sheet(isPresented: $showLabelsModal) { + ApplyLabelsView(mode: .item(item), onSave: { labels in + showLabelsModal = false + item.labels = NSSet(array: labels) + readerSettingsChangedTransactionID = UUID() + }) + } #if os(iOS) .sheet(isPresented: $showNotebookView, onDismiss: onNotebookViewDismissal) { NotebookView( @@ -616,26 +615,18 @@ struct WebReaderContainerView: View { WebViewManager.shared().loadHTMLString(WebReaderContent.emptyContent(isDark: Color.isDarkMode), baseURL: nil) } .onReceive(NotificationCenter.default.publisher(for: Notification.Name("PopToRoot"))) { _ in - pop() + dismiss() } .ignoresSafeArea(.all, edges: .bottom) } func moveToInbox() { Task { - viewModel.showOperationToast = true - viewModel.operationMessage = "Moving to library..." - viewModel.operationStatus = .isPerforming do { try await dataService.moveItem(itemID: item.unwrappedID, folder: "inbox") - viewModel.operationMessage = "Moved to library" - viewModel.operationStatus = .success - DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(1500)) { - viewModel.showOperationToast = false - } + Snackbar.show(message: "Moved to library", dismissAfter: 2000) } catch { - viewModel.operationMessage = "Error moving" - viewModel.operationStatus = .failure + Snackbar.show(message: "Error moving item to inbox", dismissAfter: 2000) } } } @@ -644,8 +635,12 @@ struct WebReaderContainerView: View { let isArchived = item.isArchived dataService.archiveLink(objectID: item.objectID, archived: !isArchived) #if os(iOS) - pop() - Snackbar.show(message: isArchived ? "Unarchived" : "Archived", dismissAfter: 2000) + dismiss() + + Snackbar.show(message: isArchived ? "Unarchived" : "Archived", undoAction: { + dataService.archiveLink(objectID: item.objectID, archived: isArchived) + Snackbar.show(message: isArchived ? "Archived" : "Unarchived", dismissAfter: 2000) + }, dismissAfter: 2000) #endif } @@ -673,7 +668,8 @@ struct WebReaderContainerView: View { } func delete() { - pop() + dismiss() + #if os(iOS) DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(100)) { removeLibraryItemAction(dataService: dataService, objectID: item.objectID) From 01a51a347e5610b1ade9cbbad5670c5952ade050 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 5 Feb 2024 17:14:47 +0800 Subject: [PATCH 14/39] Use new presentation logic for feature cards --- .../LibraryFeatureCardNavigationLink.swift | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryFeatureCardNavigationLink.swift b/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryFeatureCardNavigationLink.swift index 22c9cba70..984449170 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryFeatureCardNavigationLink.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryFeatureCardNavigationLink.swift @@ -21,23 +21,11 @@ struct LibraryFeatureCardNavigationLink: View { @State var showFeatureActions = false var body: some View { - PresentationLink( - transition: PresentationLinkTransition.slide( - options: PresentationLinkTransition.SlideTransitionOptions(edge: .trailing, - options: - PresentationLinkTransition.Options( - modalPresentationCapturesStatusBarAppearance: true - ))), - destination: { - LinkItemDetailView( - linkedItemObjectID: item.objectID, - isPDF: item.isPDF - ) - .background(ThemeManager.currentBgColor) - }, label: { - LibraryFeatureCard(item: item, viewer: dataService.currentViewer) - } - ) + Button(action: { + viewModel.presentItem(item: item) + }, label: { + LibraryFeatureCard(item: item, viewer: dataService.currentViewer) + }) .buttonStyle(.plain) .confirmationDialog("", isPresented: $showFeatureActions) { if FeaturedItemFilter(rawValue: viewModel.fetcher.featureFilter) == .pinned { From 737692214ccb2d372b5e378730b27c3023f3723b Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 5 Feb 2024 17:15:15 +0800 Subject: [PATCH 15/39] Use the new presentation logic for grid cards --- .../LibraryItemListNavigationLink.swift | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift b/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift index 4f987d7d1..cb3b384df 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/Components/LibraryItemListNavigationLink.swift @@ -51,22 +51,11 @@ struct LibraryItemGridCardNavigationLink: View { @ObservedObject var viewModel: HomeFeedViewModel var body: some View { - PresentationLink( - transition: PresentationLinkTransition.slide( - options: PresentationLinkTransition.SlideTransitionOptions(edge: .trailing, - options: - PresentationLinkTransition.Options( - modalPresentationCapturesStatusBarAppearance: true - ))), - destination: { - LinkItemDetailView( - linkedItemObjectID: item.objectID, - isPDF: item.isPDF - ) - }, label: { - GridCard(item: LibraryItemData.make(from: item)) - } - ) + Button(action: { + viewModel.presentItem(item: item) + }, label: { + GridCard(item: LibraryItemData.make(from: item)) + }) .buttonStyle(.plain) .aspectRatio(1.0, contentMode: .fill) .background(Color.systemBackground) From 5f3a3d4bf3a0a09dfec18d2def8b1ea017473f4b Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 5 Feb 2024 17:16:12 +0800 Subject: [PATCH 16/39] Add PDF loader, add Empty trash button --- .../App/Views/Home/HomeFeedViewIOS.swift | 133 +- .../App/Views/Home/HomeFeedViewModel.swift | 14 + .../Sources/App/Views/LibraryTabView.swift | 6 +- .../Views/WebReader/WebReaderContainer.swift | 9 + .../WebReader/WebReaderLoadingContainer.swift | 4 +- .../Views/WebReader/WebReaderViewModel.swift | 16 + .../Services/DataService/GQLSchema.swift | 54134 ++++++++-------- 7 files changed, 27352 insertions(+), 26964 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift index 93865e28c..c581f6646 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift @@ -369,58 +369,74 @@ struct AnimatingCellHeight: AnimatableModifier { } ToolbarItemGroup(placement: .barTrailing) { - if isEditMode == .active { - Button(action: { isEditMode = .inactive }, label: { Text("Cancel") }) - } else { - if prefersListLayout { + + if viewModel.appliedFilter?.name == "Deleted" { + if viewModel.isEmptyingTrash { + ProgressView() + } else { + Button( + action: { + viewModel.emptyTrash(dataService: dataService) + }, + label: { + Text("Empty trash").tint(Color.blue) + }) + .buttonStyle(.plain) + .foregroundColor(Color.blue) + } + } else { + if isEditMode == .active { + Button(action: { isEditMode = .inactive }, label: { Text("Cancel") }) + } else { + if prefersListLayout { + Button( + action: { isEditMode = isEditMode == .active ? .inactive : .active }, + label: { + Image + .selectMultiple + .foregroundColor(Color.toolbarItemForeground) + } + ).buttonStyle(.plain) + .padding(.horizontal, UIDevice.isIPad ? 5 : 0) + } + if enableGrid { + Button( + action: { prefersListLayout.toggle() }, + label: { + Image(systemName: prefersListLayout ? "square.grid.2x2" : "list.bullet") + .foregroundColor(Color.toolbarItemForeground) + } + ).buttonStyle(.plain) + .padding(.horizontal, UIDevice.isIPad ? 5 : 0) + } Button( - action: { isEditMode = isEditMode == .active ? .inactive : .active }, + action: { + if viewModel.currentFolder == "inbox" { + showAddLinkView = true + } else if viewModel.currentFolder == "following" { + viewModel.showAddFeedView = true + } + }, label: { - Image - .selectMultiple + Image.addLink .foregroundColor(Color.toolbarItemForeground) } ).buttonStyle(.plain) .padding(.horizontal, UIDevice.isIPad ? 5 : 0) + + Button( + action: { + searchPresented = true + isEditMode = .inactive + }, + label: { + Image + .magnifyingGlass + .foregroundColor(Color.toolbarItemForeground) + } + ).buttonStyle(.plain) + .padding(.horizontal, UIDevice.isIPad ? 5 : 0) } - if enableGrid { - Button( - action: { prefersListLayout.toggle() }, - label: { - Image(systemName: prefersListLayout ? "square.grid.2x2" : "list.bullet") - .foregroundColor(Color.toolbarItemForeground) - } - ).buttonStyle(.plain) - .padding(.horizontal, UIDevice.isIPad ? 5 : 0) - } - - Button( - action: { - if viewModel.currentFolder == "inbox" { - showAddLinkView = true - } else if viewModel.currentFolder == "following" { - viewModel.showAddFeedView = true - } - }, - label: { - Image.addLink - .foregroundColor(Color.toolbarItemForeground) - } - ).buttonStyle(.plain) - .padding(.horizontal, UIDevice.isIPad ? 5 : 0) - - Button( - action: { - searchPresented = true - isEditMode = .inactive - }, - label: { - Image - .magnifyingGlass - .foregroundColor(Color.toolbarItemForeground) - } - ).buttonStyle(.plain) - .padding(.horizontal, UIDevice.isIPad ? 5 : 0) } } @@ -430,19 +446,17 @@ struct AnimatingCellHeight: AnimatableModifier { viewModel.bulkAction(dataService: dataService, action: .delete, items: Array(selection)) isEditMode = .inactive }, label: { Image.toolbarTrash }) - .disabled(selection.count < 1) - .padding(.horizontal, UIDevice.isIPad ? 10 : 5) - + .disabled(selection.count < 1) + .padding(.horizontal, UIDevice.isIPad ? 10 : 5) Spacer() Text("\(selection.count) selected").font(.footnote) Spacer() - Button(action: { viewModel.bulkAction(dataService: dataService, action: .archive, items: Array(selection)) isEditMode = .inactive }, label: { Image.toolbarArchive }) - .disabled(selection.count < 1) - .padding(.horizontal, UIDevice.isIPad ? 10 : 5) + .disabled(selection.count < 1) + .padding(.horizontal, UIDevice.isIPad ? 10 : 5) } } } @@ -492,7 +506,11 @@ struct AnimatingCellHeight: AnimatableModifier { } PresentationLink(transition: slideTransition, isPresented: $viewModel.linkIsActive) { if let presentingItem = viewModel.selectedItem { - WebReaderContainerView(item: presentingItem) + if presentingItem.isPDF { + PDFContainerView(item: presentingItem) + } else { + WebReaderContainerView(item: presentingItem) + } } else { EmptyView() } @@ -805,6 +823,15 @@ struct AnimatingCellHeight: AnimatableModifier { .frame(maxWidth: .infinity) .padding() .listRowSeparator(.hidden, edges: .all) + } else if viewModel.isEmptyingTrash { + VStack { + Text("Emptying trash") + ProgressView() + } + .frame(minHeight: 400) + .frame(maxWidth: .infinity) + .padding() + .listRowSeparator(.hidden, edges: .all) } else if viewModel.fetcher.items.isEmpty { EmptyState(viewModel: viewModel) .listRowSeparator(.hidden, edges: .all) @@ -1138,6 +1165,8 @@ struct BottomView: View { var innerBody: some View { if viewModel.fetcher.items.count < 3 { AnyView(Color.clear) + } else if viewModel.appliedFilter?.name == "Deleted" { + AnyView(Color.clear) } else { AnyView(HStack { if let totalCount = viewModel.fetcher.totalCount { diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift index 513274b58..ceec00508 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift @@ -377,4 +377,18 @@ enum LoadingBarStyle { fetcher.updateFeatureFilter(context: context, filter: filter) } } + + @Published var isEmptyingTrash = false + + func emptyTrash(dataService: DataService) { + self.isEmptyingTrash = true + Task { + if !(await dataService.emptyTrash()) { + snackbar("Error emptying trash") + } else { + snackbar("Trash emptied") + } + isEmptyingTrash = false + } + } } diff --git a/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift b/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift index 40cdb5f48..07eebba3e 100644 --- a/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift +++ b/apple/OmnivoreKit/Sources/App/Views/LibraryTabView.swift @@ -73,11 +73,13 @@ struct LibraryTabView: View { @State var showOperationToast = false @State var operationStatus: OperationStatus = .none @State var operationMessage: String? - + var body: some View { VStack(spacing: 0) { WindowLink(level: .alert, transition: .move(edge: .bottom), isPresented: $showOperationToast) { - OperationToast(operationMessage: $operationMessage, showOperationToast: $showOperationToast, operationStatus: $operationStatus) + OperationToast(operationMessage: $operationMessage, + showOperationToast: $showOperationToast, + operationStatus: $operationStatus) } label: { EmptyView() }.buttonStyle(.plain) diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift index baff59d8d..122c90395 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift @@ -231,6 +231,10 @@ struct WebReaderContainerView: View { action: copyDeeplink, label: { Label("Copy Deeplink", systemImage: "link") } ) +// Button( +// action: print, +// label: { Label("Print", systemImage: "printer") } +// ) Button( action: delete, label: { Label("Remove", systemImage: "trash") } @@ -399,6 +403,7 @@ struct WebReaderContainerView: View { Task { await audioController.preload(itemIDs: [item.unwrappedID]) } + viewModel.trackReadEvent(item: item) } .confirmationDialog(linkToOpen?.absoluteString ?? "", isPresented: $displayLinkSheet, titleVisibility: .visible) { @@ -651,6 +656,10 @@ struct WebReaderContainerView: View { func share() { shareActionID = UUID() } + + func print() { + shareActionID = UUID() + } func copyDeeplink() { if let deepLink = item.deepLink { diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift index 8c1194425..88b14a80d 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderLoadingContainer.swift @@ -45,11 +45,13 @@ public struct WebReaderLoadingContainer: View { if let item = viewModel.item { if let pdfItem = PDFItem.make(item: item) { #if os(iOS) + NavigationView { PDFViewer(viewModel: PDFViewerViewModel(pdfItem: pdfItem)) .navigationBarHidden(true) .navigationViewStyle(.stack) .accentColor(.appGrayTextContrast) .onAppear { viewModel.trackReadEvent() } + } #else if let pdfURL = pdfItem.pdfURL { PDFWrapperView(pdfURL: pdfURL) @@ -58,7 +60,7 @@ public struct WebReaderLoadingContainer: View { } else if item.state == "CONTENT_NOT_FETCHED" { ProgressView() } else { - WebReaderContainerView(item: item, pop: { dismiss() }) + WebReaderContainerView(item: item) #if os(iOS) .navigationViewStyle(.stack) #endif diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift index 5f908647e..1a70626cf 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderViewModel.swift @@ -3,6 +3,7 @@ import Services import SwiftUI import Views import WebKit +import Utils struct SafariWebLink: Identifiable { let id: UUID @@ -229,4 +230,19 @@ struct SafariWebLink: Identifiable { } } } + + func trackReadEvent(item: Models.LibraryItem) { + let itemID = item.unwrappedID + let slug = item.unwrappedSlug + let originalArticleURL = item.unwrappedPageURLString + + EventTracker.track( + .linkRead( + linkID: itemID, + slug: slug, + reader: "WEB", + originalArticleURL: originalArticleURL + ) + ) + } } diff --git a/apple/OmnivoreKit/Sources/Services/DataService/GQLSchema.swift b/apple/OmnivoreKit/Sources/Services/DataService/GQLSchema.swift index 0fb0c9656..e051efd4c 100644 --- a/apple/OmnivoreKit/Sources/Services/DataService/GQLSchema.swift +++ b/apple/OmnivoreKit/Sources/Services/DataService/GQLSchema.swift @@ -6,25910 +6,26125 @@ import SwiftGraphQL enum Operations {} extension Objects.Query: GraphQLHttpOperation { - static var operation: String { "query" } + static var operation: String { "query" } } extension Objects.Mutation: GraphQLHttpOperation { - static var operation: String { "mutation" } + static var operation: String { "mutation" } } extension Objects.Subscription: GraphQLWebSocketOperation { - static var operation: String { "subscription" } + static var operation: String { "subscription" } } // MARK: - Objects enum Objects {} extension Objects { - struct AddPopularReadError { - let __typename: TypeName = .addPopularReadError - let errorCodes: [String: [Enums.AddPopularReadErrorCode]] + struct AddPopularReadError { + let __typename: TypeName = .addPopularReadError + let errorCodes: [String: [Enums.AddPopularReadErrorCode]] - enum TypeName: String, Codable { - case addPopularReadError = "AddPopularReadError" + enum TypeName: String, Codable { + case addPopularReadError = "AddPopularReadError" + } } - } } extension Objects.AddPopularReadError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.AddPopularReadErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.AddPopularReadErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.AddPopularReadError { - func errorCodes() throws -> [Enums.AddPopularReadErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.AddPopularReadErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias AddPopularReadError = Selection + typealias AddPopularReadError = Selection } extension Objects { - struct AddPopularReadSuccess { - let __typename: TypeName = .addPopularReadSuccess - let pageId: [String: String] + struct AddPopularReadSuccess { + let __typename: TypeName = .addPopularReadSuccess + let pageId: [String: String] - enum TypeName: String, Codable { - case addPopularReadSuccess = "AddPopularReadSuccess" + enum TypeName: String, Codable { + case addPopularReadSuccess = "AddPopularReadSuccess" + } } - } } extension Objects.AddPopularReadSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "pageId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "pageId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - pageId = map["pageId"] - } + pageId = map["pageId"] + } } extension Fields where TypeLock == Objects.AddPopularReadSuccess { - func pageId() throws -> String { - let field = GraphQLField.leaf( - name: "pageId", - arguments: [] - ) - select(field) + func pageId() throws -> String { + let field = GraphQLField.leaf( + name: "pageId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.pageId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.pageId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias AddPopularReadSuccess = Selection + typealias AddPopularReadSuccess = Selection } extension Objects { - struct ApiKey { - let __typename: TypeName = .apiKey - let createdAt: [String: DateTime] - let expiresAt: [String: DateTime] - let id: [String: String] - let key: [String: String] - let name: [String: String] - let scopes: [String: [String]] - let usedAt: [String: DateTime] + struct ApiKey { + let __typename: TypeName = .apiKey + let createdAt: [String: DateTime] + let expiresAt: [String: DateTime] + let id: [String: String] + let key: [String: String] + let name: [String: String] + let scopes: [String: [String]] + let usedAt: [String: DateTime] - enum TypeName: String, Codable { - case apiKey = "ApiKey" + enum TypeName: String, Codable { + case apiKey = "ApiKey" + } } - } } extension Objects.ApiKey: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "expiresAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "key": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "scopes": + if let value = try container.decode([String]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "usedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "expiresAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "key": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "scopes": - if let value = try container.decode([String]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "usedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdAt = map["createdAt"] + expiresAt = map["expiresAt"] + id = map["id"] + key = map["key"] + name = map["name"] + scopes = map["scopes"] + usedAt = map["usedAt"] } - - createdAt = map["createdAt"] - expiresAt = map["expiresAt"] - id = map["id"] - key = map["key"] - name = map["name"] - scopes = map["scopes"] - usedAt = map["usedAt"] - } } extension Fields where TypeLock == Objects.ApiKey { - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func expiresAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "expiresAt", - arguments: [] - ) - select(field) + func expiresAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "expiresAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.expiresAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.expiresAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func key() throws -> String? { - let field = GraphQLField.leaf( - name: "key", - arguments: [] - ) - select(field) + func key() throws -> String? { + let field = GraphQLField.leaf( + name: "key", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.key[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.key[field.alias!] + case .mocking: + return nil + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func scopes() throws -> [String]? { - let field = GraphQLField.leaf( - name: "scopes", - arguments: [] - ) - select(field) + func scopes() throws -> [String]? { + let field = GraphQLField.leaf( + name: "scopes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.scopes[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.scopes[field.alias!] + case .mocking: + return nil + } } - } - func usedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "usedAt", - arguments: [] - ) - select(field) + func usedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "usedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.usedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.usedAt[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ApiKey = Selection + typealias ApiKey = Selection } extension Objects { - struct ApiKeysError { - let __typename: TypeName = .apiKeysError - let errorCodes: [String: [Enums.ApiKeysErrorCode]] + struct ApiKeysError { + let __typename: TypeName = .apiKeysError + let errorCodes: [String: [Enums.ApiKeysErrorCode]] - enum TypeName: String, Codable { - case apiKeysError = "ApiKeysError" + enum TypeName: String, Codable { + case apiKeysError = "ApiKeysError" + } } - } } extension Objects.ApiKeysError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ApiKeysErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ApiKeysErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.ApiKeysError { - func errorCodes() throws -> [Enums.ApiKeysErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ApiKeysErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ApiKeysError = Selection + typealias ApiKeysError = Selection } extension Objects { - struct ApiKeysSuccess { - let __typename: TypeName = .apiKeysSuccess - let apiKeys: [String: [Objects.ApiKey]] + struct ApiKeysSuccess { + let __typename: TypeName = .apiKeysSuccess + let apiKeys: [String: [Objects.ApiKey]] - enum TypeName: String, Codable { - case apiKeysSuccess = "ApiKeysSuccess" + enum TypeName: String, Codable { + case apiKeysSuccess = "ApiKeysSuccess" + } } - } } extension Objects.ApiKeysSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "apiKeys": - if let value = try container.decode([Objects.ApiKey]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "apiKeys": + if let value = try container.decode([Objects.ApiKey]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - apiKeys = map["apiKeys"] - } + apiKeys = map["apiKeys"] + } } extension Fields where TypeLock == Objects.ApiKeysSuccess { - func apiKeys(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "apiKeys", - arguments: [], - selection: selection.selection - ) - select(field) + func apiKeys(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "apiKeys", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.apiKeys[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.apiKeys[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ApiKeysSuccess = Selection + typealias ApiKeysSuccess = Selection } extension Objects { - struct ArchiveLinkError { - let __typename: TypeName = .archiveLinkError - let errorCodes: [String: [Enums.ArchiveLinkErrorCode]] - let message: [String: String] + struct ArchiveLinkError { + let __typename: TypeName = .archiveLinkError + let errorCodes: [String: [Enums.ArchiveLinkErrorCode]] + let message: [String: String] - enum TypeName: String, Codable { - case archiveLinkError = "ArchiveLinkError" + enum TypeName: String, Codable { + case archiveLinkError = "ArchiveLinkError" + } } - } } extension Objects.ArchiveLinkError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ArchiveLinkErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ArchiveLinkErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + errorCodes = map["errorCodes"] + message = map["message"] } - - errorCodes = map["errorCodes"] - message = map["message"] - } } extension Fields where TypeLock == Objects.ArchiveLinkError { - func errorCodes() throws -> [Enums.ArchiveLinkErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ArchiveLinkErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } - func message() throws -> String { - let field = GraphQLField.leaf( - name: "message", - arguments: [] - ) - select(field) + func message() throws -> String { + let field = GraphQLField.leaf( + name: "message", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.message[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.message[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArchiveLinkError = Selection + typealias ArchiveLinkError = Selection } extension Objects { - struct ArchiveLinkSuccess { - let __typename: TypeName = .archiveLinkSuccess - let linkId: [String: String] - let message: [String: String] + struct ArchiveLinkSuccess { + let __typename: TypeName = .archiveLinkSuccess + let linkId: [String: String] + let message: [String: String] - enum TypeName: String, Codable { - case archiveLinkSuccess = "ArchiveLinkSuccess" + enum TypeName: String, Codable { + case archiveLinkSuccess = "ArchiveLinkSuccess" + } } - } } extension Objects.ArchiveLinkSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "linkId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "linkId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + linkId = map["linkId"] + message = map["message"] } - - linkId = map["linkId"] - message = map["message"] - } } extension Fields where TypeLock == Objects.ArchiveLinkSuccess { - func linkId() throws -> String { - let field = GraphQLField.leaf( - name: "linkId", - arguments: [] - ) - select(field) + func linkId() throws -> String { + let field = GraphQLField.leaf( + name: "linkId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.linkId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.linkId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func message() throws -> String { - let field = GraphQLField.leaf( - name: "message", - arguments: [] - ) - select(field) + func message() throws -> String { + let field = GraphQLField.leaf( + name: "message", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.message[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.message[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArchiveLinkSuccess = Selection + typealias ArchiveLinkSuccess = Selection } extension Objects { - struct Article { - let __typename: TypeName = .article - let author: [String: String] - let content: [String: String] - let contentReader: [String: Enums.ContentReader] - let createdAt: [String: DateTime] - let description: [String: String] - let folder: [String: String] - let hasContent: [String: Bool] - let hash: [String: String] - let highlights: [String: [Objects.Highlight]] - let id: [String: String] - let image: [String: String] - let isArchived: [String: Bool] - let labels: [String: [Objects.Label]] - let language: [String: String] - let linkId: [String: String] - let originalArticleUrl: [String: String] - let originalHtml: [String: String] - let pageType: [String: Enums.PageType] - let postedByViewer: [String: Bool] - let publishedAt: [String: DateTime] - let readAt: [String: DateTime] - let readingProgressAnchorIndex: [String: Int] - let readingProgressPercent: [String: Double] - let readingProgressTopPercent: [String: Double] - let recommendations: [String: [Objects.Recommendation]] - let savedAt: [String: DateTime] - let savedByViewer: [String: Bool] - let shareInfo: [String: Objects.LinkShareInfo] - let sharedComment: [String: String] - let siteIcon: [String: String] - let siteName: [String: String] - let slug: [String: String] - let state: [String: Enums.ArticleSavingRequestStatus] - let subscription: [String: String] - let title: [String: String] - let unsubHttpUrl: [String: String] - let unsubMailTo: [String: String] - let updatedAt: [String: DateTime] - let uploadFileId: [String: String] - let url: [String: String] - let wordsCount: [String: Int] + struct Article { + let __typename: TypeName = .article + let author: [String: String] + let content: [String: String] + let contentReader: [String: Enums.ContentReader] + let createdAt: [String: DateTime] + let description: [String: String] + let folder: [String: String] + let hasContent: [String: Bool] + let hash: [String: String] + let highlights: [String: [Objects.Highlight]] + let id: [String: String] + let image: [String: String] + let isArchived: [String: Bool] + let labels: [String: [Objects.Label]] + let language: [String: String] + let linkId: [String: String] + let originalArticleUrl: [String: String] + let originalHtml: [String: String] + let pageType: [String: Enums.PageType] + let postedByViewer: [String: Bool] + let publishedAt: [String: DateTime] + let readAt: [String: DateTime] + let readingProgressAnchorIndex: [String: Int] + let readingProgressPercent: [String: Double] + let readingProgressTopPercent: [String: Double] + let recommendations: [String: [Objects.Recommendation]] + let savedAt: [String: DateTime] + let savedByViewer: [String: Bool] + let shareInfo: [String: Objects.LinkShareInfo] + let sharedComment: [String: String] + let siteIcon: [String: String] + let siteName: [String: String] + let slug: [String: String] + let state: [String: Enums.ArticleSavingRequestStatus] + let subscription: [String: String] + let title: [String: String] + let unsubHttpUrl: [String: String] + let unsubMailTo: [String: String] + let updatedAt: [String: DateTime] + let uploadFileId: [String: String] + let url: [String: String] + let wordsCount: [String: Int] - enum TypeName: String, Codable { - case article = "Article" + enum TypeName: String, Codable { + case article = "Article" + } } - } } extension Objects.Article: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "author": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "author": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "content": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "contentReader": + if let value = try container.decode(Enums.ContentReader?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "folder": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "hasContent": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "hash": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlights": + if let value = try container.decode([Objects.Highlight]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "image": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "isArchived": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "labels": + if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "language": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "linkId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "originalArticleUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "originalHtml": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageType": + if let value = try container.decode(Enums.PageType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "postedByViewer": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "publishedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readingProgressAnchorIndex": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readingProgressPercent": + if let value = try container.decode(Double?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readingProgressTopPercent": + if let value = try container.decode(Double?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recommendations": + if let value = try container.decode([Objects.Recommendation]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "savedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "savedByViewer": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "shareInfo": + if let value = try container.decode(Objects.LinkShareInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedComment": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "siteIcon": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "siteName": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "slug": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "state": + if let value = try container.decode(Enums.ArticleSavingRequestStatus?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscription": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "title": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "unsubHttpUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "unsubMailTo": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadFileId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "wordsCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "content": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "contentReader": - if let value = try container.decode(Enums.ContentReader?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "folder": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "hasContent": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "hash": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "highlights": - if let value = try container.decode([Objects.Highlight]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "image": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "isArchived": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "labels": - if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "language": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "linkId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "originalArticleUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "originalHtml": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageType": - if let value = try container.decode(Enums.PageType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "postedByViewer": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "publishedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readingProgressAnchorIndex": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readingProgressPercent": - if let value = try container.decode(Double?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readingProgressTopPercent": - if let value = try container.decode(Double?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "recommendations": - if let value = try container.decode([Objects.Recommendation]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "savedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "savedByViewer": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "shareInfo": - if let value = try container.decode(Objects.LinkShareInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedComment": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "siteIcon": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "siteName": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "slug": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "state": - if let value = try container.decode(Enums.ArticleSavingRequestStatus?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "subscription": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "title": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "unsubHttpUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "unsubMailTo": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadFileId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "wordsCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + author = map["author"] + content = map["content"] + contentReader = map["contentReader"] + createdAt = map["createdAt"] + description = map["description"] + folder = map["folder"] + hasContent = map["hasContent"] + hash = map["hash"] + highlights = map["highlights"] + id = map["id"] + image = map["image"] + isArchived = map["isArchived"] + labels = map["labels"] + language = map["language"] + linkId = map["linkId"] + originalArticleUrl = map["originalArticleUrl"] + originalHtml = map["originalHtml"] + pageType = map["pageType"] + postedByViewer = map["postedByViewer"] + publishedAt = map["publishedAt"] + readAt = map["readAt"] + readingProgressAnchorIndex = map["readingProgressAnchorIndex"] + readingProgressPercent = map["readingProgressPercent"] + readingProgressTopPercent = map["readingProgressTopPercent"] + recommendations = map["recommendations"] + savedAt = map["savedAt"] + savedByViewer = map["savedByViewer"] + shareInfo = map["shareInfo"] + sharedComment = map["sharedComment"] + siteIcon = map["siteIcon"] + siteName = map["siteName"] + slug = map["slug"] + state = map["state"] + subscription = map["subscription"] + title = map["title"] + unsubHttpUrl = map["unsubHttpUrl"] + unsubMailTo = map["unsubMailTo"] + updatedAt = map["updatedAt"] + uploadFileId = map["uploadFileId"] + url = map["url"] + wordsCount = map["wordsCount"] } - - author = map["author"] - content = map["content"] - contentReader = map["contentReader"] - createdAt = map["createdAt"] - description = map["description"] - folder = map["folder"] - hasContent = map["hasContent"] - hash = map["hash"] - highlights = map["highlights"] - id = map["id"] - image = map["image"] - isArchived = map["isArchived"] - labels = map["labels"] - language = map["language"] - linkId = map["linkId"] - originalArticleUrl = map["originalArticleUrl"] - originalHtml = map["originalHtml"] - pageType = map["pageType"] - postedByViewer = map["postedByViewer"] - publishedAt = map["publishedAt"] - readAt = map["readAt"] - readingProgressAnchorIndex = map["readingProgressAnchorIndex"] - readingProgressPercent = map["readingProgressPercent"] - readingProgressTopPercent = map["readingProgressTopPercent"] - recommendations = map["recommendations"] - savedAt = map["savedAt"] - savedByViewer = map["savedByViewer"] - shareInfo = map["shareInfo"] - sharedComment = map["sharedComment"] - siteIcon = map["siteIcon"] - siteName = map["siteName"] - slug = map["slug"] - state = map["state"] - subscription = map["subscription"] - title = map["title"] - unsubHttpUrl = map["unsubHttpUrl"] - unsubMailTo = map["unsubMailTo"] - updatedAt = map["updatedAt"] - uploadFileId = map["uploadFileId"] - url = map["url"] - wordsCount = map["wordsCount"] - } } extension Fields where TypeLock == Objects.Article { - func author() throws -> String? { - let field = GraphQLField.leaf( - name: "author", - arguments: [] - ) - select(field) + func author() throws -> String? { + let field = GraphQLField.leaf( + name: "author", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.author[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.author[field.alias!] + case .mocking: + return nil + } } - } - func content() throws -> String { - let field = GraphQLField.leaf( - name: "content", - arguments: [] - ) - select(field) + func content() throws -> String { + let field = GraphQLField.leaf( + name: "content", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.content[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.content[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func contentReader() throws -> Enums.ContentReader { - let field = GraphQLField.leaf( - name: "contentReader", - arguments: [] - ) - select(field) + func contentReader() throws -> Enums.ContentReader { + let field = GraphQLField.leaf( + name: "contentReader", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.contentReader[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.ContentReader.allCases.first! + switch response { + case let .decoding(data): + if let data = data.contentReader[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.ContentReader.allCases.first! + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func folder() throws -> String { - let field = GraphQLField.leaf( - name: "folder", - arguments: [] - ) - select(field) + func folder() throws -> String { + let field = GraphQLField.leaf( + name: "folder", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.folder[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.folder[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func hasContent() throws -> Bool? { - let field = GraphQLField.leaf( - name: "hasContent", - arguments: [] - ) - select(field) + func hasContent() throws -> Bool? { + let field = GraphQLField.leaf( + name: "hasContent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.hasContent[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.hasContent[field.alias!] + case .mocking: + return nil + } } - } - func hash() throws -> String { - let field = GraphQLField.leaf( - name: "hash", - arguments: [] - ) - select(field) + func hash() throws -> String { + let field = GraphQLField.leaf( + name: "hash", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.hash[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.hash[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func highlights(input: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlights", - arguments: [Argument(name: "input", type: "ArticleHighlightsInput", value: input)], - selection: selection.selection - ) - select(field) + func highlights(input: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlights", + arguments: [Argument(name: "input", type: "ArticleHighlightsInput", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlights[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlights[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func image() throws -> String? { - let field = GraphQLField.leaf( - name: "image", - arguments: [] - ) - select(field) + func image() throws -> String? { + let field = GraphQLField.leaf( + name: "image", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.image[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.image[field.alias!] + case .mocking: + return nil + } } - } - func isArchived() throws -> Bool { - let field = GraphQLField.leaf( - name: "isArchived", - arguments: [] - ) - select(field) + func isArchived() throws -> Bool { + let field = GraphQLField.leaf( + name: "isArchived", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.isArchived[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.isArchived[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func labels(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "labels", - arguments: [], - selection: selection.selection - ) - select(field) + func labels(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "labels", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.labels[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.labels[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func language() throws -> String? { - let field = GraphQLField.leaf( - name: "language", - arguments: [] - ) - select(field) + func language() throws -> String? { + let field = GraphQLField.leaf( + name: "language", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.language[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.language[field.alias!] + case .mocking: + return nil + } } - } - func linkId() throws -> String? { - let field = GraphQLField.leaf( - name: "linkId", - arguments: [] - ) - select(field) + func linkId() throws -> String? { + let field = GraphQLField.leaf( + name: "linkId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.linkId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.linkId[field.alias!] + case .mocking: + return nil + } } - } - func originalArticleUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "originalArticleUrl", - arguments: [] - ) - select(field) + func originalArticleUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "originalArticleUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.originalArticleUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.originalArticleUrl[field.alias!] + case .mocking: + return nil + } } - } - func originalHtml() throws -> String? { - let field = GraphQLField.leaf( - name: "originalHtml", - arguments: [] - ) - select(field) + func originalHtml() throws -> String? { + let field = GraphQLField.leaf( + name: "originalHtml", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.originalHtml[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.originalHtml[field.alias!] + case .mocking: + return nil + } } - } - func pageType() throws -> Enums.PageType? { - let field = GraphQLField.leaf( - name: "pageType", - arguments: [] - ) - select(field) + func pageType() throws -> Enums.PageType? { + let field = GraphQLField.leaf( + name: "pageType", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.pageType[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.pageType[field.alias!] + case .mocking: + return nil + } } - } - func postedByViewer() throws -> Bool? { - let field = GraphQLField.leaf( - name: "postedByViewer", - arguments: [] - ) - select(field) + func postedByViewer() throws -> Bool? { + let field = GraphQLField.leaf( + name: "postedByViewer", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.postedByViewer[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.postedByViewer[field.alias!] + case .mocking: + return nil + } } - } - func publishedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "publishedAt", - arguments: [] - ) - select(field) + func publishedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "publishedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.publishedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.publishedAt[field.alias!] + case .mocking: + return nil + } } - } - func readAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "readAt", - arguments: [] - ) - select(field) + func readAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "readAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.readAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.readAt[field.alias!] + case .mocking: + return nil + } } - } - func readingProgressAnchorIndex() throws -> Int { - let field = GraphQLField.leaf( - name: "readingProgressAnchorIndex", - arguments: [] - ) - select(field) + func readingProgressAnchorIndex() throws -> Int { + let field = GraphQLField.leaf( + name: "readingProgressAnchorIndex", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.readingProgressAnchorIndex[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.readingProgressAnchorIndex[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } - func readingProgressPercent() throws -> Double { - let field = GraphQLField.leaf( - name: "readingProgressPercent", - arguments: [] - ) - select(field) + func readingProgressPercent() throws -> Double { + let field = GraphQLField.leaf( + name: "readingProgressPercent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.readingProgressPercent[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Double.mockValue + switch response { + case let .decoding(data): + if let data = data.readingProgressPercent[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Double.mockValue + } } - } - func readingProgressTopPercent() throws -> Double? { - let field = GraphQLField.leaf( - name: "readingProgressTopPercent", - arguments: [] - ) - select(field) + func readingProgressTopPercent() throws -> Double? { + let field = GraphQLField.leaf( + name: "readingProgressTopPercent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.readingProgressTopPercent[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.readingProgressTopPercent[field.alias!] + case .mocking: + return nil + } } - } - func recommendations(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "recommendations", - arguments: [], - selection: selection.selection - ) - select(field) + func recommendations(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "recommendations", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.recommendations[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.recommendations[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func savedAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "savedAt", - arguments: [] - ) - select(field) + func savedAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "savedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.savedAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.savedAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func savedByViewer() throws -> Bool? { - let field = GraphQLField.leaf( - name: "savedByViewer", - arguments: [] - ) - select(field) + func savedByViewer() throws -> Bool? { + let field = GraphQLField.leaf( + name: "savedByViewer", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.savedByViewer[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.savedByViewer[field.alias!] + case .mocking: + return nil + } } - } - func shareInfo(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "shareInfo", - arguments: [], - selection: selection.selection - ) - select(field) + func shareInfo(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "shareInfo", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.shareInfo[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.shareInfo[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func sharedComment() throws -> String? { - let field = GraphQLField.leaf( - name: "sharedComment", - arguments: [] - ) - select(field) + func sharedComment() throws -> String? { + let field = GraphQLField.leaf( + name: "sharedComment", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.sharedComment[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.sharedComment[field.alias!] + case .mocking: + return nil + } } - } - func siteIcon() throws -> String? { - let field = GraphQLField.leaf( - name: "siteIcon", - arguments: [] - ) - select(field) + func siteIcon() throws -> String? { + let field = GraphQLField.leaf( + name: "siteIcon", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.siteIcon[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.siteIcon[field.alias!] + case .mocking: + return nil + } } - } - func siteName() throws -> String? { - let field = GraphQLField.leaf( - name: "siteName", - arguments: [] - ) - select(field) + func siteName() throws -> String? { + let field = GraphQLField.leaf( + name: "siteName", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.siteName[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.siteName[field.alias!] + case .mocking: + return nil + } } - } - func slug() throws -> String { - let field = GraphQLField.leaf( - name: "slug", - arguments: [] - ) - select(field) + func slug() throws -> String { + let field = GraphQLField.leaf( + name: "slug", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.slug[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.slug[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func state() throws -> Enums.ArticleSavingRequestStatus? { - let field = GraphQLField.leaf( - name: "state", - arguments: [] - ) - select(field) + func state() throws -> Enums.ArticleSavingRequestStatus? { + let field = GraphQLField.leaf( + name: "state", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.state[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.state[field.alias!] + case .mocking: + return nil + } } - } - func subscription() throws -> String? { - let field = GraphQLField.leaf( - name: "subscription", - arguments: [] - ) - select(field) + func subscription() throws -> String? { + let field = GraphQLField.leaf( + name: "subscription", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.subscription[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.subscription[field.alias!] + case .mocking: + return nil + } } - } - func title() throws -> String { - let field = GraphQLField.leaf( - name: "title", - arguments: [] - ) - select(field) + func title() throws -> String { + let field = GraphQLField.leaf( + name: "title", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.title[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.title[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func unsubHttpUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "unsubHttpUrl", - arguments: [] - ) - select(field) + func unsubHttpUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "unsubHttpUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.unsubHttpUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.unsubHttpUrl[field.alias!] + case .mocking: + return nil + } } - } - func unsubMailTo() throws -> String? { - let field = GraphQLField.leaf( - name: "unsubMailTo", - arguments: [] - ) - select(field) + func unsubMailTo() throws -> String? { + let field = GraphQLField.leaf( + name: "unsubMailTo", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.unsubMailTo[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.unsubMailTo[field.alias!] + case .mocking: + return nil + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func uploadFileId() throws -> String? { - let field = GraphQLField.leaf( - name: "uploadFileId", - arguments: [] - ) - select(field) + func uploadFileId() throws -> String? { + let field = GraphQLField.leaf( + name: "uploadFileId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.uploadFileId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.uploadFileId[field.alias!] + case .mocking: + return nil + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func wordsCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "wordsCount", - arguments: [] - ) - select(field) + func wordsCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "wordsCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.wordsCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.wordsCount[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Article = Selection + typealias Article = Selection } extension Objects { - struct ArticleEdge { - let __typename: TypeName = .articleEdge - let cursor: [String: String] - let node: [String: Objects.Article] + struct ArticleEdge { + let __typename: TypeName = .articleEdge + let cursor: [String: String] + let node: [String: Objects.Article] - enum TypeName: String, Codable { - case articleEdge = "ArticleEdge" + enum TypeName: String, Codable { + case articleEdge = "ArticleEdge" + } } - } } extension Objects.ArticleEdge: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "cursor": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "cursor": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "node": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "node": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + cursor = map["cursor"] + node = map["node"] } - - cursor = map["cursor"] - node = map["node"] - } } extension Fields where TypeLock == Objects.ArticleEdge { - func cursor() throws -> String { - let field = GraphQLField.leaf( - name: "cursor", - arguments: [] - ) - select(field) + func cursor() throws -> String { + let field = GraphQLField.leaf( + name: "cursor", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.cursor[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.cursor[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func node(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "node", - arguments: [], - selection: selection.selection - ) - select(field) + func node(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "node", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.node[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.node[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleEdge = Selection + typealias ArticleEdge = Selection } extension Objects { - struct ArticleError { - let __typename: TypeName = .articleError - let errorCodes: [String: [Enums.ArticleErrorCode]] + struct ArticleError { + let __typename: TypeName = .articleError + let errorCodes: [String: [Enums.ArticleErrorCode]] - enum TypeName: String, Codable { - case articleError = "ArticleError" + enum TypeName: String, Codable { + case articleError = "ArticleError" + } } - } } extension Objects.ArticleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.ArticleError { - func errorCodes() throws -> [Enums.ArticleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ArticleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleError = Selection + typealias ArticleError = Selection } extension Objects { - struct ArticleSavingRequest { - let __typename: TypeName = .articleSavingRequest - let article: [String: Objects.Article] - let createdAt: [String: DateTime] - let errorCode: [String: Enums.CreateArticleErrorCode] - let id: [String: String] - let slug: [String: String] - let status: [String: Enums.ArticleSavingRequestStatus] - let updatedAt: [String: DateTime] - let url: [String: String] - let user: [String: Objects.User] - let userId: [String: String] + struct ArticleSavingRequest { + let __typename: TypeName = .articleSavingRequest + let article: [String: Objects.Article] + let createdAt: [String: DateTime] + let errorCode: [String: Enums.CreateArticleErrorCode] + let id: [String: String] + let slug: [String: String] + let status: [String: Enums.ArticleSavingRequestStatus] + let updatedAt: [String: DateTime] + let url: [String: String] + let user: [String: Objects.User] + let userId: [String: String] - enum TypeName: String, Codable { - case articleSavingRequest = "ArticleSavingRequest" + enum TypeName: String, Codable { + case articleSavingRequest = "ArticleSavingRequest" + } } - } } extension Objects.ArticleSavingRequest: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "article": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "article": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCode": + if let value = try container.decode(Enums.CreateArticleErrorCode?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "slug": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "status": + if let value = try container.decode(Enums.ArticleSavingRequestStatus?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "userId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "errorCode": - if let value = try container.decode(Enums.CreateArticleErrorCode?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "slug": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "status": - if let value = try container.decode(Enums.ArticleSavingRequestStatus?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "userId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + article = map["article"] + createdAt = map["createdAt"] + errorCode = map["errorCode"] + id = map["id"] + slug = map["slug"] + status = map["status"] + updatedAt = map["updatedAt"] + url = map["url"] + user = map["user"] + userId = map["userId"] } - - article = map["article"] - createdAt = map["createdAt"] - errorCode = map["errorCode"] - id = map["id"] - slug = map["slug"] - status = map["status"] - updatedAt = map["updatedAt"] - url = map["url"] - user = map["user"] - userId = map["userId"] - } } extension Fields where TypeLock == Objects.ArticleSavingRequest { - @available(*, deprecated, message: "article has been replaced with slug") - func article(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "article", - arguments: [], - selection: selection.selection - ) - select(field) + @available(*, deprecated, message: "article has been replaced with slug") + func article(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "article", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.article[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.article[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func errorCode() throws -> Enums.CreateArticleErrorCode? { - let field = GraphQLField.leaf( - name: "errorCode", - arguments: [] - ) - select(field) + func errorCode() throws -> Enums.CreateArticleErrorCode? { + let field = GraphQLField.leaf( + name: "errorCode", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.errorCode[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.errorCode[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func slug() throws -> String { - let field = GraphQLField.leaf( - name: "slug", - arguments: [] - ) - select(field) + func slug() throws -> String { + let field = GraphQLField.leaf( + name: "slug", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.slug[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.slug[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func status() throws -> Enums.ArticleSavingRequestStatus { - let field = GraphQLField.leaf( - name: "status", - arguments: [] - ) - select(field) + func status() throws -> Enums.ArticleSavingRequestStatus { + let field = GraphQLField.leaf( + name: "status", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.status[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.ArticleSavingRequestStatus.allCases.first! + switch response { + case let .decoding(data): + if let data = data.status[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.ArticleSavingRequestStatus.allCases.first! + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - @available(*, deprecated, message: "userId has been replaced with user") - func userId() throws -> String { - let field = GraphQLField.leaf( - name: "userId", - arguments: [] - ) - select(field) + @available(*, deprecated, message: "userId has been replaced with user") + func userId() throws -> String { + let field = GraphQLField.leaf( + name: "userId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.userId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.userId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleSavingRequest = Selection + typealias ArticleSavingRequest = Selection } extension Objects { - struct ArticleSavingRequestError { - let __typename: TypeName = .articleSavingRequestError - let errorCodes: [String: [Enums.ArticleSavingRequestErrorCode]] + struct ArticleSavingRequestError { + let __typename: TypeName = .articleSavingRequestError + let errorCodes: [String: [Enums.ArticleSavingRequestErrorCode]] - enum TypeName: String, Codable { - case articleSavingRequestError = "ArticleSavingRequestError" + enum TypeName: String, Codable { + case articleSavingRequestError = "ArticleSavingRequestError" + } } - } } extension Objects.ArticleSavingRequestError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ArticleSavingRequestErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ArticleSavingRequestErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.ArticleSavingRequestError { - func errorCodes() throws -> [Enums.ArticleSavingRequestErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ArticleSavingRequestErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleSavingRequestError = Selection + typealias ArticleSavingRequestError = Selection } extension Objects { - struct ArticleSavingRequestSuccess { - let __typename: TypeName = .articleSavingRequestSuccess - let articleSavingRequest: [String: Objects.ArticleSavingRequest] + struct ArticleSavingRequestSuccess { + let __typename: TypeName = .articleSavingRequestSuccess + let articleSavingRequest: [String: Objects.ArticleSavingRequest] - enum TypeName: String, Codable { - case articleSavingRequestSuccess = "ArticleSavingRequestSuccess" + enum TypeName: String, Codable { + case articleSavingRequestSuccess = "ArticleSavingRequestSuccess" + } } - } } extension Objects.ArticleSavingRequestSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "articleSavingRequest": - if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "articleSavingRequest": + if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - articleSavingRequest = map["articleSavingRequest"] - } + articleSavingRequest = map["articleSavingRequest"] + } } extension Fields where TypeLock == Objects.ArticleSavingRequestSuccess { - func articleSavingRequest(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "articleSavingRequest", - arguments: [], - selection: selection.selection - ) - select(field) + func articleSavingRequest(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "articleSavingRequest", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.articleSavingRequest[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.articleSavingRequest[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleSavingRequestSuccess = Selection + typealias ArticleSavingRequestSuccess = Selection } extension Objects { - struct ArticleSuccess { - let __typename: TypeName = .articleSuccess - let article: [String: Objects.Article] + struct ArticleSuccess { + let __typename: TypeName = .articleSuccess + let article: [String: Objects.Article] - enum TypeName: String, Codable { - case articleSuccess = "ArticleSuccess" + enum TypeName: String, Codable { + case articleSuccess = "ArticleSuccess" + } } - } } extension Objects.ArticleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "article": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "article": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - article = map["article"] - } + article = map["article"] + } } extension Fields where TypeLock == Objects.ArticleSuccess { - func article(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "article", - arguments: [], - selection: selection.selection - ) - select(field) + func article(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "article", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.article[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.article[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleSuccess = Selection + typealias ArticleSuccess = Selection } extension Objects { - struct ArticlesError { - let __typename: TypeName = .articlesError - let errorCodes: [String: [Enums.ArticlesErrorCode]] + struct ArticlesError { + let __typename: TypeName = .articlesError + let errorCodes: [String: [Enums.ArticlesErrorCode]] - enum TypeName: String, Codable { - case articlesError = "ArticlesError" + enum TypeName: String, Codable { + case articlesError = "ArticlesError" + } } - } } extension Objects.ArticlesError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ArticlesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ArticlesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.ArticlesError { - func errorCodes() throws -> [Enums.ArticlesErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ArticlesErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticlesError = Selection + typealias ArticlesError = Selection } extension Objects { - struct ArticlesSuccess { - let __typename: TypeName = .articlesSuccess - let edges: [String: [Objects.ArticleEdge]] - let pageInfo: [String: Objects.PageInfo] + struct ArticlesSuccess { + let __typename: TypeName = .articlesSuccess + let edges: [String: [Objects.ArticleEdge]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case articlesSuccess = "ArticlesSuccess" + enum TypeName: String, Codable { + case articlesSuccess = "ArticlesSuccess" + } } - } } extension Objects.ArticlesSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.ArticleEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.ArticleEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + edges = map["edges"] + pageInfo = map["pageInfo"] } - - edges = map["edges"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Objects.ArticlesSuccess { - func edges(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "edges", - arguments: [], - selection: selection.selection - ) - select(field) + func edges(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "edges", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.edges[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.edges[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func pageInfo(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "pageInfo", - arguments: [], - selection: selection.selection - ) - select(field) + func pageInfo(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "pageInfo", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.pageInfo[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.pageInfo[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticlesSuccess = Selection + typealias ArticlesSuccess = Selection } extension Objects { - struct BulkActionError { - let __typename: TypeName = .bulkActionError - let errorCodes: [String: [Enums.BulkActionErrorCode]] + struct BulkActionError { + let __typename: TypeName = .bulkActionError + let errorCodes: [String: [Enums.BulkActionErrorCode]] - enum TypeName: String, Codable { - case bulkActionError = "BulkActionError" + enum TypeName: String, Codable { + case bulkActionError = "BulkActionError" + } } - } } extension Objects.BulkActionError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.BulkActionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.BulkActionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.BulkActionError { - func errorCodes() throws -> [Enums.BulkActionErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.BulkActionErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias BulkActionError = Selection + typealias BulkActionError = Selection } extension Objects { - struct BulkActionSuccess { - let __typename: TypeName = .bulkActionSuccess - let success: [String: Bool] + struct BulkActionSuccess { + let __typename: TypeName = .bulkActionSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case bulkActionSuccess = "BulkActionSuccess" + enum TypeName: String, Codable { + case bulkActionSuccess = "BulkActionSuccess" + } } - } } extension Objects.BulkActionSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.BulkActionSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias BulkActionSuccess = Selection + typealias BulkActionSuccess = Selection } extension Objects { - struct CreateArticleError { - let __typename: TypeName = .createArticleError - let errorCodes: [String: [Enums.CreateArticleErrorCode]] + struct CreateArticleError { + let __typename: TypeName = .createArticleError + let errorCodes: [String: [Enums.CreateArticleErrorCode]] - enum TypeName: String, Codable { - case createArticleError = "CreateArticleError" + enum TypeName: String, Codable { + case createArticleError = "CreateArticleError" + } } - } } extension Objects.CreateArticleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateArticleError { - func errorCodes() throws -> [Enums.CreateArticleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateArticleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateArticleError = Selection + typealias CreateArticleError = Selection } extension Objects { - struct CreateArticleSavingRequestError { - let __typename: TypeName = .createArticleSavingRequestError - let errorCodes: [String: [Enums.CreateArticleSavingRequestErrorCode]] + struct CreateArticleSavingRequestError { + let __typename: TypeName = .createArticleSavingRequestError + let errorCodes: [String: [Enums.CreateArticleSavingRequestErrorCode]] - enum TypeName: String, Codable { - case createArticleSavingRequestError = "CreateArticleSavingRequestError" + enum TypeName: String, Codable { + case createArticleSavingRequestError = "CreateArticleSavingRequestError" + } } - } } extension Objects.CreateArticleSavingRequestError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateArticleSavingRequestErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateArticleSavingRequestErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateArticleSavingRequestError { - func errorCodes() throws -> [Enums.CreateArticleSavingRequestErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateArticleSavingRequestErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateArticleSavingRequestError = Selection + typealias CreateArticleSavingRequestError = Selection } extension Objects { - struct CreateArticleSavingRequestSuccess { - let __typename: TypeName = .createArticleSavingRequestSuccess - let articleSavingRequest: [String: Objects.ArticleSavingRequest] + struct CreateArticleSavingRequestSuccess { + let __typename: TypeName = .createArticleSavingRequestSuccess + let articleSavingRequest: [String: Objects.ArticleSavingRequest] - enum TypeName: String, Codable { - case createArticleSavingRequestSuccess = "CreateArticleSavingRequestSuccess" + enum TypeName: String, Codable { + case createArticleSavingRequestSuccess = "CreateArticleSavingRequestSuccess" + } } - } } extension Objects.CreateArticleSavingRequestSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "articleSavingRequest": - if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "articleSavingRequest": + if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - articleSavingRequest = map["articleSavingRequest"] - } + articleSavingRequest = map["articleSavingRequest"] + } } extension Fields where TypeLock == Objects.CreateArticleSavingRequestSuccess { - func articleSavingRequest(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "articleSavingRequest", - arguments: [], - selection: selection.selection - ) - select(field) + func articleSavingRequest(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "articleSavingRequest", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.articleSavingRequest[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.articleSavingRequest[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateArticleSavingRequestSuccess = Selection + typealias CreateArticleSavingRequestSuccess = Selection } extension Objects { - struct CreateArticleSuccess { - let __typename: TypeName = .createArticleSuccess - let created: [String: Bool] - let createdArticle: [String: Objects.Article] - let user: [String: Objects.User] + struct CreateArticleSuccess { + let __typename: TypeName = .createArticleSuccess + let created: [String: Bool] + let createdArticle: [String: Objects.Article] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case createArticleSuccess = "CreateArticleSuccess" + enum TypeName: String, Codable { + case createArticleSuccess = "CreateArticleSuccess" + } } - } } extension Objects.CreateArticleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "created": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "created": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + created = map["created"] + createdArticle = map["createdArticle"] + user = map["user"] } - - created = map["created"] - createdArticle = map["createdArticle"] - user = map["user"] - } } extension Fields where TypeLock == Objects.CreateArticleSuccess { - func created() throws -> Bool { - let field = GraphQLField.leaf( - name: "created", - arguments: [] - ) - select(field) + func created() throws -> Bool { + let field = GraphQLField.leaf( + name: "created", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.created[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.created[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func createdArticle(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "createdArticle", - arguments: [], - selection: selection.selection - ) - select(field) + func createdArticle(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "createdArticle", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdArticle[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.createdArticle[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateArticleSuccess = Selection + typealias CreateArticleSuccess = Selection } extension Objects { - struct CreateGroupError { - let __typename: TypeName = .createGroupError - let errorCodes: [String: [Enums.CreateGroupErrorCode]] + struct CreateGroupError { + let __typename: TypeName = .createGroupError + let errorCodes: [String: [Enums.CreateGroupErrorCode]] - enum TypeName: String, Codable { - case createGroupError = "CreateGroupError" + enum TypeName: String, Codable { + case createGroupError = "CreateGroupError" + } } - } } extension Objects.CreateGroupError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateGroupErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateGroupErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateGroupError { - func errorCodes() throws -> [Enums.CreateGroupErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateGroupErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateGroupError = Selection + typealias CreateGroupError = Selection } extension Objects { - struct CreateGroupSuccess { - let __typename: TypeName = .createGroupSuccess - let group: [String: Objects.RecommendationGroup] + struct CreateGroupSuccess { + let __typename: TypeName = .createGroupSuccess + let group: [String: Objects.RecommendationGroup] - enum TypeName: String, Codable { - case createGroupSuccess = "CreateGroupSuccess" + enum TypeName: String, Codable { + case createGroupSuccess = "CreateGroupSuccess" + } } - } } extension Objects.CreateGroupSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "group": - if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "group": + if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - group = map["group"] - } + group = map["group"] + } } extension Fields where TypeLock == Objects.CreateGroupSuccess { - func group(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "group", - arguments: [], - selection: selection.selection - ) - select(field) + func group(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "group", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.group[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.group[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateGroupSuccess = Selection + typealias CreateGroupSuccess = Selection } extension Objects { - struct CreateHighlightError { - let __typename: TypeName = .createHighlightError - let errorCodes: [String: [Enums.CreateHighlightErrorCode]] + struct CreateHighlightError { + let __typename: TypeName = .createHighlightError + let errorCodes: [String: [Enums.CreateHighlightErrorCode]] - enum TypeName: String, Codable { - case createHighlightError = "CreateHighlightError" + enum TypeName: String, Codable { + case createHighlightError = "CreateHighlightError" + } } - } } extension Objects.CreateHighlightError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateHighlightError { - func errorCodes() throws -> [Enums.CreateHighlightErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateHighlightErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateHighlightError = Selection + typealias CreateHighlightError = Selection } extension Objects { - struct CreateHighlightReplyError { - let __typename: TypeName = .createHighlightReplyError - let errorCodes: [String: [Enums.CreateHighlightReplyErrorCode]] + struct CreateHighlightReplyError { + let __typename: TypeName = .createHighlightReplyError + let errorCodes: [String: [Enums.CreateHighlightReplyErrorCode]] - enum TypeName: String, Codable { - case createHighlightReplyError = "CreateHighlightReplyError" + enum TypeName: String, Codable { + case createHighlightReplyError = "CreateHighlightReplyError" + } } - } } extension Objects.CreateHighlightReplyError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateHighlightReplyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateHighlightReplyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateHighlightReplyError { - func errorCodes() throws -> [Enums.CreateHighlightReplyErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateHighlightReplyErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateHighlightReplyError = Selection + typealias CreateHighlightReplyError = Selection } extension Objects { - struct CreateHighlightReplySuccess { - let __typename: TypeName = .createHighlightReplySuccess - let highlightReply: [String: Objects.HighlightReply] + struct CreateHighlightReplySuccess { + let __typename: TypeName = .createHighlightReplySuccess + let highlightReply: [String: Objects.HighlightReply] - enum TypeName: String, Codable { - case createHighlightReplySuccess = "CreateHighlightReplySuccess" + enum TypeName: String, Codable { + case createHighlightReplySuccess = "CreateHighlightReplySuccess" + } } - } } extension Objects.CreateHighlightReplySuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlightReply": - if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlightReply": + if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlightReply = map["highlightReply"] - } + highlightReply = map["highlightReply"] + } } extension Fields where TypeLock == Objects.CreateHighlightReplySuccess { - func highlightReply(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlightReply", - arguments: [], - selection: selection.selection - ) - select(field) + func highlightReply(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlightReply", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlightReply[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlightReply[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateHighlightReplySuccess = Selection + typealias CreateHighlightReplySuccess = Selection } extension Objects { - struct CreateHighlightSuccess { - let __typename: TypeName = .createHighlightSuccess - let highlight: [String: Objects.Highlight] + struct CreateHighlightSuccess { + let __typename: TypeName = .createHighlightSuccess + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case createHighlightSuccess = "CreateHighlightSuccess" + enum TypeName: String, Codable { + case createHighlightSuccess = "CreateHighlightSuccess" + } } - } } extension Objects.CreateHighlightSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlight = map["highlight"] - } + highlight = map["highlight"] + } } extension Fields where TypeLock == Objects.CreateHighlightSuccess { - func highlight(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlight", - arguments: [], - selection: selection.selection - ) - select(field) + func highlight(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlight", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateHighlightSuccess = Selection + typealias CreateHighlightSuccess = Selection } extension Objects { - struct CreateLabelError { - let __typename: TypeName = .createLabelError - let errorCodes: [String: [Enums.CreateLabelErrorCode]] + struct CreateLabelError { + let __typename: TypeName = .createLabelError + let errorCodes: [String: [Enums.CreateLabelErrorCode]] - enum TypeName: String, Codable { - case createLabelError = "CreateLabelError" + enum TypeName: String, Codable { + case createLabelError = "CreateLabelError" + } } - } } extension Objects.CreateLabelError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateLabelError { - func errorCodes() throws -> [Enums.CreateLabelErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateLabelErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateLabelError = Selection + typealias CreateLabelError = Selection } extension Objects { - struct CreateLabelSuccess { - let __typename: TypeName = .createLabelSuccess - let label: [String: Objects.Label] + struct CreateLabelSuccess { + let __typename: TypeName = .createLabelSuccess + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case createLabelSuccess = "CreateLabelSuccess" + enum TypeName: String, Codable { + case createLabelSuccess = "CreateLabelSuccess" + } } - } } extension Objects.CreateLabelSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - label = map["label"] - } + label = map["label"] + } } extension Fields where TypeLock == Objects.CreateLabelSuccess { - func label(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "label", - arguments: [], - selection: selection.selection - ) - select(field) + func label(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "label", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.label[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.label[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateLabelSuccess = Selection + typealias CreateLabelSuccess = Selection } extension Objects { - struct CreateNewsletterEmailError { - let __typename: TypeName = .createNewsletterEmailError - let errorCodes: [String: [Enums.CreateNewsletterEmailErrorCode]] + struct CreateNewsletterEmailError { + let __typename: TypeName = .createNewsletterEmailError + let errorCodes: [String: [Enums.CreateNewsletterEmailErrorCode]] - enum TypeName: String, Codable { - case createNewsletterEmailError = "CreateNewsletterEmailError" + enum TypeName: String, Codable { + case createNewsletterEmailError = "CreateNewsletterEmailError" + } } - } } extension Objects.CreateNewsletterEmailError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateNewsletterEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateNewsletterEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateNewsletterEmailError { - func errorCodes() throws -> [Enums.CreateNewsletterEmailErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateNewsletterEmailErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateNewsletterEmailError = Selection + typealias CreateNewsletterEmailError = Selection } extension Objects { - struct CreateNewsletterEmailSuccess { - let __typename: TypeName = .createNewsletterEmailSuccess - let newsletterEmail: [String: Objects.NewsletterEmail] + struct CreateNewsletterEmailSuccess { + let __typename: TypeName = .createNewsletterEmailSuccess + let newsletterEmail: [String: Objects.NewsletterEmail] - enum TypeName: String, Codable { - case createNewsletterEmailSuccess = "CreateNewsletterEmailSuccess" + enum TypeName: String, Codable { + case createNewsletterEmailSuccess = "CreateNewsletterEmailSuccess" + } } - } } extension Objects.CreateNewsletterEmailSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "newsletterEmail": - if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "newsletterEmail": + if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - newsletterEmail = map["newsletterEmail"] - } + newsletterEmail = map["newsletterEmail"] + } } extension Fields where TypeLock == Objects.CreateNewsletterEmailSuccess { - func newsletterEmail(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "newsletterEmail", - arguments: [], - selection: selection.selection - ) - select(field) + func newsletterEmail(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "newsletterEmail", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.newsletterEmail[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.newsletterEmail[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateNewsletterEmailSuccess = Selection + typealias CreateNewsletterEmailSuccess = Selection } extension Objects { - struct CreateReactionError { - let __typename: TypeName = .createReactionError - let errorCodes: [String: [Enums.CreateReactionErrorCode]] + struct CreateReactionError { + let __typename: TypeName = .createReactionError + let errorCodes: [String: [Enums.CreateReactionErrorCode]] - enum TypeName: String, Codable { - case createReactionError = "CreateReactionError" + enum TypeName: String, Codable { + case createReactionError = "CreateReactionError" + } } - } } extension Objects.CreateReactionError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateReactionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateReactionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateReactionError { - func errorCodes() throws -> [Enums.CreateReactionErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateReactionErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateReactionError = Selection + typealias CreateReactionError = Selection } extension Objects { - struct CreateReactionSuccess { - let __typename: TypeName = .createReactionSuccess - let reaction: [String: Objects.Reaction] + struct CreateReactionSuccess { + let __typename: TypeName = .createReactionSuccess + let reaction: [String: Objects.Reaction] - enum TypeName: String, Codable { - case createReactionSuccess = "CreateReactionSuccess" + enum TypeName: String, Codable { + case createReactionSuccess = "CreateReactionSuccess" + } } - } } extension Objects.CreateReactionSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "reaction": - if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "reaction": + if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - reaction = map["reaction"] - } + reaction = map["reaction"] + } } extension Fields where TypeLock == Objects.CreateReactionSuccess { - func reaction(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reaction", - arguments: [], - selection: selection.selection - ) - select(field) + func reaction(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reaction", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reaction[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reaction[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateReactionSuccess = Selection + typealias CreateReactionSuccess = Selection } extension Objects { - struct CreateReminderError { - let __typename: TypeName = .createReminderError - let errorCodes: [String: [Enums.CreateReminderErrorCode]] + struct CreateReminderError { + let __typename: TypeName = .createReminderError + let errorCodes: [String: [Enums.CreateReminderErrorCode]] - enum TypeName: String, Codable { - case createReminderError = "CreateReminderError" + enum TypeName: String, Codable { + case createReminderError = "CreateReminderError" + } } - } } extension Objects.CreateReminderError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.CreateReminderError { - func errorCodes() throws -> [Enums.CreateReminderErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.CreateReminderErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateReminderError = Selection + typealias CreateReminderError = Selection } extension Objects { - struct CreateReminderSuccess { - let __typename: TypeName = .createReminderSuccess - let reminder: [String: Objects.Reminder] + struct CreateReminderSuccess { + let __typename: TypeName = .createReminderSuccess + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case createReminderSuccess = "CreateReminderSuccess" + enum TypeName: String, Codable { + case createReminderSuccess = "CreateReminderSuccess" + } } - } } extension Objects.CreateReminderSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - reminder = map["reminder"] - } + reminder = map["reminder"] + } } extension Fields where TypeLock == Objects.CreateReminderSuccess { - func reminder(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reminder", - arguments: [], - selection: selection.selection - ) - select(field) + func reminder(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reminder", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reminder[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reminder[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateReminderSuccess = Selection + typealias CreateReminderSuccess = Selection } extension Objects { - struct DeleteAccountError { - let __typename: TypeName = .deleteAccountError - let errorCodes: [String: [Enums.DeleteAccountErrorCode]] + struct DeleteAccountError { + let __typename: TypeName = .deleteAccountError + let errorCodes: [String: [Enums.DeleteAccountErrorCode]] - enum TypeName: String, Codable { - case deleteAccountError = "DeleteAccountError" + enum TypeName: String, Codable { + case deleteAccountError = "DeleteAccountError" + } } - } } extension Objects.DeleteAccountError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteAccountErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteAccountErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteAccountError { - func errorCodes() throws -> [Enums.DeleteAccountErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteAccountErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteAccountError = Selection + typealias DeleteAccountError = Selection } extension Objects { - struct DeleteAccountSuccess { - let __typename: TypeName = .deleteAccountSuccess - let userId: [String: String] + struct DeleteAccountSuccess { + let __typename: TypeName = .deleteAccountSuccess + let userId: [String: String] - enum TypeName: String, Codable { - case deleteAccountSuccess = "DeleteAccountSuccess" + enum TypeName: String, Codable { + case deleteAccountSuccess = "DeleteAccountSuccess" + } } - } } extension Objects.DeleteAccountSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "userId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "userId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - userId = map["userId"] - } + userId = map["userId"] + } } extension Fields where TypeLock == Objects.DeleteAccountSuccess { - func userId() throws -> String { - let field = GraphQLField.leaf( - name: "userID", - arguments: [] - ) - select(field) + func userId() throws -> String { + let field = GraphQLField.leaf( + name: "userID", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.userId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.userId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteAccountSuccess = Selection + typealias DeleteAccountSuccess = Selection } extension Objects { - struct DeleteFilterError { - let __typename: TypeName = .deleteFilterError - let errorCodes: [String: [Enums.DeleteFilterErrorCode]] + struct DeleteFilterError { + let __typename: TypeName = .deleteFilterError + let errorCodes: [String: [Enums.DeleteFilterErrorCode]] - enum TypeName: String, Codable { - case deleteFilterError = "DeleteFilterError" + enum TypeName: String, Codable { + case deleteFilterError = "DeleteFilterError" + } } - } } extension Objects.DeleteFilterError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteFilterError { - func errorCodes() throws -> [Enums.DeleteFilterErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteFilterErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteFilterError = Selection + typealias DeleteFilterError = Selection } extension Objects { - struct DeleteFilterSuccess { - let __typename: TypeName = .deleteFilterSuccess - let filter: [String: Objects.Filter] + struct DeleteFilterSuccess { + let __typename: TypeName = .deleteFilterSuccess + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case deleteFilterSuccess = "DeleteFilterSuccess" + enum TypeName: String, Codable { + case deleteFilterSuccess = "DeleteFilterSuccess" + } } - } } extension Objects.DeleteFilterSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - filter = map["filter"] - } + filter = map["filter"] + } } extension Fields where TypeLock == Objects.DeleteFilterSuccess { - func filter(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "filter", - arguments: [], - selection: selection.selection - ) - select(field) + func filter(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "filter", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.filter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteFilterSuccess = Selection + typealias DeleteFilterSuccess = Selection } extension Objects { - struct DeleteHighlightError { - let __typename: TypeName = .deleteHighlightError - let errorCodes: [String: [Enums.DeleteHighlightErrorCode]] + struct DeleteHighlightError { + let __typename: TypeName = .deleteHighlightError + let errorCodes: [String: [Enums.DeleteHighlightErrorCode]] - enum TypeName: String, Codable { - case deleteHighlightError = "DeleteHighlightError" + enum TypeName: String, Codable { + case deleteHighlightError = "DeleteHighlightError" + } } - } } extension Objects.DeleteHighlightError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteHighlightError { - func errorCodes() throws -> [Enums.DeleteHighlightErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteHighlightErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteHighlightError = Selection + typealias DeleteHighlightError = Selection } extension Objects { - struct DeleteHighlightReplyError { - let __typename: TypeName = .deleteHighlightReplyError - let errorCodes: [String: [Enums.DeleteHighlightReplyErrorCode]] + struct DeleteHighlightReplyError { + let __typename: TypeName = .deleteHighlightReplyError + let errorCodes: [String: [Enums.DeleteHighlightReplyErrorCode]] - enum TypeName: String, Codable { - case deleteHighlightReplyError = "DeleteHighlightReplyError" + enum TypeName: String, Codable { + case deleteHighlightReplyError = "DeleteHighlightReplyError" + } } - } } extension Objects.DeleteHighlightReplyError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteHighlightReplyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteHighlightReplyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteHighlightReplyError { - func errorCodes() throws -> [Enums.DeleteHighlightReplyErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteHighlightReplyErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteHighlightReplyError = Selection + typealias DeleteHighlightReplyError = Selection } extension Objects { - struct DeleteHighlightReplySuccess { - let __typename: TypeName = .deleteHighlightReplySuccess - let highlightReply: [String: Objects.HighlightReply] + struct DeleteHighlightReplySuccess { + let __typename: TypeName = .deleteHighlightReplySuccess + let highlightReply: [String: Objects.HighlightReply] - enum TypeName: String, Codable { - case deleteHighlightReplySuccess = "DeleteHighlightReplySuccess" + enum TypeName: String, Codable { + case deleteHighlightReplySuccess = "DeleteHighlightReplySuccess" + } } - } } extension Objects.DeleteHighlightReplySuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlightReply": - if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlightReply": + if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlightReply = map["highlightReply"] - } + highlightReply = map["highlightReply"] + } } extension Fields where TypeLock == Objects.DeleteHighlightReplySuccess { - func highlightReply(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlightReply", - arguments: [], - selection: selection.selection - ) - select(field) + func highlightReply(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlightReply", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlightReply[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlightReply[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteHighlightReplySuccess = Selection + typealias DeleteHighlightReplySuccess = Selection } extension Objects { - struct DeleteHighlightSuccess { - let __typename: TypeName = .deleteHighlightSuccess - let highlight: [String: Objects.Highlight] + struct DeleteHighlightSuccess { + let __typename: TypeName = .deleteHighlightSuccess + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case deleteHighlightSuccess = "DeleteHighlightSuccess" + enum TypeName: String, Codable { + case deleteHighlightSuccess = "DeleteHighlightSuccess" + } } - } } extension Objects.DeleteHighlightSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlight = map["highlight"] - } + highlight = map["highlight"] + } } extension Fields where TypeLock == Objects.DeleteHighlightSuccess { - func highlight(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlight", - arguments: [], - selection: selection.selection - ) - select(field) + func highlight(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlight", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteHighlightSuccess = Selection + typealias DeleteHighlightSuccess = Selection } extension Objects { - struct DeleteIntegrationError { - let __typename: TypeName = .deleteIntegrationError - let errorCodes: [String: [Enums.DeleteIntegrationErrorCode]] + struct DeleteIntegrationError { + let __typename: TypeName = .deleteIntegrationError + let errorCodes: [String: [Enums.DeleteIntegrationErrorCode]] - enum TypeName: String, Codable { - case deleteIntegrationError = "DeleteIntegrationError" + enum TypeName: String, Codable { + case deleteIntegrationError = "DeleteIntegrationError" + } } - } } extension Objects.DeleteIntegrationError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteIntegrationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteIntegrationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteIntegrationError { - func errorCodes() throws -> [Enums.DeleteIntegrationErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteIntegrationErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteIntegrationError = Selection + typealias DeleteIntegrationError = Selection } extension Objects { - struct DeleteIntegrationSuccess { - let __typename: TypeName = .deleteIntegrationSuccess - let integration: [String: Objects.Integration] + struct DeleteIntegrationSuccess { + let __typename: TypeName = .deleteIntegrationSuccess + let integration: [String: Objects.Integration] - enum TypeName: String, Codable { - case deleteIntegrationSuccess = "DeleteIntegrationSuccess" + enum TypeName: String, Codable { + case deleteIntegrationSuccess = "DeleteIntegrationSuccess" + } } - } } extension Objects.DeleteIntegrationSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "integration": - if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "integration": + if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - integration = map["integration"] - } + integration = map["integration"] + } } extension Fields where TypeLock == Objects.DeleteIntegrationSuccess { - func integration(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "integration", - arguments: [], - selection: selection.selection - ) - select(field) + func integration(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "integration", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.integration[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.integration[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteIntegrationSuccess = Selection + typealias DeleteIntegrationSuccess = Selection } extension Objects { - struct DeleteLabelError { - let __typename: TypeName = .deleteLabelError - let errorCodes: [String: [Enums.DeleteLabelErrorCode]] + struct DeleteLabelError { + let __typename: TypeName = .deleteLabelError + let errorCodes: [String: [Enums.DeleteLabelErrorCode]] - enum TypeName: String, Codable { - case deleteLabelError = "DeleteLabelError" + enum TypeName: String, Codable { + case deleteLabelError = "DeleteLabelError" + } } - } } extension Objects.DeleteLabelError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteLabelError { - func errorCodes() throws -> [Enums.DeleteLabelErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteLabelErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteLabelError = Selection + typealias DeleteLabelError = Selection } extension Objects { - struct DeleteLabelSuccess { - let __typename: TypeName = .deleteLabelSuccess - let label: [String: Objects.Label] + struct DeleteLabelSuccess { + let __typename: TypeName = .deleteLabelSuccess + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case deleteLabelSuccess = "DeleteLabelSuccess" + enum TypeName: String, Codable { + case deleteLabelSuccess = "DeleteLabelSuccess" + } } - } } extension Objects.DeleteLabelSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - label = map["label"] - } + label = map["label"] + } } extension Fields where TypeLock == Objects.DeleteLabelSuccess { - func label(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "label", - arguments: [], - selection: selection.selection - ) - select(field) + func label(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "label", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.label[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.label[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteLabelSuccess = Selection + typealias DeleteLabelSuccess = Selection } extension Objects { - struct DeleteNewsletterEmailError { - let __typename: TypeName = .deleteNewsletterEmailError - let errorCodes: [String: [Enums.DeleteNewsletterEmailErrorCode]] + struct DeleteNewsletterEmailError { + let __typename: TypeName = .deleteNewsletterEmailError + let errorCodes: [String: [Enums.DeleteNewsletterEmailErrorCode]] - enum TypeName: String, Codable { - case deleteNewsletterEmailError = "DeleteNewsletterEmailError" + enum TypeName: String, Codable { + case deleteNewsletterEmailError = "DeleteNewsletterEmailError" + } } - } } extension Objects.DeleteNewsletterEmailError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteNewsletterEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteNewsletterEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteNewsletterEmailError { - func errorCodes() throws -> [Enums.DeleteNewsletterEmailErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteNewsletterEmailErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteNewsletterEmailError = Selection + typealias DeleteNewsletterEmailError = Selection } extension Objects { - struct DeleteNewsletterEmailSuccess { - let __typename: TypeName = .deleteNewsletterEmailSuccess - let newsletterEmail: [String: Objects.NewsletterEmail] + struct DeleteNewsletterEmailSuccess { + let __typename: TypeName = .deleteNewsletterEmailSuccess + let newsletterEmail: [String: Objects.NewsletterEmail] - enum TypeName: String, Codable { - case deleteNewsletterEmailSuccess = "DeleteNewsletterEmailSuccess" + enum TypeName: String, Codable { + case deleteNewsletterEmailSuccess = "DeleteNewsletterEmailSuccess" + } } - } } extension Objects.DeleteNewsletterEmailSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "newsletterEmail": - if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "newsletterEmail": + if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - newsletterEmail = map["newsletterEmail"] - } + newsletterEmail = map["newsletterEmail"] + } } extension Fields where TypeLock == Objects.DeleteNewsletterEmailSuccess { - func newsletterEmail(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "newsletterEmail", - arguments: [], - selection: selection.selection - ) - select(field) + func newsletterEmail(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "newsletterEmail", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.newsletterEmail[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.newsletterEmail[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteNewsletterEmailSuccess = Selection + typealias DeleteNewsletterEmailSuccess = Selection } extension Objects { - struct DeleteReactionError { - let __typename: TypeName = .deleteReactionError - let errorCodes: [String: [Enums.DeleteReactionErrorCode]] + struct DeleteReactionError { + let __typename: TypeName = .deleteReactionError + let errorCodes: [String: [Enums.DeleteReactionErrorCode]] - enum TypeName: String, Codable { - case deleteReactionError = "DeleteReactionError" + enum TypeName: String, Codable { + case deleteReactionError = "DeleteReactionError" + } } - } } extension Objects.DeleteReactionError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteReactionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteReactionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteReactionError { - func errorCodes() throws -> [Enums.DeleteReactionErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteReactionErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteReactionError = Selection + typealias DeleteReactionError = Selection } extension Objects { - struct DeleteReactionSuccess { - let __typename: TypeName = .deleteReactionSuccess - let reaction: [String: Objects.Reaction] + struct DeleteReactionSuccess { + let __typename: TypeName = .deleteReactionSuccess + let reaction: [String: Objects.Reaction] - enum TypeName: String, Codable { - case deleteReactionSuccess = "DeleteReactionSuccess" + enum TypeName: String, Codable { + case deleteReactionSuccess = "DeleteReactionSuccess" + } } - } } extension Objects.DeleteReactionSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "reaction": - if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "reaction": + if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - reaction = map["reaction"] - } + reaction = map["reaction"] + } } extension Fields where TypeLock == Objects.DeleteReactionSuccess { - func reaction(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reaction", - arguments: [], - selection: selection.selection - ) - select(field) + func reaction(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reaction", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reaction[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reaction[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteReactionSuccess = Selection + typealias DeleteReactionSuccess = Selection } extension Objects { - struct DeleteReminderError { - let __typename: TypeName = .deleteReminderError - let errorCodes: [String: [Enums.DeleteReminderErrorCode]] + struct DeleteReminderError { + let __typename: TypeName = .deleteReminderError + let errorCodes: [String: [Enums.DeleteReminderErrorCode]] - enum TypeName: String, Codable { - case deleteReminderError = "DeleteReminderError" + enum TypeName: String, Codable { + case deleteReminderError = "DeleteReminderError" + } } - } } extension Objects.DeleteReminderError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteReminderError { - func errorCodes() throws -> [Enums.DeleteReminderErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteReminderErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteReminderError = Selection + typealias DeleteReminderError = Selection } extension Objects { - struct DeleteReminderSuccess { - let __typename: TypeName = .deleteReminderSuccess - let reminder: [String: Objects.Reminder] + struct DeleteReminderSuccess { + let __typename: TypeName = .deleteReminderSuccess + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case deleteReminderSuccess = "DeleteReminderSuccess" + enum TypeName: String, Codable { + case deleteReminderSuccess = "DeleteReminderSuccess" + } } - } } extension Objects.DeleteReminderSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - reminder = map["reminder"] - } + reminder = map["reminder"] + } } extension Fields where TypeLock == Objects.DeleteReminderSuccess { - func reminder(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reminder", - arguments: [], - selection: selection.selection - ) - select(field) + func reminder(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reminder", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reminder[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reminder[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteReminderSuccess = Selection + typealias DeleteReminderSuccess = Selection } extension Objects { - struct DeleteRuleError { - let __typename: TypeName = .deleteRuleError - let errorCodes: [String: [Enums.DeleteRuleErrorCode]] + struct DeleteRuleError { + let __typename: TypeName = .deleteRuleError + let errorCodes: [String: [Enums.DeleteRuleErrorCode]] - enum TypeName: String, Codable { - case deleteRuleError = "DeleteRuleError" + enum TypeName: String, Codable { + case deleteRuleError = "DeleteRuleError" + } } - } } extension Objects.DeleteRuleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteRuleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteRuleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteRuleError { - func errorCodes() throws -> [Enums.DeleteRuleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteRuleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteRuleError = Selection + typealias DeleteRuleError = Selection } extension Objects { - struct DeleteRuleSuccess { - let __typename: TypeName = .deleteRuleSuccess - let rule: [String: Objects.Rule] + struct DeleteRuleSuccess { + let __typename: TypeName = .deleteRuleSuccess + let rule: [String: Objects.Rule] - enum TypeName: String, Codable { - case deleteRuleSuccess = "DeleteRuleSuccess" + enum TypeName: String, Codable { + case deleteRuleSuccess = "DeleteRuleSuccess" + } } - } } extension Objects.DeleteRuleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "rule": - if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "rule": + if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - rule = map["rule"] - } + rule = map["rule"] + } } extension Fields where TypeLock == Objects.DeleteRuleSuccess { - func rule(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "rule", - arguments: [], - selection: selection.selection - ) - select(field) + func rule(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "rule", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.rule[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.rule[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteRuleSuccess = Selection + typealias DeleteRuleSuccess = Selection } extension Objects { - struct DeleteWebhookError { - let __typename: TypeName = .deleteWebhookError - let errorCodes: [String: [Enums.DeleteWebhookErrorCode]] + struct DeleteWebhookError { + let __typename: TypeName = .deleteWebhookError + let errorCodes: [String: [Enums.DeleteWebhookErrorCode]] - enum TypeName: String, Codable { - case deleteWebhookError = "DeleteWebhookError" + enum TypeName: String, Codable { + case deleteWebhookError = "DeleteWebhookError" + } } - } } extension Objects.DeleteWebhookError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteWebhookErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteWebhookErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeleteWebhookError { - func errorCodes() throws -> [Enums.DeleteWebhookErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeleteWebhookErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteWebhookError = Selection + typealias DeleteWebhookError = Selection } extension Objects { - struct DeleteWebhookSuccess { - let __typename: TypeName = .deleteWebhookSuccess - let webhook: [String: Objects.Webhook] + struct DeleteWebhookSuccess { + let __typename: TypeName = .deleteWebhookSuccess + let webhook: [String: Objects.Webhook] - enum TypeName: String, Codable { - case deleteWebhookSuccess = "DeleteWebhookSuccess" + enum TypeName: String, Codable { + case deleteWebhookSuccess = "DeleteWebhookSuccess" + } } - } } extension Objects.DeleteWebhookSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "webhook": - if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "webhook": + if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - webhook = map["webhook"] - } + webhook = map["webhook"] + } } extension Fields where TypeLock == Objects.DeleteWebhookSuccess { - func webhook(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "webhook", - arguments: [], - selection: selection.selection - ) - select(field) + func webhook(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "webhook", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.webhook[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.webhook[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteWebhookSuccess = Selection + typealias DeleteWebhookSuccess = Selection } extension Objects { - struct DeviceToken { - let __typename: TypeName = .deviceToken - let createdAt: [String: DateTime] - let id: [String: String] - let token: [String: String] + struct DeviceToken { + let __typename: TypeName = .deviceToken + let createdAt: [String: DateTime] + let id: [String: String] + let token: [String: String] - enum TypeName: String, Codable { - case deviceToken = "DeviceToken" + enum TypeName: String, Codable { + case deviceToken = "DeviceToken" + } } - } } extension Objects.DeviceToken: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "token": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "token": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdAt = map["createdAt"] + id = map["id"] + token = map["token"] } - - createdAt = map["createdAt"] - id = map["id"] - token = map["token"] - } } extension Fields where TypeLock == Objects.DeviceToken { - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func token() throws -> String { - let field = GraphQLField.leaf( - name: "token", - arguments: [] - ) - select(field) + func token() throws -> String { + let field = GraphQLField.leaf( + name: "token", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.token[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.token[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeviceToken = Selection + typealias DeviceToken = Selection } extension Objects { - struct DeviceTokensError { - let __typename: TypeName = .deviceTokensError - let errorCodes: [String: [Enums.DeviceTokensErrorCode]] + struct DeviceTokensError { + let __typename: TypeName = .deviceTokensError + let errorCodes: [String: [Enums.DeviceTokensErrorCode]] - enum TypeName: String, Codable { - case deviceTokensError = "DeviceTokensError" + enum TypeName: String, Codable { + case deviceTokensError = "DeviceTokensError" + } } - } } extension Objects.DeviceTokensError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeviceTokensErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeviceTokensErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.DeviceTokensError { - func errorCodes() throws -> [Enums.DeviceTokensErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.DeviceTokensErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeviceTokensError = Selection + typealias DeviceTokensError = Selection } extension Objects { - struct DeviceTokensSuccess { - let __typename: TypeName = .deviceTokensSuccess - let deviceTokens: [String: [Objects.DeviceToken]] + struct DeviceTokensSuccess { + let __typename: TypeName = .deviceTokensSuccess + let deviceTokens: [String: [Objects.DeviceToken]] - enum TypeName: String, Codable { - case deviceTokensSuccess = "DeviceTokensSuccess" + enum TypeName: String, Codable { + case deviceTokensSuccess = "DeviceTokensSuccess" + } } - } } extension Objects.DeviceTokensSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "deviceTokens": - if let value = try container.decode([Objects.DeviceToken]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "deviceTokens": + if let value = try container.decode([Objects.DeviceToken]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - deviceTokens = map["deviceTokens"] - } + deviceTokens = map["deviceTokens"] + } } extension Fields where TypeLock == Objects.DeviceTokensSuccess { - func deviceTokens(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deviceTokens", - arguments: [], - selection: selection.selection - ) - select(field) + func deviceTokens(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deviceTokens", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deviceTokens[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deviceTokens[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeviceTokensSuccess = Selection + typealias DeviceTokensSuccess = Selection } extension Objects { - struct Feature { - let __typename: TypeName = .feature - let createdAt: [String: DateTime] - let expiresAt: [String: DateTime] - let grantedAt: [String: DateTime] - let id: [String: String] - let name: [String: String] - let token: [String: String] - let updatedAt: [String: DateTime] + struct EmptyTrashError { + let __typename: TypeName = .emptyTrashError + let errorCodes: [String: [Enums.EmptyTrashErrorCode]] - enum TypeName: String, Codable { - case feature = "Feature" + enum TypeName: String, Codable { + case emptyTrashError = "EmptyTrashError" + } + } +} + +extension Objects.EmptyTrashError: Decodable { + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } + + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) + + switch field { + case "errorCodes": + if let value = try container.decode([Enums.EmptyTrashErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } + } + + errorCodes = map["errorCodes"] + } +} + +extension Fields where TypeLock == Objects.EmptyTrashError { + func errorCodes() throws -> [Enums.EmptyTrashErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) + + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } + } +} + +extension Selection where TypeLock == Never, Type == Never { + typealias EmptyTrashError = Selection +} + +extension Objects { + struct EmptyTrashSuccess { + let __typename: TypeName = .emptyTrashSuccess + let success: [String: Bool] + + enum TypeName: String, Codable { + case emptyTrashSuccess = "EmptyTrashSuccess" + } + } +} + +extension Objects.EmptyTrashSuccess: Decodable { + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } + + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) + + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } + } + + success = map["success"] + } +} + +extension Fields where TypeLock == Objects.EmptyTrashSuccess { + func success() throws -> Bool? { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) + + switch response { + case let .decoding(data): + return data.success[field.alias!] + case .mocking: + return nil + } + } +} + +extension Selection where TypeLock == Never, Type == Never { + typealias EmptyTrashSuccess = Selection +} + +extension Objects { + struct Feature { + let __typename: TypeName = .feature + let createdAt: [String: DateTime] + let expiresAt: [String: DateTime] + let grantedAt: [String: DateTime] + let id: [String: String] + let name: [String: String] + let token: [String: String] + let updatedAt: [String: DateTime] + + enum TypeName: String, Codable { + case feature = "Feature" + } } - } } extension Objects.Feature: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "expiresAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "grantedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "token": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "expiresAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "grantedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "token": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdAt = map["createdAt"] + expiresAt = map["expiresAt"] + grantedAt = map["grantedAt"] + id = map["id"] + name = map["name"] + token = map["token"] + updatedAt = map["updatedAt"] } - - createdAt = map["createdAt"] - expiresAt = map["expiresAt"] - grantedAt = map["grantedAt"] - id = map["id"] - name = map["name"] - token = map["token"] - updatedAt = map["updatedAt"] - } } extension Fields where TypeLock == Objects.Feature { - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func expiresAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "expiresAt", - arguments: [] - ) - select(field) + func expiresAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "expiresAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.expiresAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.expiresAt[field.alias!] + case .mocking: + return nil + } } - } - func grantedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "grantedAt", - arguments: [] - ) - select(field) + func grantedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "grantedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.grantedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.grantedAt[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func token() throws -> String { - let field = GraphQLField.leaf( - name: "token", - arguments: [] - ) - select(field) + func token() throws -> String { + let field = GraphQLField.leaf( + name: "token", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.token[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.token[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Feature = Selection + typealias Feature = Selection } extension Objects { - struct Feed { - let __typename: TypeName = .feed - let author: [String: String] - let createdAt: [String: DateTime] - let description: [String: String] - let id: [String: String] - let image: [String: String] - let publishedAt: [String: DateTime] - let title: [String: String] - let type: [String: String] - let updatedAt: [String: DateTime] - let url: [String: String] + struct Feed { + let __typename: TypeName = .feed + let author: [String: String] + let createdAt: [String: DateTime] + let description: [String: String] + let id: [String: String] + let image: [String: String] + let publishedAt: [String: DateTime] + let title: [String: String] + let type: [String: String] + let updatedAt: [String: DateTime] + let url: [String: String] - enum TypeName: String, Codable { - case feed = "Feed" + enum TypeName: String, Codable { + case feed = "Feed" + } } - } } extension Objects.Feed: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "author": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "author": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "image": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "publishedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "title": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "type": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "image": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "publishedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "title": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "type": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + author = map["author"] + createdAt = map["createdAt"] + description = map["description"] + id = map["id"] + image = map["image"] + publishedAt = map["publishedAt"] + title = map["title"] + type = map["type"] + updatedAt = map["updatedAt"] + url = map["url"] } - - author = map["author"] - createdAt = map["createdAt"] - description = map["description"] - id = map["id"] - image = map["image"] - publishedAt = map["publishedAt"] - title = map["title"] - type = map["type"] - updatedAt = map["updatedAt"] - url = map["url"] - } } extension Fields where TypeLock == Objects.Feed { - func author() throws -> String? { - let field = GraphQLField.leaf( - name: "author", - arguments: [] - ) - select(field) + func author() throws -> String? { + let field = GraphQLField.leaf( + name: "author", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.author[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.author[field.alias!] + case .mocking: + return nil + } } - } - func createdAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.createdAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.createdAt[field.alias!] + case .mocking: + return nil + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String? { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String? { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.id[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.id[field.alias!] + case .mocking: + return nil + } } - } - func image() throws -> String? { - let field = GraphQLField.leaf( - name: "image", - arguments: [] - ) - select(field) + func image() throws -> String? { + let field = GraphQLField.leaf( + name: "image", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.image[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.image[field.alias!] + case .mocking: + return nil + } } - } - func publishedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "publishedAt", - arguments: [] - ) - select(field) + func publishedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "publishedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.publishedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.publishedAt[field.alias!] + case .mocking: + return nil + } } - } - func title() throws -> String { - let field = GraphQLField.leaf( - name: "title", - arguments: [] - ) - select(field) + func title() throws -> String { + let field = GraphQLField.leaf( + name: "title", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.title[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.title[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func type() throws -> String? { - let field = GraphQLField.leaf( - name: "type", - arguments: [] - ) - select(field) + func type() throws -> String? { + let field = GraphQLField.leaf( + name: "type", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.type[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.type[field.alias!] + case .mocking: + return nil + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Feed = Selection + typealias Feed = Selection } extension Objects { - struct FeedArticle { - let __typename: TypeName = .feedArticle - let annotationsCount: [String: Int] - let article: [String: Objects.Article] - let highlight: [String: Objects.Highlight] - let highlightsCount: [String: Int] - let id: [String: String] - let reactions: [String: [Objects.Reaction]] - let sharedAt: [String: DateTime] - let sharedBy: [String: Objects.User] - let sharedComment: [String: String] - let sharedWithHighlights: [String: Bool] + struct FeedArticle { + let __typename: TypeName = .feedArticle + let annotationsCount: [String: Int] + let article: [String: Objects.Article] + let highlight: [String: Objects.Highlight] + let highlightsCount: [String: Int] + let id: [String: String] + let reactions: [String: [Objects.Reaction]] + let sharedAt: [String: DateTime] + let sharedBy: [String: Objects.User] + let sharedComment: [String: String] + let sharedWithHighlights: [String: Bool] - enum TypeName: String, Codable { - case feedArticle = "FeedArticle" + enum TypeName: String, Codable { + case feedArticle = "FeedArticle" + } } - } } extension Objects.FeedArticle: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "annotationsCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "annotationsCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "article": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlightsCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reactions": + if let value = try container.decode([Objects.Reaction]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedBy": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedComment": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedWithHighlights": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "article": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "highlightsCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "reactions": - if let value = try container.decode([Objects.Reaction]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedBy": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedComment": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedWithHighlights": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + annotationsCount = map["annotationsCount"] + article = map["article"] + highlight = map["highlight"] + highlightsCount = map["highlightsCount"] + id = map["id"] + reactions = map["reactions"] + sharedAt = map["sharedAt"] + sharedBy = map["sharedBy"] + sharedComment = map["sharedComment"] + sharedWithHighlights = map["sharedWithHighlights"] } - - annotationsCount = map["annotationsCount"] - article = map["article"] - highlight = map["highlight"] - highlightsCount = map["highlightsCount"] - id = map["id"] - reactions = map["reactions"] - sharedAt = map["sharedAt"] - sharedBy = map["sharedBy"] - sharedComment = map["sharedComment"] - sharedWithHighlights = map["sharedWithHighlights"] - } } extension Fields where TypeLock == Objects.FeedArticle { - func annotationsCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "annotationsCount", - arguments: [] - ) - select(field) + func annotationsCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "annotationsCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.annotationsCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.annotationsCount[field.alias!] + case .mocking: + return nil + } } - } - func article(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "article", - arguments: [], - selection: selection.selection - ) - select(field) + func article(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "article", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.article[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.article[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func highlight(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlight", - arguments: [], - selection: selection.selection - ) - select(field) + func highlight(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlight", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.highlight[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.highlight[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func highlightsCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "highlightsCount", - arguments: [] - ) - select(field) + func highlightsCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "highlightsCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.highlightsCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.highlightsCount[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func reactions(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reactions", - arguments: [], - selection: selection.selection - ) - select(field) + func reactions(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reactions", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reactions[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reactions[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func sharedAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "sharedAt", - arguments: [] - ) - select(field) + func sharedAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "sharedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.sharedAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.sharedAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func sharedBy(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "sharedBy", - arguments: [], - selection: selection.selection - ) - select(field) + func sharedBy(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "sharedBy", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.sharedBy[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.sharedBy[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func sharedComment() throws -> String? { - let field = GraphQLField.leaf( - name: "sharedComment", - arguments: [] - ) - select(field) + func sharedComment() throws -> String? { + let field = GraphQLField.leaf( + name: "sharedComment", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.sharedComment[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.sharedComment[field.alias!] + case .mocking: + return nil + } } - } - func sharedWithHighlights() throws -> Bool? { - let field = GraphQLField.leaf( - name: "sharedWithHighlights", - arguments: [] - ) - select(field) + func sharedWithHighlights() throws -> Bool? { + let field = GraphQLField.leaf( + name: "sharedWithHighlights", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.sharedWithHighlights[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.sharedWithHighlights[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedArticle = Selection + typealias FeedArticle = Selection } extension Objects { - struct FeedArticleEdge { - let __typename: TypeName = .feedArticleEdge - let cursor: [String: String] - let node: [String: Objects.FeedArticle] + struct FeedArticleEdge { + let __typename: TypeName = .feedArticleEdge + let cursor: [String: String] + let node: [String: Objects.FeedArticle] - enum TypeName: String, Codable { - case feedArticleEdge = "FeedArticleEdge" + enum TypeName: String, Codable { + case feedArticleEdge = "FeedArticleEdge" + } } - } } extension Objects.FeedArticleEdge: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "cursor": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "cursor": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "node": + if let value = try container.decode(Objects.FeedArticle?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "node": - if let value = try container.decode(Objects.FeedArticle?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + cursor = map["cursor"] + node = map["node"] } - - cursor = map["cursor"] - node = map["node"] - } } extension Fields where TypeLock == Objects.FeedArticleEdge { - func cursor() throws -> String { - let field = GraphQLField.leaf( - name: "cursor", - arguments: [] - ) - select(field) + func cursor() throws -> String { + let field = GraphQLField.leaf( + name: "cursor", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.cursor[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.cursor[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func node(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "node", - arguments: [], - selection: selection.selection - ) - select(field) + func node(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "node", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.node[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.node[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedArticleEdge = Selection + typealias FeedArticleEdge = Selection } extension Objects { - struct FeedArticlesError { - let __typename: TypeName = .feedArticlesError - let errorCodes: [String: [Enums.FeedArticlesErrorCode]] + struct FeedArticlesError { + let __typename: TypeName = .feedArticlesError + let errorCodes: [String: [Enums.FeedArticlesErrorCode]] - enum TypeName: String, Codable { - case feedArticlesError = "FeedArticlesError" + enum TypeName: String, Codable { + case feedArticlesError = "FeedArticlesError" + } } - } } extension Objects.FeedArticlesError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.FeedArticlesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.FeedArticlesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.FeedArticlesError { - func errorCodes() throws -> [Enums.FeedArticlesErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.FeedArticlesErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedArticlesError = Selection + typealias FeedArticlesError = Selection } extension Objects { - struct FeedArticlesSuccess { - let __typename: TypeName = .feedArticlesSuccess - let edges: [String: [Objects.FeedArticleEdge]] - let pageInfo: [String: Objects.PageInfo] + struct FeedArticlesSuccess { + let __typename: TypeName = .feedArticlesSuccess + let edges: [String: [Objects.FeedArticleEdge]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case feedArticlesSuccess = "FeedArticlesSuccess" + enum TypeName: String, Codable { + case feedArticlesSuccess = "FeedArticlesSuccess" + } } - } } extension Objects.FeedArticlesSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.FeedArticleEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.FeedArticleEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + edges = map["edges"] + pageInfo = map["pageInfo"] } - - edges = map["edges"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Objects.FeedArticlesSuccess { - func edges(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "edges", - arguments: [], - selection: selection.selection - ) - select(field) + func edges(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "edges", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.edges[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.edges[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func pageInfo(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "pageInfo", - arguments: [], - selection: selection.selection - ) - select(field) + func pageInfo(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "pageInfo", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.pageInfo[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.pageInfo[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedArticlesSuccess = Selection + typealias FeedArticlesSuccess = Selection } extension Objects { - struct FeedEdge { - let __typename: TypeName = .feedEdge - let cursor: [String: String] - let node: [String: Objects.Feed] + struct FeedEdge { + let __typename: TypeName = .feedEdge + let cursor: [String: String] + let node: [String: Objects.Feed] - enum TypeName: String, Codable { - case feedEdge = "FeedEdge" + enum TypeName: String, Codable { + case feedEdge = "FeedEdge" + } } - } } extension Objects.FeedEdge: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "cursor": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "cursor": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "node": + if let value = try container.decode(Objects.Feed?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "node": - if let value = try container.decode(Objects.Feed?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + cursor = map["cursor"] + node = map["node"] } - - cursor = map["cursor"] - node = map["node"] - } } extension Fields where TypeLock == Objects.FeedEdge { - func cursor() throws -> String { - let field = GraphQLField.leaf( - name: "cursor", - arguments: [] - ) - select(field) + func cursor() throws -> String { + let field = GraphQLField.leaf( + name: "cursor", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.cursor[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.cursor[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func node(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "node", - arguments: [], - selection: selection.selection - ) - select(field) + func node(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "node", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.node[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.node[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedEdge = Selection + typealias FeedEdge = Selection } extension Objects { - struct FeedsError { - let __typename: TypeName = .feedsError - let errorCodes: [String: [Enums.FeedsErrorCode]] + struct FeedsError { + let __typename: TypeName = .feedsError + let errorCodes: [String: [Enums.FeedsErrorCode]] - enum TypeName: String, Codable { - case feedsError = "FeedsError" + enum TypeName: String, Codable { + case feedsError = "FeedsError" + } } - } } extension Objects.FeedsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.FeedsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.FeedsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.FeedsError { - func errorCodes() throws -> [Enums.FeedsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.FeedsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedsError = Selection + typealias FeedsError = Selection } extension Objects { - struct FeedsSuccess { - let __typename: TypeName = .feedsSuccess - let edges: [String: [Objects.FeedEdge]] - let pageInfo: [String: Objects.PageInfo] + struct FeedsSuccess { + let __typename: TypeName = .feedsSuccess + let edges: [String: [Objects.FeedEdge]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case feedsSuccess = "FeedsSuccess" + enum TypeName: String, Codable { + case feedsSuccess = "FeedsSuccess" + } } - } } extension Objects.FeedsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.FeedEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.FeedEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + edges = map["edges"] + pageInfo = map["pageInfo"] } - - edges = map["edges"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Objects.FeedsSuccess { - func edges(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "edges", - arguments: [], - selection: selection.selection - ) - select(field) + func edges(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "edges", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.edges[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.edges[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func pageInfo(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "pageInfo", - arguments: [], - selection: selection.selection - ) - select(field) + func pageInfo(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "pageInfo", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.pageInfo[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.pageInfo[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedsSuccess = Selection + typealias FeedsSuccess = Selection } extension Objects { - struct FetchContentError { - let __typename: TypeName = .fetchContentError - let errorCodes: [String: [Enums.FetchContentErrorCode]] + struct FetchContentError { + let __typename: TypeName = .fetchContentError + let errorCodes: [String: [Enums.FetchContentErrorCode]] - enum TypeName: String, Codable { - case fetchContentError = "FetchContentError" + enum TypeName: String, Codable { + case fetchContentError = "FetchContentError" + } } - } } extension Objects.FetchContentError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.FetchContentErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.FetchContentErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.FetchContentError { - func errorCodes() throws -> [Enums.FetchContentErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.FetchContentErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FetchContentError = Selection + typealias FetchContentError = Selection } extension Objects { - struct FetchContentSuccess { - let __typename: TypeName = .fetchContentSuccess - let success: [String: Bool] + struct FetchContentSuccess { + let __typename: TypeName = .fetchContentSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case fetchContentSuccess = "FetchContentSuccess" + enum TypeName: String, Codable { + case fetchContentSuccess = "FetchContentSuccess" + } } - } } extension Objects.FetchContentSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.FetchContentSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FetchContentSuccess = Selection + typealias FetchContentSuccess = Selection } extension Objects { - struct Filter { - let __typename: TypeName = .filter - let category: [String: String] - let createdAt: [String: DateTime] - let defaultFilter: [String: Bool] - let description: [String: String] - let filter: [String: String] - let folder: [String: String] - let id: [String: String] - let name: [String: String] - let position: [String: Int] - let updatedAt: [String: DateTime] - let visible: [String: Bool] + struct Filter { + let __typename: TypeName = .filter + let category: [String: String] + let createdAt: [String: DateTime] + let defaultFilter: [String: Bool] + let description: [String: String] + let filter: [String: String] + let folder: [String: String] + let id: [String: String] + let name: [String: String] + let position: [String: Int] + let updatedAt: [String: DateTime] + let visible: [String: Bool] - enum TypeName: String, Codable { - case filter = "Filter" + enum TypeName: String, Codable { + case filter = "Filter" + } } - } } extension Objects.Filter: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "category": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "category": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "defaultFilter": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filter": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "folder": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "position": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "visible": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "defaultFilter": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "filter": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "folder": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "position": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "visible": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + category = map["category"] + createdAt = map["createdAt"] + defaultFilter = map["defaultFilter"] + description = map["description"] + filter = map["filter"] + folder = map["folder"] + id = map["id"] + name = map["name"] + position = map["position"] + updatedAt = map["updatedAt"] + visible = map["visible"] } - - category = map["category"] - createdAt = map["createdAt"] - defaultFilter = map["defaultFilter"] - description = map["description"] - filter = map["filter"] - folder = map["folder"] - id = map["id"] - name = map["name"] - position = map["position"] - updatedAt = map["updatedAt"] - visible = map["visible"] - } } extension Fields where TypeLock == Objects.Filter { - func category() throws -> String? { - let field = GraphQLField.leaf( - name: "category", - arguments: [] - ) - select(field) + func category() throws -> String? { + let field = GraphQLField.leaf( + name: "category", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.category[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.category[field.alias!] + case .mocking: + return nil + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func defaultFilter() throws -> Bool? { - let field = GraphQLField.leaf( - name: "defaultFilter", - arguments: [] - ) - select(field) + func defaultFilter() throws -> Bool? { + let field = GraphQLField.leaf( + name: "defaultFilter", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.defaultFilter[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.defaultFilter[field.alias!] + case .mocking: + return nil + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func filter() throws -> String { - let field = GraphQLField.leaf( - name: "filter", - arguments: [] - ) - select(field) + func filter() throws -> String { + let field = GraphQLField.leaf( + name: "filter", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filter[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.filter[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func folder() throws -> String? { - let field = GraphQLField.leaf( - name: "folder", - arguments: [] - ) - select(field) + func folder() throws -> String? { + let field = GraphQLField.leaf( + name: "folder", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.folder[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.folder[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func position() throws -> Int { - let field = GraphQLField.leaf( - name: "position", - arguments: [] - ) - select(field) + func position() throws -> Int { + let field = GraphQLField.leaf( + name: "position", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.position[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.position[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func visible() throws -> Bool? { - let field = GraphQLField.leaf( - name: "visible", - arguments: [] - ) - select(field) + func visible() throws -> Bool? { + let field = GraphQLField.leaf( + name: "visible", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.visible[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.visible[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Filter = Selection + typealias Filter = Selection } extension Objects { - struct FiltersError { - let __typename: TypeName = .filtersError - let errorCodes: [String: [Enums.FiltersErrorCode]] + struct FiltersError { + let __typename: TypeName = .filtersError + let errorCodes: [String: [Enums.FiltersErrorCode]] - enum TypeName: String, Codable { - case filtersError = "FiltersError" + enum TypeName: String, Codable { + case filtersError = "FiltersError" + } } - } } extension Objects.FiltersError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.FiltersErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.FiltersErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.FiltersError { - func errorCodes() throws -> [Enums.FiltersErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.FiltersErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FiltersError = Selection + typealias FiltersError = Selection } extension Objects { - struct FiltersSuccess { - let __typename: TypeName = .filtersSuccess - let filters: [String: [Objects.Filter]] + struct FiltersSuccess { + let __typename: TypeName = .filtersSuccess + let filters: [String: [Objects.Filter]] - enum TypeName: String, Codable { - case filtersSuccess = "FiltersSuccess" + enum TypeName: String, Codable { + case filtersSuccess = "FiltersSuccess" + } } - } } extension Objects.FiltersSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "filters": - if let value = try container.decode([Objects.Filter]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "filters": + if let value = try container.decode([Objects.Filter]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - filters = map["filters"] - } + filters = map["filters"] + } } extension Fields where TypeLock == Objects.FiltersSuccess { - func filters(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "filters", - arguments: [], - selection: selection.selection - ) - select(field) + func filters(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "filters", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filters[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.filters[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FiltersSuccess = Selection + typealias FiltersSuccess = Selection } extension Objects { - struct GenerateApiKeyError { - let __typename: TypeName = .generateApiKeyError - let errorCodes: [String: [Enums.GenerateApiKeyErrorCode]] + struct GenerateApiKeyError { + let __typename: TypeName = .generateApiKeyError + let errorCodes: [String: [Enums.GenerateApiKeyErrorCode]] - enum TypeName: String, Codable { - case generateApiKeyError = "GenerateApiKeyError" + enum TypeName: String, Codable { + case generateApiKeyError = "GenerateApiKeyError" + } } - } } extension Objects.GenerateApiKeyError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GenerateApiKeyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GenerateApiKeyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.GenerateApiKeyError { - func errorCodes() throws -> [Enums.GenerateApiKeyErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.GenerateApiKeyErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GenerateApiKeyError = Selection + typealias GenerateApiKeyError = Selection } extension Objects { - struct GenerateApiKeySuccess { - let __typename: TypeName = .generateApiKeySuccess - let apiKey: [String: Objects.ApiKey] + struct GenerateApiKeySuccess { + let __typename: TypeName = .generateApiKeySuccess + let apiKey: [String: Objects.ApiKey] - enum TypeName: String, Codable { - case generateApiKeySuccess = "GenerateApiKeySuccess" + enum TypeName: String, Codable { + case generateApiKeySuccess = "GenerateApiKeySuccess" + } } - } } extension Objects.GenerateApiKeySuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "apiKey": - if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "apiKey": + if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - apiKey = map["apiKey"] - } + apiKey = map["apiKey"] + } } extension Fields where TypeLock == Objects.GenerateApiKeySuccess { - func apiKey(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "apiKey", - arguments: [], - selection: selection.selection - ) - select(field) + func apiKey(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "apiKey", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.apiKey[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.apiKey[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GenerateApiKeySuccess = Selection + typealias GenerateApiKeySuccess = Selection } extension Objects { - struct GetFollowersError { - let __typename: TypeName = .getFollowersError - let errorCodes: [String: [Enums.GetFollowersErrorCode]] + struct GetFollowersError { + let __typename: TypeName = .getFollowersError + let errorCodes: [String: [Enums.GetFollowersErrorCode]] - enum TypeName: String, Codable { - case getFollowersError = "GetFollowersError" + enum TypeName: String, Codable { + case getFollowersError = "GetFollowersError" + } } - } } extension Objects.GetFollowersError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GetFollowersErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GetFollowersErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.GetFollowersError { - func errorCodes() throws -> [Enums.GetFollowersErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.GetFollowersErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetFollowersError = Selection + typealias GetFollowersError = Selection } extension Objects { - struct GetFollowersSuccess { - let __typename: TypeName = .getFollowersSuccess - let followers: [String: [Objects.User]] + struct GetFollowersSuccess { + let __typename: TypeName = .getFollowersSuccess + let followers: [String: [Objects.User]] - enum TypeName: String, Codable { - case getFollowersSuccess = "GetFollowersSuccess" + enum TypeName: String, Codable { + case getFollowersSuccess = "GetFollowersSuccess" + } } - } } extension Objects.GetFollowersSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "followers": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "followers": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - followers = map["followers"] - } + followers = map["followers"] + } } extension Fields where TypeLock == Objects.GetFollowersSuccess { - func followers(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "followers", - arguments: [], - selection: selection.selection - ) - select(field) + func followers(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "followers", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.followers[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.followers[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetFollowersSuccess = Selection + typealias GetFollowersSuccess = Selection } extension Objects { - struct GetFollowingError { - let __typename: TypeName = .getFollowingError - let errorCodes: [String: [Enums.GetFollowingErrorCode]] + struct GetFollowingError { + let __typename: TypeName = .getFollowingError + let errorCodes: [String: [Enums.GetFollowingErrorCode]] - enum TypeName: String, Codable { - case getFollowingError = "GetFollowingError" + enum TypeName: String, Codable { + case getFollowingError = "GetFollowingError" + } } - } } extension Objects.GetFollowingError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GetFollowingErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GetFollowingErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.GetFollowingError { - func errorCodes() throws -> [Enums.GetFollowingErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.GetFollowingErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetFollowingError = Selection + typealias GetFollowingError = Selection } extension Objects { - struct GetFollowingSuccess { - let __typename: TypeName = .getFollowingSuccess - let following: [String: [Objects.User]] + struct GetFollowingSuccess { + let __typename: TypeName = .getFollowingSuccess + let following: [String: [Objects.User]] - enum TypeName: String, Codable { - case getFollowingSuccess = "GetFollowingSuccess" + enum TypeName: String, Codable { + case getFollowingSuccess = "GetFollowingSuccess" + } } - } } extension Objects.GetFollowingSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "following": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "following": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - following = map["following"] - } + following = map["following"] + } } extension Fields where TypeLock == Objects.GetFollowingSuccess { - func following(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "following", - arguments: [], - selection: selection.selection - ) - select(field) + func following(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "following", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.following[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.following[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetFollowingSuccess = Selection + typealias GetFollowingSuccess = Selection } extension Objects { - struct GetUserPersonalizationError { - let __typename: TypeName = .getUserPersonalizationError - let errorCodes: [String: [Enums.GetUserPersonalizationErrorCode]] + struct GetUserPersonalizationError { + let __typename: TypeName = .getUserPersonalizationError + let errorCodes: [String: [Enums.GetUserPersonalizationErrorCode]] - enum TypeName: String, Codable { - case getUserPersonalizationError = "GetUserPersonalizationError" + enum TypeName: String, Codable { + case getUserPersonalizationError = "GetUserPersonalizationError" + } } - } } extension Objects.GetUserPersonalizationError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GetUserPersonalizationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GetUserPersonalizationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.GetUserPersonalizationError { - func errorCodes() throws -> [Enums.GetUserPersonalizationErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.GetUserPersonalizationErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetUserPersonalizationError = Selection + typealias GetUserPersonalizationError = Selection } extension Objects { - struct GetUserPersonalizationSuccess { - let __typename: TypeName = .getUserPersonalizationSuccess - let userPersonalization: [String: Objects.UserPersonalization] + struct GetUserPersonalizationSuccess { + let __typename: TypeName = .getUserPersonalizationSuccess + let userPersonalization: [String: Objects.UserPersonalization] - enum TypeName: String, Codable { - case getUserPersonalizationSuccess = "GetUserPersonalizationSuccess" + enum TypeName: String, Codable { + case getUserPersonalizationSuccess = "GetUserPersonalizationSuccess" + } } - } } extension Objects.GetUserPersonalizationSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "userPersonalization": - if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "userPersonalization": + if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - userPersonalization = map["userPersonalization"] - } + userPersonalization = map["userPersonalization"] + } } extension Fields where TypeLock == Objects.GetUserPersonalizationSuccess { - func userPersonalization(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "userPersonalization", - arguments: [], - selection: selection.selection - ) - select(field) + func userPersonalization(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "userPersonalization", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.userPersonalization[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.userPersonalization[field.alias!]) + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetUserPersonalizationSuccess = Selection + typealias GetUserPersonalizationSuccess = Selection } extension Objects { - struct GoogleSignupError { - let __typename: TypeName = .googleSignupError - let errorCodes: [String: [Enums.SignupErrorCode?]] + struct GoogleSignupError { + let __typename: TypeName = .googleSignupError + let errorCodes: [String: [Enums.SignupErrorCode?]] - enum TypeName: String, Codable { - case googleSignupError = "GoogleSignupError" + enum TypeName: String, Codable { + case googleSignupError = "GoogleSignupError" + } } - } } extension Objects.GoogleSignupError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SignupErrorCode?]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SignupErrorCode?]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.GoogleSignupError { - func errorCodes() throws -> [Enums.SignupErrorCode?] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SignupErrorCode?] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GoogleSignupError = Selection + typealias GoogleSignupError = Selection } extension Objects { - struct GoogleSignupSuccess { - let __typename: TypeName = .googleSignupSuccess - let me: [String: Objects.User] + struct GoogleSignupSuccess { + let __typename: TypeName = .googleSignupSuccess + let me: [String: Objects.User] - enum TypeName: String, Codable { - case googleSignupSuccess = "GoogleSignupSuccess" + enum TypeName: String, Codable { + case googleSignupSuccess = "GoogleSignupSuccess" + } } - } } extension Objects.GoogleSignupSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "me": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "me": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - me = map["me"] - } + me = map["me"] + } } extension Fields where TypeLock == Objects.GoogleSignupSuccess { - func me(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "me", - arguments: [], - selection: selection.selection - ) - select(field) + func me(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "me", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.me[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.me[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GoogleSignupSuccess = Selection + typealias GoogleSignupSuccess = Selection } extension Objects { - struct GroupsError { - let __typename: TypeName = .groupsError - let errorCodes: [String: [Enums.GroupsErrorCode]] + struct GroupsError { + let __typename: TypeName = .groupsError + let errorCodes: [String: [Enums.GroupsErrorCode]] - enum TypeName: String, Codable { - case groupsError = "GroupsError" + enum TypeName: String, Codable { + case groupsError = "GroupsError" + } } - } } extension Objects.GroupsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GroupsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GroupsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.GroupsError { - func errorCodes() throws -> [Enums.GroupsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.GroupsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GroupsError = Selection + typealias GroupsError = Selection } extension Objects { - struct GroupsSuccess { - let __typename: TypeName = .groupsSuccess - let groups: [String: [Objects.RecommendationGroup]] + struct GroupsSuccess { + let __typename: TypeName = .groupsSuccess + let groups: [String: [Objects.RecommendationGroup]] - enum TypeName: String, Codable { - case groupsSuccess = "GroupsSuccess" + enum TypeName: String, Codable { + case groupsSuccess = "GroupsSuccess" + } } - } } extension Objects.GroupsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "groups": - if let value = try container.decode([Objects.RecommendationGroup]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "groups": + if let value = try container.decode([Objects.RecommendationGroup]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - groups = map["groups"] - } + groups = map["groups"] + } } extension Fields where TypeLock == Objects.GroupsSuccess { - func groups(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "groups", - arguments: [], - selection: selection.selection - ) - select(field) + func groups(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "groups", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.groups[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.groups[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GroupsSuccess = Selection + typealias GroupsSuccess = Selection } extension Objects { - struct Highlight { - let __typename: TypeName = .highlight - let annotation: [String: String] - let color: [String: String] - let createdAt: [String: DateTime] - let createdByMe: [String: Bool] - let highlightPositionAnchorIndex: [String: Int] - let highlightPositionPercent: [String: Double] - let html: [String: String] - let id: [String: String] - let labels: [String: [Objects.Label]] - let patch: [String: String] - let prefix: [String: String] - let quote: [String: String] - let reactions: [String: [Objects.Reaction]] - let replies: [String: [Objects.HighlightReply]] - let sharedAt: [String: DateTime] - let shortId: [String: String] - let suffix: [String: String] - let type: [String: Enums.HighlightType] - let updatedAt: [String: DateTime] - let user: [String: Objects.User] + struct Highlight { + let __typename: TypeName = .highlight + let annotation: [String: String] + let color: [String: String] + let createdAt: [String: DateTime] + let createdByMe: [String: Bool] + let highlightPositionAnchorIndex: [String: Int] + let highlightPositionPercent: [String: Double] + let html: [String: String] + let id: [String: String] + let labels: [String: [Objects.Label]] + let patch: [String: String] + let prefix: [String: String] + let quote: [String: String] + let reactions: [String: [Objects.Reaction]] + let replies: [String: [Objects.HighlightReply]] + let sharedAt: [String: DateTime] + let shortId: [String: String] + let suffix: [String: String] + let type: [String: Enums.HighlightType] + let updatedAt: [String: DateTime] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case highlight = "Highlight" + enum TypeName: String, Codable { + case highlight = "Highlight" + } } - } } extension Objects.Highlight: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "annotation": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "annotation": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "color": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdByMe": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlightPositionAnchorIndex": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlightPositionPercent": + if let value = try container.decode(Double?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "html": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "labels": + if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "patch": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "prefix": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "quote": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reactions": + if let value = try container.decode([Objects.Reaction]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "replies": + if let value = try container.decode([Objects.HighlightReply]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "shortId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "suffix": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "type": + if let value = try container.decode(Enums.HighlightType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "color": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createdByMe": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "highlightPositionAnchorIndex": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "highlightPositionPercent": - if let value = try container.decode(Double?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "html": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "labels": - if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "patch": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "prefix": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "quote": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "reactions": - if let value = try container.decode([Objects.Reaction]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "replies": - if let value = try container.decode([Objects.HighlightReply]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "shortId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "suffix": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "type": - if let value = try container.decode(Enums.HighlightType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + annotation = map["annotation"] + color = map["color"] + createdAt = map["createdAt"] + createdByMe = map["createdByMe"] + highlightPositionAnchorIndex = map["highlightPositionAnchorIndex"] + highlightPositionPercent = map["highlightPositionPercent"] + html = map["html"] + id = map["id"] + labels = map["labels"] + patch = map["patch"] + prefix = map["prefix"] + quote = map["quote"] + reactions = map["reactions"] + replies = map["replies"] + sharedAt = map["sharedAt"] + shortId = map["shortId"] + suffix = map["suffix"] + type = map["type"] + updatedAt = map["updatedAt"] + user = map["user"] } - - annotation = map["annotation"] - color = map["color"] - createdAt = map["createdAt"] - createdByMe = map["createdByMe"] - highlightPositionAnchorIndex = map["highlightPositionAnchorIndex"] - highlightPositionPercent = map["highlightPositionPercent"] - html = map["html"] - id = map["id"] - labels = map["labels"] - patch = map["patch"] - prefix = map["prefix"] - quote = map["quote"] - reactions = map["reactions"] - replies = map["replies"] - sharedAt = map["sharedAt"] - shortId = map["shortId"] - suffix = map["suffix"] - type = map["type"] - updatedAt = map["updatedAt"] - user = map["user"] - } } extension Fields where TypeLock == Objects.Highlight { - func annotation() throws -> String? { - let field = GraphQLField.leaf( - name: "annotation", - arguments: [] - ) - select(field) + func annotation() throws -> String? { + let field = GraphQLField.leaf( + name: "annotation", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.annotation[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.annotation[field.alias!] + case .mocking: + return nil + } } - } - func color() throws -> String? { - let field = GraphQLField.leaf( - name: "color", - arguments: [] - ) - select(field) + func color() throws -> String? { + let field = GraphQLField.leaf( + name: "color", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.color[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.color[field.alias!] + case .mocking: + return nil + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func createdByMe() throws -> Bool { - let field = GraphQLField.leaf( - name: "createdByMe", - arguments: [] - ) - select(field) + func createdByMe() throws -> Bool { + let field = GraphQLField.leaf( + name: "createdByMe", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdByMe[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.createdByMe[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func highlightPositionAnchorIndex() throws -> Int? { - let field = GraphQLField.leaf( - name: "highlightPositionAnchorIndex", - arguments: [] - ) - select(field) + func highlightPositionAnchorIndex() throws -> Int? { + let field = GraphQLField.leaf( + name: "highlightPositionAnchorIndex", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.highlightPositionAnchorIndex[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.highlightPositionAnchorIndex[field.alias!] + case .mocking: + return nil + } } - } - func highlightPositionPercent() throws -> Double? { - let field = GraphQLField.leaf( - name: "highlightPositionPercent", - arguments: [] - ) - select(field) + func highlightPositionPercent() throws -> Double? { + let field = GraphQLField.leaf( + name: "highlightPositionPercent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.highlightPositionPercent[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.highlightPositionPercent[field.alias!] + case .mocking: + return nil + } } - } - func html() throws -> String? { - let field = GraphQLField.leaf( - name: "html", - arguments: [] - ) - select(field) + func html() throws -> String? { + let field = GraphQLField.leaf( + name: "html", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.html[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.html[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func labels(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "labels", - arguments: [], - selection: selection.selection - ) - select(field) + func labels(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "labels", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.labels[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.labels[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func patch() throws -> String? { - let field = GraphQLField.leaf( - name: "patch", - arguments: [] - ) - select(field) + func patch() throws -> String? { + let field = GraphQLField.leaf( + name: "patch", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.patch[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.patch[field.alias!] + case .mocking: + return nil + } } - } - func prefix() throws -> String? { - let field = GraphQLField.leaf( - name: "prefix", - arguments: [] - ) - select(field) + func prefix() throws -> String? { + let field = GraphQLField.leaf( + name: "prefix", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.prefix[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.prefix[field.alias!] + case .mocking: + return nil + } } - } - func quote() throws -> String? { - let field = GraphQLField.leaf( - name: "quote", - arguments: [] - ) - select(field) + func quote() throws -> String? { + let field = GraphQLField.leaf( + name: "quote", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.quote[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.quote[field.alias!] + case .mocking: + return nil + } } - } - func reactions(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reactions", - arguments: [], - selection: selection.selection - ) - select(field) + func reactions(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reactions", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reactions[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reactions[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func replies(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "replies", - arguments: [], - selection: selection.selection - ) - select(field) + func replies(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "replies", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.replies[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.replies[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func sharedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "sharedAt", - arguments: [] - ) - select(field) + func sharedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "sharedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.sharedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.sharedAt[field.alias!] + case .mocking: + return nil + } } - } - func shortId() throws -> String { - let field = GraphQLField.leaf( - name: "shortId", - arguments: [] - ) - select(field) + func shortId() throws -> String { + let field = GraphQLField.leaf( + name: "shortId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.shortId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.shortId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func suffix() throws -> String? { - let field = GraphQLField.leaf( - name: "suffix", - arguments: [] - ) - select(field) + func suffix() throws -> String? { + let field = GraphQLField.leaf( + name: "suffix", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.suffix[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.suffix[field.alias!] + case .mocking: + return nil + } } - } - func type() throws -> Enums.HighlightType { - let field = GraphQLField.leaf( - name: "type", - arguments: [] - ) - select(field) + func type() throws -> Enums.HighlightType { + let field = GraphQLField.leaf( + name: "type", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.type[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.HighlightType.allCases.first! + switch response { + case let .decoding(data): + if let data = data.type[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.HighlightType.allCases.first! + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Highlight = Selection + typealias Highlight = Selection } extension Objects { - struct HighlightReply { - let __typename: TypeName = .highlightReply - let createdAt: [String: DateTime] - let highlight: [String: Objects.Highlight] - let id: [String: String] - let text: [String: String] - let updatedAt: [String: DateTime] - let user: [String: Objects.User] + struct HighlightReply { + let __typename: TypeName = .highlightReply + let createdAt: [String: DateTime] + let highlight: [String: Objects.Highlight] + let id: [String: String] + let text: [String: String] + let updatedAt: [String: DateTime] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case highlightReply = "HighlightReply" + enum TypeName: String, Codable { + case highlightReply = "HighlightReply" + } } - } } extension Objects.HighlightReply: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "text": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "text": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdAt = map["createdAt"] + highlight = map["highlight"] + id = map["id"] + text = map["text"] + updatedAt = map["updatedAt"] + user = map["user"] } - - createdAt = map["createdAt"] - highlight = map["highlight"] - id = map["id"] - text = map["text"] - updatedAt = map["updatedAt"] - user = map["user"] - } } extension Fields where TypeLock == Objects.HighlightReply { - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func highlight(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlight", - arguments: [], - selection: selection.selection - ) - select(field) + func highlight(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlight", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func text() throws -> String { - let field = GraphQLField.leaf( - name: "text", - arguments: [] - ) - select(field) + func text() throws -> String { + let field = GraphQLField.leaf( + name: "text", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.text[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.text[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias HighlightReply = Selection + typealias HighlightReply = Selection } extension Objects { - struct HighlightStats { - let __typename: TypeName = .highlightStats - let highlightCount: [String: Int] + struct HighlightStats { + let __typename: TypeName = .highlightStats + let highlightCount: [String: Int] - enum TypeName: String, Codable { - case highlightStats = "HighlightStats" + enum TypeName: String, Codable { + case highlightStats = "HighlightStats" + } } - } } extension Objects.HighlightStats: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlightCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlightCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlightCount = map["highlightCount"] - } + highlightCount = map["highlightCount"] + } } extension Fields where TypeLock == Objects.HighlightStats { - func highlightCount() throws -> Int { - let field = GraphQLField.leaf( - name: "highlightCount", - arguments: [] - ) - select(field) + func highlightCount() throws -> Int { + let field = GraphQLField.leaf( + name: "highlightCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlightCount[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.highlightCount[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias HighlightStats = Selection + typealias HighlightStats = Selection } extension Objects { - struct ImportFromIntegrationError { - let __typename: TypeName = .importFromIntegrationError - let errorCodes: [String: [Enums.ImportFromIntegrationErrorCode]] + struct ImportFromIntegrationError { + let __typename: TypeName = .importFromIntegrationError + let errorCodes: [String: [Enums.ImportFromIntegrationErrorCode]] - enum TypeName: String, Codable { - case importFromIntegrationError = "ImportFromIntegrationError" + enum TypeName: String, Codable { + case importFromIntegrationError = "ImportFromIntegrationError" + } } - } } extension Objects.ImportFromIntegrationError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ImportFromIntegrationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ImportFromIntegrationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.ImportFromIntegrationError { - func errorCodes() throws -> [Enums.ImportFromIntegrationErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ImportFromIntegrationErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ImportFromIntegrationError = Selection + typealias ImportFromIntegrationError = Selection } extension Objects { - struct ImportFromIntegrationSuccess { - let __typename: TypeName = .importFromIntegrationSuccess - let success: [String: Bool] + struct ImportFromIntegrationSuccess { + let __typename: TypeName = .importFromIntegrationSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case importFromIntegrationSuccess = "ImportFromIntegrationSuccess" + enum TypeName: String, Codable { + case importFromIntegrationSuccess = "ImportFromIntegrationSuccess" + } } - } } extension Objects.ImportFromIntegrationSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.ImportFromIntegrationSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ImportFromIntegrationSuccess = Selection + typealias ImportFromIntegrationSuccess = Selection } extension Objects { - struct Integration { - let __typename: TypeName = .integration - let createdAt: [String: DateTime] - let enabled: [String: Bool] - let id: [String: String] - let name: [String: String] - let taskName: [String: String] - let token: [String: String] - let type: [String: Enums.IntegrationType] - let updatedAt: [String: DateTime] + struct Integration { + let __typename: TypeName = .integration + let createdAt: [String: DateTime] + let enabled: [String: Bool] + let id: [String: String] + let name: [String: String] + let taskName: [String: String] + let token: [String: String] + let type: [String: Enums.IntegrationType] + let updatedAt: [String: DateTime] - enum TypeName: String, Codable { - case integration = "Integration" + enum TypeName: String, Codable { + case integration = "Integration" + } } - } } extension Objects.Integration: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "enabled": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "taskName": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "token": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "type": + if let value = try container.decode(Enums.IntegrationType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "enabled": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "taskName": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "token": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "type": - if let value = try container.decode(Enums.IntegrationType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdAt = map["createdAt"] + enabled = map["enabled"] + id = map["id"] + name = map["name"] + taskName = map["taskName"] + token = map["token"] + type = map["type"] + updatedAt = map["updatedAt"] } - - createdAt = map["createdAt"] - enabled = map["enabled"] - id = map["id"] - name = map["name"] - taskName = map["taskName"] - token = map["token"] - type = map["type"] - updatedAt = map["updatedAt"] - } } extension Fields where TypeLock == Objects.Integration { - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func enabled() throws -> Bool { - let field = GraphQLField.leaf( - name: "enabled", - arguments: [] - ) - select(field) + func enabled() throws -> Bool { + let field = GraphQLField.leaf( + name: "enabled", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.enabled[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.enabled[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func taskName() throws -> String? { - let field = GraphQLField.leaf( - name: "taskName", - arguments: [] - ) - select(field) + func taskName() throws -> String? { + let field = GraphQLField.leaf( + name: "taskName", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.taskName[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.taskName[field.alias!] + case .mocking: + return nil + } } - } - func token() throws -> String { - let field = GraphQLField.leaf( - name: "token", - arguments: [] - ) - select(field) + func token() throws -> String { + let field = GraphQLField.leaf( + name: "token", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.token[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.token[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func type() throws -> Enums.IntegrationType { - let field = GraphQLField.leaf( - name: "type", - arguments: [] - ) - select(field) + func type() throws -> Enums.IntegrationType { + let field = GraphQLField.leaf( + name: "type", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.type[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.IntegrationType.allCases.first! + switch response { + case let .decoding(data): + if let data = data.type[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.IntegrationType.allCases.first! + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Integration = Selection + typealias Integration = Selection } extension Objects { - struct IntegrationsError { - let __typename: TypeName = .integrationsError - let errorCodes: [String: [Enums.IntegrationsErrorCode]] + struct IntegrationsError { + let __typename: TypeName = .integrationsError + let errorCodes: [String: [Enums.IntegrationsErrorCode]] - enum TypeName: String, Codable { - case integrationsError = "IntegrationsError" + enum TypeName: String, Codable { + case integrationsError = "IntegrationsError" + } } - } } extension Objects.IntegrationsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.IntegrationsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.IntegrationsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.IntegrationsError { - func errorCodes() throws -> [Enums.IntegrationsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.IntegrationsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias IntegrationsError = Selection + typealias IntegrationsError = Selection } extension Objects { - struct IntegrationsSuccess { - let __typename: TypeName = .integrationsSuccess - let integrations: [String: [Objects.Integration]] + struct IntegrationsSuccess { + let __typename: TypeName = .integrationsSuccess + let integrations: [String: [Objects.Integration]] - enum TypeName: String, Codable { - case integrationsSuccess = "IntegrationsSuccess" + enum TypeName: String, Codable { + case integrationsSuccess = "IntegrationsSuccess" + } } - } } extension Objects.IntegrationsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "integrations": - if let value = try container.decode([Objects.Integration]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "integrations": + if let value = try container.decode([Objects.Integration]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - integrations = map["integrations"] - } + integrations = map["integrations"] + } } extension Fields where TypeLock == Objects.IntegrationsSuccess { - func integrations(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "integrations", - arguments: [], - selection: selection.selection - ) - select(field) + func integrations(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "integrations", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.integrations[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.integrations[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias IntegrationsSuccess = Selection + typealias IntegrationsSuccess = Selection } extension Objects { - struct JoinGroupError { - let __typename: TypeName = .joinGroupError - let errorCodes: [String: [Enums.JoinGroupErrorCode]] + struct JoinGroupError { + let __typename: TypeName = .joinGroupError + let errorCodes: [String: [Enums.JoinGroupErrorCode]] - enum TypeName: String, Codable { - case joinGroupError = "JoinGroupError" + enum TypeName: String, Codable { + case joinGroupError = "JoinGroupError" + } } - } } extension Objects.JoinGroupError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.JoinGroupErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.JoinGroupErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.JoinGroupError { - func errorCodes() throws -> [Enums.JoinGroupErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.JoinGroupErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias JoinGroupError = Selection + typealias JoinGroupError = Selection } extension Objects { - struct JoinGroupSuccess { - let __typename: TypeName = .joinGroupSuccess - let group: [String: Objects.RecommendationGroup] + struct JoinGroupSuccess { + let __typename: TypeName = .joinGroupSuccess + let group: [String: Objects.RecommendationGroup] - enum TypeName: String, Codable { - case joinGroupSuccess = "JoinGroupSuccess" + enum TypeName: String, Codable { + case joinGroupSuccess = "JoinGroupSuccess" + } } - } } extension Objects.JoinGroupSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "group": - if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "group": + if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - group = map["group"] - } + group = map["group"] + } } extension Fields where TypeLock == Objects.JoinGroupSuccess { - func group(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "group", - arguments: [], - selection: selection.selection - ) - select(field) + func group(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "group", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.group[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.group[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias JoinGroupSuccess = Selection + typealias JoinGroupSuccess = Selection } extension Objects { - struct Label { - let __typename: TypeName = .label - let color: [String: String] - let createdAt: [String: DateTime] - let description: [String: String] - let id: [String: String] - let `internal`: [String: Bool] - let name: [String: String] - let position: [String: Int] - let source: [String: String] + struct Label { + let __typename: TypeName = .label + let color: [String: String] + let createdAt: [String: DateTime] + let description: [String: String] + let id: [String: String] + let `internal`: [String: Bool] + let name: [String: String] + let position: [String: Int] + let source: [String: String] - enum TypeName: String, Codable { - case label = "Label" + enum TypeName: String, Codable { + case label = "Label" + } } - } } extension Objects.Label: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "color": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "color": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "internal": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "position": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "source": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "internal": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "position": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "source": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + color = map["color"] + createdAt = map["createdAt"] + description = map["description"] + id = map["id"] + self.internal = map["internal"] + name = map["name"] + position = map["position"] + source = map["source"] } - - color = map["color"] - createdAt = map["createdAt"] - description = map["description"] - id = map["id"] - self.internal = map["internal"] - name = map["name"] - position = map["position"] - source = map["source"] - } } extension Fields where TypeLock == Objects.Label { - func color() throws -> String { - let field = GraphQLField.leaf( - name: "color", - arguments: [] - ) - select(field) + func color() throws -> String { + let field = GraphQLField.leaf( + name: "color", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.color[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.color[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func createdAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.createdAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.createdAt[field.alias!] + case .mocking: + return nil + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func `internal`() throws -> Bool? { - let field = GraphQLField.leaf( - name: "internal", - arguments: [] - ) - select(field) + func `internal`() throws -> Bool? { + let field = GraphQLField.leaf( + name: "internal", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.internal[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.internal[field.alias!] + case .mocking: + return nil + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func position() throws -> Int? { - let field = GraphQLField.leaf( - name: "position", - arguments: [] - ) - select(field) + func position() throws -> Int? { + let field = GraphQLField.leaf( + name: "position", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.position[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.position[field.alias!] + case .mocking: + return nil + } } - } - func source() throws -> String? { - let field = GraphQLField.leaf( - name: "source", - arguments: [] - ) - select(field) + func source() throws -> String? { + let field = GraphQLField.leaf( + name: "source", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.source[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.source[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Label = Selection + typealias Label = Selection } extension Objects { - struct LabelsError { - let __typename: TypeName = .labelsError - let errorCodes: [String: [Enums.LabelsErrorCode]] + struct LabelsError { + let __typename: TypeName = .labelsError + let errorCodes: [String: [Enums.LabelsErrorCode]] - enum TypeName: String, Codable { - case labelsError = "LabelsError" + enum TypeName: String, Codable { + case labelsError = "LabelsError" + } } - } } extension Objects.LabelsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LabelsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LabelsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.LabelsError { - func errorCodes() throws -> [Enums.LabelsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.LabelsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LabelsError = Selection + typealias LabelsError = Selection } extension Objects { - struct LabelsSuccess { - let __typename: TypeName = .labelsSuccess - let labels: [String: [Objects.Label]] + struct LabelsSuccess { + let __typename: TypeName = .labelsSuccess + let labels: [String: [Objects.Label]] - enum TypeName: String, Codable { - case labelsSuccess = "LabelsSuccess" + enum TypeName: String, Codable { + case labelsSuccess = "LabelsSuccess" + } } - } } extension Objects.LabelsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "labels": - if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "labels": + if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - labels = map["labels"] - } + labels = map["labels"] + } } extension Fields where TypeLock == Objects.LabelsSuccess { - func labels(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "labels", - arguments: [], - selection: selection.selection - ) - select(field) + func labels(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "labels", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.labels[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.labels[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LabelsSuccess = Selection + typealias LabelsSuccess = Selection } extension Objects { - struct LeaveGroupError { - let __typename: TypeName = .leaveGroupError - let errorCodes: [String: [Enums.LeaveGroupErrorCode]] + struct LeaveGroupError { + let __typename: TypeName = .leaveGroupError + let errorCodes: [String: [Enums.LeaveGroupErrorCode]] - enum TypeName: String, Codable { - case leaveGroupError = "LeaveGroupError" + enum TypeName: String, Codable { + case leaveGroupError = "LeaveGroupError" + } } - } } extension Objects.LeaveGroupError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LeaveGroupErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LeaveGroupErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.LeaveGroupError { - func errorCodes() throws -> [Enums.LeaveGroupErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.LeaveGroupErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LeaveGroupError = Selection + typealias LeaveGroupError = Selection } extension Objects { - struct LeaveGroupSuccess { - let __typename: TypeName = .leaveGroupSuccess - let success: [String: Bool] + struct LeaveGroupSuccess { + let __typename: TypeName = .leaveGroupSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case leaveGroupSuccess = "LeaveGroupSuccess" + enum TypeName: String, Codable { + case leaveGroupSuccess = "LeaveGroupSuccess" + } } - } } extension Objects.LeaveGroupSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.LeaveGroupSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LeaveGroupSuccess = Selection + typealias LeaveGroupSuccess = Selection } extension Objects { - struct Link { - let __typename: TypeName = .link - let highlightStats: [String: Objects.HighlightStats] - let id: [String: String] - let page: [String: Objects.Page] - let postedByViewer: [String: Bool] - let readState: [String: Objects.ReadState] - let savedAt: [String: DateTime] - let savedBy: [String: Objects.User] - let savedByViewer: [String: Bool] - let shareInfo: [String: Objects.LinkShareInfo] - let shareStats: [String: Objects.ShareStats] - let slug: [String: String] - let updatedAt: [String: DateTime] - let url: [String: String] + struct Link { + let __typename: TypeName = .link + let highlightStats: [String: Objects.HighlightStats] + let id: [String: String] + let page: [String: Objects.Page] + let postedByViewer: [String: Bool] + let readState: [String: Objects.ReadState] + let savedAt: [String: DateTime] + let savedBy: [String: Objects.User] + let savedByViewer: [String: Bool] + let shareInfo: [String: Objects.LinkShareInfo] + let shareStats: [String: Objects.ShareStats] + let slug: [String: String] + let updatedAt: [String: DateTime] + let url: [String: String] - enum TypeName: String, Codable { - case link = "Link" + enum TypeName: String, Codable { + case link = "Link" + } } - } } extension Objects.Link: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlightStats": - if let value = try container.decode(Objects.HighlightStats?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlightStats": + if let value = try container.decode(Objects.HighlightStats?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "page": + if let value = try container.decode(Objects.Page?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "postedByViewer": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readState": + if let value = try container.decode(Objects.ReadState?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "savedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "savedBy": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "savedByViewer": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "shareInfo": + if let value = try container.decode(Objects.LinkShareInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "shareStats": + if let value = try container.decode(Objects.ShareStats?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "slug": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "page": - if let value = try container.decode(Objects.Page?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "postedByViewer": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readState": - if let value = try container.decode(Objects.ReadState?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "savedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "savedBy": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "savedByViewer": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "shareInfo": - if let value = try container.decode(Objects.LinkShareInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "shareStats": - if let value = try container.decode(Objects.ShareStats?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "slug": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + highlightStats = map["highlightStats"] + id = map["id"] + page = map["page"] + postedByViewer = map["postedByViewer"] + readState = map["readState"] + savedAt = map["savedAt"] + savedBy = map["savedBy"] + savedByViewer = map["savedByViewer"] + shareInfo = map["shareInfo"] + shareStats = map["shareStats"] + slug = map["slug"] + updatedAt = map["updatedAt"] + url = map["url"] } - - highlightStats = map["highlightStats"] - id = map["id"] - page = map["page"] - postedByViewer = map["postedByViewer"] - readState = map["readState"] - savedAt = map["savedAt"] - savedBy = map["savedBy"] - savedByViewer = map["savedByViewer"] - shareInfo = map["shareInfo"] - shareStats = map["shareStats"] - slug = map["slug"] - updatedAt = map["updatedAt"] - url = map["url"] - } } extension Fields where TypeLock == Objects.Link { - func highlightStats(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlightStats", - arguments: [], - selection: selection.selection - ) - select(field) + func highlightStats(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlightStats", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlightStats[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlightStats[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func page(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "page", - arguments: [], - selection: selection.selection - ) - select(field) + func page(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "page", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.page[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.page[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func postedByViewer() throws -> Bool { - let field = GraphQLField.leaf( - name: "postedByViewer", - arguments: [] - ) - select(field) + func postedByViewer() throws -> Bool { + let field = GraphQLField.leaf( + name: "postedByViewer", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.postedByViewer[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.postedByViewer[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func readState(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "readState", - arguments: [], - selection: selection.selection - ) - select(field) + func readState(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "readState", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.readState[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.readState[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func savedAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "savedAt", - arguments: [] - ) - select(field) + func savedAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "savedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.savedAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.savedAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func savedBy(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "savedBy", - arguments: [], - selection: selection.selection - ) - select(field) + func savedBy(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "savedBy", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.savedBy[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.savedBy[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func savedByViewer() throws -> Bool { - let field = GraphQLField.leaf( - name: "savedByViewer", - arguments: [] - ) - select(field) + func savedByViewer() throws -> Bool { + let field = GraphQLField.leaf( + name: "savedByViewer", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.savedByViewer[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.savedByViewer[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func shareInfo(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "shareInfo", - arguments: [], - selection: selection.selection - ) - select(field) + func shareInfo(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "shareInfo", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.shareInfo[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.shareInfo[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func shareStats(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "shareStats", - arguments: [], - selection: selection.selection - ) - select(field) + func shareStats(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "shareStats", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.shareStats[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.shareStats[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func slug() throws -> String { - let field = GraphQLField.leaf( - name: "slug", - arguments: [] - ) - select(field) + func slug() throws -> String { + let field = GraphQLField.leaf( + name: "slug", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.slug[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.slug[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Link = Selection + typealias Link = Selection } extension Objects { - struct LinkShareInfo { - let __typename: TypeName = .linkShareInfo - let description: [String: String] - let imageUrl: [String: String] - let title: [String: String] + struct LinkShareInfo { + let __typename: TypeName = .linkShareInfo + let description: [String: String] + let imageUrl: [String: String] + let title: [String: String] - enum TypeName: String, Codable { - case linkShareInfo = "LinkShareInfo" + enum TypeName: String, Codable { + case linkShareInfo = "LinkShareInfo" + } } - } } extension Objects.LinkShareInfo: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "imageUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "title": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "imageUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "title": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + description = map["description"] + imageUrl = map["imageUrl"] + title = map["title"] } - - description = map["description"] - imageUrl = map["imageUrl"] - title = map["title"] - } } extension Fields where TypeLock == Objects.LinkShareInfo { - func description() throws -> String { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.description[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.description[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func imageUrl() throws -> String { - let field = GraphQLField.leaf( - name: "imageUrl", - arguments: [] - ) - select(field) + func imageUrl() throws -> String { + let field = GraphQLField.leaf( + name: "imageUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.imageUrl[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.imageUrl[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func title() throws -> String { - let field = GraphQLField.leaf( - name: "title", - arguments: [] - ) - select(field) + func title() throws -> String { + let field = GraphQLField.leaf( + name: "title", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.title[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.title[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LinkShareInfo = Selection + typealias LinkShareInfo = Selection } extension Objects { - struct LogOutError { - let __typename: TypeName = .logOutError - let errorCodes: [String: [Enums.LogOutErrorCode]] + struct LogOutError { + let __typename: TypeName = .logOutError + let errorCodes: [String: [Enums.LogOutErrorCode]] - enum TypeName: String, Codable { - case logOutError = "LogOutError" + enum TypeName: String, Codable { + case logOutError = "LogOutError" + } } - } } extension Objects.LogOutError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LogOutErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LogOutErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.LogOutError { - func errorCodes() throws -> [Enums.LogOutErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.LogOutErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LogOutError = Selection + typealias LogOutError = Selection } extension Objects { - struct LogOutSuccess { - let __typename: TypeName = .logOutSuccess - let message: [String: String] + struct LogOutSuccess { + let __typename: TypeName = .logOutSuccess + let message: [String: String] - enum TypeName: String, Codable { - case logOutSuccess = "LogOutSuccess" + enum TypeName: String, Codable { + case logOutSuccess = "LogOutSuccess" + } } - } } extension Objects.LogOutSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - message = map["message"] - } + message = map["message"] + } } extension Fields where TypeLock == Objects.LogOutSuccess { - func message() throws -> String? { - let field = GraphQLField.leaf( - name: "message", - arguments: [] - ) - select(field) + func message() throws -> String? { + let field = GraphQLField.leaf( + name: "message", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.message[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.message[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LogOutSuccess = Selection + typealias LogOutSuccess = Selection } extension Objects { - struct LoginError { - let __typename: TypeName = .loginError - let errorCodes: [String: [Enums.LoginErrorCode]] + struct LoginError { + let __typename: TypeName = .loginError + let errorCodes: [String: [Enums.LoginErrorCode]] - enum TypeName: String, Codable { - case loginError = "LoginError" + enum TypeName: String, Codable { + case loginError = "LoginError" + } } - } } extension Objects.LoginError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LoginErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LoginErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.LoginError { - func errorCodes() throws -> [Enums.LoginErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.LoginErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LoginError = Selection + typealias LoginError = Selection } extension Objects { - struct LoginSuccess { - let __typename: TypeName = .loginSuccess - let me: [String: Objects.User] + struct LoginSuccess { + let __typename: TypeName = .loginSuccess + let me: [String: Objects.User] - enum TypeName: String, Codable { - case loginSuccess = "LoginSuccess" + enum TypeName: String, Codable { + case loginSuccess = "LoginSuccess" + } } - } } extension Objects.LoginSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "me": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "me": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - me = map["me"] - } + me = map["me"] + } } extension Fields where TypeLock == Objects.LoginSuccess { - func me(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "me", - arguments: [], - selection: selection.selection - ) - select(field) + func me(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "me", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.me[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.me[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LoginSuccess = Selection + typealias LoginSuccess = Selection } extension Objects { - struct MarkEmailAsItemError { - let __typename: TypeName = .markEmailAsItemError - let errorCodes: [String: [Enums.MarkEmailAsItemErrorCode]] + struct MarkEmailAsItemError { + let __typename: TypeName = .markEmailAsItemError + let errorCodes: [String: [Enums.MarkEmailAsItemErrorCode]] - enum TypeName: String, Codable { - case markEmailAsItemError = "MarkEmailAsItemError" + enum TypeName: String, Codable { + case markEmailAsItemError = "MarkEmailAsItemError" + } } - } } extension Objects.MarkEmailAsItemError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MarkEmailAsItemErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MarkEmailAsItemErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.MarkEmailAsItemError { - func errorCodes() throws -> [Enums.MarkEmailAsItemErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.MarkEmailAsItemErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MarkEmailAsItemError = Selection + typealias MarkEmailAsItemError = Selection } extension Objects { - struct MarkEmailAsItemSuccess { - let __typename: TypeName = .markEmailAsItemSuccess - let success: [String: Bool] + struct MarkEmailAsItemSuccess { + let __typename: TypeName = .markEmailAsItemSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case markEmailAsItemSuccess = "MarkEmailAsItemSuccess" + enum TypeName: String, Codable { + case markEmailAsItemSuccess = "MarkEmailAsItemSuccess" + } } - } } extension Objects.MarkEmailAsItemSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.MarkEmailAsItemSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MarkEmailAsItemSuccess = Selection + typealias MarkEmailAsItemSuccess = Selection } extension Objects { - struct MergeHighlightError { - let __typename: TypeName = .mergeHighlightError - let errorCodes: [String: [Enums.MergeHighlightErrorCode]] + struct MergeHighlightError { + let __typename: TypeName = .mergeHighlightError + let errorCodes: [String: [Enums.MergeHighlightErrorCode]] - enum TypeName: String, Codable { - case mergeHighlightError = "MergeHighlightError" + enum TypeName: String, Codable { + case mergeHighlightError = "MergeHighlightError" + } } - } } extension Objects.MergeHighlightError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MergeHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MergeHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.MergeHighlightError { - func errorCodes() throws -> [Enums.MergeHighlightErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.MergeHighlightErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MergeHighlightError = Selection + typealias MergeHighlightError = Selection } extension Objects { - struct MergeHighlightSuccess { - let __typename: TypeName = .mergeHighlightSuccess - let highlight: [String: Objects.Highlight] - let overlapHighlightIdList: [String: [String]] + struct MergeHighlightSuccess { + let __typename: TypeName = .mergeHighlightSuccess + let highlight: [String: Objects.Highlight] + let overlapHighlightIdList: [String: [String]] - enum TypeName: String, Codable { - case mergeHighlightSuccess = "MergeHighlightSuccess" + enum TypeName: String, Codable { + case mergeHighlightSuccess = "MergeHighlightSuccess" + } } - } } extension Objects.MergeHighlightSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "overlapHighlightIdList": + if let value = try container.decode([String]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "overlapHighlightIdList": - if let value = try container.decode([String]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + highlight = map["highlight"] + overlapHighlightIdList = map["overlapHighlightIdList"] } - - highlight = map["highlight"] - overlapHighlightIdList = map["overlapHighlightIdList"] - } } extension Fields where TypeLock == Objects.MergeHighlightSuccess { - func highlight(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlight", - arguments: [], - selection: selection.selection - ) - select(field) + func highlight(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlight", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func overlapHighlightIdList() throws -> [String] { - let field = GraphQLField.leaf( - name: "overlapHighlightIdList", - arguments: [] - ) - select(field) + func overlapHighlightIdList() throws -> [String] { + let field = GraphQLField.leaf( + name: "overlapHighlightIdList", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.overlapHighlightIdList[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.overlapHighlightIdList[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MergeHighlightSuccess = Selection + typealias MergeHighlightSuccess = Selection } extension Objects { - struct MoveFilterError { - let __typename: TypeName = .moveFilterError - let errorCodes: [String: [Enums.MoveFilterErrorCode]] + struct MoveFilterError { + let __typename: TypeName = .moveFilterError + let errorCodes: [String: [Enums.MoveFilterErrorCode]] - enum TypeName: String, Codable { - case moveFilterError = "MoveFilterError" + enum TypeName: String, Codable { + case moveFilterError = "MoveFilterError" + } } - } } extension Objects.MoveFilterError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MoveFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MoveFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.MoveFilterError { - func errorCodes() throws -> [Enums.MoveFilterErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.MoveFilterErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveFilterError = Selection + typealias MoveFilterError = Selection } extension Objects { - struct MoveFilterSuccess { - let __typename: TypeName = .moveFilterSuccess - let filter: [String: Objects.Filter] + struct MoveFilterSuccess { + let __typename: TypeName = .moveFilterSuccess + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case moveFilterSuccess = "MoveFilterSuccess" + enum TypeName: String, Codable { + case moveFilterSuccess = "MoveFilterSuccess" + } } - } } extension Objects.MoveFilterSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - filter = map["filter"] - } + filter = map["filter"] + } } extension Fields where TypeLock == Objects.MoveFilterSuccess { - func filter(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "filter", - arguments: [], - selection: selection.selection - ) - select(field) + func filter(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "filter", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.filter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveFilterSuccess = Selection + typealias MoveFilterSuccess = Selection } extension Objects { - struct MoveLabelError { - let __typename: TypeName = .moveLabelError - let errorCodes: [String: [Enums.MoveLabelErrorCode]] + struct MoveLabelError { + let __typename: TypeName = .moveLabelError + let errorCodes: [String: [Enums.MoveLabelErrorCode]] - enum TypeName: String, Codable { - case moveLabelError = "MoveLabelError" + enum TypeName: String, Codable { + case moveLabelError = "MoveLabelError" + } } - } } extension Objects.MoveLabelError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MoveLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MoveLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.MoveLabelError { - func errorCodes() throws -> [Enums.MoveLabelErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.MoveLabelErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveLabelError = Selection + typealias MoveLabelError = Selection } extension Objects { - struct MoveLabelSuccess { - let __typename: TypeName = .moveLabelSuccess - let label: [String: Objects.Label] + struct MoveLabelSuccess { + let __typename: TypeName = .moveLabelSuccess + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case moveLabelSuccess = "MoveLabelSuccess" + enum TypeName: String, Codable { + case moveLabelSuccess = "MoveLabelSuccess" + } } - } } extension Objects.MoveLabelSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - label = map["label"] - } + label = map["label"] + } } extension Fields where TypeLock == Objects.MoveLabelSuccess { - func label(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "label", - arguments: [], - selection: selection.selection - ) - select(field) + func label(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "label", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.label[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.label[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveLabelSuccess = Selection + typealias MoveLabelSuccess = Selection } extension Objects { - struct MoveToFolderError { - let __typename: TypeName = .moveToFolderError - let errorCodes: [String: [Enums.MoveToFolderErrorCode]] + struct MoveToFolderError { + let __typename: TypeName = .moveToFolderError + let errorCodes: [String: [Enums.MoveToFolderErrorCode]] - enum TypeName: String, Codable { - case moveToFolderError = "MoveToFolderError" + enum TypeName: String, Codable { + case moveToFolderError = "MoveToFolderError" + } } - } } extension Objects.MoveToFolderError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MoveToFolderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MoveToFolderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.MoveToFolderError { - func errorCodes() throws -> [Enums.MoveToFolderErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.MoveToFolderErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveToFolderError = Selection + typealias MoveToFolderError = Selection } extension Objects { - struct MoveToFolderSuccess { - let __typename: TypeName = .moveToFolderSuccess - let success: [String: Bool] + struct MoveToFolderSuccess { + let __typename: TypeName = .moveToFolderSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case moveToFolderSuccess = "MoveToFolderSuccess" + enum TypeName: String, Codable { + case moveToFolderSuccess = "MoveToFolderSuccess" + } } - } } extension Objects.MoveToFolderSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.MoveToFolderSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveToFolderSuccess = Selection + typealias MoveToFolderSuccess = Selection } extension Objects { - struct Mutation { - let __typename: TypeName = .mutation - let addPopularRead: [String: Unions.AddPopularReadResult] - let bulkAction: [String: Unions.BulkActionResult] - let createArticle: [String: Unions.CreateArticleResult] - let createArticleSavingRequest: [String: Unions.CreateArticleSavingRequestResult] - let createGroup: [String: Unions.CreateGroupResult] - let createHighlight: [String: Unions.CreateHighlightResult] - let createLabel: [String: Unions.CreateLabelResult] - let createNewsletterEmail: [String: Unions.CreateNewsletterEmailResult] - let deleteAccount: [String: Unions.DeleteAccountResult] - let deleteFilter: [String: Unions.DeleteFilterResult] - let deleteHighlight: [String: Unions.DeleteHighlightResult] - let deleteIntegration: [String: Unions.DeleteIntegrationResult] - let deleteLabel: [String: Unions.DeleteLabelResult] - let deleteNewsletterEmail: [String: Unions.DeleteNewsletterEmailResult] - let deleteRule: [String: Unions.DeleteRuleResult] - let deleteWebhook: [String: Unions.DeleteWebhookResult] - let fetchContent: [String: Unions.FetchContentResult] - let generateApiKey: [String: Unions.GenerateApiKeyResult] - let googleLogin: [String: Unions.LoginResult] - let googleSignup: [String: Unions.GoogleSignupResult] - let importFromIntegration: [String: Unions.ImportFromIntegrationResult] - let joinGroup: [String: Unions.JoinGroupResult] - let leaveGroup: [String: Unions.LeaveGroupResult] - let logOut: [String: Unions.LogOutResult] - let markEmailAsItem: [String: Unions.MarkEmailAsItemResult] - let mergeHighlight: [String: Unions.MergeHighlightResult] - let moveFilter: [String: Unions.MoveFilterResult] - let moveLabel: [String: Unions.MoveLabelResult] - let moveToFolder: [String: Unions.MoveToFolderResult] - let optInFeature: [String: Unions.OptInFeatureResult] - let recommend: [String: Unions.RecommendResult] - let recommendHighlights: [String: Unions.RecommendHighlightsResult] - let reportItem: [String: Objects.ReportItemResult] - let revokeApiKey: [String: Unions.RevokeApiKeyResult] - let saveArticleReadingProgress: [String: Unions.SaveArticleReadingProgressResult] - let saveFile: [String: Unions.SaveResult] - let saveFilter: [String: Unions.SaveFilterResult] - let savePage: [String: Unions.SaveResult] - let saveUrl: [String: Unions.SaveResult] - let setBookmarkArticle: [String: Unions.SetBookmarkArticleResult] - let setDeviceToken: [String: Unions.SetDeviceTokenResult] - let setFavoriteArticle: [String: Unions.SetFavoriteArticleResult] - let setIntegration: [String: Unions.SetIntegrationResult] - let setLabels: [String: Unions.SetLabelsResult] - let setLabelsForHighlight: [String: Unions.SetLabelsResult] - let setLinkArchived: [String: Unions.ArchiveLinkResult] - let setRule: [String: Unions.SetRuleResult] - let setUserPersonalization: [String: Unions.SetUserPersonalizationResult] - let setWebhook: [String: Unions.SetWebhookResult] - let subscribe: [String: Unions.SubscribeResult] - let unsubscribe: [String: Unions.UnsubscribeResult] - let updateEmail: [String: Unions.UpdateEmailResult] - let updateFilter: [String: Unions.UpdateFilterResult] - let updateHighlight: [String: Unions.UpdateHighlightResult] - let updateLabel: [String: Unions.UpdateLabelResult] - let updateNewsletterEmail: [String: Unions.UpdateNewsletterEmailResult] - let updatePage: [String: Unions.UpdatePageResult] - let updateSubscription: [String: Unions.UpdateSubscriptionResult] - let updateUser: [String: Unions.UpdateUserResult] - let updateUserProfile: [String: Unions.UpdateUserProfileResult] - let uploadFileRequest: [String: Unions.UploadFileRequestResult] - let uploadImportFile: [String: Unions.UploadImportFileResult] + struct Mutation { + let __typename: TypeName = .mutation + let addPopularRead: [String: Unions.AddPopularReadResult] + let bulkAction: [String: Unions.BulkActionResult] + let createArticle: [String: Unions.CreateArticleResult] + let createArticleSavingRequest: [String: Unions.CreateArticleSavingRequestResult] + let createGroup: [String: Unions.CreateGroupResult] + let createHighlight: [String: Unions.CreateHighlightResult] + let createLabel: [String: Unions.CreateLabelResult] + let createNewsletterEmail: [String: Unions.CreateNewsletterEmailResult] + let deleteAccount: [String: Unions.DeleteAccountResult] + let deleteFilter: [String: Unions.DeleteFilterResult] + let deleteHighlight: [String: Unions.DeleteHighlightResult] + let deleteIntegration: [String: Unions.DeleteIntegrationResult] + let deleteLabel: [String: Unions.DeleteLabelResult] + let deleteNewsletterEmail: [String: Unions.DeleteNewsletterEmailResult] + let deleteRule: [String: Unions.DeleteRuleResult] + let deleteWebhook: [String: Unions.DeleteWebhookResult] + let emptyTrash: [String: Unions.EmptyTrashResult] + let fetchContent: [String: Unions.FetchContentResult] + let generateApiKey: [String: Unions.GenerateApiKeyResult] + let googleLogin: [String: Unions.LoginResult] + let googleSignup: [String: Unions.GoogleSignupResult] + let importFromIntegration: [String: Unions.ImportFromIntegrationResult] + let joinGroup: [String: Unions.JoinGroupResult] + let leaveGroup: [String: Unions.LeaveGroupResult] + let logOut: [String: Unions.LogOutResult] + let markEmailAsItem: [String: Unions.MarkEmailAsItemResult] + let mergeHighlight: [String: Unions.MergeHighlightResult] + let moveFilter: [String: Unions.MoveFilterResult] + let moveLabel: [String: Unions.MoveLabelResult] + let moveToFolder: [String: Unions.MoveToFolderResult] + let optInFeature: [String: Unions.OptInFeatureResult] + let recommend: [String: Unions.RecommendResult] + let recommendHighlights: [String: Unions.RecommendHighlightsResult] + let reportItem: [String: Objects.ReportItemResult] + let revokeApiKey: [String: Unions.RevokeApiKeyResult] + let saveArticleReadingProgress: [String: Unions.SaveArticleReadingProgressResult] + let saveFile: [String: Unions.SaveResult] + let saveFilter: [String: Unions.SaveFilterResult] + let savePage: [String: Unions.SaveResult] + let saveUrl: [String: Unions.SaveResult] + let setBookmarkArticle: [String: Unions.SetBookmarkArticleResult] + let setDeviceToken: [String: Unions.SetDeviceTokenResult] + let setFavoriteArticle: [String: Unions.SetFavoriteArticleResult] + let setIntegration: [String: Unions.SetIntegrationResult] + let setLabels: [String: Unions.SetLabelsResult] + let setLabelsForHighlight: [String: Unions.SetLabelsResult] + let setLinkArchived: [String: Unions.ArchiveLinkResult] + let setRule: [String: Unions.SetRuleResult] + let setUserPersonalization: [String: Unions.SetUserPersonalizationResult] + let setWebhook: [String: Unions.SetWebhookResult] + let subscribe: [String: Unions.SubscribeResult] + let unsubscribe: [String: Unions.UnsubscribeResult] + let updateEmail: [String: Unions.UpdateEmailResult] + let updateFilter: [String: Unions.UpdateFilterResult] + let updateHighlight: [String: Unions.UpdateHighlightResult] + let updateLabel: [String: Unions.UpdateLabelResult] + let updateNewsletterEmail: [String: Unions.UpdateNewsletterEmailResult] + let updatePage: [String: Unions.UpdatePageResult] + let updateSubscription: [String: Unions.UpdateSubscriptionResult] + let updateUser: [String: Unions.UpdateUserResult] + let updateUserProfile: [String: Unions.UpdateUserProfileResult] + let uploadFileRequest: [String: Unions.UploadFileRequestResult] + let uploadImportFile: [String: Unions.UploadImportFileResult] - enum TypeName: String, Codable { - case mutation = "Mutation" + enum TypeName: String, Codable { + case mutation = "Mutation" + } } - } } extension Objects.Mutation: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "addPopularRead": - if let value = try container.decode(Unions.AddPopularReadResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "addPopularRead": + if let value = try container.decode(Unions.AddPopularReadResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "bulkAction": + if let value = try container.decode(Unions.BulkActionResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createArticle": + if let value = try container.decode(Unions.CreateArticleResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createArticleSavingRequest": + if let value = try container.decode(Unions.CreateArticleSavingRequestResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createGroup": + if let value = try container.decode(Unions.CreateGroupResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createHighlight": + if let value = try container.decode(Unions.CreateHighlightResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createLabel": + if let value = try container.decode(Unions.CreateLabelResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createNewsletterEmail": + if let value = try container.decode(Unions.CreateNewsletterEmailResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteAccount": + if let value = try container.decode(Unions.DeleteAccountResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteFilter": + if let value = try container.decode(Unions.DeleteFilterResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteHighlight": + if let value = try container.decode(Unions.DeleteHighlightResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteIntegration": + if let value = try container.decode(Unions.DeleteIntegrationResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteLabel": + if let value = try container.decode(Unions.DeleteLabelResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteNewsletterEmail": + if let value = try container.decode(Unions.DeleteNewsletterEmailResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteRule": + if let value = try container.decode(Unions.DeleteRuleResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deleteWebhook": + if let value = try container.decode(Unions.DeleteWebhookResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "emptyTrash": + if let value = try container.decode(Unions.EmptyTrashResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "fetchContent": + if let value = try container.decode(Unions.FetchContentResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "generateApiKey": + if let value = try container.decode(Unions.GenerateApiKeyResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "googleLogin": + if let value = try container.decode(Unions.LoginResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "googleSignup": + if let value = try container.decode(Unions.GoogleSignupResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "importFromIntegration": + if let value = try container.decode(Unions.ImportFromIntegrationResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "joinGroup": + if let value = try container.decode(Unions.JoinGroupResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "leaveGroup": + if let value = try container.decode(Unions.LeaveGroupResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "logOut": + if let value = try container.decode(Unions.LogOutResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "markEmailAsItem": + if let value = try container.decode(Unions.MarkEmailAsItemResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "mergeHighlight": + if let value = try container.decode(Unions.MergeHighlightResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "moveFilter": + if let value = try container.decode(Unions.MoveFilterResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "moveLabel": + if let value = try container.decode(Unions.MoveLabelResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "moveToFolder": + if let value = try container.decode(Unions.MoveToFolderResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "optInFeature": + if let value = try container.decode(Unions.OptInFeatureResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recommend": + if let value = try container.decode(Unions.RecommendResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recommendHighlights": + if let value = try container.decode(Unions.RecommendHighlightsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reportItem": + if let value = try container.decode(Objects.ReportItemResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "revokeApiKey": + if let value = try container.decode(Unions.RevokeApiKeyResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "saveArticleReadingProgress": + if let value = try container.decode(Unions.SaveArticleReadingProgressResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "saveFile": + if let value = try container.decode(Unions.SaveResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "saveFilter": + if let value = try container.decode(Unions.SaveFilterResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "savePage": + if let value = try container.decode(Unions.SaveResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "saveUrl": + if let value = try container.decode(Unions.SaveResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setBookmarkArticle": + if let value = try container.decode(Unions.SetBookmarkArticleResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setDeviceToken": + if let value = try container.decode(Unions.SetDeviceTokenResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setFavoriteArticle": + if let value = try container.decode(Unions.SetFavoriteArticleResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setIntegration": + if let value = try container.decode(Unions.SetIntegrationResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setLabels": + if let value = try container.decode(Unions.SetLabelsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setLabelsForHighlight": + if let value = try container.decode(Unions.SetLabelsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setLinkArchived": + if let value = try container.decode(Unions.ArchiveLinkResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setRule": + if let value = try container.decode(Unions.SetRuleResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setUserPersonalization": + if let value = try container.decode(Unions.SetUserPersonalizationResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "setWebhook": + if let value = try container.decode(Unions.SetWebhookResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscribe": + if let value = try container.decode(Unions.SubscribeResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "unsubscribe": + if let value = try container.decode(Unions.UnsubscribeResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateEmail": + if let value = try container.decode(Unions.UpdateEmailResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateFilter": + if let value = try container.decode(Unions.UpdateFilterResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateHighlight": + if let value = try container.decode(Unions.UpdateHighlightResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateLabel": + if let value = try container.decode(Unions.UpdateLabelResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateNewsletterEmail": + if let value = try container.decode(Unions.UpdateNewsletterEmailResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatePage": + if let value = try container.decode(Unions.UpdatePageResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateSubscription": + if let value = try container.decode(Unions.UpdateSubscriptionResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateUser": + if let value = try container.decode(Unions.UpdateUserResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateUserProfile": + if let value = try container.decode(Unions.UpdateUserProfileResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadFileRequest": + if let value = try container.decode(Unions.UploadFileRequestResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadImportFile": + if let value = try container.decode(Unions.UploadImportFileResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "bulkAction": - if let value = try container.decode(Unions.BulkActionResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createArticle": - if let value = try container.decode(Unions.CreateArticleResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createArticleSavingRequest": - if let value = try container.decode(Unions.CreateArticleSavingRequestResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createGroup": - if let value = try container.decode(Unions.CreateGroupResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createHighlight": - if let value = try container.decode(Unions.CreateHighlightResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createLabel": - if let value = try container.decode(Unions.CreateLabelResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createNewsletterEmail": - if let value = try container.decode(Unions.CreateNewsletterEmailResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteAccount": - if let value = try container.decode(Unions.DeleteAccountResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteFilter": - if let value = try container.decode(Unions.DeleteFilterResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteHighlight": - if let value = try container.decode(Unions.DeleteHighlightResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteIntegration": - if let value = try container.decode(Unions.DeleteIntegrationResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteLabel": - if let value = try container.decode(Unions.DeleteLabelResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteNewsletterEmail": - if let value = try container.decode(Unions.DeleteNewsletterEmailResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteRule": - if let value = try container.decode(Unions.DeleteRuleResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deleteWebhook": - if let value = try container.decode(Unions.DeleteWebhookResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "fetchContent": - if let value = try container.decode(Unions.FetchContentResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "generateApiKey": - if let value = try container.decode(Unions.GenerateApiKeyResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "googleLogin": - if let value = try container.decode(Unions.LoginResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "googleSignup": - if let value = try container.decode(Unions.GoogleSignupResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "importFromIntegration": - if let value = try container.decode(Unions.ImportFromIntegrationResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "joinGroup": - if let value = try container.decode(Unions.JoinGroupResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "leaveGroup": - if let value = try container.decode(Unions.LeaveGroupResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "logOut": - if let value = try container.decode(Unions.LogOutResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "markEmailAsItem": - if let value = try container.decode(Unions.MarkEmailAsItemResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "mergeHighlight": - if let value = try container.decode(Unions.MergeHighlightResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "moveFilter": - if let value = try container.decode(Unions.MoveFilterResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "moveLabel": - if let value = try container.decode(Unions.MoveLabelResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "moveToFolder": - if let value = try container.decode(Unions.MoveToFolderResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "optInFeature": - if let value = try container.decode(Unions.OptInFeatureResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "recommend": - if let value = try container.decode(Unions.RecommendResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "recommendHighlights": - if let value = try container.decode(Unions.RecommendHighlightsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "reportItem": - if let value = try container.decode(Objects.ReportItemResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "revokeApiKey": - if let value = try container.decode(Unions.RevokeApiKeyResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "saveArticleReadingProgress": - if let value = try container.decode(Unions.SaveArticleReadingProgressResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "saveFile": - if let value = try container.decode(Unions.SaveResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "saveFilter": - if let value = try container.decode(Unions.SaveFilterResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "savePage": - if let value = try container.decode(Unions.SaveResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "saveUrl": - if let value = try container.decode(Unions.SaveResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setBookmarkArticle": - if let value = try container.decode(Unions.SetBookmarkArticleResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setDeviceToken": - if let value = try container.decode(Unions.SetDeviceTokenResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setFavoriteArticle": - if let value = try container.decode(Unions.SetFavoriteArticleResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setIntegration": - if let value = try container.decode(Unions.SetIntegrationResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setLabels": - if let value = try container.decode(Unions.SetLabelsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setLabelsForHighlight": - if let value = try container.decode(Unions.SetLabelsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setLinkArchived": - if let value = try container.decode(Unions.ArchiveLinkResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setRule": - if let value = try container.decode(Unions.SetRuleResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setUserPersonalization": - if let value = try container.decode(Unions.SetUserPersonalizationResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "setWebhook": - if let value = try container.decode(Unions.SetWebhookResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "subscribe": - if let value = try container.decode(Unions.SubscribeResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "unsubscribe": - if let value = try container.decode(Unions.UnsubscribeResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateEmail": - if let value = try container.decode(Unions.UpdateEmailResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateFilter": - if let value = try container.decode(Unions.UpdateFilterResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateHighlight": - if let value = try container.decode(Unions.UpdateHighlightResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateLabel": - if let value = try container.decode(Unions.UpdateLabelResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateNewsletterEmail": - if let value = try container.decode(Unions.UpdateNewsletterEmailResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatePage": - if let value = try container.decode(Unions.UpdatePageResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateSubscription": - if let value = try container.decode(Unions.UpdateSubscriptionResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateUser": - if let value = try container.decode(Unions.UpdateUserResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateUserProfile": - if let value = try container.decode(Unions.UpdateUserProfileResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadFileRequest": - if let value = try container.decode(Unions.UploadFileRequestResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadImportFile": - if let value = try container.decode(Unions.UploadImportFileResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + addPopularRead = map["addPopularRead"] + bulkAction = map["bulkAction"] + createArticle = map["createArticle"] + createArticleSavingRequest = map["createArticleSavingRequest"] + createGroup = map["createGroup"] + createHighlight = map["createHighlight"] + createLabel = map["createLabel"] + createNewsletterEmail = map["createNewsletterEmail"] + deleteAccount = map["deleteAccount"] + deleteFilter = map["deleteFilter"] + deleteHighlight = map["deleteHighlight"] + deleteIntegration = map["deleteIntegration"] + deleteLabel = map["deleteLabel"] + deleteNewsletterEmail = map["deleteNewsletterEmail"] + deleteRule = map["deleteRule"] + deleteWebhook = map["deleteWebhook"] + emptyTrash = map["emptyTrash"] + fetchContent = map["fetchContent"] + generateApiKey = map["generateApiKey"] + googleLogin = map["googleLogin"] + googleSignup = map["googleSignup"] + importFromIntegration = map["importFromIntegration"] + joinGroup = map["joinGroup"] + leaveGroup = map["leaveGroup"] + logOut = map["logOut"] + markEmailAsItem = map["markEmailAsItem"] + mergeHighlight = map["mergeHighlight"] + moveFilter = map["moveFilter"] + moveLabel = map["moveLabel"] + moveToFolder = map["moveToFolder"] + optInFeature = map["optInFeature"] + recommend = map["recommend"] + recommendHighlights = map["recommendHighlights"] + reportItem = map["reportItem"] + revokeApiKey = map["revokeApiKey"] + saveArticleReadingProgress = map["saveArticleReadingProgress"] + saveFile = map["saveFile"] + saveFilter = map["saveFilter"] + savePage = map["savePage"] + saveUrl = map["saveUrl"] + setBookmarkArticle = map["setBookmarkArticle"] + setDeviceToken = map["setDeviceToken"] + setFavoriteArticle = map["setFavoriteArticle"] + setIntegration = map["setIntegration"] + setLabels = map["setLabels"] + setLabelsForHighlight = map["setLabelsForHighlight"] + setLinkArchived = map["setLinkArchived"] + setRule = map["setRule"] + setUserPersonalization = map["setUserPersonalization"] + setWebhook = map["setWebhook"] + subscribe = map["subscribe"] + unsubscribe = map["unsubscribe"] + updateEmail = map["updateEmail"] + updateFilter = map["updateFilter"] + updateHighlight = map["updateHighlight"] + updateLabel = map["updateLabel"] + updateNewsletterEmail = map["updateNewsletterEmail"] + updatePage = map["updatePage"] + updateSubscription = map["updateSubscription"] + updateUser = map["updateUser"] + updateUserProfile = map["updateUserProfile"] + uploadFileRequest = map["uploadFileRequest"] + uploadImportFile = map["uploadImportFile"] } - - addPopularRead = map["addPopularRead"] - bulkAction = map["bulkAction"] - createArticle = map["createArticle"] - createArticleSavingRequest = map["createArticleSavingRequest"] - createGroup = map["createGroup"] - createHighlight = map["createHighlight"] - createLabel = map["createLabel"] - createNewsletterEmail = map["createNewsletterEmail"] - deleteAccount = map["deleteAccount"] - deleteFilter = map["deleteFilter"] - deleteHighlight = map["deleteHighlight"] - deleteIntegration = map["deleteIntegration"] - deleteLabel = map["deleteLabel"] - deleteNewsletterEmail = map["deleteNewsletterEmail"] - deleteRule = map["deleteRule"] - deleteWebhook = map["deleteWebhook"] - fetchContent = map["fetchContent"] - generateApiKey = map["generateApiKey"] - googleLogin = map["googleLogin"] - googleSignup = map["googleSignup"] - importFromIntegration = map["importFromIntegration"] - joinGroup = map["joinGroup"] - leaveGroup = map["leaveGroup"] - logOut = map["logOut"] - markEmailAsItem = map["markEmailAsItem"] - mergeHighlight = map["mergeHighlight"] - moveFilter = map["moveFilter"] - moveLabel = map["moveLabel"] - moveToFolder = map["moveToFolder"] - optInFeature = map["optInFeature"] - recommend = map["recommend"] - recommendHighlights = map["recommendHighlights"] - reportItem = map["reportItem"] - revokeApiKey = map["revokeApiKey"] - saveArticleReadingProgress = map["saveArticleReadingProgress"] - saveFile = map["saveFile"] - saveFilter = map["saveFilter"] - savePage = map["savePage"] - saveUrl = map["saveUrl"] - setBookmarkArticle = map["setBookmarkArticle"] - setDeviceToken = map["setDeviceToken"] - setFavoriteArticle = map["setFavoriteArticle"] - setIntegration = map["setIntegration"] - setLabels = map["setLabels"] - setLabelsForHighlight = map["setLabelsForHighlight"] - setLinkArchived = map["setLinkArchived"] - setRule = map["setRule"] - setUserPersonalization = map["setUserPersonalization"] - setWebhook = map["setWebhook"] - subscribe = map["subscribe"] - unsubscribe = map["unsubscribe"] - updateEmail = map["updateEmail"] - updateFilter = map["updateFilter"] - updateHighlight = map["updateHighlight"] - updateLabel = map["updateLabel"] - updateNewsletterEmail = map["updateNewsletterEmail"] - updatePage = map["updatePage"] - updateSubscription = map["updateSubscription"] - updateUser = map["updateUser"] - updateUserProfile = map["updateUserProfile"] - uploadFileRequest = map["uploadFileRequest"] - uploadImportFile = map["uploadImportFile"] - } } extension Fields where TypeLock == Objects.Mutation { - func addPopularRead(name: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "addPopularRead", - arguments: [Argument(name: "name", type: "String!", value: name)], - selection: selection.selection - ) - select(field) + func addPopularRead(name: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "addPopularRead", + arguments: [Argument(name: "name", type: "String!", value: name)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.addPopularRead[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.addPopularRead[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func bulkAction(action: Enums.BulkActionType, arguments: OptionalArgument = .absent(), async: OptionalArgument = .absent(), expectedCount: OptionalArgument = .absent(), labelIds: OptionalArgument<[String]> = .absent(), query: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "bulkAction", - arguments: [Argument(name: "action", type: "BulkActionType!", value: action), Argument(name: "arguments", type: "JSON", value: arguments), Argument(name: "async", type: "Boolean", value: async), Argument(name: "expectedCount", type: "Int", value: expectedCount), Argument(name: "labelIds", type: "[ID!]", value: labelIds), Argument(name: "query", type: "String!", value: query)], - selection: selection.selection - ) - select(field) + func bulkAction(action: Enums.BulkActionType, arguments: OptionalArgument = .absent(), async: OptionalArgument = .absent(), expectedCount: OptionalArgument = .absent(), labelIds: OptionalArgument<[String]> = .absent(), query: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "bulkAction", + arguments: [Argument(name: "action", type: "BulkActionType!", value: action), Argument(name: "arguments", type: "JSON", value: arguments), Argument(name: "async", type: "Boolean", value: async), Argument(name: "expectedCount", type: "Int", value: expectedCount), Argument(name: "labelIds", type: "[ID!]", value: labelIds), Argument(name: "query", type: "String!", value: query)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.bulkAction[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.bulkAction[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func createArticle(input: InputObjects.CreateArticleInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "createArticle", - arguments: [Argument(name: "input", type: "CreateArticleInput!", value: input)], - selection: selection.selection - ) - select(field) + func createArticle(input: InputObjects.CreateArticleInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "createArticle", + arguments: [Argument(name: "input", type: "CreateArticleInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createArticle[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.createArticle[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func createArticleSavingRequest(input: InputObjects.CreateArticleSavingRequestInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "createArticleSavingRequest", - arguments: [Argument(name: "input", type: "CreateArticleSavingRequestInput!", value: input)], - selection: selection.selection - ) - select(field) + func createArticleSavingRequest(input: InputObjects.CreateArticleSavingRequestInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "createArticleSavingRequest", + arguments: [Argument(name: "input", type: "CreateArticleSavingRequestInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createArticleSavingRequest[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.createArticleSavingRequest[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func createGroup(input: InputObjects.CreateGroupInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "createGroup", - arguments: [Argument(name: "input", type: "CreateGroupInput!", value: input)], - selection: selection.selection - ) - select(field) + func createGroup(input: InputObjects.CreateGroupInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "createGroup", + arguments: [Argument(name: "input", type: "CreateGroupInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createGroup[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.createGroup[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func createHighlight(input: InputObjects.CreateHighlightInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "createHighlight", - arguments: [Argument(name: "input", type: "CreateHighlightInput!", value: input)], - selection: selection.selection - ) - select(field) + func createHighlight(input: InputObjects.CreateHighlightInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "createHighlight", + arguments: [Argument(name: "input", type: "CreateHighlightInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createHighlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.createHighlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func createLabel(input: InputObjects.CreateLabelInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "createLabel", - arguments: [Argument(name: "input", type: "CreateLabelInput!", value: input)], - selection: selection.selection - ) - select(field) + func createLabel(input: InputObjects.CreateLabelInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "createLabel", + arguments: [Argument(name: "input", type: "CreateLabelInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createLabel[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.createLabel[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func createNewsletterEmail(input: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "createNewsletterEmail", - arguments: [Argument(name: "input", type: "CreateNewsletterEmailInput", value: input)], - selection: selection.selection - ) - select(field) + func createNewsletterEmail(input: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "createNewsletterEmail", + arguments: [Argument(name: "input", type: "CreateNewsletterEmailInput", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createNewsletterEmail[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.createNewsletterEmail[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteAccount(userId: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteAccount", - arguments: [Argument(name: "userID", type: "ID!", value: userId)], - selection: selection.selection - ) - select(field) + func deleteAccount(userId: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteAccount", + arguments: [Argument(name: "userID", type: "ID!", value: userId)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteAccount[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteAccount[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteFilter(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteFilter", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func deleteFilter(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteFilter", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteFilter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteFilter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteHighlight(highlightId: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteHighlight", - arguments: [Argument(name: "highlightId", type: "ID!", value: highlightId)], - selection: selection.selection - ) - select(field) + func deleteHighlight(highlightId: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteHighlight", + arguments: [Argument(name: "highlightId", type: "ID!", value: highlightId)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteHighlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteHighlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteIntegration(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteIntegration", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func deleteIntegration(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteIntegration", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteIntegration[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteIntegration[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteLabel(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteLabel", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func deleteLabel(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteLabel", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteLabel[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteLabel[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteNewsletterEmail(newsletterEmailId: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteNewsletterEmail", - arguments: [Argument(name: "newsletterEmailId", type: "ID!", value: newsletterEmailId)], - selection: selection.selection - ) - select(field) + func deleteNewsletterEmail(newsletterEmailId: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteNewsletterEmail", + arguments: [Argument(name: "newsletterEmailId", type: "ID!", value: newsletterEmailId)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteNewsletterEmail[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteNewsletterEmail[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteRule(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteRule", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func deleteRule(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteRule", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteRule[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteRule[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deleteWebhook(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deleteWebhook", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func deleteWebhook(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deleteWebhook", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deleteWebhook[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deleteWebhook[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func fetchContent(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "fetchContent", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func emptyTrash(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "emptyTrash", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.fetchContent[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.emptyTrash[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func generateApiKey(input: InputObjects.GenerateApiKeyInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "generateApiKey", - arguments: [Argument(name: "input", type: "GenerateApiKeyInput!", value: input)], - selection: selection.selection - ) - select(field) + func fetchContent(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "fetchContent", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.generateApiKey[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.fetchContent[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func googleLogin(input: InputObjects.GoogleLoginInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "googleLogin", - arguments: [Argument(name: "input", type: "GoogleLoginInput!", value: input)], - selection: selection.selection - ) - select(field) + func generateApiKey(input: InputObjects.GenerateApiKeyInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "generateApiKey", + arguments: [Argument(name: "input", type: "GenerateApiKeyInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.googleLogin[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.generateApiKey[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func googleSignup(input: InputObjects.GoogleSignupInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "googleSignup", - arguments: [Argument(name: "input", type: "GoogleSignupInput!", value: input)], - selection: selection.selection - ) - select(field) + func googleLogin(input: InputObjects.GoogleLoginInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "googleLogin", + arguments: [Argument(name: "input", type: "GoogleLoginInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.googleSignup[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.googleLogin[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func importFromIntegration(integrationId: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "importFromIntegration", - arguments: [Argument(name: "integrationId", type: "ID!", value: integrationId)], - selection: selection.selection - ) - select(field) + func googleSignup(input: InputObjects.GoogleSignupInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "googleSignup", + arguments: [Argument(name: "input", type: "GoogleSignupInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.importFromIntegration[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.googleSignup[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func joinGroup(inviteCode: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "joinGroup", - arguments: [Argument(name: "inviteCode", type: "String!", value: inviteCode)], - selection: selection.selection - ) - select(field) + func importFromIntegration(integrationId: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "importFromIntegration", + arguments: [Argument(name: "integrationId", type: "ID!", value: integrationId)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.joinGroup[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.importFromIntegration[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func leaveGroup(groupId: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "leaveGroup", - arguments: [Argument(name: "groupId", type: "ID!", value: groupId)], - selection: selection.selection - ) - select(field) + func joinGroup(inviteCode: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "joinGroup", + arguments: [Argument(name: "inviteCode", type: "String!", value: inviteCode)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.leaveGroup[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.joinGroup[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func logOut(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "logOut", - arguments: [], - selection: selection.selection - ) - select(field) + func leaveGroup(groupId: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "leaveGroup", + arguments: [Argument(name: "groupId", type: "ID!", value: groupId)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.logOut[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.leaveGroup[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func markEmailAsItem(recentEmailId: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "markEmailAsItem", - arguments: [Argument(name: "recentEmailId", type: "ID!", value: recentEmailId)], - selection: selection.selection - ) - select(field) + func logOut(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "logOut", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.markEmailAsItem[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.logOut[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func mergeHighlight(input: InputObjects.MergeHighlightInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "mergeHighlight", - arguments: [Argument(name: "input", type: "MergeHighlightInput!", value: input)], - selection: selection.selection - ) - select(field) + func markEmailAsItem(recentEmailId: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "markEmailAsItem", + arguments: [Argument(name: "recentEmailId", type: "ID!", value: recentEmailId)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.mergeHighlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.markEmailAsItem[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func moveFilter(input: InputObjects.MoveFilterInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "moveFilter", - arguments: [Argument(name: "input", type: "MoveFilterInput!", value: input)], - selection: selection.selection - ) - select(field) + func mergeHighlight(input: InputObjects.MergeHighlightInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "mergeHighlight", + arguments: [Argument(name: "input", type: "MergeHighlightInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.moveFilter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.mergeHighlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func moveLabel(input: InputObjects.MoveLabelInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "moveLabel", - arguments: [Argument(name: "input", type: "MoveLabelInput!", value: input)], - selection: selection.selection - ) - select(field) + func moveFilter(input: InputObjects.MoveFilterInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "moveFilter", + arguments: [Argument(name: "input", type: "MoveFilterInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.moveLabel[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.moveFilter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func moveToFolder(folder: String, id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "moveToFolder", - arguments: [Argument(name: "folder", type: "String!", value: folder), Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func moveLabel(input: InputObjects.MoveLabelInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "moveLabel", + arguments: [Argument(name: "input", type: "MoveLabelInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.moveToFolder[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.moveLabel[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func optInFeature(input: InputObjects.OptInFeatureInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "optInFeature", - arguments: [Argument(name: "input", type: "OptInFeatureInput!", value: input)], - selection: selection.selection - ) - select(field) + func moveToFolder(folder: String, id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "moveToFolder", + arguments: [Argument(name: "folder", type: "String!", value: folder), Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.optInFeature[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.moveToFolder[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func recommend(input: InputObjects.RecommendInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "recommend", - arguments: [Argument(name: "input", type: "RecommendInput!", value: input)], - selection: selection.selection - ) - select(field) + func optInFeature(input: InputObjects.OptInFeatureInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "optInFeature", + arguments: [Argument(name: "input", type: "OptInFeatureInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.recommend[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.optInFeature[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func recommendHighlights(input: InputObjects.RecommendHighlightsInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "recommendHighlights", - arguments: [Argument(name: "input", type: "RecommendHighlightsInput!", value: input)], - selection: selection.selection - ) - select(field) + func recommend(input: InputObjects.RecommendInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "recommend", + arguments: [Argument(name: "input", type: "RecommendInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.recommendHighlights[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.recommend[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func reportItem(input: InputObjects.ReportItemInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reportItem", - arguments: [Argument(name: "input", type: "ReportItemInput!", value: input)], - selection: selection.selection - ) - select(field) + func recommendHighlights(input: InputObjects.RecommendHighlightsInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "recommendHighlights", + arguments: [Argument(name: "input", type: "RecommendHighlightsInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reportItem[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.recommendHighlights[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func revokeApiKey(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "revokeApiKey", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func reportItem(input: InputObjects.ReportItemInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reportItem", + arguments: [Argument(name: "input", type: "ReportItemInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.revokeApiKey[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reportItem[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func saveArticleReadingProgress(input: InputObjects.SaveArticleReadingProgressInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "saveArticleReadingProgress", - arguments: [Argument(name: "input", type: "SaveArticleReadingProgressInput!", value: input)], - selection: selection.selection - ) - select(field) + func revokeApiKey(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "revokeApiKey", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.saveArticleReadingProgress[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.revokeApiKey[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func saveFile(input: InputObjects.SaveFileInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "saveFile", - arguments: [Argument(name: "input", type: "SaveFileInput!", value: input)], - selection: selection.selection - ) - select(field) + func saveArticleReadingProgress(input: InputObjects.SaveArticleReadingProgressInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "saveArticleReadingProgress", + arguments: [Argument(name: "input", type: "SaveArticleReadingProgressInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.saveFile[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.saveArticleReadingProgress[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func saveFilter(input: InputObjects.SaveFilterInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "saveFilter", - arguments: [Argument(name: "input", type: "SaveFilterInput!", value: input)], - selection: selection.selection - ) - select(field) + func saveFile(input: InputObjects.SaveFileInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "saveFile", + arguments: [Argument(name: "input", type: "SaveFileInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.saveFilter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.saveFile[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func savePage(input: InputObjects.SavePageInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "savePage", - arguments: [Argument(name: "input", type: "SavePageInput!", value: input)], - selection: selection.selection - ) - select(field) + func saveFilter(input: InputObjects.SaveFilterInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "saveFilter", + arguments: [Argument(name: "input", type: "SaveFilterInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.savePage[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.saveFilter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func saveUrl(input: InputObjects.SaveUrlInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "saveUrl", - arguments: [Argument(name: "input", type: "SaveUrlInput!", value: input)], - selection: selection.selection - ) - select(field) + func savePage(input: InputObjects.SavePageInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "savePage", + arguments: [Argument(name: "input", type: "SavePageInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.saveUrl[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.savePage[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setBookmarkArticle(input: InputObjects.SetBookmarkArticleInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setBookmarkArticle", - arguments: [Argument(name: "input", type: "SetBookmarkArticleInput!", value: input)], - selection: selection.selection - ) - select(field) + func saveUrl(input: InputObjects.SaveUrlInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "saveUrl", + arguments: [Argument(name: "input", type: "SaveUrlInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setBookmarkArticle[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.saveUrl[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setDeviceToken(input: InputObjects.SetDeviceTokenInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setDeviceToken", - arguments: [Argument(name: "input", type: "SetDeviceTokenInput!", value: input)], - selection: selection.selection - ) - select(field) + func setBookmarkArticle(input: InputObjects.SetBookmarkArticleInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setBookmarkArticle", + arguments: [Argument(name: "input", type: "SetBookmarkArticleInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setDeviceToken[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setBookmarkArticle[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setFavoriteArticle(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setFavoriteArticle", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func setDeviceToken(input: InputObjects.SetDeviceTokenInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setDeviceToken", + arguments: [Argument(name: "input", type: "SetDeviceTokenInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setFavoriteArticle[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setDeviceToken[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setIntegration(input: InputObjects.SetIntegrationInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setIntegration", - arguments: [Argument(name: "input", type: "SetIntegrationInput!", value: input)], - selection: selection.selection - ) - select(field) + func setFavoriteArticle(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setFavoriteArticle", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setIntegration[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setFavoriteArticle[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setLabels(input: InputObjects.SetLabelsInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setLabels", - arguments: [Argument(name: "input", type: "SetLabelsInput!", value: input)], - selection: selection.selection - ) - select(field) + func setIntegration(input: InputObjects.SetIntegrationInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setIntegration", + arguments: [Argument(name: "input", type: "SetIntegrationInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setLabels[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setIntegration[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setLabelsForHighlight(input: InputObjects.SetLabelsForHighlightInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setLabelsForHighlight", - arguments: [Argument(name: "input", type: "SetLabelsForHighlightInput!", value: input)], - selection: selection.selection - ) - select(field) + func setLabels(input: InputObjects.SetLabelsInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setLabels", + arguments: [Argument(name: "input", type: "SetLabelsInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setLabelsForHighlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setLabels[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setLinkArchived(input: InputObjects.ArchiveLinkInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setLinkArchived", - arguments: [Argument(name: "input", type: "ArchiveLinkInput!", value: input)], - selection: selection.selection - ) - select(field) + func setLabelsForHighlight(input: InputObjects.SetLabelsForHighlightInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setLabelsForHighlight", + arguments: [Argument(name: "input", type: "SetLabelsForHighlightInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setLinkArchived[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setLabelsForHighlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setRule(input: InputObjects.SetRuleInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setRule", - arguments: [Argument(name: "input", type: "SetRuleInput!", value: input)], - selection: selection.selection - ) - select(field) + func setLinkArchived(input: InputObjects.ArchiveLinkInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setLinkArchived", + arguments: [Argument(name: "input", type: "ArchiveLinkInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setRule[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setLinkArchived[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setUserPersonalization(input: InputObjects.SetUserPersonalizationInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setUserPersonalization", - arguments: [Argument(name: "input", type: "SetUserPersonalizationInput!", value: input)], - selection: selection.selection - ) - select(field) + func setRule(input: InputObjects.SetRuleInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setRule", + arguments: [Argument(name: "input", type: "SetRuleInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setUserPersonalization[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setRule[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func setWebhook(input: InputObjects.SetWebhookInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "setWebhook", - arguments: [Argument(name: "input", type: "SetWebhookInput!", value: input)], - selection: selection.selection - ) - select(field) + func setUserPersonalization(input: InputObjects.SetUserPersonalizationInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setUserPersonalization", + arguments: [Argument(name: "input", type: "SetUserPersonalizationInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.setWebhook[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setUserPersonalization[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func subscribe(input: InputObjects.SubscribeInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "subscribe", - arguments: [Argument(name: "input", type: "SubscribeInput!", value: input)], - selection: selection.selection - ) - select(field) + func setWebhook(input: InputObjects.SetWebhookInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "setWebhook", + arguments: [Argument(name: "input", type: "SetWebhookInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subscribe[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.setWebhook[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func unsubscribe(name: String, subscriptionId: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "unsubscribe", - arguments: [Argument(name: "name", type: "String!", value: name), Argument(name: "subscriptionId", type: "ID", value: subscriptionId)], - selection: selection.selection - ) - select(field) + func subscribe(input: InputObjects.SubscribeInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "subscribe", + arguments: [Argument(name: "input", type: "SubscribeInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.unsubscribe[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.subscribe[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateEmail(input: InputObjects.UpdateEmailInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateEmail", - arguments: [Argument(name: "input", type: "UpdateEmailInput!", value: input)], - selection: selection.selection - ) - select(field) + func unsubscribe(name: String, subscriptionId: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "unsubscribe", + arguments: [Argument(name: "name", type: "String!", value: name), Argument(name: "subscriptionId", type: "ID", value: subscriptionId)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateEmail[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.unsubscribe[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateFilter(input: InputObjects.UpdateFilterInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateFilter", - arguments: [Argument(name: "input", type: "UpdateFilterInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateEmail(input: InputObjects.UpdateEmailInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateEmail", + arguments: [Argument(name: "input", type: "UpdateEmailInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateFilter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateEmail[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateHighlight(input: InputObjects.UpdateHighlightInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateHighlight", - arguments: [Argument(name: "input", type: "UpdateHighlightInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateFilter(input: InputObjects.UpdateFilterInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateFilter", + arguments: [Argument(name: "input", type: "UpdateFilterInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateHighlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateFilter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateLabel(input: InputObjects.UpdateLabelInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateLabel", - arguments: [Argument(name: "input", type: "UpdateLabelInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateHighlight(input: InputObjects.UpdateHighlightInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateHighlight", + arguments: [Argument(name: "input", type: "UpdateHighlightInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateLabel[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateHighlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateNewsletterEmail(input: InputObjects.UpdateNewsletterEmailInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateNewsletterEmail", - arguments: [Argument(name: "input", type: "UpdateNewsletterEmailInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateLabel(input: InputObjects.UpdateLabelInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateLabel", + arguments: [Argument(name: "input", type: "UpdateLabelInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateNewsletterEmail[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateLabel[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updatePage(input: InputObjects.UpdatePageInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatePage", - arguments: [Argument(name: "input", type: "UpdatePageInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateNewsletterEmail(input: InputObjects.UpdateNewsletterEmailInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateNewsletterEmail", + arguments: [Argument(name: "input", type: "UpdateNewsletterEmailInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updatePage[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateNewsletterEmail[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateSubscription(input: InputObjects.UpdateSubscriptionInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateSubscription", - arguments: [Argument(name: "input", type: "UpdateSubscriptionInput!", value: input)], - selection: selection.selection - ) - select(field) + func updatePage(input: InputObjects.UpdatePageInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatePage", + arguments: [Argument(name: "input", type: "UpdatePageInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateSubscription[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updatePage[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateUser(input: InputObjects.UpdateUserInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateUser", - arguments: [Argument(name: "input", type: "UpdateUserInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateSubscription(input: InputObjects.UpdateSubscriptionInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateSubscription", + arguments: [Argument(name: "input", type: "UpdateSubscriptionInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateUser[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateSubscription[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updateUserProfile(input: InputObjects.UpdateUserProfileInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updateUserProfile", - arguments: [Argument(name: "input", type: "UpdateUserProfileInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateUser(input: InputObjects.UpdateUserInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateUser", + arguments: [Argument(name: "input", type: "UpdateUserInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateUserProfile[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateUser[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func uploadFileRequest(input: InputObjects.UploadFileRequestInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "uploadFileRequest", - arguments: [Argument(name: "input", type: "UploadFileRequestInput!", value: input)], - selection: selection.selection - ) - select(field) + func updateUserProfile(input: InputObjects.UpdateUserProfileInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updateUserProfile", + arguments: [Argument(name: "input", type: "UpdateUserProfileInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.uploadFileRequest[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updateUserProfile[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func uploadImportFile(contentType: String, type: Enums.UploadImportFileType, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "uploadImportFile", - arguments: [Argument(name: "contentType", type: "String!", value: contentType), Argument(name: "type", type: "UploadImportFileType!", value: type)], - selection: selection.selection - ) - select(field) + func uploadFileRequest(input: InputObjects.UploadFileRequestInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "uploadFileRequest", + arguments: [Argument(name: "input", type: "UploadFileRequestInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.uploadImportFile[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.uploadFileRequest[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } + } + + func uploadImportFile(contentType: String, type: Enums.UploadImportFileType, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "uploadImportFile", + arguments: [Argument(name: "contentType", type: "String!", value: contentType), Argument(name: "type", type: "UploadImportFileType!", value: type)], + selection: selection.selection + ) + select(field) + + switch response { + case let .decoding(data): + if let data = data.uploadImportFile[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Mutation = Selection + typealias Mutation = Selection } extension Objects { - struct NewsletterEmail { - let __typename: TypeName = .newsletterEmail - let address: [String: String] - let confirmationCode: [String: String] - let createdAt: [String: DateTime] - let description: [String: String] - let folder: [String: String] - let id: [String: String] - let name: [String: String] - let subscriptionCount: [String: Int] + struct NewsletterEmail { + let __typename: TypeName = .newsletterEmail + let address: [String: String] + let confirmationCode: [String: String] + let createdAt: [String: DateTime] + let description: [String: String] + let folder: [String: String] + let id: [String: String] + let name: [String: String] + let subscriptionCount: [String: Int] - enum TypeName: String, Codable { - case newsletterEmail = "NewsletterEmail" + enum TypeName: String, Codable { + case newsletterEmail = "NewsletterEmail" + } } - } } extension Objects.NewsletterEmail: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "address": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "address": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "confirmationCode": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "folder": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscriptionCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "confirmationCode": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "folder": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "subscriptionCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + address = map["address"] + confirmationCode = map["confirmationCode"] + createdAt = map["createdAt"] + description = map["description"] + folder = map["folder"] + id = map["id"] + name = map["name"] + subscriptionCount = map["subscriptionCount"] } - - address = map["address"] - confirmationCode = map["confirmationCode"] - createdAt = map["createdAt"] - description = map["description"] - folder = map["folder"] - id = map["id"] - name = map["name"] - subscriptionCount = map["subscriptionCount"] - } } extension Fields where TypeLock == Objects.NewsletterEmail { - func address() throws -> String { - let field = GraphQLField.leaf( - name: "address", - arguments: [] - ) - select(field) + func address() throws -> String { + let field = GraphQLField.leaf( + name: "address", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.address[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.address[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func confirmationCode() throws -> String? { - let field = GraphQLField.leaf( - name: "confirmationCode", - arguments: [] - ) - select(field) + func confirmationCode() throws -> String? { + let field = GraphQLField.leaf( + name: "confirmationCode", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.confirmationCode[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.confirmationCode[field.alias!] + case .mocking: + return nil + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func folder() throws -> String { - let field = GraphQLField.leaf( - name: "folder", - arguments: [] - ) - select(field) + func folder() throws -> String { + let field = GraphQLField.leaf( + name: "folder", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.folder[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.folder[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func name() throws -> String? { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String? { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.name[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.name[field.alias!] + case .mocking: + return nil + } } - } - func subscriptionCount() throws -> Int { - let field = GraphQLField.leaf( - name: "subscriptionCount", - arguments: [] - ) - select(field) + func subscriptionCount() throws -> Int { + let field = GraphQLField.leaf( + name: "subscriptionCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subscriptionCount[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.subscriptionCount[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias NewsletterEmail = Selection + typealias NewsletterEmail = Selection } extension Objects { - struct NewsletterEmailsError { - let __typename: TypeName = .newsletterEmailsError - let errorCodes: [String: [Enums.NewsletterEmailsErrorCode]] + struct NewsletterEmailsError { + let __typename: TypeName = .newsletterEmailsError + let errorCodes: [String: [Enums.NewsletterEmailsErrorCode]] - enum TypeName: String, Codable { - case newsletterEmailsError = "NewsletterEmailsError" + enum TypeName: String, Codable { + case newsletterEmailsError = "NewsletterEmailsError" + } } - } } extension Objects.NewsletterEmailsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.NewsletterEmailsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.NewsletterEmailsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.NewsletterEmailsError { - func errorCodes() throws -> [Enums.NewsletterEmailsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.NewsletterEmailsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias NewsletterEmailsError = Selection + typealias NewsletterEmailsError = Selection } extension Objects { - struct NewsletterEmailsSuccess { - let __typename: TypeName = .newsletterEmailsSuccess - let newsletterEmails: [String: [Objects.NewsletterEmail]] + struct NewsletterEmailsSuccess { + let __typename: TypeName = .newsletterEmailsSuccess + let newsletterEmails: [String: [Objects.NewsletterEmail]] - enum TypeName: String, Codable { - case newsletterEmailsSuccess = "NewsletterEmailsSuccess" + enum TypeName: String, Codable { + case newsletterEmailsSuccess = "NewsletterEmailsSuccess" + } } - } } extension Objects.NewsletterEmailsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "newsletterEmails": - if let value = try container.decode([Objects.NewsletterEmail]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "newsletterEmails": + if let value = try container.decode([Objects.NewsletterEmail]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - newsletterEmails = map["newsletterEmails"] - } + newsletterEmails = map["newsletterEmails"] + } } extension Fields where TypeLock == Objects.NewsletterEmailsSuccess { - func newsletterEmails(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "newsletterEmails", - arguments: [], - selection: selection.selection - ) - select(field) + func newsletterEmails(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "newsletterEmails", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.newsletterEmails[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.newsletterEmails[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias NewsletterEmailsSuccess = Selection + typealias NewsletterEmailsSuccess = Selection } extension Objects { - struct OptInFeatureError { - let __typename: TypeName = .optInFeatureError - let errorCodes: [String: [Enums.OptInFeatureErrorCode]] + struct OptInFeatureError { + let __typename: TypeName = .optInFeatureError + let errorCodes: [String: [Enums.OptInFeatureErrorCode]] - enum TypeName: String, Codable { - case optInFeatureError = "OptInFeatureError" + enum TypeName: String, Codable { + case optInFeatureError = "OptInFeatureError" + } } - } } extension Objects.OptInFeatureError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.OptInFeatureErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.OptInFeatureErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.OptInFeatureError { - func errorCodes() throws -> [Enums.OptInFeatureErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.OptInFeatureErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias OptInFeatureError = Selection + typealias OptInFeatureError = Selection } extension Objects { - struct OptInFeatureSuccess { - let __typename: TypeName = .optInFeatureSuccess - let feature: [String: Objects.Feature] + struct OptInFeatureSuccess { + let __typename: TypeName = .optInFeatureSuccess + let feature: [String: Objects.Feature] - enum TypeName: String, Codable { - case optInFeatureSuccess = "OptInFeatureSuccess" + enum TypeName: String, Codable { + case optInFeatureSuccess = "OptInFeatureSuccess" + } } - } } extension Objects.OptInFeatureSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "feature": - if let value = try container.decode(Objects.Feature?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "feature": + if let value = try container.decode(Objects.Feature?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - feature = map["feature"] - } + feature = map["feature"] + } } extension Fields where TypeLock == Objects.OptInFeatureSuccess { - func feature(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "feature", - arguments: [], - selection: selection.selection - ) - select(field) + func feature(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "feature", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.feature[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.feature[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias OptInFeatureSuccess = Selection + typealias OptInFeatureSuccess = Selection } extension Objects { - struct Page { - let __typename: TypeName = .page - let author: [String: String] - let createdAt: [String: DateTime] - let description: [String: String] - let hash: [String: String] - let id: [String: String] - let image: [String: String] - let originalHtml: [String: String] - let originalUrl: [String: String] - let publishedAt: [String: DateTime] - let readableHtml: [String: String] - let title: [String: String] - let type: [String: Enums.PageType] - let updatedAt: [String: DateTime] - let url: [String: String] + struct Page { + let __typename: TypeName = .page + let author: [String: String] + let createdAt: [String: DateTime] + let description: [String: String] + let hash: [String: String] + let id: [String: String] + let image: [String: String] + let originalHtml: [String: String] + let originalUrl: [String: String] + let publishedAt: [String: DateTime] + let readableHtml: [String: String] + let title: [String: String] + let type: [String: Enums.PageType] + let updatedAt: [String: DateTime] + let url: [String: String] - enum TypeName: String, Codable { - case page = "Page" + enum TypeName: String, Codable { + case page = "Page" + } } - } } extension Objects.Page: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "author": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "author": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "hash": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "image": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "originalHtml": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "originalUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "publishedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readableHtml": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "title": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "type": + if let value = try container.decode(Enums.PageType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "hash": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "image": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "originalHtml": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "originalUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "publishedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readableHtml": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "title": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "type": - if let value = try container.decode(Enums.PageType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + author = map["author"] + createdAt = map["createdAt"] + description = map["description"] + hash = map["hash"] + id = map["id"] + image = map["image"] + originalHtml = map["originalHtml"] + originalUrl = map["originalUrl"] + publishedAt = map["publishedAt"] + readableHtml = map["readableHtml"] + title = map["title"] + type = map["type"] + updatedAt = map["updatedAt"] + url = map["url"] } - - author = map["author"] - createdAt = map["createdAt"] - description = map["description"] - hash = map["hash"] - id = map["id"] - image = map["image"] - originalHtml = map["originalHtml"] - originalUrl = map["originalUrl"] - publishedAt = map["publishedAt"] - readableHtml = map["readableHtml"] - title = map["title"] - type = map["type"] - updatedAt = map["updatedAt"] - url = map["url"] - } } extension Fields where TypeLock == Objects.Page { - func author() throws -> String? { - let field = GraphQLField.leaf( - name: "author", - arguments: [] - ) - select(field) + func author() throws -> String? { + let field = GraphQLField.leaf( + name: "author", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.author[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.author[field.alias!] + case .mocking: + return nil + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func hash() throws -> String { - let field = GraphQLField.leaf( - name: "hash", - arguments: [] - ) - select(field) + func hash() throws -> String { + let field = GraphQLField.leaf( + name: "hash", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.hash[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.hash[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func image() throws -> String { - let field = GraphQLField.leaf( - name: "image", - arguments: [] - ) - select(field) + func image() throws -> String { + let field = GraphQLField.leaf( + name: "image", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.image[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.image[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func originalHtml() throws -> String { - let field = GraphQLField.leaf( - name: "originalHtml", - arguments: [] - ) - select(field) + func originalHtml() throws -> String { + let field = GraphQLField.leaf( + name: "originalHtml", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.originalHtml[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.originalHtml[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func originalUrl() throws -> String { - let field = GraphQLField.leaf( - name: "originalUrl", - arguments: [] - ) - select(field) + func originalUrl() throws -> String { + let field = GraphQLField.leaf( + name: "originalUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.originalUrl[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.originalUrl[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func publishedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "publishedAt", - arguments: [] - ) - select(field) + func publishedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "publishedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.publishedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.publishedAt[field.alias!] + case .mocking: + return nil + } } - } - func readableHtml() throws -> String { - let field = GraphQLField.leaf( - name: "readableHtml", - arguments: [] - ) - select(field) + func readableHtml() throws -> String { + let field = GraphQLField.leaf( + name: "readableHtml", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.readableHtml[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.readableHtml[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func title() throws -> String { - let field = GraphQLField.leaf( - name: "title", - arguments: [] - ) - select(field) + func title() throws -> String { + let field = GraphQLField.leaf( + name: "title", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.title[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.title[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func type() throws -> Enums.PageType { - let field = GraphQLField.leaf( - name: "type", - arguments: [] - ) - select(field) + func type() throws -> Enums.PageType { + let field = GraphQLField.leaf( + name: "type", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.type[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.PageType.allCases.first! + switch response { + case let .decoding(data): + if let data = data.type[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.PageType.allCases.first! + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Page = Selection + typealias Page = Selection } extension Objects { - struct PageInfo { - let __typename: TypeName = .pageInfo - let endCursor: [String: String] - let hasNextPage: [String: Bool] - let hasPreviousPage: [String: Bool] - let startCursor: [String: String] - let totalCount: [String: Int] + struct PageInfo { + let __typename: TypeName = .pageInfo + let endCursor: [String: String] + let hasNextPage: [String: Bool] + let hasPreviousPage: [String: Bool] + let startCursor: [String: String] + let totalCount: [String: Int] - enum TypeName: String, Codable { - case pageInfo = "PageInfo" + enum TypeName: String, Codable { + case pageInfo = "PageInfo" + } } - } } extension Objects.PageInfo: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "endCursor": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "endCursor": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "hasNextPage": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "hasPreviousPage": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "startCursor": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "totalCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "hasNextPage": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "hasPreviousPage": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "startCursor": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "totalCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + endCursor = map["endCursor"] + hasNextPage = map["hasNextPage"] + hasPreviousPage = map["hasPreviousPage"] + startCursor = map["startCursor"] + totalCount = map["totalCount"] } - - endCursor = map["endCursor"] - hasNextPage = map["hasNextPage"] - hasPreviousPage = map["hasPreviousPage"] - startCursor = map["startCursor"] - totalCount = map["totalCount"] - } } extension Fields where TypeLock == Objects.PageInfo { - func endCursor() throws -> String? { - let field = GraphQLField.leaf( - name: "endCursor", - arguments: [] - ) - select(field) + func endCursor() throws -> String? { + let field = GraphQLField.leaf( + name: "endCursor", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.endCursor[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.endCursor[field.alias!] + case .mocking: + return nil + } } - } - func hasNextPage() throws -> Bool { - let field = GraphQLField.leaf( - name: "hasNextPage", - arguments: [] - ) - select(field) + func hasNextPage() throws -> Bool { + let field = GraphQLField.leaf( + name: "hasNextPage", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.hasNextPage[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.hasNextPage[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func hasPreviousPage() throws -> Bool { - let field = GraphQLField.leaf( - name: "hasPreviousPage", - arguments: [] - ) - select(field) + func hasPreviousPage() throws -> Bool { + let field = GraphQLField.leaf( + name: "hasPreviousPage", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.hasPreviousPage[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.hasPreviousPage[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func startCursor() throws -> String? { - let field = GraphQLField.leaf( - name: "startCursor", - arguments: [] - ) - select(field) + func startCursor() throws -> String? { + let field = GraphQLField.leaf( + name: "startCursor", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.startCursor[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.startCursor[field.alias!] + case .mocking: + return nil + } } - } - func totalCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "totalCount", - arguments: [] - ) - select(field) + func totalCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "totalCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.totalCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.totalCount[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias PageInfo = Selection + typealias PageInfo = Selection } extension Objects { - struct Profile { - let __typename: TypeName = .profile - let bio: [String: String] - let id: [String: String] - let pictureUrl: [String: String] - let `private`: [String: Bool] - let username: [String: String] + struct Profile { + let __typename: TypeName = .profile + let bio: [String: String] + let id: [String: String] + let pictureUrl: [String: String] + let `private`: [String: Bool] + let username: [String: String] - enum TypeName: String, Codable { - case profile = "Profile" + enum TypeName: String, Codable { + case profile = "Profile" + } } - } } extension Objects.Profile: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "bio": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "bio": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pictureUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "private": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "username": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pictureUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "private": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "username": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + bio = map["bio"] + id = map["id"] + pictureUrl = map["pictureUrl"] + self.private = map["private"] + username = map["username"] } - - bio = map["bio"] - id = map["id"] - pictureUrl = map["pictureUrl"] - self.private = map["private"] - username = map["username"] - } } extension Fields where TypeLock == Objects.Profile { - func bio() throws -> String? { - let field = GraphQLField.leaf( - name: "bio", - arguments: [] - ) - select(field) + func bio() throws -> String? { + let field = GraphQLField.leaf( + name: "bio", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.bio[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.bio[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func pictureUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "pictureUrl", - arguments: [] - ) - select(field) + func pictureUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "pictureUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.pictureUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.pictureUrl[field.alias!] + case .mocking: + return nil + } } - } - func `private`() throws -> Bool { - let field = GraphQLField.leaf( - name: "private", - arguments: [] - ) - select(field) + func `private`() throws -> Bool { + let field = GraphQLField.leaf( + name: "private", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.private[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.private[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func username() throws -> String { - let field = GraphQLField.leaf( - name: "username", - arguments: [] - ) - select(field) + func username() throws -> String { + let field = GraphQLField.leaf( + name: "username", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.username[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.username[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Profile = Selection + typealias Profile = Selection } extension Objects { - struct Query { - let __typename: TypeName = .query - let apiKeys: [String: Unions.ApiKeysResult] - let article: [String: Unions.ArticleResult] - let articleSavingRequest: [String: Unions.ArticleSavingRequestResult] - let deviceTokens: [String: Unions.DeviceTokensResult] - let feeds: [String: Unions.FeedsResult] - let filters: [String: Unions.FiltersResult] - let getUserPersonalization: [String: Unions.GetUserPersonalizationResult] - let groups: [String: Unions.GroupsResult] - let hello: [String: String] - let integrations: [String: Unions.IntegrationsResult] - let labels: [String: Unions.LabelsResult] - let me: [String: Objects.User] - let newsletterEmails: [String: Unions.NewsletterEmailsResult] - let recentEmails: [String: Unions.RecentEmailsResult] - let recentSearches: [String: Unions.RecentSearchesResult] - let rules: [String: Unions.RulesResult] - let scanFeeds: [String: Unions.ScanFeedsResult] - let search: [String: Unions.SearchResult] - let sendInstallInstructions: [String: Unions.SendInstallInstructionsResult] - let subscriptions: [String: Unions.SubscriptionsResult] - let typeaheadSearch: [String: Unions.TypeaheadSearchResult] - let updatesSince: [String: Unions.UpdatesSinceResult] - let user: [String: Unions.UserResult] - let users: [String: Unions.UsersResult] - let validateUsername: [String: Bool] - let webhook: [String: Unions.WebhookResult] - let webhooks: [String: Unions.WebhooksResult] + struct Query { + let __typename: TypeName = .query + let apiKeys: [String: Unions.ApiKeysResult] + let article: [String: Unions.ArticleResult] + let articleSavingRequest: [String: Unions.ArticleSavingRequestResult] + let deviceTokens: [String: Unions.DeviceTokensResult] + let feeds: [String: Unions.FeedsResult] + let filters: [String: Unions.FiltersResult] + let getUserPersonalization: [String: Unions.GetUserPersonalizationResult] + let groups: [String: Unions.GroupsResult] + let hello: [String: String] + let integrations: [String: Unions.IntegrationsResult] + let labels: [String: Unions.LabelsResult] + let me: [String: Objects.User] + let newsletterEmails: [String: Unions.NewsletterEmailsResult] + let recentEmails: [String: Unions.RecentEmailsResult] + let recentSearches: [String: Unions.RecentSearchesResult] + let rules: [String: Unions.RulesResult] + let scanFeeds: [String: Unions.ScanFeedsResult] + let search: [String: Unions.SearchResult] + let sendInstallInstructions: [String: Unions.SendInstallInstructionsResult] + let subscriptions: [String: Unions.SubscriptionsResult] + let typeaheadSearch: [String: Unions.TypeaheadSearchResult] + let updatesSince: [String: Unions.UpdatesSinceResult] + let user: [String: Unions.UserResult] + let users: [String: Unions.UsersResult] + let validateUsername: [String: Bool] + let webhook: [String: Unions.WebhookResult] + let webhooks: [String: Unions.WebhooksResult] - enum TypeName: String, Codable { - case query = "Query" + enum TypeName: String, Codable { + case query = "Query" + } } - } } extension Objects.Query: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "apiKeys": - if let value = try container.decode(Unions.ApiKeysResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "apiKeys": + if let value = try container.decode(Unions.ApiKeysResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "article": + if let value = try container.decode(Unions.ArticleResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "articleSavingRequest": + if let value = try container.decode(Unions.ArticleSavingRequestResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "deviceTokens": + if let value = try container.decode(Unions.DeviceTokensResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "feeds": + if let value = try container.decode(Unions.FeedsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filters": + if let value = try container.decode(Unions.FiltersResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "getUserPersonalization": + if let value = try container.decode(Unions.GetUserPersonalizationResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "groups": + if let value = try container.decode(Unions.GroupsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "hello": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "integrations": + if let value = try container.decode(Unions.IntegrationsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "labels": + if let value = try container.decode(Unions.LabelsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "me": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "newsletterEmails": + if let value = try container.decode(Unions.NewsletterEmailsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recentEmails": + if let value = try container.decode(Unions.RecentEmailsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recentSearches": + if let value = try container.decode(Unions.RecentSearchesResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "rules": + if let value = try container.decode(Unions.RulesResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "scanFeeds": + if let value = try container.decode(Unions.ScanFeedsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "search": + if let value = try container.decode(Unions.SearchResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sendInstallInstructions": + if let value = try container.decode(Unions.SendInstallInstructionsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscriptions": + if let value = try container.decode(Unions.SubscriptionsResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "typeaheadSearch": + if let value = try container.decode(Unions.TypeaheadSearchResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatesSince": + if let value = try container.decode(Unions.UpdatesSinceResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Unions.UserResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "users": + if let value = try container.decode(Unions.UsersResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "validateUsername": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "webhook": + if let value = try container.decode(Unions.WebhookResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "webhooks": + if let value = try container.decode(Unions.WebhooksResult?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "article": - if let value = try container.decode(Unions.ArticleResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "articleSavingRequest": - if let value = try container.decode(Unions.ArticleSavingRequestResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "deviceTokens": - if let value = try container.decode(Unions.DeviceTokensResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "feeds": - if let value = try container.decode(Unions.FeedsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "filters": - if let value = try container.decode(Unions.FiltersResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "getUserPersonalization": - if let value = try container.decode(Unions.GetUserPersonalizationResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "groups": - if let value = try container.decode(Unions.GroupsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "hello": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "integrations": - if let value = try container.decode(Unions.IntegrationsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "labels": - if let value = try container.decode(Unions.LabelsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "me": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "newsletterEmails": - if let value = try container.decode(Unions.NewsletterEmailsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "recentEmails": - if let value = try container.decode(Unions.RecentEmailsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "recentSearches": - if let value = try container.decode(Unions.RecentSearchesResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "rules": - if let value = try container.decode(Unions.RulesResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "scanFeeds": - if let value = try container.decode(Unions.ScanFeedsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "search": - if let value = try container.decode(Unions.SearchResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sendInstallInstructions": - if let value = try container.decode(Unions.SendInstallInstructionsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "subscriptions": - if let value = try container.decode(Unions.SubscriptionsResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "typeaheadSearch": - if let value = try container.decode(Unions.TypeaheadSearchResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatesSince": - if let value = try container.decode(Unions.UpdatesSinceResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Unions.UserResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "users": - if let value = try container.decode(Unions.UsersResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "validateUsername": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "webhook": - if let value = try container.decode(Unions.WebhookResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "webhooks": - if let value = try container.decode(Unions.WebhooksResult?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + apiKeys = map["apiKeys"] + article = map["article"] + articleSavingRequest = map["articleSavingRequest"] + deviceTokens = map["deviceTokens"] + feeds = map["feeds"] + filters = map["filters"] + getUserPersonalization = map["getUserPersonalization"] + groups = map["groups"] + hello = map["hello"] + integrations = map["integrations"] + labels = map["labels"] + me = map["me"] + newsletterEmails = map["newsletterEmails"] + recentEmails = map["recentEmails"] + recentSearches = map["recentSearches"] + rules = map["rules"] + scanFeeds = map["scanFeeds"] + search = map["search"] + sendInstallInstructions = map["sendInstallInstructions"] + subscriptions = map["subscriptions"] + typeaheadSearch = map["typeaheadSearch"] + updatesSince = map["updatesSince"] + user = map["user"] + users = map["users"] + validateUsername = map["validateUsername"] + webhook = map["webhook"] + webhooks = map["webhooks"] } - - apiKeys = map["apiKeys"] - article = map["article"] - articleSavingRequest = map["articleSavingRequest"] - deviceTokens = map["deviceTokens"] - feeds = map["feeds"] - filters = map["filters"] - getUserPersonalization = map["getUserPersonalization"] - groups = map["groups"] - hello = map["hello"] - integrations = map["integrations"] - labels = map["labels"] - me = map["me"] - newsletterEmails = map["newsletterEmails"] - recentEmails = map["recentEmails"] - recentSearches = map["recentSearches"] - rules = map["rules"] - scanFeeds = map["scanFeeds"] - search = map["search"] - sendInstallInstructions = map["sendInstallInstructions"] - subscriptions = map["subscriptions"] - typeaheadSearch = map["typeaheadSearch"] - updatesSince = map["updatesSince"] - user = map["user"] - users = map["users"] - validateUsername = map["validateUsername"] - webhook = map["webhook"] - webhooks = map["webhooks"] - } } extension Fields where TypeLock == Objects.Query { - func apiKeys(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "apiKeys", - arguments: [], - selection: selection.selection - ) - select(field) + func apiKeys(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "apiKeys", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.apiKeys[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.apiKeys[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func article(format: OptionalArgument = .absent(), slug: String, username: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "article", - arguments: [Argument(name: "format", type: "String", value: format), Argument(name: "slug", type: "String!", value: slug), Argument(name: "username", type: "String!", value: username)], - selection: selection.selection - ) - select(field) + func article(format: OptionalArgument = .absent(), slug: String, username: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "article", + arguments: [Argument(name: "format", type: "String", value: format), Argument(name: "slug", type: "String!", value: slug), Argument(name: "username", type: "String!", value: username)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.article[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.article[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func articleSavingRequest(id: OptionalArgument = .absent(), url: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "articleSavingRequest", - arguments: [Argument(name: "id", type: "ID", value: id), Argument(name: "url", type: "String", value: url)], - selection: selection.selection - ) - select(field) + func articleSavingRequest(id: OptionalArgument = .absent(), url: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "articleSavingRequest", + arguments: [Argument(name: "id", type: "ID", value: id), Argument(name: "url", type: "String", value: url)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.articleSavingRequest[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.articleSavingRequest[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func deviceTokens(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deviceTokens", - arguments: [], - selection: selection.selection - ) - select(field) + func deviceTokens(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deviceTokens", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deviceTokens[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deviceTokens[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func feeds(input: InputObjects.FeedsInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "feeds", - arguments: [Argument(name: "input", type: "FeedsInput!", value: input)], - selection: selection.selection - ) - select(field) + func feeds(input: InputObjects.FeedsInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "feeds", + arguments: [Argument(name: "input", type: "FeedsInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.feeds[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.feeds[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func filters(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "filters", - arguments: [], - selection: selection.selection - ) - select(field) + func filters(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "filters", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filters[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.filters[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func getUserPersonalization(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "getUserPersonalization", - arguments: [], - selection: selection.selection - ) - select(field) + func getUserPersonalization(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "getUserPersonalization", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.getUserPersonalization[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.getUserPersonalization[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func groups(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "groups", - arguments: [], - selection: selection.selection - ) - select(field) + func groups(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "groups", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.groups[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.groups[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func hello() throws -> String? { - let field = GraphQLField.leaf( - name: "hello", - arguments: [] - ) - select(field) + func hello() throws -> String? { + let field = GraphQLField.leaf( + name: "hello", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.hello[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.hello[field.alias!] + case .mocking: + return nil + } } - } - func integrations(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "integrations", - arguments: [], - selection: selection.selection - ) - select(field) + func integrations(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "integrations", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.integrations[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.integrations[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func labels(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "labels", - arguments: [], - selection: selection.selection - ) - select(field) + func labels(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "labels", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.labels[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.labels[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func me(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "me", - arguments: [], - selection: selection.selection - ) - select(field) + func me(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "me", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.me[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.me[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func newsletterEmails(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "newsletterEmails", - arguments: [], - selection: selection.selection - ) - select(field) + func newsletterEmails(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "newsletterEmails", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.newsletterEmails[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.newsletterEmails[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func recentEmails(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "recentEmails", - arguments: [], - selection: selection.selection - ) - select(field) + func recentEmails(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "recentEmails", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.recentEmails[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.recentEmails[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func recentSearches(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "recentSearches", - arguments: [], - selection: selection.selection - ) - select(field) + func recentSearches(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "recentSearches", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.recentSearches[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.recentSearches[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func rules(enabled: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "rules", - arguments: [Argument(name: "enabled", type: "Boolean", value: enabled)], - selection: selection.selection - ) - select(field) + func rules(enabled: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "rules", + arguments: [Argument(name: "enabled", type: "Boolean", value: enabled)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.rules[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.rules[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func scanFeeds(input: InputObjects.ScanFeedsInput, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "scanFeeds", - arguments: [Argument(name: "input", type: "ScanFeedsInput!", value: input)], - selection: selection.selection - ) - select(field) + func scanFeeds(input: InputObjects.ScanFeedsInput, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "scanFeeds", + arguments: [Argument(name: "input", type: "ScanFeedsInput!", value: input)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.scanFeeds[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.scanFeeds[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func search(after: OptionalArgument = .absent(), first: OptionalArgument = .absent(), format: OptionalArgument = .absent(), includeContent: OptionalArgument = .absent(), query: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "search", - arguments: [Argument(name: "after", type: "String", value: after), Argument(name: "first", type: "Int", value: first), Argument(name: "format", type: "String", value: format), Argument(name: "includeContent", type: "Boolean", value: includeContent), Argument(name: "query", type: "String", value: query)], - selection: selection.selection - ) - select(field) + func search(after: OptionalArgument = .absent(), first: OptionalArgument = .absent(), format: OptionalArgument = .absent(), includeContent: OptionalArgument = .absent(), query: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "search", + arguments: [Argument(name: "after", type: "String", value: after), Argument(name: "first", type: "Int", value: first), Argument(name: "format", type: "String", value: format), Argument(name: "includeContent", type: "Boolean", value: includeContent), Argument(name: "query", type: "String", value: query)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.search[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.search[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func sendInstallInstructions(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "sendInstallInstructions", - arguments: [], - selection: selection.selection - ) - select(field) + func sendInstallInstructions(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "sendInstallInstructions", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.sendInstallInstructions[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.sendInstallInstructions[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func subscriptions(sort: OptionalArgument = .absent(), type: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "subscriptions", - arguments: [Argument(name: "sort", type: "SortParams", value: sort), Argument(name: "type", type: "SubscriptionType", value: type)], - selection: selection.selection - ) - select(field) + func subscriptions(sort: OptionalArgument = .absent(), type: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "subscriptions", + arguments: [Argument(name: "sort", type: "SortParams", value: sort), Argument(name: "type", type: "SubscriptionType", value: type)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subscriptions[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.subscriptions[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func typeaheadSearch(first: OptionalArgument = .absent(), query: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "typeaheadSearch", - arguments: [Argument(name: "first", type: "Int", value: first), Argument(name: "query", type: "String!", value: query)], - selection: selection.selection - ) - select(field) + func typeaheadSearch(first: OptionalArgument = .absent(), query: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "typeaheadSearch", + arguments: [Argument(name: "first", type: "Int", value: first), Argument(name: "query", type: "String!", value: query)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.typeaheadSearch[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.typeaheadSearch[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updatesSince(after: OptionalArgument = .absent(), first: OptionalArgument = .absent(), folder: OptionalArgument = .absent(), since: DateTime, sort: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatesSince", - arguments: [Argument(name: "after", type: "String", value: after), Argument(name: "first", type: "Int", value: first), Argument(name: "folder", type: "String", value: folder), Argument(name: "since", type: "Date!", value: since), Argument(name: "sort", type: "SortParams", value: sort)], - selection: selection.selection - ) - select(field) + func updatesSince(after: OptionalArgument = .absent(), first: OptionalArgument = .absent(), folder: OptionalArgument = .absent(), since: DateTime, sort: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatesSince", + arguments: [Argument(name: "after", type: "String", value: after), Argument(name: "first", type: "Int", value: first), Argument(name: "folder", type: "String", value: folder), Argument(name: "since", type: "Date!", value: since), Argument(name: "sort", type: "SortParams", value: sort)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updatesSince[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updatesSince[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func user(userId: OptionalArgument = .absent(), username: OptionalArgument = .absent(), selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [Argument(name: "userId", type: "ID", value: userId), Argument(name: "username", type: "String", value: username)], - selection: selection.selection - ) - select(field) + func user(userId: OptionalArgument = .absent(), username: OptionalArgument = .absent(), selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [Argument(name: "userId", type: "ID", value: userId), Argument(name: "username", type: "String", value: username)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func users(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "users", - arguments: [], - selection: selection.selection - ) - select(field) + func users(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "users", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.users[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.users[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func validateUsername(username: String) throws -> Bool { - let field = GraphQLField.leaf( - name: "validateUsername", - arguments: [Argument(name: "username", type: "String!", value: username)] - ) - select(field) + func validateUsername(username: String) throws -> Bool { + let field = GraphQLField.leaf( + name: "validateUsername", + arguments: [Argument(name: "username", type: "String!", value: username)] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.validateUsername[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.validateUsername[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func webhook(id: String, selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "webhook", - arguments: [Argument(name: "id", type: "ID!", value: id)], - selection: selection.selection - ) - select(field) + func webhook(id: String, selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "webhook", + arguments: [Argument(name: "id", type: "ID!", value: id)], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.webhook[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.webhook[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func webhooks(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "webhooks", - arguments: [], - selection: selection.selection - ) - select(field) + func webhooks(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "webhooks", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.webhooks[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.webhooks[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Query = Selection + typealias Query = Selection } extension Objects { - struct Reaction { - let __typename: TypeName = .reaction - let code: [String: Enums.ReactionType] - let createdAt: [String: DateTime] - let id: [String: String] - let updatedAt: [String: DateTime] - let user: [String: Objects.User] + struct Reaction { + let __typename: TypeName = .reaction + let code: [String: Enums.ReactionType] + let createdAt: [String: DateTime] + let id: [String: String] + let updatedAt: [String: DateTime] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case reaction = "Reaction" + enum TypeName: String, Codable { + case reaction = "Reaction" + } } - } } extension Objects.Reaction: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "code": - if let value = try container.decode(Enums.ReactionType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "code": + if let value = try container.decode(Enums.ReactionType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + code = map["code"] + createdAt = map["createdAt"] + id = map["id"] + updatedAt = map["updatedAt"] + user = map["user"] } - - code = map["code"] - createdAt = map["createdAt"] - id = map["id"] - updatedAt = map["updatedAt"] - user = map["user"] - } } extension Fields where TypeLock == Objects.Reaction { - func code() throws -> Enums.ReactionType { - let field = GraphQLField.leaf( - name: "code", - arguments: [] - ) - select(field) + func code() throws -> Enums.ReactionType { + let field = GraphQLField.leaf( + name: "code", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.code[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.ReactionType.allCases.first! + switch response { + case let .decoding(data): + if let data = data.code[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.ReactionType.allCases.first! + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Reaction = Selection + typealias Reaction = Selection } extension Objects { - struct ReadState { - let __typename: TypeName = .readState - let progressAnchorIndex: [String: Int] - let progressPercent: [String: Double] - let reading: [String: Bool] - let readingTime: [String: Int] + struct ReadState { + let __typename: TypeName = .readState + let progressAnchorIndex: [String: Int] + let progressPercent: [String: Double] + let reading: [String: Bool] + let readingTime: [String: Int] - enum TypeName: String, Codable { - case readState = "ReadState" + enum TypeName: String, Codable { + case readState = "ReadState" + } } - } } extension Objects.ReadState: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "progressAnchorIndex": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "progressAnchorIndex": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "progressPercent": + if let value = try container.decode(Double?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reading": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readingTime": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "progressPercent": - if let value = try container.decode(Double?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "reading": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readingTime": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + progressAnchorIndex = map["progressAnchorIndex"] + progressPercent = map["progressPercent"] + reading = map["reading"] + readingTime = map["readingTime"] } - - progressAnchorIndex = map["progressAnchorIndex"] - progressPercent = map["progressPercent"] - reading = map["reading"] - readingTime = map["readingTime"] - } } extension Fields where TypeLock == Objects.ReadState { - func progressAnchorIndex() throws -> Int { - let field = GraphQLField.leaf( - name: "progressAnchorIndex", - arguments: [] - ) - select(field) + func progressAnchorIndex() throws -> Int { + let field = GraphQLField.leaf( + name: "progressAnchorIndex", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.progressAnchorIndex[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.progressAnchorIndex[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } - func progressPercent() throws -> Double { - let field = GraphQLField.leaf( - name: "progressPercent", - arguments: [] - ) - select(field) + func progressPercent() throws -> Double { + let field = GraphQLField.leaf( + name: "progressPercent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.progressPercent[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Double.mockValue + switch response { + case let .decoding(data): + if let data = data.progressPercent[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Double.mockValue + } } - } - func reading() throws -> Bool? { - let field = GraphQLField.leaf( - name: "reading", - arguments: [] - ) - select(field) + func reading() throws -> Bool? { + let field = GraphQLField.leaf( + name: "reading", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.reading[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.reading[field.alias!] + case .mocking: + return nil + } } - } - func readingTime() throws -> Int? { - let field = GraphQLField.leaf( - name: "readingTime", - arguments: [] - ) - select(field) + func readingTime() throws -> Int? { + let field = GraphQLField.leaf( + name: "readingTime", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.readingTime[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.readingTime[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ReadState = Selection + typealias ReadState = Selection } extension Objects { - struct RecentEmail { - let __typename: TypeName = .recentEmail - let createdAt: [String: DateTime] - let from: [String: String] - let html: [String: String] - let id: [String: String] - let subject: [String: String] - let text: [String: String] - let to: [String: String] - let type: [String: String] + struct RecentEmail { + let __typename: TypeName = .recentEmail + let createdAt: [String: DateTime] + let from: [String: String] + let html: [String: String] + let id: [String: String] + let subject: [String: String] + let text: [String: String] + let to: [String: String] + let type: [String: String] - enum TypeName: String, Codable { - case recentEmail = "RecentEmail" + enum TypeName: String, Codable { + case recentEmail = "RecentEmail" + } } - } } extension Objects.RecentEmail: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "from": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "html": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subject": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "text": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "to": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "type": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "from": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "html": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "subject": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "text": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "to": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "type": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdAt = map["createdAt"] + from = map["from"] + html = map["html"] + id = map["id"] + subject = map["subject"] + text = map["text"] + to = map["to"] + type = map["type"] } - - createdAt = map["createdAt"] - from = map["from"] - html = map["html"] - id = map["id"] - subject = map["subject"] - text = map["text"] - to = map["to"] - type = map["type"] - } } extension Fields where TypeLock == Objects.RecentEmail { - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func from() throws -> String { - let field = GraphQLField.leaf( - name: "from", - arguments: [] - ) - select(field) + func from() throws -> String { + let field = GraphQLField.leaf( + name: "from", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.from[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.from[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func html() throws -> String? { - let field = GraphQLField.leaf( - name: "html", - arguments: [] - ) - select(field) + func html() throws -> String? { + let field = GraphQLField.leaf( + name: "html", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.html[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.html[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func subject() throws -> String { - let field = GraphQLField.leaf( - name: "subject", - arguments: [] - ) - select(field) + func subject() throws -> String { + let field = GraphQLField.leaf( + name: "subject", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subject[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.subject[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func text() throws -> String { - let field = GraphQLField.leaf( - name: "text", - arguments: [] - ) - select(field) + func text() throws -> String { + let field = GraphQLField.leaf( + name: "text", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.text[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.text[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func to() throws -> String { - let field = GraphQLField.leaf( - name: "to", - arguments: [] - ) - select(field) + func to() throws -> String { + let field = GraphQLField.leaf( + name: "to", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.to[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.to[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func type() throws -> String { - let field = GraphQLField.leaf( - name: "type", - arguments: [] - ) - select(field) + func type() throws -> String { + let field = GraphQLField.leaf( + name: "type", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.type[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.type[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentEmail = Selection + typealias RecentEmail = Selection } extension Objects { - struct RecentEmailsError { - let __typename: TypeName = .recentEmailsError - let errorCodes: [String: [Enums.RecentEmailsErrorCode]] + struct RecentEmailsError { + let __typename: TypeName = .recentEmailsError + let errorCodes: [String: [Enums.RecentEmailsErrorCode]] - enum TypeName: String, Codable { - case recentEmailsError = "RecentEmailsError" + enum TypeName: String, Codable { + case recentEmailsError = "RecentEmailsError" + } } - } } extension Objects.RecentEmailsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecentEmailsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecentEmailsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.RecentEmailsError { - func errorCodes() throws -> [Enums.RecentEmailsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.RecentEmailsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentEmailsError = Selection + typealias RecentEmailsError = Selection } extension Objects { - struct RecentEmailsSuccess { - let __typename: TypeName = .recentEmailsSuccess - let recentEmails: [String: [Objects.RecentEmail]] + struct RecentEmailsSuccess { + let __typename: TypeName = .recentEmailsSuccess + let recentEmails: [String: [Objects.RecentEmail]] - enum TypeName: String, Codable { - case recentEmailsSuccess = "RecentEmailsSuccess" + enum TypeName: String, Codable { + case recentEmailsSuccess = "RecentEmailsSuccess" + } } - } } extension Objects.RecentEmailsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "recentEmails": - if let value = try container.decode([Objects.RecentEmail]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "recentEmails": + if let value = try container.decode([Objects.RecentEmail]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - recentEmails = map["recentEmails"] - } + recentEmails = map["recentEmails"] + } } extension Fields where TypeLock == Objects.RecentEmailsSuccess { - func recentEmails(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "recentEmails", - arguments: [], - selection: selection.selection - ) - select(field) + func recentEmails(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "recentEmails", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.recentEmails[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.recentEmails[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentEmailsSuccess = Selection + typealias RecentEmailsSuccess = Selection } extension Objects { - struct RecentSearch { - let __typename: TypeName = .recentSearch - let createdAt: [String: DateTime] - let id: [String: String] - let term: [String: String] + struct RecentSearch { + let __typename: TypeName = .recentSearch + let createdAt: [String: DateTime] + let id: [String: String] + let term: [String: String] - enum TypeName: String, Codable { - case recentSearch = "RecentSearch" + enum TypeName: String, Codable { + case recentSearch = "RecentSearch" + } } - } } extension Objects.RecentSearch: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "term": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "term": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdAt = map["createdAt"] + id = map["id"] + term = map["term"] } - - createdAt = map["createdAt"] - id = map["id"] - term = map["term"] - } } extension Fields where TypeLock == Objects.RecentSearch { - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func term() throws -> String { - let field = GraphQLField.leaf( - name: "term", - arguments: [] - ) - select(field) + func term() throws -> String { + let field = GraphQLField.leaf( + name: "term", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.term[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.term[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentSearch = Selection + typealias RecentSearch = Selection } extension Objects { - struct RecentSearchesError { - let __typename: TypeName = .recentSearchesError - let errorCodes: [String: [Enums.RecentSearchesErrorCode]] + struct RecentSearchesError { + let __typename: TypeName = .recentSearchesError + let errorCodes: [String: [Enums.RecentSearchesErrorCode]] - enum TypeName: String, Codable { - case recentSearchesError = "RecentSearchesError" + enum TypeName: String, Codable { + case recentSearchesError = "RecentSearchesError" + } } - } } extension Objects.RecentSearchesError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecentSearchesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecentSearchesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.RecentSearchesError { - func errorCodes() throws -> [Enums.RecentSearchesErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.RecentSearchesErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentSearchesError = Selection + typealias RecentSearchesError = Selection } extension Objects { - struct RecentSearchesSuccess { - let __typename: TypeName = .recentSearchesSuccess - let searches: [String: [Objects.RecentSearch]] + struct RecentSearchesSuccess { + let __typename: TypeName = .recentSearchesSuccess + let searches: [String: [Objects.RecentSearch]] - enum TypeName: String, Codable { - case recentSearchesSuccess = "RecentSearchesSuccess" + enum TypeName: String, Codable { + case recentSearchesSuccess = "RecentSearchesSuccess" + } } - } } extension Objects.RecentSearchesSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "searches": - if let value = try container.decode([Objects.RecentSearch]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "searches": + if let value = try container.decode([Objects.RecentSearch]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - searches = map["searches"] - } + searches = map["searches"] + } } extension Fields where TypeLock == Objects.RecentSearchesSuccess { - func searches(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "searches", - arguments: [], - selection: selection.selection - ) - select(field) + func searches(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "searches", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.searches[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.searches[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentSearchesSuccess = Selection + typealias RecentSearchesSuccess = Selection } extension Objects { - struct RecommendError { - let __typename: TypeName = .recommendError - let errorCodes: [String: [Enums.RecommendErrorCode]] + struct RecommendError { + let __typename: TypeName = .recommendError + let errorCodes: [String: [Enums.RecommendErrorCode]] - enum TypeName: String, Codable { - case recommendError = "RecommendError" + enum TypeName: String, Codable { + case recommendError = "RecommendError" + } } - } } extension Objects.RecommendError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecommendErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecommendErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.RecommendError { - func errorCodes() throws -> [Enums.RecommendErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.RecommendErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendError = Selection + typealias RecommendError = Selection } extension Objects { - struct RecommendHighlightsError { - let __typename: TypeName = .recommendHighlightsError - let errorCodes: [String: [Enums.RecommendHighlightsErrorCode]] + struct RecommendHighlightsError { + let __typename: TypeName = .recommendHighlightsError + let errorCodes: [String: [Enums.RecommendHighlightsErrorCode]] - enum TypeName: String, Codable { - case recommendHighlightsError = "RecommendHighlightsError" + enum TypeName: String, Codable { + case recommendHighlightsError = "RecommendHighlightsError" + } } - } } extension Objects.RecommendHighlightsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecommendHighlightsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecommendHighlightsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.RecommendHighlightsError { - func errorCodes() throws -> [Enums.RecommendHighlightsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.RecommendHighlightsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendHighlightsError = Selection + typealias RecommendHighlightsError = Selection } extension Objects { - struct RecommendHighlightsSuccess { - let __typename: TypeName = .recommendHighlightsSuccess - let success: [String: Bool] + struct RecommendHighlightsSuccess { + let __typename: TypeName = .recommendHighlightsSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case recommendHighlightsSuccess = "RecommendHighlightsSuccess" + enum TypeName: String, Codable { + case recommendHighlightsSuccess = "RecommendHighlightsSuccess" + } } - } } extension Objects.RecommendHighlightsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.RecommendHighlightsSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendHighlightsSuccess = Selection + typealias RecommendHighlightsSuccess = Selection } extension Objects { - struct RecommendSuccess { - let __typename: TypeName = .recommendSuccess - let success: [String: Bool] + struct RecommendSuccess { + let __typename: TypeName = .recommendSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case recommendSuccess = "RecommendSuccess" + enum TypeName: String, Codable { + case recommendSuccess = "RecommendSuccess" + } } - } } extension Objects.RecommendSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.RecommendSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendSuccess = Selection + typealias RecommendSuccess = Selection } extension Objects { - struct Recommendation { - let __typename: TypeName = .recommendation - let id: [String: String] - let name: [String: String] - let note: [String: String] - let recommendedAt: [String: DateTime] - let user: [String: Objects.RecommendingUser] + struct Recommendation { + let __typename: TypeName = .recommendation + let id: [String: String] + let name: [String: String] + let note: [String: String] + let recommendedAt: [String: DateTime] + let user: [String: Objects.RecommendingUser] - enum TypeName: String, Codable { - case recommendation = "Recommendation" + enum TypeName: String, Codable { + case recommendation = "Recommendation" + } } - } } extension Objects.Recommendation: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "note": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recommendedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.RecommendingUser?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "note": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "recommendedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Objects.RecommendingUser?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + id = map["id"] + name = map["name"] + note = map["note"] + recommendedAt = map["recommendedAt"] + user = map["user"] } - - id = map["id"] - name = map["name"] - note = map["note"] - recommendedAt = map["recommendedAt"] - user = map["user"] - } } extension Fields where TypeLock == Objects.Recommendation { - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func note() throws -> String? { - let field = GraphQLField.leaf( - name: "note", - arguments: [] - ) - select(field) + func note() throws -> String? { + let field = GraphQLField.leaf( + name: "note", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.note[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.note[field.alias!] + case .mocking: + return nil + } } - } - func recommendedAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "recommendedAt", - arguments: [] - ) - select(field) + func recommendedAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "recommendedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.recommendedAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.recommendedAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.user[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.user[field.alias!]) + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Recommendation = Selection + typealias Recommendation = Selection } extension Objects { - struct RecommendationGroup { - let __typename: TypeName = .recommendationGroup - let admins: [String: [Objects.User]] - let canPost: [String: Bool] - let canSeeMembers: [String: Bool] - let createdAt: [String: DateTime] - let description: [String: String] - let id: [String: String] - let inviteUrl: [String: String] - let members: [String: [Objects.User]] - let name: [String: String] - let topics: [String: [String]] - let updatedAt: [String: DateTime] + struct RecommendationGroup { + let __typename: TypeName = .recommendationGroup + let admins: [String: [Objects.User]] + let canPost: [String: Bool] + let canSeeMembers: [String: Bool] + let createdAt: [String: DateTime] + let description: [String: String] + let id: [String: String] + let inviteUrl: [String: String] + let members: [String: [Objects.User]] + let name: [String: String] + let topics: [String: [String]] + let updatedAt: [String: DateTime] - enum TypeName: String, Codable { - case recommendationGroup = "RecommendationGroup" + enum TypeName: String, Codable { + case recommendationGroup = "RecommendationGroup" + } } - } } extension Objects.RecommendationGroup: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "admins": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "admins": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "canPost": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "canSeeMembers": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "inviteUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "members": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "topics": + if let value = try container.decode([String]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "canPost": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "canSeeMembers": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "inviteUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "members": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "topics": - if let value = try container.decode([String]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + admins = map["admins"] + canPost = map["canPost"] + canSeeMembers = map["canSeeMembers"] + createdAt = map["createdAt"] + description = map["description"] + id = map["id"] + inviteUrl = map["inviteUrl"] + members = map["members"] + name = map["name"] + topics = map["topics"] + updatedAt = map["updatedAt"] } - - admins = map["admins"] - canPost = map["canPost"] - canSeeMembers = map["canSeeMembers"] - createdAt = map["createdAt"] - description = map["description"] - id = map["id"] - inviteUrl = map["inviteUrl"] - members = map["members"] - name = map["name"] - topics = map["topics"] - updatedAt = map["updatedAt"] - } } extension Fields where TypeLock == Objects.RecommendationGroup { - func admins(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "admins", - arguments: [], - selection: selection.selection - ) - select(field) + func admins(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "admins", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.admins[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.admins[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func canPost() throws -> Bool { - let field = GraphQLField.leaf( - name: "canPost", - arguments: [] - ) - select(field) + func canPost() throws -> Bool { + let field = GraphQLField.leaf( + name: "canPost", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.canPost[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.canPost[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func canSeeMembers() throws -> Bool { - let field = GraphQLField.leaf( - name: "canSeeMembers", - arguments: [] - ) - select(field) + func canSeeMembers() throws -> Bool { + let field = GraphQLField.leaf( + name: "canSeeMembers", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.canSeeMembers[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.canSeeMembers[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func inviteUrl() throws -> String { - let field = GraphQLField.leaf( - name: "inviteUrl", - arguments: [] - ) - select(field) + func inviteUrl() throws -> String { + let field = GraphQLField.leaf( + name: "inviteUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.inviteUrl[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.inviteUrl[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func members(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "members", - arguments: [], - selection: selection.selection - ) - select(field) + func members(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "members", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.members[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.members[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func topics() throws -> [String]? { - let field = GraphQLField.leaf( - name: "topics", - arguments: [] - ) - select(field) + func topics() throws -> [String]? { + let field = GraphQLField.leaf( + name: "topics", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.topics[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.topics[field.alias!] + case .mocking: + return nil + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendationGroup = Selection + typealias RecommendationGroup = Selection } extension Objects { - struct RecommendingUser { - let __typename: TypeName = .recommendingUser - let name: [String: String] - let profileImageUrl: [String: String] - let userId: [String: String] - let username: [String: String] + struct RecommendingUser { + let __typename: TypeName = .recommendingUser + let name: [String: String] + let profileImageUrl: [String: String] + let userId: [String: String] + let username: [String: String] - enum TypeName: String, Codable { - case recommendingUser = "RecommendingUser" + enum TypeName: String, Codable { + case recommendingUser = "RecommendingUser" + } } - } } extension Objects.RecommendingUser: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "profileImageUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "userId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "username": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "profileImageUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "userId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "username": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + name = map["name"] + profileImageUrl = map["profileImageUrl"] + userId = map["userId"] + username = map["username"] } - - name = map["name"] - profileImageUrl = map["profileImageUrl"] - userId = map["userId"] - username = map["username"] - } } extension Fields where TypeLock == Objects.RecommendingUser { - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func profileImageUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "profileImageURL", - arguments: [] - ) - select(field) + func profileImageUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "profileImageURL", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.profileImageUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.profileImageUrl[field.alias!] + case .mocking: + return nil + } } - } - func userId() throws -> String { - let field = GraphQLField.leaf( - name: "userId", - arguments: [] - ) - select(field) + func userId() throws -> String { + let field = GraphQLField.leaf( + name: "userId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.userId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.userId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func username() throws -> String { - let field = GraphQLField.leaf( - name: "username", - arguments: [] - ) - select(field) + func username() throws -> String { + let field = GraphQLField.leaf( + name: "username", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.username[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.username[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendingUser = Selection + typealias RecommendingUser = Selection } extension Objects { - struct Reminder { - let __typename: TypeName = .reminder - let archiveUntil: [String: Bool] - let id: [String: String] - let remindAt: [String: DateTime] - let sendNotification: [String: Bool] + struct Reminder { + let __typename: TypeName = .reminder + let archiveUntil: [String: Bool] + let id: [String: String] + let remindAt: [String: DateTime] + let sendNotification: [String: Bool] - enum TypeName: String, Codable { - case reminder = "Reminder" + enum TypeName: String, Codable { + case reminder = "Reminder" + } } - } } extension Objects.Reminder: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "archiveUntil": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "archiveUntil": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "remindAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sendNotification": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "remindAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sendNotification": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + archiveUntil = map["archiveUntil"] + id = map["id"] + remindAt = map["remindAt"] + sendNotification = map["sendNotification"] } - - archiveUntil = map["archiveUntil"] - id = map["id"] - remindAt = map["remindAt"] - sendNotification = map["sendNotification"] - } } extension Fields where TypeLock == Objects.Reminder { - func archiveUntil() throws -> Bool { - let field = GraphQLField.leaf( - name: "archiveUntil", - arguments: [] - ) - select(field) + func archiveUntil() throws -> Bool { + let field = GraphQLField.leaf( + name: "archiveUntil", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.archiveUntil[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.archiveUntil[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func remindAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "remindAt", - arguments: [] - ) - select(field) + func remindAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "remindAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.remindAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.remindAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func sendNotification() throws -> Bool { - let field = GraphQLField.leaf( - name: "sendNotification", - arguments: [] - ) - select(field) + func sendNotification() throws -> Bool { + let field = GraphQLField.leaf( + name: "sendNotification", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.sendNotification[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.sendNotification[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Reminder = Selection + typealias Reminder = Selection } extension Objects { - struct ReminderError { - let __typename: TypeName = .reminderError - let errorCodes: [String: [Enums.ReminderErrorCode]] + struct ReminderError { + let __typename: TypeName = .reminderError + let errorCodes: [String: [Enums.ReminderErrorCode]] - enum TypeName: String, Codable { - case reminderError = "ReminderError" + enum TypeName: String, Codable { + case reminderError = "ReminderError" + } } - } } extension Objects.ReminderError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.ReminderError { - func errorCodes() throws -> [Enums.ReminderErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ReminderErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ReminderError = Selection + typealias ReminderError = Selection } extension Objects { - struct ReminderSuccess { - let __typename: TypeName = .reminderSuccess - let reminder: [String: Objects.Reminder] + struct ReminderSuccess { + let __typename: TypeName = .reminderSuccess + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case reminderSuccess = "ReminderSuccess" + enum TypeName: String, Codable { + case reminderSuccess = "ReminderSuccess" + } } - } } extension Objects.ReminderSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - reminder = map["reminder"] - } + reminder = map["reminder"] + } } extension Fields where TypeLock == Objects.ReminderSuccess { - func reminder(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reminder", - arguments: [], - selection: selection.selection - ) - select(field) + func reminder(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reminder", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reminder[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reminder[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ReminderSuccess = Selection + typealias ReminderSuccess = Selection } extension Objects { - struct ReportItemResult { - let __typename: TypeName = .reportItemResult - let message: [String: String] + struct ReportItemResult { + let __typename: TypeName = .reportItemResult + let message: [String: String] - enum TypeName: String, Codable { - case reportItemResult = "ReportItemResult" + enum TypeName: String, Codable { + case reportItemResult = "ReportItemResult" + } } - } } extension Objects.ReportItemResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - message = map["message"] - } + message = map["message"] + } } extension Fields where TypeLock == Objects.ReportItemResult { - func message() throws -> String { - let field = GraphQLField.leaf( - name: "message", - arguments: [] - ) - select(field) + func message() throws -> String { + let field = GraphQLField.leaf( + name: "message", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.message[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.message[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ReportItemResult = Selection + typealias ReportItemResult = Selection } extension Objects { - struct RevokeApiKeyError { - let __typename: TypeName = .revokeApiKeyError - let errorCodes: [String: [Enums.RevokeApiKeyErrorCode]] + struct RevokeApiKeyError { + let __typename: TypeName = .revokeApiKeyError + let errorCodes: [String: [Enums.RevokeApiKeyErrorCode]] - enum TypeName: String, Codable { - case revokeApiKeyError = "RevokeApiKeyError" + enum TypeName: String, Codable { + case revokeApiKeyError = "RevokeApiKeyError" + } } - } } extension Objects.RevokeApiKeyError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RevokeApiKeyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RevokeApiKeyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.RevokeApiKeyError { - func errorCodes() throws -> [Enums.RevokeApiKeyErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.RevokeApiKeyErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RevokeApiKeyError = Selection + typealias RevokeApiKeyError = Selection } extension Objects { - struct RevokeApiKeySuccess { - let __typename: TypeName = .revokeApiKeySuccess - let apiKey: [String: Objects.ApiKey] + struct RevokeApiKeySuccess { + let __typename: TypeName = .revokeApiKeySuccess + let apiKey: [String: Objects.ApiKey] - enum TypeName: String, Codable { - case revokeApiKeySuccess = "RevokeApiKeySuccess" + enum TypeName: String, Codable { + case revokeApiKeySuccess = "RevokeApiKeySuccess" + } } - } } extension Objects.RevokeApiKeySuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "apiKey": - if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "apiKey": + if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - apiKey = map["apiKey"] - } + apiKey = map["apiKey"] + } } extension Fields where TypeLock == Objects.RevokeApiKeySuccess { - func apiKey(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "apiKey", - arguments: [], - selection: selection.selection - ) - select(field) + func apiKey(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "apiKey", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.apiKey[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.apiKey[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RevokeApiKeySuccess = Selection + typealias RevokeApiKeySuccess = Selection } extension Objects { - struct Rule { - let __typename: TypeName = .rule - let actions: [String: [Objects.RuleAction]] - let createdAt: [String: DateTime] - let enabled: [String: Bool] - let eventTypes: [String: [Enums.RuleEventType]] - let filter: [String: String] - let id: [String: String] - let name: [String: String] - let updatedAt: [String: DateTime] + struct Rule { + let __typename: TypeName = .rule + let actions: [String: [Objects.RuleAction]] + let createdAt: [String: DateTime] + let enabled: [String: Bool] + let eventTypes: [String: [Enums.RuleEventType]] + let filter: [String: String] + let id: [String: String] + let name: [String: String] + let updatedAt: [String: DateTime] - enum TypeName: String, Codable { - case rule = "Rule" + enum TypeName: String, Codable { + case rule = "Rule" + } } - } } extension Objects.Rule: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "actions": - if let value = try container.decode([Objects.RuleAction]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "actions": + if let value = try container.decode([Objects.RuleAction]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "enabled": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "eventTypes": + if let value = try container.decode([Enums.RuleEventType]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filter": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "enabled": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "eventTypes": - if let value = try container.decode([Enums.RuleEventType]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "filter": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + actions = map["actions"] + createdAt = map["createdAt"] + enabled = map["enabled"] + eventTypes = map["eventTypes"] + filter = map["filter"] + id = map["id"] + name = map["name"] + updatedAt = map["updatedAt"] } - - actions = map["actions"] - createdAt = map["createdAt"] - enabled = map["enabled"] - eventTypes = map["eventTypes"] - filter = map["filter"] - id = map["id"] - name = map["name"] - updatedAt = map["updatedAt"] - } } extension Fields where TypeLock == Objects.Rule { - func actions(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "actions", - arguments: [], - selection: selection.selection - ) - select(field) + func actions(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "actions", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.actions[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.actions[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func enabled() throws -> Bool { - let field = GraphQLField.leaf( - name: "enabled", - arguments: [] - ) - select(field) + func enabled() throws -> Bool { + let field = GraphQLField.leaf( + name: "enabled", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.enabled[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.enabled[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func eventTypes() throws -> [Enums.RuleEventType] { - let field = GraphQLField.leaf( - name: "eventTypes", - arguments: [] - ) - select(field) + func eventTypes() throws -> [Enums.RuleEventType] { + let field = GraphQLField.leaf( + name: "eventTypes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.eventTypes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.eventTypes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } - func filter() throws -> String { - let field = GraphQLField.leaf( - name: "filter", - arguments: [] - ) - select(field) + func filter() throws -> String { + let field = GraphQLField.leaf( + name: "filter", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filter[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.filter[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Rule = Selection + typealias Rule = Selection } extension Objects { - struct RuleAction { - let __typename: TypeName = .ruleAction - let params: [String: [String]] - let type: [String: Enums.RuleActionType] + struct RuleAction { + let __typename: TypeName = .ruleAction + let params: [String: [String]] + let type: [String: Enums.RuleActionType] - enum TypeName: String, Codable { - case ruleAction = "RuleAction" + enum TypeName: String, Codable { + case ruleAction = "RuleAction" + } } - } } extension Objects.RuleAction: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "params": - if let value = try container.decode([String]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "params": + if let value = try container.decode([String]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "type": + if let value = try container.decode(Enums.RuleActionType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "type": - if let value = try container.decode(Enums.RuleActionType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + params = map["params"] + type = map["type"] } - - params = map["params"] - type = map["type"] - } } extension Fields where TypeLock == Objects.RuleAction { - func params() throws -> [String] { - let field = GraphQLField.leaf( - name: "params", - arguments: [] - ) - select(field) + func params() throws -> [String] { + let field = GraphQLField.leaf( + name: "params", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.params[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.params[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } - func type() throws -> Enums.RuleActionType { - let field = GraphQLField.leaf( - name: "type", - arguments: [] - ) - select(field) + func type() throws -> Enums.RuleActionType { + let field = GraphQLField.leaf( + name: "type", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.type[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.RuleActionType.allCases.first! + switch response { + case let .decoding(data): + if let data = data.type[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.RuleActionType.allCases.first! + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RuleAction = Selection + typealias RuleAction = Selection } extension Objects { - struct RulesError { - let __typename: TypeName = .rulesError - let errorCodes: [String: [Enums.RulesErrorCode]] + struct RulesError { + let __typename: TypeName = .rulesError + let errorCodes: [String: [Enums.RulesErrorCode]] - enum TypeName: String, Codable { - case rulesError = "RulesError" + enum TypeName: String, Codable { + case rulesError = "RulesError" + } } - } } extension Objects.RulesError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RulesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RulesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.RulesError { - func errorCodes() throws -> [Enums.RulesErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.RulesErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RulesError = Selection + typealias RulesError = Selection } extension Objects { - struct RulesSuccess { - let __typename: TypeName = .rulesSuccess - let rules: [String: [Objects.Rule]] + struct RulesSuccess { + let __typename: TypeName = .rulesSuccess + let rules: [String: [Objects.Rule]] - enum TypeName: String, Codable { - case rulesSuccess = "RulesSuccess" + enum TypeName: String, Codable { + case rulesSuccess = "RulesSuccess" + } } - } } extension Objects.RulesSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "rules": - if let value = try container.decode([Objects.Rule]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "rules": + if let value = try container.decode([Objects.Rule]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - rules = map["rules"] - } + rules = map["rules"] + } } extension Fields where TypeLock == Objects.RulesSuccess { - func rules(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "rules", - arguments: [], - selection: selection.selection - ) - select(field) + func rules(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "rules", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.rules[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.rules[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RulesSuccess = Selection + typealias RulesSuccess = Selection } extension Objects { - struct SaveArticleReadingProgressError { - let __typename: TypeName = .saveArticleReadingProgressError - let errorCodes: [String: [Enums.SaveArticleReadingProgressErrorCode]] + struct SaveArticleReadingProgressError { + let __typename: TypeName = .saveArticleReadingProgressError + let errorCodes: [String: [Enums.SaveArticleReadingProgressErrorCode]] - enum TypeName: String, Codable { - case saveArticleReadingProgressError = "SaveArticleReadingProgressError" + enum TypeName: String, Codable { + case saveArticleReadingProgressError = "SaveArticleReadingProgressError" + } } - } } extension Objects.SaveArticleReadingProgressError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SaveArticleReadingProgressErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SaveArticleReadingProgressErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SaveArticleReadingProgressError { - func errorCodes() throws -> [Enums.SaveArticleReadingProgressErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SaveArticleReadingProgressErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveArticleReadingProgressError = Selection + typealias SaveArticleReadingProgressError = Selection } extension Objects { - struct SaveArticleReadingProgressSuccess { - let __typename: TypeName = .saveArticleReadingProgressSuccess - let updatedArticle: [String: Objects.Article] + struct SaveArticleReadingProgressSuccess { + let __typename: TypeName = .saveArticleReadingProgressSuccess + let updatedArticle: [String: Objects.Article] - enum TypeName: String, Codable { - case saveArticleReadingProgressSuccess = "SaveArticleReadingProgressSuccess" + enum TypeName: String, Codable { + case saveArticleReadingProgressSuccess = "SaveArticleReadingProgressSuccess" + } } - } } extension Objects.SaveArticleReadingProgressSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "updatedArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "updatedArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - updatedArticle = map["updatedArticle"] - } + updatedArticle = map["updatedArticle"] + } } extension Fields where TypeLock == Objects.SaveArticleReadingProgressSuccess { - func updatedArticle(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatedArticle", - arguments: [], - selection: selection.selection - ) - select(field) + func updatedArticle(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatedArticle", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updatedArticle[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updatedArticle[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveArticleReadingProgressSuccess = Selection + typealias SaveArticleReadingProgressSuccess = Selection } extension Objects { - struct SaveError { - let __typename: TypeName = .saveError - let errorCodes: [String: [Enums.SaveErrorCode]] - let message: [String: String] + struct SaveError { + let __typename: TypeName = .saveError + let errorCodes: [String: [Enums.SaveErrorCode]] + let message: [String: String] - enum TypeName: String, Codable { - case saveError = "SaveError" + enum TypeName: String, Codable { + case saveError = "SaveError" + } } - } } extension Objects.SaveError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SaveErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SaveErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + errorCodes = map["errorCodes"] + message = map["message"] } - - errorCodes = map["errorCodes"] - message = map["message"] - } } extension Fields where TypeLock == Objects.SaveError { - func errorCodes() throws -> [Enums.SaveErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SaveErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } - func message() throws -> String? { - let field = GraphQLField.leaf( - name: "message", - arguments: [] - ) - select(field) + func message() throws -> String? { + let field = GraphQLField.leaf( + name: "message", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.message[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.message[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveError = Selection + typealias SaveError = Selection } extension Objects { - struct SaveFilterError { - let __typename: TypeName = .saveFilterError - let errorCodes: [String: [Enums.SaveFilterErrorCode]] + struct SaveFilterError { + let __typename: TypeName = .saveFilterError + let errorCodes: [String: [Enums.SaveFilterErrorCode]] - enum TypeName: String, Codable { - case saveFilterError = "SaveFilterError" + enum TypeName: String, Codable { + case saveFilterError = "SaveFilterError" + } } - } } extension Objects.SaveFilterError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SaveFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SaveFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SaveFilterError { - func errorCodes() throws -> [Enums.SaveFilterErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SaveFilterErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveFilterError = Selection + typealias SaveFilterError = Selection } extension Objects { - struct SaveFilterSuccess { - let __typename: TypeName = .saveFilterSuccess - let filter: [String: Objects.Filter] + struct SaveFilterSuccess { + let __typename: TypeName = .saveFilterSuccess + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case saveFilterSuccess = "SaveFilterSuccess" + enum TypeName: String, Codable { + case saveFilterSuccess = "SaveFilterSuccess" + } } - } } extension Objects.SaveFilterSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - filter = map["filter"] - } + filter = map["filter"] + } } extension Fields where TypeLock == Objects.SaveFilterSuccess { - func filter(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "filter", - arguments: [], - selection: selection.selection - ) - select(field) + func filter(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "filter", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.filter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveFilterSuccess = Selection + typealias SaveFilterSuccess = Selection } extension Objects { - struct SaveSuccess { - let __typename: TypeName = .saveSuccess - let clientRequestId: [String: String] - let url: [String: String] + struct SaveSuccess { + let __typename: TypeName = .saveSuccess + let clientRequestId: [String: String] + let url: [String: String] - enum TypeName: String, Codable { - case saveSuccess = "SaveSuccess" + enum TypeName: String, Codable { + case saveSuccess = "SaveSuccess" + } } - } } extension Objects.SaveSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "clientRequestId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "clientRequestId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + clientRequestId = map["clientRequestId"] + url = map["url"] } - - clientRequestId = map["clientRequestId"] - url = map["url"] - } } extension Fields where TypeLock == Objects.SaveSuccess { - func clientRequestId() throws -> String { - let field = GraphQLField.leaf( - name: "clientRequestId", - arguments: [] - ) - select(field) + func clientRequestId() throws -> String { + let field = GraphQLField.leaf( + name: "clientRequestId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.clientRequestId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.clientRequestId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveSuccess = Selection + typealias SaveSuccess = Selection } extension Objects { - struct ScanFeedsError { - let __typename: TypeName = .scanFeedsError - let errorCodes: [String: [Enums.ScanFeedsErrorCode]] + struct ScanFeedsError { + let __typename: TypeName = .scanFeedsError + let errorCodes: [String: [Enums.ScanFeedsErrorCode]] - enum TypeName: String, Codable { - case scanFeedsError = "ScanFeedsError" + enum TypeName: String, Codable { + case scanFeedsError = "ScanFeedsError" + } } - } } extension Objects.ScanFeedsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ScanFeedsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ScanFeedsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.ScanFeedsError { - func errorCodes() throws -> [Enums.ScanFeedsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.ScanFeedsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ScanFeedsError = Selection + typealias ScanFeedsError = Selection } extension Objects { - struct ScanFeedsSuccess { - let __typename: TypeName = .scanFeedsSuccess - let feeds: [String: [Objects.Feed]] + struct ScanFeedsSuccess { + let __typename: TypeName = .scanFeedsSuccess + let feeds: [String: [Objects.Feed]] - enum TypeName: String, Codable { - case scanFeedsSuccess = "ScanFeedsSuccess" + enum TypeName: String, Codable { + case scanFeedsSuccess = "ScanFeedsSuccess" + } } - } } extension Objects.ScanFeedsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "feeds": - if let value = try container.decode([Objects.Feed]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "feeds": + if let value = try container.decode([Objects.Feed]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - feeds = map["feeds"] - } + feeds = map["feeds"] + } } extension Fields where TypeLock == Objects.ScanFeedsSuccess { - func feeds(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "feeds", - arguments: [], - selection: selection.selection - ) - select(field) + func feeds(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "feeds", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.feeds[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.feeds[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ScanFeedsSuccess = Selection + typealias ScanFeedsSuccess = Selection } extension Objects { - struct SearchError { - let __typename: TypeName = .searchError - let errorCodes: [String: [Enums.SearchErrorCode]] + struct SearchError { + let __typename: TypeName = .searchError + let errorCodes: [String: [Enums.SearchErrorCode]] - enum TypeName: String, Codable { - case searchError = "SearchError" + enum TypeName: String, Codable { + case searchError = "SearchError" + } } - } } extension Objects.SearchError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SearchErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SearchErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SearchError { - func errorCodes() throws -> [Enums.SearchErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SearchErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SearchError = Selection + typealias SearchError = Selection } extension Objects { - struct SearchItem { - let __typename: TypeName = .searchItem - let annotation: [String: String] - let archivedAt: [String: DateTime] - let author: [String: String] - let color: [String: String] - let content: [String: String] - let contentReader: [String: Enums.ContentReader] - let createdAt: [String: DateTime] - let description: [String: String] - let folder: [String: String] - let highlights: [String: [Objects.Highlight]] - let id: [String: String] - let image: [String: String] - let isArchived: [String: Bool] - let labels: [String: [Objects.Label]] - let language: [String: String] - let links: [String: String] - let originalArticleUrl: [String: String] - let ownedByViewer: [String: Bool] - let pageId: [String: String] - let pageType: [String: Enums.PageType] - let previewContent: [String: String] - let previewContentType: [String: String] - let publishedAt: [String: DateTime] - let quote: [String: String] - let readAt: [String: DateTime] - let readingProgressAnchorIndex: [String: Int] - let readingProgressPercent: [String: Double] - let readingProgressTopPercent: [String: Double] - let recommendations: [String: [Objects.Recommendation]] - let savedAt: [String: DateTime] - let shortId: [String: String] - let siteIcon: [String: String] - let siteName: [String: String] - let slug: [String: String] - let state: [String: Enums.ArticleSavingRequestStatus] - let subscription: [String: String] - let title: [String: String] - let unsubHttpUrl: [String: String] - let unsubMailTo: [String: String] - let updatedAt: [String: DateTime] - let uploadFileId: [String: String] - let url: [String: String] - let wordsCount: [String: Int] + struct SearchItem { + let __typename: TypeName = .searchItem + let annotation: [String: String] + let archivedAt: [String: DateTime] + let author: [String: String] + let color: [String: String] + let content: [String: String] + let contentReader: [String: Enums.ContentReader] + let createdAt: [String: DateTime] + let description: [String: String] + let folder: [String: String] + let highlights: [String: [Objects.Highlight]] + let id: [String: String] + let image: [String: String] + let isArchived: [String: Bool] + let labels: [String: [Objects.Label]] + let language: [String: String] + let links: [String: String] + let originalArticleUrl: [String: String] + let ownedByViewer: [String: Bool] + let pageId: [String: String] + let pageType: [String: Enums.PageType] + let previewContent: [String: String] + let previewContentType: [String: String] + let publishedAt: [String: DateTime] + let quote: [String: String] + let readAt: [String: DateTime] + let readingProgressAnchorIndex: [String: Int] + let readingProgressPercent: [String: Double] + let readingProgressTopPercent: [String: Double] + let recommendations: [String: [Objects.Recommendation]] + let savedAt: [String: DateTime] + let shortId: [String: String] + let siteIcon: [String: String] + let siteName: [String: String] + let slug: [String: String] + let state: [String: Enums.ArticleSavingRequestStatus] + let subscription: [String: String] + let title: [String: String] + let unsubHttpUrl: [String: String] + let unsubMailTo: [String: String] + let updatedAt: [String: DateTime] + let uploadFileId: [String: String] + let url: [String: String] + let wordsCount: [String: Int] - enum TypeName: String, Codable { - case searchItem = "SearchItem" + enum TypeName: String, Codable { + case searchItem = "SearchItem" + } } - } } extension Objects.SearchItem: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "annotation": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "annotation": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "archivedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "author": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "color": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "content": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "contentReader": + if let value = try container.decode(Enums.ContentReader?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "folder": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlights": + if let value = try container.decode([Objects.Highlight]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "image": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "isArchived": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "labels": + if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "language": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "links": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "originalArticleUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "ownedByViewer": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageType": + if let value = try container.decode(Enums.PageType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "previewContent": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "previewContentType": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "publishedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "quote": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readingProgressAnchorIndex": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readingProgressPercent": + if let value = try container.decode(Double?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "readingProgressTopPercent": + if let value = try container.decode(Double?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recommendations": + if let value = try container.decode([Objects.Recommendation]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "savedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "shortId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "siteIcon": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "siteName": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "slug": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "state": + if let value = try container.decode(Enums.ArticleSavingRequestStatus?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscription": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "title": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "unsubHttpUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "unsubMailTo": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadFileId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "wordsCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "archivedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "author": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "color": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "content": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "contentReader": - if let value = try container.decode(Enums.ContentReader?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "folder": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "highlights": - if let value = try container.decode([Objects.Highlight]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "image": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "isArchived": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "labels": - if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "language": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "links": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "originalArticleUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "ownedByViewer": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageType": - if let value = try container.decode(Enums.PageType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "previewContent": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "previewContentType": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "publishedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "quote": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readingProgressAnchorIndex": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readingProgressPercent": - if let value = try container.decode(Double?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "readingProgressTopPercent": - if let value = try container.decode(Double?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "recommendations": - if let value = try container.decode([Objects.Recommendation]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "savedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "shortId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "siteIcon": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "siteName": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "slug": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "state": - if let value = try container.decode(Enums.ArticleSavingRequestStatus?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "subscription": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "title": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "unsubHttpUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "unsubMailTo": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadFileId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "wordsCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + annotation = map["annotation"] + archivedAt = map["archivedAt"] + author = map["author"] + color = map["color"] + content = map["content"] + contentReader = map["contentReader"] + createdAt = map["createdAt"] + description = map["description"] + folder = map["folder"] + highlights = map["highlights"] + id = map["id"] + image = map["image"] + isArchived = map["isArchived"] + labels = map["labels"] + language = map["language"] + links = map["links"] + originalArticleUrl = map["originalArticleUrl"] + ownedByViewer = map["ownedByViewer"] + pageId = map["pageId"] + pageType = map["pageType"] + previewContent = map["previewContent"] + previewContentType = map["previewContentType"] + publishedAt = map["publishedAt"] + quote = map["quote"] + readAt = map["readAt"] + readingProgressAnchorIndex = map["readingProgressAnchorIndex"] + readingProgressPercent = map["readingProgressPercent"] + readingProgressTopPercent = map["readingProgressTopPercent"] + recommendations = map["recommendations"] + savedAt = map["savedAt"] + shortId = map["shortId"] + siteIcon = map["siteIcon"] + siteName = map["siteName"] + slug = map["slug"] + state = map["state"] + subscription = map["subscription"] + title = map["title"] + unsubHttpUrl = map["unsubHttpUrl"] + unsubMailTo = map["unsubMailTo"] + updatedAt = map["updatedAt"] + uploadFileId = map["uploadFileId"] + url = map["url"] + wordsCount = map["wordsCount"] } - - annotation = map["annotation"] - archivedAt = map["archivedAt"] - author = map["author"] - color = map["color"] - content = map["content"] - contentReader = map["contentReader"] - createdAt = map["createdAt"] - description = map["description"] - folder = map["folder"] - highlights = map["highlights"] - id = map["id"] - image = map["image"] - isArchived = map["isArchived"] - labels = map["labels"] - language = map["language"] - links = map["links"] - originalArticleUrl = map["originalArticleUrl"] - ownedByViewer = map["ownedByViewer"] - pageId = map["pageId"] - pageType = map["pageType"] - previewContent = map["previewContent"] - previewContentType = map["previewContentType"] - publishedAt = map["publishedAt"] - quote = map["quote"] - readAt = map["readAt"] - readingProgressAnchorIndex = map["readingProgressAnchorIndex"] - readingProgressPercent = map["readingProgressPercent"] - readingProgressTopPercent = map["readingProgressTopPercent"] - recommendations = map["recommendations"] - savedAt = map["savedAt"] - shortId = map["shortId"] - siteIcon = map["siteIcon"] - siteName = map["siteName"] - slug = map["slug"] - state = map["state"] - subscription = map["subscription"] - title = map["title"] - unsubHttpUrl = map["unsubHttpUrl"] - unsubMailTo = map["unsubMailTo"] - updatedAt = map["updatedAt"] - uploadFileId = map["uploadFileId"] - url = map["url"] - wordsCount = map["wordsCount"] - } } extension Fields where TypeLock == Objects.SearchItem { - func annotation() throws -> String? { - let field = GraphQLField.leaf( - name: "annotation", - arguments: [] - ) - select(field) + func annotation() throws -> String? { + let field = GraphQLField.leaf( + name: "annotation", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.annotation[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.annotation[field.alias!] + case .mocking: + return nil + } } - } - func archivedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "archivedAt", - arguments: [] - ) - select(field) + func archivedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "archivedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.archivedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.archivedAt[field.alias!] + case .mocking: + return nil + } } - } - func author() throws -> String? { - let field = GraphQLField.leaf( - name: "author", - arguments: [] - ) - select(field) + func author() throws -> String? { + let field = GraphQLField.leaf( + name: "author", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.author[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.author[field.alias!] + case .mocking: + return nil + } } - } - func color() throws -> String? { - let field = GraphQLField.leaf( - name: "color", - arguments: [] - ) - select(field) + func color() throws -> String? { + let field = GraphQLField.leaf( + name: "color", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.color[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.color[field.alias!] + case .mocking: + return nil + } } - } - func content() throws -> String? { - let field = GraphQLField.leaf( - name: "content", - arguments: [] - ) - select(field) + func content() throws -> String? { + let field = GraphQLField.leaf( + name: "content", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.content[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.content[field.alias!] + case .mocking: + return nil + } } - } - func contentReader() throws -> Enums.ContentReader { - let field = GraphQLField.leaf( - name: "contentReader", - arguments: [] - ) - select(field) + func contentReader() throws -> Enums.ContentReader { + let field = GraphQLField.leaf( + name: "contentReader", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.contentReader[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.ContentReader.allCases.first! + switch response { + case let .decoding(data): + if let data = data.contentReader[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.ContentReader.allCases.first! + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func folder() throws -> String { - let field = GraphQLField.leaf( - name: "folder", - arguments: [] - ) - select(field) + func folder() throws -> String { + let field = GraphQLField.leaf( + name: "folder", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.folder[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.folder[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func highlights(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlights", - arguments: [], - selection: selection.selection - ) - select(field) + func highlights(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlights", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.highlights[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.highlights[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func image() throws -> String? { - let field = GraphQLField.leaf( - name: "image", - arguments: [] - ) - select(field) + func image() throws -> String? { + let field = GraphQLField.leaf( + name: "image", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.image[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.image[field.alias!] + case .mocking: + return nil + } } - } - func isArchived() throws -> Bool { - let field = GraphQLField.leaf( - name: "isArchived", - arguments: [] - ) - select(field) + func isArchived() throws -> Bool { + let field = GraphQLField.leaf( + name: "isArchived", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.isArchived[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.isArchived[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func labels(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "labels", - arguments: [], - selection: selection.selection - ) - select(field) + func labels(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "labels", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.labels[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.labels[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func language() throws -> String? { - let field = GraphQLField.leaf( - name: "language", - arguments: [] - ) - select(field) + func language() throws -> String? { + let field = GraphQLField.leaf( + name: "language", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.language[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.language[field.alias!] + case .mocking: + return nil + } } - } - func links() throws -> String? { - let field = GraphQLField.leaf( - name: "links", - arguments: [] - ) - select(field) + func links() throws -> String? { + let field = GraphQLField.leaf( + name: "links", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.links[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.links[field.alias!] + case .mocking: + return nil + } } - } - func originalArticleUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "originalArticleUrl", - arguments: [] - ) - select(field) + func originalArticleUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "originalArticleUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.originalArticleUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.originalArticleUrl[field.alias!] + case .mocking: + return nil + } } - } - func ownedByViewer() throws -> Bool? { - let field = GraphQLField.leaf( - name: "ownedByViewer", - arguments: [] - ) - select(field) + func ownedByViewer() throws -> Bool? { + let field = GraphQLField.leaf( + name: "ownedByViewer", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.ownedByViewer[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.ownedByViewer[field.alias!] + case .mocking: + return nil + } } - } - func pageId() throws -> String? { - let field = GraphQLField.leaf( - name: "pageId", - arguments: [] - ) - select(field) + func pageId() throws -> String? { + let field = GraphQLField.leaf( + name: "pageId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.pageId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.pageId[field.alias!] + case .mocking: + return nil + } } - } - func pageType() throws -> Enums.PageType { - let field = GraphQLField.leaf( - name: "pageType", - arguments: [] - ) - select(field) + func pageType() throws -> Enums.PageType { + let field = GraphQLField.leaf( + name: "pageType", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.pageType[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.PageType.allCases.first! + switch response { + case let .decoding(data): + if let data = data.pageType[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.PageType.allCases.first! + } } - } - func previewContent() throws -> String? { - let field = GraphQLField.leaf( - name: "previewContent", - arguments: [] - ) - select(field) + func previewContent() throws -> String? { + let field = GraphQLField.leaf( + name: "previewContent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.previewContent[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.previewContent[field.alias!] + case .mocking: + return nil + } } - } - func previewContentType() throws -> String? { - let field = GraphQLField.leaf( - name: "previewContentType", - arguments: [] - ) - select(field) + func previewContentType() throws -> String? { + let field = GraphQLField.leaf( + name: "previewContentType", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.previewContentType[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.previewContentType[field.alias!] + case .mocking: + return nil + } } - } - func publishedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "publishedAt", - arguments: [] - ) - select(field) + func publishedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "publishedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.publishedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.publishedAt[field.alias!] + case .mocking: + return nil + } } - } - func quote() throws -> String? { - let field = GraphQLField.leaf( - name: "quote", - arguments: [] - ) - select(field) + func quote() throws -> String? { + let field = GraphQLField.leaf( + name: "quote", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.quote[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.quote[field.alias!] + case .mocking: + return nil + } } - } - func readAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "readAt", - arguments: [] - ) - select(field) + func readAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "readAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.readAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.readAt[field.alias!] + case .mocking: + return nil + } } - } - func readingProgressAnchorIndex() throws -> Int { - let field = GraphQLField.leaf( - name: "readingProgressAnchorIndex", - arguments: [] - ) - select(field) + func readingProgressAnchorIndex() throws -> Int { + let field = GraphQLField.leaf( + name: "readingProgressAnchorIndex", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.readingProgressAnchorIndex[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.readingProgressAnchorIndex[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } - func readingProgressPercent() throws -> Double { - let field = GraphQLField.leaf( - name: "readingProgressPercent", - arguments: [] - ) - select(field) + func readingProgressPercent() throws -> Double { + let field = GraphQLField.leaf( + name: "readingProgressPercent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.readingProgressPercent[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Double.mockValue + switch response { + case let .decoding(data): + if let data = data.readingProgressPercent[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Double.mockValue + } } - } - func readingProgressTopPercent() throws -> Double? { - let field = GraphQLField.leaf( - name: "readingProgressTopPercent", - arguments: [] - ) - select(field) + func readingProgressTopPercent() throws -> Double? { + let field = GraphQLField.leaf( + name: "readingProgressTopPercent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.readingProgressTopPercent[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.readingProgressTopPercent[field.alias!] + case .mocking: + return nil + } } - } - func recommendations(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "recommendations", - arguments: [], - selection: selection.selection - ) - select(field) + func recommendations(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "recommendations", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.recommendations[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.recommendations[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func savedAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "savedAt", - arguments: [] - ) - select(field) + func savedAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "savedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.savedAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.savedAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func shortId() throws -> String? { - let field = GraphQLField.leaf( - name: "shortId", - arguments: [] - ) - select(field) + func shortId() throws -> String? { + let field = GraphQLField.leaf( + name: "shortId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.shortId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.shortId[field.alias!] + case .mocking: + return nil + } } - } - func siteIcon() throws -> String? { - let field = GraphQLField.leaf( - name: "siteIcon", - arguments: [] - ) - select(field) + func siteIcon() throws -> String? { + let field = GraphQLField.leaf( + name: "siteIcon", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.siteIcon[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.siteIcon[field.alias!] + case .mocking: + return nil + } } - } - func siteName() throws -> String? { - let field = GraphQLField.leaf( - name: "siteName", - arguments: [] - ) - select(field) + func siteName() throws -> String? { + let field = GraphQLField.leaf( + name: "siteName", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.siteName[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.siteName[field.alias!] + case .mocking: + return nil + } } - } - func slug() throws -> String { - let field = GraphQLField.leaf( - name: "slug", - arguments: [] - ) - select(field) + func slug() throws -> String { + let field = GraphQLField.leaf( + name: "slug", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.slug[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.slug[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func state() throws -> Enums.ArticleSavingRequestStatus? { - let field = GraphQLField.leaf( - name: "state", - arguments: [] - ) - select(field) + func state() throws -> Enums.ArticleSavingRequestStatus? { + let field = GraphQLField.leaf( + name: "state", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.state[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.state[field.alias!] + case .mocking: + return nil + } } - } - func subscription() throws -> String? { - let field = GraphQLField.leaf( - name: "subscription", - arguments: [] - ) - select(field) + func subscription() throws -> String? { + let field = GraphQLField.leaf( + name: "subscription", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.subscription[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.subscription[field.alias!] + case .mocking: + return nil + } } - } - func title() throws -> String { - let field = GraphQLField.leaf( - name: "title", - arguments: [] - ) - select(field) + func title() throws -> String { + let field = GraphQLField.leaf( + name: "title", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.title[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.title[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func unsubHttpUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "unsubHttpUrl", - arguments: [] - ) - select(field) + func unsubHttpUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "unsubHttpUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.unsubHttpUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.unsubHttpUrl[field.alias!] + case .mocking: + return nil + } } - } - func unsubMailTo() throws -> String? { - let field = GraphQLField.leaf( - name: "unsubMailTo", - arguments: [] - ) - select(field) + func unsubMailTo() throws -> String? { + let field = GraphQLField.leaf( + name: "unsubMailTo", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.unsubMailTo[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.unsubMailTo[field.alias!] + case .mocking: + return nil + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func uploadFileId() throws -> String? { - let field = GraphQLField.leaf( - name: "uploadFileId", - arguments: [] - ) - select(field) + func uploadFileId() throws -> String? { + let field = GraphQLField.leaf( + name: "uploadFileId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.uploadFileId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.uploadFileId[field.alias!] + case .mocking: + return nil + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func wordsCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "wordsCount", - arguments: [] - ) - select(field) + func wordsCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "wordsCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.wordsCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.wordsCount[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SearchItem = Selection + typealias SearchItem = Selection } extension Objects { - struct SearchItemEdge { - let __typename: TypeName = .searchItemEdge - let cursor: [String: String] - let node: [String: Objects.SearchItem] + struct SearchItemEdge { + let __typename: TypeName = .searchItemEdge + let cursor: [String: String] + let node: [String: Objects.SearchItem] - enum TypeName: String, Codable { - case searchItemEdge = "SearchItemEdge" + enum TypeName: String, Codable { + case searchItemEdge = "SearchItemEdge" + } } - } } extension Objects.SearchItemEdge: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "cursor": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "cursor": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "node": + if let value = try container.decode(Objects.SearchItem?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "node": - if let value = try container.decode(Objects.SearchItem?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + cursor = map["cursor"] + node = map["node"] } - - cursor = map["cursor"] - node = map["node"] - } } extension Fields where TypeLock == Objects.SearchItemEdge { - func cursor() throws -> String { - let field = GraphQLField.leaf( - name: "cursor", - arguments: [] - ) - select(field) + func cursor() throws -> String { + let field = GraphQLField.leaf( + name: "cursor", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.cursor[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.cursor[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func node(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "node", - arguments: [], - selection: selection.selection - ) - select(field) + func node(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "node", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.node[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.node[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SearchItemEdge = Selection + typealias SearchItemEdge = Selection } extension Objects { - struct SearchSuccess { - let __typename: TypeName = .searchSuccess - let edges: [String: [Objects.SearchItemEdge]] - let pageInfo: [String: Objects.PageInfo] + struct SearchSuccess { + let __typename: TypeName = .searchSuccess + let edges: [String: [Objects.SearchItemEdge]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case searchSuccess = "SearchSuccess" + enum TypeName: String, Codable { + case searchSuccess = "SearchSuccess" + } } - } } extension Objects.SearchSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.SearchItemEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.SearchItemEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + edges = map["edges"] + pageInfo = map["pageInfo"] } - - edges = map["edges"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Objects.SearchSuccess { - func edges(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "edges", - arguments: [], - selection: selection.selection - ) - select(field) + func edges(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "edges", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.edges[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.edges[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func pageInfo(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "pageInfo", - arguments: [], - selection: selection.selection - ) - select(field) + func pageInfo(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "pageInfo", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.pageInfo[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.pageInfo[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SearchSuccess = Selection + typealias SearchSuccess = Selection } extension Objects { - struct SendInstallInstructionsError { - let __typename: TypeName = .sendInstallInstructionsError - let errorCodes: [String: [Enums.SendInstallInstructionsErrorCode]] + struct SendInstallInstructionsError { + let __typename: TypeName = .sendInstallInstructionsError + let errorCodes: [String: [Enums.SendInstallInstructionsErrorCode]] - enum TypeName: String, Codable { - case sendInstallInstructionsError = "SendInstallInstructionsError" + enum TypeName: String, Codable { + case sendInstallInstructionsError = "SendInstallInstructionsError" + } } - } } extension Objects.SendInstallInstructionsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SendInstallInstructionsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SendInstallInstructionsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SendInstallInstructionsError { - func errorCodes() throws -> [Enums.SendInstallInstructionsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SendInstallInstructionsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SendInstallInstructionsError = Selection + typealias SendInstallInstructionsError = Selection } extension Objects { - struct SendInstallInstructionsSuccess { - let __typename: TypeName = .sendInstallInstructionsSuccess - let sent: [String: Bool] + struct SendInstallInstructionsSuccess { + let __typename: TypeName = .sendInstallInstructionsSuccess + let sent: [String: Bool] - enum TypeName: String, Codable { - case sendInstallInstructionsSuccess = "SendInstallInstructionsSuccess" + enum TypeName: String, Codable { + case sendInstallInstructionsSuccess = "SendInstallInstructionsSuccess" + } } - } } extension Objects.SendInstallInstructionsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "sent": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "sent": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - sent = map["sent"] - } + sent = map["sent"] + } } extension Fields where TypeLock == Objects.SendInstallInstructionsSuccess { - func sent() throws -> Bool { - let field = GraphQLField.leaf( - name: "sent", - arguments: [] - ) - select(field) + func sent() throws -> Bool { + let field = GraphQLField.leaf( + name: "sent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.sent[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.sent[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SendInstallInstructionsSuccess = Selection + typealias SendInstallInstructionsSuccess = Selection } extension Objects { - struct SetBookmarkArticleError { - let __typename: TypeName = .setBookmarkArticleError - let errorCodes: [String: [Enums.SetBookmarkArticleErrorCode]] + struct SetBookmarkArticleError { + let __typename: TypeName = .setBookmarkArticleError + let errorCodes: [String: [Enums.SetBookmarkArticleErrorCode]] - enum TypeName: String, Codable { - case setBookmarkArticleError = "SetBookmarkArticleError" + enum TypeName: String, Codable { + case setBookmarkArticleError = "SetBookmarkArticleError" + } } - } } extension Objects.SetBookmarkArticleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetBookmarkArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetBookmarkArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetBookmarkArticleError { - func errorCodes() throws -> [Enums.SetBookmarkArticleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetBookmarkArticleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetBookmarkArticleError = Selection + typealias SetBookmarkArticleError = Selection } extension Objects { - struct SetBookmarkArticleSuccess { - let __typename: TypeName = .setBookmarkArticleSuccess - let bookmarkedArticle: [String: Objects.Article] + struct SetBookmarkArticleSuccess { + let __typename: TypeName = .setBookmarkArticleSuccess + let bookmarkedArticle: [String: Objects.Article] - enum TypeName: String, Codable { - case setBookmarkArticleSuccess = "SetBookmarkArticleSuccess" + enum TypeName: String, Codable { + case setBookmarkArticleSuccess = "SetBookmarkArticleSuccess" + } } - } } extension Objects.SetBookmarkArticleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "bookmarkedArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "bookmarkedArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - bookmarkedArticle = map["bookmarkedArticle"] - } + bookmarkedArticle = map["bookmarkedArticle"] + } } extension Fields where TypeLock == Objects.SetBookmarkArticleSuccess { - func bookmarkedArticle(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "bookmarkedArticle", - arguments: [], - selection: selection.selection - ) - select(field) + func bookmarkedArticle(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "bookmarkedArticle", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.bookmarkedArticle[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.bookmarkedArticle[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetBookmarkArticleSuccess = Selection + typealias SetBookmarkArticleSuccess = Selection } extension Objects { - struct SetDeviceTokenError { - let __typename: TypeName = .setDeviceTokenError - let errorCodes: [String: [Enums.SetDeviceTokenErrorCode]] + struct SetDeviceTokenError { + let __typename: TypeName = .setDeviceTokenError + let errorCodes: [String: [Enums.SetDeviceTokenErrorCode]] - enum TypeName: String, Codable { - case setDeviceTokenError = "SetDeviceTokenError" + enum TypeName: String, Codable { + case setDeviceTokenError = "SetDeviceTokenError" + } } - } } extension Objects.SetDeviceTokenError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetDeviceTokenErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetDeviceTokenErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetDeviceTokenError { - func errorCodes() throws -> [Enums.SetDeviceTokenErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetDeviceTokenErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetDeviceTokenError = Selection + typealias SetDeviceTokenError = Selection } extension Objects { - struct SetDeviceTokenSuccess { - let __typename: TypeName = .setDeviceTokenSuccess - let deviceToken: [String: Objects.DeviceToken] + struct SetDeviceTokenSuccess { + let __typename: TypeName = .setDeviceTokenSuccess + let deviceToken: [String: Objects.DeviceToken] - enum TypeName: String, Codable { - case setDeviceTokenSuccess = "SetDeviceTokenSuccess" + enum TypeName: String, Codable { + case setDeviceTokenSuccess = "SetDeviceTokenSuccess" + } } - } } extension Objects.SetDeviceTokenSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "deviceToken": - if let value = try container.decode(Objects.DeviceToken?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "deviceToken": + if let value = try container.decode(Objects.DeviceToken?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - deviceToken = map["deviceToken"] - } + deviceToken = map["deviceToken"] + } } extension Fields where TypeLock == Objects.SetDeviceTokenSuccess { - func deviceToken(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "deviceToken", - arguments: [], - selection: selection.selection - ) - select(field) + func deviceToken(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "deviceToken", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.deviceToken[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.deviceToken[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetDeviceTokenSuccess = Selection + typealias SetDeviceTokenSuccess = Selection } extension Objects { - struct SetFavoriteArticleError { - let __typename: TypeName = .setFavoriteArticleError - let errorCodes: [String: [Enums.SetFavoriteArticleErrorCode]] + struct SetFavoriteArticleError { + let __typename: TypeName = .setFavoriteArticleError + let errorCodes: [String: [Enums.SetFavoriteArticleErrorCode]] - enum TypeName: String, Codable { - case setFavoriteArticleError = "SetFavoriteArticleError" + enum TypeName: String, Codable { + case setFavoriteArticleError = "SetFavoriteArticleError" + } } - } } extension Objects.SetFavoriteArticleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetFavoriteArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetFavoriteArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetFavoriteArticleError { - func errorCodes() throws -> [Enums.SetFavoriteArticleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetFavoriteArticleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetFavoriteArticleError = Selection + typealias SetFavoriteArticleError = Selection } extension Objects { - struct SetFavoriteArticleSuccess { - let __typename: TypeName = .setFavoriteArticleSuccess - let success: [String: Bool] + struct SetFavoriteArticleSuccess { + let __typename: TypeName = .setFavoriteArticleSuccess + let success: [String: Bool] - enum TypeName: String, Codable { - case setFavoriteArticleSuccess = "SetFavoriteArticleSuccess" + enum TypeName: String, Codable { + case setFavoriteArticleSuccess = "SetFavoriteArticleSuccess" + } } - } } extension Objects.SetFavoriteArticleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - success = map["success"] - } + success = map["success"] + } } extension Fields where TypeLock == Objects.SetFavoriteArticleSuccess { - func success() throws -> Bool { - let field = GraphQLField.leaf( - name: "success", - arguments: [] - ) - select(field) + func success() throws -> Bool { + let field = GraphQLField.leaf( + name: "success", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.success[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.success[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetFavoriteArticleSuccess = Selection + typealias SetFavoriteArticleSuccess = Selection } extension Objects { - struct SetFollowError { - let __typename: TypeName = .setFollowError - let errorCodes: [String: [Enums.SetFollowErrorCode]] + struct SetFollowError { + let __typename: TypeName = .setFollowError + let errorCodes: [String: [Enums.SetFollowErrorCode]] - enum TypeName: String, Codable { - case setFollowError = "SetFollowError" + enum TypeName: String, Codable { + case setFollowError = "SetFollowError" + } } - } } extension Objects.SetFollowError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetFollowErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetFollowErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetFollowError { - func errorCodes() throws -> [Enums.SetFollowErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetFollowErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetFollowError = Selection + typealias SetFollowError = Selection } extension Objects { - struct SetFollowSuccess { - let __typename: TypeName = .setFollowSuccess - let updatedUser: [String: Objects.User] + struct SetFollowSuccess { + let __typename: TypeName = .setFollowSuccess + let updatedUser: [String: Objects.User] - enum TypeName: String, Codable { - case setFollowSuccess = "SetFollowSuccess" + enum TypeName: String, Codable { + case setFollowSuccess = "SetFollowSuccess" + } } - } } extension Objects.SetFollowSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "updatedUser": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "updatedUser": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - updatedUser = map["updatedUser"] - } + updatedUser = map["updatedUser"] + } } extension Fields where TypeLock == Objects.SetFollowSuccess { - func updatedUser(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatedUser", - arguments: [], - selection: selection.selection - ) - select(field) + func updatedUser(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatedUser", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updatedUser[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updatedUser[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetFollowSuccess = Selection + typealias SetFollowSuccess = Selection } extension Objects { - struct SetIntegrationError { - let __typename: TypeName = .setIntegrationError - let errorCodes: [String: [Enums.SetIntegrationErrorCode]] + struct SetIntegrationError { + let __typename: TypeName = .setIntegrationError + let errorCodes: [String: [Enums.SetIntegrationErrorCode]] - enum TypeName: String, Codable { - case setIntegrationError = "SetIntegrationError" + enum TypeName: String, Codable { + case setIntegrationError = "SetIntegrationError" + } } - } } extension Objects.SetIntegrationError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetIntegrationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetIntegrationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetIntegrationError { - func errorCodes() throws -> [Enums.SetIntegrationErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetIntegrationErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetIntegrationError = Selection + typealias SetIntegrationError = Selection } extension Objects { - struct SetIntegrationSuccess { - let __typename: TypeName = .setIntegrationSuccess - let integration: [String: Objects.Integration] + struct SetIntegrationSuccess { + let __typename: TypeName = .setIntegrationSuccess + let integration: [String: Objects.Integration] - enum TypeName: String, Codable { - case setIntegrationSuccess = "SetIntegrationSuccess" + enum TypeName: String, Codable { + case setIntegrationSuccess = "SetIntegrationSuccess" + } } - } } extension Objects.SetIntegrationSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "integration": - if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "integration": + if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - integration = map["integration"] - } + integration = map["integration"] + } } extension Fields where TypeLock == Objects.SetIntegrationSuccess { - func integration(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "integration", - arguments: [], - selection: selection.selection - ) - select(field) + func integration(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "integration", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.integration[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.integration[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetIntegrationSuccess = Selection + typealias SetIntegrationSuccess = Selection } extension Objects { - struct SetLabelsError { - let __typename: TypeName = .setLabelsError - let errorCodes: [String: [Enums.SetLabelsErrorCode]] + struct SetLabelsError { + let __typename: TypeName = .setLabelsError + let errorCodes: [String: [Enums.SetLabelsErrorCode]] - enum TypeName: String, Codable { - case setLabelsError = "SetLabelsError" + enum TypeName: String, Codable { + case setLabelsError = "SetLabelsError" + } } - } } extension Objects.SetLabelsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetLabelsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetLabelsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetLabelsError { - func errorCodes() throws -> [Enums.SetLabelsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetLabelsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetLabelsError = Selection + typealias SetLabelsError = Selection } extension Objects { - struct SetLabelsSuccess { - let __typename: TypeName = .setLabelsSuccess - let labels: [String: [Objects.Label]] + struct SetLabelsSuccess { + let __typename: TypeName = .setLabelsSuccess + let labels: [String: [Objects.Label]] - enum TypeName: String, Codable { - case setLabelsSuccess = "SetLabelsSuccess" + enum TypeName: String, Codable { + case setLabelsSuccess = "SetLabelsSuccess" + } } - } } extension Objects.SetLabelsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "labels": - if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "labels": + if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - labels = map["labels"] - } + labels = map["labels"] + } } extension Fields where TypeLock == Objects.SetLabelsSuccess { - func labels(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "labels", - arguments: [], - selection: selection.selection - ) - select(field) + func labels(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "labels", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.labels[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.labels[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetLabelsSuccess = Selection + typealias SetLabelsSuccess = Selection } extension Objects { - struct SetRuleError { - let __typename: TypeName = .setRuleError - let errorCodes: [String: [Enums.SetRuleErrorCode]] + struct SetRuleError { + let __typename: TypeName = .setRuleError + let errorCodes: [String: [Enums.SetRuleErrorCode]] - enum TypeName: String, Codable { - case setRuleError = "SetRuleError" + enum TypeName: String, Codable { + case setRuleError = "SetRuleError" + } } - } } extension Objects.SetRuleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetRuleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetRuleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetRuleError { - func errorCodes() throws -> [Enums.SetRuleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetRuleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetRuleError = Selection + typealias SetRuleError = Selection } extension Objects { - struct SetRuleSuccess { - let __typename: TypeName = .setRuleSuccess - let rule: [String: Objects.Rule] + struct SetRuleSuccess { + let __typename: TypeName = .setRuleSuccess + let rule: [String: Objects.Rule] - enum TypeName: String, Codable { - case setRuleSuccess = "SetRuleSuccess" + enum TypeName: String, Codable { + case setRuleSuccess = "SetRuleSuccess" + } } - } } extension Objects.SetRuleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "rule": - if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "rule": + if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - rule = map["rule"] - } + rule = map["rule"] + } } extension Fields where TypeLock == Objects.SetRuleSuccess { - func rule(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "rule", - arguments: [], - selection: selection.selection - ) - select(field) + func rule(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "rule", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.rule[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.rule[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetRuleSuccess = Selection + typealias SetRuleSuccess = Selection } extension Objects { - struct SetShareArticleError { - let __typename: TypeName = .setShareArticleError - let errorCodes: [String: [Enums.SetShareArticleErrorCode]] + struct SetShareArticleError { + let __typename: TypeName = .setShareArticleError + let errorCodes: [String: [Enums.SetShareArticleErrorCode]] - enum TypeName: String, Codable { - case setShareArticleError = "SetShareArticleError" + enum TypeName: String, Codable { + case setShareArticleError = "SetShareArticleError" + } } - } } extension Objects.SetShareArticleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetShareArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetShareArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetShareArticleError { - func errorCodes() throws -> [Enums.SetShareArticleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetShareArticleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetShareArticleError = Selection + typealias SetShareArticleError = Selection } extension Objects { - struct SetShareArticleSuccess { - let __typename: TypeName = .setShareArticleSuccess - let updatedArticle: [String: Objects.Article] - let updatedFeedArticle: [String: Objects.FeedArticle] - let updatedFeedArticleId: [String: String] + struct SetShareArticleSuccess { + let __typename: TypeName = .setShareArticleSuccess + let updatedArticle: [String: Objects.Article] + let updatedFeedArticle: [String: Objects.FeedArticle] + let updatedFeedArticleId: [String: String] - enum TypeName: String, Codable { - case setShareArticleSuccess = "SetShareArticleSuccess" + enum TypeName: String, Codable { + case setShareArticleSuccess = "SetShareArticleSuccess" + } } - } } extension Objects.SetShareArticleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "updatedArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "updatedArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedFeedArticle": + if let value = try container.decode(Objects.FeedArticle?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedFeedArticleId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "updatedFeedArticle": - if let value = try container.decode(Objects.FeedArticle?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedFeedArticleId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + updatedArticle = map["updatedArticle"] + updatedFeedArticle = map["updatedFeedArticle"] + updatedFeedArticleId = map["updatedFeedArticleId"] } - - updatedArticle = map["updatedArticle"] - updatedFeedArticle = map["updatedFeedArticle"] - updatedFeedArticleId = map["updatedFeedArticleId"] - } } extension Fields where TypeLock == Objects.SetShareArticleSuccess { - func updatedArticle(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatedArticle", - arguments: [], - selection: selection.selection - ) - select(field) + func updatedArticle(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatedArticle", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updatedArticle[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updatedArticle[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func updatedFeedArticle(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatedFeedArticle", - arguments: [], - selection: selection.selection - ) - select(field) + func updatedFeedArticle(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatedFeedArticle", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.updatedFeedArticle[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.updatedFeedArticle[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func updatedFeedArticleId() throws -> String? { - let field = GraphQLField.leaf( - name: "updatedFeedArticleId", - arguments: [] - ) - select(field) + func updatedFeedArticleId() throws -> String? { + let field = GraphQLField.leaf( + name: "updatedFeedArticleId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedFeedArticleId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedFeedArticleId[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetShareArticleSuccess = Selection + typealias SetShareArticleSuccess = Selection } extension Objects { - struct SetShareHighlightError { - let __typename: TypeName = .setShareHighlightError - let errorCodes: [String: [Enums.SetShareHighlightErrorCode]] + struct SetShareHighlightError { + let __typename: TypeName = .setShareHighlightError + let errorCodes: [String: [Enums.SetShareHighlightErrorCode]] - enum TypeName: String, Codable { - case setShareHighlightError = "SetShareHighlightError" + enum TypeName: String, Codable { + case setShareHighlightError = "SetShareHighlightError" + } } - } } extension Objects.SetShareHighlightError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetShareHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetShareHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetShareHighlightError { - func errorCodes() throws -> [Enums.SetShareHighlightErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetShareHighlightErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetShareHighlightError = Selection + typealias SetShareHighlightError = Selection } extension Objects { - struct SetShareHighlightSuccess { - let __typename: TypeName = .setShareHighlightSuccess - let highlight: [String: Objects.Highlight] + struct SetShareHighlightSuccess { + let __typename: TypeName = .setShareHighlightSuccess + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case setShareHighlightSuccess = "SetShareHighlightSuccess" + enum TypeName: String, Codable { + case setShareHighlightSuccess = "SetShareHighlightSuccess" + } } - } } extension Objects.SetShareHighlightSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlight = map["highlight"] - } + highlight = map["highlight"] + } } extension Fields where TypeLock == Objects.SetShareHighlightSuccess { - func highlight(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlight", - arguments: [], - selection: selection.selection - ) - select(field) + func highlight(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlight", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetShareHighlightSuccess = Selection + typealias SetShareHighlightSuccess = Selection } extension Objects { - struct SetUserPersonalizationError { - let __typename: TypeName = .setUserPersonalizationError - let errorCodes: [String: [Enums.SetUserPersonalizationErrorCode]] + struct SetUserPersonalizationError { + let __typename: TypeName = .setUserPersonalizationError + let errorCodes: [String: [Enums.SetUserPersonalizationErrorCode]] - enum TypeName: String, Codable { - case setUserPersonalizationError = "SetUserPersonalizationError" + enum TypeName: String, Codable { + case setUserPersonalizationError = "SetUserPersonalizationError" + } } - } } extension Objects.SetUserPersonalizationError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetUserPersonalizationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetUserPersonalizationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetUserPersonalizationError { - func errorCodes() throws -> [Enums.SetUserPersonalizationErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetUserPersonalizationErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetUserPersonalizationError = Selection + typealias SetUserPersonalizationError = Selection } extension Objects { - struct SetUserPersonalizationSuccess { - let __typename: TypeName = .setUserPersonalizationSuccess - let updatedUserPersonalization: [String: Objects.UserPersonalization] + struct SetUserPersonalizationSuccess { + let __typename: TypeName = .setUserPersonalizationSuccess + let updatedUserPersonalization: [String: Objects.UserPersonalization] - enum TypeName: String, Codable { - case setUserPersonalizationSuccess = "SetUserPersonalizationSuccess" + enum TypeName: String, Codable { + case setUserPersonalizationSuccess = "SetUserPersonalizationSuccess" + } } - } } extension Objects.SetUserPersonalizationSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "updatedUserPersonalization": - if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "updatedUserPersonalization": + if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - updatedUserPersonalization = map["updatedUserPersonalization"] - } + updatedUserPersonalization = map["updatedUserPersonalization"] + } } extension Fields where TypeLock == Objects.SetUserPersonalizationSuccess { - func updatedUserPersonalization(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatedUserPersonalization", - arguments: [], - selection: selection.selection - ) - select(field) + func updatedUserPersonalization(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatedUserPersonalization", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updatedUserPersonalization[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updatedUserPersonalization[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetUserPersonalizationSuccess = Selection + typealias SetUserPersonalizationSuccess = Selection } extension Objects { - struct SetWebhookError { - let __typename: TypeName = .setWebhookError - let errorCodes: [String: [Enums.SetWebhookErrorCode]] + struct SetWebhookError { + let __typename: TypeName = .setWebhookError + let errorCodes: [String: [Enums.SetWebhookErrorCode]] - enum TypeName: String, Codable { - case setWebhookError = "SetWebhookError" + enum TypeName: String, Codable { + case setWebhookError = "SetWebhookError" + } } - } } extension Objects.SetWebhookError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetWebhookErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetWebhookErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SetWebhookError { - func errorCodes() throws -> [Enums.SetWebhookErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SetWebhookErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetWebhookError = Selection + typealias SetWebhookError = Selection } extension Objects { - struct SetWebhookSuccess { - let __typename: TypeName = .setWebhookSuccess - let webhook: [String: Objects.Webhook] + struct SetWebhookSuccess { + let __typename: TypeName = .setWebhookSuccess + let webhook: [String: Objects.Webhook] - enum TypeName: String, Codable { - case setWebhookSuccess = "SetWebhookSuccess" + enum TypeName: String, Codable { + case setWebhookSuccess = "SetWebhookSuccess" + } } - } } extension Objects.SetWebhookSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "webhook": - if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "webhook": + if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - webhook = map["webhook"] - } + webhook = map["webhook"] + } } extension Fields where TypeLock == Objects.SetWebhookSuccess { - func webhook(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "webhook", - arguments: [], - selection: selection.selection - ) - select(field) + func webhook(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "webhook", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.webhook[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.webhook[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetWebhookSuccess = Selection + typealias SetWebhookSuccess = Selection } extension Objects { - struct ShareStats { - let __typename: TypeName = .shareStats - let readDuration: [String: Int] - let saveCount: [String: Int] - let viewCount: [String: Int] + struct ShareStats { + let __typename: TypeName = .shareStats + let readDuration: [String: Int] + let saveCount: [String: Int] + let viewCount: [String: Int] - enum TypeName: String, Codable { - case shareStats = "ShareStats" + enum TypeName: String, Codable { + case shareStats = "ShareStats" + } } - } } extension Objects.ShareStats: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "readDuration": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "readDuration": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "saveCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "viewCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "saveCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "viewCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + readDuration = map["readDuration"] + saveCount = map["saveCount"] + viewCount = map["viewCount"] } - - readDuration = map["readDuration"] - saveCount = map["saveCount"] - viewCount = map["viewCount"] - } } extension Fields where TypeLock == Objects.ShareStats { - func readDuration() throws -> Int { - let field = GraphQLField.leaf( - name: "readDuration", - arguments: [] - ) - select(field) + func readDuration() throws -> Int { + let field = GraphQLField.leaf( + name: "readDuration", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.readDuration[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.readDuration[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } - func saveCount() throws -> Int { - let field = GraphQLField.leaf( - name: "saveCount", - arguments: [] - ) - select(field) + func saveCount() throws -> Int { + let field = GraphQLField.leaf( + name: "saveCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.saveCount[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.saveCount[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } - func viewCount() throws -> Int { - let field = GraphQLField.leaf( - name: "viewCount", - arguments: [] - ) - select(field) + func viewCount() throws -> Int { + let field = GraphQLField.leaf( + name: "viewCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.viewCount[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.viewCount[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ShareStats = Selection + typealias ShareStats = Selection } extension Objects { - struct SharedArticleError { - let __typename: TypeName = .sharedArticleError - let errorCodes: [String: [Enums.SharedArticleErrorCode]] + struct SharedArticleError { + let __typename: TypeName = .sharedArticleError + let errorCodes: [String: [Enums.SharedArticleErrorCode]] - enum TypeName: String, Codable { - case sharedArticleError = "SharedArticleError" + enum TypeName: String, Codable { + case sharedArticleError = "SharedArticleError" + } } - } } extension Objects.SharedArticleError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SharedArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SharedArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SharedArticleError { - func errorCodes() throws -> [Enums.SharedArticleErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SharedArticleErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SharedArticleError = Selection + typealias SharedArticleError = Selection } extension Objects { - struct SharedArticleSuccess { - let __typename: TypeName = .sharedArticleSuccess - let article: [String: Objects.Article] + struct SharedArticleSuccess { + let __typename: TypeName = .sharedArticleSuccess + let article: [String: Objects.Article] - enum TypeName: String, Codable { - case sharedArticleSuccess = "SharedArticleSuccess" + enum TypeName: String, Codable { + case sharedArticleSuccess = "SharedArticleSuccess" + } } - } } extension Objects.SharedArticleSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "article": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "article": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - article = map["article"] - } + article = map["article"] + } } extension Fields where TypeLock == Objects.SharedArticleSuccess { - func article(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "article", - arguments: [], - selection: selection.selection - ) - select(field) + func article(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "article", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.article[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.article[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SharedArticleSuccess = Selection + typealias SharedArticleSuccess = Selection } extension Objects { - struct SubscribeError { - let __typename: TypeName = .subscribeError - let errorCodes: [String: [Enums.SubscribeErrorCode]] + struct SubscribeError { + let __typename: TypeName = .subscribeError + let errorCodes: [String: [Enums.SubscribeErrorCode]] - enum TypeName: String, Codable { - case subscribeError = "SubscribeError" + enum TypeName: String, Codable { + case subscribeError = "SubscribeError" + } } - } } extension Objects.SubscribeError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SubscribeErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SubscribeErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SubscribeError { - func errorCodes() throws -> [Enums.SubscribeErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SubscribeErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SubscribeError = Selection + typealias SubscribeError = Selection } extension Objects { - struct SubscribeSuccess { - let __typename: TypeName = .subscribeSuccess - let subscriptions: [String: [Objects.Subscription]] + struct SubscribeSuccess { + let __typename: TypeName = .subscribeSuccess + let subscriptions: [String: [Objects.Subscription]] - enum TypeName: String, Codable { - case subscribeSuccess = "SubscribeSuccess" + enum TypeName: String, Codable { + case subscribeSuccess = "SubscribeSuccess" + } } - } } extension Objects.SubscribeSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "subscriptions": - if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "subscriptions": + if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - subscriptions = map["subscriptions"] - } + subscriptions = map["subscriptions"] + } } extension Fields where TypeLock == Objects.SubscribeSuccess { - func subscriptions(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "subscriptions", - arguments: [], - selection: selection.selection - ) - select(field) + func subscriptions(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "subscriptions", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subscriptions[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.subscriptions[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SubscribeSuccess = Selection + typealias SubscribeSuccess = Selection } extension Objects { - struct Subscription { - let __typename: TypeName = .subscription - let autoAddToLibrary: [String: Bool] - let count: [String: Int] - let createdAt: [String: DateTime] - let description: [String: String] - let fetchContent: [String: Bool] - let folder: [String: String] - let icon: [String: String] - let id: [String: String] - let isPrivate: [String: Bool] - let lastFetchedAt: [String: DateTime] - let name: [String: String] - let newsletterEmail: [String: String] - let status: [String: Enums.SubscriptionStatus] - let type: [String: Enums.SubscriptionType] - let unsubscribeHttpUrl: [String: String] - let unsubscribeMailTo: [String: String] - let updatedAt: [String: DateTime] - let url: [String: String] + struct Subscription { + let __typename: TypeName = .subscription + let autoAddToLibrary: [String: Bool] + let count: [String: Int] + let createdAt: [String: DateTime] + let description: [String: String] + let failedAt: [String: DateTime] + let fetchContent: [String: Bool] + let folder: [String: String] + let icon: [String: String] + let id: [String: String] + let isPrivate: [String: Bool] + let lastFetchedAt: [String: DateTime] + let mostRecentItemDate: [String: DateTime] + let name: [String: String] + let newsletterEmail: [String: String] + let refreshedAt: [String: DateTime] + let status: [String: Enums.SubscriptionStatus] + let type: [String: Enums.SubscriptionType] + let unsubscribeHttpUrl: [String: String] + let unsubscribeMailTo: [String: String] + let updatedAt: [String: DateTime] + let url: [String: String] - enum TypeName: String, Codable { - case subscription = "Subscription" + enum TypeName: String, Codable { + case subscription = "Subscription" + } } - } } extension Objects.Subscription: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "autoAddToLibrary": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "autoAddToLibrary": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "count": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "description": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "failedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "fetchContent": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "folder": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "icon": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "isPrivate": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "lastFetchedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "mostRecentItemDate": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "newsletterEmail": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "refreshedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "status": + if let value = try container.decode(Enums.SubscriptionStatus?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "type": + if let value = try container.decode(Enums.SubscriptionType?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "unsubscribeHttpUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "unsubscribeMailTo": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "count": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "description": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "fetchContent": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "folder": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "icon": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "isPrivate": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "lastFetchedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "newsletterEmail": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "status": - if let value = try container.decode(Enums.SubscriptionStatus?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "type": - if let value = try container.decode(Enums.SubscriptionType?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "unsubscribeHttpUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "unsubscribeMailTo": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + autoAddToLibrary = map["autoAddToLibrary"] + count = map["count"] + createdAt = map["createdAt"] + description = map["description"] + failedAt = map["failedAt"] + fetchContent = map["fetchContent"] + folder = map["folder"] + icon = map["icon"] + id = map["id"] + isPrivate = map["isPrivate"] + lastFetchedAt = map["lastFetchedAt"] + mostRecentItemDate = map["mostRecentItemDate"] + name = map["name"] + newsletterEmail = map["newsletterEmail"] + refreshedAt = map["refreshedAt"] + status = map["status"] + type = map["type"] + unsubscribeHttpUrl = map["unsubscribeHttpUrl"] + unsubscribeMailTo = map["unsubscribeMailTo"] + updatedAt = map["updatedAt"] + url = map["url"] } - - autoAddToLibrary = map["autoAddToLibrary"] - count = map["count"] - createdAt = map["createdAt"] - description = map["description"] - fetchContent = map["fetchContent"] - folder = map["folder"] - icon = map["icon"] - id = map["id"] - isPrivate = map["isPrivate"] - lastFetchedAt = map["lastFetchedAt"] - name = map["name"] - newsletterEmail = map["newsletterEmail"] - status = map["status"] - type = map["type"] - unsubscribeHttpUrl = map["unsubscribeHttpUrl"] - unsubscribeMailTo = map["unsubscribeMailTo"] - updatedAt = map["updatedAt"] - url = map["url"] - } } extension Fields where TypeLock == Objects.Subscription { - func autoAddToLibrary() throws -> Bool? { - let field = GraphQLField.leaf( - name: "autoAddToLibrary", - arguments: [] - ) - select(field) + func autoAddToLibrary() throws -> Bool? { + let field = GraphQLField.leaf( + name: "autoAddToLibrary", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.autoAddToLibrary[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.autoAddToLibrary[field.alias!] + case .mocking: + return nil + } } - } - func count() throws -> Int { - let field = GraphQLField.leaf( - name: "count", - arguments: [] - ) - select(field) + func count() throws -> Int { + let field = GraphQLField.leaf( + name: "count", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.count[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Int.mockValue + switch response { + case let .decoding(data): + if let data = data.count[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Int.mockValue + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func description() throws -> String? { - let field = GraphQLField.leaf( - name: "description", - arguments: [] - ) - select(field) + func description() throws -> String? { + let field = GraphQLField.leaf( + name: "description", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.description[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.description[field.alias!] + case .mocking: + return nil + } } - } - func fetchContent() throws -> Bool { - let field = GraphQLField.leaf( - name: "fetchContent", - arguments: [] - ) - select(field) + func failedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "failedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.fetchContent[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + return data.failedAt[field.alias!] + case .mocking: + return nil + } } - } - func folder() throws -> String { - let field = GraphQLField.leaf( - name: "folder", - arguments: [] - ) - select(field) + func fetchContent() throws -> Bool { + let field = GraphQLField.leaf( + name: "fetchContent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.folder[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.fetchContent[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func icon() throws -> String? { - let field = GraphQLField.leaf( - name: "icon", - arguments: [] - ) - select(field) + func folder() throws -> String { + let field = GraphQLField.leaf( + name: "folder", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.icon[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + if let data = data.folder[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func icon() throws -> String? { + let field = GraphQLField.leaf( + name: "icon", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + return data.icon[field.alias!] + case .mocking: + return nil + } } - } - func isPrivate() throws -> Bool? { - let field = GraphQLField.leaf( - name: "isPrivate", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.isPrivate[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func lastFetchedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "lastFetchedAt", - arguments: [] - ) - select(field) + func isPrivate() throws -> Bool? { + let field = GraphQLField.leaf( + name: "isPrivate", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.lastFetchedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.isPrivate[field.alias!] + case .mocking: + return nil + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func lastFetchedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "lastFetchedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + return data.lastFetchedAt[field.alias!] + case .mocking: + return nil + } } - } - func newsletterEmail() throws -> String? { - let field = GraphQLField.leaf( - name: "newsletterEmail", - arguments: [] - ) - select(field) + func mostRecentItemDate() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "mostRecentItemDate", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.newsletterEmail[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.mostRecentItemDate[field.alias!] + case .mocking: + return nil + } } - } - func status() throws -> Enums.SubscriptionStatus { - let field = GraphQLField.leaf( - name: "status", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.status[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.SubscriptionStatus.allCases.first! + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func type() throws -> Enums.SubscriptionType { - let field = GraphQLField.leaf( - name: "type", - arguments: [] - ) - select(field) + func newsletterEmail() throws -> String? { + let field = GraphQLField.leaf( + name: "newsletterEmail", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.type[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.SubscriptionType.allCases.first! + switch response { + case let .decoding(data): + return data.newsletterEmail[field.alias!] + case .mocking: + return nil + } } - } - func unsubscribeHttpUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "unsubscribeHttpUrl", - arguments: [] - ) - select(field) + func refreshedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "refreshedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.unsubscribeHttpUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.refreshedAt[field.alias!] + case .mocking: + return nil + } } - } - func unsubscribeMailTo() throws -> String? { - let field = GraphQLField.leaf( - name: "unsubscribeMailTo", - arguments: [] - ) - select(field) + func status() throws -> Enums.SubscriptionStatus { + let field = GraphQLField.leaf( + name: "status", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.unsubscribeMailTo[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + if let data = data.status[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.SubscriptionStatus.allCases.first! + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func type() throws -> Enums.SubscriptionType { + let field = GraphQLField.leaf( + name: "type", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + if let data = data.type[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.SubscriptionType.allCases.first! + } } - } - func url() throws -> String? { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func unsubscribeHttpUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "unsubscribeHttpUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.url[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.unsubscribeHttpUrl[field.alias!] + case .mocking: + return nil + } + } + + func unsubscribeMailTo() throws -> String? { + let field = GraphQLField.leaf( + name: "unsubscribeMailTo", + arguments: [] + ) + select(field) + + switch response { + case let .decoding(data): + return data.unsubscribeMailTo[field.alias!] + case .mocking: + return nil + } + } + + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) + + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } + } + + func url() throws -> String? { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) + + switch response { + case let .decoding(data): + return data.url[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Subscription = Selection + typealias Subscription = Selection } extension Objects { - struct SubscriptionsError { - let __typename: TypeName = .subscriptionsError - let errorCodes: [String: [Enums.SubscriptionsErrorCode]] + struct SubscriptionsError { + let __typename: TypeName = .subscriptionsError + let errorCodes: [String: [Enums.SubscriptionsErrorCode]] - enum TypeName: String, Codable { - case subscriptionsError = "SubscriptionsError" + enum TypeName: String, Codable { + case subscriptionsError = "SubscriptionsError" + } } - } } extension Objects.SubscriptionsError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SubscriptionsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SubscriptionsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.SubscriptionsError { - func errorCodes() throws -> [Enums.SubscriptionsErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.SubscriptionsErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SubscriptionsError = Selection + typealias SubscriptionsError = Selection } extension Objects { - struct SubscriptionsSuccess { - let __typename: TypeName = .subscriptionsSuccess - let subscriptions: [String: [Objects.Subscription]] + struct SubscriptionsSuccess { + let __typename: TypeName = .subscriptionsSuccess + let subscriptions: [String: [Objects.Subscription]] - enum TypeName: String, Codable { - case subscriptionsSuccess = "SubscriptionsSuccess" + enum TypeName: String, Codable { + case subscriptionsSuccess = "SubscriptionsSuccess" + } } - } } extension Objects.SubscriptionsSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "subscriptions": - if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "subscriptions": + if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - subscriptions = map["subscriptions"] - } + subscriptions = map["subscriptions"] + } } extension Fields where TypeLock == Objects.SubscriptionsSuccess { - func subscriptions(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "subscriptions", - arguments: [], - selection: selection.selection - ) - select(field) + func subscriptions(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "subscriptions", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subscriptions[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.subscriptions[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SubscriptionsSuccess = Selection + typealias SubscriptionsSuccess = Selection } extension Objects { - struct SyncUpdatedItemEdge { - let __typename: TypeName = .syncUpdatedItemEdge - let cursor: [String: String] - let itemId: [String: String] - let node: [String: Objects.SearchItem] - let updateReason: [String: Enums.UpdateReason] + struct SyncUpdatedItemEdge { + let __typename: TypeName = .syncUpdatedItemEdge + let cursor: [String: String] + let itemId: [String: String] + let node: [String: Objects.SearchItem] + let updateReason: [String: Enums.UpdateReason] - enum TypeName: String, Codable { - case syncUpdatedItemEdge = "SyncUpdatedItemEdge" + enum TypeName: String, Codable { + case syncUpdatedItemEdge = "SyncUpdatedItemEdge" + } } - } } extension Objects.SyncUpdatedItemEdge: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "cursor": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "cursor": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "itemId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "node": + if let value = try container.decode(Objects.SearchItem?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updateReason": + if let value = try container.decode(Enums.UpdateReason?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "itemId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "node": - if let value = try container.decode(Objects.SearchItem?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updateReason": - if let value = try container.decode(Enums.UpdateReason?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + cursor = map["cursor"] + itemId = map["itemId"] + node = map["node"] + updateReason = map["updateReason"] } - - cursor = map["cursor"] - itemId = map["itemId"] - node = map["node"] - updateReason = map["updateReason"] - } } extension Fields where TypeLock == Objects.SyncUpdatedItemEdge { - func cursor() throws -> String { - let field = GraphQLField.leaf( - name: "cursor", - arguments: [] - ) - select(field) + func cursor() throws -> String { + let field = GraphQLField.leaf( + name: "cursor", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.cursor[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.cursor[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func itemId() throws -> String { - let field = GraphQLField.leaf( - name: "itemID", - arguments: [] - ) - select(field) + func itemId() throws -> String { + let field = GraphQLField.leaf( + name: "itemID", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.itemId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.itemId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func node(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "node", - arguments: [], - selection: selection.selection - ) - select(field) + func node(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "node", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - return try selection.decode(data: data.node[field.alias!]) - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + return try selection.decode(data: data.node[field.alias!]) + case .mocking: + return selection.mock() + } } - } - func updateReason() throws -> Enums.UpdateReason { - let field = GraphQLField.leaf( - name: "updateReason", - arguments: [] - ) - select(field) + func updateReason() throws -> Enums.UpdateReason { + let field = GraphQLField.leaf( + name: "updateReason", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updateReason[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.UpdateReason.allCases.first! + switch response { + case let .decoding(data): + if let data = data.updateReason[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.UpdateReason.allCases.first! + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SyncUpdatedItemEdge = Selection + typealias SyncUpdatedItemEdge = Selection } extension Objects { - struct TypeaheadSearchError { - let __typename: TypeName = .typeaheadSearchError - let errorCodes: [String: [Enums.TypeaheadSearchErrorCode]] + struct TypeaheadSearchError { + let __typename: TypeName = .typeaheadSearchError + let errorCodes: [String: [Enums.TypeaheadSearchErrorCode]] - enum TypeName: String, Codable { - case typeaheadSearchError = "TypeaheadSearchError" + enum TypeName: String, Codable { + case typeaheadSearchError = "TypeaheadSearchError" + } } - } } extension Objects.TypeaheadSearchError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.TypeaheadSearchErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.TypeaheadSearchErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.TypeaheadSearchError { - func errorCodes() throws -> [Enums.TypeaheadSearchErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.TypeaheadSearchErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias TypeaheadSearchError = Selection + typealias TypeaheadSearchError = Selection } extension Objects { - struct TypeaheadSearchItem { - let __typename: TypeName = .typeaheadSearchItem - let contentReader: [String: Enums.ContentReader] - let id: [String: String] - let siteName: [String: String] - let slug: [String: String] - let title: [String: String] + struct TypeaheadSearchItem { + let __typename: TypeName = .typeaheadSearchItem + let contentReader: [String: Enums.ContentReader] + let id: [String: String] + let siteName: [String: String] + let slug: [String: String] + let title: [String: String] - enum TypeName: String, Codable { - case typeaheadSearchItem = "TypeaheadSearchItem" + enum TypeName: String, Codable { + case typeaheadSearchItem = "TypeaheadSearchItem" + } } - } } extension Objects.TypeaheadSearchItem: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "contentReader": - if let value = try container.decode(Enums.ContentReader?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "contentReader": + if let value = try container.decode(Enums.ContentReader?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "siteName": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "slug": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "title": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "siteName": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "slug": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "title": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + contentReader = map["contentReader"] + id = map["id"] + siteName = map["siteName"] + slug = map["slug"] + title = map["title"] } - - contentReader = map["contentReader"] - id = map["id"] - siteName = map["siteName"] - slug = map["slug"] - title = map["title"] - } } extension Fields where TypeLock == Objects.TypeaheadSearchItem { - func contentReader() throws -> Enums.ContentReader { - let field = GraphQLField.leaf( - name: "contentReader", - arguments: [] - ) - select(field) + func contentReader() throws -> Enums.ContentReader { + let field = GraphQLField.leaf( + name: "contentReader", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.contentReader[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Enums.ContentReader.allCases.first! + switch response { + case let .decoding(data): + if let data = data.contentReader[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Enums.ContentReader.allCases.first! + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func siteName() throws -> String? { - let field = GraphQLField.leaf( - name: "siteName", - arguments: [] - ) - select(field) + func siteName() throws -> String? { + let field = GraphQLField.leaf( + name: "siteName", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.siteName[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.siteName[field.alias!] + case .mocking: + return nil + } } - } - func slug() throws -> String { - let field = GraphQLField.leaf( - name: "slug", - arguments: [] - ) - select(field) + func slug() throws -> String { + let field = GraphQLField.leaf( + name: "slug", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.slug[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.slug[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func title() throws -> String { - let field = GraphQLField.leaf( - name: "title", - arguments: [] - ) - select(field) + func title() throws -> String { + let field = GraphQLField.leaf( + name: "title", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.title[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.title[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias TypeaheadSearchItem = Selection + typealias TypeaheadSearchItem = Selection } extension Objects { - struct TypeaheadSearchSuccess { - let __typename: TypeName = .typeaheadSearchSuccess - let items: [String: [Objects.TypeaheadSearchItem]] + struct TypeaheadSearchSuccess { + let __typename: TypeName = .typeaheadSearchSuccess + let items: [String: [Objects.TypeaheadSearchItem]] - enum TypeName: String, Codable { - case typeaheadSearchSuccess = "TypeaheadSearchSuccess" + enum TypeName: String, Codable { + case typeaheadSearchSuccess = "TypeaheadSearchSuccess" + } } - } } extension Objects.TypeaheadSearchSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "items": - if let value = try container.decode([Objects.TypeaheadSearchItem]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "items": + if let value = try container.decode([Objects.TypeaheadSearchItem]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - items = map["items"] - } + items = map["items"] + } } extension Fields where TypeLock == Objects.TypeaheadSearchSuccess { - func items(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "items", - arguments: [], - selection: selection.selection - ) - select(field) + func items(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "items", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.items[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.items[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias TypeaheadSearchSuccess = Selection + typealias TypeaheadSearchSuccess = Selection } extension Objects { - struct UnsubscribeError { - let __typename: TypeName = .unsubscribeError - let errorCodes: [String: [Enums.UnsubscribeErrorCode]] + struct UnsubscribeError { + let __typename: TypeName = .unsubscribeError + let errorCodes: [String: [Enums.UnsubscribeErrorCode]] - enum TypeName: String, Codable { - case unsubscribeError = "UnsubscribeError" + enum TypeName: String, Codable { + case unsubscribeError = "UnsubscribeError" + } } - } } extension Objects.UnsubscribeError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UnsubscribeErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UnsubscribeErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UnsubscribeError { - func errorCodes() throws -> [Enums.UnsubscribeErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UnsubscribeErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UnsubscribeError = Selection + typealias UnsubscribeError = Selection } extension Objects { - struct UnsubscribeSuccess { - let __typename: TypeName = .unsubscribeSuccess - let subscription: [String: Objects.Subscription] + struct UnsubscribeSuccess { + let __typename: TypeName = .unsubscribeSuccess + let subscription: [String: Objects.Subscription] - enum TypeName: String, Codable { - case unsubscribeSuccess = "UnsubscribeSuccess" + enum TypeName: String, Codable { + case unsubscribeSuccess = "UnsubscribeSuccess" + } } - } } extension Objects.UnsubscribeSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "subscription": - if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "subscription": + if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - subscription = map["subscription"] - } + subscription = map["subscription"] + } } extension Fields where TypeLock == Objects.UnsubscribeSuccess { - func subscription(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "subscription", - arguments: [], - selection: selection.selection - ) - select(field) + func subscription(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "subscription", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subscription[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.subscription[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UnsubscribeSuccess = Selection + typealias UnsubscribeSuccess = Selection } extension Objects { - struct UpdateEmailError { - let __typename: TypeName = .updateEmailError - let errorCodes: [String: [Enums.UpdateEmailErrorCode]] + struct UpdateEmailError { + let __typename: TypeName = .updateEmailError + let errorCodes: [String: [Enums.UpdateEmailErrorCode]] - enum TypeName: String, Codable { - case updateEmailError = "UpdateEmailError" + enum TypeName: String, Codable { + case updateEmailError = "UpdateEmailError" + } } - } } extension Objects.UpdateEmailError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateEmailError { - func errorCodes() throws -> [Enums.UpdateEmailErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateEmailErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateEmailError = Selection + typealias UpdateEmailError = Selection } extension Objects { - struct UpdateEmailSuccess { - let __typename: TypeName = .updateEmailSuccess - let email: [String: String] - let verificationEmailSent: [String: Bool] + struct UpdateEmailSuccess { + let __typename: TypeName = .updateEmailSuccess + let email: [String: String] + let verificationEmailSent: [String: Bool] - enum TypeName: String, Codable { - case updateEmailSuccess = "UpdateEmailSuccess" + enum TypeName: String, Codable { + case updateEmailSuccess = "UpdateEmailSuccess" + } } - } } extension Objects.UpdateEmailSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "email": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "email": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "verificationEmailSent": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "verificationEmailSent": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + email = map["email"] + verificationEmailSent = map["verificationEmailSent"] } - - email = map["email"] - verificationEmailSent = map["verificationEmailSent"] - } } extension Fields where TypeLock == Objects.UpdateEmailSuccess { - func email() throws -> String { - let field = GraphQLField.leaf( - name: "email", - arguments: [] - ) - select(field) + func email() throws -> String { + let field = GraphQLField.leaf( + name: "email", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.email[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.email[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func verificationEmailSent() throws -> Bool? { - let field = GraphQLField.leaf( - name: "verificationEmailSent", - arguments: [] - ) - select(field) + func verificationEmailSent() throws -> Bool? { + let field = GraphQLField.leaf( + name: "verificationEmailSent", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.verificationEmailSent[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.verificationEmailSent[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateEmailSuccess = Selection + typealias UpdateEmailSuccess = Selection } extension Objects { - struct UpdateFilterError { - let __typename: TypeName = .updateFilterError - let errorCodes: [String: [Enums.UpdateFilterErrorCode]] + struct UpdateFilterError { + let __typename: TypeName = .updateFilterError + let errorCodes: [String: [Enums.UpdateFilterErrorCode]] - enum TypeName: String, Codable { - case updateFilterError = "UpdateFilterError" + enum TypeName: String, Codable { + case updateFilterError = "UpdateFilterError" + } } - } } extension Objects.UpdateFilterError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateFilterError { - func errorCodes() throws -> [Enums.UpdateFilterErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateFilterErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateFilterError = Selection + typealias UpdateFilterError = Selection } extension Objects { - struct UpdateFilterSuccess { - let __typename: TypeName = .updateFilterSuccess - let filter: [String: Objects.Filter] + struct UpdateFilterSuccess { + let __typename: TypeName = .updateFilterSuccess + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case updateFilterSuccess = "UpdateFilterSuccess" + enum TypeName: String, Codable { + case updateFilterSuccess = "UpdateFilterSuccess" + } } - } } extension Objects.UpdateFilterSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - filter = map["filter"] - } + filter = map["filter"] + } } extension Fields where TypeLock == Objects.UpdateFilterSuccess { - func filter(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "filter", - arguments: [], - selection: selection.selection - ) - select(field) + func filter(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "filter", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.filter[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.filter[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateFilterSuccess = Selection + typealias UpdateFilterSuccess = Selection } extension Objects { - struct UpdateHighlightError { - let __typename: TypeName = .updateHighlightError - let errorCodes: [String: [Enums.UpdateHighlightErrorCode]] + struct UpdateHighlightError { + let __typename: TypeName = .updateHighlightError + let errorCodes: [String: [Enums.UpdateHighlightErrorCode]] - enum TypeName: String, Codable { - case updateHighlightError = "UpdateHighlightError" + enum TypeName: String, Codable { + case updateHighlightError = "UpdateHighlightError" + } } - } } extension Objects.UpdateHighlightError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateHighlightError { - func errorCodes() throws -> [Enums.UpdateHighlightErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateHighlightErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateHighlightError = Selection + typealias UpdateHighlightError = Selection } extension Objects { - struct UpdateHighlightReplyError { - let __typename: TypeName = .updateHighlightReplyError - let errorCodes: [String: [Enums.UpdateHighlightReplyErrorCode]] + struct UpdateHighlightReplyError { + let __typename: TypeName = .updateHighlightReplyError + let errorCodes: [String: [Enums.UpdateHighlightReplyErrorCode]] - enum TypeName: String, Codable { - case updateHighlightReplyError = "UpdateHighlightReplyError" + enum TypeName: String, Codable { + case updateHighlightReplyError = "UpdateHighlightReplyError" + } } - } } extension Objects.UpdateHighlightReplyError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateHighlightReplyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateHighlightReplyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateHighlightReplyError { - func errorCodes() throws -> [Enums.UpdateHighlightReplyErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateHighlightReplyErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateHighlightReplyError = Selection + typealias UpdateHighlightReplyError = Selection } extension Objects { - struct UpdateHighlightReplySuccess { - let __typename: TypeName = .updateHighlightReplySuccess - let highlightReply: [String: Objects.HighlightReply] + struct UpdateHighlightReplySuccess { + let __typename: TypeName = .updateHighlightReplySuccess + let highlightReply: [String: Objects.HighlightReply] - enum TypeName: String, Codable { - case updateHighlightReplySuccess = "UpdateHighlightReplySuccess" + enum TypeName: String, Codable { + case updateHighlightReplySuccess = "UpdateHighlightReplySuccess" + } } - } } extension Objects.UpdateHighlightReplySuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlightReply": - if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlightReply": + if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlightReply = map["highlightReply"] - } + highlightReply = map["highlightReply"] + } } extension Fields where TypeLock == Objects.UpdateHighlightReplySuccess { - func highlightReply(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlightReply", - arguments: [], - selection: selection.selection - ) - select(field) + func highlightReply(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlightReply", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlightReply[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlightReply[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateHighlightReplySuccess = Selection + typealias UpdateHighlightReplySuccess = Selection } extension Objects { - struct UpdateHighlightSuccess { - let __typename: TypeName = .updateHighlightSuccess - let highlight: [String: Objects.Highlight] + struct UpdateHighlightSuccess { + let __typename: TypeName = .updateHighlightSuccess + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case updateHighlightSuccess = "UpdateHighlightSuccess" + enum TypeName: String, Codable { + case updateHighlightSuccess = "UpdateHighlightSuccess" + } } - } } extension Objects.UpdateHighlightSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - highlight = map["highlight"] - } + highlight = map["highlight"] + } } extension Fields where TypeLock == Objects.UpdateHighlightSuccess { - func highlight(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "highlight", - arguments: [], - selection: selection.selection - ) - select(field) + func highlight(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "highlight", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.highlight[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.highlight[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateHighlightSuccess = Selection + typealias UpdateHighlightSuccess = Selection } extension Objects { - struct UpdateLabelError { - let __typename: TypeName = .updateLabelError - let errorCodes: [String: [Enums.UpdateLabelErrorCode]] + struct UpdateLabelError { + let __typename: TypeName = .updateLabelError + let errorCodes: [String: [Enums.UpdateLabelErrorCode]] - enum TypeName: String, Codable { - case updateLabelError = "UpdateLabelError" + enum TypeName: String, Codable { + case updateLabelError = "UpdateLabelError" + } } - } } extension Objects.UpdateLabelError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateLabelError { - func errorCodes() throws -> [Enums.UpdateLabelErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateLabelErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateLabelError = Selection + typealias UpdateLabelError = Selection } extension Objects { - struct UpdateLabelSuccess { - let __typename: TypeName = .updateLabelSuccess - let label: [String: Objects.Label] + struct UpdateLabelSuccess { + let __typename: TypeName = .updateLabelSuccess + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case updateLabelSuccess = "UpdateLabelSuccess" + enum TypeName: String, Codable { + case updateLabelSuccess = "UpdateLabelSuccess" + } } - } } extension Objects.UpdateLabelSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - label = map["label"] - } + label = map["label"] + } } extension Fields where TypeLock == Objects.UpdateLabelSuccess { - func label(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "label", - arguments: [], - selection: selection.selection - ) - select(field) + func label(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "label", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.label[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.label[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateLabelSuccess = Selection + typealias UpdateLabelSuccess = Selection } extension Objects { - struct UpdateLinkShareInfoError { - let __typename: TypeName = .updateLinkShareInfoError - let errorCodes: [String: [Enums.UpdateLinkShareInfoErrorCode]] + struct UpdateLinkShareInfoError { + let __typename: TypeName = .updateLinkShareInfoError + let errorCodes: [String: [Enums.UpdateLinkShareInfoErrorCode]] - enum TypeName: String, Codable { - case updateLinkShareInfoError = "UpdateLinkShareInfoError" + enum TypeName: String, Codable { + case updateLinkShareInfoError = "UpdateLinkShareInfoError" + } } - } } extension Objects.UpdateLinkShareInfoError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateLinkShareInfoErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateLinkShareInfoErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateLinkShareInfoError { - func errorCodes() throws -> [Enums.UpdateLinkShareInfoErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateLinkShareInfoErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateLinkShareInfoError = Selection + typealias UpdateLinkShareInfoError = Selection } extension Objects { - struct UpdateLinkShareInfoSuccess { - let __typename: TypeName = .updateLinkShareInfoSuccess - let message: [String: String] + struct UpdateLinkShareInfoSuccess { + let __typename: TypeName = .updateLinkShareInfoSuccess + let message: [String: String] - enum TypeName: String, Codable { - case updateLinkShareInfoSuccess = "UpdateLinkShareInfoSuccess" + enum TypeName: String, Codable { + case updateLinkShareInfoSuccess = "UpdateLinkShareInfoSuccess" + } } - } } extension Objects.UpdateLinkShareInfoSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - message = map["message"] - } + message = map["message"] + } } extension Fields where TypeLock == Objects.UpdateLinkShareInfoSuccess { - func message() throws -> String { - let field = GraphQLField.leaf( - name: "message", - arguments: [] - ) - select(field) + func message() throws -> String { + let field = GraphQLField.leaf( + name: "message", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.message[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.message[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateLinkShareInfoSuccess = Selection + typealias UpdateLinkShareInfoSuccess = Selection } extension Objects { - struct UpdateNewsletterEmailError { - let __typename: TypeName = .updateNewsletterEmailError - let errorCodes: [String: [Enums.UpdateNewsletterEmailErrorCode]] + struct UpdateNewsletterEmailError { + let __typename: TypeName = .updateNewsletterEmailError + let errorCodes: [String: [Enums.UpdateNewsletterEmailErrorCode]] - enum TypeName: String, Codable { - case updateNewsletterEmailError = "UpdateNewsletterEmailError" + enum TypeName: String, Codable { + case updateNewsletterEmailError = "UpdateNewsletterEmailError" + } } - } } extension Objects.UpdateNewsletterEmailError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateNewsletterEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateNewsletterEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateNewsletterEmailError { - func errorCodes() throws -> [Enums.UpdateNewsletterEmailErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateNewsletterEmailErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateNewsletterEmailError = Selection + typealias UpdateNewsletterEmailError = Selection } extension Objects { - struct UpdateNewsletterEmailSuccess { - let __typename: TypeName = .updateNewsletterEmailSuccess - let newsletterEmail: [String: Objects.NewsletterEmail] + struct UpdateNewsletterEmailSuccess { + let __typename: TypeName = .updateNewsletterEmailSuccess + let newsletterEmail: [String: Objects.NewsletterEmail] - enum TypeName: String, Codable { - case updateNewsletterEmailSuccess = "UpdateNewsletterEmailSuccess" + enum TypeName: String, Codable { + case updateNewsletterEmailSuccess = "UpdateNewsletterEmailSuccess" + } } - } } extension Objects.UpdateNewsletterEmailSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "newsletterEmail": - if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "newsletterEmail": + if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - newsletterEmail = map["newsletterEmail"] - } + newsletterEmail = map["newsletterEmail"] + } } extension Fields where TypeLock == Objects.UpdateNewsletterEmailSuccess { - func newsletterEmail(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "newsletterEmail", - arguments: [], - selection: selection.selection - ) - select(field) + func newsletterEmail(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "newsletterEmail", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.newsletterEmail[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.newsletterEmail[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateNewsletterEmailSuccess = Selection + typealias UpdateNewsletterEmailSuccess = Selection } extension Objects { - struct UpdatePageError { - let __typename: TypeName = .updatePageError - let errorCodes: [String: [Enums.UpdatePageErrorCode]] + struct UpdatePageError { + let __typename: TypeName = .updatePageError + let errorCodes: [String: [Enums.UpdatePageErrorCode]] - enum TypeName: String, Codable { - case updatePageError = "UpdatePageError" + enum TypeName: String, Codable { + case updatePageError = "UpdatePageError" + } } - } } extension Objects.UpdatePageError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdatePageErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdatePageErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdatePageError { - func errorCodes() throws -> [Enums.UpdatePageErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdatePageErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdatePageError = Selection + typealias UpdatePageError = Selection } extension Objects { - struct UpdatePageSuccess { - let __typename: TypeName = .updatePageSuccess - let updatedPage: [String: Objects.Article] + struct UpdatePageSuccess { + let __typename: TypeName = .updatePageSuccess + let updatedPage: [String: Objects.Article] - enum TypeName: String, Codable { - case updatePageSuccess = "UpdatePageSuccess" + enum TypeName: String, Codable { + case updatePageSuccess = "UpdatePageSuccess" + } } - } } extension Objects.UpdatePageSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "updatedPage": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "updatedPage": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - updatedPage = map["updatedPage"] - } + updatedPage = map["updatedPage"] + } } extension Fields where TypeLock == Objects.UpdatePageSuccess { - func updatedPage(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "updatedPage", - arguments: [], - selection: selection.selection - ) - select(field) + func updatedPage(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "updatedPage", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.updatedPage[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.updatedPage[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdatePageSuccess = Selection + typealias UpdatePageSuccess = Selection } extension Objects { - struct UpdateReminderError { - let __typename: TypeName = .updateReminderError - let errorCodes: [String: [Enums.UpdateReminderErrorCode]] + struct UpdateReminderError { + let __typename: TypeName = .updateReminderError + let errorCodes: [String: [Enums.UpdateReminderErrorCode]] - enum TypeName: String, Codable { - case updateReminderError = "UpdateReminderError" + enum TypeName: String, Codable { + case updateReminderError = "UpdateReminderError" + } } - } } extension Objects.UpdateReminderError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateReminderError { - func errorCodes() throws -> [Enums.UpdateReminderErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateReminderErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateReminderError = Selection + typealias UpdateReminderError = Selection } extension Objects { - struct UpdateReminderSuccess { - let __typename: TypeName = .updateReminderSuccess - let reminder: [String: Objects.Reminder] + struct UpdateReminderSuccess { + let __typename: TypeName = .updateReminderSuccess + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case updateReminderSuccess = "UpdateReminderSuccess" + enum TypeName: String, Codable { + case updateReminderSuccess = "UpdateReminderSuccess" + } } - } } extension Objects.UpdateReminderSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - reminder = map["reminder"] - } + reminder = map["reminder"] + } } extension Fields where TypeLock == Objects.UpdateReminderSuccess { - func reminder(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "reminder", - arguments: [], - selection: selection.selection - ) - select(field) + func reminder(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "reminder", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.reminder[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.reminder[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateReminderSuccess = Selection + typealias UpdateReminderSuccess = Selection } extension Objects { - struct UpdateSharedCommentError { - let __typename: TypeName = .updateSharedCommentError - let errorCodes: [String: [Enums.UpdateSharedCommentErrorCode]] + struct UpdateSharedCommentError { + let __typename: TypeName = .updateSharedCommentError + let errorCodes: [String: [Enums.UpdateSharedCommentErrorCode]] - enum TypeName: String, Codable { - case updateSharedCommentError = "UpdateSharedCommentError" + enum TypeName: String, Codable { + case updateSharedCommentError = "UpdateSharedCommentError" + } } - } } extension Objects.UpdateSharedCommentError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateSharedCommentErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateSharedCommentErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateSharedCommentError { - func errorCodes() throws -> [Enums.UpdateSharedCommentErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateSharedCommentErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateSharedCommentError = Selection + typealias UpdateSharedCommentError = Selection } extension Objects { - struct UpdateSharedCommentSuccess { - let __typename: TypeName = .updateSharedCommentSuccess - let articleId: [String: String] - let sharedComment: [String: String] + struct UpdateSharedCommentSuccess { + let __typename: TypeName = .updateSharedCommentSuccess + let articleId: [String: String] + let sharedComment: [String: String] - enum TypeName: String, Codable { - case updateSharedCommentSuccess = "UpdateSharedCommentSuccess" + enum TypeName: String, Codable { + case updateSharedCommentSuccess = "UpdateSharedCommentSuccess" + } } - } } extension Objects.UpdateSharedCommentSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "articleId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "articleId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedComment": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "sharedComment": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + articleId = map["articleId"] + sharedComment = map["sharedComment"] } - - articleId = map["articleId"] - sharedComment = map["sharedComment"] - } } extension Fields where TypeLock == Objects.UpdateSharedCommentSuccess { - func articleId() throws -> String { - let field = GraphQLField.leaf( - name: "articleID", - arguments: [] - ) - select(field) + func articleId() throws -> String { + let field = GraphQLField.leaf( + name: "articleID", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.articleId[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.articleId[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func sharedComment() throws -> String { - let field = GraphQLField.leaf( - name: "sharedComment", - arguments: [] - ) - select(field) + func sharedComment() throws -> String { + let field = GraphQLField.leaf( + name: "sharedComment", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.sharedComment[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.sharedComment[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateSharedCommentSuccess = Selection + typealias UpdateSharedCommentSuccess = Selection } extension Objects { - struct UpdateSubscriptionError { - let __typename: TypeName = .updateSubscriptionError - let errorCodes: [String: [Enums.UpdateSubscriptionErrorCode]] + struct UpdateSubscriptionError { + let __typename: TypeName = .updateSubscriptionError + let errorCodes: [String: [Enums.UpdateSubscriptionErrorCode]] - enum TypeName: String, Codable { - case updateSubscriptionError = "UpdateSubscriptionError" + enum TypeName: String, Codable { + case updateSubscriptionError = "UpdateSubscriptionError" + } } - } } extension Objects.UpdateSubscriptionError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateSubscriptionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateSubscriptionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateSubscriptionError { - func errorCodes() throws -> [Enums.UpdateSubscriptionErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateSubscriptionErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateSubscriptionError = Selection + typealias UpdateSubscriptionError = Selection } extension Objects { - struct UpdateSubscriptionSuccess { - let __typename: TypeName = .updateSubscriptionSuccess - let subscription: [String: Objects.Subscription] + struct UpdateSubscriptionSuccess { + let __typename: TypeName = .updateSubscriptionSuccess + let subscription: [String: Objects.Subscription] - enum TypeName: String, Codable { - case updateSubscriptionSuccess = "UpdateSubscriptionSuccess" + enum TypeName: String, Codable { + case updateSubscriptionSuccess = "UpdateSubscriptionSuccess" + } } - } } extension Objects.UpdateSubscriptionSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "subscription": - if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "subscription": + if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - subscription = map["subscription"] - } + subscription = map["subscription"] + } } extension Fields where TypeLock == Objects.UpdateSubscriptionSuccess { - func subscription(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "subscription", - arguments: [], - selection: selection.selection - ) - select(field) + func subscription(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "subscription", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.subscription[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.subscription[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateSubscriptionSuccess = Selection + typealias UpdateSubscriptionSuccess = Selection } extension Objects { - struct UpdateUserError { - let __typename: TypeName = .updateUserError - let errorCodes: [String: [Enums.UpdateUserErrorCode]] + struct UpdateUserError { + let __typename: TypeName = .updateUserError + let errorCodes: [String: [Enums.UpdateUserErrorCode]] - enum TypeName: String, Codable { - case updateUserError = "UpdateUserError" + enum TypeName: String, Codable { + case updateUserError = "UpdateUserError" + } } - } } extension Objects.UpdateUserError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateUserErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateUserErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateUserError { - func errorCodes() throws -> [Enums.UpdateUserErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateUserErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateUserError = Selection + typealias UpdateUserError = Selection } extension Objects { - struct UpdateUserProfileError { - let __typename: TypeName = .updateUserProfileError - let errorCodes: [String: [Enums.UpdateUserProfileErrorCode]] + struct UpdateUserProfileError { + let __typename: TypeName = .updateUserProfileError + let errorCodes: [String: [Enums.UpdateUserProfileErrorCode]] - enum TypeName: String, Codable { - case updateUserProfileError = "UpdateUserProfileError" + enum TypeName: String, Codable { + case updateUserProfileError = "UpdateUserProfileError" + } } - } } extension Objects.UpdateUserProfileError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateUserProfileErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateUserProfileErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdateUserProfileError { - func errorCodes() throws -> [Enums.UpdateUserProfileErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdateUserProfileErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateUserProfileError = Selection + typealias UpdateUserProfileError = Selection } extension Objects { - struct UpdateUserProfileSuccess { - let __typename: TypeName = .updateUserProfileSuccess - let user: [String: Objects.User] + struct UpdateUserProfileSuccess { + let __typename: TypeName = .updateUserProfileSuccess + let user: [String: Objects.User] - enum TypeName: String, Codable { - case updateUserProfileSuccess = "UpdateUserProfileSuccess" + enum TypeName: String, Codable { + case updateUserProfileSuccess = "UpdateUserProfileSuccess" + } } - } } extension Objects.UpdateUserProfileSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - user = map["user"] - } + user = map["user"] + } } extension Fields where TypeLock == Objects.UpdateUserProfileSuccess { - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateUserProfileSuccess = Selection + typealias UpdateUserProfileSuccess = Selection } extension Objects { - struct UpdateUserSuccess { - let __typename: TypeName = .updateUserSuccess - let user: [String: Objects.User] + struct UpdateUserSuccess { + let __typename: TypeName = .updateUserSuccess + let user: [String: Objects.User] - enum TypeName: String, Codable { - case updateUserSuccess = "UpdateUserSuccess" + enum TypeName: String, Codable { + case updateUserSuccess = "UpdateUserSuccess" + } } - } } extension Objects.UpdateUserSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - user = map["user"] - } + user = map["user"] + } } extension Fields where TypeLock == Objects.UpdateUserSuccess { - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateUserSuccess = Selection + typealias UpdateUserSuccess = Selection } extension Objects { - struct UpdatesSinceError { - let __typename: TypeName = .updatesSinceError - let errorCodes: [String: [Enums.UpdatesSinceErrorCode]] + struct UpdatesSinceError { + let __typename: TypeName = .updatesSinceError + let errorCodes: [String: [Enums.UpdatesSinceErrorCode]] - enum TypeName: String, Codable { - case updatesSinceError = "UpdatesSinceError" + enum TypeName: String, Codable { + case updatesSinceError = "UpdatesSinceError" + } } - } } extension Objects.UpdatesSinceError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdatesSinceErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdatesSinceErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UpdatesSinceError { - func errorCodes() throws -> [Enums.UpdatesSinceErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UpdatesSinceErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdatesSinceError = Selection + typealias UpdatesSinceError = Selection } extension Objects { - struct UpdatesSinceSuccess { - let __typename: TypeName = .updatesSinceSuccess - let edges: [String: [Objects.SyncUpdatedItemEdge]] - let pageInfo: [String: Objects.PageInfo] + struct UpdatesSinceSuccess { + let __typename: TypeName = .updatesSinceSuccess + let edges: [String: [Objects.SyncUpdatedItemEdge]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case updatesSinceSuccess = "UpdatesSinceSuccess" + enum TypeName: String, Codable { + case updatesSinceSuccess = "UpdatesSinceSuccess" + } } - } } extension Objects.UpdatesSinceSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.SyncUpdatedItemEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.SyncUpdatedItemEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + edges = map["edges"] + pageInfo = map["pageInfo"] } - - edges = map["edges"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Objects.UpdatesSinceSuccess { - func edges(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "edges", - arguments: [], - selection: selection.selection - ) - select(field) + func edges(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "edges", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.edges[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.edges[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func pageInfo(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "pageInfo", - arguments: [], - selection: selection.selection - ) - select(field) + func pageInfo(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "pageInfo", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.pageInfo[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.pageInfo[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdatesSinceSuccess = Selection + typealias UpdatesSinceSuccess = Selection } extension Objects { - struct UploadFileRequestError { - let __typename: TypeName = .uploadFileRequestError - let errorCodes: [String: [Enums.UploadFileRequestErrorCode]] + struct UploadFileRequestError { + let __typename: TypeName = .uploadFileRequestError + let errorCodes: [String: [Enums.UploadFileRequestErrorCode]] - enum TypeName: String, Codable { - case uploadFileRequestError = "UploadFileRequestError" + enum TypeName: String, Codable { + case uploadFileRequestError = "UploadFileRequestError" + } } - } } extension Objects.UploadFileRequestError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UploadFileRequestErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UploadFileRequestErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UploadFileRequestError { - func errorCodes() throws -> [Enums.UploadFileRequestErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UploadFileRequestErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UploadFileRequestError = Selection + typealias UploadFileRequestError = Selection } extension Objects { - struct UploadFileRequestSuccess { - let __typename: TypeName = .uploadFileRequestSuccess - let createdPageId: [String: String] - let id: [String: String] - let uploadFileId: [String: String] - let uploadSignedUrl: [String: String] + struct UploadFileRequestSuccess { + let __typename: TypeName = .uploadFileRequestSuccess + let createdPageId: [String: String] + let id: [String: String] + let uploadFileId: [String: String] + let uploadSignedUrl: [String: String] - enum TypeName: String, Codable { - case uploadFileRequestSuccess = "UploadFileRequestSuccess" + enum TypeName: String, Codable { + case uploadFileRequestSuccess = "UploadFileRequestSuccess" + } } - } } extension Objects.UploadFileRequestSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdPageId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdPageId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadFileId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadSignedUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadFileId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadSignedUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + createdPageId = map["createdPageId"] + id = map["id"] + uploadFileId = map["uploadFileId"] + uploadSignedUrl = map["uploadSignedUrl"] } - - createdPageId = map["createdPageId"] - id = map["id"] - uploadFileId = map["uploadFileId"] - uploadSignedUrl = map["uploadSignedUrl"] - } } extension Fields where TypeLock == Objects.UploadFileRequestSuccess { - func createdPageId() throws -> String? { - let field = GraphQLField.leaf( - name: "createdPageId", - arguments: [] - ) - select(field) + func createdPageId() throws -> String? { + let field = GraphQLField.leaf( + name: "createdPageId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.createdPageId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.createdPageId[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func uploadFileId() throws -> String? { - let field = GraphQLField.leaf( - name: "uploadFileId", - arguments: [] - ) - select(field) + func uploadFileId() throws -> String? { + let field = GraphQLField.leaf( + name: "uploadFileId", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.uploadFileId[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.uploadFileId[field.alias!] + case .mocking: + return nil + } } - } - func uploadSignedUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "uploadSignedUrl", - arguments: [] - ) - select(field) + func uploadSignedUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "uploadSignedUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.uploadSignedUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.uploadSignedUrl[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UploadFileRequestSuccess = Selection + typealias UploadFileRequestSuccess = Selection } extension Objects { - struct UploadImportFileError { - let __typename: TypeName = .uploadImportFileError - let errorCodes: [String: [Enums.UploadImportFileErrorCode]] + struct UploadImportFileError { + let __typename: TypeName = .uploadImportFileError + let errorCodes: [String: [Enums.UploadImportFileErrorCode]] - enum TypeName: String, Codable { - case uploadImportFileError = "UploadImportFileError" + enum TypeName: String, Codable { + case uploadImportFileError = "UploadImportFileError" + } } - } } extension Objects.UploadImportFileError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UploadImportFileErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UploadImportFileErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UploadImportFileError { - func errorCodes() throws -> [Enums.UploadImportFileErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UploadImportFileErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UploadImportFileError = Selection + typealias UploadImportFileError = Selection } extension Objects { - struct UploadImportFileSuccess { - let __typename: TypeName = .uploadImportFileSuccess - let uploadSignedUrl: [String: String] + struct UploadImportFileSuccess { + let __typename: TypeName = .uploadImportFileSuccess + let uploadSignedUrl: [String: String] - enum TypeName: String, Codable { - case uploadImportFileSuccess = "UploadImportFileSuccess" + enum TypeName: String, Codable { + case uploadImportFileSuccess = "UploadImportFileSuccess" + } } - } } extension Objects.UploadImportFileSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "uploadSignedUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "uploadSignedUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - uploadSignedUrl = map["uploadSignedUrl"] - } + uploadSignedUrl = map["uploadSignedUrl"] + } } extension Fields where TypeLock == Objects.UploadImportFileSuccess { - func uploadSignedUrl() throws -> String? { - let field = GraphQLField.leaf( - name: "uploadSignedUrl", - arguments: [] - ) - select(field) + func uploadSignedUrl() throws -> String? { + let field = GraphQLField.leaf( + name: "uploadSignedUrl", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.uploadSignedUrl[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.uploadSignedUrl[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UploadImportFileSuccess = Selection + typealias UploadImportFileSuccess = Selection } extension Objects { - struct User { - let __typename: TypeName = .user - let email: [String: String] - let followersCount: [String: Int] - let friendsCount: [String: Int] - let id: [String: String] - let intercomHash: [String: String] - let isFriend: [String: Bool] - let isFullUser: [String: Bool] - let name: [String: String] - let picture: [String: String] - let profile: [String: Objects.Profile] - let sharedArticles: [String: [Objects.FeedArticle]] - let sharedArticlesCount: [String: Int] - let sharedHighlightsCount: [String: Int] - let sharedNotesCount: [String: Int] - let source: [String: String] - let viewerIsFollowing: [String: Bool] + struct User { + let __typename: TypeName = .user + let email: [String: String] + let followersCount: [String: Int] + let friendsCount: [String: Int] + let id: [String: String] + let intercomHash: [String: String] + let isFriend: [String: Bool] + let isFullUser: [String: Bool] + let name: [String: String] + let picture: [String: String] + let profile: [String: Objects.Profile] + let sharedArticles: [String: [Objects.FeedArticle]] + let sharedArticlesCount: [String: Int] + let sharedHighlightsCount: [String: Int] + let sharedNotesCount: [String: Int] + let source: [String: String] + let viewerIsFollowing: [String: Bool] - enum TypeName: String, Codable { - case user = "User" + enum TypeName: String, Codable { + case user = "User" + } } - } } extension Objects.User: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "email": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "email": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "followersCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "friendsCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "intercomHash": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "isFriend": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "isFullUser": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "name": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "picture": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "profile": + if let value = try container.decode(Objects.Profile?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedArticles": + if let value = try container.decode([Objects.FeedArticle]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedArticlesCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedHighlightsCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedNotesCount": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "source": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "viewerIsFollowing": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "followersCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "friendsCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "intercomHash": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "isFriend": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "isFullUser": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "name": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "picture": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "profile": - if let value = try container.decode(Objects.Profile?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedArticles": - if let value = try container.decode([Objects.FeedArticle]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedArticlesCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedHighlightsCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedNotesCount": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "source": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "viewerIsFollowing": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + email = map["email"] + followersCount = map["followersCount"] + friendsCount = map["friendsCount"] + id = map["id"] + intercomHash = map["intercomHash"] + isFriend = map["isFriend"] + isFullUser = map["isFullUser"] + name = map["name"] + picture = map["picture"] + profile = map["profile"] + sharedArticles = map["sharedArticles"] + sharedArticlesCount = map["sharedArticlesCount"] + sharedHighlightsCount = map["sharedHighlightsCount"] + sharedNotesCount = map["sharedNotesCount"] + source = map["source"] + viewerIsFollowing = map["viewerIsFollowing"] } - - email = map["email"] - followersCount = map["followersCount"] - friendsCount = map["friendsCount"] - id = map["id"] - intercomHash = map["intercomHash"] - isFriend = map["isFriend"] - isFullUser = map["isFullUser"] - name = map["name"] - picture = map["picture"] - profile = map["profile"] - sharedArticles = map["sharedArticles"] - sharedArticlesCount = map["sharedArticlesCount"] - sharedHighlightsCount = map["sharedHighlightsCount"] - sharedNotesCount = map["sharedNotesCount"] - source = map["source"] - viewerIsFollowing = map["viewerIsFollowing"] - } } extension Fields where TypeLock == Objects.User { - func email() throws -> String? { - let field = GraphQLField.leaf( - name: "email", - arguments: [] - ) - select(field) + func email() throws -> String? { + let field = GraphQLField.leaf( + name: "email", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.email[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.email[field.alias!] + case .mocking: + return nil + } } - } - func followersCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "followersCount", - arguments: [] - ) - select(field) + func followersCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "followersCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.followersCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.followersCount[field.alias!] + case .mocking: + return nil + } } - } - func friendsCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "friendsCount", - arguments: [] - ) - select(field) + func friendsCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "friendsCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.friendsCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.friendsCount[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func intercomHash() throws -> String? { - let field = GraphQLField.leaf( - name: "intercomHash", - arguments: [] - ) - select(field) + func intercomHash() throws -> String? { + let field = GraphQLField.leaf( + name: "intercomHash", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.intercomHash[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.intercomHash[field.alias!] + case .mocking: + return nil + } } - } - @available(*, deprecated, message: "isFriend has been replaced with viewerIsFollowing") - func isFriend() throws -> Bool? { - let field = GraphQLField.leaf( - name: "isFriend", - arguments: [] - ) - select(field) + @available(*, deprecated, message: "isFriend has been replaced with viewerIsFollowing") + func isFriend() throws -> Bool? { + let field = GraphQLField.leaf( + name: "isFriend", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.isFriend[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.isFriend[field.alias!] + case .mocking: + return nil + } } - } - func isFullUser() throws -> Bool? { - let field = GraphQLField.leaf( - name: "isFullUser", - arguments: [] - ) - select(field) + func isFullUser() throws -> Bool? { + let field = GraphQLField.leaf( + name: "isFullUser", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.isFullUser[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.isFullUser[field.alias!] + case .mocking: + return nil + } } - } - func name() throws -> String { - let field = GraphQLField.leaf( - name: "name", - arguments: [] - ) - select(field) + func name() throws -> String { + let field = GraphQLField.leaf( + name: "name", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.name[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.name[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func picture() throws -> String? { - let field = GraphQLField.leaf( - name: "picture", - arguments: [] - ) - select(field) + func picture() throws -> String? { + let field = GraphQLField.leaf( + name: "picture", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.picture[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.picture[field.alias!] + case .mocking: + return nil + } } - } - func profile(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "profile", - arguments: [], - selection: selection.selection - ) - select(field) + func profile(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "profile", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.profile[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.profile[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func sharedArticles(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "sharedArticles", - arguments: [], - selection: selection.selection - ) - select(field) + func sharedArticles(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "sharedArticles", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.sharedArticles[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.sharedArticles[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } - func sharedArticlesCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "sharedArticlesCount", - arguments: [] - ) - select(field) + func sharedArticlesCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "sharedArticlesCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.sharedArticlesCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.sharedArticlesCount[field.alias!] + case .mocking: + return nil + } } - } - func sharedHighlightsCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "sharedHighlightsCount", - arguments: [] - ) - select(field) + func sharedHighlightsCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "sharedHighlightsCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.sharedHighlightsCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.sharedHighlightsCount[field.alias!] + case .mocking: + return nil + } } - } - func sharedNotesCount() throws -> Int? { - let field = GraphQLField.leaf( - name: "sharedNotesCount", - arguments: [] - ) - select(field) + func sharedNotesCount() throws -> Int? { + let field = GraphQLField.leaf( + name: "sharedNotesCount", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.sharedNotesCount[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.sharedNotesCount[field.alias!] + case .mocking: + return nil + } } - } - func source() throws -> String? { - let field = GraphQLField.leaf( - name: "source", - arguments: [] - ) - select(field) + func source() throws -> String? { + let field = GraphQLField.leaf( + name: "source", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.source[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.source[field.alias!] + case .mocking: + return nil + } } - } - func viewerIsFollowing() throws -> Bool? { - let field = GraphQLField.leaf( - name: "viewerIsFollowing", - arguments: [] - ) - select(field) + func viewerIsFollowing() throws -> Bool? { + let field = GraphQLField.leaf( + name: "viewerIsFollowing", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.viewerIsFollowing[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.viewerIsFollowing[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias User = Selection + typealias User = Selection } extension Objects { - struct UserError { - let __typename: TypeName = .userError - let errorCodes: [String: [Enums.UserErrorCode]] + struct UserError { + let __typename: TypeName = .userError + let errorCodes: [String: [Enums.UserErrorCode]] - enum TypeName: String, Codable { - case userError = "UserError" + enum TypeName: String, Codable { + case userError = "UserError" + } } - } } extension Objects.UserError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UserErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UserErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UserError { - func errorCodes() throws -> [Enums.UserErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UserErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UserError = Selection + typealias UserError = Selection } extension Objects { - struct UserPersonalization { - let __typename: TypeName = .userPersonalization - let fields: [String: String] - let fontFamily: [String: String] - let fontSize: [String: Int] - let id: [String: String] - let libraryLayoutType: [String: String] - let librarySortOrder: [String: Enums.SortOrder] - let margin: [String: Int] - let speechRate: [String: String] - let speechSecondaryVoice: [String: String] - let speechVoice: [String: String] - let speechVolume: [String: String] - let theme: [String: String] + struct UserPersonalization { + let __typename: TypeName = .userPersonalization + let fields: [String: String] + let fontFamily: [String: String] + let fontSize: [String: Int] + let id: [String: String] + let libraryLayoutType: [String: String] + let librarySortOrder: [String: Enums.SortOrder] + let margin: [String: Int] + let speechRate: [String: String] + let speechSecondaryVoice: [String: String] + let speechVoice: [String: String] + let speechVolume: [String: String] + let theme: [String: String] - enum TypeName: String, Codable { - case userPersonalization = "UserPersonalization" + enum TypeName: String, Codable { + case userPersonalization = "UserPersonalization" + } } - } } extension Objects.UserPersonalization: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "fields": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "fields": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "fontFamily": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "fontSize": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "libraryLayoutType": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "librarySortOrder": + if let value = try container.decode(Enums.SortOrder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "margin": + if let value = try container.decode(Int?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "speechRate": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "speechSecondaryVoice": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "speechVoice": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "speechVolume": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "theme": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "fontFamily": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "fontSize": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "libraryLayoutType": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "librarySortOrder": - if let value = try container.decode(Enums.SortOrder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "margin": - if let value = try container.decode(Int?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "speechRate": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "speechSecondaryVoice": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "speechVoice": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "speechVolume": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "theme": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + fields = map["fields"] + fontFamily = map["fontFamily"] + fontSize = map["fontSize"] + id = map["id"] + libraryLayoutType = map["libraryLayoutType"] + librarySortOrder = map["librarySortOrder"] + margin = map["margin"] + speechRate = map["speechRate"] + speechSecondaryVoice = map["speechSecondaryVoice"] + speechVoice = map["speechVoice"] + speechVolume = map["speechVolume"] + theme = map["theme"] } - - fields = map["fields"] - fontFamily = map["fontFamily"] - fontSize = map["fontSize"] - id = map["id"] - libraryLayoutType = map["libraryLayoutType"] - librarySortOrder = map["librarySortOrder"] - margin = map["margin"] - speechRate = map["speechRate"] - speechSecondaryVoice = map["speechSecondaryVoice"] - speechVoice = map["speechVoice"] - speechVolume = map["speechVolume"] - theme = map["theme"] - } } extension Fields where TypeLock == Objects.UserPersonalization { - func fields() throws -> String? { - let field = GraphQLField.leaf( - name: "fields", - arguments: [] - ) - select(field) + func fields() throws -> String? { + let field = GraphQLField.leaf( + name: "fields", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.fields[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.fields[field.alias!] + case .mocking: + return nil + } } - } - func fontFamily() throws -> String? { - let field = GraphQLField.leaf( - name: "fontFamily", - arguments: [] - ) - select(field) + func fontFamily() throws -> String? { + let field = GraphQLField.leaf( + name: "fontFamily", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.fontFamily[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.fontFamily[field.alias!] + case .mocking: + return nil + } } - } - func fontSize() throws -> Int? { - let field = GraphQLField.leaf( - name: "fontSize", - arguments: [] - ) - select(field) + func fontSize() throws -> Int? { + let field = GraphQLField.leaf( + name: "fontSize", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.fontSize[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.fontSize[field.alias!] + case .mocking: + return nil + } } - } - func id() throws -> String? { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String? { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.id[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.id[field.alias!] + case .mocking: + return nil + } } - } - func libraryLayoutType() throws -> String? { - let field = GraphQLField.leaf( - name: "libraryLayoutType", - arguments: [] - ) - select(field) + func libraryLayoutType() throws -> String? { + let field = GraphQLField.leaf( + name: "libraryLayoutType", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.libraryLayoutType[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.libraryLayoutType[field.alias!] + case .mocking: + return nil + } } - } - func librarySortOrder() throws -> Enums.SortOrder? { - let field = GraphQLField.leaf( - name: "librarySortOrder", - arguments: [] - ) - select(field) + func librarySortOrder() throws -> Enums.SortOrder? { + let field = GraphQLField.leaf( + name: "librarySortOrder", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.librarySortOrder[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.librarySortOrder[field.alias!] + case .mocking: + return nil + } } - } - func margin() throws -> Int? { - let field = GraphQLField.leaf( - name: "margin", - arguments: [] - ) - select(field) + func margin() throws -> Int? { + let field = GraphQLField.leaf( + name: "margin", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.margin[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.margin[field.alias!] + case .mocking: + return nil + } } - } - func speechRate() throws -> String? { - let field = GraphQLField.leaf( - name: "speechRate", - arguments: [] - ) - select(field) + func speechRate() throws -> String? { + let field = GraphQLField.leaf( + name: "speechRate", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.speechRate[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.speechRate[field.alias!] + case .mocking: + return nil + } } - } - func speechSecondaryVoice() throws -> String? { - let field = GraphQLField.leaf( - name: "speechSecondaryVoice", - arguments: [] - ) - select(field) + func speechSecondaryVoice() throws -> String? { + let field = GraphQLField.leaf( + name: "speechSecondaryVoice", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.speechSecondaryVoice[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.speechSecondaryVoice[field.alias!] + case .mocking: + return nil + } } - } - func speechVoice() throws -> String? { - let field = GraphQLField.leaf( - name: "speechVoice", - arguments: [] - ) - select(field) + func speechVoice() throws -> String? { + let field = GraphQLField.leaf( + name: "speechVoice", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.speechVoice[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.speechVoice[field.alias!] + case .mocking: + return nil + } } - } - func speechVolume() throws -> String? { - let field = GraphQLField.leaf( - name: "speechVolume", - arguments: [] - ) - select(field) + func speechVolume() throws -> String? { + let field = GraphQLField.leaf( + name: "speechVolume", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.speechVolume[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.speechVolume[field.alias!] + case .mocking: + return nil + } } - } - func theme() throws -> String? { - let field = GraphQLField.leaf( - name: "theme", - arguments: [] - ) - select(field) + func theme() throws -> String? { + let field = GraphQLField.leaf( + name: "theme", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.theme[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.theme[field.alias!] + case .mocking: + return nil + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UserPersonalization = Selection + typealias UserPersonalization = Selection } extension Objects { - struct UserSuccess { - let __typename: TypeName = .userSuccess - let user: [String: Objects.User] + struct UserSuccess { + let __typename: TypeName = .userSuccess + let user: [String: Objects.User] - enum TypeName: String, Codable { - case userSuccess = "UserSuccess" + enum TypeName: String, Codable { + case userSuccess = "UserSuccess" + } } - } } extension Objects.UserSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - user = map["user"] - } + user = map["user"] + } } extension Fields where TypeLock == Objects.UserSuccess { - func user(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "user", - arguments: [], - selection: selection.selection - ) - select(field) + func user(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "user", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.user[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.user[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UserSuccess = Selection + typealias UserSuccess = Selection } extension Objects { - struct UsersError { - let __typename: TypeName = .usersError - let errorCodes: [String: [Enums.UsersErrorCode]] + struct UsersError { + let __typename: TypeName = .usersError + let errorCodes: [String: [Enums.UsersErrorCode]] - enum TypeName: String, Codable { - case usersError = "UsersError" + enum TypeName: String, Codable { + case usersError = "UsersError" + } } - } } extension Objects.UsersError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UsersErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UsersErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.UsersError { - func errorCodes() throws -> [Enums.UsersErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.UsersErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UsersError = Selection + typealias UsersError = Selection } extension Objects { - struct UsersSuccess { - let __typename: TypeName = .usersSuccess - let users: [String: [Objects.User]] + struct UsersSuccess { + let __typename: TypeName = .usersSuccess + let users: [String: [Objects.User]] - enum TypeName: String, Codable { - case usersSuccess = "UsersSuccess" + enum TypeName: String, Codable { + case usersSuccess = "UsersSuccess" + } } - } } extension Objects.UsersSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "users": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "users": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - users = map["users"] - } + users = map["users"] + } } extension Fields where TypeLock == Objects.UsersSuccess { - func users(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "users", - arguments: [], - selection: selection.selection - ) - select(field) + func users(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "users", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.users[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.users[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UsersSuccess = Selection + typealias UsersSuccess = Selection } extension Objects { - struct Webhook { - let __typename: TypeName = .webhook - let contentType: [String: String] - let createdAt: [String: DateTime] - let enabled: [String: Bool] - let eventTypes: [String: [Enums.WebhookEvent]] - let id: [String: String] - let method: [String: String] - let updatedAt: [String: DateTime] - let url: [String: String] + struct Webhook { + let __typename: TypeName = .webhook + let contentType: [String: String] + let createdAt: [String: DateTime] + let enabled: [String: Bool] + let eventTypes: [String: [Enums.WebhookEvent]] + let id: [String: String] + let method: [String: String] + let updatedAt: [String: DateTime] + let url: [String: String] - enum TypeName: String, Codable { - case webhook = "Webhook" + enum TypeName: String, Codable { + case webhook = "Webhook" + } } - } } extension Objects.Webhook: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "contentType": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "contentType": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "enabled": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "eventTypes": + if let value = try container.decode([Enums.WebhookEvent]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "method": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedAt": + if let value = try container.decode(DateTime?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "enabled": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "eventTypes": - if let value = try container.decode([Enums.WebhookEvent]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "method": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedAt": - if let value = try container.decode(DateTime?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + contentType = map["contentType"] + createdAt = map["createdAt"] + enabled = map["enabled"] + eventTypes = map["eventTypes"] + id = map["id"] + method = map["method"] + updatedAt = map["updatedAt"] + url = map["url"] } - - contentType = map["contentType"] - createdAt = map["createdAt"] - enabled = map["enabled"] - eventTypes = map["eventTypes"] - id = map["id"] - method = map["method"] - updatedAt = map["updatedAt"] - url = map["url"] - } } extension Fields where TypeLock == Objects.Webhook { - func contentType() throws -> String { - let field = GraphQLField.leaf( - name: "contentType", - arguments: [] - ) - select(field) + func contentType() throws -> String { + let field = GraphQLField.leaf( + name: "contentType", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.contentType[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.contentType[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func createdAt() throws -> DateTime { - let field = GraphQLField.leaf( - name: "createdAt", - arguments: [] - ) - select(field) + func createdAt() throws -> DateTime { + let field = GraphQLField.leaf( + name: "createdAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.createdAt[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return DateTime.mockValue + switch response { + case let .decoding(data): + if let data = data.createdAt[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return DateTime.mockValue + } } - } - func enabled() throws -> Bool { - let field = GraphQLField.leaf( - name: "enabled", - arguments: [] - ) - select(field) + func enabled() throws -> Bool { + let field = GraphQLField.leaf( + name: "enabled", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.enabled[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return Bool.mockValue + switch response { + case let .decoding(data): + if let data = data.enabled[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return Bool.mockValue + } } - } - func eventTypes() throws -> [Enums.WebhookEvent] { - let field = GraphQLField.leaf( - name: "eventTypes", - arguments: [] - ) - select(field) + func eventTypes() throws -> [Enums.WebhookEvent] { + let field = GraphQLField.leaf( + name: "eventTypes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.eventTypes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.eventTypes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } - func id() throws -> String { - let field = GraphQLField.leaf( - name: "id", - arguments: [] - ) - select(field) + func id() throws -> String { + let field = GraphQLField.leaf( + name: "id", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.id[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.id[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func method() throws -> String { - let field = GraphQLField.leaf( - name: "method", - arguments: [] - ) - select(field) + func method() throws -> String { + let field = GraphQLField.leaf( + name: "method", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.method[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.method[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } - func updatedAt() throws -> DateTime? { - let field = GraphQLField.leaf( - name: "updatedAt", - arguments: [] - ) - select(field) + func updatedAt() throws -> DateTime? { + let field = GraphQLField.leaf( + name: "updatedAt", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - return data.updatedAt[field.alias!] - case .mocking: - return nil + switch response { + case let .decoding(data): + return data.updatedAt[field.alias!] + case .mocking: + return nil + } } - } - func url() throws -> String { - let field = GraphQLField.leaf( - name: "url", - arguments: [] - ) - select(field) + func url() throws -> String { + let field = GraphQLField.leaf( + name: "url", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.url[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return String.mockValue + switch response { + case let .decoding(data): + if let data = data.url[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return String.mockValue + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias Webhook = Selection + typealias Webhook = Selection } extension Objects { - struct WebhookError { - let __typename: TypeName = .webhookError - let errorCodes: [String: [Enums.WebhookErrorCode]] + struct WebhookError { + let __typename: TypeName = .webhookError + let errorCodes: [String: [Enums.WebhookErrorCode]] - enum TypeName: String, Codable { - case webhookError = "WebhookError" + enum TypeName: String, Codable { + case webhookError = "WebhookError" + } } - } } extension Objects.WebhookError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.WebhookErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.WebhookErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.WebhookError { - func errorCodes() throws -> [Enums.WebhookErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.WebhookErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias WebhookError = Selection + typealias WebhookError = Selection } extension Objects { - struct WebhookSuccess { - let __typename: TypeName = .webhookSuccess - let webhook: [String: Objects.Webhook] + struct WebhookSuccess { + let __typename: TypeName = .webhookSuccess + let webhook: [String: Objects.Webhook] - enum TypeName: String, Codable { - case webhookSuccess = "WebhookSuccess" + enum TypeName: String, Codable { + case webhookSuccess = "WebhookSuccess" + } } - } } extension Objects.WebhookSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "webhook": - if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "webhook": + if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - webhook = map["webhook"] - } + webhook = map["webhook"] + } } extension Fields where TypeLock == Objects.WebhookSuccess { - func webhook(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "webhook", - arguments: [], - selection: selection.selection - ) - select(field) + func webhook(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "webhook", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.webhook[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.webhook[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias WebhookSuccess = Selection + typealias WebhookSuccess = Selection } extension Objects { - struct WebhooksError { - let __typename: TypeName = .webhooksError - let errorCodes: [String: [Enums.WebhooksErrorCode]] + struct WebhooksError { + let __typename: TypeName = .webhooksError + let errorCodes: [String: [Enums.WebhooksErrorCode]] - enum TypeName: String, Codable { - case webhooksError = "WebhooksError" + enum TypeName: String, Codable { + case webhooksError = "WebhooksError" + } } - } } extension Objects.WebhooksError: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.WebhooksErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.WebhooksErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - errorCodes = map["errorCodes"] - } + errorCodes = map["errorCodes"] + } } extension Fields where TypeLock == Objects.WebhooksError { - func errorCodes() throws -> [Enums.WebhooksErrorCode] { - let field = GraphQLField.leaf( - name: "errorCodes", - arguments: [] - ) - select(field) + func errorCodes() throws -> [Enums.WebhooksErrorCode] { + let field = GraphQLField.leaf( + name: "errorCodes", + arguments: [] + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.errorCodes[field.alias!] { - return data - } - throw HttpError.badpayload - case .mocking: - return [] + switch response { + case let .decoding(data): + if let data = data.errorCodes[field.alias!] { + return data + } + throw HttpError.badpayload + case .mocking: + return [] + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias WebhooksError = Selection + typealias WebhooksError = Selection } extension Objects { - struct WebhooksSuccess { - let __typename: TypeName = .webhooksSuccess - let webhooks: [String: [Objects.Webhook]] + struct WebhooksSuccess { + let __typename: TypeName = .webhooksSuccess + let webhooks: [String: [Objects.Webhook]] - enum TypeName: String, Codable { - case webhooksSuccess = "WebhooksSuccess" + enum TypeName: String, Codable { + case webhooksSuccess = "WebhooksSuccess" + } } - } } extension Objects.WebhooksSuccess: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "webhooks": - if let value = try container.decode([Objects.Webhook]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "webhooks": + if let value = try container.decode([Objects.Webhook]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } - } - webhooks = map["webhooks"] - } + webhooks = map["webhooks"] + } } extension Fields where TypeLock == Objects.WebhooksSuccess { - func webhooks(selection: Selection) throws -> Type { - let field = GraphQLField.composite( - name: "webhooks", - arguments: [], - selection: selection.selection - ) - select(field) + func webhooks(selection: Selection) throws -> Type { + let field = GraphQLField.composite( + name: "webhooks", + arguments: [], + selection: selection.selection + ) + select(field) - switch response { - case let .decoding(data): - if let data = data.webhooks[field.alias!] { - return try selection.decode(data: data) - } - throw HttpError.badpayload - case .mocking: - return selection.mock() + switch response { + case let .decoding(data): + if let data = data.webhooks[field.alias!] { + return try selection.decode(data: data) + } + throw HttpError.badpayload + case .mocking: + return selection.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias WebhooksSuccess = Selection + typealias WebhooksSuccess = Selection } // MARK: - Interfaces @@ -25920,10720 +26135,10821 @@ enum Interfaces {} enum Unions {} extension Unions { - struct AddPopularReadResult { - let __typename: TypeName - let errorCodes: [String: [Enums.AddPopularReadErrorCode]] - let pageId: [String: String] + struct AddPopularReadResult { + let __typename: TypeName + let errorCodes: [String: [Enums.AddPopularReadErrorCode]] + let pageId: [String: String] - enum TypeName: String, Codable { - case addPopularReadError = "AddPopularReadError" - case addPopularReadSuccess = "AddPopularReadSuccess" + enum TypeName: String, Codable { + case addPopularReadError = "AddPopularReadError" + case addPopularReadSuccess = "AddPopularReadSuccess" + } } - } } extension Unions.AddPopularReadResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.AddPopularReadErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.AddPopularReadErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "pageId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + pageId = map["pageId"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - pageId = map["pageId"] - } } extension Fields where TypeLock == Unions.AddPopularReadResult { - func on(addPopularReadError: Selection, addPopularReadSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "AddPopularReadError", selection: addPopularReadError.selection), GraphQLField.fragment(type: "AddPopularReadSuccess", selection: addPopularReadSuccess.selection)]) + func on(addPopularReadError: Selection, addPopularReadSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "AddPopularReadError", selection: addPopularReadError.selection), GraphQLField.fragment(type: "AddPopularReadSuccess", selection: addPopularReadSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .addPopularReadError: - let data = Objects.AddPopularReadError(errorCodes: data.errorCodes) - return try addPopularReadError.decode(data: data) - case .addPopularReadSuccess: - let data = Objects.AddPopularReadSuccess(pageId: data.pageId) - return try addPopularReadSuccess.decode(data: data) - } - case .mocking: - return addPopularReadError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .addPopularReadError: + let data = Objects.AddPopularReadError(errorCodes: data.errorCodes) + return try addPopularReadError.decode(data: data) + case .addPopularReadSuccess: + let data = Objects.AddPopularReadSuccess(pageId: data.pageId) + return try addPopularReadSuccess.decode(data: data) + } + case .mocking: + return addPopularReadError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias AddPopularReadResult = Selection + typealias AddPopularReadResult = Selection } extension Unions { - struct ApiKeysResult { - let __typename: TypeName - let apiKeys: [String: [Objects.ApiKey]] - let errorCodes: [String: [Enums.ApiKeysErrorCode]] + struct ApiKeysResult { + let __typename: TypeName + let apiKeys: [String: [Objects.ApiKey]] + let errorCodes: [String: [Enums.ApiKeysErrorCode]] - enum TypeName: String, Codable { - case apiKeysError = "ApiKeysError" - case apiKeysSuccess = "ApiKeysSuccess" + enum TypeName: String, Codable { + case apiKeysError = "ApiKeysError" + case apiKeysSuccess = "ApiKeysSuccess" + } } - } } extension Unions.ApiKeysResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "apiKeys": - if let value = try container.decode([Objects.ApiKey]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "apiKeys": + if let value = try container.decode([Objects.ApiKey]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.ApiKeysErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.ApiKeysErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + apiKeys = map["apiKeys"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - apiKeys = map["apiKeys"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.ApiKeysResult { - func on(apiKeysError: Selection, apiKeysSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ApiKeysError", selection: apiKeysError.selection), GraphQLField.fragment(type: "ApiKeysSuccess", selection: apiKeysSuccess.selection)]) + func on(apiKeysError: Selection, apiKeysSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ApiKeysError", selection: apiKeysError.selection), GraphQLField.fragment(type: "ApiKeysSuccess", selection: apiKeysSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .apiKeysError: - let data = Objects.ApiKeysError(errorCodes: data.errorCodes) - return try apiKeysError.decode(data: data) - case .apiKeysSuccess: - let data = Objects.ApiKeysSuccess(apiKeys: data.apiKeys) - return try apiKeysSuccess.decode(data: data) - } - case .mocking: - return apiKeysError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .apiKeysError: + let data = Objects.ApiKeysError(errorCodes: data.errorCodes) + return try apiKeysError.decode(data: data) + case .apiKeysSuccess: + let data = Objects.ApiKeysSuccess(apiKeys: data.apiKeys) + return try apiKeysSuccess.decode(data: data) + } + case .mocking: + return apiKeysError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ApiKeysResult = Selection + typealias ApiKeysResult = Selection } extension Unions { - struct ArchiveLinkResult { - let __typename: TypeName - let errorCodes: [String: [Enums.ArchiveLinkErrorCode]] - let linkId: [String: String] - let message: [String: String] + struct ArchiveLinkResult { + let __typename: TypeName + let errorCodes: [String: [Enums.ArchiveLinkErrorCode]] + let linkId: [String: String] + let message: [String: String] - enum TypeName: String, Codable { - case archiveLinkError = "ArchiveLinkError" - case archiveLinkSuccess = "ArchiveLinkSuccess" + enum TypeName: String, Codable { + case archiveLinkError = "ArchiveLinkError" + case archiveLinkSuccess = "ArchiveLinkSuccess" + } } - } } extension Unions.ArchiveLinkResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ArchiveLinkErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ArchiveLinkErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "linkId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "linkId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + linkId = map["linkId"] + message = map["message"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - linkId = map["linkId"] - message = map["message"] - } } extension Fields where TypeLock == Unions.ArchiveLinkResult { - func on(archiveLinkError: Selection, archiveLinkSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ArchiveLinkError", selection: archiveLinkError.selection), GraphQLField.fragment(type: "ArchiveLinkSuccess", selection: archiveLinkSuccess.selection)]) + func on(archiveLinkError: Selection, archiveLinkSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ArchiveLinkError", selection: archiveLinkError.selection), GraphQLField.fragment(type: "ArchiveLinkSuccess", selection: archiveLinkSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .archiveLinkError: - let data = Objects.ArchiveLinkError(errorCodes: data.errorCodes, message: data.message) - return try archiveLinkError.decode(data: data) - case .archiveLinkSuccess: - let data = Objects.ArchiveLinkSuccess(linkId: data.linkId, message: data.message) - return try archiveLinkSuccess.decode(data: data) - } - case .mocking: - return archiveLinkError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .archiveLinkError: + let data = Objects.ArchiveLinkError(errorCodes: data.errorCodes, message: data.message) + return try archiveLinkError.decode(data: data) + case .archiveLinkSuccess: + let data = Objects.ArchiveLinkSuccess(linkId: data.linkId, message: data.message) + return try archiveLinkSuccess.decode(data: data) + } + case .mocking: + return archiveLinkError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArchiveLinkResult = Selection + typealias ArchiveLinkResult = Selection } extension Unions { - struct ArticleResult { - let __typename: TypeName - let article: [String: Objects.Article] - let errorCodes: [String: [Enums.ArticleErrorCode]] + struct ArticleResult { + let __typename: TypeName + let article: [String: Objects.Article] + let errorCodes: [String: [Enums.ArticleErrorCode]] - enum TypeName: String, Codable { - case articleError = "ArticleError" - case articleSuccess = "ArticleSuccess" + enum TypeName: String, Codable { + case articleError = "ArticleError" + case articleSuccess = "ArticleSuccess" + } } - } } extension Unions.ArticleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "article": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "article": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.ArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.ArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + article = map["article"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - article = map["article"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.ArticleResult { - func on(articleError: Selection, articleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ArticleError", selection: articleError.selection), GraphQLField.fragment(type: "ArticleSuccess", selection: articleSuccess.selection)]) + func on(articleError: Selection, articleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ArticleError", selection: articleError.selection), GraphQLField.fragment(type: "ArticleSuccess", selection: articleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .articleError: - let data = Objects.ArticleError(errorCodes: data.errorCodes) - return try articleError.decode(data: data) - case .articleSuccess: - let data = Objects.ArticleSuccess(article: data.article) - return try articleSuccess.decode(data: data) - } - case .mocking: - return articleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .articleError: + let data = Objects.ArticleError(errorCodes: data.errorCodes) + return try articleError.decode(data: data) + case .articleSuccess: + let data = Objects.ArticleSuccess(article: data.article) + return try articleSuccess.decode(data: data) + } + case .mocking: + return articleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleResult = Selection + typealias ArticleResult = Selection } extension Unions { - struct ArticleSavingRequestResult { - let __typename: TypeName - let articleSavingRequest: [String: Objects.ArticleSavingRequest] - let errorCodes: [String: [Enums.ArticleSavingRequestErrorCode]] + struct ArticleSavingRequestResult { + let __typename: TypeName + let articleSavingRequest: [String: Objects.ArticleSavingRequest] + let errorCodes: [String: [Enums.ArticleSavingRequestErrorCode]] - enum TypeName: String, Codable { - case articleSavingRequestError = "ArticleSavingRequestError" - case articleSavingRequestSuccess = "ArticleSavingRequestSuccess" + enum TypeName: String, Codable { + case articleSavingRequestError = "ArticleSavingRequestError" + case articleSavingRequestSuccess = "ArticleSavingRequestSuccess" + } } - } } extension Unions.ArticleSavingRequestResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "articleSavingRequest": - if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "articleSavingRequest": + if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.ArticleSavingRequestErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.ArticleSavingRequestErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + articleSavingRequest = map["articleSavingRequest"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - articleSavingRequest = map["articleSavingRequest"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.ArticleSavingRequestResult { - func on(articleSavingRequestError: Selection, articleSavingRequestSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ArticleSavingRequestError", selection: articleSavingRequestError.selection), GraphQLField.fragment(type: "ArticleSavingRequestSuccess", selection: articleSavingRequestSuccess.selection)]) + func on(articleSavingRequestError: Selection, articleSavingRequestSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ArticleSavingRequestError", selection: articleSavingRequestError.selection), GraphQLField.fragment(type: "ArticleSavingRequestSuccess", selection: articleSavingRequestSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .articleSavingRequestError: - let data = Objects.ArticleSavingRequestError(errorCodes: data.errorCodes) - return try articleSavingRequestError.decode(data: data) - case .articleSavingRequestSuccess: - let data = Objects.ArticleSavingRequestSuccess(articleSavingRequest: data.articleSavingRequest) - return try articleSavingRequestSuccess.decode(data: data) - } - case .mocking: - return articleSavingRequestError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .articleSavingRequestError: + let data = Objects.ArticleSavingRequestError(errorCodes: data.errorCodes) + return try articleSavingRequestError.decode(data: data) + case .articleSavingRequestSuccess: + let data = Objects.ArticleSavingRequestSuccess(articleSavingRequest: data.articleSavingRequest) + return try articleSavingRequestSuccess.decode(data: data) + } + case .mocking: + return articleSavingRequestError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticleSavingRequestResult = Selection + typealias ArticleSavingRequestResult = Selection } extension Unions { - struct ArticlesResult { - let __typename: TypeName - let edges: [String: [Objects.ArticleEdge]] - let errorCodes: [String: [Enums.ArticlesErrorCode]] - let pageInfo: [String: Objects.PageInfo] + struct ArticlesResult { + let __typename: TypeName + let edges: [String: [Objects.ArticleEdge]] + let errorCodes: [String: [Enums.ArticlesErrorCode]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case articlesError = "ArticlesError" - case articlesSuccess = "ArticlesSuccess" + enum TypeName: String, Codable { + case articlesError = "ArticlesError" + case articlesSuccess = "ArticlesSuccess" + } } - } } extension Unions.ArticlesResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.ArticleEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.ArticleEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.ArticlesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.ArticlesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + edges = map["edges"] + errorCodes = map["errorCodes"] + pageInfo = map["pageInfo"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - edges = map["edges"] - errorCodes = map["errorCodes"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Unions.ArticlesResult { - func on(articlesError: Selection, articlesSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ArticlesError", selection: articlesError.selection), GraphQLField.fragment(type: "ArticlesSuccess", selection: articlesSuccess.selection)]) + func on(articlesError: Selection, articlesSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ArticlesError", selection: articlesError.selection), GraphQLField.fragment(type: "ArticlesSuccess", selection: articlesSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .articlesError: - let data = Objects.ArticlesError(errorCodes: data.errorCodes) - return try articlesError.decode(data: data) - case .articlesSuccess: - let data = Objects.ArticlesSuccess(edges: data.edges, pageInfo: data.pageInfo) - return try articlesSuccess.decode(data: data) - } - case .mocking: - return articlesError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .articlesError: + let data = Objects.ArticlesError(errorCodes: data.errorCodes) + return try articlesError.decode(data: data) + case .articlesSuccess: + let data = Objects.ArticlesSuccess(edges: data.edges, pageInfo: data.pageInfo) + return try articlesSuccess.decode(data: data) + } + case .mocking: + return articlesError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ArticlesResult = Selection + typealias ArticlesResult = Selection } extension Unions { - struct BulkActionResult { - let __typename: TypeName - let errorCodes: [String: [Enums.BulkActionErrorCode]] - let success: [String: Bool] + struct BulkActionResult { + let __typename: TypeName + let errorCodes: [String: [Enums.BulkActionErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case bulkActionError = "BulkActionError" - case bulkActionSuccess = "BulkActionSuccess" + enum TypeName: String, Codable { + case bulkActionError = "BulkActionError" + case bulkActionSuccess = "BulkActionSuccess" + } } - } } extension Unions.BulkActionResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.BulkActionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.BulkActionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.BulkActionResult { - func on(bulkActionError: Selection, bulkActionSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "BulkActionError", selection: bulkActionError.selection), GraphQLField.fragment(type: "BulkActionSuccess", selection: bulkActionSuccess.selection)]) + func on(bulkActionError: Selection, bulkActionSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "BulkActionError", selection: bulkActionError.selection), GraphQLField.fragment(type: "BulkActionSuccess", selection: bulkActionSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .bulkActionError: - let data = Objects.BulkActionError(errorCodes: data.errorCodes) - return try bulkActionError.decode(data: data) - case .bulkActionSuccess: - let data = Objects.BulkActionSuccess(success: data.success) - return try bulkActionSuccess.decode(data: data) - } - case .mocking: - return bulkActionError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .bulkActionError: + let data = Objects.BulkActionError(errorCodes: data.errorCodes) + return try bulkActionError.decode(data: data) + case .bulkActionSuccess: + let data = Objects.BulkActionSuccess(success: data.success) + return try bulkActionSuccess.decode(data: data) + } + case .mocking: + return bulkActionError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias BulkActionResult = Selection + typealias BulkActionResult = Selection } extension Unions { - struct CreateArticleResult { - let __typename: TypeName - let created: [String: Bool] - let createdArticle: [String: Objects.Article] - let errorCodes: [String: [Enums.CreateArticleErrorCode]] - let user: [String: Objects.User] + struct CreateArticleResult { + let __typename: TypeName + let created: [String: Bool] + let createdArticle: [String: Objects.Article] + let errorCodes: [String: [Enums.CreateArticleErrorCode]] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case createArticleError = "CreateArticleError" - case createArticleSuccess = "CreateArticleSuccess" + enum TypeName: String, Codable { + case createArticleError = "CreateArticleError" + case createArticleSuccess = "CreateArticleSuccess" + } } - } } extension Unions.CreateArticleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "created": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "created": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "createdArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.CreateArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "createdArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "errorCodes": - if let value = try container.decode([Enums.CreateArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + created = map["created"] + createdArticle = map["createdArticle"] + errorCodes = map["errorCodes"] + user = map["user"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - created = map["created"] - createdArticle = map["createdArticle"] - errorCodes = map["errorCodes"] - user = map["user"] - } } extension Fields where TypeLock == Unions.CreateArticleResult { - func on(createArticleError: Selection, createArticleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateArticleError", selection: createArticleError.selection), GraphQLField.fragment(type: "CreateArticleSuccess", selection: createArticleSuccess.selection)]) + func on(createArticleError: Selection, createArticleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateArticleError", selection: createArticleError.selection), GraphQLField.fragment(type: "CreateArticleSuccess", selection: createArticleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createArticleError: - let data = Objects.CreateArticleError(errorCodes: data.errorCodes) - return try createArticleError.decode(data: data) - case .createArticleSuccess: - let data = Objects.CreateArticleSuccess(created: data.created, createdArticle: data.createdArticle, user: data.user) - return try createArticleSuccess.decode(data: data) - } - case .mocking: - return createArticleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createArticleError: + let data = Objects.CreateArticleError(errorCodes: data.errorCodes) + return try createArticleError.decode(data: data) + case .createArticleSuccess: + let data = Objects.CreateArticleSuccess(created: data.created, createdArticle: data.createdArticle, user: data.user) + return try createArticleSuccess.decode(data: data) + } + case .mocking: + return createArticleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateArticleResult = Selection + typealias CreateArticleResult = Selection } extension Unions { - struct CreateArticleSavingRequestResult { - let __typename: TypeName - let articleSavingRequest: [String: Objects.ArticleSavingRequest] - let errorCodes: [String: [Enums.CreateArticleSavingRequestErrorCode]] + struct CreateArticleSavingRequestResult { + let __typename: TypeName + let articleSavingRequest: [String: Objects.ArticleSavingRequest] + let errorCodes: [String: [Enums.CreateArticleSavingRequestErrorCode]] - enum TypeName: String, Codable { - case createArticleSavingRequestError = "CreateArticleSavingRequestError" - case createArticleSavingRequestSuccess = "CreateArticleSavingRequestSuccess" + enum TypeName: String, Codable { + case createArticleSavingRequestError = "CreateArticleSavingRequestError" + case createArticleSavingRequestSuccess = "CreateArticleSavingRequestSuccess" + } } - } } extension Unions.CreateArticleSavingRequestResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "articleSavingRequest": - if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "articleSavingRequest": + if let value = try container.decode(Objects.ArticleSavingRequest?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.CreateArticleSavingRequestErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.CreateArticleSavingRequestErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + articleSavingRequest = map["articleSavingRequest"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - articleSavingRequest = map["articleSavingRequest"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.CreateArticleSavingRequestResult { - func on(createArticleSavingRequestError: Selection, createArticleSavingRequestSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateArticleSavingRequestError", selection: createArticleSavingRequestError.selection), GraphQLField.fragment(type: "CreateArticleSavingRequestSuccess", selection: createArticleSavingRequestSuccess.selection)]) + func on(createArticleSavingRequestError: Selection, createArticleSavingRequestSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateArticleSavingRequestError", selection: createArticleSavingRequestError.selection), GraphQLField.fragment(type: "CreateArticleSavingRequestSuccess", selection: createArticleSavingRequestSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createArticleSavingRequestError: - let data = Objects.CreateArticleSavingRequestError(errorCodes: data.errorCodes) - return try createArticleSavingRequestError.decode(data: data) - case .createArticleSavingRequestSuccess: - let data = Objects.CreateArticleSavingRequestSuccess(articleSavingRequest: data.articleSavingRequest) - return try createArticleSavingRequestSuccess.decode(data: data) - } - case .mocking: - return createArticleSavingRequestError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createArticleSavingRequestError: + let data = Objects.CreateArticleSavingRequestError(errorCodes: data.errorCodes) + return try createArticleSavingRequestError.decode(data: data) + case .createArticleSavingRequestSuccess: + let data = Objects.CreateArticleSavingRequestSuccess(articleSavingRequest: data.articleSavingRequest) + return try createArticleSavingRequestSuccess.decode(data: data) + } + case .mocking: + return createArticleSavingRequestError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateArticleSavingRequestResult = Selection + typealias CreateArticleSavingRequestResult = Selection } extension Unions { - struct CreateGroupResult { - let __typename: TypeName - let errorCodes: [String: [Enums.CreateGroupErrorCode]] - let group: [String: Objects.RecommendationGroup] + struct CreateGroupResult { + let __typename: TypeName + let errorCodes: [String: [Enums.CreateGroupErrorCode]] + let group: [String: Objects.RecommendationGroup] - enum TypeName: String, Codable { - case createGroupError = "CreateGroupError" - case createGroupSuccess = "CreateGroupSuccess" + enum TypeName: String, Codable { + case createGroupError = "CreateGroupError" + case createGroupSuccess = "CreateGroupSuccess" + } } - } } extension Unions.CreateGroupResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateGroupErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateGroupErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "group": + if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "group": - if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + group = map["group"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - group = map["group"] - } } extension Fields where TypeLock == Unions.CreateGroupResult { - func on(createGroupError: Selection, createGroupSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateGroupError", selection: createGroupError.selection), GraphQLField.fragment(type: "CreateGroupSuccess", selection: createGroupSuccess.selection)]) + func on(createGroupError: Selection, createGroupSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateGroupError", selection: createGroupError.selection), GraphQLField.fragment(type: "CreateGroupSuccess", selection: createGroupSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createGroupError: - let data = Objects.CreateGroupError(errorCodes: data.errorCodes) - return try createGroupError.decode(data: data) - case .createGroupSuccess: - let data = Objects.CreateGroupSuccess(group: data.group) - return try createGroupSuccess.decode(data: data) - } - case .mocking: - return createGroupError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createGroupError: + let data = Objects.CreateGroupError(errorCodes: data.errorCodes) + return try createGroupError.decode(data: data) + case .createGroupSuccess: + let data = Objects.CreateGroupSuccess(group: data.group) + return try createGroupSuccess.decode(data: data) + } + case .mocking: + return createGroupError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateGroupResult = Selection + typealias CreateGroupResult = Selection } extension Unions { - struct CreateHighlightReplyResult { - let __typename: TypeName - let errorCodes: [String: [Enums.CreateHighlightReplyErrorCode]] - let highlightReply: [String: Objects.HighlightReply] + struct CreateHighlightReplyResult { + let __typename: TypeName + let errorCodes: [String: [Enums.CreateHighlightReplyErrorCode]] + let highlightReply: [String: Objects.HighlightReply] - enum TypeName: String, Codable { - case createHighlightReplyError = "CreateHighlightReplyError" - case createHighlightReplySuccess = "CreateHighlightReplySuccess" + enum TypeName: String, Codable { + case createHighlightReplyError = "CreateHighlightReplyError" + case createHighlightReplySuccess = "CreateHighlightReplySuccess" + } } - } } extension Unions.CreateHighlightReplyResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateHighlightReplyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateHighlightReplyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlightReply": + if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlightReply": - if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlightReply = map["highlightReply"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlightReply = map["highlightReply"] - } } extension Fields where TypeLock == Unions.CreateHighlightReplyResult { - func on(createHighlightReplyError: Selection, createHighlightReplySuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateHighlightReplyError", selection: createHighlightReplyError.selection), GraphQLField.fragment(type: "CreateHighlightReplySuccess", selection: createHighlightReplySuccess.selection)]) + func on(createHighlightReplyError: Selection, createHighlightReplySuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateHighlightReplyError", selection: createHighlightReplyError.selection), GraphQLField.fragment(type: "CreateHighlightReplySuccess", selection: createHighlightReplySuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createHighlightReplyError: - let data = Objects.CreateHighlightReplyError(errorCodes: data.errorCodes) - return try createHighlightReplyError.decode(data: data) - case .createHighlightReplySuccess: - let data = Objects.CreateHighlightReplySuccess(highlightReply: data.highlightReply) - return try createHighlightReplySuccess.decode(data: data) - } - case .mocking: - return createHighlightReplyError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createHighlightReplyError: + let data = Objects.CreateHighlightReplyError(errorCodes: data.errorCodes) + return try createHighlightReplyError.decode(data: data) + case .createHighlightReplySuccess: + let data = Objects.CreateHighlightReplySuccess(highlightReply: data.highlightReply) + return try createHighlightReplySuccess.decode(data: data) + } + case .mocking: + return createHighlightReplyError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateHighlightReplyResult = Selection + typealias CreateHighlightReplyResult = Selection } extension Unions { - struct CreateHighlightResult { - let __typename: TypeName - let errorCodes: [String: [Enums.CreateHighlightErrorCode]] - let highlight: [String: Objects.Highlight] + struct CreateHighlightResult { + let __typename: TypeName + let errorCodes: [String: [Enums.CreateHighlightErrorCode]] + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case createHighlightError = "CreateHighlightError" - case createHighlightSuccess = "CreateHighlightSuccess" + enum TypeName: String, Codable { + case createHighlightError = "CreateHighlightError" + case createHighlightSuccess = "CreateHighlightSuccess" + } } - } } extension Unions.CreateHighlightResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlight = map["highlight"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlight = map["highlight"] - } } extension Fields where TypeLock == Unions.CreateHighlightResult { - func on(createHighlightError: Selection, createHighlightSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateHighlightError", selection: createHighlightError.selection), GraphQLField.fragment(type: "CreateHighlightSuccess", selection: createHighlightSuccess.selection)]) + func on(createHighlightError: Selection, createHighlightSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateHighlightError", selection: createHighlightError.selection), GraphQLField.fragment(type: "CreateHighlightSuccess", selection: createHighlightSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createHighlightError: - let data = Objects.CreateHighlightError(errorCodes: data.errorCodes) - return try createHighlightError.decode(data: data) - case .createHighlightSuccess: - let data = Objects.CreateHighlightSuccess(highlight: data.highlight) - return try createHighlightSuccess.decode(data: data) - } - case .mocking: - return createHighlightError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createHighlightError: + let data = Objects.CreateHighlightError(errorCodes: data.errorCodes) + return try createHighlightError.decode(data: data) + case .createHighlightSuccess: + let data = Objects.CreateHighlightSuccess(highlight: data.highlight) + return try createHighlightSuccess.decode(data: data) + } + case .mocking: + return createHighlightError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateHighlightResult = Selection + typealias CreateHighlightResult = Selection } extension Unions { - struct CreateLabelResult { - let __typename: TypeName - let errorCodes: [String: [Enums.CreateLabelErrorCode]] - let label: [String: Objects.Label] + struct CreateLabelResult { + let __typename: TypeName + let errorCodes: [String: [Enums.CreateLabelErrorCode]] + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case createLabelError = "CreateLabelError" - case createLabelSuccess = "CreateLabelSuccess" + enum TypeName: String, Codable { + case createLabelError = "CreateLabelError" + case createLabelSuccess = "CreateLabelSuccess" + } } - } } extension Unions.CreateLabelResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + label = map["label"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - label = map["label"] - } } extension Fields where TypeLock == Unions.CreateLabelResult { - func on(createLabelError: Selection, createLabelSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateLabelError", selection: createLabelError.selection), GraphQLField.fragment(type: "CreateLabelSuccess", selection: createLabelSuccess.selection)]) + func on(createLabelError: Selection, createLabelSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateLabelError", selection: createLabelError.selection), GraphQLField.fragment(type: "CreateLabelSuccess", selection: createLabelSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createLabelError: - let data = Objects.CreateLabelError(errorCodes: data.errorCodes) - return try createLabelError.decode(data: data) - case .createLabelSuccess: - let data = Objects.CreateLabelSuccess(label: data.label) - return try createLabelSuccess.decode(data: data) - } - case .mocking: - return createLabelError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createLabelError: + let data = Objects.CreateLabelError(errorCodes: data.errorCodes) + return try createLabelError.decode(data: data) + case .createLabelSuccess: + let data = Objects.CreateLabelSuccess(label: data.label) + return try createLabelSuccess.decode(data: data) + } + case .mocking: + return createLabelError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateLabelResult = Selection + typealias CreateLabelResult = Selection } extension Unions { - struct CreateNewsletterEmailResult { - let __typename: TypeName - let errorCodes: [String: [Enums.CreateNewsletterEmailErrorCode]] - let newsletterEmail: [String: Objects.NewsletterEmail] + struct CreateNewsletterEmailResult { + let __typename: TypeName + let errorCodes: [String: [Enums.CreateNewsletterEmailErrorCode]] + let newsletterEmail: [String: Objects.NewsletterEmail] - enum TypeName: String, Codable { - case createNewsletterEmailError = "CreateNewsletterEmailError" - case createNewsletterEmailSuccess = "CreateNewsletterEmailSuccess" + enum TypeName: String, Codable { + case createNewsletterEmailError = "CreateNewsletterEmailError" + case createNewsletterEmailSuccess = "CreateNewsletterEmailSuccess" + } } - } } extension Unions.CreateNewsletterEmailResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateNewsletterEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateNewsletterEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "newsletterEmail": + if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "newsletterEmail": - if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + newsletterEmail = map["newsletterEmail"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - newsletterEmail = map["newsletterEmail"] - } } extension Fields where TypeLock == Unions.CreateNewsletterEmailResult { - func on(createNewsletterEmailError: Selection, createNewsletterEmailSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateNewsletterEmailError", selection: createNewsletterEmailError.selection), GraphQLField.fragment(type: "CreateNewsletterEmailSuccess", selection: createNewsletterEmailSuccess.selection)]) + func on(createNewsletterEmailError: Selection, createNewsletterEmailSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateNewsletterEmailError", selection: createNewsletterEmailError.selection), GraphQLField.fragment(type: "CreateNewsletterEmailSuccess", selection: createNewsletterEmailSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createNewsletterEmailError: - let data = Objects.CreateNewsletterEmailError(errorCodes: data.errorCodes) - return try createNewsletterEmailError.decode(data: data) - case .createNewsletterEmailSuccess: - let data = Objects.CreateNewsletterEmailSuccess(newsletterEmail: data.newsletterEmail) - return try createNewsletterEmailSuccess.decode(data: data) - } - case .mocking: - return createNewsletterEmailError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createNewsletterEmailError: + let data = Objects.CreateNewsletterEmailError(errorCodes: data.errorCodes) + return try createNewsletterEmailError.decode(data: data) + case .createNewsletterEmailSuccess: + let data = Objects.CreateNewsletterEmailSuccess(newsletterEmail: data.newsletterEmail) + return try createNewsletterEmailSuccess.decode(data: data) + } + case .mocking: + return createNewsletterEmailError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateNewsletterEmailResult = Selection + typealias CreateNewsletterEmailResult = Selection } extension Unions { - struct CreateReactionResult { - let __typename: TypeName - let errorCodes: [String: [Enums.CreateReactionErrorCode]] - let reaction: [String: Objects.Reaction] + struct CreateReactionResult { + let __typename: TypeName + let errorCodes: [String: [Enums.CreateReactionErrorCode]] + let reaction: [String: Objects.Reaction] - enum TypeName: String, Codable { - case createReactionError = "CreateReactionError" - case createReactionSuccess = "CreateReactionSuccess" + enum TypeName: String, Codable { + case createReactionError = "CreateReactionError" + case createReactionSuccess = "CreateReactionSuccess" + } } - } } extension Unions.CreateReactionResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateReactionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateReactionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reaction": + if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "reaction": - if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + reaction = map["reaction"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - reaction = map["reaction"] - } } extension Fields where TypeLock == Unions.CreateReactionResult { - func on(createReactionError: Selection, createReactionSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateReactionError", selection: createReactionError.selection), GraphQLField.fragment(type: "CreateReactionSuccess", selection: createReactionSuccess.selection)]) + func on(createReactionError: Selection, createReactionSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateReactionError", selection: createReactionError.selection), GraphQLField.fragment(type: "CreateReactionSuccess", selection: createReactionSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createReactionError: - let data = Objects.CreateReactionError(errorCodes: data.errorCodes) - return try createReactionError.decode(data: data) - case .createReactionSuccess: - let data = Objects.CreateReactionSuccess(reaction: data.reaction) - return try createReactionSuccess.decode(data: data) - } - case .mocking: - return createReactionError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createReactionError: + let data = Objects.CreateReactionError(errorCodes: data.errorCodes) + return try createReactionError.decode(data: data) + case .createReactionSuccess: + let data = Objects.CreateReactionSuccess(reaction: data.reaction) + return try createReactionSuccess.decode(data: data) + } + case .mocking: + return createReactionError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateReactionResult = Selection + typealias CreateReactionResult = Selection } extension Unions { - struct CreateReminderResult { - let __typename: TypeName - let errorCodes: [String: [Enums.CreateReminderErrorCode]] - let reminder: [String: Objects.Reminder] + struct CreateReminderResult { + let __typename: TypeName + let errorCodes: [String: [Enums.CreateReminderErrorCode]] + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case createReminderError = "CreateReminderError" - case createReminderSuccess = "CreateReminderSuccess" + enum TypeName: String, Codable { + case createReminderError = "CreateReminderError" + case createReminderSuccess = "CreateReminderSuccess" + } } - } } extension Unions.CreateReminderResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.CreateReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.CreateReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + reminder = map["reminder"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - reminder = map["reminder"] - } } extension Fields where TypeLock == Unions.CreateReminderResult { - func on(createReminderError: Selection, createReminderSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "CreateReminderError", selection: createReminderError.selection), GraphQLField.fragment(type: "CreateReminderSuccess", selection: createReminderSuccess.selection)]) + func on(createReminderError: Selection, createReminderSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "CreateReminderError", selection: createReminderError.selection), GraphQLField.fragment(type: "CreateReminderSuccess", selection: createReminderSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .createReminderError: - let data = Objects.CreateReminderError(errorCodes: data.errorCodes) - return try createReminderError.decode(data: data) - case .createReminderSuccess: - let data = Objects.CreateReminderSuccess(reminder: data.reminder) - return try createReminderSuccess.decode(data: data) - } - case .mocking: - return createReminderError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .createReminderError: + let data = Objects.CreateReminderError(errorCodes: data.errorCodes) + return try createReminderError.decode(data: data) + case .createReminderSuccess: + let data = Objects.CreateReminderSuccess(reminder: data.reminder) + return try createReminderSuccess.decode(data: data) + } + case .mocking: + return createReminderError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias CreateReminderResult = Selection + typealias CreateReminderResult = Selection } extension Unions { - struct DeleteAccountResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteAccountErrorCode]] - let userId: [String: String] + struct DeleteAccountResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteAccountErrorCode]] + let userId: [String: String] - enum TypeName: String, Codable { - case deleteAccountError = "DeleteAccountError" - case deleteAccountSuccess = "DeleteAccountSuccess" + enum TypeName: String, Codable { + case deleteAccountError = "DeleteAccountError" + case deleteAccountSuccess = "DeleteAccountSuccess" + } } - } } extension Unions.DeleteAccountResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteAccountErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteAccountErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "userId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "userId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + userId = map["userId"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - userId = map["userId"] - } } extension Fields where TypeLock == Unions.DeleteAccountResult { - func on(deleteAccountError: Selection, deleteAccountSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteAccountError", selection: deleteAccountError.selection), GraphQLField.fragment(type: "DeleteAccountSuccess", selection: deleteAccountSuccess.selection)]) + func on(deleteAccountError: Selection, deleteAccountSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteAccountError", selection: deleteAccountError.selection), GraphQLField.fragment(type: "DeleteAccountSuccess", selection: deleteAccountSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteAccountError: - let data = Objects.DeleteAccountError(errorCodes: data.errorCodes) - return try deleteAccountError.decode(data: data) - case .deleteAccountSuccess: - let data = Objects.DeleteAccountSuccess(userId: data.userId) - return try deleteAccountSuccess.decode(data: data) - } - case .mocking: - return deleteAccountError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteAccountError: + let data = Objects.DeleteAccountError(errorCodes: data.errorCodes) + return try deleteAccountError.decode(data: data) + case .deleteAccountSuccess: + let data = Objects.DeleteAccountSuccess(userId: data.userId) + return try deleteAccountSuccess.decode(data: data) + } + case .mocking: + return deleteAccountError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteAccountResult = Selection + typealias DeleteAccountResult = Selection } extension Unions { - struct DeleteFilterResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteFilterErrorCode]] - let filter: [String: Objects.Filter] + struct DeleteFilterResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteFilterErrorCode]] + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case deleteFilterError = "DeleteFilterError" - case deleteFilterSuccess = "DeleteFilterSuccess" + enum TypeName: String, Codable { + case deleteFilterError = "DeleteFilterError" + case deleteFilterSuccess = "DeleteFilterSuccess" + } } - } } extension Unions.DeleteFilterResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + filter = map["filter"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - filter = map["filter"] - } } extension Fields where TypeLock == Unions.DeleteFilterResult { - func on(deleteFilterError: Selection, deleteFilterSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteFilterError", selection: deleteFilterError.selection), GraphQLField.fragment(type: "DeleteFilterSuccess", selection: deleteFilterSuccess.selection)]) + func on(deleteFilterError: Selection, deleteFilterSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteFilterError", selection: deleteFilterError.selection), GraphQLField.fragment(type: "DeleteFilterSuccess", selection: deleteFilterSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteFilterError: - let data = Objects.DeleteFilterError(errorCodes: data.errorCodes) - return try deleteFilterError.decode(data: data) - case .deleteFilterSuccess: - let data = Objects.DeleteFilterSuccess(filter: data.filter) - return try deleteFilterSuccess.decode(data: data) - } - case .mocking: - return deleteFilterError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteFilterError: + let data = Objects.DeleteFilterError(errorCodes: data.errorCodes) + return try deleteFilterError.decode(data: data) + case .deleteFilterSuccess: + let data = Objects.DeleteFilterSuccess(filter: data.filter) + return try deleteFilterSuccess.decode(data: data) + } + case .mocking: + return deleteFilterError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteFilterResult = Selection + typealias DeleteFilterResult = Selection } extension Unions { - struct DeleteHighlightReplyResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteHighlightReplyErrorCode]] - let highlightReply: [String: Objects.HighlightReply] + struct DeleteHighlightReplyResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteHighlightReplyErrorCode]] + let highlightReply: [String: Objects.HighlightReply] - enum TypeName: String, Codable { - case deleteHighlightReplyError = "DeleteHighlightReplyError" - case deleteHighlightReplySuccess = "DeleteHighlightReplySuccess" + enum TypeName: String, Codable { + case deleteHighlightReplyError = "DeleteHighlightReplyError" + case deleteHighlightReplySuccess = "DeleteHighlightReplySuccess" + } } - } } extension Unions.DeleteHighlightReplyResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteHighlightReplyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteHighlightReplyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlightReply": + if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlightReply": - if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlightReply = map["highlightReply"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlightReply = map["highlightReply"] - } } extension Fields where TypeLock == Unions.DeleteHighlightReplyResult { - func on(deleteHighlightReplyError: Selection, deleteHighlightReplySuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteHighlightReplyError", selection: deleteHighlightReplyError.selection), GraphQLField.fragment(type: "DeleteHighlightReplySuccess", selection: deleteHighlightReplySuccess.selection)]) + func on(deleteHighlightReplyError: Selection, deleteHighlightReplySuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteHighlightReplyError", selection: deleteHighlightReplyError.selection), GraphQLField.fragment(type: "DeleteHighlightReplySuccess", selection: deleteHighlightReplySuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteHighlightReplyError: - let data = Objects.DeleteHighlightReplyError(errorCodes: data.errorCodes) - return try deleteHighlightReplyError.decode(data: data) - case .deleteHighlightReplySuccess: - let data = Objects.DeleteHighlightReplySuccess(highlightReply: data.highlightReply) - return try deleteHighlightReplySuccess.decode(data: data) - } - case .mocking: - return deleteHighlightReplyError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteHighlightReplyError: + let data = Objects.DeleteHighlightReplyError(errorCodes: data.errorCodes) + return try deleteHighlightReplyError.decode(data: data) + case .deleteHighlightReplySuccess: + let data = Objects.DeleteHighlightReplySuccess(highlightReply: data.highlightReply) + return try deleteHighlightReplySuccess.decode(data: data) + } + case .mocking: + return deleteHighlightReplyError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteHighlightReplyResult = Selection + typealias DeleteHighlightReplyResult = Selection } extension Unions { - struct DeleteHighlightResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteHighlightErrorCode]] - let highlight: [String: Objects.Highlight] + struct DeleteHighlightResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteHighlightErrorCode]] + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case deleteHighlightError = "DeleteHighlightError" - case deleteHighlightSuccess = "DeleteHighlightSuccess" + enum TypeName: String, Codable { + case deleteHighlightError = "DeleteHighlightError" + case deleteHighlightSuccess = "DeleteHighlightSuccess" + } } - } } extension Unions.DeleteHighlightResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlight = map["highlight"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlight = map["highlight"] - } } extension Fields where TypeLock == Unions.DeleteHighlightResult { - func on(deleteHighlightError: Selection, deleteHighlightSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteHighlightError", selection: deleteHighlightError.selection), GraphQLField.fragment(type: "DeleteHighlightSuccess", selection: deleteHighlightSuccess.selection)]) + func on(deleteHighlightError: Selection, deleteHighlightSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteHighlightError", selection: deleteHighlightError.selection), GraphQLField.fragment(type: "DeleteHighlightSuccess", selection: deleteHighlightSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteHighlightError: - let data = Objects.DeleteHighlightError(errorCodes: data.errorCodes) - return try deleteHighlightError.decode(data: data) - case .deleteHighlightSuccess: - let data = Objects.DeleteHighlightSuccess(highlight: data.highlight) - return try deleteHighlightSuccess.decode(data: data) - } - case .mocking: - return deleteHighlightError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteHighlightError: + let data = Objects.DeleteHighlightError(errorCodes: data.errorCodes) + return try deleteHighlightError.decode(data: data) + case .deleteHighlightSuccess: + let data = Objects.DeleteHighlightSuccess(highlight: data.highlight) + return try deleteHighlightSuccess.decode(data: data) + } + case .mocking: + return deleteHighlightError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteHighlightResult = Selection + typealias DeleteHighlightResult = Selection } extension Unions { - struct DeleteIntegrationResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteIntegrationErrorCode]] - let integration: [String: Objects.Integration] + struct DeleteIntegrationResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteIntegrationErrorCode]] + let integration: [String: Objects.Integration] - enum TypeName: String, Codable { - case deleteIntegrationError = "DeleteIntegrationError" - case deleteIntegrationSuccess = "DeleteIntegrationSuccess" + enum TypeName: String, Codable { + case deleteIntegrationError = "DeleteIntegrationError" + case deleteIntegrationSuccess = "DeleteIntegrationSuccess" + } } - } } extension Unions.DeleteIntegrationResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteIntegrationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteIntegrationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "integration": + if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "integration": - if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + integration = map["integration"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - integration = map["integration"] - } } extension Fields where TypeLock == Unions.DeleteIntegrationResult { - func on(deleteIntegrationError: Selection, deleteIntegrationSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteIntegrationError", selection: deleteIntegrationError.selection), GraphQLField.fragment(type: "DeleteIntegrationSuccess", selection: deleteIntegrationSuccess.selection)]) + func on(deleteIntegrationError: Selection, deleteIntegrationSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteIntegrationError", selection: deleteIntegrationError.selection), GraphQLField.fragment(type: "DeleteIntegrationSuccess", selection: deleteIntegrationSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteIntegrationError: - let data = Objects.DeleteIntegrationError(errorCodes: data.errorCodes) - return try deleteIntegrationError.decode(data: data) - case .deleteIntegrationSuccess: - let data = Objects.DeleteIntegrationSuccess(integration: data.integration) - return try deleteIntegrationSuccess.decode(data: data) - } - case .mocking: - return deleteIntegrationError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteIntegrationError: + let data = Objects.DeleteIntegrationError(errorCodes: data.errorCodes) + return try deleteIntegrationError.decode(data: data) + case .deleteIntegrationSuccess: + let data = Objects.DeleteIntegrationSuccess(integration: data.integration) + return try deleteIntegrationSuccess.decode(data: data) + } + case .mocking: + return deleteIntegrationError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteIntegrationResult = Selection + typealias DeleteIntegrationResult = Selection } extension Unions { - struct DeleteLabelResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteLabelErrorCode]] - let label: [String: Objects.Label] + struct DeleteLabelResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteLabelErrorCode]] + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case deleteLabelError = "DeleteLabelError" - case deleteLabelSuccess = "DeleteLabelSuccess" + enum TypeName: String, Codable { + case deleteLabelError = "DeleteLabelError" + case deleteLabelSuccess = "DeleteLabelSuccess" + } } - } } extension Unions.DeleteLabelResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + label = map["label"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - label = map["label"] - } } extension Fields where TypeLock == Unions.DeleteLabelResult { - func on(deleteLabelError: Selection, deleteLabelSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteLabelError", selection: deleteLabelError.selection), GraphQLField.fragment(type: "DeleteLabelSuccess", selection: deleteLabelSuccess.selection)]) + func on(deleteLabelError: Selection, deleteLabelSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteLabelError", selection: deleteLabelError.selection), GraphQLField.fragment(type: "DeleteLabelSuccess", selection: deleteLabelSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteLabelError: - let data = Objects.DeleteLabelError(errorCodes: data.errorCodes) - return try deleteLabelError.decode(data: data) - case .deleteLabelSuccess: - let data = Objects.DeleteLabelSuccess(label: data.label) - return try deleteLabelSuccess.decode(data: data) - } - case .mocking: - return deleteLabelError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteLabelError: + let data = Objects.DeleteLabelError(errorCodes: data.errorCodes) + return try deleteLabelError.decode(data: data) + case .deleteLabelSuccess: + let data = Objects.DeleteLabelSuccess(label: data.label) + return try deleteLabelSuccess.decode(data: data) + } + case .mocking: + return deleteLabelError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteLabelResult = Selection + typealias DeleteLabelResult = Selection } extension Unions { - struct DeleteNewsletterEmailResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteNewsletterEmailErrorCode]] - let newsletterEmail: [String: Objects.NewsletterEmail] + struct DeleteNewsletterEmailResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteNewsletterEmailErrorCode]] + let newsletterEmail: [String: Objects.NewsletterEmail] - enum TypeName: String, Codable { - case deleteNewsletterEmailError = "DeleteNewsletterEmailError" - case deleteNewsletterEmailSuccess = "DeleteNewsletterEmailSuccess" + enum TypeName: String, Codable { + case deleteNewsletterEmailError = "DeleteNewsletterEmailError" + case deleteNewsletterEmailSuccess = "DeleteNewsletterEmailSuccess" + } } - } } extension Unions.DeleteNewsletterEmailResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteNewsletterEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteNewsletterEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "newsletterEmail": + if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "newsletterEmail": - if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + newsletterEmail = map["newsletterEmail"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - newsletterEmail = map["newsletterEmail"] - } } extension Fields where TypeLock == Unions.DeleteNewsletterEmailResult { - func on(deleteNewsletterEmailError: Selection, deleteNewsletterEmailSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteNewsletterEmailError", selection: deleteNewsletterEmailError.selection), GraphQLField.fragment(type: "DeleteNewsletterEmailSuccess", selection: deleteNewsletterEmailSuccess.selection)]) + func on(deleteNewsletterEmailError: Selection, deleteNewsletterEmailSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteNewsletterEmailError", selection: deleteNewsletterEmailError.selection), GraphQLField.fragment(type: "DeleteNewsletterEmailSuccess", selection: deleteNewsletterEmailSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteNewsletterEmailError: - let data = Objects.DeleteNewsletterEmailError(errorCodes: data.errorCodes) - return try deleteNewsletterEmailError.decode(data: data) - case .deleteNewsletterEmailSuccess: - let data = Objects.DeleteNewsletterEmailSuccess(newsletterEmail: data.newsletterEmail) - return try deleteNewsletterEmailSuccess.decode(data: data) - } - case .mocking: - return deleteNewsletterEmailError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteNewsletterEmailError: + let data = Objects.DeleteNewsletterEmailError(errorCodes: data.errorCodes) + return try deleteNewsletterEmailError.decode(data: data) + case .deleteNewsletterEmailSuccess: + let data = Objects.DeleteNewsletterEmailSuccess(newsletterEmail: data.newsletterEmail) + return try deleteNewsletterEmailSuccess.decode(data: data) + } + case .mocking: + return deleteNewsletterEmailError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteNewsletterEmailResult = Selection + typealias DeleteNewsletterEmailResult = Selection } extension Unions { - struct DeleteReactionResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteReactionErrorCode]] - let reaction: [String: Objects.Reaction] + struct DeleteReactionResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteReactionErrorCode]] + let reaction: [String: Objects.Reaction] - enum TypeName: String, Codable { - case deleteReactionError = "DeleteReactionError" - case deleteReactionSuccess = "DeleteReactionSuccess" + enum TypeName: String, Codable { + case deleteReactionError = "DeleteReactionError" + case deleteReactionSuccess = "DeleteReactionSuccess" + } } - } } extension Unions.DeleteReactionResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteReactionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteReactionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reaction": + if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "reaction": - if let value = try container.decode(Objects.Reaction?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + reaction = map["reaction"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - reaction = map["reaction"] - } } extension Fields where TypeLock == Unions.DeleteReactionResult { - func on(deleteReactionError: Selection, deleteReactionSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteReactionError", selection: deleteReactionError.selection), GraphQLField.fragment(type: "DeleteReactionSuccess", selection: deleteReactionSuccess.selection)]) + func on(deleteReactionError: Selection, deleteReactionSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteReactionError", selection: deleteReactionError.selection), GraphQLField.fragment(type: "DeleteReactionSuccess", selection: deleteReactionSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteReactionError: - let data = Objects.DeleteReactionError(errorCodes: data.errorCodes) - return try deleteReactionError.decode(data: data) - case .deleteReactionSuccess: - let data = Objects.DeleteReactionSuccess(reaction: data.reaction) - return try deleteReactionSuccess.decode(data: data) - } - case .mocking: - return deleteReactionError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteReactionError: + let data = Objects.DeleteReactionError(errorCodes: data.errorCodes) + return try deleteReactionError.decode(data: data) + case .deleteReactionSuccess: + let data = Objects.DeleteReactionSuccess(reaction: data.reaction) + return try deleteReactionSuccess.decode(data: data) + } + case .mocking: + return deleteReactionError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteReactionResult = Selection + typealias DeleteReactionResult = Selection } extension Unions { - struct DeleteReminderResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteReminderErrorCode]] - let reminder: [String: Objects.Reminder] + struct DeleteReminderResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteReminderErrorCode]] + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case deleteReminderError = "DeleteReminderError" - case deleteReminderSuccess = "DeleteReminderSuccess" + enum TypeName: String, Codable { + case deleteReminderError = "DeleteReminderError" + case deleteReminderSuccess = "DeleteReminderSuccess" + } } - } } extension Unions.DeleteReminderResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + reminder = map["reminder"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - reminder = map["reminder"] - } } extension Fields where TypeLock == Unions.DeleteReminderResult { - func on(deleteReminderError: Selection, deleteReminderSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteReminderError", selection: deleteReminderError.selection), GraphQLField.fragment(type: "DeleteReminderSuccess", selection: deleteReminderSuccess.selection)]) + func on(deleteReminderError: Selection, deleteReminderSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteReminderError", selection: deleteReminderError.selection), GraphQLField.fragment(type: "DeleteReminderSuccess", selection: deleteReminderSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteReminderError: - let data = Objects.DeleteReminderError(errorCodes: data.errorCodes) - return try deleteReminderError.decode(data: data) - case .deleteReminderSuccess: - let data = Objects.DeleteReminderSuccess(reminder: data.reminder) - return try deleteReminderSuccess.decode(data: data) - } - case .mocking: - return deleteReminderError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteReminderError: + let data = Objects.DeleteReminderError(errorCodes: data.errorCodes) + return try deleteReminderError.decode(data: data) + case .deleteReminderSuccess: + let data = Objects.DeleteReminderSuccess(reminder: data.reminder) + return try deleteReminderSuccess.decode(data: data) + } + case .mocking: + return deleteReminderError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteReminderResult = Selection + typealias DeleteReminderResult = Selection } extension Unions { - struct DeleteRuleResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteRuleErrorCode]] - let rule: [String: Objects.Rule] + struct DeleteRuleResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteRuleErrorCode]] + let rule: [String: Objects.Rule] - enum TypeName: String, Codable { - case deleteRuleError = "DeleteRuleError" - case deleteRuleSuccess = "DeleteRuleSuccess" + enum TypeName: String, Codable { + case deleteRuleError = "DeleteRuleError" + case deleteRuleSuccess = "DeleteRuleSuccess" + } } - } } extension Unions.DeleteRuleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteRuleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteRuleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "rule": + if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "rule": - if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + rule = map["rule"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - rule = map["rule"] - } } extension Fields where TypeLock == Unions.DeleteRuleResult { - func on(deleteRuleError: Selection, deleteRuleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteRuleError", selection: deleteRuleError.selection), GraphQLField.fragment(type: "DeleteRuleSuccess", selection: deleteRuleSuccess.selection)]) + func on(deleteRuleError: Selection, deleteRuleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteRuleError", selection: deleteRuleError.selection), GraphQLField.fragment(type: "DeleteRuleSuccess", selection: deleteRuleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteRuleError: - let data = Objects.DeleteRuleError(errorCodes: data.errorCodes) - return try deleteRuleError.decode(data: data) - case .deleteRuleSuccess: - let data = Objects.DeleteRuleSuccess(rule: data.rule) - return try deleteRuleSuccess.decode(data: data) - } - case .mocking: - return deleteRuleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteRuleError: + let data = Objects.DeleteRuleError(errorCodes: data.errorCodes) + return try deleteRuleError.decode(data: data) + case .deleteRuleSuccess: + let data = Objects.DeleteRuleSuccess(rule: data.rule) + return try deleteRuleSuccess.decode(data: data) + } + case .mocking: + return deleteRuleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteRuleResult = Selection + typealias DeleteRuleResult = Selection } extension Unions { - struct DeleteWebhookResult { - let __typename: TypeName - let errorCodes: [String: [Enums.DeleteWebhookErrorCode]] - let webhook: [String: Objects.Webhook] + struct DeleteWebhookResult { + let __typename: TypeName + let errorCodes: [String: [Enums.DeleteWebhookErrorCode]] + let webhook: [String: Objects.Webhook] - enum TypeName: String, Codable { - case deleteWebhookError = "DeleteWebhookError" - case deleteWebhookSuccess = "DeleteWebhookSuccess" + enum TypeName: String, Codable { + case deleteWebhookError = "DeleteWebhookError" + case deleteWebhookSuccess = "DeleteWebhookSuccess" + } } - } } extension Unions.DeleteWebhookResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.DeleteWebhookErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.DeleteWebhookErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "webhook": + if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "webhook": - if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + webhook = map["webhook"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - webhook = map["webhook"] - } } extension Fields where TypeLock == Unions.DeleteWebhookResult { - func on(deleteWebhookError: Selection, deleteWebhookSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeleteWebhookError", selection: deleteWebhookError.selection), GraphQLField.fragment(type: "DeleteWebhookSuccess", selection: deleteWebhookSuccess.selection)]) + func on(deleteWebhookError: Selection, deleteWebhookSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeleteWebhookError", selection: deleteWebhookError.selection), GraphQLField.fragment(type: "DeleteWebhookSuccess", selection: deleteWebhookSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deleteWebhookError: - let data = Objects.DeleteWebhookError(errorCodes: data.errorCodes) - return try deleteWebhookError.decode(data: data) - case .deleteWebhookSuccess: - let data = Objects.DeleteWebhookSuccess(webhook: data.webhook) - return try deleteWebhookSuccess.decode(data: data) - } - case .mocking: - return deleteWebhookError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deleteWebhookError: + let data = Objects.DeleteWebhookError(errorCodes: data.errorCodes) + return try deleteWebhookError.decode(data: data) + case .deleteWebhookSuccess: + let data = Objects.DeleteWebhookSuccess(webhook: data.webhook) + return try deleteWebhookSuccess.decode(data: data) + } + case .mocking: + return deleteWebhookError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeleteWebhookResult = Selection + typealias DeleteWebhookResult = Selection } extension Unions { - struct DeviceTokensResult { - let __typename: TypeName - let deviceTokens: [String: [Objects.DeviceToken]] - let errorCodes: [String: [Enums.DeviceTokensErrorCode]] + struct DeviceTokensResult { + let __typename: TypeName + let deviceTokens: [String: [Objects.DeviceToken]] + let errorCodes: [String: [Enums.DeviceTokensErrorCode]] - enum TypeName: String, Codable { - case deviceTokensError = "DeviceTokensError" - case deviceTokensSuccess = "DeviceTokensSuccess" + enum TypeName: String, Codable { + case deviceTokensError = "DeviceTokensError" + case deviceTokensSuccess = "DeviceTokensSuccess" + } } - } } extension Unions.DeviceTokensResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "deviceTokens": - if let value = try container.decode([Objects.DeviceToken]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "deviceTokens": + if let value = try container.decode([Objects.DeviceToken]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.DeviceTokensErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.DeviceTokensErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + deviceTokens = map["deviceTokens"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - deviceTokens = map["deviceTokens"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.DeviceTokensResult { - func on(deviceTokensError: Selection, deviceTokensSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "DeviceTokensError", selection: deviceTokensError.selection), GraphQLField.fragment(type: "DeviceTokensSuccess", selection: deviceTokensSuccess.selection)]) + func on(deviceTokensError: Selection, deviceTokensSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "DeviceTokensError", selection: deviceTokensError.selection), GraphQLField.fragment(type: "DeviceTokensSuccess", selection: deviceTokensSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .deviceTokensError: - let data = Objects.DeviceTokensError(errorCodes: data.errorCodes) - return try deviceTokensError.decode(data: data) - case .deviceTokensSuccess: - let data = Objects.DeviceTokensSuccess(deviceTokens: data.deviceTokens) - return try deviceTokensSuccess.decode(data: data) - } - case .mocking: - return deviceTokensError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .deviceTokensError: + let data = Objects.DeviceTokensError(errorCodes: data.errorCodes) + return try deviceTokensError.decode(data: data) + case .deviceTokensSuccess: + let data = Objects.DeviceTokensSuccess(deviceTokens: data.deviceTokens) + return try deviceTokensSuccess.decode(data: data) + } + case .mocking: + return deviceTokensError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias DeviceTokensResult = Selection + typealias DeviceTokensResult = Selection } extension Unions { - struct FeedArticlesResult { - let __typename: TypeName - let edges: [String: [Objects.FeedArticleEdge]] - let errorCodes: [String: [Enums.FeedArticlesErrorCode]] - let pageInfo: [String: Objects.PageInfo] + struct EmptyTrashResult { + let __typename: TypeName + let errorCodes: [String: [Enums.EmptyTrashErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case feedArticlesError = "FeedArticlesError" - case feedArticlesSuccess = "FeedArticlesSuccess" + enum TypeName: String, Codable { + case emptyTrashError = "EmptyTrashError" + case emptyTrashSuccess = "EmptyTrashSuccess" + } + } +} + +extension Unions.EmptyTrashResult: Decodable { + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } + + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) + + switch field { + case "errorCodes": + if let value = try container.decode([Enums.EmptyTrashErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } + } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] + } +} + +extension Fields where TypeLock == Unions.EmptyTrashResult { + func on(emptyTrashError: Selection, emptyTrashSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "EmptyTrashError", selection: emptyTrashError.selection), GraphQLField.fragment(type: "EmptyTrashSuccess", selection: emptyTrashSuccess.selection)]) + + switch response { + case let .decoding(data): + switch data.__typename { + case .emptyTrashError: + let data = Objects.EmptyTrashError(errorCodes: data.errorCodes) + return try emptyTrashError.decode(data: data) + case .emptyTrashSuccess: + let data = Objects.EmptyTrashSuccess(success: data.success) + return try emptyTrashSuccess.decode(data: data) + } + case .mocking: + return emptyTrashError.mock() + } + } +} + +extension Selection where TypeLock == Never, Type == Never { + typealias EmptyTrashResult = Selection +} + +extension Unions { + struct FeedArticlesResult { + let __typename: TypeName + let edges: [String: [Objects.FeedArticleEdge]] + let errorCodes: [String: [Enums.FeedArticlesErrorCode]] + let pageInfo: [String: Objects.PageInfo] + + enum TypeName: String, Codable { + case feedArticlesError = "FeedArticlesError" + case feedArticlesSuccess = "FeedArticlesSuccess" + } } - } } extension Unions.FeedArticlesResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.FeedArticleEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.FeedArticleEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.FeedArticlesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.FeedArticlesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + edges = map["edges"] + errorCodes = map["errorCodes"] + pageInfo = map["pageInfo"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - edges = map["edges"] - errorCodes = map["errorCodes"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Unions.FeedArticlesResult { - func on(feedArticlesError: Selection, feedArticlesSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "FeedArticlesError", selection: feedArticlesError.selection), GraphQLField.fragment(type: "FeedArticlesSuccess", selection: feedArticlesSuccess.selection)]) + func on(feedArticlesError: Selection, feedArticlesSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "FeedArticlesError", selection: feedArticlesError.selection), GraphQLField.fragment(type: "FeedArticlesSuccess", selection: feedArticlesSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .feedArticlesError: - let data = Objects.FeedArticlesError(errorCodes: data.errorCodes) - return try feedArticlesError.decode(data: data) - case .feedArticlesSuccess: - let data = Objects.FeedArticlesSuccess(edges: data.edges, pageInfo: data.pageInfo) - return try feedArticlesSuccess.decode(data: data) - } - case .mocking: - return feedArticlesError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .feedArticlesError: + let data = Objects.FeedArticlesError(errorCodes: data.errorCodes) + return try feedArticlesError.decode(data: data) + case .feedArticlesSuccess: + let data = Objects.FeedArticlesSuccess(edges: data.edges, pageInfo: data.pageInfo) + return try feedArticlesSuccess.decode(data: data) + } + case .mocking: + return feedArticlesError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedArticlesResult = Selection + typealias FeedArticlesResult = Selection } extension Unions { - struct FeedsResult { - let __typename: TypeName - let edges: [String: [Objects.FeedEdge]] - let errorCodes: [String: [Enums.FeedsErrorCode]] - let pageInfo: [String: Objects.PageInfo] + struct FeedsResult { + let __typename: TypeName + let edges: [String: [Objects.FeedEdge]] + let errorCodes: [String: [Enums.FeedsErrorCode]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case feedsError = "FeedsError" - case feedsSuccess = "FeedsSuccess" + enum TypeName: String, Codable { + case feedsError = "FeedsError" + case feedsSuccess = "FeedsSuccess" + } } - } } extension Unions.FeedsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.FeedEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.FeedEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.FeedsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.FeedsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + edges = map["edges"] + errorCodes = map["errorCodes"] + pageInfo = map["pageInfo"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - edges = map["edges"] - errorCodes = map["errorCodes"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Unions.FeedsResult { - func on(feedsError: Selection, feedsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "FeedsError", selection: feedsError.selection), GraphQLField.fragment(type: "FeedsSuccess", selection: feedsSuccess.selection)]) + func on(feedsError: Selection, feedsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "FeedsError", selection: feedsError.selection), GraphQLField.fragment(type: "FeedsSuccess", selection: feedsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .feedsError: - let data = Objects.FeedsError(errorCodes: data.errorCodes) - return try feedsError.decode(data: data) - case .feedsSuccess: - let data = Objects.FeedsSuccess(edges: data.edges, pageInfo: data.pageInfo) - return try feedsSuccess.decode(data: data) - } - case .mocking: - return feedsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .feedsError: + let data = Objects.FeedsError(errorCodes: data.errorCodes) + return try feedsError.decode(data: data) + case .feedsSuccess: + let data = Objects.FeedsSuccess(edges: data.edges, pageInfo: data.pageInfo) + return try feedsSuccess.decode(data: data) + } + case .mocking: + return feedsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FeedsResult = Selection + typealias FeedsResult = Selection } extension Unions { - struct FetchContentResult { - let __typename: TypeName - let errorCodes: [String: [Enums.FetchContentErrorCode]] - let success: [String: Bool] + struct FetchContentResult { + let __typename: TypeName + let errorCodes: [String: [Enums.FetchContentErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case fetchContentError = "FetchContentError" - case fetchContentSuccess = "FetchContentSuccess" + enum TypeName: String, Codable { + case fetchContentError = "FetchContentError" + case fetchContentSuccess = "FetchContentSuccess" + } } - } } extension Unions.FetchContentResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.FetchContentErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.FetchContentErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.FetchContentResult { - func on(fetchContentError: Selection, fetchContentSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "FetchContentError", selection: fetchContentError.selection), GraphQLField.fragment(type: "FetchContentSuccess", selection: fetchContentSuccess.selection)]) + func on(fetchContentError: Selection, fetchContentSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "FetchContentError", selection: fetchContentError.selection), GraphQLField.fragment(type: "FetchContentSuccess", selection: fetchContentSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .fetchContentError: - let data = Objects.FetchContentError(errorCodes: data.errorCodes) - return try fetchContentError.decode(data: data) - case .fetchContentSuccess: - let data = Objects.FetchContentSuccess(success: data.success) - return try fetchContentSuccess.decode(data: data) - } - case .mocking: - return fetchContentError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .fetchContentError: + let data = Objects.FetchContentError(errorCodes: data.errorCodes) + return try fetchContentError.decode(data: data) + case .fetchContentSuccess: + let data = Objects.FetchContentSuccess(success: data.success) + return try fetchContentSuccess.decode(data: data) + } + case .mocking: + return fetchContentError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FetchContentResult = Selection + typealias FetchContentResult = Selection } extension Unions { - struct FiltersResult { - let __typename: TypeName - let errorCodes: [String: [Enums.FiltersErrorCode]] - let filters: [String: [Objects.Filter]] + struct FiltersResult { + let __typename: TypeName + let errorCodes: [String: [Enums.FiltersErrorCode]] + let filters: [String: [Objects.Filter]] - enum TypeName: String, Codable { - case filtersError = "FiltersError" - case filtersSuccess = "FiltersSuccess" + enum TypeName: String, Codable { + case filtersError = "FiltersError" + case filtersSuccess = "FiltersSuccess" + } } - } } extension Unions.FiltersResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.FiltersErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.FiltersErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filters": + if let value = try container.decode([Objects.Filter]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "filters": - if let value = try container.decode([Objects.Filter]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + filters = map["filters"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - filters = map["filters"] - } } extension Fields where TypeLock == Unions.FiltersResult { - func on(filtersError: Selection, filtersSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "FiltersError", selection: filtersError.selection), GraphQLField.fragment(type: "FiltersSuccess", selection: filtersSuccess.selection)]) + func on(filtersError: Selection, filtersSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "FiltersError", selection: filtersError.selection), GraphQLField.fragment(type: "FiltersSuccess", selection: filtersSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .filtersError: - let data = Objects.FiltersError(errorCodes: data.errorCodes) - return try filtersError.decode(data: data) - case .filtersSuccess: - let data = Objects.FiltersSuccess(filters: data.filters) - return try filtersSuccess.decode(data: data) - } - case .mocking: - return filtersError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .filtersError: + let data = Objects.FiltersError(errorCodes: data.errorCodes) + return try filtersError.decode(data: data) + case .filtersSuccess: + let data = Objects.FiltersSuccess(filters: data.filters) + return try filtersSuccess.decode(data: data) + } + case .mocking: + return filtersError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias FiltersResult = Selection + typealias FiltersResult = Selection } extension Unions { - struct GenerateApiKeyResult { - let __typename: TypeName - let apiKey: [String: Objects.ApiKey] - let errorCodes: [String: [Enums.GenerateApiKeyErrorCode]] + struct GenerateApiKeyResult { + let __typename: TypeName + let apiKey: [String: Objects.ApiKey] + let errorCodes: [String: [Enums.GenerateApiKeyErrorCode]] - enum TypeName: String, Codable { - case generateApiKeyError = "GenerateApiKeyError" - case generateApiKeySuccess = "GenerateApiKeySuccess" + enum TypeName: String, Codable { + case generateApiKeyError = "GenerateApiKeyError" + case generateApiKeySuccess = "GenerateApiKeySuccess" + } } - } } extension Unions.GenerateApiKeyResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "apiKey": - if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "apiKey": + if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.GenerateApiKeyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.GenerateApiKeyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + apiKey = map["apiKey"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - apiKey = map["apiKey"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.GenerateApiKeyResult { - func on(generateApiKeyError: Selection, generateApiKeySuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "GenerateApiKeyError", selection: generateApiKeyError.selection), GraphQLField.fragment(type: "GenerateApiKeySuccess", selection: generateApiKeySuccess.selection)]) + func on(generateApiKeyError: Selection, generateApiKeySuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "GenerateApiKeyError", selection: generateApiKeyError.selection), GraphQLField.fragment(type: "GenerateApiKeySuccess", selection: generateApiKeySuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .generateApiKeyError: - let data = Objects.GenerateApiKeyError(errorCodes: data.errorCodes) - return try generateApiKeyError.decode(data: data) - case .generateApiKeySuccess: - let data = Objects.GenerateApiKeySuccess(apiKey: data.apiKey) - return try generateApiKeySuccess.decode(data: data) - } - case .mocking: - return generateApiKeyError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .generateApiKeyError: + let data = Objects.GenerateApiKeyError(errorCodes: data.errorCodes) + return try generateApiKeyError.decode(data: data) + case .generateApiKeySuccess: + let data = Objects.GenerateApiKeySuccess(apiKey: data.apiKey) + return try generateApiKeySuccess.decode(data: data) + } + case .mocking: + return generateApiKeyError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GenerateApiKeyResult = Selection + typealias GenerateApiKeyResult = Selection } extension Unions { - struct GetFollowersResult { - let __typename: TypeName - let errorCodes: [String: [Enums.GetFollowersErrorCode]] - let followers: [String: [Objects.User]] + struct GetFollowersResult { + let __typename: TypeName + let errorCodes: [String: [Enums.GetFollowersErrorCode]] + let followers: [String: [Objects.User]] - enum TypeName: String, Codable { - case getFollowersError = "GetFollowersError" - case getFollowersSuccess = "GetFollowersSuccess" + enum TypeName: String, Codable { + case getFollowersError = "GetFollowersError" + case getFollowersSuccess = "GetFollowersSuccess" + } } - } } extension Unions.GetFollowersResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GetFollowersErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GetFollowersErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "followers": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "followers": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + followers = map["followers"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - followers = map["followers"] - } } extension Fields where TypeLock == Unions.GetFollowersResult { - func on(getFollowersError: Selection, getFollowersSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "GetFollowersError", selection: getFollowersError.selection), GraphQLField.fragment(type: "GetFollowersSuccess", selection: getFollowersSuccess.selection)]) + func on(getFollowersError: Selection, getFollowersSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "GetFollowersError", selection: getFollowersError.selection), GraphQLField.fragment(type: "GetFollowersSuccess", selection: getFollowersSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .getFollowersError: - let data = Objects.GetFollowersError(errorCodes: data.errorCodes) - return try getFollowersError.decode(data: data) - case .getFollowersSuccess: - let data = Objects.GetFollowersSuccess(followers: data.followers) - return try getFollowersSuccess.decode(data: data) - } - case .mocking: - return getFollowersError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .getFollowersError: + let data = Objects.GetFollowersError(errorCodes: data.errorCodes) + return try getFollowersError.decode(data: data) + case .getFollowersSuccess: + let data = Objects.GetFollowersSuccess(followers: data.followers) + return try getFollowersSuccess.decode(data: data) + } + case .mocking: + return getFollowersError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetFollowersResult = Selection + typealias GetFollowersResult = Selection } extension Unions { - struct GetFollowingResult { - let __typename: TypeName - let errorCodes: [String: [Enums.GetFollowingErrorCode]] - let following: [String: [Objects.User]] + struct GetFollowingResult { + let __typename: TypeName + let errorCodes: [String: [Enums.GetFollowingErrorCode]] + let following: [String: [Objects.User]] - enum TypeName: String, Codable { - case getFollowingError = "GetFollowingError" - case getFollowingSuccess = "GetFollowingSuccess" + enum TypeName: String, Codable { + case getFollowingError = "GetFollowingError" + case getFollowingSuccess = "GetFollowingSuccess" + } } - } } extension Unions.GetFollowingResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GetFollowingErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GetFollowingErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "following": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "following": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + following = map["following"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - following = map["following"] - } } extension Fields where TypeLock == Unions.GetFollowingResult { - func on(getFollowingError: Selection, getFollowingSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "GetFollowingError", selection: getFollowingError.selection), GraphQLField.fragment(type: "GetFollowingSuccess", selection: getFollowingSuccess.selection)]) + func on(getFollowingError: Selection, getFollowingSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "GetFollowingError", selection: getFollowingError.selection), GraphQLField.fragment(type: "GetFollowingSuccess", selection: getFollowingSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .getFollowingError: - let data = Objects.GetFollowingError(errorCodes: data.errorCodes) - return try getFollowingError.decode(data: data) - case .getFollowingSuccess: - let data = Objects.GetFollowingSuccess(following: data.following) - return try getFollowingSuccess.decode(data: data) - } - case .mocking: - return getFollowingError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .getFollowingError: + let data = Objects.GetFollowingError(errorCodes: data.errorCodes) + return try getFollowingError.decode(data: data) + case .getFollowingSuccess: + let data = Objects.GetFollowingSuccess(following: data.following) + return try getFollowingSuccess.decode(data: data) + } + case .mocking: + return getFollowingError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetFollowingResult = Selection + typealias GetFollowingResult = Selection } extension Unions { - struct GetUserPersonalizationResult { - let __typename: TypeName - let errorCodes: [String: [Enums.GetUserPersonalizationErrorCode]] - let userPersonalization: [String: Objects.UserPersonalization] + struct GetUserPersonalizationResult { + let __typename: TypeName + let errorCodes: [String: [Enums.GetUserPersonalizationErrorCode]] + let userPersonalization: [String: Objects.UserPersonalization] - enum TypeName: String, Codable { - case getUserPersonalizationError = "GetUserPersonalizationError" - case getUserPersonalizationSuccess = "GetUserPersonalizationSuccess" + enum TypeName: String, Codable { + case getUserPersonalizationError = "GetUserPersonalizationError" + case getUserPersonalizationSuccess = "GetUserPersonalizationSuccess" + } } - } } extension Unions.GetUserPersonalizationResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GetUserPersonalizationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GetUserPersonalizationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "userPersonalization": + if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "userPersonalization": - if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + userPersonalization = map["userPersonalization"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - userPersonalization = map["userPersonalization"] - } } extension Fields where TypeLock == Unions.GetUserPersonalizationResult { - func on(getUserPersonalizationError: Selection, getUserPersonalizationSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "GetUserPersonalizationError", selection: getUserPersonalizationError.selection), GraphQLField.fragment(type: "GetUserPersonalizationSuccess", selection: getUserPersonalizationSuccess.selection)]) + func on(getUserPersonalizationError: Selection, getUserPersonalizationSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "GetUserPersonalizationError", selection: getUserPersonalizationError.selection), GraphQLField.fragment(type: "GetUserPersonalizationSuccess", selection: getUserPersonalizationSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .getUserPersonalizationError: - let data = Objects.GetUserPersonalizationError(errorCodes: data.errorCodes) - return try getUserPersonalizationError.decode(data: data) - case .getUserPersonalizationSuccess: - let data = Objects.GetUserPersonalizationSuccess(userPersonalization: data.userPersonalization) - return try getUserPersonalizationSuccess.decode(data: data) - } - case .mocking: - return getUserPersonalizationError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .getUserPersonalizationError: + let data = Objects.GetUserPersonalizationError(errorCodes: data.errorCodes) + return try getUserPersonalizationError.decode(data: data) + case .getUserPersonalizationSuccess: + let data = Objects.GetUserPersonalizationSuccess(userPersonalization: data.userPersonalization) + return try getUserPersonalizationSuccess.decode(data: data) + } + case .mocking: + return getUserPersonalizationError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GetUserPersonalizationResult = Selection + typealias GetUserPersonalizationResult = Selection } extension Unions { - struct GoogleSignupResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SignupErrorCode?]] - let me: [String: Objects.User] + struct GoogleSignupResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SignupErrorCode?]] + let me: [String: Objects.User] - enum TypeName: String, Codable { - case googleSignupError = "GoogleSignupError" - case googleSignupSuccess = "GoogleSignupSuccess" + enum TypeName: String, Codable { + case googleSignupError = "GoogleSignupError" + case googleSignupSuccess = "GoogleSignupSuccess" + } } - } } extension Unions.GoogleSignupResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SignupErrorCode?]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SignupErrorCode?]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "me": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "me": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + me = map["me"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - me = map["me"] - } } extension Fields where TypeLock == Unions.GoogleSignupResult { - func on(googleSignupError: Selection, googleSignupSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "GoogleSignupError", selection: googleSignupError.selection), GraphQLField.fragment(type: "GoogleSignupSuccess", selection: googleSignupSuccess.selection)]) + func on(googleSignupError: Selection, googleSignupSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "GoogleSignupError", selection: googleSignupError.selection), GraphQLField.fragment(type: "GoogleSignupSuccess", selection: googleSignupSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .googleSignupError: - let data = Objects.GoogleSignupError(errorCodes: data.errorCodes) - return try googleSignupError.decode(data: data) - case .googleSignupSuccess: - let data = Objects.GoogleSignupSuccess(me: data.me) - return try googleSignupSuccess.decode(data: data) - } - case .mocking: - return googleSignupError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .googleSignupError: + let data = Objects.GoogleSignupError(errorCodes: data.errorCodes) + return try googleSignupError.decode(data: data) + case .googleSignupSuccess: + let data = Objects.GoogleSignupSuccess(me: data.me) + return try googleSignupSuccess.decode(data: data) + } + case .mocking: + return googleSignupError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GoogleSignupResult = Selection + typealias GoogleSignupResult = Selection } extension Unions { - struct GroupsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.GroupsErrorCode]] - let groups: [String: [Objects.RecommendationGroup]] + struct GroupsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.GroupsErrorCode]] + let groups: [String: [Objects.RecommendationGroup]] - enum TypeName: String, Codable { - case groupsError = "GroupsError" - case groupsSuccess = "GroupsSuccess" + enum TypeName: String, Codable { + case groupsError = "GroupsError" + case groupsSuccess = "GroupsSuccess" + } } - } } extension Unions.GroupsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.GroupsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.GroupsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "groups": + if let value = try container.decode([Objects.RecommendationGroup]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "groups": - if let value = try container.decode([Objects.RecommendationGroup]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + groups = map["groups"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - groups = map["groups"] - } } extension Fields where TypeLock == Unions.GroupsResult { - func on(groupsError: Selection, groupsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "GroupsError", selection: groupsError.selection), GraphQLField.fragment(type: "GroupsSuccess", selection: groupsSuccess.selection)]) + func on(groupsError: Selection, groupsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "GroupsError", selection: groupsError.selection), GraphQLField.fragment(type: "GroupsSuccess", selection: groupsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .groupsError: - let data = Objects.GroupsError(errorCodes: data.errorCodes) - return try groupsError.decode(data: data) - case .groupsSuccess: - let data = Objects.GroupsSuccess(groups: data.groups) - return try groupsSuccess.decode(data: data) - } - case .mocking: - return groupsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .groupsError: + let data = Objects.GroupsError(errorCodes: data.errorCodes) + return try groupsError.decode(data: data) + case .groupsSuccess: + let data = Objects.GroupsSuccess(groups: data.groups) + return try groupsSuccess.decode(data: data) + } + case .mocking: + return groupsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias GroupsResult = Selection + typealias GroupsResult = Selection } extension Unions { - struct ImportFromIntegrationResult { - let __typename: TypeName - let errorCodes: [String: [Enums.ImportFromIntegrationErrorCode]] - let success: [String: Bool] + struct ImportFromIntegrationResult { + let __typename: TypeName + let errorCodes: [String: [Enums.ImportFromIntegrationErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case importFromIntegrationError = "ImportFromIntegrationError" - case importFromIntegrationSuccess = "ImportFromIntegrationSuccess" + enum TypeName: String, Codable { + case importFromIntegrationError = "ImportFromIntegrationError" + case importFromIntegrationSuccess = "ImportFromIntegrationSuccess" + } } - } } extension Unions.ImportFromIntegrationResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ImportFromIntegrationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ImportFromIntegrationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.ImportFromIntegrationResult { - func on(importFromIntegrationError: Selection, importFromIntegrationSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ImportFromIntegrationError", selection: importFromIntegrationError.selection), GraphQLField.fragment(type: "ImportFromIntegrationSuccess", selection: importFromIntegrationSuccess.selection)]) + func on(importFromIntegrationError: Selection, importFromIntegrationSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ImportFromIntegrationError", selection: importFromIntegrationError.selection), GraphQLField.fragment(type: "ImportFromIntegrationSuccess", selection: importFromIntegrationSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .importFromIntegrationError: - let data = Objects.ImportFromIntegrationError(errorCodes: data.errorCodes) - return try importFromIntegrationError.decode(data: data) - case .importFromIntegrationSuccess: - let data = Objects.ImportFromIntegrationSuccess(success: data.success) - return try importFromIntegrationSuccess.decode(data: data) - } - case .mocking: - return importFromIntegrationError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .importFromIntegrationError: + let data = Objects.ImportFromIntegrationError(errorCodes: data.errorCodes) + return try importFromIntegrationError.decode(data: data) + case .importFromIntegrationSuccess: + let data = Objects.ImportFromIntegrationSuccess(success: data.success) + return try importFromIntegrationSuccess.decode(data: data) + } + case .mocking: + return importFromIntegrationError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ImportFromIntegrationResult = Selection + typealias ImportFromIntegrationResult = Selection } extension Unions { - struct IntegrationsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.IntegrationsErrorCode]] - let integrations: [String: [Objects.Integration]] + struct IntegrationsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.IntegrationsErrorCode]] + let integrations: [String: [Objects.Integration]] - enum TypeName: String, Codable { - case integrationsError = "IntegrationsError" - case integrationsSuccess = "IntegrationsSuccess" + enum TypeName: String, Codable { + case integrationsError = "IntegrationsError" + case integrationsSuccess = "IntegrationsSuccess" + } } - } } extension Unions.IntegrationsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.IntegrationsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.IntegrationsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "integrations": + if let value = try container.decode([Objects.Integration]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "integrations": - if let value = try container.decode([Objects.Integration]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + integrations = map["integrations"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - integrations = map["integrations"] - } } extension Fields where TypeLock == Unions.IntegrationsResult { - func on(integrationsError: Selection, integrationsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "IntegrationsError", selection: integrationsError.selection), GraphQLField.fragment(type: "IntegrationsSuccess", selection: integrationsSuccess.selection)]) + func on(integrationsError: Selection, integrationsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "IntegrationsError", selection: integrationsError.selection), GraphQLField.fragment(type: "IntegrationsSuccess", selection: integrationsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .integrationsError: - let data = Objects.IntegrationsError(errorCodes: data.errorCodes) - return try integrationsError.decode(data: data) - case .integrationsSuccess: - let data = Objects.IntegrationsSuccess(integrations: data.integrations) - return try integrationsSuccess.decode(data: data) - } - case .mocking: - return integrationsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .integrationsError: + let data = Objects.IntegrationsError(errorCodes: data.errorCodes) + return try integrationsError.decode(data: data) + case .integrationsSuccess: + let data = Objects.IntegrationsSuccess(integrations: data.integrations) + return try integrationsSuccess.decode(data: data) + } + case .mocking: + return integrationsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias IntegrationsResult = Selection + typealias IntegrationsResult = Selection } extension Unions { - struct JoinGroupResult { - let __typename: TypeName - let errorCodes: [String: [Enums.JoinGroupErrorCode]] - let group: [String: Objects.RecommendationGroup] + struct JoinGroupResult { + let __typename: TypeName + let errorCodes: [String: [Enums.JoinGroupErrorCode]] + let group: [String: Objects.RecommendationGroup] - enum TypeName: String, Codable { - case joinGroupError = "JoinGroupError" - case joinGroupSuccess = "JoinGroupSuccess" + enum TypeName: String, Codable { + case joinGroupError = "JoinGroupError" + case joinGroupSuccess = "JoinGroupSuccess" + } } - } } extension Unions.JoinGroupResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.JoinGroupErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.JoinGroupErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "group": + if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "group": - if let value = try container.decode(Objects.RecommendationGroup?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + group = map["group"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - group = map["group"] - } } extension Fields where TypeLock == Unions.JoinGroupResult { - func on(joinGroupError: Selection, joinGroupSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "JoinGroupError", selection: joinGroupError.selection), GraphQLField.fragment(type: "JoinGroupSuccess", selection: joinGroupSuccess.selection)]) + func on(joinGroupError: Selection, joinGroupSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "JoinGroupError", selection: joinGroupError.selection), GraphQLField.fragment(type: "JoinGroupSuccess", selection: joinGroupSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .joinGroupError: - let data = Objects.JoinGroupError(errorCodes: data.errorCodes) - return try joinGroupError.decode(data: data) - case .joinGroupSuccess: - let data = Objects.JoinGroupSuccess(group: data.group) - return try joinGroupSuccess.decode(data: data) - } - case .mocking: - return joinGroupError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .joinGroupError: + let data = Objects.JoinGroupError(errorCodes: data.errorCodes) + return try joinGroupError.decode(data: data) + case .joinGroupSuccess: + let data = Objects.JoinGroupSuccess(group: data.group) + return try joinGroupSuccess.decode(data: data) + } + case .mocking: + return joinGroupError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias JoinGroupResult = Selection + typealias JoinGroupResult = Selection } extension Unions { - struct LabelsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.LabelsErrorCode]] - let labels: [String: [Objects.Label]] + struct LabelsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.LabelsErrorCode]] + let labels: [String: [Objects.Label]] - enum TypeName: String, Codable { - case labelsError = "LabelsError" - case labelsSuccess = "LabelsSuccess" + enum TypeName: String, Codable { + case labelsError = "LabelsError" + case labelsSuccess = "LabelsSuccess" + } } - } } extension Unions.LabelsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LabelsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LabelsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "labels": + if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "labels": - if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + labels = map["labels"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - labels = map["labels"] - } } extension Fields where TypeLock == Unions.LabelsResult { - func on(labelsError: Selection, labelsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "LabelsError", selection: labelsError.selection), GraphQLField.fragment(type: "LabelsSuccess", selection: labelsSuccess.selection)]) + func on(labelsError: Selection, labelsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "LabelsError", selection: labelsError.selection), GraphQLField.fragment(type: "LabelsSuccess", selection: labelsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .labelsError: - let data = Objects.LabelsError(errorCodes: data.errorCodes) - return try labelsError.decode(data: data) - case .labelsSuccess: - let data = Objects.LabelsSuccess(labels: data.labels) - return try labelsSuccess.decode(data: data) - } - case .mocking: - return labelsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .labelsError: + let data = Objects.LabelsError(errorCodes: data.errorCodes) + return try labelsError.decode(data: data) + case .labelsSuccess: + let data = Objects.LabelsSuccess(labels: data.labels) + return try labelsSuccess.decode(data: data) + } + case .mocking: + return labelsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LabelsResult = Selection + typealias LabelsResult = Selection } extension Unions { - struct LeaveGroupResult { - let __typename: TypeName - let errorCodes: [String: [Enums.LeaveGroupErrorCode]] - let success: [String: Bool] + struct LeaveGroupResult { + let __typename: TypeName + let errorCodes: [String: [Enums.LeaveGroupErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case leaveGroupError = "LeaveGroupError" - case leaveGroupSuccess = "LeaveGroupSuccess" + enum TypeName: String, Codable { + case leaveGroupError = "LeaveGroupError" + case leaveGroupSuccess = "LeaveGroupSuccess" + } } - } } extension Unions.LeaveGroupResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LeaveGroupErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LeaveGroupErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.LeaveGroupResult { - func on(leaveGroupError: Selection, leaveGroupSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "LeaveGroupError", selection: leaveGroupError.selection), GraphQLField.fragment(type: "LeaveGroupSuccess", selection: leaveGroupSuccess.selection)]) + func on(leaveGroupError: Selection, leaveGroupSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "LeaveGroupError", selection: leaveGroupError.selection), GraphQLField.fragment(type: "LeaveGroupSuccess", selection: leaveGroupSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .leaveGroupError: - let data = Objects.LeaveGroupError(errorCodes: data.errorCodes) - return try leaveGroupError.decode(data: data) - case .leaveGroupSuccess: - let data = Objects.LeaveGroupSuccess(success: data.success) - return try leaveGroupSuccess.decode(data: data) - } - case .mocking: - return leaveGroupError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .leaveGroupError: + let data = Objects.LeaveGroupError(errorCodes: data.errorCodes) + return try leaveGroupError.decode(data: data) + case .leaveGroupSuccess: + let data = Objects.LeaveGroupSuccess(success: data.success) + return try leaveGroupSuccess.decode(data: data) + } + case .mocking: + return leaveGroupError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LeaveGroupResult = Selection + typealias LeaveGroupResult = Selection } extension Unions { - struct LogOutResult { - let __typename: TypeName - let errorCodes: [String: [Enums.LogOutErrorCode]] - let message: [String: String] + struct LogOutResult { + let __typename: TypeName + let errorCodes: [String: [Enums.LogOutErrorCode]] + let message: [String: String] - enum TypeName: String, Codable { - case logOutError = "LogOutError" - case logOutSuccess = "LogOutSuccess" + enum TypeName: String, Codable { + case logOutError = "LogOutError" + case logOutSuccess = "LogOutSuccess" + } } - } } extension Unions.LogOutResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LogOutErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LogOutErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + message = map["message"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - message = map["message"] - } } extension Fields where TypeLock == Unions.LogOutResult { - func on(logOutError: Selection, logOutSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "LogOutError", selection: logOutError.selection), GraphQLField.fragment(type: "LogOutSuccess", selection: logOutSuccess.selection)]) + func on(logOutError: Selection, logOutSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "LogOutError", selection: logOutError.selection), GraphQLField.fragment(type: "LogOutSuccess", selection: logOutSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .logOutError: - let data = Objects.LogOutError(errorCodes: data.errorCodes) - return try logOutError.decode(data: data) - case .logOutSuccess: - let data = Objects.LogOutSuccess(message: data.message) - return try logOutSuccess.decode(data: data) - } - case .mocking: - return logOutError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .logOutError: + let data = Objects.LogOutError(errorCodes: data.errorCodes) + return try logOutError.decode(data: data) + case .logOutSuccess: + let data = Objects.LogOutSuccess(message: data.message) + return try logOutSuccess.decode(data: data) + } + case .mocking: + return logOutError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LogOutResult = Selection + typealias LogOutResult = Selection } extension Unions { - struct LoginResult { - let __typename: TypeName - let errorCodes: [String: [Enums.LoginErrorCode]] - let me: [String: Objects.User] + struct LoginResult { + let __typename: TypeName + let errorCodes: [String: [Enums.LoginErrorCode]] + let me: [String: Objects.User] - enum TypeName: String, Codable { - case loginError = "LoginError" - case loginSuccess = "LoginSuccess" + enum TypeName: String, Codable { + case loginError = "LoginError" + case loginSuccess = "LoginSuccess" + } } - } } extension Unions.LoginResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.LoginErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.LoginErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "me": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "me": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + me = map["me"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - me = map["me"] - } } extension Fields where TypeLock == Unions.LoginResult { - func on(loginError: Selection, loginSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "LoginError", selection: loginError.selection), GraphQLField.fragment(type: "LoginSuccess", selection: loginSuccess.selection)]) + func on(loginError: Selection, loginSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "LoginError", selection: loginError.selection), GraphQLField.fragment(type: "LoginSuccess", selection: loginSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .loginError: - let data = Objects.LoginError(errorCodes: data.errorCodes) - return try loginError.decode(data: data) - case .loginSuccess: - let data = Objects.LoginSuccess(me: data.me) - return try loginSuccess.decode(data: data) - } - case .mocking: - return loginError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .loginError: + let data = Objects.LoginError(errorCodes: data.errorCodes) + return try loginError.decode(data: data) + case .loginSuccess: + let data = Objects.LoginSuccess(me: data.me) + return try loginSuccess.decode(data: data) + } + case .mocking: + return loginError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias LoginResult = Selection + typealias LoginResult = Selection } extension Unions { - struct MarkEmailAsItemResult { - let __typename: TypeName - let errorCodes: [String: [Enums.MarkEmailAsItemErrorCode]] - let success: [String: Bool] + struct MarkEmailAsItemResult { + let __typename: TypeName + let errorCodes: [String: [Enums.MarkEmailAsItemErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case markEmailAsItemError = "MarkEmailAsItemError" - case markEmailAsItemSuccess = "MarkEmailAsItemSuccess" + enum TypeName: String, Codable { + case markEmailAsItemError = "MarkEmailAsItemError" + case markEmailAsItemSuccess = "MarkEmailAsItemSuccess" + } } - } } extension Unions.MarkEmailAsItemResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MarkEmailAsItemErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MarkEmailAsItemErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.MarkEmailAsItemResult { - func on(markEmailAsItemError: Selection, markEmailAsItemSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "MarkEmailAsItemError", selection: markEmailAsItemError.selection), GraphQLField.fragment(type: "MarkEmailAsItemSuccess", selection: markEmailAsItemSuccess.selection)]) + func on(markEmailAsItemError: Selection, markEmailAsItemSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "MarkEmailAsItemError", selection: markEmailAsItemError.selection), GraphQLField.fragment(type: "MarkEmailAsItemSuccess", selection: markEmailAsItemSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .markEmailAsItemError: - let data = Objects.MarkEmailAsItemError(errorCodes: data.errorCodes) - return try markEmailAsItemError.decode(data: data) - case .markEmailAsItemSuccess: - let data = Objects.MarkEmailAsItemSuccess(success: data.success) - return try markEmailAsItemSuccess.decode(data: data) - } - case .mocking: - return markEmailAsItemError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .markEmailAsItemError: + let data = Objects.MarkEmailAsItemError(errorCodes: data.errorCodes) + return try markEmailAsItemError.decode(data: data) + case .markEmailAsItemSuccess: + let data = Objects.MarkEmailAsItemSuccess(success: data.success) + return try markEmailAsItemSuccess.decode(data: data) + } + case .mocking: + return markEmailAsItemError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MarkEmailAsItemResult = Selection + typealias MarkEmailAsItemResult = Selection } extension Unions { - struct MergeHighlightResult { - let __typename: TypeName - let errorCodes: [String: [Enums.MergeHighlightErrorCode]] - let highlight: [String: Objects.Highlight] - let overlapHighlightIdList: [String: [String]] + struct MergeHighlightResult { + let __typename: TypeName + let errorCodes: [String: [Enums.MergeHighlightErrorCode]] + let highlight: [String: Objects.Highlight] + let overlapHighlightIdList: [String: [String]] - enum TypeName: String, Codable { - case mergeHighlightError = "MergeHighlightError" - case mergeHighlightSuccess = "MergeHighlightSuccess" + enum TypeName: String, Codable { + case mergeHighlightError = "MergeHighlightError" + case mergeHighlightSuccess = "MergeHighlightSuccess" + } } - } } extension Unions.MergeHighlightResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MergeHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MergeHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "overlapHighlightIdList": + if let value = try container.decode([String]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "overlapHighlightIdList": - if let value = try container.decode([String]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlight = map["highlight"] + overlapHighlightIdList = map["overlapHighlightIdList"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlight = map["highlight"] - overlapHighlightIdList = map["overlapHighlightIdList"] - } } extension Fields where TypeLock == Unions.MergeHighlightResult { - func on(mergeHighlightError: Selection, mergeHighlightSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "MergeHighlightError", selection: mergeHighlightError.selection), GraphQLField.fragment(type: "MergeHighlightSuccess", selection: mergeHighlightSuccess.selection)]) + func on(mergeHighlightError: Selection, mergeHighlightSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "MergeHighlightError", selection: mergeHighlightError.selection), GraphQLField.fragment(type: "MergeHighlightSuccess", selection: mergeHighlightSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .mergeHighlightError: - let data = Objects.MergeHighlightError(errorCodes: data.errorCodes) - return try mergeHighlightError.decode(data: data) - case .mergeHighlightSuccess: - let data = Objects.MergeHighlightSuccess(highlight: data.highlight, overlapHighlightIdList: data.overlapHighlightIdList) - return try mergeHighlightSuccess.decode(data: data) - } - case .mocking: - return mergeHighlightError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .mergeHighlightError: + let data = Objects.MergeHighlightError(errorCodes: data.errorCodes) + return try mergeHighlightError.decode(data: data) + case .mergeHighlightSuccess: + let data = Objects.MergeHighlightSuccess(highlight: data.highlight, overlapHighlightIdList: data.overlapHighlightIdList) + return try mergeHighlightSuccess.decode(data: data) + } + case .mocking: + return mergeHighlightError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MergeHighlightResult = Selection + typealias MergeHighlightResult = Selection } extension Unions { - struct MoveFilterResult { - let __typename: TypeName - let errorCodes: [String: [Enums.MoveFilterErrorCode]] - let filter: [String: Objects.Filter] + struct MoveFilterResult { + let __typename: TypeName + let errorCodes: [String: [Enums.MoveFilterErrorCode]] + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case moveFilterError = "MoveFilterError" - case moveFilterSuccess = "MoveFilterSuccess" + enum TypeName: String, Codable { + case moveFilterError = "MoveFilterError" + case moveFilterSuccess = "MoveFilterSuccess" + } } - } } extension Unions.MoveFilterResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MoveFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MoveFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + filter = map["filter"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - filter = map["filter"] - } } extension Fields where TypeLock == Unions.MoveFilterResult { - func on(moveFilterError: Selection, moveFilterSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "MoveFilterError", selection: moveFilterError.selection), GraphQLField.fragment(type: "MoveFilterSuccess", selection: moveFilterSuccess.selection)]) + func on(moveFilterError: Selection, moveFilterSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "MoveFilterError", selection: moveFilterError.selection), GraphQLField.fragment(type: "MoveFilterSuccess", selection: moveFilterSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .moveFilterError: - let data = Objects.MoveFilterError(errorCodes: data.errorCodes) - return try moveFilterError.decode(data: data) - case .moveFilterSuccess: - let data = Objects.MoveFilterSuccess(filter: data.filter) - return try moveFilterSuccess.decode(data: data) - } - case .mocking: - return moveFilterError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .moveFilterError: + let data = Objects.MoveFilterError(errorCodes: data.errorCodes) + return try moveFilterError.decode(data: data) + case .moveFilterSuccess: + let data = Objects.MoveFilterSuccess(filter: data.filter) + return try moveFilterSuccess.decode(data: data) + } + case .mocking: + return moveFilterError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveFilterResult = Selection + typealias MoveFilterResult = Selection } extension Unions { - struct MoveLabelResult { - let __typename: TypeName - let errorCodes: [String: [Enums.MoveLabelErrorCode]] - let label: [String: Objects.Label] + struct MoveLabelResult { + let __typename: TypeName + let errorCodes: [String: [Enums.MoveLabelErrorCode]] + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case moveLabelError = "MoveLabelError" - case moveLabelSuccess = "MoveLabelSuccess" + enum TypeName: String, Codable { + case moveLabelError = "MoveLabelError" + case moveLabelSuccess = "MoveLabelSuccess" + } } - } } extension Unions.MoveLabelResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MoveLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MoveLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + label = map["label"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - label = map["label"] - } } extension Fields where TypeLock == Unions.MoveLabelResult { - func on(moveLabelError: Selection, moveLabelSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "MoveLabelError", selection: moveLabelError.selection), GraphQLField.fragment(type: "MoveLabelSuccess", selection: moveLabelSuccess.selection)]) + func on(moveLabelError: Selection, moveLabelSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "MoveLabelError", selection: moveLabelError.selection), GraphQLField.fragment(type: "MoveLabelSuccess", selection: moveLabelSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .moveLabelError: - let data = Objects.MoveLabelError(errorCodes: data.errorCodes) - return try moveLabelError.decode(data: data) - case .moveLabelSuccess: - let data = Objects.MoveLabelSuccess(label: data.label) - return try moveLabelSuccess.decode(data: data) - } - case .mocking: - return moveLabelError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .moveLabelError: + let data = Objects.MoveLabelError(errorCodes: data.errorCodes) + return try moveLabelError.decode(data: data) + case .moveLabelSuccess: + let data = Objects.MoveLabelSuccess(label: data.label) + return try moveLabelSuccess.decode(data: data) + } + case .mocking: + return moveLabelError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveLabelResult = Selection + typealias MoveLabelResult = Selection } extension Unions { - struct MoveToFolderResult { - let __typename: TypeName - let errorCodes: [String: [Enums.MoveToFolderErrorCode]] - let success: [String: Bool] + struct MoveToFolderResult { + let __typename: TypeName + let errorCodes: [String: [Enums.MoveToFolderErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case moveToFolderError = "MoveToFolderError" - case moveToFolderSuccess = "MoveToFolderSuccess" + enum TypeName: String, Codable { + case moveToFolderError = "MoveToFolderError" + case moveToFolderSuccess = "MoveToFolderSuccess" + } } - } } extension Unions.MoveToFolderResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.MoveToFolderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.MoveToFolderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.MoveToFolderResult { - func on(moveToFolderError: Selection, moveToFolderSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "MoveToFolderError", selection: moveToFolderError.selection), GraphQLField.fragment(type: "MoveToFolderSuccess", selection: moveToFolderSuccess.selection)]) + func on(moveToFolderError: Selection, moveToFolderSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "MoveToFolderError", selection: moveToFolderError.selection), GraphQLField.fragment(type: "MoveToFolderSuccess", selection: moveToFolderSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .moveToFolderError: - let data = Objects.MoveToFolderError(errorCodes: data.errorCodes) - return try moveToFolderError.decode(data: data) - case .moveToFolderSuccess: - let data = Objects.MoveToFolderSuccess(success: data.success) - return try moveToFolderSuccess.decode(data: data) - } - case .mocking: - return moveToFolderError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .moveToFolderError: + let data = Objects.MoveToFolderError(errorCodes: data.errorCodes) + return try moveToFolderError.decode(data: data) + case .moveToFolderSuccess: + let data = Objects.MoveToFolderSuccess(success: data.success) + return try moveToFolderSuccess.decode(data: data) + } + case .mocking: + return moveToFolderError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias MoveToFolderResult = Selection + typealias MoveToFolderResult = Selection } extension Unions { - struct NewsletterEmailsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.NewsletterEmailsErrorCode]] - let newsletterEmails: [String: [Objects.NewsletterEmail]] + struct NewsletterEmailsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.NewsletterEmailsErrorCode]] + let newsletterEmails: [String: [Objects.NewsletterEmail]] - enum TypeName: String, Codable { - case newsletterEmailsError = "NewsletterEmailsError" - case newsletterEmailsSuccess = "NewsletterEmailsSuccess" + enum TypeName: String, Codable { + case newsletterEmailsError = "NewsletterEmailsError" + case newsletterEmailsSuccess = "NewsletterEmailsSuccess" + } } - } } extension Unions.NewsletterEmailsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.NewsletterEmailsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.NewsletterEmailsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "newsletterEmails": + if let value = try container.decode([Objects.NewsletterEmail]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "newsletterEmails": - if let value = try container.decode([Objects.NewsletterEmail]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + newsletterEmails = map["newsletterEmails"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - newsletterEmails = map["newsletterEmails"] - } } extension Fields where TypeLock == Unions.NewsletterEmailsResult { - func on(newsletterEmailsError: Selection, newsletterEmailsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "NewsletterEmailsError", selection: newsletterEmailsError.selection), GraphQLField.fragment(type: "NewsletterEmailsSuccess", selection: newsletterEmailsSuccess.selection)]) + func on(newsletterEmailsError: Selection, newsletterEmailsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "NewsletterEmailsError", selection: newsletterEmailsError.selection), GraphQLField.fragment(type: "NewsletterEmailsSuccess", selection: newsletterEmailsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .newsletterEmailsError: - let data = Objects.NewsletterEmailsError(errorCodes: data.errorCodes) - return try newsletterEmailsError.decode(data: data) - case .newsletterEmailsSuccess: - let data = Objects.NewsletterEmailsSuccess(newsletterEmails: data.newsletterEmails) - return try newsletterEmailsSuccess.decode(data: data) - } - case .mocking: - return newsletterEmailsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .newsletterEmailsError: + let data = Objects.NewsletterEmailsError(errorCodes: data.errorCodes) + return try newsletterEmailsError.decode(data: data) + case .newsletterEmailsSuccess: + let data = Objects.NewsletterEmailsSuccess(newsletterEmails: data.newsletterEmails) + return try newsletterEmailsSuccess.decode(data: data) + } + case .mocking: + return newsletterEmailsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias NewsletterEmailsResult = Selection + typealias NewsletterEmailsResult = Selection } extension Unions { - struct OptInFeatureResult { - let __typename: TypeName - let errorCodes: [String: [Enums.OptInFeatureErrorCode]] - let feature: [String: Objects.Feature] + struct OptInFeatureResult { + let __typename: TypeName + let errorCodes: [String: [Enums.OptInFeatureErrorCode]] + let feature: [String: Objects.Feature] - enum TypeName: String, Codable { - case optInFeatureError = "OptInFeatureError" - case optInFeatureSuccess = "OptInFeatureSuccess" + enum TypeName: String, Codable { + case optInFeatureError = "OptInFeatureError" + case optInFeatureSuccess = "OptInFeatureSuccess" + } } - } } extension Unions.OptInFeatureResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.OptInFeatureErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.OptInFeatureErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "feature": + if let value = try container.decode(Objects.Feature?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "feature": - if let value = try container.decode(Objects.Feature?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + feature = map["feature"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - feature = map["feature"] - } } extension Fields where TypeLock == Unions.OptInFeatureResult { - func on(optInFeatureError: Selection, optInFeatureSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "OptInFeatureError", selection: optInFeatureError.selection), GraphQLField.fragment(type: "OptInFeatureSuccess", selection: optInFeatureSuccess.selection)]) + func on(optInFeatureError: Selection, optInFeatureSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "OptInFeatureError", selection: optInFeatureError.selection), GraphQLField.fragment(type: "OptInFeatureSuccess", selection: optInFeatureSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .optInFeatureError: - let data = Objects.OptInFeatureError(errorCodes: data.errorCodes) - return try optInFeatureError.decode(data: data) - case .optInFeatureSuccess: - let data = Objects.OptInFeatureSuccess(feature: data.feature) - return try optInFeatureSuccess.decode(data: data) - } - case .mocking: - return optInFeatureError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .optInFeatureError: + let data = Objects.OptInFeatureError(errorCodes: data.errorCodes) + return try optInFeatureError.decode(data: data) + case .optInFeatureSuccess: + let data = Objects.OptInFeatureSuccess(feature: data.feature) + return try optInFeatureSuccess.decode(data: data) + } + case .mocking: + return optInFeatureError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias OptInFeatureResult = Selection + typealias OptInFeatureResult = Selection } extension Unions { - struct RecentEmailsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.RecentEmailsErrorCode]] - let recentEmails: [String: [Objects.RecentEmail]] + struct RecentEmailsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.RecentEmailsErrorCode]] + let recentEmails: [String: [Objects.RecentEmail]] - enum TypeName: String, Codable { - case recentEmailsError = "RecentEmailsError" - case recentEmailsSuccess = "RecentEmailsSuccess" + enum TypeName: String, Codable { + case recentEmailsError = "RecentEmailsError" + case recentEmailsSuccess = "RecentEmailsSuccess" + } } - } } extension Unions.RecentEmailsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecentEmailsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecentEmailsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "recentEmails": + if let value = try container.decode([Objects.RecentEmail]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "recentEmails": - if let value = try container.decode([Objects.RecentEmail]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + recentEmails = map["recentEmails"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - recentEmails = map["recentEmails"] - } } extension Fields where TypeLock == Unions.RecentEmailsResult { - func on(recentEmailsError: Selection, recentEmailsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "RecentEmailsError", selection: recentEmailsError.selection), GraphQLField.fragment(type: "RecentEmailsSuccess", selection: recentEmailsSuccess.selection)]) + func on(recentEmailsError: Selection, recentEmailsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "RecentEmailsError", selection: recentEmailsError.selection), GraphQLField.fragment(type: "RecentEmailsSuccess", selection: recentEmailsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .recentEmailsError: - let data = Objects.RecentEmailsError(errorCodes: data.errorCodes) - return try recentEmailsError.decode(data: data) - case .recentEmailsSuccess: - let data = Objects.RecentEmailsSuccess(recentEmails: data.recentEmails) - return try recentEmailsSuccess.decode(data: data) - } - case .mocking: - return recentEmailsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .recentEmailsError: + let data = Objects.RecentEmailsError(errorCodes: data.errorCodes) + return try recentEmailsError.decode(data: data) + case .recentEmailsSuccess: + let data = Objects.RecentEmailsSuccess(recentEmails: data.recentEmails) + return try recentEmailsSuccess.decode(data: data) + } + case .mocking: + return recentEmailsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentEmailsResult = Selection + typealias RecentEmailsResult = Selection } extension Unions { - struct RecentSearchesResult { - let __typename: TypeName - let errorCodes: [String: [Enums.RecentSearchesErrorCode]] - let searches: [String: [Objects.RecentSearch]] + struct RecentSearchesResult { + let __typename: TypeName + let errorCodes: [String: [Enums.RecentSearchesErrorCode]] + let searches: [String: [Objects.RecentSearch]] - enum TypeName: String, Codable { - case recentSearchesError = "RecentSearchesError" - case recentSearchesSuccess = "RecentSearchesSuccess" + enum TypeName: String, Codable { + case recentSearchesError = "RecentSearchesError" + case recentSearchesSuccess = "RecentSearchesSuccess" + } } - } } extension Unions.RecentSearchesResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecentSearchesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecentSearchesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "searches": + if let value = try container.decode([Objects.RecentSearch]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "searches": - if let value = try container.decode([Objects.RecentSearch]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + searches = map["searches"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - searches = map["searches"] - } } extension Fields where TypeLock == Unions.RecentSearchesResult { - func on(recentSearchesError: Selection, recentSearchesSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "RecentSearchesError", selection: recentSearchesError.selection), GraphQLField.fragment(type: "RecentSearchesSuccess", selection: recentSearchesSuccess.selection)]) + func on(recentSearchesError: Selection, recentSearchesSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "RecentSearchesError", selection: recentSearchesError.selection), GraphQLField.fragment(type: "RecentSearchesSuccess", selection: recentSearchesSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .recentSearchesError: - let data = Objects.RecentSearchesError(errorCodes: data.errorCodes) - return try recentSearchesError.decode(data: data) - case .recentSearchesSuccess: - let data = Objects.RecentSearchesSuccess(searches: data.searches) - return try recentSearchesSuccess.decode(data: data) - } - case .mocking: - return recentSearchesError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .recentSearchesError: + let data = Objects.RecentSearchesError(errorCodes: data.errorCodes) + return try recentSearchesError.decode(data: data) + case .recentSearchesSuccess: + let data = Objects.RecentSearchesSuccess(searches: data.searches) + return try recentSearchesSuccess.decode(data: data) + } + case .mocking: + return recentSearchesError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecentSearchesResult = Selection + typealias RecentSearchesResult = Selection } extension Unions { - struct RecommendHighlightsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.RecommendHighlightsErrorCode]] - let success: [String: Bool] + struct RecommendHighlightsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.RecommendHighlightsErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case recommendHighlightsError = "RecommendHighlightsError" - case recommendHighlightsSuccess = "RecommendHighlightsSuccess" + enum TypeName: String, Codable { + case recommendHighlightsError = "RecommendHighlightsError" + case recommendHighlightsSuccess = "RecommendHighlightsSuccess" + } } - } } extension Unions.RecommendHighlightsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecommendHighlightsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecommendHighlightsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.RecommendHighlightsResult { - func on(recommendHighlightsError: Selection, recommendHighlightsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "RecommendHighlightsError", selection: recommendHighlightsError.selection), GraphQLField.fragment(type: "RecommendHighlightsSuccess", selection: recommendHighlightsSuccess.selection)]) + func on(recommendHighlightsError: Selection, recommendHighlightsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "RecommendHighlightsError", selection: recommendHighlightsError.selection), GraphQLField.fragment(type: "RecommendHighlightsSuccess", selection: recommendHighlightsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .recommendHighlightsError: - let data = Objects.RecommendHighlightsError(errorCodes: data.errorCodes) - return try recommendHighlightsError.decode(data: data) - case .recommendHighlightsSuccess: - let data = Objects.RecommendHighlightsSuccess(success: data.success) - return try recommendHighlightsSuccess.decode(data: data) - } - case .mocking: - return recommendHighlightsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .recommendHighlightsError: + let data = Objects.RecommendHighlightsError(errorCodes: data.errorCodes) + return try recommendHighlightsError.decode(data: data) + case .recommendHighlightsSuccess: + let data = Objects.RecommendHighlightsSuccess(success: data.success) + return try recommendHighlightsSuccess.decode(data: data) + } + case .mocking: + return recommendHighlightsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendHighlightsResult = Selection + typealias RecommendHighlightsResult = Selection } extension Unions { - struct RecommendResult { - let __typename: TypeName - let errorCodes: [String: [Enums.RecommendErrorCode]] - let success: [String: Bool] + struct RecommendResult { + let __typename: TypeName + let errorCodes: [String: [Enums.RecommendErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case recommendError = "RecommendError" - case recommendSuccess = "RecommendSuccess" + enum TypeName: String, Codable { + case recommendError = "RecommendError" + case recommendSuccess = "RecommendSuccess" + } } - } } extension Unions.RecommendResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RecommendErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RecommendErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.RecommendResult { - func on(recommendError: Selection, recommendSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "RecommendError", selection: recommendError.selection), GraphQLField.fragment(type: "RecommendSuccess", selection: recommendSuccess.selection)]) + func on(recommendError: Selection, recommendSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "RecommendError", selection: recommendError.selection), GraphQLField.fragment(type: "RecommendSuccess", selection: recommendSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .recommendError: - let data = Objects.RecommendError(errorCodes: data.errorCodes) - return try recommendError.decode(data: data) - case .recommendSuccess: - let data = Objects.RecommendSuccess(success: data.success) - return try recommendSuccess.decode(data: data) - } - case .mocking: - return recommendError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .recommendError: + let data = Objects.RecommendError(errorCodes: data.errorCodes) + return try recommendError.decode(data: data) + case .recommendSuccess: + let data = Objects.RecommendSuccess(success: data.success) + return try recommendSuccess.decode(data: data) + } + case .mocking: + return recommendError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RecommendResult = Selection + typealias RecommendResult = Selection } extension Unions { - struct ReminderResult { - let __typename: TypeName - let errorCodes: [String: [Enums.ReminderErrorCode]] - let reminder: [String: Objects.Reminder] + struct ReminderResult { + let __typename: TypeName + let errorCodes: [String: [Enums.ReminderErrorCode]] + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case reminderError = "ReminderError" - case reminderSuccess = "ReminderSuccess" + enum TypeName: String, Codable { + case reminderError = "ReminderError" + case reminderSuccess = "ReminderSuccess" + } } - } } extension Unions.ReminderResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + reminder = map["reminder"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - reminder = map["reminder"] - } } extension Fields where TypeLock == Unions.ReminderResult { - func on(reminderError: Selection, reminderSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ReminderError", selection: reminderError.selection), GraphQLField.fragment(type: "ReminderSuccess", selection: reminderSuccess.selection)]) + func on(reminderError: Selection, reminderSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ReminderError", selection: reminderError.selection), GraphQLField.fragment(type: "ReminderSuccess", selection: reminderSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .reminderError: - let data = Objects.ReminderError(errorCodes: data.errorCodes) - return try reminderError.decode(data: data) - case .reminderSuccess: - let data = Objects.ReminderSuccess(reminder: data.reminder) - return try reminderSuccess.decode(data: data) - } - case .mocking: - return reminderError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .reminderError: + let data = Objects.ReminderError(errorCodes: data.errorCodes) + return try reminderError.decode(data: data) + case .reminderSuccess: + let data = Objects.ReminderSuccess(reminder: data.reminder) + return try reminderSuccess.decode(data: data) + } + case .mocking: + return reminderError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ReminderResult = Selection + typealias ReminderResult = Selection } extension Unions { - struct RevokeApiKeyResult { - let __typename: TypeName - let apiKey: [String: Objects.ApiKey] - let errorCodes: [String: [Enums.RevokeApiKeyErrorCode]] + struct RevokeApiKeyResult { + let __typename: TypeName + let apiKey: [String: Objects.ApiKey] + let errorCodes: [String: [Enums.RevokeApiKeyErrorCode]] - enum TypeName: String, Codable { - case revokeApiKeyError = "RevokeApiKeyError" - case revokeApiKeySuccess = "RevokeApiKeySuccess" + enum TypeName: String, Codable { + case revokeApiKeyError = "RevokeApiKeyError" + case revokeApiKeySuccess = "RevokeApiKeySuccess" + } } - } } extension Unions.RevokeApiKeyResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "apiKey": - if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "apiKey": + if let value = try container.decode(Objects.ApiKey?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.RevokeApiKeyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.RevokeApiKeyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + apiKey = map["apiKey"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - apiKey = map["apiKey"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.RevokeApiKeyResult { - func on(revokeApiKeyError: Selection, revokeApiKeySuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "RevokeApiKeyError", selection: revokeApiKeyError.selection), GraphQLField.fragment(type: "RevokeApiKeySuccess", selection: revokeApiKeySuccess.selection)]) + func on(revokeApiKeyError: Selection, revokeApiKeySuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "RevokeApiKeyError", selection: revokeApiKeyError.selection), GraphQLField.fragment(type: "RevokeApiKeySuccess", selection: revokeApiKeySuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .revokeApiKeyError: - let data = Objects.RevokeApiKeyError(errorCodes: data.errorCodes) - return try revokeApiKeyError.decode(data: data) - case .revokeApiKeySuccess: - let data = Objects.RevokeApiKeySuccess(apiKey: data.apiKey) - return try revokeApiKeySuccess.decode(data: data) - } - case .mocking: - return revokeApiKeyError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .revokeApiKeyError: + let data = Objects.RevokeApiKeyError(errorCodes: data.errorCodes) + return try revokeApiKeyError.decode(data: data) + case .revokeApiKeySuccess: + let data = Objects.RevokeApiKeySuccess(apiKey: data.apiKey) + return try revokeApiKeySuccess.decode(data: data) + } + case .mocking: + return revokeApiKeyError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RevokeApiKeyResult = Selection + typealias RevokeApiKeyResult = Selection } extension Unions { - struct RulesResult { - let __typename: TypeName - let errorCodes: [String: [Enums.RulesErrorCode]] - let rules: [String: [Objects.Rule]] + struct RulesResult { + let __typename: TypeName + let errorCodes: [String: [Enums.RulesErrorCode]] + let rules: [String: [Objects.Rule]] - enum TypeName: String, Codable { - case rulesError = "RulesError" - case rulesSuccess = "RulesSuccess" + enum TypeName: String, Codable { + case rulesError = "RulesError" + case rulesSuccess = "RulesSuccess" + } } - } } extension Unions.RulesResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.RulesErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.RulesErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "rules": + if let value = try container.decode([Objects.Rule]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "rules": - if let value = try container.decode([Objects.Rule]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + rules = map["rules"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - rules = map["rules"] - } } extension Fields where TypeLock == Unions.RulesResult { - func on(rulesError: Selection, rulesSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "RulesError", selection: rulesError.selection), GraphQLField.fragment(type: "RulesSuccess", selection: rulesSuccess.selection)]) + func on(rulesError: Selection, rulesSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "RulesError", selection: rulesError.selection), GraphQLField.fragment(type: "RulesSuccess", selection: rulesSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .rulesError: - let data = Objects.RulesError(errorCodes: data.errorCodes) - return try rulesError.decode(data: data) - case .rulesSuccess: - let data = Objects.RulesSuccess(rules: data.rules) - return try rulesSuccess.decode(data: data) - } - case .mocking: - return rulesError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .rulesError: + let data = Objects.RulesError(errorCodes: data.errorCodes) + return try rulesError.decode(data: data) + case .rulesSuccess: + let data = Objects.RulesSuccess(rules: data.rules) + return try rulesSuccess.decode(data: data) + } + case .mocking: + return rulesError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias RulesResult = Selection + typealias RulesResult = Selection } extension Unions { - struct SaveArticleReadingProgressResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SaveArticleReadingProgressErrorCode]] - let updatedArticle: [String: Objects.Article] + struct SaveArticleReadingProgressResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SaveArticleReadingProgressErrorCode]] + let updatedArticle: [String: Objects.Article] - enum TypeName: String, Codable { - case saveArticleReadingProgressError = "SaveArticleReadingProgressError" - case saveArticleReadingProgressSuccess = "SaveArticleReadingProgressSuccess" + enum TypeName: String, Codable { + case saveArticleReadingProgressError = "SaveArticleReadingProgressError" + case saveArticleReadingProgressSuccess = "SaveArticleReadingProgressSuccess" + } } - } } extension Unions.SaveArticleReadingProgressResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SaveArticleReadingProgressErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SaveArticleReadingProgressErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "updatedArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + updatedArticle = map["updatedArticle"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - updatedArticle = map["updatedArticle"] - } } extension Fields where TypeLock == Unions.SaveArticleReadingProgressResult { - func on(saveArticleReadingProgressError: Selection, saveArticleReadingProgressSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SaveArticleReadingProgressError", selection: saveArticleReadingProgressError.selection), GraphQLField.fragment(type: "SaveArticleReadingProgressSuccess", selection: saveArticleReadingProgressSuccess.selection)]) + func on(saveArticleReadingProgressError: Selection, saveArticleReadingProgressSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SaveArticleReadingProgressError", selection: saveArticleReadingProgressError.selection), GraphQLField.fragment(type: "SaveArticleReadingProgressSuccess", selection: saveArticleReadingProgressSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .saveArticleReadingProgressError: - let data = Objects.SaveArticleReadingProgressError(errorCodes: data.errorCodes) - return try saveArticleReadingProgressError.decode(data: data) - case .saveArticleReadingProgressSuccess: - let data = Objects.SaveArticleReadingProgressSuccess(updatedArticle: data.updatedArticle) - return try saveArticleReadingProgressSuccess.decode(data: data) - } - case .mocking: - return saveArticleReadingProgressError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .saveArticleReadingProgressError: + let data = Objects.SaveArticleReadingProgressError(errorCodes: data.errorCodes) + return try saveArticleReadingProgressError.decode(data: data) + case .saveArticleReadingProgressSuccess: + let data = Objects.SaveArticleReadingProgressSuccess(updatedArticle: data.updatedArticle) + return try saveArticleReadingProgressSuccess.decode(data: data) + } + case .mocking: + return saveArticleReadingProgressError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveArticleReadingProgressResult = Selection + typealias SaveArticleReadingProgressResult = Selection } extension Unions { - struct SaveFilterResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SaveFilterErrorCode]] - let filter: [String: Objects.Filter] + struct SaveFilterResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SaveFilterErrorCode]] + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case saveFilterError = "SaveFilterError" - case saveFilterSuccess = "SaveFilterSuccess" + enum TypeName: String, Codable { + case saveFilterError = "SaveFilterError" + case saveFilterSuccess = "SaveFilterSuccess" + } } - } } extension Unions.SaveFilterResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SaveFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SaveFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + filter = map["filter"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - filter = map["filter"] - } } extension Fields where TypeLock == Unions.SaveFilterResult { - func on(saveFilterError: Selection, saveFilterSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SaveFilterError", selection: saveFilterError.selection), GraphQLField.fragment(type: "SaveFilterSuccess", selection: saveFilterSuccess.selection)]) + func on(saveFilterError: Selection, saveFilterSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SaveFilterError", selection: saveFilterError.selection), GraphQLField.fragment(type: "SaveFilterSuccess", selection: saveFilterSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .saveFilterError: - let data = Objects.SaveFilterError(errorCodes: data.errorCodes) - return try saveFilterError.decode(data: data) - case .saveFilterSuccess: - let data = Objects.SaveFilterSuccess(filter: data.filter) - return try saveFilterSuccess.decode(data: data) - } - case .mocking: - return saveFilterError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .saveFilterError: + let data = Objects.SaveFilterError(errorCodes: data.errorCodes) + return try saveFilterError.decode(data: data) + case .saveFilterSuccess: + let data = Objects.SaveFilterSuccess(filter: data.filter) + return try saveFilterSuccess.decode(data: data) + } + case .mocking: + return saveFilterError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveFilterResult = Selection + typealias SaveFilterResult = Selection } extension Unions { - struct SaveResult { - let __typename: TypeName - let clientRequestId: [String: String] - let errorCodes: [String: [Enums.SaveErrorCode]] - let message: [String: String] - let url: [String: String] + struct SaveResult { + let __typename: TypeName + let clientRequestId: [String: String] + let errorCodes: [String: [Enums.SaveErrorCode]] + let message: [String: String] + let url: [String: String] - enum TypeName: String, Codable { - case saveError = "SaveError" - case saveSuccess = "SaveSuccess" + enum TypeName: String, Codable { + case saveError = "SaveError" + case saveSuccess = "SaveSuccess" + } } - } } extension Unions.SaveResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "clientRequestId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "clientRequestId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.SaveErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "url": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.SaveErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "url": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + clientRequestId = map["clientRequestId"] + errorCodes = map["errorCodes"] + message = map["message"] + url = map["url"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - clientRequestId = map["clientRequestId"] - errorCodes = map["errorCodes"] - message = map["message"] - url = map["url"] - } } extension Fields where TypeLock == Unions.SaveResult { - func on(saveError: Selection, saveSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SaveError", selection: saveError.selection), GraphQLField.fragment(type: "SaveSuccess", selection: saveSuccess.selection)]) + func on(saveError: Selection, saveSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SaveError", selection: saveError.selection), GraphQLField.fragment(type: "SaveSuccess", selection: saveSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .saveError: - let data = Objects.SaveError(errorCodes: data.errorCodes, message: data.message) - return try saveError.decode(data: data) - case .saveSuccess: - let data = Objects.SaveSuccess(clientRequestId: data.clientRequestId, url: data.url) - return try saveSuccess.decode(data: data) - } - case .mocking: - return saveError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .saveError: + let data = Objects.SaveError(errorCodes: data.errorCodes, message: data.message) + return try saveError.decode(data: data) + case .saveSuccess: + let data = Objects.SaveSuccess(clientRequestId: data.clientRequestId, url: data.url) + return try saveSuccess.decode(data: data) + } + case .mocking: + return saveError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SaveResult = Selection + typealias SaveResult = Selection } extension Unions { - struct ScanFeedsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.ScanFeedsErrorCode]] - let feeds: [String: [Objects.Feed]] + struct ScanFeedsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.ScanFeedsErrorCode]] + let feeds: [String: [Objects.Feed]] - enum TypeName: String, Codable { - case scanFeedsError = "ScanFeedsError" - case scanFeedsSuccess = "ScanFeedsSuccess" + enum TypeName: String, Codable { + case scanFeedsError = "ScanFeedsError" + case scanFeedsSuccess = "ScanFeedsSuccess" + } } - } } extension Unions.ScanFeedsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.ScanFeedsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.ScanFeedsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "feeds": + if let value = try container.decode([Objects.Feed]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "feeds": - if let value = try container.decode([Objects.Feed]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + feeds = map["feeds"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - feeds = map["feeds"] - } } extension Fields where TypeLock == Unions.ScanFeedsResult { - func on(scanFeedsError: Selection, scanFeedsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "ScanFeedsError", selection: scanFeedsError.selection), GraphQLField.fragment(type: "ScanFeedsSuccess", selection: scanFeedsSuccess.selection)]) + func on(scanFeedsError: Selection, scanFeedsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "ScanFeedsError", selection: scanFeedsError.selection), GraphQLField.fragment(type: "ScanFeedsSuccess", selection: scanFeedsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .scanFeedsError: - let data = Objects.ScanFeedsError(errorCodes: data.errorCodes) - return try scanFeedsError.decode(data: data) - case .scanFeedsSuccess: - let data = Objects.ScanFeedsSuccess(feeds: data.feeds) - return try scanFeedsSuccess.decode(data: data) - } - case .mocking: - return scanFeedsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .scanFeedsError: + let data = Objects.ScanFeedsError(errorCodes: data.errorCodes) + return try scanFeedsError.decode(data: data) + case .scanFeedsSuccess: + let data = Objects.ScanFeedsSuccess(feeds: data.feeds) + return try scanFeedsSuccess.decode(data: data) + } + case .mocking: + return scanFeedsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias ScanFeedsResult = Selection + typealias ScanFeedsResult = Selection } extension Unions { - struct SearchResult { - let __typename: TypeName - let edges: [String: [Objects.SearchItemEdge]] - let errorCodes: [String: [Enums.SearchErrorCode]] - let pageInfo: [String: Objects.PageInfo] + struct SearchResult { + let __typename: TypeName + let edges: [String: [Objects.SearchItemEdge]] + let errorCodes: [String: [Enums.SearchErrorCode]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case searchError = "SearchError" - case searchSuccess = "SearchSuccess" + enum TypeName: String, Codable { + case searchError = "SearchError" + case searchSuccess = "SearchSuccess" + } } - } } extension Unions.SearchResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.SearchItemEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.SearchItemEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.SearchErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.SearchErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + edges = map["edges"] + errorCodes = map["errorCodes"] + pageInfo = map["pageInfo"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - edges = map["edges"] - errorCodes = map["errorCodes"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Unions.SearchResult { - func on(searchError: Selection, searchSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SearchError", selection: searchError.selection), GraphQLField.fragment(type: "SearchSuccess", selection: searchSuccess.selection)]) + func on(searchError: Selection, searchSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SearchError", selection: searchError.selection), GraphQLField.fragment(type: "SearchSuccess", selection: searchSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .searchError: - let data = Objects.SearchError(errorCodes: data.errorCodes) - return try searchError.decode(data: data) - case .searchSuccess: - let data = Objects.SearchSuccess(edges: data.edges, pageInfo: data.pageInfo) - return try searchSuccess.decode(data: data) - } - case .mocking: - return searchError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .searchError: + let data = Objects.SearchError(errorCodes: data.errorCodes) + return try searchError.decode(data: data) + case .searchSuccess: + let data = Objects.SearchSuccess(edges: data.edges, pageInfo: data.pageInfo) + return try searchSuccess.decode(data: data) + } + case .mocking: + return searchError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SearchResult = Selection + typealias SearchResult = Selection } extension Unions { - struct SendInstallInstructionsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SendInstallInstructionsErrorCode]] - let sent: [String: Bool] + struct SendInstallInstructionsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SendInstallInstructionsErrorCode]] + let sent: [String: Bool] - enum TypeName: String, Codable { - case sendInstallInstructionsError = "SendInstallInstructionsError" - case sendInstallInstructionsSuccess = "SendInstallInstructionsSuccess" + enum TypeName: String, Codable { + case sendInstallInstructionsError = "SendInstallInstructionsError" + case sendInstallInstructionsSuccess = "SendInstallInstructionsSuccess" + } } - } } extension Unions.SendInstallInstructionsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SendInstallInstructionsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SendInstallInstructionsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sent": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "sent": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + sent = map["sent"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - sent = map["sent"] - } } extension Fields where TypeLock == Unions.SendInstallInstructionsResult { - func on(sendInstallInstructionsError: Selection, sendInstallInstructionsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SendInstallInstructionsError", selection: sendInstallInstructionsError.selection), GraphQLField.fragment(type: "SendInstallInstructionsSuccess", selection: sendInstallInstructionsSuccess.selection)]) + func on(sendInstallInstructionsError: Selection, sendInstallInstructionsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SendInstallInstructionsError", selection: sendInstallInstructionsError.selection), GraphQLField.fragment(type: "SendInstallInstructionsSuccess", selection: sendInstallInstructionsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .sendInstallInstructionsError: - let data = Objects.SendInstallInstructionsError(errorCodes: data.errorCodes) - return try sendInstallInstructionsError.decode(data: data) - case .sendInstallInstructionsSuccess: - let data = Objects.SendInstallInstructionsSuccess(sent: data.sent) - return try sendInstallInstructionsSuccess.decode(data: data) - } - case .mocking: - return sendInstallInstructionsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .sendInstallInstructionsError: + let data = Objects.SendInstallInstructionsError(errorCodes: data.errorCodes) + return try sendInstallInstructionsError.decode(data: data) + case .sendInstallInstructionsSuccess: + let data = Objects.SendInstallInstructionsSuccess(sent: data.sent) + return try sendInstallInstructionsSuccess.decode(data: data) + } + case .mocking: + return sendInstallInstructionsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SendInstallInstructionsResult = Selection + typealias SendInstallInstructionsResult = Selection } extension Unions { - struct SetBookmarkArticleResult { - let __typename: TypeName - let bookmarkedArticle: [String: Objects.Article] - let errorCodes: [String: [Enums.SetBookmarkArticleErrorCode]] + struct SetBookmarkArticleResult { + let __typename: TypeName + let bookmarkedArticle: [String: Objects.Article] + let errorCodes: [String: [Enums.SetBookmarkArticleErrorCode]] - enum TypeName: String, Codable { - case setBookmarkArticleError = "SetBookmarkArticleError" - case setBookmarkArticleSuccess = "SetBookmarkArticleSuccess" + enum TypeName: String, Codable { + case setBookmarkArticleError = "SetBookmarkArticleError" + case setBookmarkArticleSuccess = "SetBookmarkArticleSuccess" + } } - } } extension Unions.SetBookmarkArticleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "bookmarkedArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "bookmarkedArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.SetBookmarkArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.SetBookmarkArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + bookmarkedArticle = map["bookmarkedArticle"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - bookmarkedArticle = map["bookmarkedArticle"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.SetBookmarkArticleResult { - func on(setBookmarkArticleError: Selection, setBookmarkArticleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetBookmarkArticleError", selection: setBookmarkArticleError.selection), GraphQLField.fragment(type: "SetBookmarkArticleSuccess", selection: setBookmarkArticleSuccess.selection)]) + func on(setBookmarkArticleError: Selection, setBookmarkArticleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetBookmarkArticleError", selection: setBookmarkArticleError.selection), GraphQLField.fragment(type: "SetBookmarkArticleSuccess", selection: setBookmarkArticleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setBookmarkArticleError: - let data = Objects.SetBookmarkArticleError(errorCodes: data.errorCodes) - return try setBookmarkArticleError.decode(data: data) - case .setBookmarkArticleSuccess: - let data = Objects.SetBookmarkArticleSuccess(bookmarkedArticle: data.bookmarkedArticle) - return try setBookmarkArticleSuccess.decode(data: data) - } - case .mocking: - return setBookmarkArticleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setBookmarkArticleError: + let data = Objects.SetBookmarkArticleError(errorCodes: data.errorCodes) + return try setBookmarkArticleError.decode(data: data) + case .setBookmarkArticleSuccess: + let data = Objects.SetBookmarkArticleSuccess(bookmarkedArticle: data.bookmarkedArticle) + return try setBookmarkArticleSuccess.decode(data: data) + } + case .mocking: + return setBookmarkArticleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetBookmarkArticleResult = Selection + typealias SetBookmarkArticleResult = Selection } extension Unions { - struct SetDeviceTokenResult { - let __typename: TypeName - let deviceToken: [String: Objects.DeviceToken] - let errorCodes: [String: [Enums.SetDeviceTokenErrorCode]] + struct SetDeviceTokenResult { + let __typename: TypeName + let deviceToken: [String: Objects.DeviceToken] + let errorCodes: [String: [Enums.SetDeviceTokenErrorCode]] - enum TypeName: String, Codable { - case setDeviceTokenError = "SetDeviceTokenError" - case setDeviceTokenSuccess = "SetDeviceTokenSuccess" + enum TypeName: String, Codable { + case setDeviceTokenError = "SetDeviceTokenError" + case setDeviceTokenSuccess = "SetDeviceTokenSuccess" + } } - } } extension Unions.SetDeviceTokenResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "deviceToken": - if let value = try container.decode(Objects.DeviceToken?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "deviceToken": + if let value = try container.decode(Objects.DeviceToken?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.SetDeviceTokenErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.SetDeviceTokenErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + deviceToken = map["deviceToken"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - deviceToken = map["deviceToken"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.SetDeviceTokenResult { - func on(setDeviceTokenError: Selection, setDeviceTokenSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetDeviceTokenError", selection: setDeviceTokenError.selection), GraphQLField.fragment(type: "SetDeviceTokenSuccess", selection: setDeviceTokenSuccess.selection)]) + func on(setDeviceTokenError: Selection, setDeviceTokenSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetDeviceTokenError", selection: setDeviceTokenError.selection), GraphQLField.fragment(type: "SetDeviceTokenSuccess", selection: setDeviceTokenSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setDeviceTokenError: - let data = Objects.SetDeviceTokenError(errorCodes: data.errorCodes) - return try setDeviceTokenError.decode(data: data) - case .setDeviceTokenSuccess: - let data = Objects.SetDeviceTokenSuccess(deviceToken: data.deviceToken) - return try setDeviceTokenSuccess.decode(data: data) - } - case .mocking: - return setDeviceTokenError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setDeviceTokenError: + let data = Objects.SetDeviceTokenError(errorCodes: data.errorCodes) + return try setDeviceTokenError.decode(data: data) + case .setDeviceTokenSuccess: + let data = Objects.SetDeviceTokenSuccess(deviceToken: data.deviceToken) + return try setDeviceTokenSuccess.decode(data: data) + } + case .mocking: + return setDeviceTokenError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetDeviceTokenResult = Selection + typealias SetDeviceTokenResult = Selection } extension Unions { - struct SetFavoriteArticleResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetFavoriteArticleErrorCode]] - let success: [String: Bool] + struct SetFavoriteArticleResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetFavoriteArticleErrorCode]] + let success: [String: Bool] - enum TypeName: String, Codable { - case setFavoriteArticleError = "SetFavoriteArticleError" - case setFavoriteArticleSuccess = "SetFavoriteArticleSuccess" + enum TypeName: String, Codable { + case setFavoriteArticleError = "SetFavoriteArticleError" + case setFavoriteArticleSuccess = "SetFavoriteArticleSuccess" + } } - } } extension Unions.SetFavoriteArticleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetFavoriteArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetFavoriteArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "success": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "success": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + success = map["success"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - success = map["success"] - } } extension Fields where TypeLock == Unions.SetFavoriteArticleResult { - func on(setFavoriteArticleError: Selection, setFavoriteArticleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetFavoriteArticleError", selection: setFavoriteArticleError.selection), GraphQLField.fragment(type: "SetFavoriteArticleSuccess", selection: setFavoriteArticleSuccess.selection)]) + func on(setFavoriteArticleError: Selection, setFavoriteArticleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetFavoriteArticleError", selection: setFavoriteArticleError.selection), GraphQLField.fragment(type: "SetFavoriteArticleSuccess", selection: setFavoriteArticleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setFavoriteArticleError: - let data = Objects.SetFavoriteArticleError(errorCodes: data.errorCodes) - return try setFavoriteArticleError.decode(data: data) - case .setFavoriteArticleSuccess: - let data = Objects.SetFavoriteArticleSuccess(success: data.success) - return try setFavoriteArticleSuccess.decode(data: data) - } - case .mocking: - return setFavoriteArticleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setFavoriteArticleError: + let data = Objects.SetFavoriteArticleError(errorCodes: data.errorCodes) + return try setFavoriteArticleError.decode(data: data) + case .setFavoriteArticleSuccess: + let data = Objects.SetFavoriteArticleSuccess(success: data.success) + return try setFavoriteArticleSuccess.decode(data: data) + } + case .mocking: + return setFavoriteArticleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetFavoriteArticleResult = Selection + typealias SetFavoriteArticleResult = Selection } extension Unions { - struct SetFollowResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetFollowErrorCode]] - let updatedUser: [String: Objects.User] + struct SetFollowResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetFollowErrorCode]] + let updatedUser: [String: Objects.User] - enum TypeName: String, Codable { - case setFollowError = "SetFollowError" - case setFollowSuccess = "SetFollowSuccess" + enum TypeName: String, Codable { + case setFollowError = "SetFollowError" + case setFollowSuccess = "SetFollowSuccess" + } } - } } extension Unions.SetFollowResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetFollowErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetFollowErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedUser": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "updatedUser": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + updatedUser = map["updatedUser"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - updatedUser = map["updatedUser"] - } } extension Fields where TypeLock == Unions.SetFollowResult { - func on(setFollowError: Selection, setFollowSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetFollowError", selection: setFollowError.selection), GraphQLField.fragment(type: "SetFollowSuccess", selection: setFollowSuccess.selection)]) + func on(setFollowError: Selection, setFollowSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetFollowError", selection: setFollowError.selection), GraphQLField.fragment(type: "SetFollowSuccess", selection: setFollowSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setFollowError: - let data = Objects.SetFollowError(errorCodes: data.errorCodes) - return try setFollowError.decode(data: data) - case .setFollowSuccess: - let data = Objects.SetFollowSuccess(updatedUser: data.updatedUser) - return try setFollowSuccess.decode(data: data) - } - case .mocking: - return setFollowError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setFollowError: + let data = Objects.SetFollowError(errorCodes: data.errorCodes) + return try setFollowError.decode(data: data) + case .setFollowSuccess: + let data = Objects.SetFollowSuccess(updatedUser: data.updatedUser) + return try setFollowSuccess.decode(data: data) + } + case .mocking: + return setFollowError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetFollowResult = Selection + typealias SetFollowResult = Selection } extension Unions { - struct SetIntegrationResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetIntegrationErrorCode]] - let integration: [String: Objects.Integration] + struct SetIntegrationResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetIntegrationErrorCode]] + let integration: [String: Objects.Integration] - enum TypeName: String, Codable { - case setIntegrationError = "SetIntegrationError" - case setIntegrationSuccess = "SetIntegrationSuccess" + enum TypeName: String, Codable { + case setIntegrationError = "SetIntegrationError" + case setIntegrationSuccess = "SetIntegrationSuccess" + } } - } } extension Unions.SetIntegrationResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetIntegrationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetIntegrationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "integration": + if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "integration": - if let value = try container.decode(Objects.Integration?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + integration = map["integration"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - integration = map["integration"] - } } extension Fields where TypeLock == Unions.SetIntegrationResult { - func on(setIntegrationError: Selection, setIntegrationSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetIntegrationError", selection: setIntegrationError.selection), GraphQLField.fragment(type: "SetIntegrationSuccess", selection: setIntegrationSuccess.selection)]) + func on(setIntegrationError: Selection, setIntegrationSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetIntegrationError", selection: setIntegrationError.selection), GraphQLField.fragment(type: "SetIntegrationSuccess", selection: setIntegrationSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setIntegrationError: - let data = Objects.SetIntegrationError(errorCodes: data.errorCodes) - return try setIntegrationError.decode(data: data) - case .setIntegrationSuccess: - let data = Objects.SetIntegrationSuccess(integration: data.integration) - return try setIntegrationSuccess.decode(data: data) - } - case .mocking: - return setIntegrationError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setIntegrationError: + let data = Objects.SetIntegrationError(errorCodes: data.errorCodes) + return try setIntegrationError.decode(data: data) + case .setIntegrationSuccess: + let data = Objects.SetIntegrationSuccess(integration: data.integration) + return try setIntegrationSuccess.decode(data: data) + } + case .mocking: + return setIntegrationError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetIntegrationResult = Selection + typealias SetIntegrationResult = Selection } extension Unions { - struct SetLabelsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetLabelsErrorCode]] - let labels: [String: [Objects.Label]] + struct SetLabelsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetLabelsErrorCode]] + let labels: [String: [Objects.Label]] - enum TypeName: String, Codable { - case setLabelsError = "SetLabelsError" - case setLabelsSuccess = "SetLabelsSuccess" + enum TypeName: String, Codable { + case setLabelsError = "SetLabelsError" + case setLabelsSuccess = "SetLabelsSuccess" + } } - } } extension Unions.SetLabelsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetLabelsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetLabelsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "labels": + if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "labels": - if let value = try container.decode([Objects.Label]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + labels = map["labels"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - labels = map["labels"] - } } extension Fields where TypeLock == Unions.SetLabelsResult { - func on(setLabelsError: Selection, setLabelsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetLabelsError", selection: setLabelsError.selection), GraphQLField.fragment(type: "SetLabelsSuccess", selection: setLabelsSuccess.selection)]) + func on(setLabelsError: Selection, setLabelsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetLabelsError", selection: setLabelsError.selection), GraphQLField.fragment(type: "SetLabelsSuccess", selection: setLabelsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setLabelsError: - let data = Objects.SetLabelsError(errorCodes: data.errorCodes) - return try setLabelsError.decode(data: data) - case .setLabelsSuccess: - let data = Objects.SetLabelsSuccess(labels: data.labels) - return try setLabelsSuccess.decode(data: data) - } - case .mocking: - return setLabelsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setLabelsError: + let data = Objects.SetLabelsError(errorCodes: data.errorCodes) + return try setLabelsError.decode(data: data) + case .setLabelsSuccess: + let data = Objects.SetLabelsSuccess(labels: data.labels) + return try setLabelsSuccess.decode(data: data) + } + case .mocking: + return setLabelsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetLabelsResult = Selection + typealias SetLabelsResult = Selection } extension Unions { - struct SetRuleResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetRuleErrorCode]] - let rule: [String: Objects.Rule] + struct SetRuleResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetRuleErrorCode]] + let rule: [String: Objects.Rule] - enum TypeName: String, Codable { - case setRuleError = "SetRuleError" - case setRuleSuccess = "SetRuleSuccess" + enum TypeName: String, Codable { + case setRuleError = "SetRuleError" + case setRuleSuccess = "SetRuleSuccess" + } } - } } extension Unions.SetRuleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetRuleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetRuleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "rule": + if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "rule": - if let value = try container.decode(Objects.Rule?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + rule = map["rule"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - rule = map["rule"] - } } extension Fields where TypeLock == Unions.SetRuleResult { - func on(setRuleError: Selection, setRuleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetRuleError", selection: setRuleError.selection), GraphQLField.fragment(type: "SetRuleSuccess", selection: setRuleSuccess.selection)]) + func on(setRuleError: Selection, setRuleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetRuleError", selection: setRuleError.selection), GraphQLField.fragment(type: "SetRuleSuccess", selection: setRuleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setRuleError: - let data = Objects.SetRuleError(errorCodes: data.errorCodes) - return try setRuleError.decode(data: data) - case .setRuleSuccess: - let data = Objects.SetRuleSuccess(rule: data.rule) - return try setRuleSuccess.decode(data: data) - } - case .mocking: - return setRuleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setRuleError: + let data = Objects.SetRuleError(errorCodes: data.errorCodes) + return try setRuleError.decode(data: data) + case .setRuleSuccess: + let data = Objects.SetRuleSuccess(rule: data.rule) + return try setRuleSuccess.decode(data: data) + } + case .mocking: + return setRuleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetRuleResult = Selection + typealias SetRuleResult = Selection } extension Unions { - struct SetShareArticleResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetShareArticleErrorCode]] - let updatedArticle: [String: Objects.Article] - let updatedFeedArticle: [String: Objects.FeedArticle] - let updatedFeedArticleId: [String: String] + struct SetShareArticleResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetShareArticleErrorCode]] + let updatedArticle: [String: Objects.Article] + let updatedFeedArticle: [String: Objects.FeedArticle] + let updatedFeedArticleId: [String: String] - enum TypeName: String, Codable { - case setShareArticleError = "SetShareArticleError" - case setShareArticleSuccess = "SetShareArticleSuccess" + enum TypeName: String, Codable { + case setShareArticleError = "SetShareArticleError" + case setShareArticleSuccess = "SetShareArticleSuccess" + } } - } } extension Unions.SetShareArticleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetShareArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetShareArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedArticle": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedFeedArticle": + if let value = try container.decode(Objects.FeedArticle?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedFeedArticleId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "updatedArticle": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedFeedArticle": - if let value = try container.decode(Objects.FeedArticle?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "updatedFeedArticleId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + updatedArticle = map["updatedArticle"] + updatedFeedArticle = map["updatedFeedArticle"] + updatedFeedArticleId = map["updatedFeedArticleId"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - updatedArticle = map["updatedArticle"] - updatedFeedArticle = map["updatedFeedArticle"] - updatedFeedArticleId = map["updatedFeedArticleId"] - } } extension Fields where TypeLock == Unions.SetShareArticleResult { - func on(setShareArticleError: Selection, setShareArticleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetShareArticleError", selection: setShareArticleError.selection), GraphQLField.fragment(type: "SetShareArticleSuccess", selection: setShareArticleSuccess.selection)]) + func on(setShareArticleError: Selection, setShareArticleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetShareArticleError", selection: setShareArticleError.selection), GraphQLField.fragment(type: "SetShareArticleSuccess", selection: setShareArticleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setShareArticleError: - let data = Objects.SetShareArticleError(errorCodes: data.errorCodes) - return try setShareArticleError.decode(data: data) - case .setShareArticleSuccess: - let data = Objects.SetShareArticleSuccess(updatedArticle: data.updatedArticle, updatedFeedArticle: data.updatedFeedArticle, updatedFeedArticleId: data.updatedFeedArticleId) - return try setShareArticleSuccess.decode(data: data) - } - case .mocking: - return setShareArticleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setShareArticleError: + let data = Objects.SetShareArticleError(errorCodes: data.errorCodes) + return try setShareArticleError.decode(data: data) + case .setShareArticleSuccess: + let data = Objects.SetShareArticleSuccess(updatedArticle: data.updatedArticle, updatedFeedArticle: data.updatedFeedArticle, updatedFeedArticleId: data.updatedFeedArticleId) + return try setShareArticleSuccess.decode(data: data) + } + case .mocking: + return setShareArticleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetShareArticleResult = Selection + typealias SetShareArticleResult = Selection } extension Unions { - struct SetShareHighlightResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetShareHighlightErrorCode]] - let highlight: [String: Objects.Highlight] + struct SetShareHighlightResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetShareHighlightErrorCode]] + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case setShareHighlightError = "SetShareHighlightError" - case setShareHighlightSuccess = "SetShareHighlightSuccess" + enum TypeName: String, Codable { + case setShareHighlightError = "SetShareHighlightError" + case setShareHighlightSuccess = "SetShareHighlightSuccess" + } } - } } extension Unions.SetShareHighlightResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetShareHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetShareHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlight = map["highlight"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlight = map["highlight"] - } } extension Fields where TypeLock == Unions.SetShareHighlightResult { - func on(setShareHighlightError: Selection, setShareHighlightSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetShareHighlightError", selection: setShareHighlightError.selection), GraphQLField.fragment(type: "SetShareHighlightSuccess", selection: setShareHighlightSuccess.selection)]) + func on(setShareHighlightError: Selection, setShareHighlightSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetShareHighlightError", selection: setShareHighlightError.selection), GraphQLField.fragment(type: "SetShareHighlightSuccess", selection: setShareHighlightSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setShareHighlightError: - let data = Objects.SetShareHighlightError(errorCodes: data.errorCodes) - return try setShareHighlightError.decode(data: data) - case .setShareHighlightSuccess: - let data = Objects.SetShareHighlightSuccess(highlight: data.highlight) - return try setShareHighlightSuccess.decode(data: data) - } - case .mocking: - return setShareHighlightError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setShareHighlightError: + let data = Objects.SetShareHighlightError(errorCodes: data.errorCodes) + return try setShareHighlightError.decode(data: data) + case .setShareHighlightSuccess: + let data = Objects.SetShareHighlightSuccess(highlight: data.highlight) + return try setShareHighlightSuccess.decode(data: data) + } + case .mocking: + return setShareHighlightError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetShareHighlightResult = Selection + typealias SetShareHighlightResult = Selection } extension Unions { - struct SetUserPersonalizationResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetUserPersonalizationErrorCode]] - let updatedUserPersonalization: [String: Objects.UserPersonalization] + struct SetUserPersonalizationResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetUserPersonalizationErrorCode]] + let updatedUserPersonalization: [String: Objects.UserPersonalization] - enum TypeName: String, Codable { - case setUserPersonalizationError = "SetUserPersonalizationError" - case setUserPersonalizationSuccess = "SetUserPersonalizationSuccess" + enum TypeName: String, Codable { + case setUserPersonalizationError = "SetUserPersonalizationError" + case setUserPersonalizationSuccess = "SetUserPersonalizationSuccess" + } } - } } extension Unions.SetUserPersonalizationResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetUserPersonalizationErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetUserPersonalizationErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedUserPersonalization": + if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "updatedUserPersonalization": - if let value = try container.decode(Objects.UserPersonalization?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + updatedUserPersonalization = map["updatedUserPersonalization"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - updatedUserPersonalization = map["updatedUserPersonalization"] - } } extension Fields where TypeLock == Unions.SetUserPersonalizationResult { - func on(setUserPersonalizationError: Selection, setUserPersonalizationSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetUserPersonalizationError", selection: setUserPersonalizationError.selection), GraphQLField.fragment(type: "SetUserPersonalizationSuccess", selection: setUserPersonalizationSuccess.selection)]) + func on(setUserPersonalizationError: Selection, setUserPersonalizationSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetUserPersonalizationError", selection: setUserPersonalizationError.selection), GraphQLField.fragment(type: "SetUserPersonalizationSuccess", selection: setUserPersonalizationSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setUserPersonalizationError: - let data = Objects.SetUserPersonalizationError(errorCodes: data.errorCodes) - return try setUserPersonalizationError.decode(data: data) - case .setUserPersonalizationSuccess: - let data = Objects.SetUserPersonalizationSuccess(updatedUserPersonalization: data.updatedUserPersonalization) - return try setUserPersonalizationSuccess.decode(data: data) - } - case .mocking: - return setUserPersonalizationError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setUserPersonalizationError: + let data = Objects.SetUserPersonalizationError(errorCodes: data.errorCodes) + return try setUserPersonalizationError.decode(data: data) + case .setUserPersonalizationSuccess: + let data = Objects.SetUserPersonalizationSuccess(updatedUserPersonalization: data.updatedUserPersonalization) + return try setUserPersonalizationSuccess.decode(data: data) + } + case .mocking: + return setUserPersonalizationError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetUserPersonalizationResult = Selection + typealias SetUserPersonalizationResult = Selection } extension Unions { - struct SetWebhookResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SetWebhookErrorCode]] - let webhook: [String: Objects.Webhook] + struct SetWebhookResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SetWebhookErrorCode]] + let webhook: [String: Objects.Webhook] - enum TypeName: String, Codable { - case setWebhookError = "SetWebhookError" - case setWebhookSuccess = "SetWebhookSuccess" + enum TypeName: String, Codable { + case setWebhookError = "SetWebhookError" + case setWebhookSuccess = "SetWebhookSuccess" + } } - } } extension Unions.SetWebhookResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SetWebhookErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SetWebhookErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "webhook": + if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "webhook": - if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + webhook = map["webhook"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - webhook = map["webhook"] - } } extension Fields where TypeLock == Unions.SetWebhookResult { - func on(setWebhookError: Selection, setWebhookSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SetWebhookError", selection: setWebhookError.selection), GraphQLField.fragment(type: "SetWebhookSuccess", selection: setWebhookSuccess.selection)]) + func on(setWebhookError: Selection, setWebhookSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SetWebhookError", selection: setWebhookError.selection), GraphQLField.fragment(type: "SetWebhookSuccess", selection: setWebhookSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .setWebhookError: - let data = Objects.SetWebhookError(errorCodes: data.errorCodes) - return try setWebhookError.decode(data: data) - case .setWebhookSuccess: - let data = Objects.SetWebhookSuccess(webhook: data.webhook) - return try setWebhookSuccess.decode(data: data) - } - case .mocking: - return setWebhookError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .setWebhookError: + let data = Objects.SetWebhookError(errorCodes: data.errorCodes) + return try setWebhookError.decode(data: data) + case .setWebhookSuccess: + let data = Objects.SetWebhookSuccess(webhook: data.webhook) + return try setWebhookSuccess.decode(data: data) + } + case .mocking: + return setWebhookError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SetWebhookResult = Selection + typealias SetWebhookResult = Selection } extension Unions { - struct SharedArticleResult { - let __typename: TypeName - let article: [String: Objects.Article] - let errorCodes: [String: [Enums.SharedArticleErrorCode]] + struct SharedArticleResult { + let __typename: TypeName + let article: [String: Objects.Article] + let errorCodes: [String: [Enums.SharedArticleErrorCode]] - enum TypeName: String, Codable { - case sharedArticleError = "SharedArticleError" - case sharedArticleSuccess = "SharedArticleSuccess" + enum TypeName: String, Codable { + case sharedArticleError = "SharedArticleError" + case sharedArticleSuccess = "SharedArticleSuccess" + } } - } } extension Unions.SharedArticleResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "article": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "article": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.SharedArticleErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.SharedArticleErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + article = map["article"] + errorCodes = map["errorCodes"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - article = map["article"] - errorCodes = map["errorCodes"] - } } extension Fields where TypeLock == Unions.SharedArticleResult { - func on(sharedArticleError: Selection, sharedArticleSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SharedArticleError", selection: sharedArticleError.selection), GraphQLField.fragment(type: "SharedArticleSuccess", selection: sharedArticleSuccess.selection)]) + func on(sharedArticleError: Selection, sharedArticleSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SharedArticleError", selection: sharedArticleError.selection), GraphQLField.fragment(type: "SharedArticleSuccess", selection: sharedArticleSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .sharedArticleError: - let data = Objects.SharedArticleError(errorCodes: data.errorCodes) - return try sharedArticleError.decode(data: data) - case .sharedArticleSuccess: - let data = Objects.SharedArticleSuccess(article: data.article) - return try sharedArticleSuccess.decode(data: data) - } - case .mocking: - return sharedArticleError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .sharedArticleError: + let data = Objects.SharedArticleError(errorCodes: data.errorCodes) + return try sharedArticleError.decode(data: data) + case .sharedArticleSuccess: + let data = Objects.SharedArticleSuccess(article: data.article) + return try sharedArticleSuccess.decode(data: data) + } + case .mocking: + return sharedArticleError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SharedArticleResult = Selection + typealias SharedArticleResult = Selection } extension Unions { - struct SubscribeResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SubscribeErrorCode]] - let subscriptions: [String: [Objects.Subscription]] + struct SubscribeResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SubscribeErrorCode]] + let subscriptions: [String: [Objects.Subscription]] - enum TypeName: String, Codable { - case subscribeError = "SubscribeError" - case subscribeSuccess = "SubscribeSuccess" + enum TypeName: String, Codable { + case subscribeError = "SubscribeError" + case subscribeSuccess = "SubscribeSuccess" + } } - } } extension Unions.SubscribeResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SubscribeErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SubscribeErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscriptions": + if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "subscriptions": - if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + subscriptions = map["subscriptions"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - subscriptions = map["subscriptions"] - } } extension Fields where TypeLock == Unions.SubscribeResult { - func on(subscribeError: Selection, subscribeSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SubscribeError", selection: subscribeError.selection), GraphQLField.fragment(type: "SubscribeSuccess", selection: subscribeSuccess.selection)]) + func on(subscribeError: Selection, subscribeSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SubscribeError", selection: subscribeError.selection), GraphQLField.fragment(type: "SubscribeSuccess", selection: subscribeSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .subscribeError: - let data = Objects.SubscribeError(errorCodes: data.errorCodes) - return try subscribeError.decode(data: data) - case .subscribeSuccess: - let data = Objects.SubscribeSuccess(subscriptions: data.subscriptions) - return try subscribeSuccess.decode(data: data) - } - case .mocking: - return subscribeError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .subscribeError: + let data = Objects.SubscribeError(errorCodes: data.errorCodes) + return try subscribeError.decode(data: data) + case .subscribeSuccess: + let data = Objects.SubscribeSuccess(subscriptions: data.subscriptions) + return try subscribeSuccess.decode(data: data) + } + case .mocking: + return subscribeError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SubscribeResult = Selection + typealias SubscribeResult = Selection } extension Unions { - struct SubscriptionsResult { - let __typename: TypeName - let errorCodes: [String: [Enums.SubscriptionsErrorCode]] - let subscriptions: [String: [Objects.Subscription]] + struct SubscriptionsResult { + let __typename: TypeName + let errorCodes: [String: [Enums.SubscriptionsErrorCode]] + let subscriptions: [String: [Objects.Subscription]] - enum TypeName: String, Codable { - case subscriptionsError = "SubscriptionsError" - case subscriptionsSuccess = "SubscriptionsSuccess" + enum TypeName: String, Codable { + case subscriptionsError = "SubscriptionsError" + case subscriptionsSuccess = "SubscriptionsSuccess" + } } - } } extension Unions.SubscriptionsResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.SubscriptionsErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.SubscriptionsErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscriptions": + if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "subscriptions": - if let value = try container.decode([Objects.Subscription]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + subscriptions = map["subscriptions"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - subscriptions = map["subscriptions"] - } } extension Fields where TypeLock == Unions.SubscriptionsResult { - func on(subscriptionsError: Selection, subscriptionsSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "SubscriptionsError", selection: subscriptionsError.selection), GraphQLField.fragment(type: "SubscriptionsSuccess", selection: subscriptionsSuccess.selection)]) + func on(subscriptionsError: Selection, subscriptionsSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "SubscriptionsError", selection: subscriptionsError.selection), GraphQLField.fragment(type: "SubscriptionsSuccess", selection: subscriptionsSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .subscriptionsError: - let data = Objects.SubscriptionsError(errorCodes: data.errorCodes) - return try subscriptionsError.decode(data: data) - case .subscriptionsSuccess: - let data = Objects.SubscriptionsSuccess(subscriptions: data.subscriptions) - return try subscriptionsSuccess.decode(data: data) - } - case .mocking: - return subscriptionsError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .subscriptionsError: + let data = Objects.SubscriptionsError(errorCodes: data.errorCodes) + return try subscriptionsError.decode(data: data) + case .subscriptionsSuccess: + let data = Objects.SubscriptionsSuccess(subscriptions: data.subscriptions) + return try subscriptionsSuccess.decode(data: data) + } + case .mocking: + return subscriptionsError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias SubscriptionsResult = Selection + typealias SubscriptionsResult = Selection } extension Unions { - struct TypeaheadSearchResult { - let __typename: TypeName - let errorCodes: [String: [Enums.TypeaheadSearchErrorCode]] - let items: [String: [Objects.TypeaheadSearchItem]] + struct TypeaheadSearchResult { + let __typename: TypeName + let errorCodes: [String: [Enums.TypeaheadSearchErrorCode]] + let items: [String: [Objects.TypeaheadSearchItem]] - enum TypeName: String, Codable { - case typeaheadSearchError = "TypeaheadSearchError" - case typeaheadSearchSuccess = "TypeaheadSearchSuccess" + enum TypeName: String, Codable { + case typeaheadSearchError = "TypeaheadSearchError" + case typeaheadSearchSuccess = "TypeaheadSearchSuccess" + } } - } } extension Unions.TypeaheadSearchResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.TypeaheadSearchErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.TypeaheadSearchErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "items": + if let value = try container.decode([Objects.TypeaheadSearchItem]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "items": - if let value = try container.decode([Objects.TypeaheadSearchItem]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + items = map["items"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - items = map["items"] - } } extension Fields where TypeLock == Unions.TypeaheadSearchResult { - func on(typeaheadSearchError: Selection, typeaheadSearchSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "TypeaheadSearchError", selection: typeaheadSearchError.selection), GraphQLField.fragment(type: "TypeaheadSearchSuccess", selection: typeaheadSearchSuccess.selection)]) + func on(typeaheadSearchError: Selection, typeaheadSearchSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "TypeaheadSearchError", selection: typeaheadSearchError.selection), GraphQLField.fragment(type: "TypeaheadSearchSuccess", selection: typeaheadSearchSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .typeaheadSearchError: - let data = Objects.TypeaheadSearchError(errorCodes: data.errorCodes) - return try typeaheadSearchError.decode(data: data) - case .typeaheadSearchSuccess: - let data = Objects.TypeaheadSearchSuccess(items: data.items) - return try typeaheadSearchSuccess.decode(data: data) - } - case .mocking: - return typeaheadSearchError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .typeaheadSearchError: + let data = Objects.TypeaheadSearchError(errorCodes: data.errorCodes) + return try typeaheadSearchError.decode(data: data) + case .typeaheadSearchSuccess: + let data = Objects.TypeaheadSearchSuccess(items: data.items) + return try typeaheadSearchSuccess.decode(data: data) + } + case .mocking: + return typeaheadSearchError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias TypeaheadSearchResult = Selection + typealias TypeaheadSearchResult = Selection } extension Unions { - struct UnsubscribeResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UnsubscribeErrorCode]] - let subscription: [String: Objects.Subscription] + struct UnsubscribeResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UnsubscribeErrorCode]] + let subscription: [String: Objects.Subscription] - enum TypeName: String, Codable { - case unsubscribeError = "UnsubscribeError" - case unsubscribeSuccess = "UnsubscribeSuccess" + enum TypeName: String, Codable { + case unsubscribeError = "UnsubscribeError" + case unsubscribeSuccess = "UnsubscribeSuccess" + } } - } } extension Unions.UnsubscribeResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UnsubscribeErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UnsubscribeErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscription": + if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "subscription": - if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + subscription = map["subscription"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - subscription = map["subscription"] - } } extension Fields where TypeLock == Unions.UnsubscribeResult { - func on(unsubscribeError: Selection, unsubscribeSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UnsubscribeError", selection: unsubscribeError.selection), GraphQLField.fragment(type: "UnsubscribeSuccess", selection: unsubscribeSuccess.selection)]) + func on(unsubscribeError: Selection, unsubscribeSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UnsubscribeError", selection: unsubscribeError.selection), GraphQLField.fragment(type: "UnsubscribeSuccess", selection: unsubscribeSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .unsubscribeError: - let data = Objects.UnsubscribeError(errorCodes: data.errorCodes) - return try unsubscribeError.decode(data: data) - case .unsubscribeSuccess: - let data = Objects.UnsubscribeSuccess(subscription: data.subscription) - return try unsubscribeSuccess.decode(data: data) - } - case .mocking: - return unsubscribeError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .unsubscribeError: + let data = Objects.UnsubscribeError(errorCodes: data.errorCodes) + return try unsubscribeError.decode(data: data) + case .unsubscribeSuccess: + let data = Objects.UnsubscribeSuccess(subscription: data.subscription) + return try unsubscribeSuccess.decode(data: data) + } + case .mocking: + return unsubscribeError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UnsubscribeResult = Selection + typealias UnsubscribeResult = Selection } extension Unions { - struct UpdateEmailResult { - let __typename: TypeName - let email: [String: String] - let errorCodes: [String: [Enums.UpdateEmailErrorCode]] - let verificationEmailSent: [String: Bool] + struct UpdateEmailResult { + let __typename: TypeName + let email: [String: String] + let errorCodes: [String: [Enums.UpdateEmailErrorCode]] + let verificationEmailSent: [String: Bool] - enum TypeName: String, Codable { - case updateEmailError = "UpdateEmailError" - case updateEmailSuccess = "UpdateEmailSuccess" + enum TypeName: String, Codable { + case updateEmailError = "UpdateEmailError" + case updateEmailSuccess = "UpdateEmailSuccess" + } } - } } extension Unions.UpdateEmailResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "email": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "email": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.UpdateEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "verificationEmailSent": + if let value = try container.decode(Bool?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.UpdateEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "verificationEmailSent": - if let value = try container.decode(Bool?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + email = map["email"] + errorCodes = map["errorCodes"] + verificationEmailSent = map["verificationEmailSent"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - email = map["email"] - errorCodes = map["errorCodes"] - verificationEmailSent = map["verificationEmailSent"] - } } extension Fields where TypeLock == Unions.UpdateEmailResult { - func on(updateEmailError: Selection, updateEmailSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateEmailError", selection: updateEmailError.selection), GraphQLField.fragment(type: "UpdateEmailSuccess", selection: updateEmailSuccess.selection)]) + func on(updateEmailError: Selection, updateEmailSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateEmailError", selection: updateEmailError.selection), GraphQLField.fragment(type: "UpdateEmailSuccess", selection: updateEmailSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateEmailError: - let data = Objects.UpdateEmailError(errorCodes: data.errorCodes) - return try updateEmailError.decode(data: data) - case .updateEmailSuccess: - let data = Objects.UpdateEmailSuccess(email: data.email, verificationEmailSent: data.verificationEmailSent) - return try updateEmailSuccess.decode(data: data) - } - case .mocking: - return updateEmailError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateEmailError: + let data = Objects.UpdateEmailError(errorCodes: data.errorCodes) + return try updateEmailError.decode(data: data) + case .updateEmailSuccess: + let data = Objects.UpdateEmailSuccess(email: data.email, verificationEmailSent: data.verificationEmailSent) + return try updateEmailSuccess.decode(data: data) + } + case .mocking: + return updateEmailError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateEmailResult = Selection + typealias UpdateEmailResult = Selection } extension Unions { - struct UpdateFilterResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateFilterErrorCode]] - let filter: [String: Objects.Filter] + struct UpdateFilterResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateFilterErrorCode]] + let filter: [String: Objects.Filter] - enum TypeName: String, Codable { - case updateFilterError = "UpdateFilterError" - case updateFilterSuccess = "UpdateFilterSuccess" + enum TypeName: String, Codable { + case updateFilterError = "UpdateFilterError" + case updateFilterSuccess = "UpdateFilterSuccess" + } } - } } extension Unions.UpdateFilterResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateFilterErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateFilterErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "filter": + if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "filter": - if let value = try container.decode(Objects.Filter?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + filter = map["filter"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - filter = map["filter"] - } } extension Fields where TypeLock == Unions.UpdateFilterResult { - func on(updateFilterError: Selection, updateFilterSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateFilterError", selection: updateFilterError.selection), GraphQLField.fragment(type: "UpdateFilterSuccess", selection: updateFilterSuccess.selection)]) + func on(updateFilterError: Selection, updateFilterSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateFilterError", selection: updateFilterError.selection), GraphQLField.fragment(type: "UpdateFilterSuccess", selection: updateFilterSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateFilterError: - let data = Objects.UpdateFilterError(errorCodes: data.errorCodes) - return try updateFilterError.decode(data: data) - case .updateFilterSuccess: - let data = Objects.UpdateFilterSuccess(filter: data.filter) - return try updateFilterSuccess.decode(data: data) - } - case .mocking: - return updateFilterError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateFilterError: + let data = Objects.UpdateFilterError(errorCodes: data.errorCodes) + return try updateFilterError.decode(data: data) + case .updateFilterSuccess: + let data = Objects.UpdateFilterSuccess(filter: data.filter) + return try updateFilterSuccess.decode(data: data) + } + case .mocking: + return updateFilterError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateFilterResult = Selection + typealias UpdateFilterResult = Selection } extension Unions { - struct UpdateHighlightReplyResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateHighlightReplyErrorCode]] - let highlightReply: [String: Objects.HighlightReply] + struct UpdateHighlightReplyResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateHighlightReplyErrorCode]] + let highlightReply: [String: Objects.HighlightReply] - enum TypeName: String, Codable { - case updateHighlightReplyError = "UpdateHighlightReplyError" - case updateHighlightReplySuccess = "UpdateHighlightReplySuccess" + enum TypeName: String, Codable { + case updateHighlightReplyError = "UpdateHighlightReplyError" + case updateHighlightReplySuccess = "UpdateHighlightReplySuccess" + } } - } } extension Unions.UpdateHighlightReplyResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateHighlightReplyErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateHighlightReplyErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlightReply": + if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlightReply": - if let value = try container.decode(Objects.HighlightReply?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlightReply = map["highlightReply"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlightReply = map["highlightReply"] - } } extension Fields where TypeLock == Unions.UpdateHighlightReplyResult { - func on(updateHighlightReplyError: Selection, updateHighlightReplySuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateHighlightReplyError", selection: updateHighlightReplyError.selection), GraphQLField.fragment(type: "UpdateHighlightReplySuccess", selection: updateHighlightReplySuccess.selection)]) + func on(updateHighlightReplyError: Selection, updateHighlightReplySuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateHighlightReplyError", selection: updateHighlightReplyError.selection), GraphQLField.fragment(type: "UpdateHighlightReplySuccess", selection: updateHighlightReplySuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateHighlightReplyError: - let data = Objects.UpdateHighlightReplyError(errorCodes: data.errorCodes) - return try updateHighlightReplyError.decode(data: data) - case .updateHighlightReplySuccess: - let data = Objects.UpdateHighlightReplySuccess(highlightReply: data.highlightReply) - return try updateHighlightReplySuccess.decode(data: data) - } - case .mocking: - return updateHighlightReplyError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateHighlightReplyError: + let data = Objects.UpdateHighlightReplyError(errorCodes: data.errorCodes) + return try updateHighlightReplyError.decode(data: data) + case .updateHighlightReplySuccess: + let data = Objects.UpdateHighlightReplySuccess(highlightReply: data.highlightReply) + return try updateHighlightReplySuccess.decode(data: data) + } + case .mocking: + return updateHighlightReplyError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateHighlightReplyResult = Selection + typealias UpdateHighlightReplyResult = Selection } extension Unions { - struct UpdateHighlightResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateHighlightErrorCode]] - let highlight: [String: Objects.Highlight] + struct UpdateHighlightResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateHighlightErrorCode]] + let highlight: [String: Objects.Highlight] - enum TypeName: String, Codable { - case updateHighlightError = "UpdateHighlightError" - case updateHighlightSuccess = "UpdateHighlightSuccess" + enum TypeName: String, Codable { + case updateHighlightError = "UpdateHighlightError" + case updateHighlightSuccess = "UpdateHighlightSuccess" + } } - } } extension Unions.UpdateHighlightResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateHighlightErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateHighlightErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "highlight": + if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "highlight": - if let value = try container.decode(Objects.Highlight?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + highlight = map["highlight"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - highlight = map["highlight"] - } } extension Fields where TypeLock == Unions.UpdateHighlightResult { - func on(updateHighlightError: Selection, updateHighlightSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateHighlightError", selection: updateHighlightError.selection), GraphQLField.fragment(type: "UpdateHighlightSuccess", selection: updateHighlightSuccess.selection)]) + func on(updateHighlightError: Selection, updateHighlightSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateHighlightError", selection: updateHighlightError.selection), GraphQLField.fragment(type: "UpdateHighlightSuccess", selection: updateHighlightSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateHighlightError: - let data = Objects.UpdateHighlightError(errorCodes: data.errorCodes) - return try updateHighlightError.decode(data: data) - case .updateHighlightSuccess: - let data = Objects.UpdateHighlightSuccess(highlight: data.highlight) - return try updateHighlightSuccess.decode(data: data) - } - case .mocking: - return updateHighlightError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateHighlightError: + let data = Objects.UpdateHighlightError(errorCodes: data.errorCodes) + return try updateHighlightError.decode(data: data) + case .updateHighlightSuccess: + let data = Objects.UpdateHighlightSuccess(highlight: data.highlight) + return try updateHighlightSuccess.decode(data: data) + } + case .mocking: + return updateHighlightError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateHighlightResult = Selection + typealias UpdateHighlightResult = Selection } extension Unions { - struct UpdateLabelResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateLabelErrorCode]] - let label: [String: Objects.Label] + struct UpdateLabelResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateLabelErrorCode]] + let label: [String: Objects.Label] - enum TypeName: String, Codable { - case updateLabelError = "UpdateLabelError" - case updateLabelSuccess = "UpdateLabelSuccess" + enum TypeName: String, Codable { + case updateLabelError = "UpdateLabelError" + case updateLabelSuccess = "UpdateLabelSuccess" + } } - } } extension Unions.UpdateLabelResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateLabelErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateLabelErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "label": + if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "label": - if let value = try container.decode(Objects.Label?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + label = map["label"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - label = map["label"] - } } extension Fields where TypeLock == Unions.UpdateLabelResult { - func on(updateLabelError: Selection, updateLabelSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateLabelError", selection: updateLabelError.selection), GraphQLField.fragment(type: "UpdateLabelSuccess", selection: updateLabelSuccess.selection)]) + func on(updateLabelError: Selection, updateLabelSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateLabelError", selection: updateLabelError.selection), GraphQLField.fragment(type: "UpdateLabelSuccess", selection: updateLabelSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateLabelError: - let data = Objects.UpdateLabelError(errorCodes: data.errorCodes) - return try updateLabelError.decode(data: data) - case .updateLabelSuccess: - let data = Objects.UpdateLabelSuccess(label: data.label) - return try updateLabelSuccess.decode(data: data) - } - case .mocking: - return updateLabelError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateLabelError: + let data = Objects.UpdateLabelError(errorCodes: data.errorCodes) + return try updateLabelError.decode(data: data) + case .updateLabelSuccess: + let data = Objects.UpdateLabelSuccess(label: data.label) + return try updateLabelSuccess.decode(data: data) + } + case .mocking: + return updateLabelError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateLabelResult = Selection + typealias UpdateLabelResult = Selection } extension Unions { - struct UpdateLinkShareInfoResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateLinkShareInfoErrorCode]] - let message: [String: String] + struct UpdateLinkShareInfoResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateLinkShareInfoErrorCode]] + let message: [String: String] - enum TypeName: String, Codable { - case updateLinkShareInfoError = "UpdateLinkShareInfoError" - case updateLinkShareInfoSuccess = "UpdateLinkShareInfoSuccess" + enum TypeName: String, Codable { + case updateLinkShareInfoError = "UpdateLinkShareInfoError" + case updateLinkShareInfoSuccess = "UpdateLinkShareInfoSuccess" + } } - } } extension Unions.UpdateLinkShareInfoResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateLinkShareInfoErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateLinkShareInfoErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "message": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "message": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + message = map["message"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - message = map["message"] - } } extension Fields where TypeLock == Unions.UpdateLinkShareInfoResult { - func on(updateLinkShareInfoError: Selection, updateLinkShareInfoSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateLinkShareInfoError", selection: updateLinkShareInfoError.selection), GraphQLField.fragment(type: "UpdateLinkShareInfoSuccess", selection: updateLinkShareInfoSuccess.selection)]) + func on(updateLinkShareInfoError: Selection, updateLinkShareInfoSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateLinkShareInfoError", selection: updateLinkShareInfoError.selection), GraphQLField.fragment(type: "UpdateLinkShareInfoSuccess", selection: updateLinkShareInfoSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateLinkShareInfoError: - let data = Objects.UpdateLinkShareInfoError(errorCodes: data.errorCodes) - return try updateLinkShareInfoError.decode(data: data) - case .updateLinkShareInfoSuccess: - let data = Objects.UpdateLinkShareInfoSuccess(message: data.message) - return try updateLinkShareInfoSuccess.decode(data: data) - } - case .mocking: - return updateLinkShareInfoError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateLinkShareInfoError: + let data = Objects.UpdateLinkShareInfoError(errorCodes: data.errorCodes) + return try updateLinkShareInfoError.decode(data: data) + case .updateLinkShareInfoSuccess: + let data = Objects.UpdateLinkShareInfoSuccess(message: data.message) + return try updateLinkShareInfoSuccess.decode(data: data) + } + case .mocking: + return updateLinkShareInfoError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateLinkShareInfoResult = Selection + typealias UpdateLinkShareInfoResult = Selection } extension Unions { - struct UpdateNewsletterEmailResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateNewsletterEmailErrorCode]] - let newsletterEmail: [String: Objects.NewsletterEmail] + struct UpdateNewsletterEmailResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateNewsletterEmailErrorCode]] + let newsletterEmail: [String: Objects.NewsletterEmail] - enum TypeName: String, Codable { - case updateNewsletterEmailError = "UpdateNewsletterEmailError" - case updateNewsletterEmailSuccess = "UpdateNewsletterEmailSuccess" + enum TypeName: String, Codable { + case updateNewsletterEmailError = "UpdateNewsletterEmailError" + case updateNewsletterEmailSuccess = "UpdateNewsletterEmailSuccess" + } } - } } extension Unions.UpdateNewsletterEmailResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateNewsletterEmailErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateNewsletterEmailErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "newsletterEmail": + if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "newsletterEmail": - if let value = try container.decode(Objects.NewsletterEmail?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + newsletterEmail = map["newsletterEmail"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - newsletterEmail = map["newsletterEmail"] - } } extension Fields where TypeLock == Unions.UpdateNewsletterEmailResult { - func on(updateNewsletterEmailError: Selection, updateNewsletterEmailSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateNewsletterEmailError", selection: updateNewsletterEmailError.selection), GraphQLField.fragment(type: "UpdateNewsletterEmailSuccess", selection: updateNewsletterEmailSuccess.selection)]) + func on(updateNewsletterEmailError: Selection, updateNewsletterEmailSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateNewsletterEmailError", selection: updateNewsletterEmailError.selection), GraphQLField.fragment(type: "UpdateNewsletterEmailSuccess", selection: updateNewsletterEmailSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateNewsletterEmailError: - let data = Objects.UpdateNewsletterEmailError(errorCodes: data.errorCodes) - return try updateNewsletterEmailError.decode(data: data) - case .updateNewsletterEmailSuccess: - let data = Objects.UpdateNewsletterEmailSuccess(newsletterEmail: data.newsletterEmail) - return try updateNewsletterEmailSuccess.decode(data: data) - } - case .mocking: - return updateNewsletterEmailError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateNewsletterEmailError: + let data = Objects.UpdateNewsletterEmailError(errorCodes: data.errorCodes) + return try updateNewsletterEmailError.decode(data: data) + case .updateNewsletterEmailSuccess: + let data = Objects.UpdateNewsletterEmailSuccess(newsletterEmail: data.newsletterEmail) + return try updateNewsletterEmailSuccess.decode(data: data) + } + case .mocking: + return updateNewsletterEmailError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateNewsletterEmailResult = Selection + typealias UpdateNewsletterEmailResult = Selection } extension Unions { - struct UpdatePageResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdatePageErrorCode]] - let updatedPage: [String: Objects.Article] + struct UpdatePageResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdatePageErrorCode]] + let updatedPage: [String: Objects.Article] - enum TypeName: String, Codable { - case updatePageError = "UpdatePageError" - case updatePageSuccess = "UpdatePageSuccess" + enum TypeName: String, Codable { + case updatePageError = "UpdatePageError" + case updatePageSuccess = "UpdatePageSuccess" + } } - } } extension Unions.UpdatePageResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdatePageErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdatePageErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "updatedPage": + if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "updatedPage": - if let value = try container.decode(Objects.Article?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + updatedPage = map["updatedPage"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - updatedPage = map["updatedPage"] - } } extension Fields where TypeLock == Unions.UpdatePageResult { - func on(updatePageError: Selection, updatePageSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdatePageError", selection: updatePageError.selection), GraphQLField.fragment(type: "UpdatePageSuccess", selection: updatePageSuccess.selection)]) + func on(updatePageError: Selection, updatePageSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdatePageError", selection: updatePageError.selection), GraphQLField.fragment(type: "UpdatePageSuccess", selection: updatePageSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updatePageError: - let data = Objects.UpdatePageError(errorCodes: data.errorCodes) - return try updatePageError.decode(data: data) - case .updatePageSuccess: - let data = Objects.UpdatePageSuccess(updatedPage: data.updatedPage) - return try updatePageSuccess.decode(data: data) - } - case .mocking: - return updatePageError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updatePageError: + let data = Objects.UpdatePageError(errorCodes: data.errorCodes) + return try updatePageError.decode(data: data) + case .updatePageSuccess: + let data = Objects.UpdatePageSuccess(updatedPage: data.updatedPage) + return try updatePageSuccess.decode(data: data) + } + case .mocking: + return updatePageError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdatePageResult = Selection + typealias UpdatePageResult = Selection } extension Unions { - struct UpdateReminderResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateReminderErrorCode]] - let reminder: [String: Objects.Reminder] + struct UpdateReminderResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateReminderErrorCode]] + let reminder: [String: Objects.Reminder] - enum TypeName: String, Codable { - case updateReminderError = "UpdateReminderError" - case updateReminderSuccess = "UpdateReminderSuccess" + enum TypeName: String, Codable { + case updateReminderError = "UpdateReminderError" + case updateReminderSuccess = "UpdateReminderSuccess" + } } - } } extension Unions.UpdateReminderResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateReminderErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateReminderErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "reminder": + if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "reminder": - if let value = try container.decode(Objects.Reminder?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + reminder = map["reminder"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - reminder = map["reminder"] - } } extension Fields where TypeLock == Unions.UpdateReminderResult { - func on(updateReminderError: Selection, updateReminderSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateReminderError", selection: updateReminderError.selection), GraphQLField.fragment(type: "UpdateReminderSuccess", selection: updateReminderSuccess.selection)]) + func on(updateReminderError: Selection, updateReminderSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateReminderError", selection: updateReminderError.selection), GraphQLField.fragment(type: "UpdateReminderSuccess", selection: updateReminderSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateReminderError: - let data = Objects.UpdateReminderError(errorCodes: data.errorCodes) - return try updateReminderError.decode(data: data) - case .updateReminderSuccess: - let data = Objects.UpdateReminderSuccess(reminder: data.reminder) - return try updateReminderSuccess.decode(data: data) - } - case .mocking: - return updateReminderError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateReminderError: + let data = Objects.UpdateReminderError(errorCodes: data.errorCodes) + return try updateReminderError.decode(data: data) + case .updateReminderSuccess: + let data = Objects.UpdateReminderSuccess(reminder: data.reminder) + return try updateReminderSuccess.decode(data: data) + } + case .mocking: + return updateReminderError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateReminderResult = Selection + typealias UpdateReminderResult = Selection } extension Unions { - struct UpdateSharedCommentResult { - let __typename: TypeName - let articleId: [String: String] - let errorCodes: [String: [Enums.UpdateSharedCommentErrorCode]] - let sharedComment: [String: String] + struct UpdateSharedCommentResult { + let __typename: TypeName + let articleId: [String: String] + let errorCodes: [String: [Enums.UpdateSharedCommentErrorCode]] + let sharedComment: [String: String] - enum TypeName: String, Codable { - case updateSharedCommentError = "UpdateSharedCommentError" - case updateSharedCommentSuccess = "UpdateSharedCommentSuccess" + enum TypeName: String, Codable { + case updateSharedCommentError = "UpdateSharedCommentError" + case updateSharedCommentSuccess = "UpdateSharedCommentSuccess" + } } - } } extension Unions.UpdateSharedCommentResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "articleId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "articleId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.UpdateSharedCommentErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "sharedComment": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.UpdateSharedCommentErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "sharedComment": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + articleId = map["articleId"] + errorCodes = map["errorCodes"] + sharedComment = map["sharedComment"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - articleId = map["articleId"] - errorCodes = map["errorCodes"] - sharedComment = map["sharedComment"] - } } extension Fields where TypeLock == Unions.UpdateSharedCommentResult { - func on(updateSharedCommentError: Selection, updateSharedCommentSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateSharedCommentError", selection: updateSharedCommentError.selection), GraphQLField.fragment(type: "UpdateSharedCommentSuccess", selection: updateSharedCommentSuccess.selection)]) + func on(updateSharedCommentError: Selection, updateSharedCommentSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateSharedCommentError", selection: updateSharedCommentError.selection), GraphQLField.fragment(type: "UpdateSharedCommentSuccess", selection: updateSharedCommentSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateSharedCommentError: - let data = Objects.UpdateSharedCommentError(errorCodes: data.errorCodes) - return try updateSharedCommentError.decode(data: data) - case .updateSharedCommentSuccess: - let data = Objects.UpdateSharedCommentSuccess(articleId: data.articleId, sharedComment: data.sharedComment) - return try updateSharedCommentSuccess.decode(data: data) - } - case .mocking: - return updateSharedCommentError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateSharedCommentError: + let data = Objects.UpdateSharedCommentError(errorCodes: data.errorCodes) + return try updateSharedCommentError.decode(data: data) + case .updateSharedCommentSuccess: + let data = Objects.UpdateSharedCommentSuccess(articleId: data.articleId, sharedComment: data.sharedComment) + return try updateSharedCommentSuccess.decode(data: data) + } + case .mocking: + return updateSharedCommentError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateSharedCommentResult = Selection + typealias UpdateSharedCommentResult = Selection } extension Unions { - struct UpdateSubscriptionResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateSubscriptionErrorCode]] - let subscription: [String: Objects.Subscription] + struct UpdateSubscriptionResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateSubscriptionErrorCode]] + let subscription: [String: Objects.Subscription] - enum TypeName: String, Codable { - case updateSubscriptionError = "UpdateSubscriptionError" - case updateSubscriptionSuccess = "UpdateSubscriptionSuccess" + enum TypeName: String, Codable { + case updateSubscriptionError = "UpdateSubscriptionError" + case updateSubscriptionSuccess = "UpdateSubscriptionSuccess" + } } - } } extension Unions.UpdateSubscriptionResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateSubscriptionErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateSubscriptionErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "subscription": + if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "subscription": - if let value = try container.decode(Objects.Subscription?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + subscription = map["subscription"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - subscription = map["subscription"] - } } extension Fields where TypeLock == Unions.UpdateSubscriptionResult { - func on(updateSubscriptionError: Selection, updateSubscriptionSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateSubscriptionError", selection: updateSubscriptionError.selection), GraphQLField.fragment(type: "UpdateSubscriptionSuccess", selection: updateSubscriptionSuccess.selection)]) + func on(updateSubscriptionError: Selection, updateSubscriptionSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateSubscriptionError", selection: updateSubscriptionError.selection), GraphQLField.fragment(type: "UpdateSubscriptionSuccess", selection: updateSubscriptionSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateSubscriptionError: - let data = Objects.UpdateSubscriptionError(errorCodes: data.errorCodes) - return try updateSubscriptionError.decode(data: data) - case .updateSubscriptionSuccess: - let data = Objects.UpdateSubscriptionSuccess(subscription: data.subscription) - return try updateSubscriptionSuccess.decode(data: data) - } - case .mocking: - return updateSubscriptionError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateSubscriptionError: + let data = Objects.UpdateSubscriptionError(errorCodes: data.errorCodes) + return try updateSubscriptionError.decode(data: data) + case .updateSubscriptionSuccess: + let data = Objects.UpdateSubscriptionSuccess(subscription: data.subscription) + return try updateSubscriptionSuccess.decode(data: data) + } + case .mocking: + return updateSubscriptionError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateSubscriptionResult = Selection + typealias UpdateSubscriptionResult = Selection } extension Unions { - struct UpdateUserProfileResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateUserProfileErrorCode]] - let user: [String: Objects.User] + struct UpdateUserProfileResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateUserProfileErrorCode]] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case updateUserProfileError = "UpdateUserProfileError" - case updateUserProfileSuccess = "UpdateUserProfileSuccess" + enum TypeName: String, Codable { + case updateUserProfileError = "UpdateUserProfileError" + case updateUserProfileSuccess = "UpdateUserProfileSuccess" + } } - } } extension Unions.UpdateUserProfileResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateUserProfileErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateUserProfileErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + user = map["user"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - user = map["user"] - } } extension Fields where TypeLock == Unions.UpdateUserProfileResult { - func on(updateUserProfileError: Selection, updateUserProfileSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateUserProfileError", selection: updateUserProfileError.selection), GraphQLField.fragment(type: "UpdateUserProfileSuccess", selection: updateUserProfileSuccess.selection)]) + func on(updateUserProfileError: Selection, updateUserProfileSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateUserProfileError", selection: updateUserProfileError.selection), GraphQLField.fragment(type: "UpdateUserProfileSuccess", selection: updateUserProfileSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateUserProfileError: - let data = Objects.UpdateUserProfileError(errorCodes: data.errorCodes) - return try updateUserProfileError.decode(data: data) - case .updateUserProfileSuccess: - let data = Objects.UpdateUserProfileSuccess(user: data.user) - return try updateUserProfileSuccess.decode(data: data) - } - case .mocking: - return updateUserProfileError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateUserProfileError: + let data = Objects.UpdateUserProfileError(errorCodes: data.errorCodes) + return try updateUserProfileError.decode(data: data) + case .updateUserProfileSuccess: + let data = Objects.UpdateUserProfileSuccess(user: data.user) + return try updateUserProfileSuccess.decode(data: data) + } + case .mocking: + return updateUserProfileError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateUserProfileResult = Selection + typealias UpdateUserProfileResult = Selection } extension Unions { - struct UpdateUserResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UpdateUserErrorCode]] - let user: [String: Objects.User] + struct UpdateUserResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UpdateUserErrorCode]] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case updateUserError = "UpdateUserError" - case updateUserSuccess = "UpdateUserSuccess" + enum TypeName: String, Codable { + case updateUserError = "UpdateUserError" + case updateUserSuccess = "UpdateUserSuccess" + } } - } } extension Unions.UpdateUserResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UpdateUserErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UpdateUserErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + user = map["user"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - user = map["user"] - } } extension Fields where TypeLock == Unions.UpdateUserResult { - func on(updateUserError: Selection, updateUserSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdateUserError", selection: updateUserError.selection), GraphQLField.fragment(type: "UpdateUserSuccess", selection: updateUserSuccess.selection)]) + func on(updateUserError: Selection, updateUserSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdateUserError", selection: updateUserError.selection), GraphQLField.fragment(type: "UpdateUserSuccess", selection: updateUserSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updateUserError: - let data = Objects.UpdateUserError(errorCodes: data.errorCodes) - return try updateUserError.decode(data: data) - case .updateUserSuccess: - let data = Objects.UpdateUserSuccess(user: data.user) - return try updateUserSuccess.decode(data: data) - } - case .mocking: - return updateUserError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updateUserError: + let data = Objects.UpdateUserError(errorCodes: data.errorCodes) + return try updateUserError.decode(data: data) + case .updateUserSuccess: + let data = Objects.UpdateUserSuccess(user: data.user) + return try updateUserSuccess.decode(data: data) + } + case .mocking: + return updateUserError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdateUserResult = Selection + typealias UpdateUserResult = Selection } extension Unions { - struct UpdatesSinceResult { - let __typename: TypeName - let edges: [String: [Objects.SyncUpdatedItemEdge]] - let errorCodes: [String: [Enums.UpdatesSinceErrorCode]] - let pageInfo: [String: Objects.PageInfo] + struct UpdatesSinceResult { + let __typename: TypeName + let edges: [String: [Objects.SyncUpdatedItemEdge]] + let errorCodes: [String: [Enums.UpdatesSinceErrorCode]] + let pageInfo: [String: Objects.PageInfo] - enum TypeName: String, Codable { - case updatesSinceError = "UpdatesSinceError" - case updatesSinceSuccess = "UpdatesSinceSuccess" + enum TypeName: String, Codable { + case updatesSinceError = "UpdatesSinceError" + case updatesSinceSuccess = "UpdatesSinceSuccess" + } } - } } extension Unions.UpdatesSinceResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "edges": - if let value = try container.decode([Objects.SyncUpdatedItemEdge]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "edges": + if let value = try container.decode([Objects.SyncUpdatedItemEdge]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.UpdatesSinceErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "pageInfo": + if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.UpdatesSinceErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "pageInfo": - if let value = try container.decode(Objects.PageInfo?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + edges = map["edges"] + errorCodes = map["errorCodes"] + pageInfo = map["pageInfo"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - edges = map["edges"] - errorCodes = map["errorCodes"] - pageInfo = map["pageInfo"] - } } extension Fields where TypeLock == Unions.UpdatesSinceResult { - func on(updatesSinceError: Selection, updatesSinceSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UpdatesSinceError", selection: updatesSinceError.selection), GraphQLField.fragment(type: "UpdatesSinceSuccess", selection: updatesSinceSuccess.selection)]) + func on(updatesSinceError: Selection, updatesSinceSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UpdatesSinceError", selection: updatesSinceError.selection), GraphQLField.fragment(type: "UpdatesSinceSuccess", selection: updatesSinceSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .updatesSinceError: - let data = Objects.UpdatesSinceError(errorCodes: data.errorCodes) - return try updatesSinceError.decode(data: data) - case .updatesSinceSuccess: - let data = Objects.UpdatesSinceSuccess(edges: data.edges, pageInfo: data.pageInfo) - return try updatesSinceSuccess.decode(data: data) - } - case .mocking: - return updatesSinceError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .updatesSinceError: + let data = Objects.UpdatesSinceError(errorCodes: data.errorCodes) + return try updatesSinceError.decode(data: data) + case .updatesSinceSuccess: + let data = Objects.UpdatesSinceSuccess(edges: data.edges, pageInfo: data.pageInfo) + return try updatesSinceSuccess.decode(data: data) + } + case .mocking: + return updatesSinceError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UpdatesSinceResult = Selection + typealias UpdatesSinceResult = Selection } extension Unions { - struct UploadFileRequestResult { - let __typename: TypeName - let createdPageId: [String: String] - let errorCodes: [String: [Enums.UploadFileRequestErrorCode]] - let id: [String: String] - let uploadFileId: [String: String] - let uploadSignedUrl: [String: String] + struct UploadFileRequestResult { + let __typename: TypeName + let createdPageId: [String: String] + let errorCodes: [String: [Enums.UploadFileRequestErrorCode]] + let id: [String: String] + let uploadFileId: [String: String] + let uploadSignedUrl: [String: String] - enum TypeName: String, Codable { - case uploadFileRequestError = "UploadFileRequestError" - case uploadFileRequestSuccess = "UploadFileRequestSuccess" + enum TypeName: String, Codable { + case uploadFileRequestError = "UploadFileRequestError" + case uploadFileRequestSuccess = "UploadFileRequestSuccess" + } } - } } extension Unions.UploadFileRequestResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "createdPageId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "createdPageId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "errorCodes": + if let value = try container.decode([Enums.UploadFileRequestErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "id": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadFileId": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadSignedUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "errorCodes": - if let value = try container.decode([Enums.UploadFileRequestErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "id": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadFileId": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - case "uploadSignedUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + createdPageId = map["createdPageId"] + errorCodes = map["errorCodes"] + id = map["id"] + uploadFileId = map["uploadFileId"] + uploadSignedUrl = map["uploadSignedUrl"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - createdPageId = map["createdPageId"] - errorCodes = map["errorCodes"] - id = map["id"] - uploadFileId = map["uploadFileId"] - uploadSignedUrl = map["uploadSignedUrl"] - } } extension Fields where TypeLock == Unions.UploadFileRequestResult { - func on(uploadFileRequestError: Selection, uploadFileRequestSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UploadFileRequestError", selection: uploadFileRequestError.selection), GraphQLField.fragment(type: "UploadFileRequestSuccess", selection: uploadFileRequestSuccess.selection)]) + func on(uploadFileRequestError: Selection, uploadFileRequestSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UploadFileRequestError", selection: uploadFileRequestError.selection), GraphQLField.fragment(type: "UploadFileRequestSuccess", selection: uploadFileRequestSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .uploadFileRequestError: - let data = Objects.UploadFileRequestError(errorCodes: data.errorCodes) - return try uploadFileRequestError.decode(data: data) - case .uploadFileRequestSuccess: - let data = Objects.UploadFileRequestSuccess(createdPageId: data.createdPageId, id: data.id, uploadFileId: data.uploadFileId, uploadSignedUrl: data.uploadSignedUrl) - return try uploadFileRequestSuccess.decode(data: data) - } - case .mocking: - return uploadFileRequestError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .uploadFileRequestError: + let data = Objects.UploadFileRequestError(errorCodes: data.errorCodes) + return try uploadFileRequestError.decode(data: data) + case .uploadFileRequestSuccess: + let data = Objects.UploadFileRequestSuccess(createdPageId: data.createdPageId, id: data.id, uploadFileId: data.uploadFileId, uploadSignedUrl: data.uploadSignedUrl) + return try uploadFileRequestSuccess.decode(data: data) + } + case .mocking: + return uploadFileRequestError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UploadFileRequestResult = Selection + typealias UploadFileRequestResult = Selection } extension Unions { - struct UploadImportFileResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UploadImportFileErrorCode]] - let uploadSignedUrl: [String: String] + struct UploadImportFileResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UploadImportFileErrorCode]] + let uploadSignedUrl: [String: String] - enum TypeName: String, Codable { - case uploadImportFileError = "UploadImportFileError" - case uploadImportFileSuccess = "UploadImportFileSuccess" + enum TypeName: String, Codable { + case uploadImportFileError = "UploadImportFileError" + case uploadImportFileSuccess = "UploadImportFileSuccess" + } } - } } extension Unions.UploadImportFileResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UploadImportFileErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UploadImportFileErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "uploadSignedUrl": + if let value = try container.decode(String?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "uploadSignedUrl": - if let value = try container.decode(String?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + uploadSignedUrl = map["uploadSignedUrl"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - uploadSignedUrl = map["uploadSignedUrl"] - } } extension Fields where TypeLock == Unions.UploadImportFileResult { - func on(uploadImportFileError: Selection, uploadImportFileSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UploadImportFileError", selection: uploadImportFileError.selection), GraphQLField.fragment(type: "UploadImportFileSuccess", selection: uploadImportFileSuccess.selection)]) + func on(uploadImportFileError: Selection, uploadImportFileSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UploadImportFileError", selection: uploadImportFileError.selection), GraphQLField.fragment(type: "UploadImportFileSuccess", selection: uploadImportFileSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .uploadImportFileError: - let data = Objects.UploadImportFileError(errorCodes: data.errorCodes) - return try uploadImportFileError.decode(data: data) - case .uploadImportFileSuccess: - let data = Objects.UploadImportFileSuccess(uploadSignedUrl: data.uploadSignedUrl) - return try uploadImportFileSuccess.decode(data: data) - } - case .mocking: - return uploadImportFileError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .uploadImportFileError: + let data = Objects.UploadImportFileError(errorCodes: data.errorCodes) + return try uploadImportFileError.decode(data: data) + case .uploadImportFileSuccess: + let data = Objects.UploadImportFileSuccess(uploadSignedUrl: data.uploadSignedUrl) + return try uploadImportFileSuccess.decode(data: data) + } + case .mocking: + return uploadImportFileError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UploadImportFileResult = Selection + typealias UploadImportFileResult = Selection } extension Unions { - struct UserResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UserErrorCode]] - let user: [String: Objects.User] + struct UserResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UserErrorCode]] + let user: [String: Objects.User] - enum TypeName: String, Codable { - case userError = "UserError" - case userSuccess = "UserSuccess" + enum TypeName: String, Codable { + case userError = "UserError" + case userSuccess = "UserSuccess" + } } - } } extension Unions.UserResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UserErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UserErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "user": + if let value = try container.decode(Objects.User?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "user": - if let value = try container.decode(Objects.User?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + user = map["user"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - user = map["user"] - } } extension Fields where TypeLock == Unions.UserResult { - func on(userError: Selection, userSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UserError", selection: userError.selection), GraphQLField.fragment(type: "UserSuccess", selection: userSuccess.selection)]) + func on(userError: Selection, userSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UserError", selection: userError.selection), GraphQLField.fragment(type: "UserSuccess", selection: userSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .userError: - let data = Objects.UserError(errorCodes: data.errorCodes) - return try userError.decode(data: data) - case .userSuccess: - let data = Objects.UserSuccess(user: data.user) - return try userSuccess.decode(data: data) - } - case .mocking: - return userError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .userError: + let data = Objects.UserError(errorCodes: data.errorCodes) + return try userError.decode(data: data) + case .userSuccess: + let data = Objects.UserSuccess(user: data.user) + return try userSuccess.decode(data: data) + } + case .mocking: + return userError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UserResult = Selection + typealias UserResult = Selection } extension Unions { - struct UsersResult { - let __typename: TypeName - let errorCodes: [String: [Enums.UsersErrorCode]] - let users: [String: [Objects.User]] + struct UsersResult { + let __typename: TypeName + let errorCodes: [String: [Enums.UsersErrorCode]] + let users: [String: [Objects.User]] - enum TypeName: String, Codable { - case usersError = "UsersError" - case usersSuccess = "UsersSuccess" + enum TypeName: String, Codable { + case usersError = "UsersError" + case usersSuccess = "UsersSuccess" + } } - } } extension Unions.UsersResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.UsersErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.UsersErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "users": + if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "users": - if let value = try container.decode([Objects.User]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + users = map["users"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - users = map["users"] - } } extension Fields where TypeLock == Unions.UsersResult { - func on(usersError: Selection, usersSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "UsersError", selection: usersError.selection), GraphQLField.fragment(type: "UsersSuccess", selection: usersSuccess.selection)]) + func on(usersError: Selection, usersSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "UsersError", selection: usersError.selection), GraphQLField.fragment(type: "UsersSuccess", selection: usersSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .usersError: - let data = Objects.UsersError(errorCodes: data.errorCodes) - return try usersError.decode(data: data) - case .usersSuccess: - let data = Objects.UsersSuccess(users: data.users) - return try usersSuccess.decode(data: data) - } - case .mocking: - return usersError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .usersError: + let data = Objects.UsersError(errorCodes: data.errorCodes) + return try usersError.decode(data: data) + case .usersSuccess: + let data = Objects.UsersSuccess(users: data.users) + return try usersSuccess.decode(data: data) + } + case .mocking: + return usersError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias UsersResult = Selection + typealias UsersResult = Selection } extension Unions { - struct WebhookResult { - let __typename: TypeName - let errorCodes: [String: [Enums.WebhookErrorCode]] - let webhook: [String: Objects.Webhook] + struct WebhookResult { + let __typename: TypeName + let errorCodes: [String: [Enums.WebhookErrorCode]] + let webhook: [String: Objects.Webhook] - enum TypeName: String, Codable { - case webhookError = "WebhookError" - case webhookSuccess = "WebhookSuccess" + enum TypeName: String, Codable { + case webhookError = "WebhookError" + case webhookSuccess = "WebhookSuccess" + } } - } } extension Unions.WebhookResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.WebhookErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.WebhookErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "webhook": + if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "webhook": - if let value = try container.decode(Objects.Webhook?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + webhook = map["webhook"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - webhook = map["webhook"] - } } extension Fields where TypeLock == Unions.WebhookResult { - func on(webhookError: Selection, webhookSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "WebhookError", selection: webhookError.selection), GraphQLField.fragment(type: "WebhookSuccess", selection: webhookSuccess.selection)]) + func on(webhookError: Selection, webhookSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "WebhookError", selection: webhookError.selection), GraphQLField.fragment(type: "WebhookSuccess", selection: webhookSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .webhookError: - let data = Objects.WebhookError(errorCodes: data.errorCodes) - return try webhookError.decode(data: data) - case .webhookSuccess: - let data = Objects.WebhookSuccess(webhook: data.webhook) - return try webhookSuccess.decode(data: data) - } - case .mocking: - return webhookError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .webhookError: + let data = Objects.WebhookError(errorCodes: data.errorCodes) + return try webhookError.decode(data: data) + case .webhookSuccess: + let data = Objects.WebhookSuccess(webhook: data.webhook) + return try webhookSuccess.decode(data: data) + } + case .mocking: + return webhookError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias WebhookResult = Selection + typealias WebhookResult = Selection } extension Unions { - struct WebhooksResult { - let __typename: TypeName - let errorCodes: [String: [Enums.WebhooksErrorCode]] - let webhooks: [String: [Objects.Webhook]] + struct WebhooksResult { + let __typename: TypeName + let errorCodes: [String: [Enums.WebhooksErrorCode]] + let webhooks: [String: [Objects.Webhook]] - enum TypeName: String, Codable { - case webhooksError = "WebhooksError" - case webhooksSuccess = "WebhooksSuccess" + enum TypeName: String, Codable { + case webhooksError = "WebhooksError" + case webhooksSuccess = "WebhooksSuccess" + } } - } } extension Unions.WebhooksResult: Decodable { - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: DynamicCodingKeys.self) + init(from decoder: Decoder) throws { + let container = try decoder.container(keyedBy: DynamicCodingKeys.self) - var map = HashMap() - for codingKey in container.allKeys { - if codingKey.isTypenameKey { continue } + var map = HashMap() + for codingKey in container.allKeys { + if codingKey.isTypenameKey { continue } - let alias = codingKey.stringValue - let field = GraphQLField.getFieldNameFromAlias(alias) + let alias = codingKey.stringValue + let field = GraphQLField.getFieldNameFromAlias(alias) - switch field { - case "errorCodes": - if let value = try container.decode([Enums.WebhooksErrorCode]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) + switch field { + case "errorCodes": + if let value = try container.decode([Enums.WebhooksErrorCode]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + case "webhooks": + if let value = try container.decode([Objects.Webhook]?.self, forKey: codingKey) { + map.set(key: field, hash: alias, value: value as Any) + } + default: + throw DecodingError.dataCorrupted( + DecodingError.Context( + codingPath: decoder.codingPath, + debugDescription: "Unknown key \(field)." + ) + ) + } } - case "webhooks": - if let value = try container.decode([Objects.Webhook]?.self, forKey: codingKey) { - map.set(key: field, hash: alias, value: value as Any) - } - default: - throw DecodingError.dataCorrupted( - DecodingError.Context( - codingPath: decoder.codingPath, - debugDescription: "Unknown key \(field)." - ) - ) - } + + __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) + + errorCodes = map["errorCodes"] + webhooks = map["webhooks"] } - - __typename = try container.decode(TypeName.self, forKey: DynamicCodingKeys(stringValue: "__typename")!) - - errorCodes = map["errorCodes"] - webhooks = map["webhooks"] - } } extension Fields where TypeLock == Unions.WebhooksResult { - func on(webhooksError: Selection, webhooksSuccess: Selection) throws -> Type { - select([GraphQLField.fragment(type: "WebhooksError", selection: webhooksError.selection), GraphQLField.fragment(type: "WebhooksSuccess", selection: webhooksSuccess.selection)]) + func on(webhooksError: Selection, webhooksSuccess: Selection) throws -> Type { + select([GraphQLField.fragment(type: "WebhooksError", selection: webhooksError.selection), GraphQLField.fragment(type: "WebhooksSuccess", selection: webhooksSuccess.selection)]) - switch response { - case let .decoding(data): - switch data.__typename { - case .webhooksError: - let data = Objects.WebhooksError(errorCodes: data.errorCodes) - return try webhooksError.decode(data: data) - case .webhooksSuccess: - let data = Objects.WebhooksSuccess(webhooks: data.webhooks) - return try webhooksSuccess.decode(data: data) - } - case .mocking: - return webhooksError.mock() + switch response { + case let .decoding(data): + switch data.__typename { + case .webhooksError: + let data = Objects.WebhooksError(errorCodes: data.errorCodes) + return try webhooksError.decode(data: data) + case .webhooksSuccess: + let data = Objects.WebhooksSuccess(webhooks: data.webhooks) + return try webhooksSuccess.decode(data: data) + } + case .mocking: + return webhooksError.mock() + } } - } } extension Selection where TypeLock == Never, Type == Never { - typealias WebhooksResult = Selection + typealias WebhooksResult = Selection } // MARK: - Enums enum Enums {} extension Enums { - /// AddPopularReadErrorCode - enum AddPopularReadErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// AddPopularReadErrorCode + enum AddPopularReadErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ApiKeysErrorCode - enum ApiKeysErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// ApiKeysErrorCode + enum ApiKeysErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ArchiveLinkErrorCode - enum ArchiveLinkErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// ArchiveLinkErrorCode + enum ArchiveLinkErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ArticleErrorCode - enum ArticleErrorCode: String, CaseIterable, Codable { - case badData = "BAD_DATA" + /// ArticleErrorCode + enum ArticleErrorCode: String, CaseIterable, Codable { + case badData = "BAD_DATA" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ArticleSavingRequestErrorCode - enum ArticleSavingRequestErrorCode: String, CaseIterable, Codable { - case badData = "BAD_DATA" + /// ArticleSavingRequestErrorCode + enum ArticleSavingRequestErrorCode: String, CaseIterable, Codable { + case badData = "BAD_DATA" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ArticleSavingRequestStatus - enum ArticleSavingRequestStatus: String, CaseIterable, Codable { - case archived = "ARCHIVED" + /// ArticleSavingRequestStatus + enum ArticleSavingRequestStatus: String, CaseIterable, Codable { + case archived = "ARCHIVED" - case contentNotFetched = "CONTENT_NOT_FETCHED" + case contentNotFetched = "CONTENT_NOT_FETCHED" - case deleted = "DELETED" + case deleted = "DELETED" - case failed = "FAILED" + case failed = "FAILED" - case processing = "PROCESSING" + case processing = "PROCESSING" - case succeeded = "SUCCEEDED" - } + case succeeded = "SUCCEEDED" + } } extension Enums { - /// ArticlesErrorCode - enum ArticlesErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// ArticlesErrorCode + enum ArticlesErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// BulkActionErrorCode - enum BulkActionErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// BulkActionErrorCode + enum BulkActionErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// BulkActionType - enum BulkActionType: String, CaseIterable, Codable { - case addLabels = "ADD_LABELS" + /// BulkActionType + enum BulkActionType: String, CaseIterable, Codable { + case addLabels = "ADD_LABELS" - case archive = "ARCHIVE" + case archive = "ARCHIVE" - case delete = "DELETE" + case delete = "DELETE" - case markAsRead = "MARK_AS_READ" + case markAsRead = "MARK_AS_READ" - case moveToFolder = "MOVE_TO_FOLDER" - } + case moveToFolder = "MOVE_TO_FOLDER" + } } extension Enums { - /// ContentReader - enum ContentReader: String, CaseIterable, Codable { - case epub = "EPUB" + /// ContentReader + enum ContentReader: String, CaseIterable, Codable { + case epub = "EPUB" - case pdf = "PDF" + case pdf = "PDF" - case web = "WEB" - } + case web = "WEB" + } } extension Enums { - /// CreateArticleErrorCode - enum CreateArticleErrorCode: String, CaseIterable, Codable { - case elasticError = "ELASTIC_ERROR" + /// CreateArticleErrorCode + enum CreateArticleErrorCode: String, CaseIterable, Codable { + case elasticError = "ELASTIC_ERROR" - case notAllowedToParse = "NOT_ALLOWED_TO_PARSE" + case notAllowedToParse = "NOT_ALLOWED_TO_PARSE" - case payloadTooLarge = "PAYLOAD_TOO_LARGE" + case payloadTooLarge = "PAYLOAD_TOO_LARGE" - case unableToFetch = "UNABLE_TO_FETCH" + case unableToFetch = "UNABLE_TO_FETCH" - case unableToParse = "UNABLE_TO_PARSE" + case unableToParse = "UNABLE_TO_PARSE" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case uploadFileMissing = "UPLOAD_FILE_MISSING" - } + case uploadFileMissing = "UPLOAD_FILE_MISSING" + } } extension Enums { - /// CreateArticleSavingRequestErrorCode - enum CreateArticleSavingRequestErrorCode: String, CaseIterable, Codable { - case badData = "BAD_DATA" + /// CreateArticleSavingRequestErrorCode + enum CreateArticleSavingRequestErrorCode: String, CaseIterable, Codable { + case badData = "BAD_DATA" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// CreateGroupErrorCode - enum CreateGroupErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// CreateGroupErrorCode + enum CreateGroupErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// CreateHighlightErrorCode - enum CreateHighlightErrorCode: String, CaseIterable, Codable { - case alreadyExists = "ALREADY_EXISTS" + /// CreateHighlightErrorCode + enum CreateHighlightErrorCode: String, CaseIterable, Codable { + case alreadyExists = "ALREADY_EXISTS" - case badData = "BAD_DATA" + case badData = "BAD_DATA" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// CreateHighlightReplyErrorCode - enum CreateHighlightReplyErrorCode: String, CaseIterable, Codable { - case emptyAnnotation = "EMPTY_ANNOTATION" + /// CreateHighlightReplyErrorCode + enum CreateHighlightReplyErrorCode: String, CaseIterable, Codable { + case emptyAnnotation = "EMPTY_ANNOTATION" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// CreateLabelErrorCode - enum CreateLabelErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// CreateLabelErrorCode + enum CreateLabelErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case labelAlreadyExists = "LABEL_ALREADY_EXISTS" + case labelAlreadyExists = "LABEL_ALREADY_EXISTS" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// CreateNewsletterEmailErrorCode - enum CreateNewsletterEmailErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// CreateNewsletterEmailErrorCode + enum CreateNewsletterEmailErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// CreateReactionErrorCode - enum CreateReactionErrorCode: String, CaseIterable, Codable { - case badCode = "BAD_CODE" + /// CreateReactionErrorCode + enum CreateReactionErrorCode: String, CaseIterable, Codable { + case badCode = "BAD_CODE" - case badTarget = "BAD_TARGET" + case badTarget = "BAD_TARGET" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// CreateReminderErrorCode - enum CreateReminderErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// CreateReminderErrorCode + enum CreateReminderErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteAccountErrorCode - enum DeleteAccountErrorCode: String, CaseIterable, Codable { - case forbidden = "FORBIDDEN" + /// DeleteAccountErrorCode + enum DeleteAccountErrorCode: String, CaseIterable, Codable { + case forbidden = "FORBIDDEN" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case userNotFound = "USER_NOT_FOUND" - } + case userNotFound = "USER_NOT_FOUND" + } } extension Enums { - /// DeleteFilterErrorCode - enum DeleteFilterErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeleteFilterErrorCode + enum DeleteFilterErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteHighlightErrorCode - enum DeleteHighlightErrorCode: String, CaseIterable, Codable { - case forbidden = "FORBIDDEN" + /// DeleteHighlightErrorCode + enum DeleteHighlightErrorCode: String, CaseIterable, Codable { + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteHighlightReplyErrorCode - enum DeleteHighlightReplyErrorCode: String, CaseIterable, Codable { - case forbidden = "FORBIDDEN" + /// DeleteHighlightReplyErrorCode + enum DeleteHighlightReplyErrorCode: String, CaseIterable, Codable { + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteIntegrationErrorCode - enum DeleteIntegrationErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeleteIntegrationErrorCode + enum DeleteIntegrationErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteLabelErrorCode - enum DeleteLabelErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeleteLabelErrorCode + enum DeleteLabelErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteNewsletterEmailErrorCode - enum DeleteNewsletterEmailErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeleteNewsletterEmailErrorCode + enum DeleteNewsletterEmailErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteReactionErrorCode - enum DeleteReactionErrorCode: String, CaseIterable, Codable { - case forbidden = "FORBIDDEN" + /// DeleteReactionErrorCode + enum DeleteReactionErrorCode: String, CaseIterable, Codable { + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteReminderErrorCode - enum DeleteReminderErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeleteReminderErrorCode + enum DeleteReminderErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteRuleErrorCode - enum DeleteRuleErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeleteRuleErrorCode + enum DeleteRuleErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeleteWebhookErrorCode - enum DeleteWebhookErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeleteWebhookErrorCode + enum DeleteWebhookErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// DeviceTokensErrorCode - enum DeviceTokensErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// DeviceTokensErrorCode + enum DeviceTokensErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// FeedArticlesErrorCode - enum FeedArticlesErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// EmptyTrashErrorCode + enum EmptyTrashErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// FeedsErrorCode - enum FeedsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// FeedArticlesErrorCode + enum FeedArticlesErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } +} + +extension Enums { + /// FeedsErrorCode + enum FeedsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// FetchContentErrorCode - enum FetchContentErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// FetchContentErrorCode + enum FetchContentErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// FiltersErrorCode - enum FiltersErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// FiltersErrorCode + enum FiltersErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// GenerateApiKeyErrorCode - enum GenerateApiKeyErrorCode: String, CaseIterable, Codable { - case alreadyExists = "ALREADY_EXISTS" + /// GenerateApiKeyErrorCode + enum GenerateApiKeyErrorCode: String, CaseIterable, Codable { + case alreadyExists = "ALREADY_EXISTS" - case badRequest = "BAD_REQUEST" + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// GetFollowersErrorCode - enum GetFollowersErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// GetFollowersErrorCode + enum GetFollowersErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// GetFollowingErrorCode - enum GetFollowingErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// GetFollowingErrorCode + enum GetFollowingErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// GetUserPersonalizationErrorCode - enum GetUserPersonalizationErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// GetUserPersonalizationErrorCode + enum GetUserPersonalizationErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// GroupsErrorCode - enum GroupsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// GroupsErrorCode + enum GroupsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// HighlightType - enum HighlightType: String, CaseIterable, Codable { - case highlight = "HIGHLIGHT" + /// HighlightType + enum HighlightType: String, CaseIterable, Codable { + case highlight = "HIGHLIGHT" - case note = "NOTE" + case note = "NOTE" - case redaction = "REDACTION" - } + case redaction = "REDACTION" + } } extension Enums { - /// ImportFromIntegrationErrorCode - enum ImportFromIntegrationErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// ImportFromIntegrationErrorCode + enum ImportFromIntegrationErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ImportItemState - enum ImportItemState: String, CaseIterable, Codable { - case all = "ALL" + /// ImportItemState + enum ImportItemState: String, CaseIterable, Codable { + case all = "ALL" - case archived = "ARCHIVED" + case archived = "ARCHIVED" - case unarchived = "UNARCHIVED" + case unarchived = "UNARCHIVED" - case unread = "UNREAD" - } + case unread = "UNREAD" + } } extension Enums { - /// IntegrationType - enum IntegrationType: String, CaseIterable, Codable { - case export = "EXPORT" + /// IntegrationType + enum IntegrationType: String, CaseIterable, Codable { + case export = "EXPORT" - case `import` = "IMPORT" - } + case `import` = "IMPORT" + } } extension Enums { - /// IntegrationsErrorCode - enum IntegrationsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// IntegrationsErrorCode + enum IntegrationsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// JoinGroupErrorCode - enum JoinGroupErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// JoinGroupErrorCode + enum JoinGroupErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// LabelsErrorCode - enum LabelsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// LabelsErrorCode + enum LabelsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// LeaveGroupErrorCode - enum LeaveGroupErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// LeaveGroupErrorCode + enum LeaveGroupErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// LogOutErrorCode - enum LogOutErrorCode: String, CaseIterable, Codable { - case logOutFailed = "LOG_OUT_FAILED" - } + /// LogOutErrorCode + enum LogOutErrorCode: String, CaseIterable, Codable { + case logOutFailed = "LOG_OUT_FAILED" + } } extension Enums { - /// LoginErrorCode - enum LoginErrorCode: String, CaseIterable, Codable { - case accessDenied = "ACCESS_DENIED" + /// LoginErrorCode + enum LoginErrorCode: String, CaseIterable, Codable { + case accessDenied = "ACCESS_DENIED" - case authFailed = "AUTH_FAILED" + case authFailed = "AUTH_FAILED" - case invalidCredentials = "INVALID_CREDENTIALS" + case invalidCredentials = "INVALID_CREDENTIALS" - case userAlreadyExists = "USER_ALREADY_EXISTS" + case userAlreadyExists = "USER_ALREADY_EXISTS" - case userNotFound = "USER_NOT_FOUND" + case userNotFound = "USER_NOT_FOUND" - case wrongSource = "WRONG_SOURCE" - } + case wrongSource = "WRONG_SOURCE" + } } extension Enums { - /// MarkEmailAsItemErrorCode - enum MarkEmailAsItemErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// MarkEmailAsItemErrorCode + enum MarkEmailAsItemErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// MergeHighlightErrorCode - enum MergeHighlightErrorCode: String, CaseIterable, Codable { - case alreadyExists = "ALREADY_EXISTS" + /// MergeHighlightErrorCode + enum MergeHighlightErrorCode: String, CaseIterable, Codable { + case alreadyExists = "ALREADY_EXISTS" - case badData = "BAD_DATA" + case badData = "BAD_DATA" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// MoveFilterErrorCode - enum MoveFilterErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// MoveFilterErrorCode + enum MoveFilterErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// MoveLabelErrorCode - enum MoveLabelErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// MoveLabelErrorCode + enum MoveLabelErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// MoveToFolderErrorCode - enum MoveToFolderErrorCode: String, CaseIterable, Codable { - case alreadyExists = "ALREADY_EXISTS" + /// MoveToFolderErrorCode + enum MoveToFolderErrorCode: String, CaseIterable, Codable { + case alreadyExists = "ALREADY_EXISTS" - case badRequest = "BAD_REQUEST" + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// NewsletterEmailsErrorCode - enum NewsletterEmailsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// NewsletterEmailsErrorCode + enum NewsletterEmailsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// OptInFeatureErrorCode - enum OptInFeatureErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// OptInFeatureErrorCode + enum OptInFeatureErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" - } + case notFound = "NOT_FOUND" + } } extension Enums { - /// PageType - enum PageType: String, CaseIterable, Codable { - case article = "ARTICLE" + /// PageType + enum PageType: String, CaseIterable, Codable { + case article = "ARTICLE" - case book = "BOOK" + case book = "BOOK" - case file = "FILE" + case file = "FILE" - case highlights = "HIGHLIGHTS" + case highlights = "HIGHLIGHTS" - case image = "IMAGE" + case image = "IMAGE" - case profile = "PROFILE" + case profile = "PROFILE" - case tweet = "TWEET" + case tweet = "TWEET" - case unknown = "UNKNOWN" + case unknown = "UNKNOWN" - case video = "VIDEO" + case video = "VIDEO" - case website = "WEBSITE" - } + case website = "WEBSITE" + } } extension Enums { - /// ReactionType - enum ReactionType: String, CaseIterable, Codable { - case crying = "CRYING" + /// ReactionType + enum ReactionType: String, CaseIterable, Codable { + case crying = "CRYING" - case heart = "HEART" + case heart = "HEART" - case hushed = "HUSHED" + case hushed = "HUSHED" - case like = "LIKE" + case like = "LIKE" - case pout = "POUT" + case pout = "POUT" - case smile = "SMILE" - } + case smile = "SMILE" + } } extension Enums { - /// RecentEmailsErrorCode - enum RecentEmailsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// RecentEmailsErrorCode + enum RecentEmailsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// RecentSearchesErrorCode - enum RecentSearchesErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// RecentSearchesErrorCode + enum RecentSearchesErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// RecommendErrorCode - enum RecommendErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// RecommendErrorCode + enum RecommendErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// RecommendHighlightsErrorCode - enum RecommendHighlightsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// RecommendHighlightsErrorCode + enum RecommendHighlightsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ReminderErrorCode - enum ReminderErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// ReminderErrorCode + enum ReminderErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ReportType - enum ReportType: String, CaseIterable, Codable { - case abusive = "ABUSIVE" + /// ReportType + enum ReportType: String, CaseIterable, Codable { + case abusive = "ABUSIVE" - case contentDisplay = "CONTENT_DISPLAY" + case contentDisplay = "CONTENT_DISPLAY" - case contentViolation = "CONTENT_VIOLATION" + case contentViolation = "CONTENT_VIOLATION" - case spam = "SPAM" - } + case spam = "SPAM" + } } extension Enums { - /// RevokeApiKeyErrorCode - enum RevokeApiKeyErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// RevokeApiKeyErrorCode + enum RevokeApiKeyErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// RuleActionType - enum RuleActionType: String, CaseIterable, Codable { - case addLabel = "ADD_LABEL" + /// RuleActionType + enum RuleActionType: String, CaseIterable, Codable { + case addLabel = "ADD_LABEL" - case archive = "ARCHIVE" + case archive = "ARCHIVE" - case markAsRead = "MARK_AS_READ" + case markAsRead = "MARK_AS_READ" - case sendNotification = "SEND_NOTIFICATION" - } + case sendNotification = "SEND_NOTIFICATION" + } } extension Enums { - /// RuleEventType - enum RuleEventType: String, CaseIterable, Codable { - case pageCreated = "PAGE_CREATED" + /// RuleEventType + enum RuleEventType: String, CaseIterable, Codable { + case pageCreated = "PAGE_CREATED" - case pageUpdated = "PAGE_UPDATED" - } + case pageUpdated = "PAGE_UPDATED" + } } extension Enums { - /// RulesErrorCode - enum RulesErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// RulesErrorCode + enum RulesErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SaveArticleReadingProgressErrorCode - enum SaveArticleReadingProgressErrorCode: String, CaseIterable, Codable { - case badData = "BAD_DATA" + /// SaveArticleReadingProgressErrorCode + enum SaveArticleReadingProgressErrorCode: String, CaseIterable, Codable { + case badData = "BAD_DATA" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SaveErrorCode - enum SaveErrorCode: String, CaseIterable, Codable { - case embeddedHighlightFailed = "EMBEDDED_HIGHLIGHT_FAILED" + /// SaveErrorCode + enum SaveErrorCode: String, CaseIterable, Codable { + case embeddedHighlightFailed = "EMBEDDED_HIGHLIGHT_FAILED" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case unknown = "UNKNOWN" - } + case unknown = "UNKNOWN" + } } extension Enums { - /// SaveFilterErrorCode - enum SaveFilterErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// SaveFilterErrorCode + enum SaveFilterErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// ScanFeedsErrorCode - enum ScanFeedsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" - } + /// ScanFeedsErrorCode + enum ScanFeedsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" + } } extension Enums { - /// SearchErrorCode - enum SearchErrorCode: String, CaseIterable, Codable { - case queryTooLong = "QUERY_TOO_LONG" + /// SearchErrorCode + enum SearchErrorCode: String, CaseIterable, Codable { + case queryTooLong = "QUERY_TOO_LONG" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SendInstallInstructionsErrorCode - enum SendInstallInstructionsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// SendInstallInstructionsErrorCode + enum SendInstallInstructionsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetBookmarkArticleErrorCode - enum SetBookmarkArticleErrorCode: String, CaseIterable, Codable { - case bookmarkExists = "BOOKMARK_EXISTS" + /// SetBookmarkArticleErrorCode + enum SetBookmarkArticleErrorCode: String, CaseIterable, Codable { + case bookmarkExists = "BOOKMARK_EXISTS" - case notFound = "NOT_FOUND" - } + case notFound = "NOT_FOUND" + } } extension Enums { - /// SetDeviceTokenErrorCode - enum SetDeviceTokenErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// SetDeviceTokenErrorCode + enum SetDeviceTokenErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetFavoriteArticleErrorCode - enum SetFavoriteArticleErrorCode: String, CaseIterable, Codable { - case alreadyExists = "ALREADY_EXISTS" + /// SetFavoriteArticleErrorCode + enum SetFavoriteArticleErrorCode: String, CaseIterable, Codable { + case alreadyExists = "ALREADY_EXISTS" - case badRequest = "BAD_REQUEST" + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetFollowErrorCode - enum SetFollowErrorCode: String, CaseIterable, Codable { - case notFound = "NOT_FOUND" + /// SetFollowErrorCode + enum SetFollowErrorCode: String, CaseIterable, Codable { + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetIntegrationErrorCode - enum SetIntegrationErrorCode: String, CaseIterable, Codable { - case alreadyExists = "ALREADY_EXISTS" + /// SetIntegrationErrorCode + enum SetIntegrationErrorCode: String, CaseIterable, Codable { + case alreadyExists = "ALREADY_EXISTS" - case badRequest = "BAD_REQUEST" + case badRequest = "BAD_REQUEST" - case invalidToken = "INVALID_TOKEN" + case invalidToken = "INVALID_TOKEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetLabelsErrorCode - enum SetLabelsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// SetLabelsErrorCode + enum SetLabelsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetRuleErrorCode - enum SetRuleErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// SetRuleErrorCode + enum SetRuleErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetShareArticleErrorCode - enum SetShareArticleErrorCode: String, CaseIterable, Codable { - case notFound = "NOT_FOUND" + /// SetShareArticleErrorCode + enum SetShareArticleErrorCode: String, CaseIterable, Codable { + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetShareHighlightErrorCode - enum SetShareHighlightErrorCode: String, CaseIterable, Codable { - case forbidden = "FORBIDDEN" + /// SetShareHighlightErrorCode + enum SetShareHighlightErrorCode: String, CaseIterable, Codable { + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetUserPersonalizationErrorCode - enum SetUserPersonalizationErrorCode: String, CaseIterable, Codable { - case notFound = "NOT_FOUND" + /// SetUserPersonalizationErrorCode + enum SetUserPersonalizationErrorCode: String, CaseIterable, Codable { + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SetWebhookErrorCode - enum SetWebhookErrorCode: String, CaseIterable, Codable { - case alreadyExists = "ALREADY_EXISTS" + /// SetWebhookErrorCode + enum SetWebhookErrorCode: String, CaseIterable, Codable { + case alreadyExists = "ALREADY_EXISTS" - case badRequest = "BAD_REQUEST" + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SharedArticleErrorCode - enum SharedArticleErrorCode: String, CaseIterable, Codable { - case notFound = "NOT_FOUND" - } + /// SharedArticleErrorCode + enum SharedArticleErrorCode: String, CaseIterable, Codable { + case notFound = "NOT_FOUND" + } } extension Enums { - /// SignupErrorCode - enum SignupErrorCode: String, CaseIterable, Codable { - case accessDenied = "ACCESS_DENIED" + /// SignupErrorCode + enum SignupErrorCode: String, CaseIterable, Codable { + case accessDenied = "ACCESS_DENIED" - case expiredToken = "EXPIRED_TOKEN" + case expiredToken = "EXPIRED_TOKEN" - case googleAuthError = "GOOGLE_AUTH_ERROR" + case googleAuthError = "GOOGLE_AUTH_ERROR" - case invalidEmail = "INVALID_EMAIL" + case invalidEmail = "INVALID_EMAIL" - case invalidPassword = "INVALID_PASSWORD" + case invalidPassword = "INVALID_PASSWORD" - case invalidUsername = "INVALID_USERNAME" + case invalidUsername = "INVALID_USERNAME" - case unknown = "UNKNOWN" + case unknown = "UNKNOWN" - case userExists = "USER_EXISTS" - } + case userExists = "USER_EXISTS" + } } extension Enums { - /// SortBy - enum SortBy: String, CaseIterable, Codable { - case publishedAt = "PUBLISHED_AT" + /// SortBy + enum SortBy: String, CaseIterable, Codable { + case publishedAt = "PUBLISHED_AT" - case savedAt = "SAVED_AT" + case savedAt = "SAVED_AT" - case score = "SCORE" + case score = "SCORE" - case updatedTime = "UPDATED_TIME" - } + case updatedTime = "UPDATED_TIME" + } } extension Enums { - /// SortOrder - enum SortOrder: String, CaseIterable, Codable { - case ascending = "ASCENDING" + /// SortOrder + enum SortOrder: String, CaseIterable, Codable { + case ascending = "ASCENDING" - case descending = "DESCENDING" - } + case descending = "DESCENDING" + } } extension Enums { - /// SubscribeErrorCode - enum SubscribeErrorCode: String, CaseIterable, Codable { - case alreadySubscribed = "ALREADY_SUBSCRIBED" + /// SubscribeErrorCode + enum SubscribeErrorCode: String, CaseIterable, Codable { + case alreadySubscribed = "ALREADY_SUBSCRIBED" - case badRequest = "BAD_REQUEST" + case badRequest = "BAD_REQUEST" - case exceededMaxSubscriptions = "EXCEEDED_MAX_SUBSCRIPTIONS" + case exceededMaxSubscriptions = "EXCEEDED_MAX_SUBSCRIPTIONS" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// SubscriptionStatus - enum SubscriptionStatus: String, CaseIterable, Codable { - case active = "ACTIVE" + /// SubscriptionStatus + enum SubscriptionStatus: String, CaseIterable, Codable { + case active = "ACTIVE" - case deleted = "DELETED" + case deleted = "DELETED" - case unsubscribed = "UNSUBSCRIBED" - } + case unsubscribed = "UNSUBSCRIBED" + } } extension Enums { - /// SubscriptionType - enum SubscriptionType: String, CaseIterable, Codable { - case newsletter = "NEWSLETTER" + /// SubscriptionType + enum SubscriptionType: String, CaseIterable, Codable { + case newsletter = "NEWSLETTER" - case rss = "RSS" - } + case rss = "RSS" + } } extension Enums { - /// SubscriptionsErrorCode - enum SubscriptionsErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// SubscriptionsErrorCode + enum SubscriptionsErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// TypeaheadSearchErrorCode - enum TypeaheadSearchErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// TypeaheadSearchErrorCode + enum TypeaheadSearchErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UnsubscribeErrorCode - enum UnsubscribeErrorCode: String, CaseIterable, Codable { - case alreadyUnsubscribed = "ALREADY_UNSUBSCRIBED" + /// UnsubscribeErrorCode + enum UnsubscribeErrorCode: String, CaseIterable, Codable { + case alreadyUnsubscribed = "ALREADY_UNSUBSCRIBED" - case badRequest = "BAD_REQUEST" + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case unsubscribeMethodNotFound = "UNSUBSCRIBE_METHOD_NOT_FOUND" - } + case unsubscribeMethodNotFound = "UNSUBSCRIBE_METHOD_NOT_FOUND" + } } extension Enums { - /// UpdateEmailErrorCode - enum UpdateEmailErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdateEmailErrorCode + enum UpdateEmailErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case emailAlreadyExists = "EMAIL_ALREADY_EXISTS" + case emailAlreadyExists = "EMAIL_ALREADY_EXISTS" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateFilterErrorCode - enum UpdateFilterErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdateFilterErrorCode + enum UpdateFilterErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateHighlightErrorCode - enum UpdateHighlightErrorCode: String, CaseIterable, Codable { - case badData = "BAD_DATA" + /// UpdateHighlightErrorCode + enum UpdateHighlightErrorCode: String, CaseIterable, Codable { + case badData = "BAD_DATA" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateHighlightReplyErrorCode - enum UpdateHighlightReplyErrorCode: String, CaseIterable, Codable { - case forbidden = "FORBIDDEN" + /// UpdateHighlightReplyErrorCode + enum UpdateHighlightReplyErrorCode: String, CaseIterable, Codable { + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateLabelErrorCode - enum UpdateLabelErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdateLabelErrorCode + enum UpdateLabelErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateLinkShareInfoErrorCode - enum UpdateLinkShareInfoErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdateLinkShareInfoErrorCode + enum UpdateLinkShareInfoErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateNewsletterEmailErrorCode - enum UpdateNewsletterEmailErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdateNewsletterEmailErrorCode + enum UpdateNewsletterEmailErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdatePageErrorCode - enum UpdatePageErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdatePageErrorCode + enum UpdatePageErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case updateFailed = "UPDATE_FAILED" - } + case updateFailed = "UPDATE_FAILED" + } } extension Enums { - /// UpdateReason - enum UpdateReason: String, CaseIterable, Codable { - case created = "CREATED" + /// UpdateReason + enum UpdateReason: String, CaseIterable, Codable { + case created = "CREATED" - case deleted = "DELETED" + case deleted = "DELETED" - case updated = "UPDATED" - } + case updated = "UPDATED" + } } extension Enums { - /// UpdateReminderErrorCode - enum UpdateReminderErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdateReminderErrorCode + enum UpdateReminderErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateSharedCommentErrorCode - enum UpdateSharedCommentErrorCode: String, CaseIterable, Codable { - case notFound = "NOT_FOUND" + /// UpdateSharedCommentErrorCode + enum UpdateSharedCommentErrorCode: String, CaseIterable, Codable { + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateSubscriptionErrorCode - enum UpdateSubscriptionErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UpdateSubscriptionErrorCode + enum UpdateSubscriptionErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UpdateUserErrorCode - enum UpdateUserErrorCode: String, CaseIterable, Codable { - case bioTooLong = "BIO_TOO_LONG" + /// UpdateUserErrorCode + enum UpdateUserErrorCode: String, CaseIterable, Codable { + case bioTooLong = "BIO_TOO_LONG" - case emptyName = "EMPTY_NAME" + case emptyName = "EMPTY_NAME" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case userNotFound = "USER_NOT_FOUND" - } + case userNotFound = "USER_NOT_FOUND" + } } extension Enums { - /// UpdateUserProfileErrorCode - enum UpdateUserProfileErrorCode: String, CaseIterable, Codable { - case badData = "BAD_DATA" + /// UpdateUserProfileErrorCode + enum UpdateUserProfileErrorCode: String, CaseIterable, Codable { + case badData = "BAD_DATA" - case badUsername = "BAD_USERNAME" + case badUsername = "BAD_USERNAME" - case forbidden = "FORBIDDEN" + case forbidden = "FORBIDDEN" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case usernameExists = "USERNAME_EXISTS" - } + case usernameExists = "USERNAME_EXISTS" + } } extension Enums { - /// UpdatesSinceErrorCode - enum UpdatesSinceErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// UpdatesSinceErrorCode + enum UpdatesSinceErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UploadFileRequestErrorCode - enum UploadFileRequestErrorCode: String, CaseIterable, Codable { - case badInput = "BAD_INPUT" + /// UploadFileRequestErrorCode + enum UploadFileRequestErrorCode: String, CaseIterable, Codable { + case badInput = "BAD_INPUT" - case failedCreate = "FAILED_CREATE" + case failedCreate = "FAILED_CREATE" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// UploadFileStatus - enum UploadFileStatus: String, CaseIterable, Codable { - case completed = "COMPLETED" + /// UploadFileStatus + enum UploadFileStatus: String, CaseIterable, Codable { + case completed = "COMPLETED" - case initialized = "INITIALIZED" - } + case initialized = "INITIALIZED" + } } extension Enums { - /// UploadImportFileErrorCode - enum UploadImportFileErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UploadImportFileErrorCode + enum UploadImportFileErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case uploadDailyLimitExceeded = "UPLOAD_DAILY_LIMIT_EXCEEDED" - } + case uploadDailyLimitExceeded = "UPLOAD_DAILY_LIMIT_EXCEEDED" + } } extension Enums { - /// UploadImportFileType - enum UploadImportFileType: String, CaseIterable, Codable { - case matter = "MATTER" + /// UploadImportFileType + enum UploadImportFileType: String, CaseIterable, Codable { + case matter = "MATTER" - case pocket = "POCKET" + case pocket = "POCKET" - case urlList = "URL_LIST" - } + case urlList = "URL_LIST" + } } extension Enums { - /// UserErrorCode - enum UserErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// UserErrorCode + enum UserErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" + case unauthorized = "UNAUTHORIZED" - case userNotFound = "USER_NOT_FOUND" - } + case userNotFound = "USER_NOT_FOUND" + } } extension Enums { - /// UsersErrorCode - enum UsersErrorCode: String, CaseIterable, Codable { - case unauthorized = "UNAUTHORIZED" - } + /// UsersErrorCode + enum UsersErrorCode: String, CaseIterable, Codable { + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// WebhookErrorCode - enum WebhookErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// WebhookErrorCode + enum WebhookErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case notFound = "NOT_FOUND" + case notFound = "NOT_FOUND" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } extension Enums { - /// WebhookEvent - enum WebhookEvent: String, CaseIterable, Codable { - case highlightCreated = "HIGHLIGHT_CREATED" + /// WebhookEvent + enum WebhookEvent: String, CaseIterable, Codable { + case highlightCreated = "HIGHLIGHT_CREATED" - case highlightDeleted = "HIGHLIGHT_DELETED" + case highlightDeleted = "HIGHLIGHT_DELETED" - case highlightUpdated = "HIGHLIGHT_UPDATED" + case highlightUpdated = "HIGHLIGHT_UPDATED" - case labelCreated = "LABEL_CREATED" + case labelCreated = "LABEL_CREATED" - case labelDeleted = "LABEL_DELETED" + case labelDeleted = "LABEL_DELETED" - case labelUpdated = "LABEL_UPDATED" + case labelUpdated = "LABEL_UPDATED" - case pageCreated = "PAGE_CREATED" + case pageCreated = "PAGE_CREATED" - case pageDeleted = "PAGE_DELETED" + case pageDeleted = "PAGE_DELETED" - case pageUpdated = "PAGE_UPDATED" - } + case pageUpdated = "PAGE_UPDATED" + } } extension Enums { - /// WebhooksErrorCode - enum WebhooksErrorCode: String, CaseIterable, Codable { - case badRequest = "BAD_REQUEST" + /// WebhooksErrorCode + enum WebhooksErrorCode: String, CaseIterable, Codable { + case badRequest = "BAD_REQUEST" - case unauthorized = "UNAUTHORIZED" - } + case unauthorized = "UNAUTHORIZED" + } } // MARK: - Input Objects enum InputObjects {} extension InputObjects { - struct ArchiveLinkInput: Encodable, Hashable { - var archived: Bool + struct ArchiveLinkInput: Encodable, Hashable { + var archived: Bool - var linkId: String + var linkId: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(archived, forKey: .archived) - try container.encode(linkId, forKey: .linkId) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(archived, forKey: .archived) + try container.encode(linkId, forKey: .linkId) + } + + enum CodingKeys: String, CodingKey { + case archived + case linkId + } } - - enum CodingKeys: String, CodingKey { - case archived - case linkId - } - } } extension InputObjects { - struct ArticleHighlightsInput: Encodable, Hashable { - var includeFriends: OptionalArgument = .absent() + struct ArticleHighlightsInput: Encodable, Hashable { + var includeFriends: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if includeFriends.hasValue { try container.encode(includeFriends, forKey: .includeFriends) } - } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if includeFriends.hasValue { try container.encode(includeFriends, forKey: .includeFriends) } + } - enum CodingKeys: String, CodingKey { - case includeFriends + enum CodingKeys: String, CodingKey { + case includeFriends + } } - } } extension InputObjects { - struct CreateArticleInput: Encodable, Hashable { - var articleSavingRequestId: OptionalArgument = .absent() + struct CreateArticleInput: Encodable, Hashable { + var articleSavingRequestId: OptionalArgument = .absent() - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() + var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() - var preparedDocument: OptionalArgument = .absent() + var preparedDocument: OptionalArgument = .absent() - var publishedAt: OptionalArgument = .absent() + var publishedAt: OptionalArgument = .absent() - var rssFeedUrl: OptionalArgument = .absent() + var rssFeedUrl: OptionalArgument = .absent() - var savedAt: OptionalArgument = .absent() + var savedAt: OptionalArgument = .absent() - var skipParsing: OptionalArgument = .absent() + var skipParsing: OptionalArgument = .absent() - var source: OptionalArgument = .absent() + var source: OptionalArgument = .absent() - var state: OptionalArgument = .absent() + var state: OptionalArgument = .absent() - var uploadFileId: OptionalArgument = .absent() + var uploadFileId: OptionalArgument = .absent() - var url: String + var url: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if articleSavingRequestId.hasValue { try container.encode(articleSavingRequestId, forKey: .articleSavingRequestId) } - if folder.hasValue { try container.encode(folder, forKey: .folder) } - if labels.hasValue { try container.encode(labels, forKey: .labels) } - if preparedDocument.hasValue { try container.encode(preparedDocument, forKey: .preparedDocument) } - if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } - if rssFeedUrl.hasValue { try container.encode(rssFeedUrl, forKey: .rssFeedUrl) } - if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } - if skipParsing.hasValue { try container.encode(skipParsing, forKey: .skipParsing) } - if source.hasValue { try container.encode(source, forKey: .source) } - if state.hasValue { try container.encode(state, forKey: .state) } - if uploadFileId.hasValue { try container.encode(uploadFileId, forKey: .uploadFileId) } - try container.encode(url, forKey: .url) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if articleSavingRequestId.hasValue { try container.encode(articleSavingRequestId, forKey: .articleSavingRequestId) } + if folder.hasValue { try container.encode(folder, forKey: .folder) } + if labels.hasValue { try container.encode(labels, forKey: .labels) } + if preparedDocument.hasValue { try container.encode(preparedDocument, forKey: .preparedDocument) } + if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } + if rssFeedUrl.hasValue { try container.encode(rssFeedUrl, forKey: .rssFeedUrl) } + if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } + if skipParsing.hasValue { try container.encode(skipParsing, forKey: .skipParsing) } + if source.hasValue { try container.encode(source, forKey: .source) } + if state.hasValue { try container.encode(state, forKey: .state) } + if uploadFileId.hasValue { try container.encode(uploadFileId, forKey: .uploadFileId) } + try container.encode(url, forKey: .url) + } + + enum CodingKeys: String, CodingKey { + case articleSavingRequestId + case folder + case labels + case preparedDocument + case publishedAt + case rssFeedUrl + case savedAt + case skipParsing + case source + case state + case uploadFileId + case url + } } - - enum CodingKeys: String, CodingKey { - case articleSavingRequestId - case folder - case labels - case preparedDocument - case publishedAt - case rssFeedUrl - case savedAt - case skipParsing - case source - case state - case uploadFileId - case url - } - } } extension InputObjects { - struct CreateArticleSavingRequestInput: Encodable, Hashable { - var url: String + struct CreateArticleSavingRequestInput: Encodable, Hashable { + var url: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(url, forKey: .url) - } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(url, forKey: .url) + } - enum CodingKeys: String, CodingKey { - case url + enum CodingKeys: String, CodingKey { + case url + } } - } } extension InputObjects { - struct CreateGroupInput: Encodable, Hashable { - var description: OptionalArgument = .absent() + struct CreateGroupInput: Encodable, Hashable { + var description: OptionalArgument = .absent() - var expiresInDays: OptionalArgument = .absent() + var expiresInDays: OptionalArgument = .absent() - var maxMembers: OptionalArgument = .absent() + var maxMembers: OptionalArgument = .absent() - var name: String + var name: String - var onlyAdminCanPost: OptionalArgument = .absent() + var onlyAdminCanPost: OptionalArgument = .absent() - var onlyAdminCanSeeMembers: OptionalArgument = .absent() + var onlyAdminCanSeeMembers: OptionalArgument = .absent() - var topics: OptionalArgument<[String]> = .absent() + var topics: OptionalArgument<[String]> = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if description.hasValue { try container.encode(description, forKey: .description) } - if expiresInDays.hasValue { try container.encode(expiresInDays, forKey: .expiresInDays) } - if maxMembers.hasValue { try container.encode(maxMembers, forKey: .maxMembers) } - try container.encode(name, forKey: .name) - if onlyAdminCanPost.hasValue { try container.encode(onlyAdminCanPost, forKey: .onlyAdminCanPost) } - if onlyAdminCanSeeMembers.hasValue { try container.encode(onlyAdminCanSeeMembers, forKey: .onlyAdminCanSeeMembers) } - if topics.hasValue { try container.encode(topics, forKey: .topics) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if description.hasValue { try container.encode(description, forKey: .description) } + if expiresInDays.hasValue { try container.encode(expiresInDays, forKey: .expiresInDays) } + if maxMembers.hasValue { try container.encode(maxMembers, forKey: .maxMembers) } + try container.encode(name, forKey: .name) + if onlyAdminCanPost.hasValue { try container.encode(onlyAdminCanPost, forKey: .onlyAdminCanPost) } + if onlyAdminCanSeeMembers.hasValue { try container.encode(onlyAdminCanSeeMembers, forKey: .onlyAdminCanSeeMembers) } + if topics.hasValue { try container.encode(topics, forKey: .topics) } + } + + enum CodingKeys: String, CodingKey { + case description + case expiresInDays + case maxMembers + case name + case onlyAdminCanPost + case onlyAdminCanSeeMembers + case topics + } } - - enum CodingKeys: String, CodingKey { - case description - case expiresInDays - case maxMembers - case name - case onlyAdminCanPost - case onlyAdminCanSeeMembers - case topics - } - } } extension InputObjects { - struct CreateHighlightInput: Encodable, Hashable { - var annotation: OptionalArgument = .absent() + struct CreateHighlightInput: Encodable, Hashable { + var annotation: OptionalArgument = .absent() - var articleId: String + var articleId: String - var color: OptionalArgument = .absent() + var color: OptionalArgument = .absent() - var highlightPositionAnchorIndex: OptionalArgument = .absent() + var highlightPositionAnchorIndex: OptionalArgument = .absent() - var highlightPositionPercent: OptionalArgument = .absent() + var highlightPositionPercent: OptionalArgument = .absent() - var html: OptionalArgument = .absent() + var html: OptionalArgument = .absent() - var id: String + var id: String - var patch: OptionalArgument = .absent() + var patch: OptionalArgument = .absent() - var prefix: OptionalArgument = .absent() + var prefix: OptionalArgument = .absent() - var quote: OptionalArgument = .absent() + var quote: OptionalArgument = .absent() - var sharedAt: OptionalArgument = .absent() + var sharedAt: OptionalArgument = .absent() - var shortId: String + var shortId: String - var suffix: OptionalArgument = .absent() + var suffix: OptionalArgument = .absent() - var type: OptionalArgument = .absent() + var type: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if annotation.hasValue { try container.encode(annotation, forKey: .annotation) } - try container.encode(articleId, forKey: .articleId) - if color.hasValue { try container.encode(color, forKey: .color) } - if highlightPositionAnchorIndex.hasValue { try container.encode(highlightPositionAnchorIndex, forKey: .highlightPositionAnchorIndex) } - if highlightPositionPercent.hasValue { try container.encode(highlightPositionPercent, forKey: .highlightPositionPercent) } - if html.hasValue { try container.encode(html, forKey: .html) } - try container.encode(id, forKey: .id) - if patch.hasValue { try container.encode(patch, forKey: .patch) } - if prefix.hasValue { try container.encode(prefix, forKey: .prefix) } - if quote.hasValue { try container.encode(quote, forKey: .quote) } - if sharedAt.hasValue { try container.encode(sharedAt, forKey: .sharedAt) } - try container.encode(shortId, forKey: .shortId) - if suffix.hasValue { try container.encode(suffix, forKey: .suffix) } - if type.hasValue { try container.encode(type, forKey: .type) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if annotation.hasValue { try container.encode(annotation, forKey: .annotation) } + try container.encode(articleId, forKey: .articleId) + if color.hasValue { try container.encode(color, forKey: .color) } + if highlightPositionAnchorIndex.hasValue { try container.encode(highlightPositionAnchorIndex, forKey: .highlightPositionAnchorIndex) } + if highlightPositionPercent.hasValue { try container.encode(highlightPositionPercent, forKey: .highlightPositionPercent) } + if html.hasValue { try container.encode(html, forKey: .html) } + try container.encode(id, forKey: .id) + if patch.hasValue { try container.encode(patch, forKey: .patch) } + if prefix.hasValue { try container.encode(prefix, forKey: .prefix) } + if quote.hasValue { try container.encode(quote, forKey: .quote) } + if sharedAt.hasValue { try container.encode(sharedAt, forKey: .sharedAt) } + try container.encode(shortId, forKey: .shortId) + if suffix.hasValue { try container.encode(suffix, forKey: .suffix) } + if type.hasValue { try container.encode(type, forKey: .type) } + } + + enum CodingKeys: String, CodingKey { + case annotation + case articleId + case color + case highlightPositionAnchorIndex + case highlightPositionPercent + case html + case id + case patch + case prefix + case quote + case sharedAt + case shortId + case suffix + case type + } } - - enum CodingKeys: String, CodingKey { - case annotation - case articleId - case color - case highlightPositionAnchorIndex - case highlightPositionPercent - case html - case id - case patch - case prefix - case quote - case sharedAt - case shortId - case suffix - case type - } - } } extension InputObjects { - struct CreateHighlightReplyInput: Encodable, Hashable { - var highlightId: String + struct CreateHighlightReplyInput: Encodable, Hashable { + var highlightId: String - var text: String + var text: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(highlightId, forKey: .highlightId) - try container.encode(text, forKey: .text) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(highlightId, forKey: .highlightId) + try container.encode(text, forKey: .text) + } + + enum CodingKeys: String, CodingKey { + case highlightId + case text + } } - - enum CodingKeys: String, CodingKey { - case highlightId - case text - } - } } extension InputObjects { - struct CreateLabelInput: Encodable, Hashable { - var color: OptionalArgument = .absent() + struct CreateLabelInput: Encodable, Hashable { + var color: OptionalArgument = .absent() - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var name: String + var name: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if color.hasValue { try container.encode(color, forKey: .color) } - if description.hasValue { try container.encode(description, forKey: .description) } - try container.encode(name, forKey: .name) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if color.hasValue { try container.encode(color, forKey: .color) } + if description.hasValue { try container.encode(description, forKey: .description) } + try container.encode(name, forKey: .name) + } + + enum CodingKeys: String, CodingKey { + case color + case description + case name + } } - - enum CodingKeys: String, CodingKey { - case color - case description - case name - } - } } extension InputObjects { - struct CreateNewsletterEmailInput: Encodable, Hashable { - var description: OptionalArgument = .absent() + struct CreateNewsletterEmailInput: Encodable, Hashable { + var description: OptionalArgument = .absent() - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var name: OptionalArgument = .absent() + var name: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if description.hasValue { try container.encode(description, forKey: .description) } - if folder.hasValue { try container.encode(folder, forKey: .folder) } - if name.hasValue { try container.encode(name, forKey: .name) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if description.hasValue { try container.encode(description, forKey: .description) } + if folder.hasValue { try container.encode(folder, forKey: .folder) } + if name.hasValue { try container.encode(name, forKey: .name) } + } + + enum CodingKeys: String, CodingKey { + case description + case folder + case name + } } - - enum CodingKeys: String, CodingKey { - case description - case folder - case name - } - } } extension InputObjects { - struct CreateReactionInput: Encodable, Hashable { - var code: Enums.ReactionType + struct CreateReactionInput: Encodable, Hashable { + var code: Enums.ReactionType - var highlightId: OptionalArgument = .absent() + var highlightId: OptionalArgument = .absent() - var userArticleId: OptionalArgument = .absent() + var userArticleId: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(code, forKey: .code) - if highlightId.hasValue { try container.encode(highlightId, forKey: .highlightId) } - if userArticleId.hasValue { try container.encode(userArticleId, forKey: .userArticleId) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(code, forKey: .code) + if highlightId.hasValue { try container.encode(highlightId, forKey: .highlightId) } + if userArticleId.hasValue { try container.encode(userArticleId, forKey: .userArticleId) } + } + + enum CodingKeys: String, CodingKey { + case code + case highlightId + case userArticleId + } } - - enum CodingKeys: String, CodingKey { - case code - case highlightId - case userArticleId - } - } } extension InputObjects { - struct CreateReminderInput: Encodable, Hashable { - var archiveUntil: Bool + struct CreateReminderInput: Encodable, Hashable { + var archiveUntil: Bool - var clientRequestId: OptionalArgument = .absent() + var clientRequestId: OptionalArgument = .absent() - var linkId: OptionalArgument = .absent() + var linkId: OptionalArgument = .absent() - var remindAt: DateTime + var remindAt: DateTime - var sendNotification: Bool + var sendNotification: Bool - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(archiveUntil, forKey: .archiveUntil) - if clientRequestId.hasValue { try container.encode(clientRequestId, forKey: .clientRequestId) } - if linkId.hasValue { try container.encode(linkId, forKey: .linkId) } - try container.encode(remindAt, forKey: .remindAt) - try container.encode(sendNotification, forKey: .sendNotification) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(archiveUntil, forKey: .archiveUntil) + if clientRequestId.hasValue { try container.encode(clientRequestId, forKey: .clientRequestId) } + if linkId.hasValue { try container.encode(linkId, forKey: .linkId) } + try container.encode(remindAt, forKey: .remindAt) + try container.encode(sendNotification, forKey: .sendNotification) + } + + enum CodingKeys: String, CodingKey { + case archiveUntil + case clientRequestId + case linkId + case remindAt + case sendNotification + } } - - enum CodingKeys: String, CodingKey { - case archiveUntil - case clientRequestId - case linkId - case remindAt - case sendNotification - } - } } extension InputObjects { - struct FeedsInput: Encodable, Hashable { - var after: OptionalArgument = .absent() + struct FeedsInput: Encodable, Hashable { + var after: OptionalArgument = .absent() - var first: OptionalArgument = .absent() + var first: OptionalArgument = .absent() - var query: OptionalArgument = .absent() + var query: OptionalArgument = .absent() - var sort: OptionalArgument = .absent() + var sort: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if after.hasValue { try container.encode(after, forKey: .after) } - if first.hasValue { try container.encode(first, forKey: .first) } - if query.hasValue { try container.encode(query, forKey: .query) } - if sort.hasValue { try container.encode(sort, forKey: .sort) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if after.hasValue { try container.encode(after, forKey: .after) } + if first.hasValue { try container.encode(first, forKey: .first) } + if query.hasValue { try container.encode(query, forKey: .query) } + if sort.hasValue { try container.encode(sort, forKey: .sort) } + } + + enum CodingKeys: String, CodingKey { + case after + case first + case query + case sort + } } - - enum CodingKeys: String, CodingKey { - case after - case first - case query - case sort - } - } } extension InputObjects { - struct GenerateApiKeyInput: Encodable, Hashable { - var expiresAt: DateTime + struct GenerateApiKeyInput: Encodable, Hashable { + var expiresAt: DateTime - var name: String + var name: String - var scopes: OptionalArgument<[String]> = .absent() + var scopes: OptionalArgument<[String]> = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(expiresAt, forKey: .expiresAt) - try container.encode(name, forKey: .name) - if scopes.hasValue { try container.encode(scopes, forKey: .scopes) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(expiresAt, forKey: .expiresAt) + try container.encode(name, forKey: .name) + if scopes.hasValue { try container.encode(scopes, forKey: .scopes) } + } + + enum CodingKeys: String, CodingKey { + case expiresAt + case name + case scopes + } } - - enum CodingKeys: String, CodingKey { - case expiresAt - case name - case scopes - } - } } extension InputObjects { - struct GoogleLoginInput: Encodable, Hashable { - var email: String + struct GoogleLoginInput: Encodable, Hashable { + var email: String - var secret: String + var secret: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(email, forKey: .email) - try container.encode(secret, forKey: .secret) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(email, forKey: .email) + try container.encode(secret, forKey: .secret) + } + + enum CodingKeys: String, CodingKey { + case email + case secret + } } - - enum CodingKeys: String, CodingKey { - case email - case secret - } - } } extension InputObjects { - struct GoogleSignupInput: Encodable, Hashable { - var bio: OptionalArgument = .absent() + struct GoogleSignupInput: Encodable, Hashable { + var bio: OptionalArgument = .absent() - var email: String + var email: String - var name: String + var name: String - var pictureUrl: String + var pictureUrl: String - var secret: String + var secret: String - var sourceUserId: String + var sourceUserId: String - var username: String + var username: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if bio.hasValue { try container.encode(bio, forKey: .bio) } - try container.encode(email, forKey: .email) - try container.encode(name, forKey: .name) - try container.encode(pictureUrl, forKey: .pictureUrl) - try container.encode(secret, forKey: .secret) - try container.encode(sourceUserId, forKey: .sourceUserId) - try container.encode(username, forKey: .username) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if bio.hasValue { try container.encode(bio, forKey: .bio) } + try container.encode(email, forKey: .email) + try container.encode(name, forKey: .name) + try container.encode(pictureUrl, forKey: .pictureUrl) + try container.encode(secret, forKey: .secret) + try container.encode(sourceUserId, forKey: .sourceUserId) + try container.encode(username, forKey: .username) + } + + enum CodingKeys: String, CodingKey { + case bio + case email + case name + case pictureUrl + case secret + case sourceUserId + case username + } } - - enum CodingKeys: String, CodingKey { - case bio - case email - case name - case pictureUrl - case secret - case sourceUserId - case username - } - } } extension InputObjects { - struct MergeHighlightInput: Encodable, Hashable { - var annotation: OptionalArgument = .absent() + struct MergeHighlightInput: Encodable, Hashable { + var annotation: OptionalArgument = .absent() - var articleId: String + var articleId: String - var color: OptionalArgument = .absent() + var color: OptionalArgument = .absent() - var highlightPositionAnchorIndex: OptionalArgument = .absent() + var highlightPositionAnchorIndex: OptionalArgument = .absent() - var highlightPositionPercent: OptionalArgument = .absent() + var highlightPositionPercent: OptionalArgument = .absent() - var html: OptionalArgument = .absent() + var html: OptionalArgument = .absent() - var id: String + var id: String - var overlapHighlightIdList: [String] + var overlapHighlightIdList: [String] - var patch: String + var patch: String - var prefix: OptionalArgument = .absent() + var prefix: OptionalArgument = .absent() - var quote: String + var quote: String - var shortId: String + var shortId: String - var suffix: OptionalArgument = .absent() + var suffix: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if annotation.hasValue { try container.encode(annotation, forKey: .annotation) } - try container.encode(articleId, forKey: .articleId) - if color.hasValue { try container.encode(color, forKey: .color) } - if highlightPositionAnchorIndex.hasValue { try container.encode(highlightPositionAnchorIndex, forKey: .highlightPositionAnchorIndex) } - if highlightPositionPercent.hasValue { try container.encode(highlightPositionPercent, forKey: .highlightPositionPercent) } - if html.hasValue { try container.encode(html, forKey: .html) } - try container.encode(id, forKey: .id) - try container.encode(overlapHighlightIdList, forKey: .overlapHighlightIdList) - try container.encode(patch, forKey: .patch) - if prefix.hasValue { try container.encode(prefix, forKey: .prefix) } - try container.encode(quote, forKey: .quote) - try container.encode(shortId, forKey: .shortId) - if suffix.hasValue { try container.encode(suffix, forKey: .suffix) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if annotation.hasValue { try container.encode(annotation, forKey: .annotation) } + try container.encode(articleId, forKey: .articleId) + if color.hasValue { try container.encode(color, forKey: .color) } + if highlightPositionAnchorIndex.hasValue { try container.encode(highlightPositionAnchorIndex, forKey: .highlightPositionAnchorIndex) } + if highlightPositionPercent.hasValue { try container.encode(highlightPositionPercent, forKey: .highlightPositionPercent) } + if html.hasValue { try container.encode(html, forKey: .html) } + try container.encode(id, forKey: .id) + try container.encode(overlapHighlightIdList, forKey: .overlapHighlightIdList) + try container.encode(patch, forKey: .patch) + if prefix.hasValue { try container.encode(prefix, forKey: .prefix) } + try container.encode(quote, forKey: .quote) + try container.encode(shortId, forKey: .shortId) + if suffix.hasValue { try container.encode(suffix, forKey: .suffix) } + } + + enum CodingKeys: String, CodingKey { + case annotation + case articleId + case color + case highlightPositionAnchorIndex + case highlightPositionPercent + case html + case id + case overlapHighlightIdList + case patch + case prefix + case quote + case shortId + case suffix + } } - - enum CodingKeys: String, CodingKey { - case annotation - case articleId - case color - case highlightPositionAnchorIndex - case highlightPositionPercent - case html - case id - case overlapHighlightIdList - case patch - case prefix - case quote - case shortId - case suffix - } - } } extension InputObjects { - struct MoveFilterInput: Encodable, Hashable { - var afterFilterId: OptionalArgument = .absent() + struct MoveFilterInput: Encodable, Hashable { + var afterFilterId: OptionalArgument = .absent() - var filterId: String + var filterId: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if afterFilterId.hasValue { try container.encode(afterFilterId, forKey: .afterFilterId) } - try container.encode(filterId, forKey: .filterId) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if afterFilterId.hasValue { try container.encode(afterFilterId, forKey: .afterFilterId) } + try container.encode(filterId, forKey: .filterId) + } + + enum CodingKeys: String, CodingKey { + case afterFilterId + case filterId + } } - - enum CodingKeys: String, CodingKey { - case afterFilterId - case filterId - } - } } extension InputObjects { - struct MoveLabelInput: Encodable, Hashable { - var afterLabelId: OptionalArgument = .absent() + struct MoveLabelInput: Encodable, Hashable { + var afterLabelId: OptionalArgument = .absent() - var labelId: String + var labelId: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if afterLabelId.hasValue { try container.encode(afterLabelId, forKey: .afterLabelId) } - try container.encode(labelId, forKey: .labelId) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if afterLabelId.hasValue { try container.encode(afterLabelId, forKey: .afterLabelId) } + try container.encode(labelId, forKey: .labelId) + } + + enum CodingKeys: String, CodingKey { + case afterLabelId + case labelId + } } - - enum CodingKeys: String, CodingKey { - case afterLabelId - case labelId - } - } } extension InputObjects { - struct OptInFeatureInput: Encodable, Hashable { - var name: String + struct OptInFeatureInput: Encodable, Hashable { + var name: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(name, forKey: .name) - } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(name, forKey: .name) + } - enum CodingKeys: String, CodingKey { - case name + enum CodingKeys: String, CodingKey { + case name + } } - } } extension InputObjects { - struct PageInfoInput: Encodable, Hashable { - var author: OptionalArgument = .absent() + struct PageInfoInput: Encodable, Hashable { + var author: OptionalArgument = .absent() - var canonicalUrl: OptionalArgument = .absent() + var canonicalUrl: OptionalArgument = .absent() - var contentType: OptionalArgument = .absent() + var contentType: OptionalArgument = .absent() - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var previewImage: OptionalArgument = .absent() + var previewImage: OptionalArgument = .absent() - var publishedAt: OptionalArgument = .absent() + var publishedAt: OptionalArgument = .absent() - var title: OptionalArgument = .absent() + var title: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if author.hasValue { try container.encode(author, forKey: .author) } - if canonicalUrl.hasValue { try container.encode(canonicalUrl, forKey: .canonicalUrl) } - if contentType.hasValue { try container.encode(contentType, forKey: .contentType) } - if description.hasValue { try container.encode(description, forKey: .description) } - if previewImage.hasValue { try container.encode(previewImage, forKey: .previewImage) } - if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } - if title.hasValue { try container.encode(title, forKey: .title) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if author.hasValue { try container.encode(author, forKey: .author) } + if canonicalUrl.hasValue { try container.encode(canonicalUrl, forKey: .canonicalUrl) } + if contentType.hasValue { try container.encode(contentType, forKey: .contentType) } + if description.hasValue { try container.encode(description, forKey: .description) } + if previewImage.hasValue { try container.encode(previewImage, forKey: .previewImage) } + if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } + if title.hasValue { try container.encode(title, forKey: .title) } + } + + enum CodingKeys: String, CodingKey { + case author + case canonicalUrl + case contentType + case description + case previewImage + case publishedAt + case title + } } - - enum CodingKeys: String, CodingKey { - case author - case canonicalUrl - case contentType - case description - case previewImage - case publishedAt - case title - } - } } extension InputObjects { - struct ParseResult: Encodable, Hashable { - var byline: OptionalArgument = .absent() + struct ParseResult: Encodable, Hashable { + var byline: OptionalArgument = .absent() - var content: String + var content: String - var dir: OptionalArgument = .absent() + var dir: OptionalArgument = .absent() - var excerpt: String + var excerpt: String - var language: OptionalArgument = .absent() + var language: OptionalArgument = .absent() - var length: Int + var length: Int - var previewImage: OptionalArgument = .absent() + var previewImage: OptionalArgument = .absent() - var publishedDate: OptionalArgument = .absent() + var publishedDate: OptionalArgument = .absent() - var siteIcon: OptionalArgument = .absent() + var siteIcon: OptionalArgument = .absent() - var siteName: OptionalArgument = .absent() + var siteName: OptionalArgument = .absent() - var textContent: String + var textContent: String - var title: String + var title: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if byline.hasValue { try container.encode(byline, forKey: .byline) } - try container.encode(content, forKey: .content) - if dir.hasValue { try container.encode(dir, forKey: .dir) } - try container.encode(excerpt, forKey: .excerpt) - if language.hasValue { try container.encode(language, forKey: .language) } - try container.encode(length, forKey: .length) - if previewImage.hasValue { try container.encode(previewImage, forKey: .previewImage) } - if publishedDate.hasValue { try container.encode(publishedDate, forKey: .publishedDate) } - if siteIcon.hasValue { try container.encode(siteIcon, forKey: .siteIcon) } - if siteName.hasValue { try container.encode(siteName, forKey: .siteName) } - try container.encode(textContent, forKey: .textContent) - try container.encode(title, forKey: .title) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if byline.hasValue { try container.encode(byline, forKey: .byline) } + try container.encode(content, forKey: .content) + if dir.hasValue { try container.encode(dir, forKey: .dir) } + try container.encode(excerpt, forKey: .excerpt) + if language.hasValue { try container.encode(language, forKey: .language) } + try container.encode(length, forKey: .length) + if previewImage.hasValue { try container.encode(previewImage, forKey: .previewImage) } + if publishedDate.hasValue { try container.encode(publishedDate, forKey: .publishedDate) } + if siteIcon.hasValue { try container.encode(siteIcon, forKey: .siteIcon) } + if siteName.hasValue { try container.encode(siteName, forKey: .siteName) } + try container.encode(textContent, forKey: .textContent) + try container.encode(title, forKey: .title) + } + + enum CodingKeys: String, CodingKey { + case byline + case content + case dir + case excerpt + case language + case length + case previewImage + case publishedDate + case siteIcon + case siteName + case textContent + case title + } } - - enum CodingKeys: String, CodingKey { - case byline - case content - case dir - case excerpt - case language - case length - case previewImage - case publishedDate - case siteIcon - case siteName - case textContent - case title - } - } } extension InputObjects { - struct PreparedDocumentInput: Encodable, Hashable { - var document: String + struct PreparedDocumentInput: Encodable, Hashable { + var document: String - var pageInfo: InputObjects.PageInfoInput + var pageInfo: InputObjects.PageInfoInput - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(document, forKey: .document) - try container.encode(pageInfo, forKey: .pageInfo) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(document, forKey: .document) + try container.encode(pageInfo, forKey: .pageInfo) + } + + enum CodingKeys: String, CodingKey { + case document + case pageInfo + } } - - enum CodingKeys: String, CodingKey { - case document - case pageInfo - } - } } extension InputObjects { - struct RecommendHighlightsInput: Encodable, Hashable { - var groupIds: [String] + struct RecommendHighlightsInput: Encodable, Hashable { + var groupIds: [String] - var highlightIds: [String] + var highlightIds: [String] - var note: OptionalArgument = .absent() + var note: OptionalArgument = .absent() - var pageId: String + var pageId: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(groupIds, forKey: .groupIds) - try container.encode(highlightIds, forKey: .highlightIds) - if note.hasValue { try container.encode(note, forKey: .note) } - try container.encode(pageId, forKey: .pageId) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(groupIds, forKey: .groupIds) + try container.encode(highlightIds, forKey: .highlightIds) + if note.hasValue { try container.encode(note, forKey: .note) } + try container.encode(pageId, forKey: .pageId) + } + + enum CodingKeys: String, CodingKey { + case groupIds + case highlightIds + case note + case pageId + } } - - enum CodingKeys: String, CodingKey { - case groupIds - case highlightIds - case note - case pageId - } - } } extension InputObjects { - struct RecommendInput: Encodable, Hashable { - var groupIds: [String] + struct RecommendInput: Encodable, Hashable { + var groupIds: [String] - var note: OptionalArgument = .absent() + var note: OptionalArgument = .absent() - var pageId: String + var pageId: String - var recommendedWithHighlights: OptionalArgument = .absent() + var recommendedWithHighlights: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(groupIds, forKey: .groupIds) - if note.hasValue { try container.encode(note, forKey: .note) } - try container.encode(pageId, forKey: .pageId) - if recommendedWithHighlights.hasValue { try container.encode(recommendedWithHighlights, forKey: .recommendedWithHighlights) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(groupIds, forKey: .groupIds) + if note.hasValue { try container.encode(note, forKey: .note) } + try container.encode(pageId, forKey: .pageId) + if recommendedWithHighlights.hasValue { try container.encode(recommendedWithHighlights, forKey: .recommendedWithHighlights) } + } + + enum CodingKeys: String, CodingKey { + case groupIds + case note + case pageId + case recommendedWithHighlights + } } - - enum CodingKeys: String, CodingKey { - case groupIds - case note - case pageId - case recommendedWithHighlights - } - } } extension InputObjects { - struct ReportItemInput: Encodable, Hashable { - var itemUrl: String + struct ReportItemInput: Encodable, Hashable { + var itemUrl: String - var pageId: String + var pageId: String - var reportComment: String + var reportComment: String - var reportTypes: [Enums.ReportType] + var reportTypes: [Enums.ReportType] - var sharedBy: OptionalArgument = .absent() + var sharedBy: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(itemUrl, forKey: .itemUrl) - try container.encode(pageId, forKey: .pageId) - try container.encode(reportComment, forKey: .reportComment) - try container.encode(reportTypes, forKey: .reportTypes) - if sharedBy.hasValue { try container.encode(sharedBy, forKey: .sharedBy) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(itemUrl, forKey: .itemUrl) + try container.encode(pageId, forKey: .pageId) + try container.encode(reportComment, forKey: .reportComment) + try container.encode(reportTypes, forKey: .reportTypes) + if sharedBy.hasValue { try container.encode(sharedBy, forKey: .sharedBy) } + } + + enum CodingKeys: String, CodingKey { + case itemUrl + case pageId + case reportComment + case reportTypes + case sharedBy + } } - - enum CodingKeys: String, CodingKey { - case itemUrl - case pageId - case reportComment - case reportTypes - case sharedBy - } - } } extension InputObjects { - struct RuleActionInput: Encodable, Hashable { - var params: [String] + struct RuleActionInput: Encodable, Hashable { + var params: [String] - var type: Enums.RuleActionType + var type: Enums.RuleActionType - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(params, forKey: .params) - try container.encode(type, forKey: .type) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(params, forKey: .params) + try container.encode(type, forKey: .type) + } + + enum CodingKeys: String, CodingKey { + case params + case type + } } - - enum CodingKeys: String, CodingKey { - case params - case type - } - } } extension InputObjects { - struct SaveArticleReadingProgressInput: Encodable, Hashable { - var force: OptionalArgument = .absent() + struct SaveArticleReadingProgressInput: Encodable, Hashable { + var force: OptionalArgument = .absent() - var id: String + var id: String - var readingProgressAnchorIndex: OptionalArgument = .absent() + var readingProgressAnchorIndex: OptionalArgument = .absent() - var readingProgressPercent: Double + var readingProgressPercent: Double - var readingProgressTopPercent: OptionalArgument = .absent() + var readingProgressTopPercent: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if force.hasValue { try container.encode(force, forKey: .force) } - try container.encode(id, forKey: .id) - if readingProgressAnchorIndex.hasValue { try container.encode(readingProgressAnchorIndex, forKey: .readingProgressAnchorIndex) } - try container.encode(readingProgressPercent, forKey: .readingProgressPercent) - if readingProgressTopPercent.hasValue { try container.encode(readingProgressTopPercent, forKey: .readingProgressTopPercent) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if force.hasValue { try container.encode(force, forKey: .force) } + try container.encode(id, forKey: .id) + if readingProgressAnchorIndex.hasValue { try container.encode(readingProgressAnchorIndex, forKey: .readingProgressAnchorIndex) } + try container.encode(readingProgressPercent, forKey: .readingProgressPercent) + if readingProgressTopPercent.hasValue { try container.encode(readingProgressTopPercent, forKey: .readingProgressTopPercent) } + } + + enum CodingKeys: String, CodingKey { + case force + case id + case readingProgressAnchorIndex + case readingProgressPercent + case readingProgressTopPercent + } } - - enum CodingKeys: String, CodingKey { - case force - case id - case readingProgressAnchorIndex - case readingProgressPercent - case readingProgressTopPercent - } - } } extension InputObjects { - struct SaveFileInput: Encodable, Hashable { - var clientRequestId: String + struct SaveFileInput: Encodable, Hashable { + var clientRequestId: String - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() + var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() - var source: String + var publishedAt: OptionalArgument = .absent() - var state: OptionalArgument = .absent() + var savedAt: OptionalArgument = .absent() - var uploadFileId: String + var source: String - var url: String + var state: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(clientRequestId, forKey: .clientRequestId) - if folder.hasValue { try container.encode(folder, forKey: .folder) } - if labels.hasValue { try container.encode(labels, forKey: .labels) } - try container.encode(source, forKey: .source) - if state.hasValue { try container.encode(state, forKey: .state) } - try container.encode(uploadFileId, forKey: .uploadFileId) - try container.encode(url, forKey: .url) + var subscription: OptionalArgument = .absent() + + var uploadFileId: String + + var url: String + + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(clientRequestId, forKey: .clientRequestId) + if folder.hasValue { try container.encode(folder, forKey: .folder) } + if labels.hasValue { try container.encode(labels, forKey: .labels) } + if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } + if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } + try container.encode(source, forKey: .source) + if state.hasValue { try container.encode(state, forKey: .state) } + if subscription.hasValue { try container.encode(subscription, forKey: .subscription) } + try container.encode(uploadFileId, forKey: .uploadFileId) + try container.encode(url, forKey: .url) + } + + enum CodingKeys: String, CodingKey { + case clientRequestId + case folder + case labels + case publishedAt + case savedAt + case source + case state + case subscription + case uploadFileId + case url + } } - - enum CodingKeys: String, CodingKey { - case clientRequestId - case folder - case labels - case source - case state - case uploadFileId - case url - } - } } extension InputObjects { - struct SaveFilterInput: Encodable, Hashable { - var category: OptionalArgument = .absent() + struct SaveFilterInput: Encodable, Hashable { + var category: OptionalArgument = .absent() - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var filter: String + var filter: String - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var name: String + var name: String - var position: OptionalArgument = .absent() + var position: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if category.hasValue { try container.encode(category, forKey: .category) } - if description.hasValue { try container.encode(description, forKey: .description) } - try container.encode(filter, forKey: .filter) - if folder.hasValue { try container.encode(folder, forKey: .folder) } - try container.encode(name, forKey: .name) - if position.hasValue { try container.encode(position, forKey: .position) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if category.hasValue { try container.encode(category, forKey: .category) } + if description.hasValue { try container.encode(description, forKey: .description) } + try container.encode(filter, forKey: .filter) + if folder.hasValue { try container.encode(folder, forKey: .folder) } + try container.encode(name, forKey: .name) + if position.hasValue { try container.encode(position, forKey: .position) } + } + + enum CodingKeys: String, CodingKey { + case category + case description + case filter + case folder + case name + case position + } } - - enum CodingKeys: String, CodingKey { - case category - case description - case filter - case folder - case name - case position - } - } } extension InputObjects { - struct SavePageInput: Encodable, Hashable { - var clientRequestId: String + struct SavePageInput: Encodable, Hashable { + var clientRequestId: String - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() + var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() - var originalContent: String + var originalContent: String - var parseResult: OptionalArgument = .absent() + var parseResult: OptionalArgument = .absent() - var publishedAt: OptionalArgument = .absent() + var publishedAt: OptionalArgument = .absent() - var rssFeedUrl: OptionalArgument = .absent() + var rssFeedUrl: OptionalArgument = .absent() - var savedAt: OptionalArgument = .absent() + var savedAt: OptionalArgument = .absent() - var source: String + var source: String - var state: OptionalArgument = .absent() + var state: OptionalArgument = .absent() - var title: OptionalArgument = .absent() + var title: OptionalArgument = .absent() - var url: String + var url: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(clientRequestId, forKey: .clientRequestId) - if folder.hasValue { try container.encode(folder, forKey: .folder) } - if labels.hasValue { try container.encode(labels, forKey: .labels) } - try container.encode(originalContent, forKey: .originalContent) - if parseResult.hasValue { try container.encode(parseResult, forKey: .parseResult) } - if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } - if rssFeedUrl.hasValue { try container.encode(rssFeedUrl, forKey: .rssFeedUrl) } - if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } - try container.encode(source, forKey: .source) - if state.hasValue { try container.encode(state, forKey: .state) } - if title.hasValue { try container.encode(title, forKey: .title) } - try container.encode(url, forKey: .url) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(clientRequestId, forKey: .clientRequestId) + if folder.hasValue { try container.encode(folder, forKey: .folder) } + if labels.hasValue { try container.encode(labels, forKey: .labels) } + try container.encode(originalContent, forKey: .originalContent) + if parseResult.hasValue { try container.encode(parseResult, forKey: .parseResult) } + if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } + if rssFeedUrl.hasValue { try container.encode(rssFeedUrl, forKey: .rssFeedUrl) } + if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } + try container.encode(source, forKey: .source) + if state.hasValue { try container.encode(state, forKey: .state) } + if title.hasValue { try container.encode(title, forKey: .title) } + try container.encode(url, forKey: .url) + } + + enum CodingKeys: String, CodingKey { + case clientRequestId + case folder + case labels + case originalContent + case parseResult + case publishedAt + case rssFeedUrl + case savedAt + case source + case state + case title + case url + } } - - enum CodingKeys: String, CodingKey { - case clientRequestId - case folder - case labels - case originalContent - case parseResult - case publishedAt - case rssFeedUrl - case savedAt - case source - case state - case title - case url - } - } } extension InputObjects { - struct SaveUrlInput: Encodable, Hashable { - var clientRequestId: String + struct SaveUrlInput: Encodable, Hashable { + var clientRequestId: String - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() + var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() - var locale: OptionalArgument = .absent() + var locale: OptionalArgument = .absent() - var publishedAt: OptionalArgument = .absent() + var publishedAt: OptionalArgument = .absent() - var savedAt: OptionalArgument = .absent() + var savedAt: OptionalArgument = .absent() - var source: String + var source: String - var state: OptionalArgument = .absent() + var state: OptionalArgument = .absent() - var timezone: OptionalArgument = .absent() + var timezone: OptionalArgument = .absent() - var url: String + var url: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(clientRequestId, forKey: .clientRequestId) - if folder.hasValue { try container.encode(folder, forKey: .folder) } - if labels.hasValue { try container.encode(labels, forKey: .labels) } - if locale.hasValue { try container.encode(locale, forKey: .locale) } - if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } - if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } - try container.encode(source, forKey: .source) - if state.hasValue { try container.encode(state, forKey: .state) } - if timezone.hasValue { try container.encode(timezone, forKey: .timezone) } - try container.encode(url, forKey: .url) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(clientRequestId, forKey: .clientRequestId) + if folder.hasValue { try container.encode(folder, forKey: .folder) } + if labels.hasValue { try container.encode(labels, forKey: .labels) } + if locale.hasValue { try container.encode(locale, forKey: .locale) } + if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } + if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } + try container.encode(source, forKey: .source) + if state.hasValue { try container.encode(state, forKey: .state) } + if timezone.hasValue { try container.encode(timezone, forKey: .timezone) } + try container.encode(url, forKey: .url) + } + + enum CodingKeys: String, CodingKey { + case clientRequestId + case folder + case labels + case locale + case publishedAt + case savedAt + case source + case state + case timezone + case url + } } - - enum CodingKeys: String, CodingKey { - case clientRequestId - case folder - case labels - case locale - case publishedAt - case savedAt - case source - case state - case timezone - case url - } - } } extension InputObjects { - struct ScanFeedsInput: Encodable, Hashable { - var opml: OptionalArgument = .absent() + struct ScanFeedsInput: Encodable, Hashable { + var opml: OptionalArgument = .absent() - var url: OptionalArgument = .absent() + var url: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if opml.hasValue { try container.encode(opml, forKey: .opml) } - if url.hasValue { try container.encode(url, forKey: .url) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if opml.hasValue { try container.encode(opml, forKey: .opml) } + if url.hasValue { try container.encode(url, forKey: .url) } + } + + enum CodingKeys: String, CodingKey { + case opml + case url + } } - - enum CodingKeys: String, CodingKey { - case opml - case url - } - } } extension InputObjects { - struct SetBookmarkArticleInput: Encodable, Hashable { - var articleId: String + struct SetBookmarkArticleInput: Encodable, Hashable { + var articleId: String - var bookmark: Bool + var bookmark: Bool - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(articleId, forKey: .articleId) - try container.encode(bookmark, forKey: .bookmark) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(articleId, forKey: .articleId) + try container.encode(bookmark, forKey: .bookmark) + } + + enum CodingKeys: String, CodingKey { + case articleId = "articleID" + case bookmark + } } - - enum CodingKeys: String, CodingKey { - case articleId = "articleID" - case bookmark - } - } } extension InputObjects { - struct SetDeviceTokenInput: Encodable, Hashable { - var id: OptionalArgument = .absent() + struct SetDeviceTokenInput: Encodable, Hashable { + var id: OptionalArgument = .absent() - var token: OptionalArgument = .absent() + var token: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if id.hasValue { try container.encode(id, forKey: .id) } - if token.hasValue { try container.encode(token, forKey: .token) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if id.hasValue { try container.encode(id, forKey: .id) } + if token.hasValue { try container.encode(token, forKey: .token) } + } + + enum CodingKeys: String, CodingKey { + case id + case token + } } - - enum CodingKeys: String, CodingKey { - case id - case token - } - } } extension InputObjects { - struct SetFollowInput: Encodable, Hashable { - var follow: Bool + struct SetFollowInput: Encodable, Hashable { + var follow: Bool - var userId: String + var userId: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(follow, forKey: .follow) - try container.encode(userId, forKey: .userId) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(follow, forKey: .follow) + try container.encode(userId, forKey: .userId) + } + + enum CodingKeys: String, CodingKey { + case follow + case userId + } } - - enum CodingKeys: String, CodingKey { - case follow - case userId - } - } } extension InputObjects { - struct SetIntegrationInput: Encodable, Hashable { - var enabled: Bool + struct SetIntegrationInput: Encodable, Hashable { + var enabled: Bool - var id: OptionalArgument = .absent() + var id: OptionalArgument = .absent() - var importItemState: OptionalArgument = .absent() + var importItemState: OptionalArgument = .absent() - var name: String + var name: String - var syncedAt: OptionalArgument = .absent() + var syncedAt: OptionalArgument = .absent() - var taskName: OptionalArgument = .absent() + var taskName: OptionalArgument = .absent() - var token: String + var token: String - var type: OptionalArgument = .absent() + var type: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(enabled, forKey: .enabled) - if id.hasValue { try container.encode(id, forKey: .id) } - if importItemState.hasValue { try container.encode(importItemState, forKey: .importItemState) } - try container.encode(name, forKey: .name) - if syncedAt.hasValue { try container.encode(syncedAt, forKey: .syncedAt) } - if taskName.hasValue { try container.encode(taskName, forKey: .taskName) } - try container.encode(token, forKey: .token) - if type.hasValue { try container.encode(type, forKey: .type) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(enabled, forKey: .enabled) + if id.hasValue { try container.encode(id, forKey: .id) } + if importItemState.hasValue { try container.encode(importItemState, forKey: .importItemState) } + try container.encode(name, forKey: .name) + if syncedAt.hasValue { try container.encode(syncedAt, forKey: .syncedAt) } + if taskName.hasValue { try container.encode(taskName, forKey: .taskName) } + try container.encode(token, forKey: .token) + if type.hasValue { try container.encode(type, forKey: .type) } + } + + enum CodingKeys: String, CodingKey { + case enabled + case id + case importItemState + case name + case syncedAt + case taskName + case token + case type + } } - - enum CodingKeys: String, CodingKey { - case enabled - case id - case importItemState - case name - case syncedAt - case taskName - case token - case type - } - } } extension InputObjects { - struct SetLabelsForHighlightInput: Encodable, Hashable { - var highlightId: String + struct SetLabelsForHighlightInput: Encodable, Hashable { + var highlightId: String - var labelIds: OptionalArgument<[String]> = .absent() + var labelIds: OptionalArgument<[String]> = .absent() - var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() + var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(highlightId, forKey: .highlightId) - if labelIds.hasValue { try container.encode(labelIds, forKey: .labelIds) } - if labels.hasValue { try container.encode(labels, forKey: .labels) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(highlightId, forKey: .highlightId) + if labelIds.hasValue { try container.encode(labelIds, forKey: .labelIds) } + if labels.hasValue { try container.encode(labels, forKey: .labels) } + } + + enum CodingKeys: String, CodingKey { + case highlightId + case labelIds + case labels + } } - - enum CodingKeys: String, CodingKey { - case highlightId - case labelIds - case labels - } - } } extension InputObjects { - struct SetLabelsInput: Encodable, Hashable { - var labelIds: OptionalArgument<[String]> = .absent() + struct SetLabelsInput: Encodable, Hashable { + var labelIds: OptionalArgument<[String]> = .absent() - var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() + var labels: OptionalArgument<[InputObjects.CreateLabelInput]> = .absent() - var pageId: String + var pageId: String - var source: OptionalArgument = .absent() + var source: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if labelIds.hasValue { try container.encode(labelIds, forKey: .labelIds) } - if labels.hasValue { try container.encode(labels, forKey: .labels) } - try container.encode(pageId, forKey: .pageId) - if source.hasValue { try container.encode(source, forKey: .source) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if labelIds.hasValue { try container.encode(labelIds, forKey: .labelIds) } + if labels.hasValue { try container.encode(labels, forKey: .labels) } + try container.encode(pageId, forKey: .pageId) + if source.hasValue { try container.encode(source, forKey: .source) } + } + + enum CodingKeys: String, CodingKey { + case labelIds + case labels + case pageId + case source + } } - - enum CodingKeys: String, CodingKey { - case labelIds - case labels - case pageId - case source - } - } } extension InputObjects { - struct SetRuleInput: Encodable, Hashable { - var actions: [InputObjects.RuleActionInput] + struct SetRuleInput: Encodable, Hashable { + var actions: [InputObjects.RuleActionInput] - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var enabled: Bool + var enabled: Bool - var eventTypes: [Enums.RuleEventType] + var eventTypes: [Enums.RuleEventType] - var filter: String + var filter: String - var id: OptionalArgument = .absent() + var id: OptionalArgument = .absent() - var name: String + var name: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(actions, forKey: .actions) - if description.hasValue { try container.encode(description, forKey: .description) } - try container.encode(enabled, forKey: .enabled) - try container.encode(eventTypes, forKey: .eventTypes) - try container.encode(filter, forKey: .filter) - if id.hasValue { try container.encode(id, forKey: .id) } - try container.encode(name, forKey: .name) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(actions, forKey: .actions) + if description.hasValue { try container.encode(description, forKey: .description) } + try container.encode(enabled, forKey: .enabled) + try container.encode(eventTypes, forKey: .eventTypes) + try container.encode(filter, forKey: .filter) + if id.hasValue { try container.encode(id, forKey: .id) } + try container.encode(name, forKey: .name) + } + + enum CodingKeys: String, CodingKey { + case actions + case description + case enabled + case eventTypes + case filter + case id + case name + } } - - enum CodingKeys: String, CodingKey { - case actions - case description - case enabled - case eventTypes - case filter - case id - case name - } - } } extension InputObjects { - struct SetShareArticleInput: Encodable, Hashable { - var articleId: String + struct SetShareArticleInput: Encodable, Hashable { + var articleId: String - var share: Bool + var share: Bool - var sharedComment: OptionalArgument = .absent() + var sharedComment: OptionalArgument = .absent() - var sharedWithHighlights: OptionalArgument = .absent() + var sharedWithHighlights: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(articleId, forKey: .articleId) - try container.encode(share, forKey: .share) - if sharedComment.hasValue { try container.encode(sharedComment, forKey: .sharedComment) } - if sharedWithHighlights.hasValue { try container.encode(sharedWithHighlights, forKey: .sharedWithHighlights) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(articleId, forKey: .articleId) + try container.encode(share, forKey: .share) + if sharedComment.hasValue { try container.encode(sharedComment, forKey: .sharedComment) } + if sharedWithHighlights.hasValue { try container.encode(sharedWithHighlights, forKey: .sharedWithHighlights) } + } + + enum CodingKeys: String, CodingKey { + case articleId = "articleID" + case share + case sharedComment + case sharedWithHighlights + } } - - enum CodingKeys: String, CodingKey { - case articleId = "articleID" - case share - case sharedComment - case sharedWithHighlights - } - } } extension InputObjects { - struct SetShareHighlightInput: Encodable, Hashable { - var id: String + struct SetShareHighlightInput: Encodable, Hashable { + var id: String - var share: Bool + var share: Bool - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(id, forKey: .id) - try container.encode(share, forKey: .share) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(id, forKey: .id) + try container.encode(share, forKey: .share) + } + + enum CodingKeys: String, CodingKey { + case id + case share + } } - - enum CodingKeys: String, CodingKey { - case id - case share - } - } } extension InputObjects { - struct SetUserPersonalizationInput: Encodable, Hashable { - var fields: OptionalArgument = .absent() + struct SetUserPersonalizationInput: Encodable, Hashable { + var fields: OptionalArgument = .absent() - var fontFamily: OptionalArgument = .absent() + var fontFamily: OptionalArgument = .absent() - var fontSize: OptionalArgument = .absent() + var fontSize: OptionalArgument = .absent() - var libraryLayoutType: OptionalArgument = .absent() + var libraryLayoutType: OptionalArgument = .absent() - var librarySortOrder: OptionalArgument = .absent() + var librarySortOrder: OptionalArgument = .absent() - var margin: OptionalArgument = .absent() + var margin: OptionalArgument = .absent() - var speechRate: OptionalArgument = .absent() + var speechRate: OptionalArgument = .absent() - var speechSecondaryVoice: OptionalArgument = .absent() + var speechSecondaryVoice: OptionalArgument = .absent() - var speechVoice: OptionalArgument = .absent() + var speechVoice: OptionalArgument = .absent() - var speechVolume: OptionalArgument = .absent() + var speechVolume: OptionalArgument = .absent() - var theme: OptionalArgument = .absent() + var theme: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if fields.hasValue { try container.encode(fields, forKey: .fields) } - if fontFamily.hasValue { try container.encode(fontFamily, forKey: .fontFamily) } - if fontSize.hasValue { try container.encode(fontSize, forKey: .fontSize) } - if libraryLayoutType.hasValue { try container.encode(libraryLayoutType, forKey: .libraryLayoutType) } - if librarySortOrder.hasValue { try container.encode(librarySortOrder, forKey: .librarySortOrder) } - if margin.hasValue { try container.encode(margin, forKey: .margin) } - if speechRate.hasValue { try container.encode(speechRate, forKey: .speechRate) } - if speechSecondaryVoice.hasValue { try container.encode(speechSecondaryVoice, forKey: .speechSecondaryVoice) } - if speechVoice.hasValue { try container.encode(speechVoice, forKey: .speechVoice) } - if speechVolume.hasValue { try container.encode(speechVolume, forKey: .speechVolume) } - if theme.hasValue { try container.encode(theme, forKey: .theme) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if fields.hasValue { try container.encode(fields, forKey: .fields) } + if fontFamily.hasValue { try container.encode(fontFamily, forKey: .fontFamily) } + if fontSize.hasValue { try container.encode(fontSize, forKey: .fontSize) } + if libraryLayoutType.hasValue { try container.encode(libraryLayoutType, forKey: .libraryLayoutType) } + if librarySortOrder.hasValue { try container.encode(librarySortOrder, forKey: .librarySortOrder) } + if margin.hasValue { try container.encode(margin, forKey: .margin) } + if speechRate.hasValue { try container.encode(speechRate, forKey: .speechRate) } + if speechSecondaryVoice.hasValue { try container.encode(speechSecondaryVoice, forKey: .speechSecondaryVoice) } + if speechVoice.hasValue { try container.encode(speechVoice, forKey: .speechVoice) } + if speechVolume.hasValue { try container.encode(speechVolume, forKey: .speechVolume) } + if theme.hasValue { try container.encode(theme, forKey: .theme) } + } + + enum CodingKeys: String, CodingKey { + case fields + case fontFamily + case fontSize + case libraryLayoutType + case librarySortOrder + case margin + case speechRate + case speechSecondaryVoice + case speechVoice + case speechVolume + case theme + } } - - enum CodingKeys: String, CodingKey { - case fields - case fontFamily - case fontSize - case libraryLayoutType - case librarySortOrder - case margin - case speechRate - case speechSecondaryVoice - case speechVoice - case speechVolume - case theme - } - } } extension InputObjects { - struct SetWebhookInput: Encodable, Hashable { - var contentType: OptionalArgument = .absent() + struct SetWebhookInput: Encodable, Hashable { + var contentType: OptionalArgument = .absent() - var enabled: OptionalArgument = .absent() + var enabled: OptionalArgument = .absent() - var eventTypes: [Enums.WebhookEvent] + var eventTypes: [Enums.WebhookEvent] - var id: OptionalArgument = .absent() + var id: OptionalArgument = .absent() - var method: OptionalArgument = .absent() + var method: OptionalArgument = .absent() - var url: String + var url: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if contentType.hasValue { try container.encode(contentType, forKey: .contentType) } - if enabled.hasValue { try container.encode(enabled, forKey: .enabled) } - try container.encode(eventTypes, forKey: .eventTypes) - if id.hasValue { try container.encode(id, forKey: .id) } - if method.hasValue { try container.encode(method, forKey: .method) } - try container.encode(url, forKey: .url) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if contentType.hasValue { try container.encode(contentType, forKey: .contentType) } + if enabled.hasValue { try container.encode(enabled, forKey: .enabled) } + try container.encode(eventTypes, forKey: .eventTypes) + if id.hasValue { try container.encode(id, forKey: .id) } + if method.hasValue { try container.encode(method, forKey: .method) } + try container.encode(url, forKey: .url) + } + + enum CodingKeys: String, CodingKey { + case contentType + case enabled + case eventTypes + case id + case method + case url + } } - - enum CodingKeys: String, CodingKey { - case contentType - case enabled - case eventTypes - case id - case method - case url - } - } } extension InputObjects { - struct SortParams: Encodable, Hashable { - var by: Enums.SortBy + struct SortParams: Encodable, Hashable { + var by: Enums.SortBy - var order: OptionalArgument = .absent() + var order: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(by, forKey: .by) - if order.hasValue { try container.encode(order, forKey: .order) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(by, forKey: .by) + if order.hasValue { try container.encode(order, forKey: .order) } + } + + enum CodingKeys: String, CodingKey { + case by + case order + } } - - enum CodingKeys: String, CodingKey { - case by - case order - } - } } extension InputObjects { - struct SubscribeInput: Encodable, Hashable { - var autoAddToLibrary: OptionalArgument = .absent() + struct SubscribeInput: Encodable, Hashable { + var autoAddToLibrary: OptionalArgument = .absent() - var fetchContent: OptionalArgument = .absent() + var fetchContent: OptionalArgument = .absent() - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var isPrivate: OptionalArgument = .absent() + var isPrivate: OptionalArgument = .absent() - var subscriptionType: OptionalArgument = .absent() + var subscriptionType: OptionalArgument = .absent() - var url: String + var url: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if autoAddToLibrary.hasValue { try container.encode(autoAddToLibrary, forKey: .autoAddToLibrary) } - if fetchContent.hasValue { try container.encode(fetchContent, forKey: .fetchContent) } - if folder.hasValue { try container.encode(folder, forKey: .folder) } - if isPrivate.hasValue { try container.encode(isPrivate, forKey: .isPrivate) } - if subscriptionType.hasValue { try container.encode(subscriptionType, forKey: .subscriptionType) } - try container.encode(url, forKey: .url) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if autoAddToLibrary.hasValue { try container.encode(autoAddToLibrary, forKey: .autoAddToLibrary) } + if fetchContent.hasValue { try container.encode(fetchContent, forKey: .fetchContent) } + if folder.hasValue { try container.encode(folder, forKey: .folder) } + if isPrivate.hasValue { try container.encode(isPrivate, forKey: .isPrivate) } + if subscriptionType.hasValue { try container.encode(subscriptionType, forKey: .subscriptionType) } + try container.encode(url, forKey: .url) + } + + enum CodingKeys: String, CodingKey { + case autoAddToLibrary + case fetchContent + case folder + case isPrivate + case subscriptionType + case url + } } - - enum CodingKeys: String, CodingKey { - case autoAddToLibrary - case fetchContent - case folder - case isPrivate - case subscriptionType - case url - } - } } extension InputObjects { - struct UpdateEmailInput: Encodable, Hashable { - var email: String + struct UpdateEmailInput: Encodable, Hashable { + var email: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(email, forKey: .email) - } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(email, forKey: .email) + } - enum CodingKeys: String, CodingKey { - case email + enum CodingKeys: String, CodingKey { + case email + } } - } } extension InputObjects { - struct UpdateFilterInput: Encodable, Hashable { - var category: OptionalArgument = .absent() + struct UpdateFilterInput: Encodable, Hashable { + var category: OptionalArgument = .absent() - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var filter: OptionalArgument = .absent() + var filter: OptionalArgument = .absent() - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var id: String + var id: String - var name: OptionalArgument = .absent() + var name: OptionalArgument = .absent() - var position: OptionalArgument = .absent() + var position: OptionalArgument = .absent() - var visible: OptionalArgument = .absent() + var visible: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if category.hasValue { try container.encode(category, forKey: .category) } - if description.hasValue { try container.encode(description, forKey: .description) } - if filter.hasValue { try container.encode(filter, forKey: .filter) } - if folder.hasValue { try container.encode(folder, forKey: .folder) } - try container.encode(id, forKey: .id) - if name.hasValue { try container.encode(name, forKey: .name) } - if position.hasValue { try container.encode(position, forKey: .position) } - if visible.hasValue { try container.encode(visible, forKey: .visible) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if category.hasValue { try container.encode(category, forKey: .category) } + if description.hasValue { try container.encode(description, forKey: .description) } + if filter.hasValue { try container.encode(filter, forKey: .filter) } + if folder.hasValue { try container.encode(folder, forKey: .folder) } + try container.encode(id, forKey: .id) + if name.hasValue { try container.encode(name, forKey: .name) } + if position.hasValue { try container.encode(position, forKey: .position) } + if visible.hasValue { try container.encode(visible, forKey: .visible) } + } + + enum CodingKeys: String, CodingKey { + case category + case description + case filter + case folder + case id + case name + case position + case visible + } } - - enum CodingKeys: String, CodingKey { - case category - case description - case filter - case folder - case id - case name - case position - case visible - } - } } extension InputObjects { - struct UpdateHighlightInput: Encodable, Hashable { - var annotation: OptionalArgument = .absent() + struct UpdateHighlightInput: Encodable, Hashable { + var annotation: OptionalArgument = .absent() - var color: OptionalArgument = .absent() + var color: OptionalArgument = .absent() - var highlightId: String + var highlightId: String - var html: OptionalArgument = .absent() + var html: OptionalArgument = .absent() - var quote: OptionalArgument = .absent() + var quote: OptionalArgument = .absent() - var sharedAt: OptionalArgument = .absent() + var sharedAt: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if annotation.hasValue { try container.encode(annotation, forKey: .annotation) } - if color.hasValue { try container.encode(color, forKey: .color) } - try container.encode(highlightId, forKey: .highlightId) - if html.hasValue { try container.encode(html, forKey: .html) } - if quote.hasValue { try container.encode(quote, forKey: .quote) } - if sharedAt.hasValue { try container.encode(sharedAt, forKey: .sharedAt) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if annotation.hasValue { try container.encode(annotation, forKey: .annotation) } + if color.hasValue { try container.encode(color, forKey: .color) } + try container.encode(highlightId, forKey: .highlightId) + if html.hasValue { try container.encode(html, forKey: .html) } + if quote.hasValue { try container.encode(quote, forKey: .quote) } + if sharedAt.hasValue { try container.encode(sharedAt, forKey: .sharedAt) } + } + + enum CodingKeys: String, CodingKey { + case annotation + case color + case highlightId + case html + case quote + case sharedAt + } } - - enum CodingKeys: String, CodingKey { - case annotation - case color - case highlightId - case html - case quote - case sharedAt - } - } } extension InputObjects { - struct UpdateHighlightReplyInput: Encodable, Hashable { - var highlightReplyId: String + struct UpdateHighlightReplyInput: Encodable, Hashable { + var highlightReplyId: String - var text: String + var text: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(highlightReplyId, forKey: .highlightReplyId) - try container.encode(text, forKey: .text) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(highlightReplyId, forKey: .highlightReplyId) + try container.encode(text, forKey: .text) + } + + enum CodingKeys: String, CodingKey { + case highlightReplyId + case text + } } - - enum CodingKeys: String, CodingKey { - case highlightReplyId - case text - } - } } extension InputObjects { - struct UpdateLabelInput: Encodable, Hashable { - var color: String + struct UpdateLabelInput: Encodable, Hashable { + var color: String - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var labelId: String + var labelId: String - var name: String + var name: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(color, forKey: .color) - if description.hasValue { try container.encode(description, forKey: .description) } - try container.encode(labelId, forKey: .labelId) - try container.encode(name, forKey: .name) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(color, forKey: .color) + if description.hasValue { try container.encode(description, forKey: .description) } + try container.encode(labelId, forKey: .labelId) + try container.encode(name, forKey: .name) + } + + enum CodingKeys: String, CodingKey { + case color + case description + case labelId + case name + } } - - enum CodingKeys: String, CodingKey { - case color - case description - case labelId - case name - } - } } extension InputObjects { - struct UpdateLinkShareInfoInput: Encodable, Hashable { - var description: String + struct UpdateLinkShareInfoInput: Encodable, Hashable { + var description: String - var linkId: String + var linkId: String - var title: String + var title: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(description, forKey: .description) - try container.encode(linkId, forKey: .linkId) - try container.encode(title, forKey: .title) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(description, forKey: .description) + try container.encode(linkId, forKey: .linkId) + try container.encode(title, forKey: .title) + } + + enum CodingKeys: String, CodingKey { + case description + case linkId + case title + } } - - enum CodingKeys: String, CodingKey { - case description - case linkId - case title - } - } } extension InputObjects { - struct UpdateNewsletterEmailInput: Encodable, Hashable { - var description: OptionalArgument = .absent() + struct UpdateNewsletterEmailInput: Encodable, Hashable { + var description: OptionalArgument = .absent() - var folder: OptionalArgument = .absent() + var folder: OptionalArgument = .absent() - var id: String + var id: String - var name: OptionalArgument = .absent() + var name: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if description.hasValue { try container.encode(description, forKey: .description) } - if folder.hasValue { try container.encode(folder, forKey: .folder) } - try container.encode(id, forKey: .id) - if name.hasValue { try container.encode(name, forKey: .name) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if description.hasValue { try container.encode(description, forKey: .description) } + if folder.hasValue { try container.encode(folder, forKey: .folder) } + try container.encode(id, forKey: .id) + if name.hasValue { try container.encode(name, forKey: .name) } + } + + enum CodingKeys: String, CodingKey { + case description + case folder + case id + case name + } } - - enum CodingKeys: String, CodingKey { - case description - case folder - case id - case name - } - } } extension InputObjects { - struct UpdatePageInput: Encodable, Hashable { - var byline: OptionalArgument = .absent() + struct UpdatePageInput: Encodable, Hashable { + var byline: OptionalArgument = .absent() - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var pageId: String + var pageId: String - var previewImage: OptionalArgument = .absent() + var previewImage: OptionalArgument = .absent() - var publishedAt: OptionalArgument = .absent() + var publishedAt: OptionalArgument = .absent() - var savedAt: OptionalArgument = .absent() + var savedAt: OptionalArgument = .absent() - var state: OptionalArgument = .absent() + var state: OptionalArgument = .absent() - var title: OptionalArgument = .absent() + var title: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if byline.hasValue { try container.encode(byline, forKey: .byline) } - if description.hasValue { try container.encode(description, forKey: .description) } - try container.encode(pageId, forKey: .pageId) - if previewImage.hasValue { try container.encode(previewImage, forKey: .previewImage) } - if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } - if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } - if state.hasValue { try container.encode(state, forKey: .state) } - if title.hasValue { try container.encode(title, forKey: .title) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if byline.hasValue { try container.encode(byline, forKey: .byline) } + if description.hasValue { try container.encode(description, forKey: .description) } + try container.encode(pageId, forKey: .pageId) + if previewImage.hasValue { try container.encode(previewImage, forKey: .previewImage) } + if publishedAt.hasValue { try container.encode(publishedAt, forKey: .publishedAt) } + if savedAt.hasValue { try container.encode(savedAt, forKey: .savedAt) } + if state.hasValue { try container.encode(state, forKey: .state) } + if title.hasValue { try container.encode(title, forKey: .title) } + } + + enum CodingKeys: String, CodingKey { + case byline + case description + case pageId + case previewImage + case publishedAt + case savedAt + case state + case title + } } - - enum CodingKeys: String, CodingKey { - case byline - case description - case pageId - case previewImage - case publishedAt - case savedAt - case state - case title - } - } } extension InputObjects { - struct UpdateReminderInput: Encodable, Hashable { - var archiveUntil: Bool + struct UpdateReminderInput: Encodable, Hashable { + var archiveUntil: Bool - var id: String + var id: String - var remindAt: DateTime + var remindAt: DateTime - var sendNotification: Bool + var sendNotification: Bool - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(archiveUntil, forKey: .archiveUntil) - try container.encode(id, forKey: .id) - try container.encode(remindAt, forKey: .remindAt) - try container.encode(sendNotification, forKey: .sendNotification) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(archiveUntil, forKey: .archiveUntil) + try container.encode(id, forKey: .id) + try container.encode(remindAt, forKey: .remindAt) + try container.encode(sendNotification, forKey: .sendNotification) + } + + enum CodingKeys: String, CodingKey { + case archiveUntil + case id + case remindAt + case sendNotification + } } - - enum CodingKeys: String, CodingKey { - case archiveUntil - case id - case remindAt - case sendNotification - } - } } extension InputObjects { - struct UpdateSharedCommentInput: Encodable, Hashable { - var articleId: String + struct UpdateSharedCommentInput: Encodable, Hashable { + var articleId: String - var sharedComment: String + var sharedComment: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - try container.encode(articleId, forKey: .articleId) - try container.encode(sharedComment, forKey: .sharedComment) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(articleId, forKey: .articleId) + try container.encode(sharedComment, forKey: .sharedComment) + } + + enum CodingKeys: String, CodingKey { + case articleId = "articleID" + case sharedComment + } } - - enum CodingKeys: String, CodingKey { - case articleId = "articleID" - case sharedComment - } - } } extension InputObjects { - struct UpdateSubscriptionInput: Encodable, Hashable { - var autoAddToLibrary: OptionalArgument = .absent() + struct UpdateSubscriptionInput: Encodable, Hashable { + var autoAddToLibrary: OptionalArgument = .absent() - var description: OptionalArgument = .absent() + var description: OptionalArgument = .absent() - var fetchContent: OptionalArgument = .absent() + var failedAt: OptionalArgument = .absent() - var folder: OptionalArgument = .absent() + var fetchContent: OptionalArgument = .absent() - var id: String + var folder: OptionalArgument = .absent() - var isPrivate: OptionalArgument = .absent() + var id: String - var lastFetchedAt: OptionalArgument = .absent() + var isPrivate: OptionalArgument = .absent() - var lastFetchedChecksum: OptionalArgument = .absent() + var lastFetchedChecksum: OptionalArgument = .absent() - var name: OptionalArgument = .absent() + var mostRecentItemDate: OptionalArgument = .absent() - var scheduledAt: OptionalArgument = .absent() + var name: OptionalArgument = .absent() - var status: OptionalArgument = .absent() + var refreshedAt: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if autoAddToLibrary.hasValue { try container.encode(autoAddToLibrary, forKey: .autoAddToLibrary) } - if description.hasValue { try container.encode(description, forKey: .description) } - if fetchContent.hasValue { try container.encode(fetchContent, forKey: .fetchContent) } - if folder.hasValue { try container.encode(folder, forKey: .folder) } - try container.encode(id, forKey: .id) - if isPrivate.hasValue { try container.encode(isPrivate, forKey: .isPrivate) } - if lastFetchedAt.hasValue { try container.encode(lastFetchedAt, forKey: .lastFetchedAt) } - if lastFetchedChecksum.hasValue { try container.encode(lastFetchedChecksum, forKey: .lastFetchedChecksum) } - if name.hasValue { try container.encode(name, forKey: .name) } - if scheduledAt.hasValue { try container.encode(scheduledAt, forKey: .scheduledAt) } - if status.hasValue { try container.encode(status, forKey: .status) } + var scheduledAt: OptionalArgument = .absent() + + var status: OptionalArgument = .absent() + + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if autoAddToLibrary.hasValue { try container.encode(autoAddToLibrary, forKey: .autoAddToLibrary) } + if description.hasValue { try container.encode(description, forKey: .description) } + if failedAt.hasValue { try container.encode(failedAt, forKey: .failedAt) } + if fetchContent.hasValue { try container.encode(fetchContent, forKey: .fetchContent) } + if folder.hasValue { try container.encode(folder, forKey: .folder) } + try container.encode(id, forKey: .id) + if isPrivate.hasValue { try container.encode(isPrivate, forKey: .isPrivate) } + if lastFetchedChecksum.hasValue { try container.encode(lastFetchedChecksum, forKey: .lastFetchedChecksum) } + if mostRecentItemDate.hasValue { try container.encode(mostRecentItemDate, forKey: .mostRecentItemDate) } + if name.hasValue { try container.encode(name, forKey: .name) } + if refreshedAt.hasValue { try container.encode(refreshedAt, forKey: .refreshedAt) } + if scheduledAt.hasValue { try container.encode(scheduledAt, forKey: .scheduledAt) } + if status.hasValue { try container.encode(status, forKey: .status) } + } + + enum CodingKeys: String, CodingKey { + case autoAddToLibrary + case description + case failedAt + case fetchContent + case folder + case id + case isPrivate + case lastFetchedChecksum + case mostRecentItemDate + case name + case refreshedAt + case scheduledAt + case status + } } - - enum CodingKeys: String, CodingKey { - case autoAddToLibrary - case description - case fetchContent - case folder - case id - case isPrivate - case lastFetchedAt - case lastFetchedChecksum - case name - case scheduledAt - case status - } - } } extension InputObjects { - struct UpdateUserInput: Encodable, Hashable { - var bio: OptionalArgument = .absent() + struct UpdateUserInput: Encodable, Hashable { + var bio: OptionalArgument = .absent() - var name: String + var name: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if bio.hasValue { try container.encode(bio, forKey: .bio) } - try container.encode(name, forKey: .name) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if bio.hasValue { try container.encode(bio, forKey: .bio) } + try container.encode(name, forKey: .name) + } + + enum CodingKeys: String, CodingKey { + case bio + case name + } } - - enum CodingKeys: String, CodingKey { - case bio - case name - } - } } extension InputObjects { - struct UpdateUserProfileInput: Encodable, Hashable { - var bio: OptionalArgument = .absent() + struct UpdateUserProfileInput: Encodable, Hashable { + var bio: OptionalArgument = .absent() - var pictureUrl: OptionalArgument = .absent() + var pictureUrl: OptionalArgument = .absent() - var userId: String + var userId: String - var username: OptionalArgument = .absent() + var username: OptionalArgument = .absent() - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if bio.hasValue { try container.encode(bio, forKey: .bio) } - if pictureUrl.hasValue { try container.encode(pictureUrl, forKey: .pictureUrl) } - try container.encode(userId, forKey: .userId) - if username.hasValue { try container.encode(username, forKey: .username) } + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if bio.hasValue { try container.encode(bio, forKey: .bio) } + if pictureUrl.hasValue { try container.encode(pictureUrl, forKey: .pictureUrl) } + try container.encode(userId, forKey: .userId) + if username.hasValue { try container.encode(username, forKey: .username) } + } + + enum CodingKeys: String, CodingKey { + case bio + case pictureUrl + case userId + case username + } } - - enum CodingKeys: String, CodingKey { - case bio - case pictureUrl - case userId - case username - } - } } extension InputObjects { - struct UploadFileRequestInput: Encodable, Hashable { - var clientRequestId: OptionalArgument = .absent() + struct UploadFileRequestInput: Encodable, Hashable { + var clientRequestId: OptionalArgument = .absent() - var contentType: String + var contentType: String - var createPageEntry: OptionalArgument = .absent() + var createPageEntry: OptionalArgument = .absent() - var url: String + var url: String - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: CodingKeys.self) - if clientRequestId.hasValue { try container.encode(clientRequestId, forKey: .clientRequestId) } - try container.encode(contentType, forKey: .contentType) - if createPageEntry.hasValue { try container.encode(createPageEntry, forKey: .createPageEntry) } - try container.encode(url, forKey: .url) + func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + if clientRequestId.hasValue { try container.encode(clientRequestId, forKey: .clientRequestId) } + try container.encode(contentType, forKey: .contentType) + if createPageEntry.hasValue { try container.encode(createPageEntry, forKey: .createPageEntry) } + try container.encode(url, forKey: .url) + } + + enum CodingKeys: String, CodingKey { + case clientRequestId + case contentType + case createPageEntry + case url + } } - - enum CodingKeys: String, CodingKey { - case clientRequestId - case contentType - case createPageEntry - case url - } - } } From 14811ee2d4fb6e1861a030a5990276fe34b47846 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 5 Feb 2024 17:34:27 +0800 Subject: [PATCH 17/39] Bump version, improve analytics --- apple/Omnivore.xcodeproj/project.pbxproj | 8 ++++---- .../Sources/Services/AudioSession/AudioController.swift | 7 ++++++- .../Sources/Utils/EventTracking/TrackableEvents.swift | 8 +++++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/apple/Omnivore.xcodeproj/project.pbxproj b/apple/Omnivore.xcodeproj/project.pbxproj index da7cd851e..d943ee073 100644 --- a/apple/Omnivore.xcodeproj/project.pbxproj +++ b/apple/Omnivore.xcodeproj/project.pbxproj @@ -1389,7 +1389,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 12.0; - MARKETING_VERSION = 1.43.0; + MARKETING_VERSION = 1.44.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app; @@ -1424,7 +1424,7 @@ "@executable_path/../Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 12.0; - MARKETING_VERSION = 1.43.0; + MARKETING_VERSION = 1.44.0; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -1479,7 +1479,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.43.0; + MARKETING_VERSION = 1.44.0; PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app; PRODUCT_NAME = Omnivore; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1820,7 +1820,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.43.0; + MARKETING_VERSION = 1.44.0; PRODUCT_BUNDLE_IDENTIFIER = app.omnivore.app; PRODUCT_NAME = Omnivore; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift b/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift index 3ca53e2e1..318c3388a 100644 --- a/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift +++ b/apple/OmnivoreKit/Sources/Services/AudioSession/AudioController.swift @@ -80,7 +80,12 @@ startAudio(atIndex: itemAudioProperties.startIndex, andOffset: itemAudioProperties.startOffset) EventTracker.track( - .audioSessionStart(linkID: itemAudioProperties.itemID) + .audioSessionStart( + linkID: itemAudioProperties.itemID, + voice: currentVoice.lowercased(), + voiceProvider: Voices.isUltraRealisticVoice(currentVoice) ? "ultra" : + Voices.isOpenAIVoice(currentVoice) ? "openai" : "default" + ) ) } diff --git a/apple/OmnivoreKit/Sources/Utils/EventTracking/TrackableEvents.swift b/apple/OmnivoreKit/Sources/Utils/EventTracking/TrackableEvents.swift index 65d12d9b6..1678526f0 100644 --- a/apple/OmnivoreKit/Sources/Utils/EventTracking/TrackableEvents.swift +++ b/apple/OmnivoreKit/Sources/Utils/EventTracking/TrackableEvents.swift @@ -4,7 +4,7 @@ public enum TrackableEvent { case linkRead(linkID: String, slug: String, reader: String, originalArticleURL: String) case debugMessage(message: String) case backgroundFetch(jobStatus: BackgroundFetchJobStatus, itemCount: Int, secondsElapsed: Int) - case audioSessionStart(linkID: String) + case audioSessionStart(linkID: String, voice: String, voiceProvider: String) case audioSessionEnd(linkID: String, timeElapsed: Double) } @@ -48,9 +48,11 @@ public extension TrackableEvent { "seconds_elapsed": String(secondsElapsed), "fetched_item_count": String(itemCount) ] - case let .audioSessionStart(linkID: linkID): + case let .audioSessionStart(linkID: linkID, voice: voice, voiceProvider: voiceProvider): return [ - "link": linkID + "link": linkID, + "voice": voice, + "voiceProvider": voiceProvider ] case let .audioSessionEnd(linkID: linkID, timeElapsed: timeElapsed): return [ From 839b364d133634438f21e98e4e3ba4b76293fb0c Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Mon, 5 Feb 2024 17:48:31 +0800 Subject: [PATCH 18/39] Separate bottom bar visibility so we dont display the top bar when scrolled to bottom --- .../Sources/App/Views/WebReader/WebReader.swift | 4 ++++ .../Sources/App/Views/WebReader/WebReaderContainer.swift | 9 +++++++-- .../App/Views/WebReader/WebReaderCoordinator.swift | 6 ++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift index 118e0299b..ec64eac22 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReader.swift @@ -20,6 +20,7 @@ struct WebReader: PlatformViewRepresentable { @Binding var showNavBarActionID: UUID? @Binding var shareActionID: UUID? @Binding var annotation: String + @Binding var showBottomBar: Bool @Binding var showHighlightAnnotationModal: Bool func makeCoordinator() -> WebReaderCoordinator { @@ -90,6 +91,9 @@ struct WebReader: PlatformViewRepresentable { context.coordinator.webViewActionHandler = webViewActionHandler context.coordinator.updateNavBarVisibility = navBarVisibilityUpdater context.coordinator.scrollPercentHandler = scrollPercentHandler + context.coordinator.updateShowBottomBar = { newValue in + self.showBottomBar = newValue + } context.coordinator.articleContentID = articleContent.id loadContent(webView: webView) diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift index 122c90395..b922c8298 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderContainer.swift @@ -21,6 +21,7 @@ struct WebReaderContainerView: View { @State private var hasPerformedHighlightMutations = false @State var showHighlightAnnotationModal = false @State private var navBarVisible = true + @State var showBottomBar = true @State private var progressViewOpacity = 0.0 @State var readerSettingsChangedTransactionID: UUID? @State var annotationSaveTransactionID: UUID? @@ -86,6 +87,7 @@ struct WebReaderContainerView: View { private func tapHandler() { withAnimation(.easeIn(duration: 0.08)) { navBarVisible = !navBarVisible + showBottomBar = navBarVisible showNavBarActionID = UUID() } } @@ -114,6 +116,7 @@ struct WebReaderContainerView: View { case "dismissNavBars": withAnimation { navBarVisible = false + showBottomBar = false showNavBarActionID = UUID() } default: @@ -380,6 +383,7 @@ struct WebReaderContainerView: View { navBarVisibilityUpdater: { visible in withAnimation { navBarVisible = visible + showBottomBar = visible } }, readerSettingsChangedTransactionID: $readerSettingsChangedTransactionID, @@ -387,6 +391,7 @@ struct WebReaderContainerView: View { showNavBarActionID: $showNavBarActionID, shareActionID: $shareActionID, annotation: $annotation, + showBottomBar: $showBottomBar, showHighlightAnnotationModal: $showHighlightAnnotationModal ) .background(ThemeManager.currentBgColor) @@ -586,13 +591,13 @@ struct WebReaderContainerView: View { if let audioProperties = audioController.itemAudioProperties { MiniPlayerViewer(itemAudioProperties: audioProperties) .padding(.top, 10) - .padding(.bottom, navBarVisible ? 10 : 40) + .padding(.bottom, showBottomBar ? 10 : 40) .background(Color.themeTabBarColor) .onTapGesture { showExpandedAudioPlayer = true } } - if navBarVisible { + if showBottomBar { CustomToolBar( isFollowing: item.folder == "following", isArchived: item.isArchived, diff --git a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift index 213a2218c..50dcb5c1e 100644 --- a/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift +++ b/apple/OmnivoreKit/Sources/App/Views/WebReader/WebReaderCoordinator.swift @@ -20,6 +20,7 @@ final class WebReaderCoordinator: NSObject { var previousShowNavBarActionID: UUID? var previousShareActionID: UUID? var updateNavBarVisibility: (Bool) -> Void = { _ in } + var updateShowBottomBar: (Bool) -> Void = { _ in } var articleContentID = UUID() private var yOffsetAtStartOfDrag: Double? private var lastYOffset: Double = 0 @@ -123,8 +124,9 @@ extension WebReaderCoordinator: WKNavigationDelegate { // if at bottom show the controls if yOffset + scrollView.visibleSize.height > scrollView.contentSize.height - 140 { - navBarVisible = true - scrollView.contentInset.top = navBarVisible ? readerViewNavBarHeight : 0 + updateShowBottomBar(true) + } else { + updateShowBottomBar(false) } let percent = Int(((yOffset + scrollView.visibleSize.height) / scrollView.contentSize.height) * 100) From 067e3a897633c9dd3a35cf770bc0cb5629fc78b9 Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Tue, 6 Feb 2024 10:52:39 +0800 Subject: [PATCH 19/39] Add missing files --- .../App/Views/InformationalSnackBar.swift | 39 +++++++++ .../Sources/App/Views/PDFContainerView.swift | 66 ++++++++++++++++ .../DataService/Mutations/EmptyTrash.swift | 79 +++++++++++++++++++ 3 files changed, 184 insertions(+) create mode 100644 apple/OmnivoreKit/Sources/App/Views/InformationalSnackBar.swift create mode 100644 apple/OmnivoreKit/Sources/App/Views/PDFContainerView.swift create mode 100644 apple/OmnivoreKit/Sources/Services/DataService/Mutations/EmptyTrash.swift diff --git a/apple/OmnivoreKit/Sources/App/Views/InformationalSnackBar.swift b/apple/OmnivoreKit/Sources/App/Views/InformationalSnackBar.swift new file mode 100644 index 000000000..045e40c20 --- /dev/null +++ b/apple/OmnivoreKit/Sources/App/Views/InformationalSnackBar.swift @@ -0,0 +1,39 @@ +import SwiftUI +import Views + +struct InformationalSnackbar: View { + let message: String? + let undoAction: (() -> Void)? + + var body: some View { + VStack { + HStack { + if let message = message { + Text(message) + } + Spacer() + + if let undoAction = self.undoAction { + Button(action: { + undoAction() + }, label: { + Text("Undo") + .bold() + .foregroundColor(.blue) + + }) + .padding(.trailing, 2) + } + } + .padding(10) + .frame(height: 50) + .frame(maxWidth: 380) + .background(Color(hex: "2A2A2A")) + .foregroundColor(Color(hex: "EBEBEB")) + .cornerRadius(4.0) + } + .padding(.bottom, 60) + .padding(.horizontal, 10) + .ignoresSafeArea(.all, edges: .bottom) + } +} diff --git a/apple/OmnivoreKit/Sources/App/Views/PDFContainerView.swift b/apple/OmnivoreKit/Sources/App/Views/PDFContainerView.swift new file mode 100644 index 000000000..a8b9043fa --- /dev/null +++ b/apple/OmnivoreKit/Sources/App/Views/PDFContainerView.swift @@ -0,0 +1,66 @@ +import Combine +import Models +import SwiftUI +import Utils +import Services + +@MainActor final class PDFContainerViewModel: ObservableObject { + func trackReadEvent(item: Models.LibraryItem, reader: String) { + let itemID = item.unwrappedID + let slug = item.unwrappedSlug + let originalArticleURL = item.unwrappedPageURLString + + EventTracker.track( + .linkRead( + linkID: itemID, + slug: slug, + reader: reader, + originalArticleURL: originalArticleURL + ) + ) + } +} + +struct PDFContainerView: View { + let item: Models.LibraryItem + let pdfItem: PDFItem? + + + @EnvironmentObject var dataService: DataService + @StateObject private var viewModel = PDFContainerViewModel() + + init(item: Models.LibraryItem) { + self.item = item + self.pdfItem = PDFItem.make(item: item) + } + + var body: some View { + NavigationView { + pdfContainerView + .navigationBarBackButtonHidden(false) + } + .navigationViewStyle(.stack) + .ignoresSafeArea(.all, edges: .bottom) + .onAppear { + viewModel.trackReadEvent(item: item, reader: "PDF") + } + } + + @ViewBuilder private var pdfContainerView: some View { + if let pdfItem = pdfItem, let pdfURL = pdfItem.pdfURL { + #if os(iOS) + PDFViewer(viewModel: PDFViewerViewModel(pdfItem: pdfItem)) + .navigationBarTitleDisplayMode(.inline) + #elseif os(macOS) + PDFWrapperView(pdfURL: pdfURL) + #endif + } else { + HStack(alignment: .center) { + Spacer() + Text("Loading") + Spacer() + } + } + } + +} diff --git a/apple/OmnivoreKit/Sources/Services/DataService/Mutations/EmptyTrash.swift b/apple/OmnivoreKit/Sources/Services/DataService/Mutations/EmptyTrash.swift new file mode 100644 index 000000000..6be9a7fb0 --- /dev/null +++ b/apple/OmnivoreKit/Sources/Services/DataService/Mutations/EmptyTrash.swift @@ -0,0 +1,79 @@ +import CoreData +import Foundation +import Models +import SwiftGraphQL + +public extension DataService { + func emptyTrash() async -> Bool { + enum MutationResult { + case result(success: Bool) + case error(errorMessage: String) + } + + let selection = Selection { + try $0.on( + emptyTrashError: .init { .error(errorMessage: try $0.errorCodes().first?.rawValue ?? "Unknown Error") }, + emptyTrashSuccess: .init { + .result(success: try $0.success() ?? false) + } + ) + } + + let mutation = Selection.Mutation { + try $0.emptyTrash(selection: selection) + } + + let path = appEnvironment.graphqlPath + let headers = networker.defaultHeaders + let context = backgroundContext + + return await withCheckedContinuation { continuation in + send(mutation, to: path, headers: headers) { queryResult in + guard let payload = try? queryResult.get() else { + print("network error emptying trash") + continuation.resume(returning: false) + return + } + + switch (payload.data) { + case let .result(success): + if !success { + print("server did not return success for emptying trash") + continuation.resume(returning: false) + return + } + default: + print("server did not return success for emptying trash") + continuation.resume(returning: false) + return + } + + do { + try context.performAndWait { + let fetchRequest = LibraryItem.fetchRequest() + fetchRequest.predicate = NSPredicate( + format: "%K == %i OR %K == \"DELETED\"", + #keyPath(Models.LibraryItem.serverSyncStatus), Int64(ServerSyncStatus.needsDeletion.rawValue), + #keyPath(Models.LibraryItem.state) + ) + for object in try context.fetch(fetchRequest) { + context.delete(object) + } + do { + try context.save() + logger.debug("Empty trash completed") + continuation.resume(returning: true) + } catch { + context.rollback() + logger.debug("Failed to sync library item move: \(error.localizedDescription)") + continuation.resume(returning: false) + } + } + } catch { + print("error emptying trash", error) + continuation.resume(returning: false) + } + } + } + } +} From ede2432566000a040d800211b368bed234b8bfee Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Tue, 6 Feb 2024 12:40:13 +0800 Subject: [PATCH 20/39] Bump appreader bundle --- android/Omnivore/app/src/main/assets/bundle.js | 2 +- apple/OmnivoreKit/Sources/Views/Resources/bundle.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/android/Omnivore/app/src/main/assets/bundle.js b/android/Omnivore/app/src/main/assets/bundle.js index f2d08b88d..13b5b9afd 100644 --- a/android/Omnivore/app/src/main/assets/bundle.js +++ b/android/Omnivore/app/src/main/assets/bundle.js @@ -1,2 +1,2 @@ /*! For license information please see bundle.js.LICENSE.txt */ -(()=>{var e,t,n={7162:(e,t,n)=>{e.exports=n(5047)},1365:e=>{e.exports={trueFunc:function(){return!0},falseFunc:function(){return!1}}},6279:function(e,t){var n="undefined"!=typeof self?self:this,r=function(){function e(){this.fetch=!1,this.DOMException=n.DOMException}return e.prototype=n,new e}();!function(e){!function(t){var n="URLSearchParams"in e,r="Symbol"in e&&"iterator"in Symbol,o="FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),i="FormData"in e,a="ArrayBuffer"in e;if(a)var l=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],s=ArrayBuffer.isView||function(e){return e&&l.indexOf(Object.prototype.toString.call(e))>-1};function u(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function c(e){return"string"!=typeof e&&(e=String(e)),e}function d(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return r&&(t[Symbol.iterator]=function(){return t}),t}function f(e){this.map={},e instanceof f?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function p(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise((function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}}))}function g(e){var t=new FileReader,n=h(t);return t.readAsArrayBuffer(e),n}function m(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:o&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:i&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():a&&o&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=m(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(e)||s(e))?this._bodyArrayBuffer=m(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var e=p(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?p(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(g)}),this.text=function(){var e,t,n,r=p(this);if(r)return r;if(this._bodyBlob)return e=this._bodyBlob,n=h(t=new FileReader),t.readAsText(e),n;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r-1?r:n),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function A(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var n=e.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(o))}})),t}function w(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new f(t.headers),this.url=t.url||"",this._initBody(e)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},v.call(y.prototype),v.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},w.error=function(){var e=new w(null,{status:0,statusText:""});return e.type="error",e};var x=[301,302,303,307,308];w.redirect=function(e,t){if(-1===x.indexOf(t))throw new RangeError("Invalid status code");return new w(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function E(e,n){return new Promise((function(r,i){var a=new y(e,n);if(a.signal&&a.signal.aborted)return i(new t.DOMException("Aborted","AbortError"));var l=new XMLHttpRequest;function s(){l.abort()}l.onload=function(){var e,t,n={status:l.status,statusText:l.statusText,headers:(e=l.getAllResponseHeaders()||"",t=new f,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var n=e.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();t.append(r,o)}})),t)};n.url="responseURL"in l?l.responseURL:n.headers.get("X-Request-URL");var o="response"in l?l.response:l.responseText;r(new w(o,n))},l.onerror=function(){i(new TypeError("Network request failed"))},l.ontimeout=function(){i(new TypeError("Network request failed"))},l.onabort=function(){i(new t.DOMException("Aborted","AbortError"))},l.open(a.method,a.url,!0),"include"===a.credentials?l.withCredentials=!0:"omit"===a.credentials&&(l.withCredentials=!1),"responseType"in l&&o&&(l.responseType="blob"),a.headers.forEach((function(e,t){l.setRequestHeader(t,e)})),a.signal&&(a.signal.addEventListener("abort",s),l.onreadystatechange=function(){4===l.readyState&&a.signal.removeEventListener("abort",s)}),l.send(void 0===a._bodyInit?null:a._bodyInit)}))}E.polyfill=!0,e.fetch||(e.fetch=E,e.Headers=f,e.Request=y,e.Response=w),t.Headers=f,t.Request=y,t.Response=w,t.fetch=E,Object.defineProperty(t,"__esModule",{value:!0})}({})}(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var o=r;(t=o.fetch).default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t},8105:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.attributeRules=void 0;var o=r(n(1365)),i=/[-[\]{}()*+?.,\\^$|#\s]/g;function a(e){return e.replace(i,"\\$&")}var l=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function s(e,t){return"boolean"==typeof e.ignoreCase?e.ignoreCase:"quirks"===e.ignoreCase?!!t.quirksMode:!t.xmlMode&&l.has(e.name)}t.attributeRules={equals:function(e,t,n){var r=n.adapter,o=t.name,i=t.value;return s(t,n)?(i=i.toLowerCase(),function(t){var n=r.getAttributeValue(t,o);return null!=n&&n.length===i.length&&n.toLowerCase()===i&&e(t)}):function(t){return r.getAttributeValue(t,o)===i&&e(t)}},hyphen:function(e,t,n){var r=n.adapter,o=t.name,i=t.value,a=i.length;return s(t,n)?(i=i.toLowerCase(),function(t){var n=r.getAttributeValue(t,o);return null!=n&&(n.length===a||"-"===n.charAt(a))&&n.substr(0,a).toLowerCase()===i&&e(t)}):function(t){var n=r.getAttributeValue(t,o);return null!=n&&(n.length===a||"-"===n.charAt(a))&&n.substr(0,a)===i&&e(t)}},element:function(e,t,n){var r=n.adapter,i=t.name,l=t.value;if(/\s/.test(l))return o.default.falseFunc;var u=new RegExp("(?:^|\\s)".concat(a(l),"(?:$|\\s)"),s(t,n)?"i":"");return function(t){var n=r.getAttributeValue(t,i);return null!=n&&n.length>=l.length&&u.test(n)&&e(t)}},exists:function(e,t,n){var r=t.name,o=n.adapter;return function(t){return o.hasAttrib(t,r)&&e(t)}},start:function(e,t,n){var r=n.adapter,i=t.name,a=t.value,l=a.length;return 0===l?o.default.falseFunc:s(t,n)?(a=a.toLowerCase(),function(t){var n=r.getAttributeValue(t,i);return null!=n&&n.length>=l&&n.substr(0,l).toLowerCase()===a&&e(t)}):function(t){var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.startsWith(a))&&e(t)}},end:function(e,t,n){var r=n.adapter,i=t.name,a=t.value,l=-a.length;return 0===l?o.default.falseFunc:s(t,n)?(a=a.toLowerCase(),function(t){var n;return(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.substr(l).toLowerCase())===a&&e(t)}):function(t){var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.endsWith(a))&&e(t)}},any:function(e,t,n){var r=n.adapter,i=t.name,l=t.value;if(""===l)return o.default.falseFunc;if(s(t,n)){var u=new RegExp(a(l),"i");return function(t){var n=r.getAttributeValue(t,i);return null!=n&&n.length>=l.length&&u.test(n)&&e(t)}}return function(t){var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.includes(l))&&e(t)}},not:function(e,t,n){var r=n.adapter,o=t.name,i=t.value;return""===i?function(t){return!!r.getAttributeValue(t,o)&&e(t)}:s(t,n)?(i=i.toLowerCase(),function(t){var n=r.getAttributeValue(t,o);return(null==n||n.length!==i.length||n.toLowerCase()!==i)&&e(t)}):function(t){return r.getAttributeValue(t,o)!==i&&e(t)}}}},5716:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return o(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.compileToken=t.compileUnsafe=t.compile=void 0;var l=n(3658),s=a(n(1365)),u=i(n(3055)),c=n(9919),d=n(3973);function f(e,t,n){return v("string"==typeof e?(0,l.parse)(e):e,t,n)}function p(e){return e.type===l.SelectorType.Pseudo&&("scope"===e.name||Array.isArray(e.data)&&e.data.some((function(e){return e.some(p)})))}t.compile=function(e,t,n){var r=f(e,t,n);return(0,d.ensureIsTag)(r,t.adapter)},t.compileUnsafe=f;var h={type:l.SelectorType.Descendant},g={type:"_flexibleDescendant"},m={type:l.SelectorType.Pseudo,name:"scope",data:null};function v(e,t,n){var r;e.forEach(u.default),n=null!==(r=t.context)&&void 0!==r?r:n;var o=Array.isArray(n),i=n&&(Array.isArray(n)?n:[n]);if(!1!==t.relativeSelector)!function(e,t,n){for(var r=t.adapter,o=!!(null==n?void 0:n.every((function(e){var t=r.isTag(e)&&r.getParent(e);return e===d.PLACEHOLDER_ELEMENT||t&&r.isTag(t)}))),i=0,a=e;i0&&(0,u.isTraversal)(s[0])&&s[0].type!==l.SelectorType.Descendant);else{if(!o||s.some(p))continue;s.unshift(h)}s.unshift(m)}}(e,t,i);else if(e.some((function(e){return e.length>0&&(0,u.isTraversal)(e[0])})))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");var a=!1,f=e.map((function(e){if(e.length>=2){var n=e[0],r=e[1];n.type!==l.SelectorType.Pseudo||"scope"!==n.name||(o&&r.type===l.SelectorType.Descendant?e[1]=g:r.type!==l.SelectorType.Adjacent&&r.type!==l.SelectorType.Sibling||(a=!0))}return function(e,t,n){var r;return e.reduce((function(e,r){return e===s.default.falseFunc?s.default.falseFunc:(0,c.compileGeneralSelector)(e,r,t,n,v)}),null!==(r=t.rootFunc)&&void 0!==r?r:s.default.trueFunc)}(e,t,i)})).reduce(b,s.default.falseFunc);return f.shouldTestNextSiblings=a,f}function b(e,t){return t===s.default.falseFunc||e===s.default.trueFunc?e:e===s.default.falseFunc||t===s.default.trueFunc?t:function(n){return e(n)||t(n)}}t.compileToken=v},9919:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compileGeneralSelector=void 0;var r=n(8105),o=n(7466),i=n(3658);function a(e,t){var n=t.getParent(e);return n&&t.isTag(n)?n:null}t.compileGeneralSelector=function(e,t,n,l,s){var u=n.adapter,c=n.equals;switch(t.type){case i.SelectorType.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case i.SelectorType.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case i.SelectorType.Attribute:if(null!=t.namespace)throw new Error("Namespaced attributes are not yet supported by css-select");return n.xmlMode&&!n.lowerCaseAttributeNames||(t.name=t.name.toLowerCase()),r.attributeRules[t.action](e,t,n);case i.SelectorType.Pseudo:return(0,o.compilePseudoSelector)(e,t,n,l,s);case i.SelectorType.Tag:if(null!=t.namespace)throw new Error("Namespaced tag names are not yet supported by css-select");var d=t.name;return n.xmlMode&&!n.lowerCaseTags||(d=d.toLowerCase()),function(t){return u.getName(t)===d&&e(t)};case i.SelectorType.Descendant:if(!1===n.cacheResults||"undefined"==typeof WeakSet)return function(t){for(var n=t;n=a(n,u);)if(e(n))return!0;return!1};var f=new WeakSet;return function(t){for(var n=t;n=a(n,u);)if(!f.has(n)){if(u.isTag(n)&&e(n))return!0;f.add(n)}return!1};case"_flexibleDescendant":return function(t){var n=t;do{if(e(n))return!0}while(n=a(n,u));return!1};case i.SelectorType.Parent:return function(t){return u.getChildren(t).some((function(t){return u.isTag(t)&&e(t)}))};case i.SelectorType.Child:return function(t){var n=u.getParent(t);return null!=n&&u.isTag(n)&&e(n)};case i.SelectorType.Sibling:return function(t){for(var n=u.getSiblings(t),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.aliases=void 0,t.aliases={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )",enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"}},4449:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.filters=void 0;var o=r(n(7346)),i=r(n(1365));function a(e,t){return function(n){var r=t.getParent(n);return null!=r&&t.isTag(r)&&e(n)}}function l(e){return function(t,n,r){var o=r.adapter[e];return"function"!=typeof o?i.default.falseFunc:function(e){return o(e)&&t(e)}}}t.filters={contains:function(e,t,n){var r=n.adapter;return function(n){return e(n)&&r.getText(n).includes(t)}},icontains:function(e,t,n){var r=n.adapter,o=t.toLowerCase();return function(t){return e(t)&&r.getText(t).toLowerCase().includes(o)}},"nth-child":function(e,t,n){var r=n.adapter,l=n.equals,s=(0,o.default)(t);return s===i.default.falseFunc?i.default.falseFunc:s===i.default.trueFunc?a(e,r):function(t){for(var n=r.getSiblings(t),o=0,i=0;i=0&&!l(t,n[i]);i--)r.isTag(n[i])&&o++;return s(o)&&e(t)}},"nth-of-type":function(e,t,n){var r=n.adapter,l=n.equals,s=(0,o.default)(t);return s===i.default.falseFunc?i.default.falseFunc:s===i.default.trueFunc?a(e,r):function(t){for(var n=r.getSiblings(t),o=0,i=0;i=0;i--){var a=n[i];if(l(t,a))break;r.isTag(a)&&r.getName(a)===r.getName(t)&&o++}return s(o)&&e(t)}},root:function(e,t,n){var r=n.adapter;return function(t){var n=r.getParent(t);return(null==n||!r.isTag(n))&&e(t)}},scope:function(e,n,r,o){var i=r.equals;return o&&0!==o.length?1===o.length?function(t){return i(o[0],t)&&e(t)}:function(t){return o.includes(t)&&e(t)}:t.filters.root(e,n,r)},hover:l("isHovered"),visited:l("isVisited"),active:l("isActive")}},7466:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compilePseudoSelector=t.aliases=t.pseudos=t.filters=void 0;var r=n(3658),o=n(4449);Object.defineProperty(t,"filters",{enumerable:!0,get:function(){return o.filters}});var i=n(8702);Object.defineProperty(t,"pseudos",{enumerable:!0,get:function(){return i.pseudos}});var a=n(4169);Object.defineProperty(t,"aliases",{enumerable:!0,get:function(){return a.aliases}});var l=n(3973);t.compilePseudoSelector=function(e,t,n,s,u){var c,d=t.name,f=t.data;if(Array.isArray(f)){if(!(d in l.subselects))throw new Error("Unknown pseudo-class :".concat(d,"(").concat(f,")"));return l.subselects[d](e,f,n,s,u)}var p=null===(c=n.pseudos)||void 0===c?void 0:c[d],h="string"==typeof p?p:a.aliases[d];if("string"==typeof h){if(null!=f)throw new Error("Pseudo ".concat(d," doesn't have any arguments"));var g=(0,r.parse)(h);return l.subselects.is(e,g,n,s,u)}if("function"==typeof p)return(0,i.verifyPseudoArgs)(p,d,f,1),function(t){return p(t,f)&&e(t)};if(d in o.filters)return o.filters[d](e,f,n,s);if(d in i.pseudos){var m=i.pseudos[d];return(0,i.verifyPseudoArgs)(m,d,f,2),function(t){return m(t,n,f)&&e(t)}}throw new Error("Unknown pseudo-class :".concat(d))}},8702:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.verifyPseudoArgs=t.pseudos=void 0,t.pseudos={empty:function(e,t){var n=t.adapter;return!n.getChildren(e).some((function(e){return n.isTag(e)||""!==n.getText(e)}))},"first-child":function(e,t){var n=t.adapter,r=t.equals;if(n.prevElementSibling)return null==n.prevElementSibling(e);var o=n.getSiblings(e).find((function(e){return n.isTag(e)}));return null!=o&&r(e,o)},"last-child":function(e,t){for(var n=t.adapter,r=t.equals,o=n.getSiblings(e),i=o.length-1;i>=0;i--){if(r(e,o[i]))return!0;if(n.isTag(o[i]))break}return!1},"first-of-type":function(e,t){for(var n=t.adapter,r=t.equals,o=n.getSiblings(e),i=n.getName(e),a=0;a=0;a--){var l=o[a];if(r(e,l))return!0;if(n.isTag(l)&&n.getName(l)===i)break}return!1},"only-of-type":function(e,t){var n=t.adapter,r=t.equals,o=n.getName(e);return n.getSiblings(e).every((function(t){return r(e,t)||!n.isTag(t)||n.getName(t)!==o}))},"only-child":function(e,t){var n=t.adapter,r=t.equals;return n.getSiblings(e).every((function(t){return r(e,t)||!n.isTag(t)}))}},t.verifyPseudoArgs=function(e,t,n,r){if(null===n){if(e.length>r)throw new Error("Pseudo-class :".concat(t," requires an argument"))}else if(e.length===r)throw new Error("Pseudo-class :".concat(t," doesn't have any arguments"))}},3973:function(e,t,n){"use strict";var r=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTraversal=void 0;var r=n(3658),o=new Map([[r.SelectorType.Universal,50],[r.SelectorType.Tag,30],[r.SelectorType.Attribute,1],[r.SelectorType.Pseudo,0]]);t.isTraversal=function(e){return!o.has(e.type)};var i=new Map([[r.AttributeAction.Exists,10],[r.AttributeAction.Equals,8],[r.AttributeAction.Not,7],[r.AttributeAction.Start,6],[r.AttributeAction.End,6],[r.AttributeAction.Any,5]]);function a(e){var t,n,l=null!==(t=o.get(e.type))&&void 0!==t?t:-1;return e.type===r.SelectorType.Attribute?(l=null!==(n=i.get(e.action))&&void 0!==n?n:4,e.action===r.AttributeAction.Equals&&"id"===e.name&&(l=9),e.ignoreCase&&(l>>=1)):e.type===r.SelectorType.Pseudo&&(e.data?"has"===e.name||"contains"===e.name?l=0:Array.isArray(e.data)?(l=Math.min.apply(Math,e.data.map((function(e){return Math.min.apply(Math,e.map(a))}))))<0&&(l=0):l=2:l=3),l}t.default=function(e){for(var t=e.map(a),n=1;n=0&&r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.attributeNames=t.elementNames=void 0,t.elementNames=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((function(e){return[e.toLowerCase(),e]}))),t.attributeNames=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((function(e){return[e.toLowerCase(),e]})))},7974:function(e,t,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n");case l.Comment:return"\x3c!--".concat(e.data,"--\x3e");case l.CDATA:return function(e){return"")}(e);case l.Script:case l.Style:case l.Tag:return function(e,t){var n;"foreign"===t.xmlMode&&(e.name=null!==(n=u.elementNames.get(e.name))&&void 0!==n?n:e.name,e.parent&&g.has(e.parent.name)&&(t=r(r({},t),{xmlMode:!1}))),!t.xmlMode&&m.has(e.name)&&(t=r(r({},t),{xmlMode:"foreign"}));var o="<".concat(e.name),i=function(e,t){var n;if(e){var r=!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)?d:t.xmlMode||"utf8"!==t.encodeEntities?s.encodeXML:s.escapeAttribute;return Object.keys(e).map((function(n){var o,i,a=null!==(o=e[n])&&void 0!==o?o:"";return"foreign"===t.xmlMode&&(n=null!==(i=u.attributeNames.get(n))&&void 0!==i?i:n),t.emptyAttrs||t.xmlMode||""!==a?"".concat(n,'="').concat(r(a),'"'):n})).join(" ")}}(e.attribs,t);return i&&(o+=" ".concat(i)),0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&f.has(e.name))?(t.xmlMode||(o+=" "),o+="/>"):(o+=">",e.children.length>0&&(o+=p(e.children,t)),!t.xmlMode&&f.has(e.name)||(o+=""))),o}(e,t);case l.Text:return function(e,t){var n,r=e.data||"";return!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)||!t.xmlMode&&e.parent&&c.has(e.parent.name)||(r=t.xmlMode||"utf8"!==t.encodeEntities?(0,s.encodeXML)(r):(0,s.escapeText)(r)),r}(e,t)}}t.render=p,t.default=p;var g=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),m=new Set(["svg","math"])},4932:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(n=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===n.Tag||e.type===n.Script||e.type===n.Style},t.Root=n.Root,t.Text=n.Text,t.Directive=n.Directive,t.Comment=n.Comment,t.Script=n.Script,t.Style=n.Style,t.Tag=n.Tag,t.CDATA=n.CDATA,t.Doctype=n.Doctype},2465:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFeed=void 0;var r=n(2849),o=n(4420);t.getFeed=function(e){var t=s(d,e);return t?"feed"===t.name?function(e){var t,n=e.children,r={type:"atom",items:(0,o.getElementsByTagName)("entry",n).map((function(e){var t,n=e.children,r={media:l(n)};c(r,"id","id",n),c(r,"title","title",n);var o=null===(t=s("link",n))||void 0===t?void 0:t.attribs.href;o&&(r.link=o);var i=u("summary",n)||u("content",n);i&&(r.description=i);var a=u("updated",n);return a&&(r.pubDate=new Date(a)),r}))};c(r,"id","id",n),c(r,"title","title",n);var i=null===(t=s("link",n))||void 0===t?void 0:t.attribs.href;i&&(r.link=i),c(r,"description","subtitle",n);var a=u("updated",n);return a&&(r.updated=new Date(a)),c(r,"author","email",n,!0),r}(t):function(e){var t,n,r=null!==(n=null===(t=s("channel",e.children))||void 0===t?void 0:t.children)&&void 0!==n?n:[],i={type:e.name.substr(0,3),id:"",items:(0,o.getElementsByTagName)("item",e.children).map((function(e){var t=e.children,n={media:l(t)};c(n,"id","guid",t),c(n,"title","title",t),c(n,"link","link",t),c(n,"description","description",t);var r=u("pubDate",t);return r&&(n.pubDate=new Date(r)),n}))};c(i,"title","title",r),c(i,"link","link",r),c(i,"description","description",r);var a=u("lastBuildDate",r);return a&&(i.updated=new Date(a)),c(i,"author","managingEditor",r,!0),i}(t):null};var i=["url","type","lang"],a=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function l(e){return(0,o.getElementsByTagName)("media:content",e).map((function(e){for(var t=e.attribs,n={medium:t.medium,isDefault:!!t.isDefault},r=0,o=i;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uniqueSort=t.compareDocumentPosition=t.DocumentPosition=t.removeSubsets=void 0;var r,o=n(9959);function i(e,t){var n=[],i=[];if(e===t)return 0;for(var a=(0,o.hasChildren)(e)?e:e.parent;a;)n.unshift(a),a=a.parent;for(a=(0,o.hasChildren)(t)?t:t.parent;a;)i.unshift(a),a=a.parent;for(var l=Math.min(n.length,i.length),s=0;sc.indexOf(f)?u===t?r.FOLLOWING|r.CONTAINED_BY:r.FOLLOWING:u===e?r.PRECEDING|r.CONTAINS:r.PRECEDING}t.removeSubsets=function(e){for(var t=e.length;--t>=0;){var n=e[t];if(t>0&&e.lastIndexOf(n,t-1)>=0)e.splice(t,1);else for(var r=n.parent;r;r=r.parent)if(e.includes(r)){e.splice(t,1);break}}return e},function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(r=t.DocumentPosition||(t.DocumentPosition={})),t.compareDocumentPosition=i,t.uniqueSort=function(e){return(e=e.filter((function(e,t,n){return!n.includes(e,t+1)}))).sort((function(e,t){var n=i(e,t);return n&r.PRECEDING?-1:n&r.FOLLOWING?1:0})),e}},3926:function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n);var o=Object.getOwnPropertyDescriptor(t,n);o&&!("get"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,o)}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),o=this&&this.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.hasChildren=t.isDocument=t.isComment=t.isText=t.isCDATA=t.isTag=void 0,o(n(2849),t),o(n(8861),t),o(n(6860),t),o(n(5358),t),o(n(4420),t),o(n(765),t),o(n(2465),t);var i=n(9959);Object.defineProperty(t,"isTag",{enumerable:!0,get:function(){return i.isTag}}),Object.defineProperty(t,"isCDATA",{enumerable:!0,get:function(){return i.isCDATA}}),Object.defineProperty(t,"isText",{enumerable:!0,get:function(){return i.isText}}),Object.defineProperty(t,"isComment",{enumerable:!0,get:function(){return i.isComment}}),Object.defineProperty(t,"isDocument",{enumerable:!0,get:function(){return i.isDocument}}),Object.defineProperty(t,"hasChildren",{enumerable:!0,get:function(){return i.hasChildren}})},4420:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getElementsByTagType=t.getElementsByTagName=t.getElementById=t.getElements=t.testElement=void 0;var r=n(9959),o=n(5358),i={tag_name:function(e){return"function"==typeof e?function(t){return(0,r.isTag)(t)&&e(t.name)}:"*"===e?r.isTag:function(t){return(0,r.isTag)(t)&&t.name===e}},tag_type:function(e){return"function"==typeof e?function(t){return e(t.type)}:function(t){return t.type===e}},tag_contains:function(e){return"function"==typeof e?function(t){return(0,r.isText)(t)&&e(t.data)}:function(t){return(0,r.isText)(t)&&t.data===e}}};function a(e,t){return"function"==typeof t?function(n){return(0,r.isTag)(n)&&t(n.attribs[e])}:function(n){return(0,r.isTag)(n)&&n.attribs[e]===t}}function l(e,t){return function(n){return e(n)||t(n)}}function s(e){var t=Object.keys(e).map((function(t){var n=e[t];return Object.prototype.hasOwnProperty.call(i,t)?i[t](n):a(t,n)}));return 0===t.length?null:t.reduce(l)}t.testElement=function(e,t){var n=s(e);return!n||n(t)},t.getElements=function(e,t,n,r){void 0===r&&(r=1/0);var i=s(e);return i?(0,o.filter)(i,t,n,r):[]},t.getElementById=function(e,t,n){return void 0===n&&(n=!0),Array.isArray(t)||(t=[t]),(0,o.findOne)(a("id",e),t,n)},t.getElementsByTagName=function(e,t,n,r){return void 0===n&&(n=!0),void 0===r&&(r=1/0),(0,o.filter)(i.tag_name(e),t,n,r)},t.getElementsByTagType=function(e,t,n,r){return void 0===n&&(n=!0),void 0===r&&(r=1/0),(0,o.filter)(i.tag_type(e),t,n,r)}},6860:(e,t)=>{"use strict";function n(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){var t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}Object.defineProperty(t,"__esModule",{value:!0}),t.prepend=t.prependChild=t.append=t.appendChild=t.replaceElement=t.removeElement=void 0,t.removeElement=n,t.replaceElement=function(e,t){var n=t.prev=e.prev;n&&(n.next=t);var r=t.next=e.next;r&&(r.prev=t);var o=t.parent=e.parent;if(o){var i=o.children;i[i.lastIndexOf(e)]=t,e.parent=null}},t.appendChild=function(e,t){if(n(t),t.next=null,t.parent=e,e.children.push(t)>1){var r=e.children[e.children.length-2];r.next=t,t.prev=r}else t.prev=null},t.append=function(e,t){n(t);var r=e.parent,o=e.next;if(t.next=o,t.prev=e,e.next=t,t.parent=r,o){if(o.prev=t,r){var i=r.children;i.splice(i.lastIndexOf(o),0,t)}}else r&&r.children.push(t)},t.prependChild=function(e,t){if(n(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){var r=e.children[1];r.prev=t,t.next=r}else t.next=null},t.prepend=function(e,t){n(t);var r=e.parent;if(r){var o=r.children;o.splice(o.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=r,t.prev=e.prev,t.next=e,e.prev=t}},5358:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findAll=t.existsOne=t.findOne=t.findOneChild=t.find=t.filter=void 0;var r=n(9959);function o(e,t,n,i){for(var a=[],l=0,s=t;l0){var c=o(e,u.children,n,i);if(a.push.apply(a,c),(i-=c.length)<=0)break}}return a}t.filter=function(e,t,n,r){return void 0===n&&(n=!0),void 0===r&&(r=1/0),Array.isArray(t)||(t=[t]),o(e,t,n,r)},t.find=o,t.findOneChild=function(e,t){return t.find(e)},t.findOne=function e(t,n,o){void 0===o&&(o=!0);for(var i=null,a=0;a0&&(i=e(t,l.children,!0)))}return i},t.existsOne=function e(t,n){return n.some((function(n){return(0,r.isTag)(n)&&(t(n)||n.children.length>0&&e(t,n.children))}))},t.findAll=function(e,t){for(var n,o,i=[],a=t.filter(r.isTag);o=a.shift();){var l=null===(n=o.children)||void 0===n?void 0:n.filter(r.isTag);l&&l.length>0&&a.unshift.apply(a,l),e(o)&&i.push(o)}return i}},2849:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.innerText=t.textContent=t.getText=t.getInnerHTML=t.getOuterHTML=void 0;var o=n(9959),i=r(n(7974)),a=n(4932);function l(e,t){return(0,i.default)(e,t)}t.getOuterHTML=l,t.getInnerHTML=function(e,t){return(0,o.hasChildren)(e)?e.children.map((function(e){return l(e,t)})).join(""):""},t.getText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,o.isTag)(t)?"br"===t.name?"\n":e(t.children):(0,o.isCDATA)(t)?e(t.children):(0,o.isText)(t)?t.data:""},t.textContent=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,o.hasChildren)(t)&&!(0,o.isComment)(t)?e(t.children):(0,o.isText)(t)?t.data:""},t.innerText=function e(t){return Array.isArray(t)?t.map(e).join(""):(0,o.hasChildren)(t)&&(t.type===a.ElementType.Tag||(0,o.isCDATA)(t))?e(t.children):(0,o.isText)(t)?t.data:""}},8861:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.prevElementSibling=t.nextElementSibling=t.getName=t.hasAttrib=t.getAttributeValue=t.getSiblings=t.getParent=t.getChildren=void 0;var r=n(9959);function o(e){return(0,r.hasChildren)(e)?e.children:[]}function i(e){return e.parent||null}t.getChildren=o,t.getParent=i,t.getSiblings=function(e){var t=i(e);if(null!=t)return o(t);for(var n=[e],r=e.prev,a=e.next;null!=r;)n.unshift(r),r=r.prev;for(;null!=a;)n.push(a),a=a.next;return n},t.getAttributeValue=function(e,t){var n;return null===(n=e.attribs)||void 0===n?void 0:n[t]},t.hasAttrib=function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},t.getName=function(e){return e.name},t.nextElementSibling=function(e){for(var t=e.next;null!==t&&!(0,r.isTag)(t);)t=t.next;return t},t.prevElementSibling=function(e){for(var t=e.prev;null!==t&&!(0,r.isTag)(t);)t=t.prev;return t}},4753:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTML=t.determineBranch=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var o=r(n(3561));t.htmlDecodeTree=o.default;var i=r(n(2491));t.xmlDecodeTree=i.default;var a=r(n(5041));t.decodeCodePoint=a.default;var l,s,u=n(5041);function c(e){return function(t,n){for(var r="",o=0,i=0;(i=t.indexOf("&",i))>=0;)if(r+=t.slice(o,i),o=i,i+=1,t.charCodeAt(i)!==l.NUM){for(var u=0,c=1,f=0,p=e[f];i>14)-1))break;f+=g}}0!==u&&(r+=1==(g=(e[u]&s.VALUE_LENGTH)>>14)?String.fromCharCode(e[u]&~s.VALUE_LENGTH):2===g?String.fromCharCode(e[u+1]):String.fromCharCode(e[u+1],e[u+2]),o=i-c+1)}else{var m=i+1,v=10,b=t.charCodeAt(m);(b|l.To_LOWER_BIT)===l.LOWER_X&&(v=16,i+=1,m+=1);do{b=t.charCodeAt(++i)}while(b>=l.ZERO&&b<=l.NINE||16===v&&(b|l.To_LOWER_BIT)>=l.LOWER_A&&(b|l.To_LOWER_BIT)<=l.LOWER_F);if(m!==i){var y=t.substring(m,i),A=parseInt(y,v);if(t.charCodeAt(i)===l.SEMI)i+=1;else if(n)continue;r+=(0,a.default)(A),o=i}}return r+t.slice(o)}}function d(e,t,n,r){var o=(t&s.BRANCH_LENGTH)>>7,i=t&s.JUMP_TABLE;if(0===o)return 0!==i&&r===i?n:-1;if(i){var a=r-i;return a<0||a>o?-1:e[n+a]-1}for(var l=n,u=l+o-1;l<=u;){var c=l+u>>>1,d=e[c];if(dr))return e[c+o];u=c-1}}return-1}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return u.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return u.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.To_LOWER_BIT=32]="To_LOWER_BIT"}(l||(l={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(s=t.BinTrieFlags||(t.BinTrieFlags={})),t.determineBranch=d;var f=c(o.default),p=c(i.default);t.decodeHTML=function(e){return f(e,!1)},t.decodeHTMLStrict=function(e){return f(e,!0)},t.decodeXML=function(e){return p(e,!0)}},5041:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var r=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function o(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=r.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(n=String.fromCodePoint)&&void 0!==n?n:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+String.fromCharCode(e)},t.replaceCodePoint=o,t.default=function(e){return(0,t.fromCodePoint)(o(e))}},6913:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.encodeNonAsciiHTML=t.encodeHTML=void 0;var o=r(n(2208)),i=n(8168),a=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function l(e,t){for(var n,r="",a=0;null!==(n=e.exec(t));){var l=n.index;r+=t.substring(a,l);var s=t.charCodeAt(l),u=o.default.get(s);if("object"==typeof u){if(l+1{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.getCodePoint=t.xmlReplacer=void 0,t.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var n=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function r(e){for(var r,o="",i=0;null!==(r=t.xmlReplacer.exec(e));){var a=r.index,l=e.charCodeAt(a),s=n.get(l);void 0!==s?(o+=e.substring(i,a)+s,i=a+1):(o+="".concat(e.substring(i,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),i=t.xmlReplacer.lastIndex+=Number(55296==(64512&l)))}return o+e.substr(i)}function o(e,t){return function(n){for(var r,o=0,i="";r=e.exec(n);)o!==r.index&&(i+=n.substring(o,r.index)),i+=t.get(r[0].charCodeAt(0)),o=r.index+1;return i+n.substring(o)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=r,t.escape=r,t.escapeUTF8=o(/[&<>'"]/g,n),t.escapeAttribute=o(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=o(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))},3561:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array([7489,60,213,305,650,1181,1403,1488,1653,1758,1954,2006,2063,2634,2705,3489,3693,3849,3878,4298,4648,4833,5141,5277,5315,5343,5413,0,0,0,0,0,0,5483,5837,6541,7186,7645,8062,8288,8624,8845,9152,9211,9282,10276,10514,11528,11848,12238,12310,12986,13881,14252,14590,14888,14961,15072,15150,2048,69,77,97,98,99,102,103,108,109,110,111,112,114,115,116,117,92,98,102,109,115,127,132,139,144,149,152,166,179,185,200,207,108,105,103,32827,198,16582,80,32827,38,16422,99,117,116,101,32827,193,16577,114,101,118,101,59,16642,256,105,121,120,125,114,99,32827,194,16578,59,17424,114,59,49152,55349,56580,114,97,118,101,32827,192,16576,112,104,97,59,17297,97,99,114,59,16640,100,59,27219,256,103,112,157,161,111,110,59,16644,102,59,49152,55349,56632,112,108,121,70,117,110,99,116,105,111,110,59,24673,105,110,103,32827,197,16581,256,99,115,190,195,114,59,49152,55349,56476,105,103,110,59,25172,105,108,100,101,32827,195,16579,109,108,32827,196,16580,1024,97,99,101,102,111,114,115,117,229,251,254,279,284,290,295,298,256,99,114,234,242,107,115,108,97,115,104,59,25110,374,246,248,59,27367,101,100,59,25350,121,59,17425,384,99,114,116,261,267,276,97,117,115,101,59,25141,110,111,117,108,108,105,115,59,24876,97,59,17298,114,59,49152,55349,56581,112,102,59,49152,55349,56633,101,118,101,59,17112,99,242,275,109,112,101,113,59,25166,1792,72,79,97,99,100,101,102,104,105,108,111,114,115,117,333,337,342,384,414,418,437,439,442,476,533,627,632,638,99,121,59,17447,80,89,32827,169,16553,384,99,112,121,349,354,378,117,116,101,59,16646,256,59,105,359,360,25298,116,97,108,68,105,102,102,101,114,101,110,116,105,97,108,68,59,24901,108,101,121,115,59,24877,512,97,101,105,111,393,398,404,408,114,111,110,59,16652,100,105,108,32827,199,16583,114,99,59,16648,110,105,110,116,59,25136,111,116,59,16650,256,100,110,423,429,105,108,108,97,59,16568,116,101,114,68,111,116,59,16567,242,383,105,59,17319,114,99,108,101,512,68,77,80,84,455,459,465,470,111,116,59,25241,105,110,117,115,59,25238,108,117,115,59,25237,105,109,101,115,59,25239,111,256,99,115,482,504,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,25138,101,67,117,114,108,121,256,68,81,515,527,111,117,98,108,101,81,117,111,116,101,59,24605,117,111,116,101,59,24601,512,108,110,112,117,542,552,583,597,111,110,256,59,101,549,550,25143,59,27252,384,103,105,116,559,566,570,114,117,101,110,116,59,25185,110,116,59,25135,111,117,114,73,110,116,101,103,114,97,108,59,25134,256,102,114,588,590,59,24834,111,100,117,99,116,59,25104,110,116,101,114,67,108,111,99,107,119,105,115,101,67,111,110,116,111,117,114,73,110,116,101,103,114,97,108,59,25139,111,115,115,59,27183,99,114,59,49152,55349,56478,112,256,59,67,644,645,25299,97,112,59,25165,1408,68,74,83,90,97,99,101,102,105,111,115,672,684,688,692,696,715,727,737,742,819,1165,256,59,111,377,677,116,114,97,104,100,59,26897,99,121,59,17410,99,121,59,17413,99,121,59,17423,384,103,114,115,703,708,711,103,101,114,59,24609,114,59,24993,104,118,59,27364,256,97,121,720,725,114,111,110,59,16654,59,17428,108,256,59,116,733,734,25095,97,59,17300,114,59,49152,55349,56583,256,97,102,747,807,256,99,109,752,802,114,105,116,105,99,97,108,512,65,68,71,84,768,774,790,796,99,117,116,101,59,16564,111,372,779,781,59,17113,98,108,101,65,99,117,116,101,59,17117,114,97,118,101,59,16480,105,108,100,101,59,17116,111,110,100,59,25284,102,101,114,101,110,116,105,97,108,68,59,24902,1136,829,0,0,0,834,852,0,1029,102,59,49152,55349,56635,384,59,68,69,840,841,845,16552,111,116,59,24796,113,117,97,108,59,25168,98,108,101,768,67,68,76,82,85,86,867,882,898,975,994,1016,111,110,116,111,117,114,73,110,116,101,103,114,97,236,569,111,628,889,0,0,891,187,841,110,65,114,114,111,119,59,25043,256,101,111,903,932,102,116,384,65,82,84,912,918,929,114,114,111,119,59,25040,105,103,104,116,65,114,114,111,119,59,25044,101,229,714,110,103,256,76,82,939,964,101,102,116,256,65,82,947,953,114,114,111,119,59,26616,105,103,104,116,65,114,114,111,119,59,26618,105,103,104,116,65,114,114,111,119,59,26617,105,103,104,116,256,65,84,984,990,114,114,111,119,59,25042,101,101,59,25256,112,577,1001,0,0,1007,114,114,111,119,59,25041,111,119,110,65,114,114,111,119,59,25045,101,114,116,105,99,97,108,66,97,114,59,25125,110,768,65,66,76,82,84,97,1042,1066,1072,1118,1151,892,114,114,111,119,384,59,66,85,1053,1054,1058,24979,97,114,59,26899,112,65,114,114,111,119,59,25077,114,101,118,101,59,17169,101,102,116,722,1082,0,1094,0,1104,105,103,104,116,86,101,99,116,111,114,59,26960,101,101,86,101,99,116,111,114,59,26974,101,99,116,111,114,256,59,66,1113,1114,25021,97,114,59,26966,105,103,104,116,468,1127,0,1137,101,101,86,101,99,116,111,114,59,26975,101,99,116,111,114,256,59,66,1146,1147,25025,97,114,59,26967,101,101,256,59,65,1158,1159,25252,114,114,111,119,59,24999,256,99,116,1170,1175,114,59,49152,55349,56479,114,111,107,59,16656,2048,78,84,97,99,100,102,103,108,109,111,112,113,115,116,117,120,1213,1216,1220,1227,1246,1250,1255,1262,1269,1313,1327,1334,1362,1373,1376,1381,71,59,16714,72,32827,208,16592,99,117,116,101,32827,201,16585,384,97,105,121,1234,1239,1244,114,111,110,59,16666,114,99,32827,202,16586,59,17453,111,116,59,16662,114,59,49152,55349,56584,114,97,118,101,32827,200,16584,101,109,101,110,116,59,25096,256,97,112,1274,1278,99,114,59,16658,116,121,595,1286,0,0,1298,109,97,108,108,83,113,117,97,114,101,59,26107,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,26027,256,103,112,1318,1322,111,110,59,16664,102,59,49152,55349,56636,115,105,108,111,110,59,17301,117,256,97,105,1340,1353,108,256,59,84,1346,1347,27253,105,108,100,101,59,25154,108,105,98,114,105,117,109,59,25036,256,99,105,1367,1370,114,59,24880,109,59,27251,97,59,17303,109,108,32827,203,16587,256,105,112,1386,1391,115,116,115,59,25091,111,110,101,110,116,105,97,108,69,59,24903,640,99,102,105,111,115,1413,1416,1421,1458,1484,121,59,17444,114,59,49152,55349,56585,108,108,101,100,595,1431,0,0,1443,109,97,108,108,83,113,117,97,114,101,59,26108,101,114,121,83,109,97,108,108,83,113,117,97,114,101,59,26026,880,1466,0,1471,0,0,1476,102,59,49152,55349,56637,65,108,108,59,25088,114,105,101,114,116,114,102,59,24881,99,242,1483,1536,74,84,97,98,99,100,102,103,111,114,115,116,1512,1516,1519,1530,1536,1554,1558,1563,1565,1571,1644,1650,99,121,59,17411,32827,62,16446,109,109,97,256,59,100,1527,1528,17299,59,17372,114,101,118,101,59,16670,384,101,105,121,1543,1548,1552,100,105,108,59,16674,114,99,59,16668,59,17427,111,116,59,16672,114,59,49152,55349,56586,59,25305,112,102,59,49152,55349,56638,101,97,116,101,114,768,69,70,71,76,83,84,1589,1604,1614,1622,1627,1638,113,117,97,108,256,59,76,1598,1599,25189,101,115,115,59,25307,117,108,108,69,113,117,97,108,59,25191,114,101,97,116,101,114,59,27298,101,115,115,59,25207,108,97,110,116,69,113,117,97,108,59,27262,105,108,100,101,59,25203,99,114,59,49152,55349,56482,59,25195,1024,65,97,99,102,105,111,115,117,1669,1675,1686,1691,1694,1706,1726,1738,82,68,99,121,59,17450,256,99,116,1680,1684,101,107,59,17095,59,16478,105,114,99,59,16676,114,59,24844,108,98,101,114,116,83,112,97,99,101,59,24843,496,1711,0,1714,102,59,24845,105,122,111,110,116,97,108,76,105,110,101,59,25856,256,99,116,1731,1733,242,1705,114,111,107,59,16678,109,112,324,1744,1752,111,119,110,72,117,109,240,303,113,117,97,108,59,25167,1792,69,74,79,97,99,100,102,103,109,110,111,115,116,117,1786,1790,1795,1799,1806,1818,1822,1825,1832,1860,1912,1931,1935,1941,99,121,59,17429,108,105,103,59,16690,99,121,59,17409,99,117,116,101,32827,205,16589,256,105,121,1811,1816,114,99,32827,206,16590,59,17432,111,116,59,16688,114,59,24849,114,97,118,101,32827,204,16588,384,59,97,112,1824,1839,1855,256,99,103,1844,1847,114,59,16682,105,110,97,114,121,73,59,24904,108,105,101,243,989,500,1865,0,1890,256,59,101,1869,1870,25132,256,103,114,1875,1880,114,97,108,59,25131,115,101,99,116,105,111,110,59,25282,105,115,105,98,108,101,256,67,84,1900,1906,111,109,109,97,59,24675,105,109,101,115,59,24674,384,103,112,116,1919,1923,1928,111,110,59,16686,102,59,49152,55349,56640,97,59,17305,99,114,59,24848,105,108,100,101,59,16680,491,1946,0,1950,99,121,59,17414,108,32827,207,16591,640,99,102,111,115,117,1964,1975,1980,1986,2e3,256,105,121,1969,1973,114,99,59,16692,59,17433,114,59,49152,55349,56589,112,102,59,49152,55349,56641,483,1991,0,1996,114,59,49152,55349,56485,114,99,121,59,17416,107,99,121,59,17412,896,72,74,97,99,102,111,115,2020,2024,2028,2033,2045,2050,2056,99,121,59,17445,99,121,59,17420,112,112,97,59,17306,256,101,121,2038,2043,100,105,108,59,16694,59,17434,114,59,49152,55349,56590,112,102,59,49152,55349,56642,99,114,59,49152,55349,56486,1408,74,84,97,99,101,102,108,109,111,115,116,2085,2089,2092,2128,2147,2483,2488,2503,2509,2615,2631,99,121,59,17417,32827,60,16444,640,99,109,110,112,114,2103,2108,2113,2116,2125,117,116,101,59,16697,98,100,97,59,17307,103,59,26602,108,97,99,101,116,114,102,59,24850,114,59,24990,384,97,101,121,2135,2140,2145,114,111,110,59,16701,100,105,108,59,16699,59,17435,256,102,115,2152,2416,116,1280,65,67,68,70,82,84,85,86,97,114,2174,2217,2225,2272,2278,2300,2351,2395,912,2410,256,110,114,2179,2191,103,108,101,66,114,97,99,107,101,116,59,26600,114,111,119,384,59,66,82,2201,2202,2206,24976,97,114,59,25060,105,103,104,116,65,114,114,111,119,59,25030,101,105,108,105,110,103,59,25352,111,501,2231,0,2243,98,108,101,66,114,97,99,107,101,116,59,26598,110,468,2248,0,2258,101,101,86,101,99,116,111,114,59,26977,101,99,116,111,114,256,59,66,2267,2268,25027,97,114,59,26969,108,111,111,114,59,25354,105,103,104,116,256,65,86,2287,2293,114,114,111,119,59,24980,101,99,116,111,114,59,26958,256,101,114,2305,2327,101,384,59,65,86,2313,2314,2320,25251,114,114,111,119,59,24996,101,99,116,111,114,59,26970,105,97,110,103,108,101,384,59,66,69,2340,2341,2345,25266,97,114,59,27087,113,117,97,108,59,25268,112,384,68,84,86,2359,2370,2380,111,119,110,86,101,99,116,111,114,59,26961,101,101,86,101,99,116,111,114,59,26976,101,99,116,111,114,256,59,66,2390,2391,25023,97,114,59,26968,101,99,116,111,114,256,59,66,2405,2406,25020,97,114,59,26962,105,103,104,116,225,924,115,768,69,70,71,76,83,84,2430,2443,2453,2461,2466,2477,113,117,97,108,71,114,101,97,116,101,114,59,25306,117,108,108,69,113,117,97,108,59,25190,114,101,97,116,101,114,59,25206,101,115,115,59,27297,108,97,110,116,69,113,117,97,108,59,27261,105,108,100,101,59,25202,114,59,49152,55349,56591,256,59,101,2493,2494,25304,102,116,97,114,114,111,119,59,25050,105,100,111,116,59,16703,384,110,112,119,2516,2582,2587,103,512,76,82,108,114,2526,2551,2562,2576,101,102,116,256,65,82,2534,2540,114,114,111,119,59,26613,105,103,104,116,65,114,114,111,119,59,26615,105,103,104,116,65,114,114,111,119,59,26614,101,102,116,256,97,114,947,2570,105,103,104,116,225,959,105,103,104,116,225,970,102,59,49152,55349,56643,101,114,256,76,82,2594,2604,101,102,116,65,114,114,111,119,59,24985,105,103,104,116,65,114,114,111,119,59,24984,384,99,104,116,2622,2624,2626,242,2124,59,25008,114,111,107,59,16705,59,25194,1024,97,99,101,102,105,111,115,117,2650,2653,2656,2679,2684,2693,2699,2702,112,59,26885,121,59,17436,256,100,108,2661,2671,105,117,109,83,112,97,99,101,59,24671,108,105,110,116,114,102,59,24883,114,59,49152,55349,56592,110,117,115,80,108,117,115,59,25107,112,102,59,49152,55349,56644,99,242,2678,59,17308,1152,74,97,99,101,102,111,115,116,117,2723,2727,2733,2752,2836,2841,3473,3479,3486,99,121,59,17418,99,117,116,101,59,16707,384,97,101,121,2740,2745,2750,114,111,110,59,16711,100,105,108,59,16709,59,17437,384,103,115,119,2759,2800,2830,97,116,105,118,101,384,77,84,86,2771,2783,2792,101,100,105,117,109,83,112,97,99,101,59,24587,104,105,256,99,110,2790,2776,235,2777,101,114,121,84,104,105,238,2777,116,101,100,256,71,76,2808,2822,114,101,97,116,101,114,71,114,101,97,116,101,242,1651,101,115,115,76,101,115,243,2632,76,105,110,101,59,16394,114,59,49152,55349,56593,512,66,110,112,116,2850,2856,2871,2874,114,101,97,107,59,24672,66,114,101,97,107,105,110,103,83,112,97,99,101,59,16544,102,59,24853,1664,59,67,68,69,71,72,76,78,80,82,83,84,86,2901,2902,2922,2940,2977,3051,3076,3166,3204,3238,3288,3425,3461,27372,256,111,117,2907,2916,110,103,114,117,101,110,116,59,25186,112,67,97,112,59,25197,111,117,98,108,101,86,101,114,116,105,99,97,108,66,97,114,59,25126,384,108,113,120,2947,2954,2971,101,109,101,110,116,59,25097,117,97,108,256,59,84,2962,2963,25184,105,108,100,101,59,49152,8770,824,105,115,116,115,59,25092,114,101,97,116,101,114,896,59,69,70,71,76,83,84,2998,2999,3005,3017,3027,3032,3045,25199,113,117,97,108,59,25201,117,108,108,69,113,117,97,108,59,49152,8807,824,114,101,97,116,101,114,59,49152,8811,824,101,115,115,59,25209,108,97,110,116,69,113,117,97,108,59,49152,10878,824,105,108,100,101,59,25205,117,109,112,324,3058,3069,111,119,110,72,117,109,112,59,49152,8782,824,113,117,97,108,59,49152,8783,824,101,256,102,115,3082,3111,116,84,114,105,97,110,103,108,101,384,59,66,69,3098,3099,3105,25322,97,114,59,49152,10703,824,113,117,97,108,59,25324,115,768,59,69,71,76,83,84,3125,3126,3132,3140,3147,3160,25198,113,117,97,108,59,25200,114,101,97,116,101,114,59,25208,101,115,115,59,49152,8810,824,108,97,110,116,69,113,117,97,108,59,49152,10877,824,105,108,100,101,59,25204,101,115,116,101,100,256,71,76,3176,3193,114,101,97,116,101,114,71,114,101,97,116,101,114,59,49152,10914,824,101,115,115,76,101,115,115,59,49152,10913,824,114,101,99,101,100,101,115,384,59,69,83,3218,3219,3227,25216,113,117,97,108,59,49152,10927,824,108,97,110,116,69,113,117,97,108,59,25312,256,101,105,3243,3257,118,101,114,115,101,69,108,101,109,101,110,116,59,25100,103,104,116,84,114,105,97,110,103,108,101,384,59,66,69,3275,3276,3282,25323,97,114,59,49152,10704,824,113,117,97,108,59,25325,256,113,117,3293,3340,117,97,114,101,83,117,256,98,112,3304,3321,115,101,116,256,59,69,3312,3315,49152,8847,824,113,117,97,108,59,25314,101,114,115,101,116,256,59,69,3331,3334,49152,8848,824,113,117,97,108,59,25315,384,98,99,112,3347,3364,3406,115,101,116,256,59,69,3355,3358,49152,8834,8402,113,117,97,108,59,25224,99,101,101,100,115,512,59,69,83,84,3378,3379,3387,3398,25217,113,117,97,108,59,49152,10928,824,108,97,110,116,69,113,117,97,108,59,25313,105,108,100,101,59,49152,8831,824,101,114,115,101,116,256,59,69,3416,3419,49152,8835,8402,113,117,97,108,59,25225,105,108,100,101,512,59,69,70,84,3438,3439,3445,3455,25153,113,117,97,108,59,25156,117,108,108,69,113,117,97,108,59,25159,105,108,100,101,59,25161,101,114,116,105,99,97,108,66,97,114,59,25124,99,114,59,49152,55349,56489,105,108,100,101,32827,209,16593,59,17309,1792,69,97,99,100,102,103,109,111,112,114,115,116,117,118,3517,3522,3529,3541,3547,3552,3559,3580,3586,3616,3618,3634,3647,3652,108,105,103,59,16722,99,117,116,101,32827,211,16595,256,105,121,3534,3539,114,99,32827,212,16596,59,17438,98,108,97,99,59,16720,114,59,49152,55349,56594,114,97,118,101,32827,210,16594,384,97,101,105,3566,3570,3574,99,114,59,16716,103,97,59,17321,99,114,111,110,59,17311,112,102,59,49152,55349,56646,101,110,67,117,114,108,121,256,68,81,3598,3610,111,117,98,108,101,81,117,111,116,101,59,24604,117,111,116,101,59,24600,59,27220,256,99,108,3623,3628,114,59,49152,55349,56490,97,115,104,32827,216,16600,105,364,3639,3644,100,101,32827,213,16597,101,115,59,27191,109,108,32827,214,16598,101,114,256,66,80,3659,3680,256,97,114,3664,3667,114,59,24638,97,99,256,101,107,3674,3676,59,25566,101,116,59,25524,97,114,101,110,116,104,101,115,105,115,59,25564,1152,97,99,102,104,105,108,111,114,115,3711,3719,3722,3727,3730,3732,3741,3760,3836,114,116,105,97,108,68,59,25090,121,59,17439,114,59,49152,55349,56595,105,59,17318,59,17312,117,115,77,105,110,117,115,59,16561,256,105,112,3746,3757,110,99,97,114,101,112,108,97,110,229,1693,102,59,24857,512,59,101,105,111,3769,3770,3808,3812,27323,99,101,100,101,115,512,59,69,83,84,3784,3785,3791,3802,25210,113,117,97,108,59,27311,108,97,110,116,69,113,117,97,108,59,25212,105,108,100,101,59,25214,109,101,59,24627,256,100,112,3817,3822,117,99,116,59,25103,111,114,116,105,111,110,256,59,97,549,3833,108,59,25117,256,99,105,3841,3846,114,59,49152,55349,56491,59,17320,512,85,102,111,115,3857,3862,3867,3871,79,84,32827,34,16418,114,59,49152,55349,56596,112,102,59,24858,99,114,59,49152,55349,56492,1536,66,69,97,99,101,102,104,105,111,114,115,117,3902,3907,3911,3936,3955,4007,4010,4013,4246,4265,4276,4286,97,114,114,59,26896,71,32827,174,16558,384,99,110,114,3918,3923,3926,117,116,101,59,16724,103,59,26603,114,256,59,116,3932,3933,24992,108,59,26902,384,97,101,121,3943,3948,3953,114,111,110,59,16728,100,105,108,59,16726,59,17440,256,59,118,3960,3961,24860,101,114,115,101,256,69,85,3970,3993,256,108,113,3975,3982,101,109,101,110,116,59,25099,117,105,108,105,98,114,105,117,109,59,25035,112,69,113,117,105,108,105,98,114,105,117,109,59,26991,114,187,3961,111,59,17313,103,104,116,1024,65,67,68,70,84,85,86,97,4033,4075,4083,4130,4136,4187,4231,984,256,110,114,4038,4050,103,108,101,66,114,97,99,107,101,116,59,26601,114,111,119,384,59,66,76,4060,4061,4065,24978,97,114,59,25061,101,102,116,65,114,114,111,119,59,25028,101,105,108,105,110,103,59,25353,111,501,4089,0,4101,98,108,101,66,114,97,99,107,101,116,59,26599,110,468,4106,0,4116,101,101,86,101,99,116,111,114,59,26973,101,99,116,111,114,256,59,66,4125,4126,25026,97,114,59,26965,108,111,111,114,59,25355,256,101,114,4141,4163,101,384,59,65,86,4149,4150,4156,25250,114,114,111,119,59,24998,101,99,116,111,114,59,26971,105,97,110,103,108,101,384,59,66,69,4176,4177,4181,25267,97,114,59,27088,113,117,97,108,59,25269,112,384,68,84,86,4195,4206,4216,111,119,110,86,101,99,116,111,114,59,26959,101,101,86,101,99,116,111,114,59,26972,101,99,116,111,114,256,59,66,4226,4227,25022,97,114,59,26964,101,99,116,111,114,256,59,66,4241,4242,25024,97,114,59,26963,256,112,117,4251,4254,102,59,24861,110,100,73,109,112,108,105,101,115,59,26992,105,103,104,116,97,114,114,111,119,59,25051,256,99,104,4281,4284,114,59,24859,59,25009,108,101,68,101,108,97,121,101,100,59,27124,1664,72,79,97,99,102,104,105,109,111,113,115,116,117,4324,4337,4343,4349,4377,4382,4433,4438,4449,4455,4533,4539,4543,256,67,99,4329,4334,72,99,121,59,17449,121,59,17448,70,84,99,121,59,17452,99,117,116,101,59,16730,640,59,97,101,105,121,4360,4361,4366,4371,4375,27324,114,111,110,59,16736,100,105,108,59,16734,114,99,59,16732,59,17441,114,59,49152,55349,56598,111,114,116,512,68,76,82,85,4394,4404,4414,4425,111,119,110,65,114,114,111,119,187,1054,101,102,116,65,114,114,111,119,187,2202,105,103,104,116,65,114,114,111,119,187,4061,112,65,114,114,111,119,59,24977,103,109,97,59,17315,97,108,108,67,105,114,99,108,101,59,25112,112,102,59,49152,55349,56650,626,4461,0,0,4464,116,59,25114,97,114,101,512,59,73,83,85,4475,4476,4489,4527,26017,110,116,101,114,115,101,99,116,105,111,110,59,25235,117,256,98,112,4495,4510,115,101,116,256,59,69,4503,4504,25231,113,117,97,108,59,25233,101,114,115,101,116,256,59,69,4520,4521,25232,113,117,97,108,59,25234,110,105,111,110,59,25236,99,114,59,49152,55349,56494,97,114,59,25286,512,98,99,109,112,4552,4571,4617,4619,256,59,115,4557,4558,25296,101,116,256,59,69,4557,4565,113,117,97,108,59,25222,256,99,104,4576,4613,101,101,100,115,512,59,69,83,84,4589,4590,4596,4607,25211,113,117,97,108,59,27312,108,97,110,116,69,113,117,97,108,59,25213,105,108,100,101,59,25215,84,104,225,3980,59,25105,384,59,101,115,4626,4627,4643,25297,114,115,101,116,256,59,69,4636,4637,25219,113,117,97,108,59,25223,101,116,187,4627,1408,72,82,83,97,99,102,104,105,111,114,115,4670,4676,4681,4693,4702,4721,4726,4767,4802,4808,4817,79,82,78,32827,222,16606,65,68,69,59,24866,256,72,99,4686,4690,99,121,59,17419,121,59,17446,256,98,117,4698,4700,59,16393,59,17316,384,97,101,121,4709,4714,4719,114,111,110,59,16740,100,105,108,59,16738,59,17442,114,59,49152,55349,56599,256,101,105,4731,4745,498,4736,0,4743,101,102,111,114,101,59,25140,97,59,17304,256,99,110,4750,4760,107,83,112,97,99,101,59,49152,8287,8202,83,112,97,99,101,59,24585,108,100,101,512,59,69,70,84,4779,4780,4786,4796,25148,113,117,97,108,59,25155,117,108,108,69,113,117,97,108,59,25157,105,108,100,101,59,25160,112,102,59,49152,55349,56651,105,112,108,101,68,111,116,59,24795,256,99,116,4822,4827,114,59,49152,55349,56495,114,111,107,59,16742,2785,4855,4878,4890,4902,0,4908,4913,0,0,0,0,0,4920,4925,4983,4997,0,5119,5124,5130,5136,256,99,114,4859,4865,117,116,101,32827,218,16602,114,256,59,111,4871,4872,24991,99,105,114,59,26953,114,483,4883,0,4886,121,59,17422,118,101,59,16748,256,105,121,4894,4899,114,99,32827,219,16603,59,17443,98,108,97,99,59,16752,114,59,49152,55349,56600,114,97,118,101,32827,217,16601,97,99,114,59,16746,256,100,105,4929,4969,101,114,256,66,80,4936,4957,256,97,114,4941,4944,114,59,16479,97,99,256,101,107,4951,4953,59,25567,101,116,59,25525,97,114,101,110,116,104,101,115,105,115,59,25565,111,110,256,59,80,4976,4977,25283,108,117,115,59,25230,256,103,112,4987,4991,111,110,59,16754,102,59,49152,55349,56652,1024,65,68,69,84,97,100,112,115,5013,5038,5048,5060,1e3,5074,5079,5107,114,114,111,119,384,59,66,68,4432,5024,5028,97,114,59,26898,111,119,110,65,114,114,111,119,59,25029,111,119,110,65,114,114,111,119,59,24981,113,117,105,108,105,98,114,105,117,109,59,26990,101,101,256,59,65,5067,5068,25253,114,114,111,119,59,24997,111,119,110,225,1011,101,114,256,76,82,5086,5096,101,102,116,65,114,114,111,119,59,24982,105,103,104,116,65,114,114,111,119,59,24983,105,256,59,108,5113,5114,17362,111,110,59,17317,105,110,103,59,16750,99,114,59,49152,55349,56496,105,108,100,101,59,16744,109,108,32827,220,16604,1152,68,98,99,100,101,102,111,115,118,5159,5164,5168,5171,5182,5253,5258,5264,5270,97,115,104,59,25259,97,114,59,27371,121,59,17426,97,115,104,256,59,108,5179,5180,25257,59,27366,256,101,114,5187,5189,59,25281,384,98,116,121,5196,5200,5242,97,114,59,24598,256,59,105,5199,5205,99,97,108,512,66,76,83,84,5217,5221,5226,5236,97,114,59,25123,105,110,101,59,16508,101,112,97,114,97,116,111,114,59,26456,105,108,100,101,59,25152,84,104,105,110,83,112,97,99,101,59,24586,114,59,49152,55349,56601,112,102,59,49152,55349,56653,99,114,59,49152,55349,56497,100,97,115,104,59,25258,640,99,101,102,111,115,5287,5292,5297,5302,5308,105,114,99,59,16756,100,103,101,59,25280,114,59,49152,55349,56602,112,102,59,49152,55349,56654,99,114,59,49152,55349,56498,512,102,105,111,115,5323,5328,5330,5336,114,59,49152,55349,56603,59,17310,112,102,59,49152,55349,56655,99,114,59,49152,55349,56499,1152,65,73,85,97,99,102,111,115,117,5361,5365,5369,5373,5380,5391,5396,5402,5408,99,121,59,17455,99,121,59,17415,99,121,59,17454,99,117,116,101,32827,221,16605,256,105,121,5385,5389,114,99,59,16758,59,17451,114,59,49152,55349,56604,112,102,59,49152,55349,56656,99,114,59,49152,55349,56500,109,108,59,16760,1024,72,97,99,100,101,102,111,115,5429,5433,5439,5451,5455,5469,5472,5476,99,121,59,17430,99,117,116,101,59,16761,256,97,121,5444,5449,114,111,110,59,16765,59,17431,111,116,59,16763,498,5460,0,5467,111,87,105,100,116,232,2777,97,59,17302,114,59,24872,112,102,59,24868,99,114,59,49152,55349,56501,3041,5507,5514,5520,0,5552,5558,5567,0,0,0,0,5574,5595,5611,5727,5741,0,5781,5787,5810,5817,0,5822,99,117,116,101,32827,225,16609,114,101,118,101,59,16643,768,59,69,100,105,117,121,5532,5533,5537,5539,5544,5549,25150,59,49152,8766,819,59,25151,114,99,32827,226,16610,116,101,32955,180,774,59,17456,108,105,103,32827,230,16614,256,59,114,178,5562,59,49152,55349,56606,114,97,118,101,32827,224,16608,256,101,112,5578,5590,256,102,112,5583,5588,115,121,109,59,24885,232,5587,104,97,59,17329,256,97,112,5599,99,256,99,108,5604,5607,114,59,16641,103,59,27199,612,5616,0,0,5642,640,59,97,100,115,118,5626,5627,5631,5633,5639,25127,110,100,59,27221,59,27228,108,111,112,101,59,27224,59,27226,896,59,101,108,109,114,115,122,5656,5657,5659,5662,5695,5711,5721,25120,59,27044,101,187,5657,115,100,256,59,97,5669,5670,25121,1121,5680,5682,5684,5686,5688,5690,5692,5694,59,27048,59,27049,59,27050,59,27051,59,27052,59,27053,59,27054,59,27055,116,256,59,118,5701,5702,25119,98,256,59,100,5708,5709,25278,59,27037,256,112,116,5716,5719,104,59,25122,187,185,97,114,114,59,25468,256,103,112,5731,5735,111,110,59,16645,102,59,49152,55349,56658,896,59,69,97,101,105,111,112,4801,5755,5757,5762,5764,5767,5770,59,27248,99,105,114,59,27247,59,25162,100,59,25163,115,59,16423,114,111,120,256,59,101,4801,5778,241,5763,105,110,103,32827,229,16613,384,99,116,121,5793,5798,5800,114,59,49152,55349,56502,59,16426,109,112,256,59,101,4801,5807,241,648,105,108,100,101,32827,227,16611,109,108,32827,228,16612,256,99,105,5826,5832,111,110,105,110,244,626,110,116,59,27153,2048,78,97,98,99,100,101,102,105,107,108,110,111,112,114,115,117,5869,5873,5936,5948,5955,5960,6008,6013,6112,6118,6201,6224,5901,6461,6472,6512,111,116,59,27373,256,99,114,5878,5918,107,512,99,101,112,115,5888,5893,5901,5907,111,110,103,59,25164,112,115,105,108,111,110,59,17398,114,105,109,101,59,24629,105,109,256,59,101,5914,5915,25149,113,59,25293,374,5922,5926,101,101,59,25277,101,100,256,59,103,5932,5933,25349,101,187,5933,114,107,256,59,116,4956,5943,98,114,107,59,25526,256,111,121,5889,5953,59,17457,113,117,111,59,24606,640,99,109,112,114,116,5971,5979,5985,5988,5992,97,117,115,256,59,101,266,265,112,116,121,118,59,27056,115,233,5900,110,111,245,275,384,97,104,119,5999,6001,6003,59,17330,59,24886,101,101,110,59,25196,114,59,49152,55349,56607,103,896,99,111,115,116,117,118,119,6029,6045,6067,6081,6101,6107,6110,384,97,105,117,6036,6038,6042,240,1888,114,99,59,26095,112,187,4977,384,100,112,116,6052,6056,6061,111,116,59,27136,108,117,115,59,27137,105,109,101,115,59,27138,625,6073,0,0,6078,99,117,112,59,27142,97,114,59,26117,114,105,97,110,103,108,101,256,100,117,6093,6098,111,119,110,59,26045,112,59,26035,112,108,117,115,59,27140,101,229,5188,229,5293,97,114,111,119,59,26893,384,97,107,111,6125,6182,6197,256,99,110,6130,6179,107,384,108,115,116,6138,1451,6146,111,122,101,110,103,101,59,27115,114,105,97,110,103,108,101,512,59,100,108,114,6162,6163,6168,6173,26036,111,119,110,59,26046,101,102,116,59,26050,105,103,104,116,59,26040,107,59,25635,433,6187,0,6195,434,6191,0,6193,59,26002,59,26001,52,59,26003,99,107,59,25992,256,101,111,6206,6221,256,59,113,6211,6214,49152,61,8421,117,105,118,59,49152,8801,8421,116,59,25360,512,112,116,119,120,6233,6238,6247,6252,102,59,49152,55349,56659,256,59,116,5067,6243,111,109,187,5068,116,105,101,59,25288,1536,68,72,85,86,98,100,104,109,112,116,117,118,6277,6294,6314,6331,6359,6363,6380,6399,6405,6410,6416,6433,512,76,82,108,114,6286,6288,6290,6292,59,25943,59,25940,59,25942,59,25939,640,59,68,85,100,117,6305,6306,6308,6310,6312,25936,59,25958,59,25961,59,25956,59,25959,512,76,82,108,114,6323,6325,6327,6329,59,25949,59,25946,59,25948,59,25945,896,59,72,76,82,104,108,114,6346,6347,6349,6351,6353,6355,6357,25937,59,25964,59,25955,59,25952,59,25963,59,25954,59,25951,111,120,59,27081,512,76,82,108,114,6372,6374,6376,6378,59,25941,59,25938,59,25872,59,25868,640,59,68,85,100,117,1725,6391,6393,6395,6397,59,25957,59,25960,59,25900,59,25908,105,110,117,115,59,25247,108,117,115,59,25246,105,109,101,115,59,25248,512,76,82,108,114,6425,6427,6429,6431,59,25947,59,25944,59,25880,59,25876,896,59,72,76,82,104,108,114,6448,6449,6451,6453,6455,6457,6459,25858,59,25962,59,25953,59,25950,59,25916,59,25892,59,25884,256,101,118,291,6466,98,97,114,32827,166,16550,512,99,101,105,111,6481,6486,6490,6496,114,59,49152,55349,56503,109,105,59,24655,109,256,59,101,5914,5916,108,384,59,98,104,6504,6505,6507,16476,59,27077,115,117,98,59,26568,364,6516,6526,108,256,59,101,6521,6522,24610,116,187,6522,112,384,59,69,101,303,6533,6535,59,27310,256,59,113,1756,1755,3297,6567,0,6632,6673,6677,6706,0,6711,6736,0,0,6836,0,0,6849,0,0,6945,6958,6989,6994,0,7165,0,7180,384,99,112,114,6573,6578,6621,117,116,101,59,16647,768,59,97,98,99,100,115,6591,6592,6596,6602,6613,6617,25129,110,100,59,27204,114,99,117,112,59,27209,256,97,117,6607,6610,112,59,27211,112,59,27207,111,116,59,27200,59,49152,8745,65024,256,101,111,6626,6629,116,59,24641,238,1683,512,97,101,105,117,6640,6651,6657,6661,496,6645,0,6648,115,59,27213,111,110,59,16653,100,105,108,32827,231,16615,114,99,59,16649,112,115,256,59,115,6668,6669,27212,109,59,27216,111,116,59,16651,384,100,109,110,6683,6688,6694,105,108,32955,184,429,112,116,121,118,59,27058,116,33024,162,59,101,6701,6702,16546,114,228,434,114,59,49152,55349,56608,384,99,101,105,6717,6720,6733,121,59,17479,99,107,256,59,109,6727,6728,26387,97,114,107,187,6728,59,17351,114,896,59,69,99,101,102,109,115,6751,6752,6754,6763,6820,6826,6830,26059,59,27075,384,59,101,108,6761,6762,6765,17094,113,59,25175,101,609,6772,0,0,6792,114,114,111,119,256,108,114,6780,6785,101,102,116,59,25018,105,103,104,116,59,25019,640,82,83,97,99,100,6802,6804,6806,6810,6815,187,3911,59,25800,115,116,59,25243,105,114,99,59,25242,97,115,104,59,25245,110,105,110,116,59,27152,105,100,59,27375,99,105,114,59,27074,117,98,115,256,59,117,6843,6844,26211,105,116,187,6844,748,6855,6868,6906,0,6922,111,110,256,59,101,6861,6862,16442,256,59,113,199,198,621,6873,0,0,6882,97,256,59,116,6878,6879,16428,59,16448,384,59,102,108,6888,6889,6891,25089,238,4448,101,256,109,120,6897,6902,101,110,116,187,6889,101,243,589,487,6910,0,6919,256,59,100,4795,6914,111,116,59,27245,110,244,582,384,102,114,121,6928,6932,6935,59,49152,55349,56660,111,228,596,33024,169,59,115,341,6941,114,59,24855,256,97,111,6949,6953,114,114,59,25013,115,115,59,26391,256,99,117,6962,6967,114,59,49152,55349,56504,256,98,112,6972,6980,256,59,101,6977,6978,27343,59,27345,256,59,101,6985,6986,27344,59,27346,100,111,116,59,25327,896,100,101,108,112,114,118,119,7008,7020,7031,7042,7084,7124,7161,97,114,114,256,108,114,7016,7018,59,26936,59,26933,624,7026,0,0,7029,114,59,25310,99,59,25311,97,114,114,256,59,112,7039,7040,25014,59,26941,768,59,98,99,100,111,115,7055,7056,7062,7073,7077,7080,25130,114,99,97,112,59,27208,256,97,117,7067,7070,112,59,27206,112,59,27210,111,116,59,25229,114,59,27205,59,49152,8746,65024,512,97,108,114,118,7093,7103,7134,7139,114,114,256,59,109,7100,7101,25015,59,26940,121,384,101,118,119,7111,7124,7128,113,624,7118,0,0,7122,114,101,227,7027,117,227,7029,101,101,59,25294,101,100,103,101,59,25295,101,110,32827,164,16548,101,97,114,114,111,119,256,108,114,7150,7155,101,102,116,187,7040,105,103,104,116,187,7101,101,228,7133,256,99,105,7169,7175,111,110,105,110,244,503,110,116,59,25137,108,99,116,121,59,25389,2432,65,72,97,98,99,100,101,102,104,105,106,108,111,114,115,116,117,119,122,7224,7227,7231,7261,7273,7285,7306,7326,7340,7351,7419,7423,7437,7547,7569,7595,7611,7622,7629,114,242,897,97,114,59,26981,512,103,108,114,115,7240,7245,7250,7252,103,101,114,59,24608,101,116,104,59,24888,242,4403,104,256,59,118,7258,7259,24592,187,2314,363,7265,7271,97,114,111,119,59,26895,97,227,789,256,97,121,7278,7283,114,111,110,59,16655,59,17460,384,59,97,111,818,7292,7300,256,103,114,703,7297,114,59,25034,116,115,101,113,59,27255,384,103,108,109,7313,7316,7320,32827,176,16560,116,97,59,17332,112,116,121,118,59,27057,256,105,114,7331,7336,115,104,116,59,27007,59,49152,55349,56609,97,114,256,108,114,7347,7349,187,2268,187,4126,640,97,101,103,115,118,7362,888,7382,7388,7392,109,384,59,111,115,806,7370,7380,110,100,256,59,115,806,7377,117,105,116,59,26214,97,109,109,97,59,17373,105,110,59,25330,384,59,105,111,7399,7400,7416,16631,100,101,33024,247,59,111,7399,7408,110,116,105,109,101,115,59,25287,110,248,7415,99,121,59,17490,99,623,7430,0,0,7434,114,110,59,25374,111,112,59,25357,640,108,112,116,117,119,7448,7453,7458,7497,7509,108,97,114,59,16420,102,59,49152,55349,56661,640,59,101,109,112,115,779,7469,7479,7485,7490,113,256,59,100,850,7475,111,116,59,25169,105,110,117,115,59,25144,108,117,115,59,25108,113,117,97,114,101,59,25249,98,108,101,98,97,114,119,101,100,103,229,250,110,384,97,100,104,4398,7517,7527,111,119,110,97,114,114,111,119,243,7299,97,114,112,111,111,110,256,108,114,7538,7542,101,102,244,7348,105,103,104,244,7350,354,7551,7557,107,97,114,111,247,3906,623,7562,0,0,7566,114,110,59,25375,111,112,59,25356,384,99,111,116,7576,7587,7590,256,114,121,7581,7585,59,49152,55349,56505,59,17493,108,59,27126,114,111,107,59,16657,256,100,114,7600,7604,111,116,59,25329,105,256,59,102,7610,6166,26047,256,97,104,7616,7619,114,242,1065,97,242,4006,97,110,103,108,101,59,27046,256,99,105,7634,7637,121,59,17503,103,114,97,114,114,59,26623,2304,68,97,99,100,101,102,103,108,109,110,111,112,113,114,115,116,117,120,7681,7689,7705,7736,1400,7740,7753,7777,7806,7845,7855,7869,7905,7978,7991,8004,8014,8026,256,68,111,7686,7476,111,244,7305,256,99,115,7694,7700,117,116,101,32827,233,16617,116,101,114,59,27246,512,97,105,111,121,7714,7719,7729,7734,114,111,110,59,16667,114,256,59,99,7725,7726,25174,32827,234,16618,108,111,110,59,25173,59,17485,111,116,59,16663,256,68,114,7745,7749,111,116,59,25170,59,49152,55349,56610,384,59,114,115,7760,7761,7767,27290,97,118,101,32827,232,16616,256,59,100,7772,7773,27286,111,116,59,27288,512,59,105,108,115,7786,7787,7794,7796,27289,110,116,101,114,115,59,25575,59,24851,256,59,100,7801,7802,27285,111,116,59,27287,384,97,112,115,7813,7817,7831,99,114,59,16659,116,121,384,59,115,118,7826,7827,7829,25093,101,116,187,7827,112,256,49,59,7837,7844,307,7841,7843,59,24580,59,24581,24579,256,103,115,7850,7852,59,16715,112,59,24578,256,103,112,7860,7864,111,110,59,16665,102,59,49152,55349,56662,384,97,108,115,7876,7886,7890,114,256,59,115,7882,7883,25301,108,59,27107,117,115,59,27249,105,384,59,108,118,7898,7899,7903,17333,111,110,187,7899,59,17397,512,99,115,117,118,7914,7923,7947,7971,256,105,111,7919,7729,114,99,187,7726,617,7929,0,0,7931,237,1352,97,110,116,256,103,108,7938,7942,116,114,187,7773,101,115,115,187,7802,384,97,101,105,7954,7958,7962,108,115,59,16445,115,116,59,25183,118,256,59,68,565,7968,68,59,27256,112,97,114,115,108,59,27109,256,68,97,7983,7987,111,116,59,25171,114,114,59,26993,384,99,100,105,7998,8001,7928,114,59,24879,111,244,850,256,97,104,8009,8011,59,17335,32827,240,16624,256,109,114,8019,8023,108,32827,235,16619,111,59,24748,384,99,105,112,8033,8036,8039,108,59,16417,115,244,1390,256,101,111,8044,8052,99,116,97,116,105,111,238,1369,110,101,110,116,105,97,108,229,1401,2529,8082,0,8094,0,8097,8103,0,0,8134,8140,0,8147,0,8166,8170,8192,0,8200,8282,108,108,105,110,103,100,111,116,115,101,241,7748,121,59,17476,109,97,108,101,59,26176,384,105,108,114,8109,8115,8129,108,105,103,59,32768,64259,617,8121,0,0,8125,103,59,32768,64256,105,103,59,32768,64260,59,49152,55349,56611,108,105,103,59,32768,64257,108,105,103,59,49152,102,106,384,97,108,116,8153,8156,8161,116,59,26221,105,103,59,32768,64258,110,115,59,26033,111,102,59,16786,496,8174,0,8179,102,59,49152,55349,56663,256,97,107,1471,8183,256,59,118,8188,8189,25300,59,27353,97,114,116,105,110,116,59,27149,256,97,111,8204,8277,256,99,115,8209,8274,945,8218,8240,8248,8261,8264,0,8272,946,8226,8229,8231,8234,8236,0,8238,32827,189,16573,59,24915,32827,188,16572,59,24917,59,24921,59,24923,435,8244,0,8246,59,24916,59,24918,692,8254,8257,0,0,8259,32827,190,16574,59,24919,59,24924,53,59,24920,438,8268,0,8270,59,24922,59,24925,56,59,24926,108,59,24644,119,110,59,25378,99,114,59,49152,55349,56507,2176,69,97,98,99,100,101,102,103,105,106,108,110,111,114,115,116,118,8322,8329,8351,8357,8368,8372,8432,8437,8442,8447,8451,8466,8504,791,8510,8530,8606,256,59,108,1613,8327,59,27276,384,99,109,112,8336,8341,8349,117,116,101,59,16885,109,97,256,59,100,8348,7386,17331,59,27270,114,101,118,101,59,16671,256,105,121,8362,8366,114,99,59,16669,59,17459,111,116,59,16673,512,59,108,113,115,1598,1602,8381,8393,384,59,113,115,1598,1612,8388,108,97,110,244,1637,512,59,99,100,108,1637,8402,8405,8421,99,59,27305,111,116,256,59,111,8412,8413,27264,256,59,108,8418,8419,27266,59,27268,256,59,101,8426,8429,49152,8923,65024,115,59,27284,114,59,49152,55349,56612,256,59,103,1651,1563,109,101,108,59,24887,99,121,59,17491,512,59,69,97,106,1626,8460,8462,8464,59,27282,59,27301,59,27300,512,69,97,101,115,8475,8477,8489,8500,59,25193,112,256,59,112,8483,8484,27274,114,111,120,187,8484,256,59,113,8494,8495,27272,256,59,113,8494,8475,105,109,59,25319,112,102,59,49152,55349,56664,256,99,105,8515,8518,114,59,24842,109,384,59,101,108,1643,8526,8528,59,27278,59,27280,33536,62,59,99,100,108,113,114,1518,8544,8554,8558,8563,8569,256,99,105,8549,8551,59,27303,114,59,27258,111,116,59,25303,80,97,114,59,27029,117,101,115,116,59,27260,640,97,100,101,108,115,8580,8554,8592,1622,8603,496,8585,0,8590,112,114,111,248,8350,114,59,27e3,113,256,108,113,1599,8598,108,101,115,243,8328,105,237,1643,256,101,110,8611,8621,114,116,110,101,113,113,59,49152,8809,65024,197,8618,1280,65,97,98,99,101,102,107,111,115,121,8644,8647,8689,8693,8698,8728,8733,8751,8808,8829,114,242,928,512,105,108,109,114,8656,8660,8663,8667,114,115,240,5252,102,187,8228,105,108,244,1705,256,100,114,8672,8676,99,121,59,17482,384,59,99,119,2292,8683,8687,105,114,59,26952,59,25005,97,114,59,24847,105,114,99,59,16677,384,97,108,114,8705,8718,8723,114,116,115,256,59,117,8713,8714,26213,105,116,187,8714,108,105,112,59,24614,99,111,110,59,25273,114,59,49152,55349,56613,115,256,101,119,8739,8745,97,114,111,119,59,26917,97,114,111,119,59,26918,640,97,109,111,112,114,8762,8766,8771,8798,8803,114,114,59,25087,116,104,116,59,25147,107,256,108,114,8777,8787,101,102,116,97,114,114,111,119,59,25001,105,103,104,116,97,114,114,111,119,59,25002,102,59,49152,55349,56665,98,97,114,59,24597,384,99,108,116,8815,8820,8824,114,59,49152,55349,56509,97,115,232,8692,114,111,107,59,16679,256,98,112,8834,8839,117,108,108,59,24643,104,101,110,187,7259,2785,8867,0,8874,0,8888,8901,8910,0,8917,8947,0,0,8952,8994,9063,9058,9087,0,9094,9130,9140,99,117,116,101,32827,237,16621,384,59,105,121,1905,8880,8885,114,99,32827,238,16622,59,17464,256,99,120,8892,8895,121,59,17461,99,108,32827,161,16545,256,102,114,927,8905,59,49152,55349,56614,114,97,118,101,32827,236,16620,512,59,105,110,111,1854,8925,8937,8942,256,105,110,8930,8934,110,116,59,27148,116,59,25133,102,105,110,59,27100,116,97,59,24873,108,105,103,59,16691,384,97,111,112,8958,8986,8989,384,99,103,116,8965,8968,8983,114,59,16683,384,101,108,112,1823,8975,8979,105,110,229,1934,97,114,244,1824,104,59,16689,102,59,25271,101,100,59,16821,640,59,99,102,111,116,1268,9004,9009,9021,9025,97,114,101,59,24837,105,110,256,59,116,9016,9017,25118,105,101,59,27101,100,111,244,8985,640,59,99,101,108,112,1879,9036,9040,9051,9057,97,108,59,25274,256,103,114,9045,9049,101,114,243,5475,227,9037,97,114,104,107,59,27159,114,111,100,59,27196,512,99,103,112,116,9071,9074,9078,9083,121,59,17489,111,110,59,16687,102,59,49152,55349,56666,97,59,17337,117,101,115,116,32827,191,16575,256,99,105,9098,9103,114,59,49152,55349,56510,110,640,59,69,100,115,118,1268,9115,9117,9121,1267,59,25337,111,116,59,25333,256,59,118,9126,9127,25332,59,25331,256,59,105,1911,9134,108,100,101,59,16681,491,9144,0,9148,99,121,59,17494,108,32827,239,16623,768,99,102,109,111,115,117,9164,9175,9180,9185,9191,9205,256,105,121,9169,9173,114,99,59,16693,59,17465,114,59,49152,55349,56615,97,116,104,59,16951,112,102,59,49152,55349,56667,483,9196,0,9201,114,59,49152,55349,56511,114,99,121,59,17496,107,99,121,59,17492,1024,97,99,102,103,104,106,111,115,9227,9238,9250,9255,9261,9265,9269,9275,112,112,97,256,59,118,9235,9236,17338,59,17392,256,101,121,9243,9248,100,105,108,59,16695,59,17466,114,59,49152,55349,56616,114,101,101,110,59,16696,99,121,59,17477,99,121,59,17500,112,102,59,49152,55349,56668,99,114,59,49152,55349,56512,2944,65,66,69,72,97,98,99,100,101,102,103,104,106,108,109,110,111,112,114,115,116,117,118,9328,9345,9350,9357,9361,9486,9533,9562,9600,9806,9822,9829,9849,9853,9882,9906,9944,10077,10088,10123,10176,10241,10258,384,97,114,116,9335,9338,9340,114,242,2502,242,917,97,105,108,59,26907,97,114,114,59,26894,256,59,103,2452,9355,59,27275,97,114,59,26978,2403,9381,0,9386,0,9393,0,0,0,0,0,9397,9402,0,9414,9416,9421,0,9465,117,116,101,59,16698,109,112,116,121,118,59,27060,114,97,238,2124,98,100,97,59,17339,103,384,59,100,108,2190,9409,9411,59,27025,229,2190,59,27269,117,111,32827,171,16555,114,1024,59,98,102,104,108,112,115,116,2201,9438,9446,9449,9451,9454,9457,9461,256,59,102,2205,9443,115,59,26911,115,59,26909,235,8786,112,59,25003,108,59,26937,105,109,59,26995,108,59,24994,384,59,97,101,9471,9472,9476,27307,105,108,59,26905,256,59,115,9481,9482,27309,59,49152,10925,65024,384,97,98,114,9493,9497,9501,114,114,59,26892,114,107,59,26482,256,97,107,9506,9516,99,256,101,107,9512,9514,59,16507,59,16475,256,101,115,9521,9523,59,27019,108,256,100,117,9529,9531,59,27023,59,27021,512,97,101,117,121,9542,9547,9558,9560,114,111,110,59,16702,256,100,105,9552,9556,105,108,59,16700,236,2224,226,9513,59,17467,512,99,113,114,115,9571,9574,9581,9597,97,59,26934,117,111,256,59,114,3609,5958,256,100,117,9586,9591,104,97,114,59,26983,115,104,97,114,59,26955,104,59,25010,640,59,102,103,113,115,9611,9612,2441,9715,9727,25188,116,640,97,104,108,114,116,9624,9636,9655,9666,9704,114,114,111,119,256,59,116,2201,9633,97,233,9462,97,114,112,111,111,110,256,100,117,9647,9652,111,119,110,187,1114,112,187,2406,101,102,116,97,114,114,111,119,115,59,25031,105,103,104,116,384,97,104,115,9677,9686,9694,114,114,111,119,256,59,115,2292,2215,97,114,112,111,111,110,243,3992,113,117,105,103,97,114,114,111,247,8688,104,114,101,101,116,105,109,101,115,59,25291,384,59,113,115,9611,2451,9722,108,97,110,244,2476,640,59,99,100,103,115,2476,9738,9741,9757,9768,99,59,27304,111,116,256,59,111,9748,9749,27263,256,59,114,9754,9755,27265,59,27267,256,59,101,9762,9765,49152,8922,65024,115,59,27283,640,97,100,101,103,115,9779,9785,9789,9801,9803,112,112,114,111,248,9414,111,116,59,25302,113,256,103,113,9795,9797,244,2441,103,116,242,9356,244,2459,105,237,2482,384,105,108,114,9813,2273,9818,115,104,116,59,27004,59,49152,55349,56617,256,59,69,2460,9827,59,27281,353,9833,9846,114,256,100,117,9650,9838,256,59,108,2405,9843,59,26986,108,107,59,25988,99,121,59,17497,640,59,97,99,104,116,2632,9864,9867,9873,9878,114,242,9665,111,114,110,101,242,7432,97,114,100,59,26987,114,105,59,26106,256,105,111,9887,9892,100,111,116,59,16704,117,115,116,256,59,97,9900,9901,25520,99,104,101,187,9901,512,69,97,101,115,9915,9917,9929,9940,59,25192,112,256,59,112,9923,9924,27273,114,111,120,187,9924,256,59,113,9934,9935,27271,256,59,113,9934,9915,105,109,59,25318,1024,97,98,110,111,112,116,119,122,9961,9972,9975,10010,10031,10049,10055,10064,256,110,114,9966,9969,103,59,26604,114,59,25085,114,235,2241,103,384,108,109,114,9983,9997,10004,101,102,116,256,97,114,2534,9991,105,103,104,116,225,2546,97,112,115,116,111,59,26620,105,103,104,116,225,2557,112,97,114,114,111,119,256,108,114,10021,10025,101,102,244,9453,105,103,104,116,59,25004,384,97,102,108,10038,10041,10045,114,59,27013,59,49152,55349,56669,117,115,59,27181,105,109,101,115,59,27188,353,10059,10063,115,116,59,25111,225,4942,384,59,101,102,10071,10072,6144,26058,110,103,101,187,10072,97,114,256,59,108,10084,10085,16424,116,59,27027,640,97,99,104,109,116,10099,10102,10108,10117,10119,114,242,2216,111,114,110,101,242,7564,97,114,256,59,100,3992,10115,59,26989,59,24590,114,105,59,25279,768,97,99,104,105,113,116,10136,10141,2624,10146,10158,10171,113,117,111,59,24633,114,59,49152,55349,56513,109,384,59,101,103,2482,10154,10156,59,27277,59,27279,256,98,117,9514,10163,111,256,59,114,3615,10169,59,24602,114,111,107,59,16706,33792,60,59,99,100,104,105,108,113,114,2091,10194,9785,10204,10208,10213,10218,10224,256,99,105,10199,10201,59,27302,114,59,27257,114,101,229,9714,109,101,115,59,25289,97,114,114,59,26998,117,101,115,116,59,27259,256,80,105,10229,10233,97,114,59,27030,384,59,101,102,10240,2349,6171,26051,114,256,100,117,10247,10253,115,104,97,114,59,26954,104,97,114,59,26982,256,101,110,10263,10273,114,116,110,101,113,113,59,49152,8808,65024,197,10270,1792,68,97,99,100,101,102,104,105,108,110,111,112,115,117,10304,10309,10370,10382,10387,10400,10405,10408,10458,10466,10468,2691,10483,10498,68,111,116,59,25146,512,99,108,112,114,10318,10322,10339,10365,114,32827,175,16559,256,101,116,10327,10329,59,26178,256,59,101,10334,10335,26400,115,101,187,10335,256,59,115,4155,10344,116,111,512,59,100,108,117,4155,10355,10359,10363,111,119,238,1164,101,102,244,2319,240,5073,107,101,114,59,26030,256,111,121,10375,10380,109,109,97,59,27177,59,17468,97,115,104,59,24596,97,115,117,114,101,100,97,110,103,108,101,187,5670,114,59,49152,55349,56618,111,59,24871,384,99,100,110,10415,10420,10441,114,111,32827,181,16565,512,59,97,99,100,5220,10429,10432,10436,115,244,5799,105,114,59,27376,111,116,32955,183,437,117,115,384,59,98,100,10450,6403,10451,25106,256,59,117,7484,10456,59,27178,355,10462,10465,112,59,27355,242,8722,240,2689,256,100,112,10473,10478,101,108,115,59,25255,102,59,49152,55349,56670,256,99,116,10488,10493,114,59,49152,55349,56514,112,111,115,187,5533,384,59,108,109,10505,10506,10509,17340,116,105,109,97,112,59,25272,3072,71,76,82,86,97,98,99,100,101,102,103,104,105,106,108,109,111,112,114,115,116,117,118,119,10562,10579,10622,10633,10648,10714,10729,10773,10778,10840,10845,10883,10901,10916,10920,11012,11015,11076,11135,11182,11316,11367,11388,11497,256,103,116,10567,10571,59,49152,8921,824,256,59,118,10576,3023,49152,8811,8402,384,101,108,116,10586,10610,10614,102,116,256,97,114,10593,10599,114,114,111,119,59,25037,105,103,104,116,97,114,114,111,119,59,25038,59,49152,8920,824,256,59,118,10619,3143,49152,8810,8402,105,103,104,116,97,114,114,111,119,59,25039,256,68,100,10638,10643,97,115,104,59,25263,97,115,104,59,25262,640,98,99,110,112,116,10659,10663,10668,10673,10700,108,97,187,734,117,116,101,59,16708,103,59,49152,8736,8402,640,59,69,105,111,112,3460,10684,10688,10693,10696,59,49152,10864,824,100,59,49152,8779,824,115,59,16713,114,111,248,3460,117,114,256,59,97,10707,10708,26222,108,256,59,115,10707,2872,499,10719,0,10723,112,32955,160,2871,109,112,256,59,101,3065,3072,640,97,101,111,117,121,10740,10750,10755,10768,10771,496,10745,0,10747,59,27203,111,110,59,16712,100,105,108,59,16710,110,103,256,59,100,3454,10762,111,116,59,49152,10861,824,112,59,27202,59,17469,97,115,104,59,24595,896,59,65,97,100,113,115,120,2962,10793,10797,10811,10817,10821,10832,114,114,59,25047,114,256,104,114,10803,10806,107,59,26916,256,59,111,5106,5104,111,116,59,49152,8784,824,117,105,246,2915,256,101,105,10826,10830,97,114,59,26920,237,2968,105,115,116,256,59,115,2976,2975,114,59,49152,55349,56619,512,69,101,115,116,3013,10854,10873,10876,384,59,113,115,3004,10861,3041,384,59,113,115,3004,3013,10868,108,97,110,244,3042,105,237,3050,256,59,114,2998,10881,187,2999,384,65,97,112,10890,10893,10897,114,242,10609,114,114,59,25006,97,114,59,27378,384,59,115,118,3981,10908,3980,256,59,100,10913,10914,25340,59,25338,99,121,59,17498,896,65,69,97,100,101,115,116,10935,10938,10942,10946,10949,10998,11001,114,242,10598,59,49152,8806,824,114,114,59,24986,114,59,24613,512,59,102,113,115,3131,10958,10979,10991,116,256,97,114,10964,10969,114,114,111,247,10945,105,103,104,116,97,114,114,111,247,10896,384,59,113,115,3131,10938,10986,108,97,110,244,3157,256,59,115,3157,10996,187,3126,105,237,3165,256,59,114,3125,11006,105,256,59,101,3098,3109,105,228,3472,256,112,116,11020,11025,102,59,49152,55349,56671,33152,172,59,105,110,11033,11034,11062,16556,110,512,59,69,100,118,2953,11044,11048,11054,59,49152,8953,824,111,116,59,49152,8949,824,481,2953,11059,11061,59,25335,59,25334,105,256,59,118,3256,11068,481,3256,11073,11075,59,25342,59,25341,384,97,111,114,11083,11107,11113,114,512,59,97,115,116,2939,11093,11098,11103,108,108,101,236,2939,108,59,49152,11005,8421,59,49152,8706,824,108,105,110,116,59,27156,384,59,99,101,3218,11120,11123,117,229,3237,256,59,99,3224,11128,256,59,101,3218,11133,241,3224,512,65,97,105,116,11144,11147,11165,11175,114,242,10632,114,114,384,59,99,119,11156,11157,11161,24987,59,49152,10547,824,59,49152,8605,824,103,104,116,97,114,114,111,119,187,11157,114,105,256,59,101,3275,3286,896,99,104,105,109,112,113,117,11197,11213,11225,11012,2936,11236,11247,512,59,99,101,114,3378,11206,3383,11209,117,229,3397,59,49152,55349,56515,111,114,116,621,11013,0,0,11222,97,114,225,11094,109,256,59,101,3438,11231,256,59,113,3444,3443,115,117,256,98,112,11243,11245,229,3320,229,3339,384,98,99,112,11254,11281,11289,512,59,69,101,115,11263,11264,3362,11268,25220,59,49152,10949,824,101,116,256,59,101,3355,11275,113,256,59,113,3363,11264,99,256,59,101,3378,11287,241,3384,512,59,69,101,115,11298,11299,3423,11303,25221,59,49152,10950,824,101,116,256,59,101,3416,11310,113,256,59,113,3424,11299,512,103,105,108,114,11325,11327,11333,11335,236,3031,108,100,101,32827,241,16625,231,3139,105,97,110,103,108,101,256,108,114,11346,11356,101,102,116,256,59,101,3098,11354,241,3110,105,103,104,116,256,59,101,3275,11365,241,3287,256,59,109,11372,11373,17341,384,59,101,115,11380,11381,11385,16419,114,111,59,24854,112,59,24583,1152,68,72,97,100,103,105,108,114,115,11407,11412,11417,11422,11427,11440,11446,11475,11491,97,115,104,59,25261,97,114,114,59,26884,112,59,49152,8781,8402,97,115,104,59,25260,256,101,116,11432,11436,59,49152,8805,8402,59,49152,62,8402,110,102,105,110,59,27102,384,65,101,116,11453,11457,11461,114,114,59,26882,59,49152,8804,8402,256,59,114,11466,11469,49152,60,8402,105,101,59,49152,8884,8402,256,65,116,11480,11484,114,114,59,26883,114,105,101,59,49152,8885,8402,105,109,59,49152,8764,8402,384,65,97,110,11504,11508,11522,114,114,59,25046,114,256,104,114,11514,11517,107,59,26915,256,59,111,5095,5093,101,97,114,59,26919,4691,6805,0,0,0,0,0,0,0,0,0,0,0,0,0,11565,0,11576,11592,11616,11621,11634,11652,6919,0,0,11661,11691,0,11720,11726,0,11740,11801,11819,11838,11843,256,99,115,11569,6807,117,116,101,32827,243,16627,256,105,121,11580,11589,114,256,59,99,6814,11586,32827,244,16628,59,17470,640,97,98,105,111,115,6816,11602,11607,456,11610,108,97,99,59,16721,118,59,27192,111,108,100,59,27068,108,105,103,59,16723,256,99,114,11625,11629,105,114,59,27071,59,49152,55349,56620,879,11641,0,0,11644,0,11650,110,59,17115,97,118,101,32827,242,16626,59,27073,256,98,109,11656,3572,97,114,59,27061,512,97,99,105,116,11669,11672,11685,11688,114,242,6784,256,105,114,11677,11680,114,59,27070,111,115,115,59,27067,110,229,3666,59,27072,384,97,101,105,11697,11701,11705,99,114,59,16717,103,97,59,17353,384,99,100,110,11712,11717,461,114,111,110,59,17343,59,27062,112,102,59,49152,55349,56672,384,97,101,108,11732,11735,466,114,59,27063,114,112,59,27065,896,59,97,100,105,111,115,118,11754,11755,11758,11784,11789,11792,11798,25128,114,242,6790,512,59,101,102,109,11767,11768,11778,11781,27229,114,256,59,111,11774,11775,24884,102,187,11775,32827,170,16554,32827,186,16570,103,111,102,59,25270,114,59,27222,108,111,112,101,59,27223,59,27227,384,99,108,111,11807,11809,11815,242,11777,97,115,104,32827,248,16632,108,59,25240,105,364,11823,11828,100,101,32827,245,16629,101,115,256,59,97,475,11834,115,59,27190,109,108,32827,246,16630,98,97,114,59,25405,2785,11870,0,11901,0,11904,11933,0,11938,11961,0,0,11979,3740,0,12051,0,0,12075,12220,0,12232,114,512,59,97,115,116,1027,11879,11890,3717,33024,182,59,108,11885,11886,16566,108,101,236,1027,617,11896,0,0,11899,109,59,27379,59,27389,121,59,17471,114,640,99,105,109,112,116,11915,11919,11923,6245,11927,110,116,59,16421,111,100,59,16430,105,108,59,24624,101,110,107,59,24625,114,59,49152,55349,56621,384,105,109,111,11944,11952,11956,256,59,118,11949,11950,17350,59,17365,109,97,244,2678,110,101,59,26126,384,59,116,118,11967,11968,11976,17344,99,104,102,111,114,107,187,8189,59,17366,256,97,117,11983,11999,110,256,99,107,11989,11997,107,256,59,104,8692,11995,59,24846,246,8692,115,1152,59,97,98,99,100,101,109,115,116,12019,12020,6408,12025,12029,12036,12038,12042,12046,16427,99,105,114,59,27171,105,114,59,27170,256,111,117,7488,12034,59,27173,59,27250,110,32955,177,3741,105,109,59,27174,119,111,59,27175,384,105,112,117,12057,12064,12069,110,116,105,110,116,59,27157,102,59,49152,55349,56673,110,100,32827,163,16547,1280,59,69,97,99,101,105,110,111,115,117,3784,12095,12097,12100,12103,12161,12169,12178,12158,12214,59,27315,112,59,27319,117,229,3801,256,59,99,3790,12108,768,59,97,99,101,110,115,3784,12121,12127,12134,12136,12158,112,112,114,111,248,12099,117,114,108,121,101,241,3801,241,3790,384,97,101,115,12143,12150,12154,112,112,114,111,120,59,27321,113,113,59,27317,105,109,59,25320,105,237,3807,109,101,256,59,115,12168,3758,24626,384,69,97,115,12152,12176,12154,240,12149,384,100,102,112,3820,12185,12207,384,97,108,115,12192,12197,12202,108,97,114,59,25390,105,110,101,59,25362,117,114,102,59,25363,256,59,116,3835,12212,239,3835,114,101,108,59,25264,256,99,105,12224,12229,114,59,49152,55349,56517,59,17352,110,99,115,112,59,24584,768,102,105,111,112,115,117,12250,8930,12255,12261,12267,12273,114,59,49152,55349,56622,112,102,59,49152,55349,56674,114,105,109,101,59,24663,99,114,59,49152,55349,56518,384,97,101,111,12280,12297,12307,116,256,101,105,12286,12293,114,110,105,111,110,243,1712,110,116,59,27158,115,116,256,59,101,12304,12305,16447,241,7961,244,3860,2688,65,66,72,97,98,99,100,101,102,104,105,108,109,110,111,112,114,115,116,117,120,12352,12369,12373,12377,12512,12558,12587,12615,12642,12658,12686,12806,12821,12836,12841,12888,12910,12914,12944,12976,12983,384,97,114,116,12359,12362,12364,114,242,4275,242,989,97,105,108,59,26908,97,114,242,7269,97,114,59,26980,896,99,100,101,110,113,114,116,12392,12405,12408,12415,12431,12436,12492,256,101,117,12397,12401,59,49152,8765,817,116,101,59,16725,105,227,4462,109,112,116,121,118,59,27059,103,512,59,100,101,108,4049,12425,12427,12429,59,27026,59,27045,229,4049,117,111,32827,187,16571,114,1408,59,97,98,99,102,104,108,112,115,116,119,4060,12460,12463,12471,12473,12476,12478,12480,12483,12487,12490,112,59,26997,256,59,102,4064,12468,115,59,26912,59,26931,115,59,26910,235,8797,240,10030,108,59,26949,105,109,59,26996,108,59,24995,59,24989,256,97,105,12497,12501,105,108,59,26906,111,256,59,110,12507,12508,25142,97,108,243,3870,384,97,98,114,12519,12522,12526,114,242,6117,114,107,59,26483,256,97,107,12531,12541,99,256,101,107,12537,12539,59,16509,59,16477,256,101,115,12546,12548,59,27020,108,256,100,117,12554,12556,59,27022,59,27024,512,97,101,117,121,12567,12572,12583,12585,114,111,110,59,16729,256,100,105,12577,12581,105,108,59,16727,236,4082,226,12538,59,17472,512,99,108,113,115,12596,12599,12605,12612,97,59,26935,100,104,97,114,59,26985,117,111,256,59,114,526,525,104,59,25011,384,97,99,103,12622,12639,3908,108,512,59,105,112,115,3960,12632,12635,4252,110,229,4283,97,114,244,4009,116,59,26029,384,105,108,114,12649,4131,12654,115,104,116,59,27005,59,49152,55349,56623,256,97,111,12663,12678,114,256,100,117,12669,12671,187,1147,256,59,108,4241,12676,59,26988,256,59,118,12683,12684,17345,59,17393,384,103,110,115,12693,12793,12796,104,116,768,97,104,108,114,115,116,12708,12720,12738,12760,12772,12782,114,114,111,119,256,59,116,4060,12717,97,233,12488,97,114,112,111,111,110,256,100,117,12731,12735,111,119,238,12670,112,187,4242,101,102,116,256,97,104,12746,12752,114,114,111,119,243,4074,97,114,112,111,111,110,243,1361,105,103,104,116,97,114,114,111,119,115,59,25033,113,117,105,103,97,114,114,111,247,12491,104,114,101,101,116,105,109,101,115,59,25292,103,59,17114,105,110,103,100,111,116,115,101,241,7986,384,97,104,109,12813,12816,12819,114,242,4074,97,242,1361,59,24591,111,117,115,116,256,59,97,12830,12831,25521,99,104,101,187,12831,109,105,100,59,27374,512,97,98,112,116,12850,12861,12864,12882,256,110,114,12855,12858,103,59,26605,114,59,25086,114,235,4099,384,97,102,108,12871,12874,12878,114,59,27014,59,49152,55349,56675,117,115,59,27182,105,109,101,115,59,27189,256,97,112,12893,12903,114,256,59,103,12899,12900,16425,116,59,27028,111,108,105,110,116,59,27154,97,114,242,12771,512,97,99,104,113,12923,12928,4284,12933,113,117,111,59,24634,114,59,49152,55349,56519,256,98,117,12539,12938,111,256,59,114,532,531,384,104,105,114,12951,12955,12960,114,101,229,12792,109,101,115,59,25290,105,512,59,101,102,108,12970,4185,6177,12971,26041,116,114,105,59,27086,108,117,104,97,114,59,26984,59,24862,3425,13013,13019,13023,13100,13112,13169,0,13178,13220,0,0,13292,13296,0,13352,13384,13402,13485,13489,13514,13553,0,13846,0,0,13875,99,117,116,101,59,16731,113,117,239,10170,1280,59,69,97,99,101,105,110,112,115,121,4589,13043,13045,13055,13058,13067,13071,13087,13094,13097,59,27316,496,13050,0,13052,59,27320,111,110,59,16737,117,229,4606,256,59,100,4595,13063,105,108,59,16735,114,99,59,16733,384,69,97,115,13078,13080,13083,59,27318,112,59,27322,105,109,59,25321,111,108,105,110,116,59,27155,105,237,4612,59,17473,111,116,384,59,98,101,13108,7495,13109,25285,59,27238,896,65,97,99,109,115,116,120,13126,13130,13143,13147,13150,13155,13165,114,114,59,25048,114,256,104,114,13136,13138,235,8744,256,59,111,2614,2612,116,32827,167,16551,105,59,16443,119,97,114,59,26921,109,256,105,110,13161,240,110,117,243,241,116,59,26422,114,256,59,111,13174,8277,49152,55349,56624,512,97,99,111,121,13186,13190,13201,13216,114,112,59,26223,256,104,121,13195,13199,99,121,59,17481,59,17480,114,116,621,13209,0,0,13212,105,228,5220,97,114,97,236,11887,32827,173,16557,256,103,109,13224,13236,109,97,384,59,102,118,13233,13234,13234,17347,59,17346,1024,59,100,101,103,108,110,112,114,4779,13253,13257,13262,13270,13278,13281,13286,111,116,59,27242,256,59,113,4785,4784,256,59,69,13267,13268,27294,59,27296,256,59,69,13275,13276,27293,59,27295,101,59,25158,108,117,115,59,27172,97,114,114,59,26994,97,114,242,4413,512,97,101,105,116,13304,13320,13327,13335,256,108,115,13309,13316,108,115,101,116,109,233,13162,104,112,59,27187,112,97,114,115,108,59,27108,256,100,108,5219,13332,101,59,25379,256,59,101,13340,13341,27306,256,59,115,13346,13347,27308,59,49152,10924,65024,384,102,108,112,13358,13363,13378,116,99,121,59,17484,256,59,98,13368,13369,16431,256,59,97,13374,13375,27076,114,59,25407,102,59,49152,55349,56676,97,256,100,114,13389,1026,101,115,256,59,117,13396,13397,26208,105,116,187,13397,384,99,115,117,13408,13433,13471,256,97,117,13413,13423,112,256,59,115,4488,13419,59,49152,8851,65024,112,256,59,115,4532,13429,59,49152,8852,65024,117,256,98,112,13439,13455,384,59,101,115,4503,4508,13446,101,116,256,59,101,4503,13453,241,4509,384,59,101,115,4520,4525,13462,101,116,256,59,101,4520,13469,241,4526,384,59,97,102,4475,13478,1456,114,357,13483,1457,187,4476,97,114,242,4424,512,99,101,109,116,13497,13502,13506,13509,114,59,49152,55349,56520,116,109,238,241,105,236,13333,97,114,230,4542,256,97,114,13518,13525,114,256,59,102,13524,6079,26118,256,97,110,13530,13549,105,103,104,116,256,101,112,13539,13546,112,115,105,108,111,238,7904,104,233,11951,115,187,10322,640,98,99,109,110,112,13563,13662,4617,13707,13710,1152,59,69,100,101,109,110,112,114,115,13582,13583,13585,13589,13598,13603,13612,13617,13622,25218,59,27333,111,116,59,27325,256,59,100,4570,13594,111,116,59,27331,117,108,116,59,27329,256,69,101,13608,13610,59,27339,59,25226,108,117,115,59,27327,97,114,114,59,27001,384,101,105,117,13629,13650,13653,116,384,59,101,110,13582,13637,13643,113,256,59,113,4570,13583,101,113,256,59,113,13611,13608,109,59,27335,256,98,112,13658,13660,59,27349,59,27347,99,768,59,97,99,101,110,115,4589,13676,13682,13689,13691,13094,112,112,114,111,248,13050,117,114,108,121,101,241,4606,241,4595,384,97,101,115,13698,13704,13083,112,112,114,111,248,13082,113,241,13079,103,59,26218,1664,49,50,51,59,69,100,101,104,108,109,110,112,115,13737,13740,13743,4636,13746,13748,13760,13769,13781,13786,13791,13800,13805,32827,185,16569,32827,178,16562,32827,179,16563,59,27334,256,111,115,13753,13756,116,59,27326,117,98,59,27352,256,59,100,4642,13765,111,116,59,27332,115,256,111,117,13775,13778,108,59,26569,98,59,27351,97,114,114,59,27003,117,108,116,59,27330,256,69,101,13796,13798,59,27340,59,25227,108,117,115,59,27328,384,101,105,117,13812,13833,13836,116,384,59,101,110,4636,13820,13826,113,256,59,113,4642,13746,101,113,256,59,113,13799,13796,109,59,27336,256,98,112,13841,13843,59,27348,59,27350,384,65,97,110,13852,13856,13869,114,114,59,25049,114,256,104,114,13862,13864,235,8750,256,59,111,2603,2601,119,97,114,59,26922,108,105,103,32827,223,16607,3041,13905,13917,13920,4814,13939,13945,0,13950,14018,0,0,0,0,0,14043,14083,0,14089,14188,0,0,0,14215,626,13910,0,0,13915,103,101,116,59,25366,59,17348,114,235,3679,384,97,101,121,13926,13931,13936,114,111,110,59,16741,100,105,108,59,16739,59,17474,108,114,101,99,59,25365,114,59,49152,55349,56625,512,101,105,107,111,13958,13981,14005,14012,498,13963,0,13969,101,256,52,102,4740,4737,97,384,59,115,118,13976,13977,13979,17336,121,109,59,17361,256,99,110,13986,14002,107,256,97,115,13992,13998,112,112,114,111,248,4801,105,109,187,4780,115,240,4766,256,97,115,14010,13998,240,4801,114,110,32827,254,16638,492,799,14022,8935,101,115,33152,215,59,98,100,14031,14032,14040,16599,256,59,97,6415,14037,114,59,27185,59,27184,384,101,112,115,14049,14051,14080,225,10829,512,59,98,99,102,1158,14060,14064,14068,111,116,59,25398,105,114,59,27377,256,59,111,14073,14076,49152,55349,56677,114,107,59,27354,225,13154,114,105,109,101,59,24628,384,97,105,112,14095,14098,14180,100,229,4680,896,97,100,101,109,112,115,116,14113,14157,14144,14161,14167,14172,14175,110,103,108,101,640,59,100,108,113,114,14128,14129,14134,14144,14146,26037,111,119,110,187,7611,101,102,116,256,59,101,10240,14142,241,2350,59,25180,105,103,104,116,256,59,101,12970,14155,241,4186,111,116,59,26092,105,110,117,115,59,27194,108,117,115,59,27193,98,59,27085,105,109,101,59,27195,101,122,105,117,109,59,25570,384,99,104,116,14194,14205,14209,256,114,121,14199,14203,59,49152,55349,56521,59,17478,99,121,59,17499,114,111,107,59,16743,256,105,111,14219,14222,120,244,6007,104,101,97,100,256,108,114,14231,14240,101,102,116,97,114,114,111,247,2127,105,103,104,116,97,114,114,111,119,187,3933,2304,65,72,97,98,99,100,102,103,104,108,109,111,112,114,115,116,117,119,14288,14291,14295,14308,14320,14332,14350,14364,14371,14388,14417,14429,14443,14505,14540,14546,14570,14582,114,242,1005,97,114,59,26979,256,99,114,14300,14306,117,116,101,32827,250,16634,242,4432,114,483,14314,0,14317,121,59,17502,118,101,59,16749,256,105,121,14325,14330,114,99,32827,251,16635,59,17475,384,97,98,104,14339,14342,14347,114,242,5037,108,97,99,59,16753,97,242,5059,256,105,114,14355,14360,115,104,116,59,27006,59,49152,55349,56626,114,97,118,101,32827,249,16633,353,14375,14385,114,256,108,114,14380,14382,187,2391,187,4227,108,107,59,25984,256,99,116,14393,14413,623,14399,0,0,14410,114,110,256,59,101,14405,14406,25372,114,187,14406,111,112,59,25359,114,105,59,26104,256,97,108,14422,14426,99,114,59,16747,32955,168,841,256,103,112,14434,14438,111,110,59,16755,102,59,49152,55349,56678,768,97,100,104,108,115,117,4427,14456,14461,4978,14481,14496,111,119,110,225,5043,97,114,112,111,111,110,256,108,114,14472,14476,101,102,244,14381,105,103,104,244,14383,105,384,59,104,108,14489,14490,14492,17349,187,5114,111,110,187,14490,112,97,114,114,111,119,115,59,25032,384,99,105,116,14512,14532,14536,623,14518,0,0,14529,114,110,256,59,101,14524,14525,25373,114,187,14525,111,112,59,25358,110,103,59,16751,114,105,59,26105,99,114,59,49152,55349,56522,384,100,105,114,14553,14557,14562,111,116,59,25328,108,100,101,59,16745,105,256,59,102,14128,14568,187,6163,256,97,109,14575,14578,114,242,14504,108,32827,252,16636,97,110,103,108,101,59,27047,1920,65,66,68,97,99,100,101,102,108,110,111,112,114,115,122,14620,14623,14633,14637,14773,14776,14781,14815,14820,14824,14835,14841,14845,14849,14880,114,242,1015,97,114,256,59,118,14630,14631,27368,59,27369,97,115,232,993,256,110,114,14642,14647,103,114,116,59,27036,896,101,107,110,112,114,115,116,13539,14662,14667,14674,14685,14692,14742,97,112,112,225,9237,111,116,104,105,110,231,7830,384,104,105,114,13547,11976,14681,111,112,244,12213,256,59,104,5047,14690,239,12685,256,105,117,14697,14701,103,109,225,13235,256,98,112,14706,14724,115,101,116,110,101,113,256,59,113,14717,14720,49152,8842,65024,59,49152,10955,65024,115,101,116,110,101,113,256,59,113,14735,14738,49152,8843,65024,59,49152,10956,65024,256,104,114,14747,14751,101,116,225,13980,105,97,110,103,108,101,256,108,114,14762,14767,101,102,116,187,2341,105,103,104,116,187,4177,121,59,17458,97,115,104,187,4150,384,101,108,114,14788,14802,14807,384,59,98,101,11754,14795,14799,97,114,59,25275,113,59,25178,108,105,112,59,25326,256,98,116,14812,5224,97,242,5225,114,59,49152,55349,56627,116,114,233,14766,115,117,256,98,112,14831,14833,187,3356,187,3417,112,102,59,49152,55349,56679,114,111,240,3835,116,114,233,14772,256,99,117,14854,14859,114,59,49152,55349,56523,256,98,112,14864,14872,110,256,69,101,14720,14870,187,14718,110,256,69,101,14738,14878,187,14736,105,103,122,97,103,59,27034,896,99,101,102,111,112,114,115,14902,14907,14934,14939,14932,14945,14954,105,114,99,59,16757,256,100,105,14912,14929,256,98,103,14917,14921,97,114,59,27231,101,256,59,113,5626,14927,59,25177,101,114,112,59,24856,114,59,49152,55349,56628,112,102,59,49152,55349,56680,256,59,101,5241,14950,97,116,232,5241,99,114,59,49152,55349,56524,2787,6030,14983,0,14987,0,14992,15003,0,0,15005,15016,15019,15023,0,0,15043,15054,0,15064,6108,6111,116,114,233,6097,114,59,49152,55349,56629,256,65,97,14996,14999,114,242,963,114,242,2550,59,17342,256,65,97,15009,15012,114,242,952,114,242,2539,97,240,10003,105,115,59,25339,384,100,112,116,6052,15029,15038,256,102,108,15034,6057,59,49152,55349,56681,105,109,229,6066,256,65,97,15047,15050,114,242,974,114,242,2561,256,99,113,15058,6072,114,59,49152,55349,56525,256,112,116,6102,15068,114,233,6100,1024,97,99,101,102,105,111,115,117,15088,15101,15112,15116,15121,15125,15131,15137,99,256,117,121,15094,15099,116,101,32827,253,16637,59,17487,256,105,121,15106,15110,114,99,59,16759,59,17483,110,32827,165,16549,114,59,49152,55349,56630,99,121,59,17495,112,102,59,49152,55349,56682,99,114,59,49152,55349,56526,256,99,109,15142,15145,121,59,17486,108,32827,255,16639,1280,97,99,100,101,102,104,105,111,115,119,15170,15176,15188,15192,15204,15209,15213,15220,15226,15232,99,117,116,101,59,16762,256,97,121,15181,15186,114,111,110,59,16766,59,17463,111,116,59,16764,256,101,116,15197,15201,116,114,230,5471,97,59,17334,114,59,49152,55349,56631,99,121,59,17462,103,114,97,114,114,59,25053,112,102,59,49152,55349,56683,99,114,59,49152,55349,56527,256,106,110,15237,15239,59,24589,106,59,24588])},2491:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array([512,97,103,108,113,9,21,24,27,621,15,0,0,18,112,59,16422,111,115,59,16423,116,59,16446,116,59,16444,117,111,116,59,16418])},2208:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Map([[9," "],[10," "],[33,"!"],[34,"""],[35,"#"],[36,"$"],[37,"%"],[38,"&"],[39,"'"],[40,"("],[41,")"],[42,"*"],[43,"+"],[44,","],[46,"."],[47,"/"],[58,":"],[59,";"],[60,{v:"<",n:8402,o:"<⃒"}],[61,{v:"=",n:8421,o:"=⃥"}],[62,{v:">",n:8402,o:">⃒"}],[63,"?"],[64,"@"],[91,"["],[92,"\"],[93,"]"],[94,"^"],[95,"_"],[96,"`"],[102,{n:106,o:"fj"}],[123,"{"],[124,"|"],[125,"}"],[160," "],[161,"¡"],[162,"¢"],[163,"£"],[164,"¤"],[165,"¥"],[166,"¦"],[167,"§"],[168,"¨"],[169,"©"],[170,"ª"],[171,"«"],[172,"¬"],[173,"­"],[174,"®"],[175,"¯"],[176,"°"],[177,"±"],[178,"²"],[179,"³"],[180,"´"],[181,"µ"],[182,"¶"],[183,"·"],[184,"¸"],[185,"¹"],[186,"º"],[187,"»"],[188,"¼"],[189,"½"],[190,"¾"],[191,"¿"],[192,"À"],[193,"Á"],[194,"Â"],[195,"Ã"],[196,"Ä"],[197,"Å"],[198,"Æ"],[199,"Ç"],[200,"È"],[201,"É"],[202,"Ê"],[203,"Ë"],[204,"Ì"],[205,"Í"],[206,"Î"],[207,"Ï"],[208,"Ð"],[209,"Ñ"],[210,"Ò"],[211,"Ó"],[212,"Ô"],[213,"Õ"],[214,"Ö"],[215,"×"],[216,"Ø"],[217,"Ù"],[218,"Ú"],[219,"Û"],[220,"Ü"],[221,"Ý"],[222,"Þ"],[223,"ß"],[224,"à"],[225,"á"],[226,"â"],[227,"ã"],[228,"ä"],[229,"å"],[230,"æ"],[231,"ç"],[232,"è"],[233,"é"],[234,"ê"],[235,"ë"],[236,"ì"],[237,"í"],[238,"î"],[239,"ï"],[240,"ð"],[241,"ñ"],[242,"ò"],[243,"ó"],[244,"ô"],[245,"õ"],[246,"ö"],[247,"÷"],[248,"ø"],[249,"ù"],[250,"ú"],[251,"û"],[252,"ü"],[253,"ý"],[254,"þ"],[255,"ÿ"],[256,"Ā"],[257,"ā"],[258,"Ă"],[259,"ă"],[260,"Ą"],[261,"ą"],[262,"Ć"],[263,"ć"],[264,"Ĉ"],[265,"ĉ"],[266,"Ċ"],[267,"ċ"],[268,"Č"],[269,"č"],[270,"Ď"],[271,"ď"],[272,"Đ"],[273,"đ"],[274,"Ē"],[275,"ē"],[278,"Ė"],[279,"ė"],[280,"Ę"],[281,"ę"],[282,"Ě"],[283,"ě"],[284,"Ĝ"],[285,"ĝ"],[286,"Ğ"],[287,"ğ"],[288,"Ġ"],[289,"ġ"],[290,"Ģ"],[292,"Ĥ"],[293,"ĥ"],[294,"Ħ"],[295,"ħ"],[296,"Ĩ"],[297,"ĩ"],[298,"Ī"],[299,"ī"],[302,"Į"],[303,"į"],[304,"İ"],[305,"ı"],[306,"IJ"],[307,"ij"],[308,"Ĵ"],[309,"ĵ"],[310,"Ķ"],[311,"ķ"],[312,"ĸ"],[313,"Ĺ"],[314,"ĺ"],[315,"Ļ"],[316,"ļ"],[317,"Ľ"],[318,"ľ"],[319,"Ŀ"],[320,"ŀ"],[321,"Ł"],[322,"ł"],[323,"Ń"],[324,"ń"],[325,"Ņ"],[326,"ņ"],[327,"Ň"],[328,"ň"],[329,"ʼn"],[330,"Ŋ"],[331,"ŋ"],[332,"Ō"],[333,"ō"],[336,"Ő"],[337,"ő"],[338,"Œ"],[339,"œ"],[340,"Ŕ"],[341,"ŕ"],[342,"Ŗ"],[343,"ŗ"],[344,"Ř"],[345,"ř"],[346,"Ś"],[347,"ś"],[348,"Ŝ"],[349,"ŝ"],[350,"Ş"],[351,"ş"],[352,"Š"],[353,"š"],[354,"Ţ"],[355,"ţ"],[356,"Ť"],[357,"ť"],[358,"Ŧ"],[359,"ŧ"],[360,"Ũ"],[361,"ũ"],[362,"Ū"],[363,"ū"],[364,"Ŭ"],[365,"ŭ"],[366,"Ů"],[367,"ů"],[368,"Ű"],[369,"ű"],[370,"Ų"],[371,"ų"],[372,"Ŵ"],[373,"ŵ"],[374,"Ŷ"],[375,"ŷ"],[376,"Ÿ"],[377,"Ź"],[378,"ź"],[379,"Ż"],[380,"ż"],[381,"Ž"],[382,"ž"],[402,"ƒ"],[437,"Ƶ"],[501,"ǵ"],[567,"ȷ"],[710,"ˆ"],[711,"ˇ"],[728,"˘"],[729,"˙"],[730,"˚"],[731,"˛"],[732,"˜"],[733,"˝"],[785,"̑"],[913,"Α"],[914,"Β"],[915,"Γ"],[916,"Δ"],[917,"Ε"],[918,"Ζ"],[919,"Η"],[920,"Θ"],[921,"Ι"],[922,"Κ"],[923,"Λ"],[924,"Μ"],[925,"Ν"],[926,"Ξ"],[927,"Ο"],[928,"Π"],[929,"Ρ"],[931,"Σ"],[932,"Τ"],[933,"Υ"],[934,"Φ"],[935,"Χ"],[936,"Ψ"],[937,"Ω"],[945,"α"],[946,"β"],[947,"γ"],[948,"δ"],[949,"ε"],[950,"ζ"],[951,"η"],[952,"θ"],[953,"ι"],[954,"κ"],[955,"λ"],[956,"μ"],[957,"ν"],[958,"ξ"],[959,"ο"],[960,"π"],[961,"ρ"],[962,"ς"],[963,"σ"],[964,"τ"],[965,"υ"],[966,"φ"],[967,"χ"],[968,"ψ"],[969,"ω"],[977,"ϑ"],[978,"ϒ"],[981,"ϕ"],[982,"ϖ"],[988,"Ϝ"],[989,"ϝ"],[1008,"ϰ"],[1009,"ϱ"],[1013,"ϵ"],[1014,"϶"],[1025,"Ё"],[1026,"Ђ"],[1027,"Ѓ"],[1028,"Є"],[1029,"Ѕ"],[1030,"І"],[1031,"Ї"],[1032,"Ј"],[1033,"Љ"],[1034,"Њ"],[1035,"Ћ"],[1036,"Ќ"],[1038,"Ў"],[1039,"Џ"],[1040,"А"],[1041,"Б"],[1042,"В"],[1043,"Г"],[1044,"Д"],[1045,"Е"],[1046,"Ж"],[1047,"З"],[1048,"И"],[1049,"Й"],[1050,"К"],[1051,"Л"],[1052,"М"],[1053,"Н"],[1054,"О"],[1055,"П"],[1056,"Р"],[1057,"С"],[1058,"Т"],[1059,"У"],[1060,"Ф"],[1061,"Х"],[1062,"Ц"],[1063,"Ч"],[1064,"Ш"],[1065,"Щ"],[1066,"Ъ"],[1067,"Ы"],[1068,"Ь"],[1069,"Э"],[1070,"Ю"],[1071,"Я"],[1072,"а"],[1073,"б"],[1074,"в"],[1075,"г"],[1076,"д"],[1077,"е"],[1078,"ж"],[1079,"з"],[1080,"и"],[1081,"й"],[1082,"к"],[1083,"л"],[1084,"м"],[1085,"н"],[1086,"о"],[1087,"п"],[1088,"р"],[1089,"с"],[1090,"т"],[1091,"у"],[1092,"ф"],[1093,"х"],[1094,"ц"],[1095,"ч"],[1096,"ш"],[1097,"щ"],[1098,"ъ"],[1099,"ы"],[1100,"ь"],[1101,"э"],[1102,"ю"],[1103,"я"],[1105,"ё"],[1106,"ђ"],[1107,"ѓ"],[1108,"є"],[1109,"ѕ"],[1110,"і"],[1111,"ї"],[1112,"ј"],[1113,"љ"],[1114,"њ"],[1115,"ћ"],[1116,"ќ"],[1118,"ў"],[1119,"џ"],[8194," "],[8195," "],[8196," "],[8197," "],[8199," "],[8200," "],[8201," "],[8202," "],[8203,"​"],[8204,"‌"],[8205,"‍"],[8206,"‎"],[8207,"‏"],[8208,"‐"],[8211,"–"],[8212,"—"],[8213,"―"],[8214,"‖"],[8216,"‘"],[8217,"’"],[8218,"‚"],[8220,"“"],[8221,"”"],[8222,"„"],[8224,"†"],[8225,"‡"],[8226,"•"],[8229,"‥"],[8230,"…"],[8240,"‰"],[8241,"‱"],[8242,"′"],[8243,"″"],[8244,"‴"],[8245,"‵"],[8249,"‹"],[8250,"›"],[8254,"‾"],[8257,"⁁"],[8259,"⁃"],[8260,"⁄"],[8271,"⁏"],[8279,"⁗"],[8287,{v:" ",n:8202,o:"  "}],[8288,"⁠"],[8289,"⁡"],[8290,"⁢"],[8291,"⁣"],[8364,"€"],[8411,"⃛"],[8412,"⃜"],[8450,"ℂ"],[8453,"℅"],[8458,"ℊ"],[8459,"ℋ"],[8460,"ℌ"],[8461,"ℍ"],[8462,"ℎ"],[8463,"ℏ"],[8464,"ℐ"],[8465,"ℑ"],[8466,"ℒ"],[8467,"ℓ"],[8469,"ℕ"],[8470,"№"],[8471,"℗"],[8472,"℘"],[8473,"ℙ"],[8474,"ℚ"],[8475,"ℛ"],[8476,"ℜ"],[8477,"ℝ"],[8478,"℞"],[8482,"™"],[8484,"ℤ"],[8487,"℧"],[8488,"ℨ"],[8489,"℩"],[8492,"ℬ"],[8493,"ℭ"],[8495,"ℯ"],[8496,"ℰ"],[8497,"ℱ"],[8499,"ℳ"],[8500,"ℴ"],[8501,"ℵ"],[8502,"ℶ"],[8503,"ℷ"],[8504,"ℸ"],[8517,"ⅅ"],[8518,"ⅆ"],[8519,"ⅇ"],[8520,"ⅈ"],[8531,"⅓"],[8532,"⅔"],[8533,"⅕"],[8534,"⅖"],[8535,"⅗"],[8536,"⅘"],[8537,"⅙"],[8538,"⅚"],[8539,"⅛"],[8540,"⅜"],[8541,"⅝"],[8542,"⅞"],[8592,"←"],[8593,"↑"],[8594,"→"],[8595,"↓"],[8596,"↔"],[8597,"↕"],[8598,"↖"],[8599,"↗"],[8600,"↘"],[8601,"↙"],[8602,"↚"],[8603,"↛"],[8605,{v:"↝",n:824,o:"↝̸"}],[8606,"↞"],[8607,"↟"],[8608,"↠"],[8609,"↡"],[8610,"↢"],[8611,"↣"],[8612,"↤"],[8613,"↥"],[8614,"↦"],[8615,"↧"],[8617,"↩"],[8618,"↪"],[8619,"↫"],[8620,"↬"],[8621,"↭"],[8622,"↮"],[8624,"↰"],[8625,"↱"],[8626,"↲"],[8627,"↳"],[8629,"↵"],[8630,"↶"],[8631,"↷"],[8634,"↺"],[8635,"↻"],[8636,"↼"],[8637,"↽"],[8638,"↾"],[8639,"↿"],[8640,"⇀"],[8641,"⇁"],[8642,"⇂"],[8643,"⇃"],[8644,"⇄"],[8645,"⇅"],[8646,"⇆"],[8647,"⇇"],[8648,"⇈"],[8649,"⇉"],[8650,"⇊"],[8651,"⇋"],[8652,"⇌"],[8653,"⇍"],[8654,"⇎"],[8655,"⇏"],[8656,"⇐"],[8657,"⇑"],[8658,"⇒"],[8659,"⇓"],[8660,"⇔"],[8661,"⇕"],[8662,"⇖"],[8663,"⇗"],[8664,"⇘"],[8665,"⇙"],[8666,"⇚"],[8667,"⇛"],[8669,"⇝"],[8676,"⇤"],[8677,"⇥"],[8693,"⇵"],[8701,"⇽"],[8702,"⇾"],[8703,"⇿"],[8704,"∀"],[8705,"∁"],[8706,{v:"∂",n:824,o:"∂̸"}],[8707,"∃"],[8708,"∄"],[8709,"∅"],[8711,"∇"],[8712,"∈"],[8713,"∉"],[8715,"∋"],[8716,"∌"],[8719,"∏"],[8720,"∐"],[8721,"∑"],[8722,"−"],[8723,"∓"],[8724,"∔"],[8726,"∖"],[8727,"∗"],[8728,"∘"],[8730,"√"],[8733,"∝"],[8734,"∞"],[8735,"∟"],[8736,{v:"∠",n:8402,o:"∠⃒"}],[8737,"∡"],[8738,"∢"],[8739,"∣"],[8740,"∤"],[8741,"∥"],[8742,"∦"],[8743,"∧"],[8744,"∨"],[8745,{v:"∩",n:65024,o:"∩︀"}],[8746,{v:"∪",n:65024,o:"∪︀"}],[8747,"∫"],[8748,"∬"],[8749,"∭"],[8750,"∮"],[8751,"∯"],[8752,"∰"],[8753,"∱"],[8754,"∲"],[8755,"∳"],[8756,"∴"],[8757,"∵"],[8758,"∶"],[8759,"∷"],[8760,"∸"],[8762,"∺"],[8763,"∻"],[8764,{v:"∼",n:8402,o:"∼⃒"}],[8765,{v:"∽",n:817,o:"∽̱"}],[8766,{v:"∾",n:819,o:"∾̳"}],[8767,"∿"],[8768,"≀"],[8769,"≁"],[8770,{v:"≂",n:824,o:"≂̸"}],[8771,"≃"],[8772,"≄"],[8773,"≅"],[8774,"≆"],[8775,"≇"],[8776,"≈"],[8777,"≉"],[8778,"≊"],[8779,{v:"≋",n:824,o:"≋̸"}],[8780,"≌"],[8781,{v:"≍",n:8402,o:"≍⃒"}],[8782,{v:"≎",n:824,o:"≎̸"}],[8783,{v:"≏",n:824,o:"≏̸"}],[8784,{v:"≐",n:824,o:"≐̸"}],[8785,"≑"],[8786,"≒"],[8787,"≓"],[8788,"≔"],[8789,"≕"],[8790,"≖"],[8791,"≗"],[8793,"≙"],[8794,"≚"],[8796,"≜"],[8799,"≟"],[8800,"≠"],[8801,{v:"≡",n:8421,o:"≡⃥"}],[8802,"≢"],[8804,{v:"≤",n:8402,o:"≤⃒"}],[8805,{v:"≥",n:8402,o:"≥⃒"}],[8806,{v:"≦",n:824,o:"≦̸"}],[8807,{v:"≧",n:824,o:"≧̸"}],[8808,{v:"≨",n:65024,o:"≨︀"}],[8809,{v:"≩",n:65024,o:"≩︀"}],[8810,{v:"≪",n:new Map([[824,"≪̸"],[8402,"≪⃒"]])}],[8811,{v:"≫",n:new Map([[824,"≫̸"],[8402,"≫⃒"]])}],[8812,"≬"],[8813,"≭"],[8814,"≮"],[8815,"≯"],[8816,"≰"],[8817,"≱"],[8818,"≲"],[8819,"≳"],[8820,"≴"],[8821,"≵"],[8822,"≶"],[8823,"≷"],[8824,"≸"],[8825,"≹"],[8826,"≺"],[8827,"≻"],[8828,"≼"],[8829,"≽"],[8830,"≾"],[8831,{v:"≿",n:824,o:"≿̸"}],[8832,"⊀"],[8833,"⊁"],[8834,{v:"⊂",n:8402,o:"⊂⃒"}],[8835,{v:"⊃",n:8402,o:"⊃⃒"}],[8836,"⊄"],[8837,"⊅"],[8838,"⊆"],[8839,"⊇"],[8840,"⊈"],[8841,"⊉"],[8842,{v:"⊊",n:65024,o:"⊊︀"}],[8843,{v:"⊋",n:65024,o:"⊋︀"}],[8845,"⊍"],[8846,"⊎"],[8847,{v:"⊏",n:824,o:"⊏̸"}],[8848,{v:"⊐",n:824,o:"⊐̸"}],[8849,"⊑"],[8850,"⊒"],[8851,{v:"⊓",n:65024,o:"⊓︀"}],[8852,{v:"⊔",n:65024,o:"⊔︀"}],[8853,"⊕"],[8854,"⊖"],[8855,"⊗"],[8856,"⊘"],[8857,"⊙"],[8858,"⊚"],[8859,"⊛"],[8861,"⊝"],[8862,"⊞"],[8863,"⊟"],[8864,"⊠"],[8865,"⊡"],[8866,"⊢"],[8867,"⊣"],[8868,"⊤"],[8869,"⊥"],[8871,"⊧"],[8872,"⊨"],[8873,"⊩"],[8874,"⊪"],[8875,"⊫"],[8876,"⊬"],[8877,"⊭"],[8878,"⊮"],[8879,"⊯"],[8880,"⊰"],[8882,"⊲"],[8883,"⊳"],[8884,{v:"⊴",n:8402,o:"⊴⃒"}],[8885,{v:"⊵",n:8402,o:"⊵⃒"}],[8886,"⊶"],[8887,"⊷"],[8888,"⊸"],[8889,"⊹"],[8890,"⊺"],[8891,"⊻"],[8893,"⊽"],[8894,"⊾"],[8895,"⊿"],[8896,"⋀"],[8897,"⋁"],[8898,"⋂"],[8899,"⋃"],[8900,"⋄"],[8901,"⋅"],[8902,"⋆"],[8903,"⋇"],[8904,"⋈"],[8905,"⋉"],[8906,"⋊"],[8907,"⋋"],[8908,"⋌"],[8909,"⋍"],[8910,"⋎"],[8911,"⋏"],[8912,"⋐"],[8913,"⋑"],[8914,"⋒"],[8915,"⋓"],[8916,"⋔"],[8917,"⋕"],[8918,"⋖"],[8919,"⋗"],[8920,{v:"⋘",n:824,o:"⋘̸"}],[8921,{v:"⋙",n:824,o:"⋙̸"}],[8922,{v:"⋚",n:65024,o:"⋚︀"}],[8923,{v:"⋛",n:65024,o:"⋛︀"}],[8926,"⋞"],[8927,"⋟"],[8928,"⋠"],[8929,"⋡"],[8930,"⋢"],[8931,"⋣"],[8934,"⋦"],[8935,"⋧"],[8936,"⋨"],[8937,"⋩"],[8938,"⋪"],[8939,"⋫"],[8940,"⋬"],[8941,"⋭"],[8942,"⋮"],[8943,"⋯"],[8944,"⋰"],[8945,"⋱"],[8946,"⋲"],[8947,"⋳"],[8948,"⋴"],[8949,{v:"⋵",n:824,o:"⋵̸"}],[8950,"⋶"],[8951,"⋷"],[8953,{v:"⋹",n:824,o:"⋹̸"}],[8954,"⋺"],[8955,"⋻"],[8956,"⋼"],[8957,"⋽"],[8958,"⋾"],[8965,"⌅"],[8966,"⌆"],[8968,"⌈"],[8969,"⌉"],[8970,"⌊"],[8971,"⌋"],[8972,"⌌"],[8973,"⌍"],[8974,"⌎"],[8975,"⌏"],[8976,"⌐"],[8978,"⌒"],[8979,"⌓"],[8981,"⌕"],[8982,"⌖"],[8988,"⌜"],[8989,"⌝"],[8990,"⌞"],[8991,"⌟"],[8994,"⌢"],[8995,"⌣"],[9005,"⌭"],[9006,"⌮"],[9014,"⌶"],[9021,"⌽"],[9023,"⌿"],[9084,"⍼"],[9136,"⎰"],[9137,"⎱"],[9140,"⎴"],[9141,"⎵"],[9142,"⎶"],[9180,"⏜"],[9181,"⏝"],[9182,"⏞"],[9183,"⏟"],[9186,"⏢"],[9191,"⏧"],[9251,"␣"],[9416,"Ⓢ"],[9472,"─"],[9474,"│"],[9484,"┌"],[9488,"┐"],[9492,"└"],[9496,"┘"],[9500,"├"],[9508,"┤"],[9516,"┬"],[9524,"┴"],[9532,"┼"],[9552,"═"],[9553,"║"],[9554,"╒"],[9555,"╓"],[9556,"╔"],[9557,"╕"],[9558,"╖"],[9559,"╗"],[9560,"╘"],[9561,"╙"],[9562,"╚"],[9563,"╛"],[9564,"╜"],[9565,"╝"],[9566,"╞"],[9567,"╟"],[9568,"╠"],[9569,"╡"],[9570,"╢"],[9571,"╣"],[9572,"╤"],[9573,"╥"],[9574,"╦"],[9575,"╧"],[9576,"╨"],[9577,"╩"],[9578,"╪"],[9579,"╫"],[9580,"╬"],[9600,"▀"],[9604,"▄"],[9608,"█"],[9617,"░"],[9618,"▒"],[9619,"▓"],[9633,"□"],[9642,"▪"],[9643,"▫"],[9645,"▭"],[9646,"▮"],[9649,"▱"],[9651,"△"],[9652,"▴"],[9653,"▵"],[9656,"▸"],[9657,"▹"],[9661,"▽"],[9662,"▾"],[9663,"▿"],[9666,"◂"],[9667,"◃"],[9674,"◊"],[9675,"○"],[9708,"◬"],[9711,"◯"],[9720,"◸"],[9721,"◹"],[9722,"◺"],[9723,"◻"],[9724,"◼"],[9733,"★"],[9734,"☆"],[9742,"☎"],[9792,"♀"],[9794,"♂"],[9824,"♠"],[9827,"♣"],[9829,"♥"],[9830,"♦"],[9834,"♪"],[9837,"♭"],[9838,"♮"],[9839,"♯"],[10003,"✓"],[10007,"✗"],[10016,"✠"],[10038,"✶"],[10072,"❘"],[10098,"❲"],[10099,"❳"],[10184,"⟈"],[10185,"⟉"],[10214,"⟦"],[10215,"⟧"],[10216,"⟨"],[10217,"⟩"],[10218,"⟪"],[10219,"⟫"],[10220,"⟬"],[10221,"⟭"],[10229,"⟵"],[10230,"⟶"],[10231,"⟷"],[10232,"⟸"],[10233,"⟹"],[10234,"⟺"],[10236,"⟼"],[10239,"⟿"],[10498,"⤂"],[10499,"⤃"],[10500,"⤄"],[10501,"⤅"],[10508,"⤌"],[10509,"⤍"],[10510,"⤎"],[10511,"⤏"],[10512,"⤐"],[10513,"⤑"],[10514,"⤒"],[10515,"⤓"],[10518,"⤖"],[10521,"⤙"],[10522,"⤚"],[10523,"⤛"],[10524,"⤜"],[10525,"⤝"],[10526,"⤞"],[10527,"⤟"],[10528,"⤠"],[10531,"⤣"],[10532,"⤤"],[10533,"⤥"],[10534,"⤦"],[10535,"⤧"],[10536,"⤨"],[10537,"⤩"],[10538,"⤪"],[10547,{v:"⤳",n:824,o:"⤳̸"}],[10549,"⤵"],[10550,"⤶"],[10551,"⤷"],[10552,"⤸"],[10553,"⤹"],[10556,"⤼"],[10557,"⤽"],[10565,"⥅"],[10568,"⥈"],[10569,"⥉"],[10570,"⥊"],[10571,"⥋"],[10574,"⥎"],[10575,"⥏"],[10576,"⥐"],[10577,"⥑"],[10578,"⥒"],[10579,"⥓"],[10580,"⥔"],[10581,"⥕"],[10582,"⥖"],[10583,"⥗"],[10584,"⥘"],[10585,"⥙"],[10586,"⥚"],[10587,"⥛"],[10588,"⥜"],[10589,"⥝"],[10590,"⥞"],[10591,"⥟"],[10592,"⥠"],[10593,"⥡"],[10594,"⥢"],[10595,"⥣"],[10596,"⥤"],[10597,"⥥"],[10598,"⥦"],[10599,"⥧"],[10600,"⥨"],[10601,"⥩"],[10602,"⥪"],[10603,"⥫"],[10604,"⥬"],[10605,"⥭"],[10606,"⥮"],[10607,"⥯"],[10608,"⥰"],[10609,"⥱"],[10610,"⥲"],[10611,"⥳"],[10612,"⥴"],[10613,"⥵"],[10614,"⥶"],[10616,"⥸"],[10617,"⥹"],[10619,"⥻"],[10620,"⥼"],[10621,"⥽"],[10622,"⥾"],[10623,"⥿"],[10629,"⦅"],[10630,"⦆"],[10635,"⦋"],[10636,"⦌"],[10637,"⦍"],[10638,"⦎"],[10639,"⦏"],[10640,"⦐"],[10641,"⦑"],[10642,"⦒"],[10643,"⦓"],[10644,"⦔"],[10645,"⦕"],[10646,"⦖"],[10650,"⦚"],[10652,"⦜"],[10653,"⦝"],[10660,"⦤"],[10661,"⦥"],[10662,"⦦"],[10663,"⦧"],[10664,"⦨"],[10665,"⦩"],[10666,"⦪"],[10667,"⦫"],[10668,"⦬"],[10669,"⦭"],[10670,"⦮"],[10671,"⦯"],[10672,"⦰"],[10673,"⦱"],[10674,"⦲"],[10675,"⦳"],[10676,"⦴"],[10677,"⦵"],[10678,"⦶"],[10679,"⦷"],[10681,"⦹"],[10683,"⦻"],[10684,"⦼"],[10686,"⦾"],[10687,"⦿"],[10688,"⧀"],[10689,"⧁"],[10690,"⧂"],[10691,"⧃"],[10692,"⧄"],[10693,"⧅"],[10697,"⧉"],[10701,"⧍"],[10702,"⧎"],[10703,{v:"⧏",n:824,o:"⧏̸"}],[10704,{v:"⧐",n:824,o:"⧐̸"}],[10716,"⧜"],[10717,"⧝"],[10718,"⧞"],[10723,"⧣"],[10724,"⧤"],[10725,"⧥"],[10731,"⧫"],[10740,"⧴"],[10742,"⧶"],[10752,"⨀"],[10753,"⨁"],[10754,"⨂"],[10756,"⨄"],[10758,"⨆"],[10764,"⨌"],[10765,"⨍"],[10768,"⨐"],[10769,"⨑"],[10770,"⨒"],[10771,"⨓"],[10772,"⨔"],[10773,"⨕"],[10774,"⨖"],[10775,"⨗"],[10786,"⨢"],[10787,"⨣"],[10788,"⨤"],[10789,"⨥"],[10790,"⨦"],[10791,"⨧"],[10793,"⨩"],[10794,"⨪"],[10797,"⨭"],[10798,"⨮"],[10799,"⨯"],[10800,"⨰"],[10801,"⨱"],[10803,"⨳"],[10804,"⨴"],[10805,"⨵"],[10806,"⨶"],[10807,"⨷"],[10808,"⨸"],[10809,"⨹"],[10810,"⨺"],[10811,"⨻"],[10812,"⨼"],[10815,"⨿"],[10816,"⩀"],[10818,"⩂"],[10819,"⩃"],[10820,"⩄"],[10821,"⩅"],[10822,"⩆"],[10823,"⩇"],[10824,"⩈"],[10825,"⩉"],[10826,"⩊"],[10827,"⩋"],[10828,"⩌"],[10829,"⩍"],[10832,"⩐"],[10835,"⩓"],[10836,"⩔"],[10837,"⩕"],[10838,"⩖"],[10839,"⩗"],[10840,"⩘"],[10842,"⩚"],[10843,"⩛"],[10844,"⩜"],[10845,"⩝"],[10847,"⩟"],[10854,"⩦"],[10858,"⩪"],[10861,{v:"⩭",n:824,o:"⩭̸"}],[10862,"⩮"],[10863,"⩯"],[10864,{v:"⩰",n:824,o:"⩰̸"}],[10865,"⩱"],[10866,"⩲"],[10867,"⩳"],[10868,"⩴"],[10869,"⩵"],[10871,"⩷"],[10872,"⩸"],[10873,"⩹"],[10874,"⩺"],[10875,"⩻"],[10876,"⩼"],[10877,{v:"⩽",n:824,o:"⩽̸"}],[10878,{v:"⩾",n:824,o:"⩾̸"}],[10879,"⩿"],[10880,"⪀"],[10881,"⪁"],[10882,"⪂"],[10883,"⪃"],[10884,"⪄"],[10885,"⪅"],[10886,"⪆"],[10887,"⪇"],[10888,"⪈"],[10889,"⪉"],[10890,"⪊"],[10891,"⪋"],[10892,"⪌"],[10893,"⪍"],[10894,"⪎"],[10895,"⪏"],[10896,"⪐"],[10897,"⪑"],[10898,"⪒"],[10899,"⪓"],[10900,"⪔"],[10901,"⪕"],[10902,"⪖"],[10903,"⪗"],[10904,"⪘"],[10905,"⪙"],[10906,"⪚"],[10909,"⪝"],[10910,"⪞"],[10911,"⪟"],[10912,"⪠"],[10913,{v:"⪡",n:824,o:"⪡̸"}],[10914,{v:"⪢",n:824,o:"⪢̸"}],[10916,"⪤"],[10917,"⪥"],[10918,"⪦"],[10919,"⪧"],[10920,"⪨"],[10921,"⪩"],[10922,"⪪"],[10923,"⪫"],[10924,{v:"⪬",n:65024,o:"⪬︀"}],[10925,{v:"⪭",n:65024,o:"⪭︀"}],[10926,"⪮"],[10927,{v:"⪯",n:824,o:"⪯̸"}],[10928,{v:"⪰",n:824,o:"⪰̸"}],[10931,"⪳"],[10932,"⪴"],[10933,"⪵"],[10934,"⪶"],[10935,"⪷"],[10936,"⪸"],[10937,"⪹"],[10938,"⪺"],[10939,"⪻"],[10940,"⪼"],[10941,"⪽"],[10942,"⪾"],[10943,"⪿"],[10944,"⫀"],[10945,"⫁"],[10946,"⫂"],[10947,"⫃"],[10948,"⫄"],[10949,{v:"⫅",n:824,o:"⫅̸"}],[10950,{v:"⫆",n:824,o:"⫆̸"}],[10951,"⫇"],[10952,"⫈"],[10955,{v:"⫋",n:65024,o:"⫋︀"}],[10956,{v:"⫌",n:65024,o:"⫌︀"}],[10959,"⫏"],[10960,"⫐"],[10961,"⫑"],[10962,"⫒"],[10963,"⫓"],[10964,"⫔"],[10965,"⫕"],[10966,"⫖"],[10967,"⫗"],[10968,"⫘"],[10969,"⫙"],[10970,"⫚"],[10971,"⫛"],[10980,"⫤"],[10982,"⫦"],[10983,"⫧"],[10984,"⫨"],[10985,"⫩"],[10987,"⫫"],[10988,"⫬"],[10989,"⫭"],[10990,"⫮"],[10991,"⫯"],[10992,"⫰"],[10993,"⫱"],[10994,"⫲"],[10995,"⫳"],[11005,{v:"⫽",n:8421,o:"⫽⃥"}],[55349,{n:new Map([[56476,"𝒜"],[56478,"𝒞"],[56479,"𝒟"],[56482,"𝒢"],[56485,"𝒥"],[56486,"𝒦"],[56489,"𝒩"],[56490,"𝒪"],[56491,"𝒫"],[56492,"𝒬"],[56494,"𝒮"],[56495,"𝒯"],[56496,"𝒰"],[56497,"𝒱"],[56498,"𝒲"],[56499,"𝒳"],[56500,"𝒴"],[56501,"𝒵"],[56502,"𝒶"],[56503,"𝒷"],[56504,"𝒸"],[56505,"𝒹"],[56507,"𝒻"],[56509,"𝒽"],[56510,"𝒾"],[56511,"𝒿"],[56512,"𝓀"],[56513,"𝓁"],[56514,"𝓂"],[56515,"𝓃"],[56517,"𝓅"],[56518,"𝓆"],[56519,"𝓇"],[56520,"𝓈"],[56521,"𝓉"],[56522,"𝓊"],[56523,"𝓋"],[56524,"𝓌"],[56525,"𝓍"],[56526,"𝓎"],[56527,"𝓏"],[56580,"𝔄"],[56581,"𝔅"],[56583,"𝔇"],[56584,"𝔈"],[56585,"𝔉"],[56586,"𝔊"],[56589,"𝔍"],[56590,"𝔎"],[56591,"𝔏"],[56592,"𝔐"],[56593,"𝔑"],[56594,"𝔒"],[56595,"𝔓"],[56596,"𝔔"],[56598,"𝔖"],[56599,"𝔗"],[56600,"𝔘"],[56601,"𝔙"],[56602,"𝔚"],[56603,"𝔛"],[56604,"𝔜"],[56606,"𝔞"],[56607,"𝔟"],[56608,"𝔠"],[56609,"𝔡"],[56610,"𝔢"],[56611,"𝔣"],[56612,"𝔤"],[56613,"𝔥"],[56614,"𝔦"],[56615,"𝔧"],[56616,"𝔨"],[56617,"𝔩"],[56618,"𝔪"],[56619,"𝔫"],[56620,"𝔬"],[56621,"𝔭"],[56622,"𝔮"],[56623,"𝔯"],[56624,"𝔰"],[56625,"𝔱"],[56626,"𝔲"],[56627,"𝔳"],[56628,"𝔴"],[56629,"𝔵"],[56630,"𝔶"],[56631,"𝔷"],[56632,"𝔸"],[56633,"𝔹"],[56635,"𝔻"],[56636,"𝔼"],[56637,"𝔽"],[56638,"𝔾"],[56640,"𝕀"],[56641,"𝕁"],[56642,"𝕂"],[56643,"𝕃"],[56644,"𝕄"],[56646,"𝕆"],[56650,"𝕊"],[56651,"𝕋"],[56652,"𝕌"],[56653,"𝕍"],[56654,"𝕎"],[56655,"𝕏"],[56656,"𝕐"],[56658,"𝕒"],[56659,"𝕓"],[56660,"𝕔"],[56661,"𝕕"],[56662,"𝕖"],[56663,"𝕗"],[56664,"𝕘"],[56665,"𝕙"],[56666,"𝕚"],[56667,"𝕛"],[56668,"𝕜"],[56669,"𝕝"],[56670,"𝕞"],[56671,"𝕟"],[56672,"𝕠"],[56673,"𝕡"],[56674,"𝕢"],[56675,"𝕣"],[56676,"𝕤"],[56677,"𝕥"],[56678,"𝕦"],[56679,"𝕧"],[56680,"𝕨"],[56681,"𝕩"],[56682,"𝕪"],[56683,"𝕫"]])}],[64256,"ff"],[64257,"fi"],[64258,"fl"],[64259,"ffi"],[64260,"ffl"]])},4946:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXMLStrict=t.decodeHTML5Strict=t.decodeHTML4Strict=t.decodeHTML5=t.decodeHTML4=t.decodeHTMLStrict=t.decodeHTML=t.decodeXML=t.encodeHTML5=t.encodeHTML4=t.encodeNonAsciiHTML=t.encodeHTML=t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.encode=t.decodeStrict=t.decode=t.EncodingMode=t.DecodingMode=t.EntityLevel=void 0;var r,o,i,a=n(4753),l=n(6913),s=n(8168);!function(e){e[e.XML=0]="XML",e[e.HTML=1]="HTML"}(r=t.EntityLevel||(t.EntityLevel={})),function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict"}(o=t.DecodingMode||(t.DecodingMode={})),function(e){e[e.UTF8=0]="UTF8",e[e.ASCII=1]="ASCII",e[e.Extensive=2]="Extensive",e[e.Attribute=3]="Attribute",e[e.Text=4]="Text"}(i=t.EncodingMode||(t.EncodingMode={})),t.decode=function(e,t){void 0===t&&(t=r.XML);var n="number"==typeof t?{level:t}:t;return n.level===r.HTML?n.mode===o.Strict?(0,a.decodeHTMLStrict)(e):(0,a.decodeHTML)(e):(0,a.decodeXML)(e)},t.decodeStrict=function(e,t){void 0===t&&(t=r.XML);var n="number"==typeof t?{level:t}:t;return n.level===r.HTML?n.mode===o.Legacy?(0,a.decodeHTML)(e):(0,a.decodeHTMLStrict)(e):(0,a.decodeXML)(e)},t.encode=function(e,t){void 0===t&&(t=r.XML);var n="number"==typeof t?{level:t}:t;return n.mode===i.UTF8?(0,s.escapeUTF8)(e):n.mode===i.Attribute?(0,s.escapeAttribute)(e):n.mode===i.Text?(0,s.escapeText)(e):n.level===r.HTML?n.mode===i.ASCII?(0,l.encodeNonAsciiHTML)(e):(0,l.encodeHTML)(e):(0,s.encodeXML)(e)};var u=n(8168);Object.defineProperty(t,"encodeXML",{enumerable:!0,get:function(){return u.encodeXML}}),Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return u.escape}}),Object.defineProperty(t,"escapeUTF8",{enumerable:!0,get:function(){return u.escapeUTF8}}),Object.defineProperty(t,"escapeAttribute",{enumerable:!0,get:function(){return u.escapeAttribute}}),Object.defineProperty(t,"escapeText",{enumerable:!0,get:function(){return u.escapeText}});var c=n(6913);Object.defineProperty(t,"encodeHTML",{enumerable:!0,get:function(){return c.encodeHTML}}),Object.defineProperty(t,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return c.encodeNonAsciiHTML}}),Object.defineProperty(t,"encodeHTML4",{enumerable:!0,get:function(){return c.encodeHTML}}),Object.defineProperty(t,"encodeHTML5",{enumerable:!0,get:function(){return c.encodeHTML}});var d=n(4753);Object.defineProperty(t,"decodeXML",{enumerable:!0,get:function(){return d.decodeXML}}),Object.defineProperty(t,"decodeHTML",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTMLStrict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML4",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTML5",{enumerable:!0,get:function(){return d.decodeHTML}}),Object.defineProperty(t,"decodeHTML4Strict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeHTML5Strict",{enumerable:!0,get:function(){return d.decodeHTMLStrict}}),Object.defineProperty(t,"decodeXMLStrict",{enumerable:!0,get:function(){return d.decodeXML}})},3658:(e,t,n)=>{"use strict";var r;n.r(t),n.d(t,{AttributeAction:()=>i,IgnoreCaseMode:()=>o,SelectorType:()=>r,isTraversal:()=>c,parse:()=>m,stringify:()=>E}),function(e){e.Attribute="attribute",e.Pseudo="pseudo",e.PseudoElement="pseudo-element",e.Tag="tag",e.Universal="universal",e.Adjacent="adjacent",e.Child="child",e.Descendant="descendant",e.Parent="parent",e.Sibling="sibling",e.ColumnCombinator="column-combinator"}(r||(r={}));const o={Unknown:null,QuirksMode:"quirks",IgnoreCase:!0,CaseSensitive:!1};var i;!function(e){e.Any="any",e.Element="element",e.End="end",e.Equals="equals",e.Exists="exists",e.Hyphen="hyphen",e.Not="not",e.Start="start"}(i||(i={}));const a=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,l=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,s=new Map([[126,i.Element],[94,i.Start],[36,i.End],[42,i.Any],[33,i.Not],[124,i.Hyphen]]),u=new Set(["has","not","matches","is","where","host","host-context"]);function c(e){switch(e.type){case r.Adjacent:case r.Child:case r.Descendant:case r.Parent:case r.Sibling:case r.ColumnCombinator:return!0;default:return!1}}const d=new Set(["contains","icontains"]);function f(e,t,n){const r=parseInt(t,16)-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)}function p(e){return e.replace(l,f)}function h(e){return 39===e||34===e}function g(e){return 32===e||9===e||10===e||12===e||13===e}function m(e){const t=[],n=v(t,`${e}`,0);if(n0&&n0&&c(o[o.length-1]))throw new Error("Did not expect successive traversals.")}function A(e){o.length>0&&o[o.length-1].type===r.Descendant?o[o.length-1].type=e:(y(),o.push({type:e}))}function w(e,t){o.push({type:r.Attribute,name:e,action:t,value:l(1),namespace:null,ignoreCase:"quirks"})}function x(){if(o.length&&o[o.length-1].type===r.Descendant&&o.pop(),0===o.length)throw new Error("Empty sub-selector");e.push(o)}if(f(0),t.length===n)return n;e:for(;ne.charCodeAt(0)))),w=new Set(y.map((e=>e.charCodeAt(0)))),x=new Set([...y,"~","^","$","*","+","!","|",":","[","]"," ","."].map((e=>e.charCodeAt(0))));function E(e){return e.map((e=>e.map(k).join(""))).join(", ")}function k(e,t,n){switch(e.type){case r.Child:return 0===t?"> ":" > ";case r.Parent:return 0===t?"< ":" < ";case r.Sibling:return 0===t?"~ ":" ~ ";case r.Adjacent:return 0===t?"+ ":" + ";case r.Descendant:return" ";case r.ColumnCombinator:return 0===t?"|| ":" || ";case r.Universal:return"*"===e.namespace&&t+10?r+e.slice(n):e}},1427:e=>{var t=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32},n=-1;t.Diff=function(e,t){return[e,t]},t.prototype.diff_main=function(e,n,r,o){void 0===o&&(o=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var i=o;if(null==e||null==n)throw new Error("Null input. (diff_main)");if(e==n)return e?[new t.Diff(0,e)]:[];void 0===r&&(r=!0);var a=r,l=this.diff_commonPrefix(e,n),s=e.substring(0,l);e=e.substring(l),n=n.substring(l),l=this.diff_commonSuffix(e,n);var u=e.substring(e.length-l);e=e.substring(0,e.length-l),n=n.substring(0,n.length-l);var c=this.diff_compute_(e,n,a,i);return s&&c.unshift(new t.Diff(0,s)),u&&c.push(new t.Diff(0,u)),this.diff_cleanupMerge(c),c},t.prototype.diff_compute_=function(e,r,o,i){var a;if(!e)return[new t.Diff(1,r)];if(!r)return[new t.Diff(n,e)];var l=e.length>r.length?e:r,s=e.length>r.length?r:e,u=l.indexOf(s);if(-1!=u)return a=[new t.Diff(1,l.substring(0,u)),new t.Diff(0,s),new t.Diff(1,l.substring(u+s.length))],e.length>r.length&&(a[0][0]=a[2][0]=n),a;if(1==s.length)return[new t.Diff(n,e),new t.Diff(1,r)];var c=this.diff_halfMatch_(e,r);if(c){var d=c[0],f=c[1],p=c[2],h=c[3],g=c[4],m=this.diff_main(d,p,o,i),v=this.diff_main(f,h,o,i);return m.concat([new t.Diff(0,g)],v)}return o&&e.length>100&&r.length>100?this.diff_lineMode_(e,r,i):this.diff_bisect_(e,r,i)},t.prototype.diff_lineMode_=function(e,r,o){var i=this.diff_linesToChars_(e,r);e=i.chars1,r=i.chars2;var a=i.lineArray,l=this.diff_main(e,r,!1,o);this.diff_charsToLines_(l,a),this.diff_cleanupSemantic(l),l.push(new t.Diff(0,""));for(var s=0,u=0,c=0,d="",f="";s=1&&c>=1){l.splice(s-u-c,u+c),s=s-u-c;for(var p=this.diff_main(d,f,!1,o),h=p.length-1;h>=0;h--)l.splice(s,0,p[h]);s+=p.length}c=0,u=0,d="",f=""}s++}return l.pop(),l},t.prototype.diff_bisect_=function(e,r,o){for(var i=e.length,a=r.length,l=Math.ceil((i+a)/2),s=l,u=2*l,c=new Array(u),d=new Array(u),f=0;fo);y++){for(var A=-y+g;A<=y-m;A+=2){for(var w=s+A,x=(C=A==-y||A!=y&&c[w-1]i)m+=2;else if(x>a)g+=2;else if(h&&(S=s+p-A)>=0&&S=(k=i-d[S]))return this.diff_bisectSplit_(e,r,C,x,o)}for(var E=-y+v;E<=y-b;E+=2){for(var k,S=s+E,_=(k=E==-y||E!=y&&d[S-1]i)b+=2;else if(_>a)v+=2;else if(!h){var C;if((w=s+p-E)>=0&&w=(k=i-k))return this.diff_bisectSplit_(e,r,C,x,o)}}}return[new t.Diff(n,e),new t.Diff(1,r)]},t.prototype.diff_bisectSplit_=function(e,t,n,r,o){var i=e.substring(0,n),a=t.substring(0,r),l=e.substring(n),s=t.substring(r),u=this.diff_main(i,a,!1,o),c=this.diff_main(l,s,!1,o);return u.concat(c)},t.prototype.diff_linesToChars_=function(e,t){var n=[],r={};function o(e){for(var t="",o=0,a=-1,l=n.length;ar?e=e.substring(n-r):nt.length?e:t,r=e.length>t.length?t:e;if(n.length<4||2*r.length=e.length?[r,i,a,l,c]:null}var a,l,s,u,c,d=i(n,r,Math.ceil(n.length/4)),f=i(n,r,Math.ceil(n.length/2));return d||f?(a=f?d&&d[4].length>f[4].length?d:f:d,e.length>t.length?(l=a[0],s=a[1],u=a[2],c=a[3]):(u=a[0],c=a[1],l=a[2],s=a[3]),[l,s,u,c,a[4]]):null},t.prototype.diff_cleanupSemantic=function(e){for(var r=!1,o=[],i=0,a=null,l=0,s=0,u=0,c=0,d=0;l0?o[i-1]:-1,s=0,u=0,c=0,d=0,a=null,r=!0)),l++;for(r&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),l=1;l=g?(h>=f.length/2||h>=p.length/2)&&(e.splice(l,0,new t.Diff(0,p.substring(0,h))),e[l-1][1]=f.substring(0,f.length-h),e[l+1][1]=p.substring(h),l++):(g>=f.length/2||g>=p.length/2)&&(e.splice(l,0,new t.Diff(0,f.substring(0,g))),e[l-1][0]=1,e[l-1][1]=p.substring(0,p.length-g),e[l+1][0]=n,e[l+1][1]=f.substring(g),l++),l++}l++}},t.prototype.diff_cleanupSemanticLossless=function(e){function n(e,n){if(!e||!n)return 6;var r=e.charAt(e.length-1),o=n.charAt(0),i=r.match(t.nonAlphaNumericRegex_),a=o.match(t.nonAlphaNumericRegex_),l=i&&r.match(t.whitespaceRegex_),s=a&&o.match(t.whitespaceRegex_),u=l&&r.match(t.linebreakRegex_),c=s&&o.match(t.linebreakRegex_),d=u&&e.match(t.blanklineEndRegex_),f=c&&n.match(t.blanklineStartRegex_);return d||f?5:u||c?4:i&&!l&&s?3:l||s?2:i||a?1:0}for(var r=1;r=f&&(f=p,u=o,c=i,d=a)}e[r-1][1]!=u&&(u?e[r-1][1]=u:(e.splice(r-1,1),r--),e[r][1]=c,d?e[r+1][1]=d:(e.splice(r+1,1),r--))}r++}},t.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,t.whitespaceRegex_=/\s/,t.linebreakRegex_=/[\r\n]/,t.blanklineEndRegex_=/\n\r?\n$/,t.blanklineStartRegex_=/^\r?\n\r?\n/,t.prototype.diff_cleanupEfficiency=function(e){for(var r=!1,o=[],i=0,a=null,l=0,s=!1,u=!1,c=!1,d=!1;l0?o[i-1]:-1,c=d=!1),r=!0)),l++;r&&this.diff_cleanupMerge(e)},t.prototype.diff_cleanupMerge=function(e){e.push(new t.Diff(0,""));for(var r,o=0,i=0,a=0,l="",s="";o1?(0!==i&&0!==a&&(0!==(r=this.diff_commonPrefix(s,l))&&(o-i-a>0&&0==e[o-i-a-1][0]?e[o-i-a-1][1]+=s.substring(0,r):(e.splice(0,0,new t.Diff(0,s.substring(0,r))),o++),s=s.substring(r),l=l.substring(r)),0!==(r=this.diff_commonSuffix(s,l))&&(e[o][1]=s.substring(s.length-r)+e[o][1],s=s.substring(0,s.length-r),l=l.substring(0,l.length-r))),o-=i+a,e.splice(o,i+a),l.length&&(e.splice(o,0,new t.Diff(n,l)),o++),s.length&&(e.splice(o,0,new t.Diff(1,s)),o++),o++):0!==o&&0==e[o-1][0]?(e[o-1][1]+=e[o][1],e.splice(o,1)):o++,a=0,i=0,l="",s=""}""===e[e.length-1][1]&&e.pop();var u=!1;for(o=1;ot));r++)a=o,l=i;return e.length!=r&&e[r][0]===n?l:l+(t-a)},t.prototype.diff_prettyHtml=function(e){for(var t=[],r=/&/g,o=//g,a=/\n/g,l=0;l");switch(s){case 1:t[l]=''+u+"";break;case n:t[l]=''+u+"";break;case 0:t[l]=""+u+""}}return t.join("")},t.prototype.diff_text1=function(e){for(var t=[],n=0;nthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var r=this.match_alphabet_(t),o=this;function i(e,r){var i=e/t.length,a=Math.abs(n-r);return o.Match_Distance?i+a/o.Match_Distance:a?1:i}var a=this.Match_Threshold,l=e.indexOf(t,n);-1!=l&&(a=Math.min(i(0,l),a),-1!=(l=e.lastIndexOf(t,n+t.length))&&(a=Math.min(i(0,l),a)));var s,u,c=1<=h;v--){var b=r[e.charAt(v-1)];if(m[v]=0===p?(m[v+1]<<1|1)&b:(m[v+1]<<1|1)&b|(d[v+1]|d[v])<<1|1|d[v+1],m[v]&c){var y=i(p,v-1);if(y<=a){if(a=y,!((l=v-1)>n))break;h=Math.max(1,2*n-l)}}}if(i(p+1,n)>a)break;d=m}return l},t.prototype.match_alphabet_=function(e){for(var t={},n=0;n2&&(this.diff_cleanupSemantic(a),this.diff_cleanupEfficiency(a));else if(e&&"object"==typeof e&&void 0===r&&void 0===o)a=e,i=this.diff_text1(a);else if("string"==typeof e&&r&&"object"==typeof r&&void 0===o)i=e,a=r;else{if("string"!=typeof e||"string"!=typeof r||!o||"object"!=typeof o)throw new Error("Unknown call format to patch_make.");i=e,a=o}if(0===a.length)return[];for(var l=[],s=new t.patch_obj,u=0,c=0,d=0,f=i,p=i,h=0;h=2*this.Patch_Margin&&u&&(this.patch_addContext_(s,f),l.push(s),s=new t.patch_obj,u=0,f=p,c=d)}1!==g&&(c+=m.length),g!==n&&(d+=m.length)}return u&&(this.patch_addContext_(s,f),l.push(s)),l},t.prototype.patch_deepCopy=function(e){for(var n=[],r=0;rthis.Match_MaxBits?-1!=(l=this.match_main(t,c.substring(0,this.Match_MaxBits),u))&&(-1==(d=this.match_main(t,c.substring(c.length-this.Match_MaxBits),u+c.length-this.Match_MaxBits))||l>=d)&&(l=-1):l=this.match_main(t,c,u),-1==l)i[a]=!1,o-=e[a].length2-e[a].length1;else if(i[a]=!0,o=l-u,c==(s=-1==d?t.substring(l,l+c.length):t.substring(l,d+this.Match_MaxBits)))t=t.substring(0,l)+this.diff_text2(e[a].diffs)+t.substring(l+c.length);else{var f=this.diff_main(c,s,!1);if(c.length>this.Match_MaxBits&&this.diff_levenshtein(f)/c.length>this.Patch_DeleteThreshold)i[a]=!1;else{this.diff_cleanupSemanticLossless(f);for(var p,h=0,g=0;ga[0][1].length){var l=n-a[0][1].length;a[0][1]=r.substring(a[0][1].length)+a[0][1],i.start1-=l,i.start2-=l,i.length1+=l,i.length2+=l}return 0==(a=(i=e[e.length-1]).diffs).length||0!=a[a.length-1][0]?(a.push(new t.Diff(0,r)),i.length1+=n,i.length2+=n):n>a[a.length-1][1].length&&(l=n-a[a.length-1][1].length,a[a.length-1][1]+=r.substring(0,l),i.length1+=l,i.length2+=l),r},t.prototype.patch_splitMax=function(e){for(var r=this.Match_MaxBits,o=0;o2*r?(u.length1+=f.length,a+=f.length,c=!1,u.diffs.push(new t.Diff(d,f)),i.diffs.shift()):(f=f.substring(0,r-u.length1-this.Patch_Margin),u.length1+=f.length,a+=f.length,0===d?(u.length2+=f.length,l+=f.length):c=!1,u.diffs.push(new t.Diff(d,f)),f==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(f.length))}s=(s=this.diff_text2(u.diffs)).substring(s.length-this.Patch_Margin);var p=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);""!==p&&(u.length1+=p.length,u.length2+=p.length,0!==u.diffs.length&&0===u.diffs[u.diffs.length-1][0]?u.diffs[u.diffs.length-1][1]+=p:u.diffs.push(new t.Diff(0,p))),c||e.splice(++o,0,u)}}},t.prototype.patch_toText=function(e){for(var t=[],n=0;n0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"childNodes",{get:function(){return this.children},set:function(e){this.children=e},enumerable:!1,configurable:!0}),t}(l);t.NodeWithChildren=f;var p=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.CDATA,t}return o(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),t}(f);t.CDATA=p;var h=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.type=a.ElementType.Root,t}return o(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),t}(f);t.Document=h;var g=function(e){function t(t,n,r,o){void 0===r&&(r=[]),void 0===o&&(o="script"===t?a.ElementType.Script:"style"===t?a.ElementType.Style:a.ElementType.Tag);var i=e.call(this,r)||this;return i.name=t,i.attribs=n,i.type=o,i}return o(t,e),Object.defineProperty(t.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tagName",{get:function(){return this.name},set:function(e){this.name=e},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"attributes",{get:function(){var e=this;return Object.keys(this.attribs).map((function(t){var n,r;return{name:t,value:e.attribs[t],namespace:null===(n=e["x-attribsNamespace"])||void 0===n?void 0:n[t],prefix:null===(r=e["x-attribsPrefix"])||void 0===r?void 0:r[t]}}))},enumerable:!1,configurable:!0}),t}(f);function m(e){return(0,a.isTag)(e)}function v(e){return e.type===a.ElementType.CDATA}function b(e){return e.type===a.ElementType.Text}function y(e){return e.type===a.ElementType.Comment}function A(e){return e.type===a.ElementType.Directive}function w(e){return e.type===a.ElementType.Root}function x(e,t){var n;if(void 0===t&&(t=!1),b(e))n=new u(e.data);else if(y(e))n=new c(e.data);else if(m(e)){var r=t?E(e.children):[],o=new g(e.name,i({},e.attribs),r);r.forEach((function(e){return e.parent=o})),null!=e.namespace&&(o.namespace=e.namespace),e["x-attribsNamespace"]&&(o["x-attribsNamespace"]=i({},e["x-attribsNamespace"])),e["x-attribsPrefix"]&&(o["x-attribsPrefix"]=i({},e["x-attribsPrefix"])),n=o}else if(v(e)){r=t?E(e.children):[];var a=new p(r);r.forEach((function(e){return e.parent=a})),n=a}else if(w(e)){r=t?E(e.children):[];var l=new h(r);r.forEach((function(e){return e.parent=l})),e["x-mode"]&&(l["x-mode"]=e["x-mode"]),n=l}else{if(!A(e))throw new Error("Not implemented yet: ".concat(e.type));var s=new d(e.name,e.data);null!=e["x-name"]&&(s["x-name"]=e["x-name"],s["x-publicId"]=e["x-publicId"],s["x-systemId"]=e["x-systemId"]),n=s}return n.startIndex=e.startIndex,n.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(n.sourceCodeLocation=e.sourceCodeLocation),n}function E(e){for(var t=e.map((function(e){return x(e,!0)})),n=1;n{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Doctype=t.CDATA=t.Tag=t.Style=t.Script=t.Comment=t.Directive=t.Text=t.Root=t.isTag=t.ElementType=void 0,function(e){e.Root="root",e.Text="text",e.Directive="directive",e.Comment="comment",e.Script="script",e.Style="style",e.Tag="tag",e.CDATA="cdata",e.Doctype="doctype"}(n=t.ElementType||(t.ElementType={})),t.isTag=function(e){return e.type===n.Tag||e.type===n.Script||e.type===n.Style},t.Root=n.Root,t.Text=n.Text,t.Directive=n.Directive,t.Comment=n.Comment,t.Script=n.Script,t.Style=n.Style,t.Tag=n.Tag,t.CDATA=n.CDATA,t.Doctype=n.Doctype},161:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function i(e,t,r,i,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new o(r,i||e,a),s=n?n+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],l]:e._events[s].push(l):(e._events[s]=l,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var e,r,o=[];if(0===this._eventsCount)return o;for(r in e=this._events)t.call(e,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},l.prototype.listeners=function(e){var t=n?n+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,i=r.length,a=new Array(i);o{var r;!function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(r=function(){return i}.call(t,n,t,e))||(e.exports=r)}()},9385:e=>{"use strict";var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=Object.defineProperty,o=Object.getOwnPropertyDescriptor,i=function(e){return"function"==typeof Array.isArray?Array.isArray(e):"[object Array]"===n.call(e)},a=function(e){if(!e||"[object Object]"!==n.call(e))return!1;var r,o=t.call(e,"constructor"),i=e.constructor&&e.constructor.prototype&&t.call(e.constructor.prototype,"isPrototypeOf");if(e.constructor&&!o&&!i)return!1;for(r in e);return void 0===r||t.call(e,r)},l=function(e,t){r&&"__proto__"===t.name?r(e,t.name,{enumerable:!0,configurable:!0,value:t.newValue,writable:!0}):e[t.name]=t.newValue},s=function(e,n){if("__proto__"===n){if(!t.call(e,n))return;if(o)return o(e,n).value}return e[n]};e.exports=function e(){var t,n,r,o,u,c,d=arguments[0],f=1,p=arguments.length,h=!1;for("boolean"==typeof d&&(h=d,d=arguments[1]||{},f=2),(null==d||"object"!=typeof d&&"function"!=typeof d)&&(d={});f{"use strict";e.exports=function(e){var t=e.uri,n=e.name,r=e.type;this.uri=t,this.name=n,this.type=r}},2929:(e,t,n)=>{"use strict";var r=n(1278);e.exports=function e(t,n,o){var i;void 0===n&&(n=""),void 0===o&&(o=r);var a=new Map;function l(e,t){var n=a.get(t);n?n.push.apply(n,e):a.set(t,e)}if(o(t))i=null,l([n],t);else{var s=n?n+".":"";if("undefined"!=typeof FileList&&t instanceof FileList)i=Array.prototype.map.call(t,(function(e,t){return l([""+s+t],e),null}));else if(Array.isArray(t))i=t.map((function(t,n){var r=e(t,""+s+n,o);return r.files.forEach(l),r.clone}));else if(t&&t.constructor===Object)for(var u in i={},t){var c=e(t[u],""+s+u,o);c.files.forEach(l),i[u]=c.clone}else i=t}return{clone:i,files:a}}},9384:(e,t,n)=>{"use strict";t.ReactNativeFile=n(7570),t.extractFiles=n(2929),t.isExtractableFile=n(1278)},1278:(e,t,n)=>{"use strict";var r=n(7570);e.exports=function(e){return"undefined"!=typeof File&&e instanceof File||"undefined"!=typeof Blob&&e instanceof Blob||e instanceof r}},8749:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=n(9384),i=r(n(5145)),a=function(e){return o.isExtractableFile(e)||null!==e&&"object"==typeof e&&"function"==typeof e.pipe};t.default=function(e,t,n){var r=o.extractFiles({query:e,variables:t,operationName:n},"",a),l=r.clone,s=r.files;if(0===s.size){if(!Array.isArray(e))return JSON.stringify(l);if(void 0!==t&&!Array.isArray(t))throw new Error("Cannot create request body with given variable type, array expected");var u=e.reduce((function(e,n,r){return e.push({query:n,variables:t?t[r]:void 0}),e}),[]);return JSON.stringify(u)}var c=new("undefined"==typeof FormData?i.default:FormData);c.append("operations",JSON.stringify(l));var d={},f=0;return s.forEach((function(e){d[++f]=e})),c.append("map",JSON.stringify(d)),f=0,s.forEach((function(e,t){c.append(""+ ++f,t)})),c}},6647:function(e,t,n){"use strict";var r=this&&this.__assign||function(){return r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]{e.exports="object"==typeof self?self.FormData:window.FormData},2678:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.prototype.toJSON;"function"==typeof t||(0,r.default)(0),e.prototype.inspect=t,o.default&&(e.prototype[o.default]=t)};var r=i(n(5006)),o=i(n(8019));function i(e){return e&&e.__esModule?e:{default:e}}},8048:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return a(e,[])};var r,o=(r=n(8019))&&r.__esModule?r:{default:r};function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}function a(e,t){switch(i(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":return null===e?"null":function(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]),r=function(e){var t=e[String(o.default)];return"function"==typeof t?t:"function"==typeof e.inspect?e.inspect:void 0}(e);if(void 0!==r){var i=r.call(e);if(i!==e)return"string"==typeof i?i:a(i,n)}else if(Array.isArray(e))return function(e,t){if(0===e.length)return"[]";if(t.length>2)return"[Array]";for(var n=Math.min(10,e.length),r=e.length-n,o=[],i=0;i1&&o.push("... ".concat(r," more items")),"["+o.join(", ")+"]"}(e,n);return function(e,t){var n=Object.keys(e);return 0===n.length?"{}":t.length>2?"["+function(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var n=e.constructor.name;if("string"==typeof n&&""!==n)return n}return t}(e)+"]":"{ "+n.map((function(n){return n+": "+a(e[n],t)})).join(", ")+" }"}(e,n)}(e,t);default:return String(e)}}},5006:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(!Boolean(e))throw new Error(null!=t?t:"Unexpected invariant triggered.")}},8019:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;t.default=n},4560:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNode=function(e){return null!=e&&"string"==typeof e.kind},t.Token=t.Location=void 0;var r,o=(r=n(2678))&&r.__esModule?r:{default:r},i=function(){function e(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}return e.prototype.toJSON=function(){return{start:this.start,end:this.end}},e}();t.Location=i,(0,o.default)(i);var a=function(){function e(e,t,n,r,o,i,a){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=o,this.value=a,this.prev=i,this.next=null}return e.prototype.toJSON=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}},e}();t.Token=a,(0,o.default)(a)},9501:(e,t)=>{"use strict";function n(e){for(var t=0;ta&&n(t[l-1]);)--l;return t.slice(a,l).join("\n")},t.getBlockStringIndentation=r,t.printBlockString=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),o=" "===e[0]||"\t"===e[0],i='"'===e[e.length-1],a="\\"===e[e.length-1],l=!r||i||a||n,s="";return!l||r&&o||(s+="\n"+t),s+=t?e.replace(/\n/g,"\n"+t):e,l&&(s+="\n"),'"""'+s.replace(/"""/g,'\\"""')+'"""'}},3083:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.print=function(e){return(0,r.visit)(e,{leave:i})};var r=n(2624),o=n(9501),i={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return l(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=u("(",l(e.variableDefinitions,", "),")"),o=l(e.directives," "),i=e.selectionSet;return n||o||r||"query"!==t?l([t,l([n,r]),o,i]," "):i},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,o=e.directives;return t+": "+n+u(" = ",r)+u(" ",l(o," "))},SelectionSet:function(e){return s(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,o=e.directives,i=e.selectionSet,a=u("",t,": ")+n,s=a+u("(",l(r,", "),")");return s.length>80&&(s=a+u("(\n",c(l(r,"\n")),"\n)")),l([s,l(o," "),i]," ")},Argument:function(e){return e.name+": "+e.value},FragmentSpread:function(e){return"..."+e.name+u(" ",l(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return l(["...",u("on ",t),l(n," "),r]," ")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,o=e.directives,i=e.selectionSet;return"fragment ".concat(t).concat(u("(",l(r,", "),")")," ")+"on ".concat(n," ").concat(u("",l(o," ")," "))+i},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?(0,o.printBlockString)(n,"description"===t?"":" "):JSON.stringify(n)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+l(e.values,", ")+"]"},ObjectValue:function(e){return"{"+l(e.fields,", ")+"}"},ObjectField:function(e){return e.name+": "+e.value},Directive:function(e){return"@"+e.name+u("(",l(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:a((function(e){var t=e.directives,n=e.operationTypes;return l(["schema",l(t," "),s(n)]," ")})),OperationTypeDefinition:function(e){return e.operation+": "+e.type},ScalarTypeDefinition:a((function(e){return l(["scalar",e.name,l(e.directives," ")]," ")})),ObjectTypeDefinition:a((function(e){var t=e.name,n=e.interfaces,r=e.directives,o=e.fields;return l(["type",t,u("implements ",l(n," & ")),l(r," "),s(o)]," ")})),FieldDefinition:a((function(e){var t=e.name,n=e.arguments,r=e.type,o=e.directives;return t+(f(n)?u("(\n",c(l(n,"\n")),"\n)"):u("(",l(n,", "),")"))+": "+r+u(" ",l(o," "))})),InputValueDefinition:a((function(e){var t=e.name,n=e.type,r=e.defaultValue,o=e.directives;return l([t+": "+n,u("= ",r),l(o," ")]," ")})),InterfaceTypeDefinition:a((function(e){var t=e.name,n=e.interfaces,r=e.directives,o=e.fields;return l(["interface",t,u("implements ",l(n," & ")),l(r," "),s(o)]," ")})),UnionTypeDefinition:a((function(e){var t=e.name,n=e.directives,r=e.types;return l(["union",t,l(n," "),r&&0!==r.length?"= "+l(r," | "):""]," ")})),EnumTypeDefinition:a((function(e){var t=e.name,n=e.directives,r=e.values;return l(["enum",t,l(n," "),s(r)]," ")})),EnumValueDefinition:a((function(e){return l([e.name,l(e.directives," ")]," ")})),InputObjectTypeDefinition:a((function(e){var t=e.name,n=e.directives,r=e.fields;return l(["input",t,l(n," "),s(r)]," ")})),DirectiveDefinition:a((function(e){var t=e.name,n=e.arguments,r=e.repeatable,o=e.locations;return"directive @"+t+(f(n)?u("(\n",c(l(n,"\n")),"\n)"):u("(",l(n,", "),")"))+(r?" repeatable":"")+" on "+l(o," | ")})),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return l(["extend schema",l(t," "),s(n)]," ")},ScalarTypeExtension:function(e){return l(["extend scalar",e.name,l(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,o=e.fields;return l(["extend type",t,u("implements ",l(n," & ")),l(r," "),s(o)]," ")},InterfaceTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,o=e.fields;return l(["extend interface",t,u("implements ",l(n," & ")),l(r," "),s(o)]," ")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return l(["extend union",t,l(n," "),r&&0!==r.length?"= "+l(r," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return l(["extend enum",t,l(n," "),s(r)]," ")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return l(["extend input",t,l(n," "),s(r)]," ")}};function a(e){return function(t){return l([t.description,e(t)],"\n")}}function l(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==(t=null==e?void 0:e.filter((function(e){return e})).join(n))&&void 0!==t?t:""}function s(e){return u("{\n",c(l(e,"\n")),"\n}")}function u(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return null!=t&&""!==t?e+t+n:""}function c(e){return u(" ",e.replace(/\n/g,"\n "))}function d(e){return-1!==e.indexOf("\n")}function f(e){return null!=e&&e.some(d)}},2624:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.visit=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,r=void 0,u=Array.isArray(e),c=[e],d=-1,f=[],p=void 0,h=void 0,g=void 0,m=[],v=[],b=e;do{var y=++d===c.length,A=y&&0!==f.length;if(y){if(h=0===v.length?void 0:m[m.length-1],p=g,g=v.pop(),A){if(u)p=p.slice();else{for(var w={},x=0,E=Object.keys(p);x\u20D2|\u205F\u200A|\u219D\u0338|\u2202\u0338|\u2220\u20D2|\u2229\uFE00|\u222A\uFE00|\u223C\u20D2|\u223D\u0331|\u223E\u0333|\u2242\u0338|\u224B\u0338|\u224D\u20D2|\u224E\u0338|\u224F\u0338|\u2250\u0338|\u2261\u20E5|\u2264\u20D2|\u2265\u20D2|\u2266\u0338|\u2267\u0338|\u2268\uFE00|\u2269\uFE00|\u226A\u0338|\u226A\u20D2|\u226B\u0338|\u226B\u20D2|\u227F\u0338|\u2282\u20D2|\u2283\u20D2|\u228A\uFE00|\u228B\uFE00|\u228F\u0338|\u2290\u0338|\u2293\uFE00|\u2294\uFE00|\u22B4\u20D2|\u22B5\u20D2|\u22D8\u0338|\u22D9\u0338|\u22DA\uFE00|\u22DB\uFE00|\u22F5\u0338|\u22F9\u0338|\u2933\u0338|\u29CF\u0338|\u29D0\u0338|\u2A6D\u0338|\u2A70\u0338|\u2A7D\u0338|\u2A7E\u0338|\u2AA1\u0338|\u2AA2\u0338|\u2AAC\uFE00|\u2AAD\uFE00|\u2AAF\u0338|\u2AB0\u0338|\u2AC5\u0338|\u2AC6\u0338|\u2ACB\uFE00|\u2ACC\uFE00|\u2AFD\u20E5|[\xA0-\u0113\u0116-\u0122\u0124-\u012B\u012E-\u014D\u0150-\u017E\u0192\u01B5\u01F5\u0237\u02C6\u02C7\u02D8-\u02DD\u0311\u0391-\u03A1\u03A3-\u03A9\u03B1-\u03C9\u03D1\u03D2\u03D5\u03D6\u03DC\u03DD\u03F0\u03F1\u03F5\u03F6\u0401-\u040C\u040E-\u044F\u0451-\u045C\u045E\u045F\u2002-\u2005\u2007-\u2010\u2013-\u2016\u2018-\u201A\u201C-\u201E\u2020-\u2022\u2025\u2026\u2030-\u2035\u2039\u203A\u203E\u2041\u2043\u2044\u204F\u2057\u205F-\u2063\u20AC\u20DB\u20DC\u2102\u2105\u210A-\u2113\u2115-\u211E\u2122\u2124\u2127-\u2129\u212C\u212D\u212F-\u2131\u2133-\u2138\u2145-\u2148\u2153-\u215E\u2190-\u219B\u219D-\u21A7\u21A9-\u21AE\u21B0-\u21B3\u21B5-\u21B7\u21BA-\u21DB\u21DD\u21E4\u21E5\u21F5\u21FD-\u2205\u2207-\u2209\u220B\u220C\u220F-\u2214\u2216-\u2218\u221A\u221D-\u2238\u223A-\u2257\u2259\u225A\u225C\u225F-\u2262\u2264-\u228B\u228D-\u229B\u229D-\u22A5\u22A7-\u22B0\u22B2-\u22BB\u22BD-\u22DB\u22DE-\u22E3\u22E6-\u22F7\u22F9-\u22FE\u2305\u2306\u2308-\u2310\u2312\u2313\u2315\u2316\u231C-\u231F\u2322\u2323\u232D\u232E\u2336\u233D\u233F\u237C\u23B0\u23B1\u23B4-\u23B6\u23DC-\u23DF\u23E2\u23E7\u2423\u24C8\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2550-\u256C\u2580\u2584\u2588\u2591-\u2593\u25A1\u25AA\u25AB\u25AD\u25AE\u25B1\u25B3-\u25B5\u25B8\u25B9\u25BD-\u25BF\u25C2\u25C3\u25CA\u25CB\u25EC\u25EF\u25F8-\u25FC\u2605\u2606\u260E\u2640\u2642\u2660\u2663\u2665\u2666\u266A\u266D-\u266F\u2713\u2717\u2720\u2736\u2758\u2772\u2773\u27C8\u27C9\u27E6-\u27ED\u27F5-\u27FA\u27FC\u27FF\u2902-\u2905\u290C-\u2913\u2916\u2919-\u2920\u2923-\u292A\u2933\u2935-\u2939\u293C\u293D\u2945\u2948-\u294B\u294E-\u2976\u2978\u2979\u297B-\u297F\u2985\u2986\u298B-\u2996\u299A\u299C\u299D\u29A4-\u29B7\u29B9\u29BB\u29BC\u29BE-\u29C5\u29C9\u29CD-\u29D0\u29DC-\u29DE\u29E3-\u29E5\u29EB\u29F4\u29F6\u2A00-\u2A02\u2A04\u2A06\u2A0C\u2A0D\u2A10-\u2A17\u2A22-\u2A27\u2A29\u2A2A\u2A2D-\u2A31\u2A33-\u2A3C\u2A3F\u2A40\u2A42-\u2A4D\u2A50\u2A53-\u2A58\u2A5A-\u2A5D\u2A5F\u2A66\u2A6A\u2A6D-\u2A75\u2A77-\u2A9A\u2A9D-\u2AA2\u2AA4-\u2AB0\u2AB3-\u2AC8\u2ACB\u2ACC\u2ACF-\u2ADB\u2AE4\u2AE6-\u2AE9\u2AEB-\u2AF3\u2AFD\uFB00-\uFB04]|\uD835[\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDCCF\uDD04\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDD6B]/g,c={"­":"shy","‌":"zwnj","‍":"zwj","‎":"lrm","⁣":"ic","⁢":"it","⁡":"af","‏":"rlm","​":"ZeroWidthSpace","⁠":"NoBreak","̑":"DownBreve","⃛":"tdot","⃜":"DotDot","\t":"Tab","\n":"NewLine"," ":"puncsp"," ":"MediumSpace"," ":"thinsp"," ":"hairsp"," ":"emsp13"," ":"ensp"," ":"emsp14"," ":"emsp"," ":"numsp"," ":"nbsp","  ":"ThickSpace","‾":"oline",_:"lowbar","‐":"dash","–":"ndash","—":"mdash","―":"horbar",",":"comma",";":"semi","⁏":"bsemi",":":"colon","⩴":"Colone","!":"excl","¡":"iexcl","?":"quest","¿":"iquest",".":"period","‥":"nldr","…":"mldr","·":"middot","'":"apos","‘":"lsquo","’":"rsquo","‚":"sbquo","‹":"lsaquo","›":"rsaquo",'"':"quot","“":"ldquo","”":"rdquo","„":"bdquo","«":"laquo","»":"raquo","(":"lpar",")":"rpar","[":"lsqb","]":"rsqb","{":"lcub","}":"rcub","⌈":"lceil","⌉":"rceil","⌊":"lfloor","⌋":"rfloor","⦅":"lopar","⦆":"ropar","⦋":"lbrke","⦌":"rbrke","⦍":"lbrkslu","⦎":"rbrksld","⦏":"lbrksld","⦐":"rbrkslu","⦑":"langd","⦒":"rangd","⦓":"lparlt","⦔":"rpargt","⦕":"gtlPar","⦖":"ltrPar","⟦":"lobrk","⟧":"robrk","⟨":"lang","⟩":"rang","⟪":"Lang","⟫":"Rang","⟬":"loang","⟭":"roang","❲":"lbbrk","❳":"rbbrk","‖":"Vert","§":"sect","¶":"para","@":"commat","*":"ast","/":"sol",undefined:null,"&":"amp","#":"num","%":"percnt","‰":"permil","‱":"pertenk","†":"dagger","‡":"Dagger","•":"bull","⁃":"hybull","′":"prime","″":"Prime","‴":"tprime","⁗":"qprime","‵":"bprime","⁁":"caret","`":"grave","´":"acute","˜":"tilde","^":"Hat","¯":"macr","˘":"breve","˙":"dot","¨":"die","˚":"ring","˝":"dblac","¸":"cedil","˛":"ogon",ˆ:"circ",ˇ:"caron","°":"deg","©":"copy","®":"reg","℗":"copysr",℘:"wp","℞":"rx","℧":"mho","℩":"iiota","←":"larr","↚":"nlarr","→":"rarr","↛":"nrarr","↑":"uarr","↓":"darr","↔":"harr","↮":"nharr","↕":"varr","↖":"nwarr","↗":"nearr","↘":"searr","↙":"swarr","↝":"rarrw","↝̸":"nrarrw","↞":"Larr","↟":"Uarr","↠":"Rarr","↡":"Darr","↢":"larrtl","↣":"rarrtl","↤":"mapstoleft","↥":"mapstoup","↦":"map","↧":"mapstodown","↩":"larrhk","↪":"rarrhk","↫":"larrlp","↬":"rarrlp","↭":"harrw","↰":"lsh","↱":"rsh","↲":"ldsh","↳":"rdsh","↵":"crarr","↶":"cularr","↷":"curarr","↺":"olarr","↻":"orarr","↼":"lharu","↽":"lhard","↾":"uharr","↿":"uharl","⇀":"rharu","⇁":"rhard","⇂":"dharr","⇃":"dharl","⇄":"rlarr","⇅":"udarr","⇆":"lrarr","⇇":"llarr","⇈":"uuarr","⇉":"rrarr","⇊":"ddarr","⇋":"lrhar","⇌":"rlhar","⇐":"lArr","⇍":"nlArr","⇑":"uArr","⇒":"rArr","⇏":"nrArr","⇓":"dArr","⇔":"iff","⇎":"nhArr","⇕":"vArr","⇖":"nwArr","⇗":"neArr","⇘":"seArr","⇙":"swArr","⇚":"lAarr","⇛":"rAarr","⇝":"zigrarr","⇤":"larrb","⇥":"rarrb","⇵":"duarr","⇽":"loarr","⇾":"roarr","⇿":"hoarr","∀":"forall","∁":"comp","∂":"part","∂̸":"npart","∃":"exist","∄":"nexist","∅":"empty","∇":"Del","∈":"in","∉":"notin","∋":"ni","∌":"notni","϶":"bepsi","∏":"prod","∐":"coprod","∑":"sum","+":"plus","±":"pm","÷":"div","×":"times","<":"lt","≮":"nlt","<⃒":"nvlt","=":"equals","≠":"ne","=⃥":"bne","⩵":"Equal",">":"gt","≯":"ngt",">⃒":"nvgt","¬":"not","|":"vert","¦":"brvbar","−":"minus","∓":"mp","∔":"plusdo","⁄":"frasl","∖":"setmn","∗":"lowast","∘":"compfn","√":"Sqrt","∝":"prop","∞":"infin","∟":"angrt","∠":"ang","∠⃒":"nang","∡":"angmsd","∢":"angsph","∣":"mid","∤":"nmid","∥":"par","∦":"npar","∧":"and","∨":"or","∩":"cap","∩︀":"caps","∪":"cup","∪︀":"cups","∫":"int","∬":"Int","∭":"tint","⨌":"qint","∮":"oint","∯":"Conint","∰":"Cconint","∱":"cwint","∲":"cwconint","∳":"awconint","∴":"there4","∵":"becaus","∶":"ratio","∷":"Colon","∸":"minusd","∺":"mDDot","∻":"homtht","∼":"sim","≁":"nsim","∼⃒":"nvsim","∽":"bsim","∽̱":"race","∾":"ac","∾̳":"acE","∿":"acd","≀":"wr","≂":"esim","≂̸":"nesim","≃":"sime","≄":"nsime","≅":"cong","≇":"ncong","≆":"simne","≈":"ap","≉":"nap","≊":"ape","≋":"apid","≋̸":"napid","≌":"bcong","≍":"CupCap","≭":"NotCupCap","≍⃒":"nvap","≎":"bump","≎̸":"nbump","≏":"bumpe","≏̸":"nbumpe","≐":"doteq","≐̸":"nedot","≑":"eDot","≒":"efDot","≓":"erDot","≔":"colone","≕":"ecolon","≖":"ecir","≗":"cire","≙":"wedgeq","≚":"veeeq","≜":"trie","≟":"equest","≡":"equiv","≢":"nequiv","≡⃥":"bnequiv","≤":"le","≰":"nle","≤⃒":"nvle","≥":"ge","≱":"nge","≥⃒":"nvge","≦":"lE","≦̸":"nlE","≧":"gE","≧̸":"ngE","≨︀":"lvnE","≨":"lnE","≩":"gnE","≩︀":"gvnE","≪":"ll","≪̸":"nLtv","≪⃒":"nLt","≫":"gg","≫̸":"nGtv","≫⃒":"nGt","≬":"twixt","≲":"lsim","≴":"nlsim","≳":"gsim","≵":"ngsim","≶":"lg","≸":"ntlg","≷":"gl","≹":"ntgl","≺":"pr","⊀":"npr","≻":"sc","⊁":"nsc","≼":"prcue","⋠":"nprcue","≽":"sccue","⋡":"nsccue","≾":"prsim","≿":"scsim","≿̸":"NotSucceedsTilde","⊂":"sub","⊄":"nsub","⊂⃒":"vnsub","⊃":"sup","⊅":"nsup","⊃⃒":"vnsup","⊆":"sube","⊈":"nsube","⊇":"supe","⊉":"nsupe","⊊︀":"vsubne","⊊":"subne","⊋︀":"vsupne","⊋":"supne","⊍":"cupdot","⊎":"uplus","⊏":"sqsub","⊏̸":"NotSquareSubset","⊐":"sqsup","⊐̸":"NotSquareSuperset","⊑":"sqsube","⋢":"nsqsube","⊒":"sqsupe","⋣":"nsqsupe","⊓":"sqcap","⊓︀":"sqcaps","⊔":"sqcup","⊔︀":"sqcups","⊕":"oplus","⊖":"ominus","⊗":"otimes","⊘":"osol","⊙":"odot","⊚":"ocir","⊛":"oast","⊝":"odash","⊞":"plusb","⊟":"minusb","⊠":"timesb","⊡":"sdotb","⊢":"vdash","⊬":"nvdash","⊣":"dashv","⊤":"top","⊥":"bot","⊧":"models","⊨":"vDash","⊭":"nvDash","⊩":"Vdash","⊮":"nVdash","⊪":"Vvdash","⊫":"VDash","⊯":"nVDash","⊰":"prurel","⊲":"vltri","⋪":"nltri","⊳":"vrtri","⋫":"nrtri","⊴":"ltrie","⋬":"nltrie","⊴⃒":"nvltrie","⊵":"rtrie","⋭":"nrtrie","⊵⃒":"nvrtrie","⊶":"origof","⊷":"imof","⊸":"mumap","⊹":"hercon","⊺":"intcal","⊻":"veebar","⊽":"barvee","⊾":"angrtvb","⊿":"lrtri","⋀":"Wedge","⋁":"Vee","⋂":"xcap","⋃":"xcup","⋄":"diam","⋅":"sdot","⋆":"Star","⋇":"divonx","⋈":"bowtie","⋉":"ltimes","⋊":"rtimes","⋋":"lthree","⋌":"rthree","⋍":"bsime","⋎":"cuvee","⋏":"cuwed","⋐":"Sub","⋑":"Sup","⋒":"Cap","⋓":"Cup","⋔":"fork","⋕":"epar","⋖":"ltdot","⋗":"gtdot","⋘":"Ll","⋘̸":"nLl","⋙":"Gg","⋙̸":"nGg","⋚︀":"lesg","⋚":"leg","⋛":"gel","⋛︀":"gesl","⋞":"cuepr","⋟":"cuesc","⋦":"lnsim","⋧":"gnsim","⋨":"prnsim","⋩":"scnsim","⋮":"vellip","⋯":"ctdot","⋰":"utdot","⋱":"dtdot","⋲":"disin","⋳":"isinsv","⋴":"isins","⋵":"isindot","⋵̸":"notindot","⋶":"notinvc","⋷":"notinvb","⋹":"isinE","⋹̸":"notinE","⋺":"nisd","⋻":"xnis","⋼":"nis","⋽":"notnivc","⋾":"notnivb","⌅":"barwed","⌆":"Barwed","⌌":"drcrop","⌍":"dlcrop","⌎":"urcrop","⌏":"ulcrop","⌐":"bnot","⌒":"profline","⌓":"profsurf","⌕":"telrec","⌖":"target","⌜":"ulcorn","⌝":"urcorn","⌞":"dlcorn","⌟":"drcorn","⌢":"frown","⌣":"smile","⌭":"cylcty","⌮":"profalar","⌶":"topbot","⌽":"ovbar","⌿":"solbar","⍼":"angzarr","⎰":"lmoust","⎱":"rmoust","⎴":"tbrk","⎵":"bbrk","⎶":"bbrktbrk","⏜":"OverParenthesis","⏝":"UnderParenthesis","⏞":"OverBrace","⏟":"UnderBrace","⏢":"trpezium","⏧":"elinters","␣":"blank","─":"boxh","│":"boxv","┌":"boxdr","┐":"boxdl","└":"boxur","┘":"boxul","├":"boxvr","┤":"boxvl","┬":"boxhd","┴":"boxhu","┼":"boxvh","═":"boxH","║":"boxV","╒":"boxdR","╓":"boxDr","╔":"boxDR","╕":"boxdL","╖":"boxDl","╗":"boxDL","╘":"boxuR","╙":"boxUr","╚":"boxUR","╛":"boxuL","╜":"boxUl","╝":"boxUL","╞":"boxvR","╟":"boxVr","╠":"boxVR","╡":"boxvL","╢":"boxVl","╣":"boxVL","╤":"boxHd","╥":"boxhD","╦":"boxHD","╧":"boxHu","╨":"boxhU","╩":"boxHU","╪":"boxvH","╫":"boxVh","╬":"boxVH","▀":"uhblk","▄":"lhblk","█":"block","░":"blk14","▒":"blk12","▓":"blk34","□":"squ","▪":"squf","▫":"EmptyVerySmallSquare","▭":"rect","▮":"marker","▱":"fltns","△":"xutri","▴":"utrif","▵":"utri","▸":"rtrif","▹":"rtri","▽":"xdtri","▾":"dtrif","▿":"dtri","◂":"ltrif","◃":"ltri","◊":"loz","○":"cir","◬":"tridot","◯":"xcirc","◸":"ultri","◹":"urtri","◺":"lltri","◻":"EmptySmallSquare","◼":"FilledSmallSquare","★":"starf","☆":"star","☎":"phone","♀":"female","♂":"male","♠":"spades","♣":"clubs","♥":"hearts","♦":"diams","♪":"sung","✓":"check","✗":"cross","✠":"malt","✶":"sext","❘":"VerticalSeparator","⟈":"bsolhsub","⟉":"suphsol","⟵":"xlarr","⟶":"xrarr","⟷":"xharr","⟸":"xlArr","⟹":"xrArr","⟺":"xhArr","⟼":"xmap","⟿":"dzigrarr","⤂":"nvlArr","⤃":"nvrArr","⤄":"nvHarr","⤅":"Map","⤌":"lbarr","⤍":"rbarr","⤎":"lBarr","⤏":"rBarr","⤐":"RBarr","⤑":"DDotrahd","⤒":"UpArrowBar","⤓":"DownArrowBar","⤖":"Rarrtl","⤙":"latail","⤚":"ratail","⤛":"lAtail","⤜":"rAtail","⤝":"larrfs","⤞":"rarrfs","⤟":"larrbfs","⤠":"rarrbfs","⤣":"nwarhk","⤤":"nearhk","⤥":"searhk","⤦":"swarhk","⤧":"nwnear","⤨":"toea","⤩":"tosa","⤪":"swnwar","⤳":"rarrc","⤳̸":"nrarrc","⤵":"cudarrr","⤶":"ldca","⤷":"rdca","⤸":"cudarrl","⤹":"larrpl","⤼":"curarrm","⤽":"cularrp","⥅":"rarrpl","⥈":"harrcir","⥉":"Uarrocir","⥊":"lurdshar","⥋":"ldrushar","⥎":"LeftRightVector","⥏":"RightUpDownVector","⥐":"DownLeftRightVector","⥑":"LeftUpDownVector","⥒":"LeftVectorBar","⥓":"RightVectorBar","⥔":"RightUpVectorBar","⥕":"RightDownVectorBar","⥖":"DownLeftVectorBar","⥗":"DownRightVectorBar","⥘":"LeftUpVectorBar","⥙":"LeftDownVectorBar","⥚":"LeftTeeVector","⥛":"RightTeeVector","⥜":"RightUpTeeVector","⥝":"RightDownTeeVector","⥞":"DownLeftTeeVector","⥟":"DownRightTeeVector","⥠":"LeftUpTeeVector","⥡":"LeftDownTeeVector","⥢":"lHar","⥣":"uHar","⥤":"rHar","⥥":"dHar","⥦":"luruhar","⥧":"ldrdhar","⥨":"ruluhar","⥩":"rdldhar","⥪":"lharul","⥫":"llhard","⥬":"rharul","⥭":"lrhard","⥮":"udhar","⥯":"duhar","⥰":"RoundImplies","⥱":"erarr","⥲":"simrarr","⥳":"larrsim","⥴":"rarrsim","⥵":"rarrap","⥶":"ltlarr","⥸":"gtrarr","⥹":"subrarr","⥻":"suplarr","⥼":"lfisht","⥽":"rfisht","⥾":"ufisht","⥿":"dfisht","⦚":"vzigzag","⦜":"vangrt","⦝":"angrtvbd","⦤":"ange","⦥":"range","⦦":"dwangle","⦧":"uwangle","⦨":"angmsdaa","⦩":"angmsdab","⦪":"angmsdac","⦫":"angmsdad","⦬":"angmsdae","⦭":"angmsdaf","⦮":"angmsdag","⦯":"angmsdah","⦰":"bemptyv","⦱":"demptyv","⦲":"cemptyv","⦳":"raemptyv","⦴":"laemptyv","⦵":"ohbar","⦶":"omid","⦷":"opar","⦹":"operp","⦻":"olcross","⦼":"odsold","⦾":"olcir","⦿":"ofcir","⧀":"olt","⧁":"ogt","⧂":"cirscir","⧃":"cirE","⧄":"solb","⧅":"bsolb","⧉":"boxbox","⧍":"trisb","⧎":"rtriltri","⧏":"LeftTriangleBar","⧏̸":"NotLeftTriangleBar","⧐":"RightTriangleBar","⧐̸":"NotRightTriangleBar","⧜":"iinfin","⧝":"infintie","⧞":"nvinfin","⧣":"eparsl","⧤":"smeparsl","⧥":"eqvparsl","⧫":"lozf","⧴":"RuleDelayed","⧶":"dsol","⨀":"xodot","⨁":"xoplus","⨂":"xotime","⨄":"xuplus","⨆":"xsqcup","⨍":"fpartint","⨐":"cirfnint","⨑":"awint","⨒":"rppolint","⨓":"scpolint","⨔":"npolint","⨕":"pointint","⨖":"quatint","⨗":"intlarhk","⨢":"pluscir","⨣":"plusacir","⨤":"simplus","⨥":"plusdu","⨦":"plussim","⨧":"plustwo","⨩":"mcomma","⨪":"minusdu","⨭":"loplus","⨮":"roplus","⨯":"Cross","⨰":"timesd","⨱":"timesbar","⨳":"smashp","⨴":"lotimes","⨵":"rotimes","⨶":"otimesas","⨷":"Otimes","⨸":"odiv","⨹":"triplus","⨺":"triminus","⨻":"tritime","⨼":"iprod","⨿":"amalg","⩀":"capdot","⩂":"ncup","⩃":"ncap","⩄":"capand","⩅":"cupor","⩆":"cupcap","⩇":"capcup","⩈":"cupbrcap","⩉":"capbrcup","⩊":"cupcup","⩋":"capcap","⩌":"ccups","⩍":"ccaps","⩐":"ccupssm","⩓":"And","⩔":"Or","⩕":"andand","⩖":"oror","⩗":"orslope","⩘":"andslope","⩚":"andv","⩛":"orv","⩜":"andd","⩝":"ord","⩟":"wedbar","⩦":"sdote","⩪":"simdot","⩭":"congdot","⩭̸":"ncongdot","⩮":"easter","⩯":"apacir","⩰":"apE","⩰̸":"napE","⩱":"eplus","⩲":"pluse","⩳":"Esim","⩷":"eDDot","⩸":"equivDD","⩹":"ltcir","⩺":"gtcir","⩻":"ltquest","⩼":"gtquest","⩽":"les","⩽̸":"nles","⩾":"ges","⩾̸":"nges","⩿":"lesdot","⪀":"gesdot","⪁":"lesdoto","⪂":"gesdoto","⪃":"lesdotor","⪄":"gesdotol","⪅":"lap","⪆":"gap","⪇":"lne","⪈":"gne","⪉":"lnap","⪊":"gnap","⪋":"lEg","⪌":"gEl","⪍":"lsime","⪎":"gsime","⪏":"lsimg","⪐":"gsiml","⪑":"lgE","⪒":"glE","⪓":"lesges","⪔":"gesles","⪕":"els","⪖":"egs","⪗":"elsdot","⪘":"egsdot","⪙":"el","⪚":"eg","⪝":"siml","⪞":"simg","⪟":"simlE","⪠":"simgE","⪡":"LessLess","⪡̸":"NotNestedLessLess","⪢":"GreaterGreater","⪢̸":"NotNestedGreaterGreater","⪤":"glj","⪥":"gla","⪦":"ltcc","⪧":"gtcc","⪨":"lescc","⪩":"gescc","⪪":"smt","⪫":"lat","⪬":"smte","⪬︀":"smtes","⪭":"late","⪭︀":"lates","⪮":"bumpE","⪯":"pre","⪯̸":"npre","⪰":"sce","⪰̸":"nsce","⪳":"prE","⪴":"scE","⪵":"prnE","⪶":"scnE","⪷":"prap","⪸":"scap","⪹":"prnap","⪺":"scnap","⪻":"Pr","⪼":"Sc","⪽":"subdot","⪾":"supdot","⪿":"subplus","⫀":"supplus","⫁":"submult","⫂":"supmult","⫃":"subedot","⫄":"supedot","⫅":"subE","⫅̸":"nsubE","⫆":"supE","⫆̸":"nsupE","⫇":"subsim","⫈":"supsim","⫋︀":"vsubnE","⫋":"subnE","⫌︀":"vsupnE","⫌":"supnE","⫏":"csub","⫐":"csup","⫑":"csube","⫒":"csupe","⫓":"subsup","⫔":"supsub","⫕":"subsub","⫖":"supsup","⫗":"suphsub","⫘":"supdsub","⫙":"forkv","⫚":"topfork","⫛":"mlcp","⫤":"Dashv","⫦":"Vdashl","⫧":"Barv","⫨":"vBar","⫩":"vBarv","⫫":"Vbar","⫬":"Not","⫭":"bNot","⫮":"rnmid","⫯":"cirmid","⫰":"midcir","⫱":"topcir","⫲":"nhpar","⫳":"parsim","⫽":"parsl","⫽⃥":"nparsl","♭":"flat","♮":"natur","♯":"sharp","¤":"curren","¢":"cent",$:"dollar","£":"pound","¥":"yen","€":"euro","¹":"sup1","½":"half","⅓":"frac13","¼":"frac14","⅕":"frac15","⅙":"frac16","⅛":"frac18","²":"sup2","⅔":"frac23","⅖":"frac25","³":"sup3","¾":"frac34","⅗":"frac35","⅜":"frac38","⅘":"frac45","⅚":"frac56","⅝":"frac58","⅞":"frac78",𝒶:"ascr",𝕒:"aopf",𝔞:"afr",𝔸:"Aopf",𝔄:"Afr",𝒜:"Ascr",ª:"ordf",á:"aacute",Á:"Aacute",à:"agrave",À:"Agrave",ă:"abreve",Ă:"Abreve",â:"acirc",Â:"Acirc",å:"aring",Å:"angst",ä:"auml",Ä:"Auml",ã:"atilde",Ã:"Atilde",ą:"aogon",Ą:"Aogon",ā:"amacr",Ā:"Amacr",æ:"aelig",Æ:"AElig",𝒷:"bscr",𝕓:"bopf",𝔟:"bfr",𝔹:"Bopf",ℬ:"Bscr",𝔅:"Bfr",𝔠:"cfr",𝒸:"cscr",𝕔:"copf",ℭ:"Cfr",𝒞:"Cscr",ℂ:"Copf",ć:"cacute",Ć:"Cacute",ĉ:"ccirc",Ĉ:"Ccirc",č:"ccaron",Č:"Ccaron",ċ:"cdot",Ċ:"Cdot",ç:"ccedil",Ç:"Ccedil","℅":"incare",𝔡:"dfr",ⅆ:"dd",𝕕:"dopf",𝒹:"dscr",𝒟:"Dscr",𝔇:"Dfr",ⅅ:"DD",𝔻:"Dopf",ď:"dcaron",Ď:"Dcaron",đ:"dstrok",Đ:"Dstrok",ð:"eth",Ð:"ETH",ⅇ:"ee",ℯ:"escr",𝔢:"efr",𝕖:"eopf",ℰ:"Escr",𝔈:"Efr",𝔼:"Eopf",é:"eacute",É:"Eacute",è:"egrave",È:"Egrave",ê:"ecirc",Ê:"Ecirc",ě:"ecaron",Ě:"Ecaron",ë:"euml",Ë:"Euml",ė:"edot",Ė:"Edot",ę:"eogon",Ę:"Eogon",ē:"emacr",Ē:"Emacr",𝔣:"ffr",𝕗:"fopf",𝒻:"fscr",𝔉:"Ffr",𝔽:"Fopf",ℱ:"Fscr",ff:"fflig",ffi:"ffilig",ffl:"ffllig",fi:"filig",fj:"fjlig",fl:"fllig",ƒ:"fnof",ℊ:"gscr",𝕘:"gopf",𝔤:"gfr",𝒢:"Gscr",𝔾:"Gopf",𝔊:"Gfr",ǵ:"gacute",ğ:"gbreve",Ğ:"Gbreve",ĝ:"gcirc",Ĝ:"Gcirc",ġ:"gdot",Ġ:"Gdot",Ģ:"Gcedil",𝔥:"hfr",ℎ:"planckh",𝒽:"hscr",𝕙:"hopf",ℋ:"Hscr",ℌ:"Hfr",ℍ:"Hopf",ĥ:"hcirc",Ĥ:"Hcirc",ℏ:"hbar",ħ:"hstrok",Ħ:"Hstrok",𝕚:"iopf",𝔦:"ifr",𝒾:"iscr",ⅈ:"ii",𝕀:"Iopf",ℐ:"Iscr",ℑ:"Im",í:"iacute",Í:"Iacute",ì:"igrave",Ì:"Igrave",î:"icirc",Î:"Icirc",ï:"iuml",Ï:"Iuml",ĩ:"itilde",Ĩ:"Itilde",İ:"Idot",į:"iogon",Į:"Iogon",ī:"imacr",Ī:"Imacr",ij:"ijlig",IJ:"IJlig",ı:"imath",𝒿:"jscr",𝕛:"jopf",𝔧:"jfr",𝒥:"Jscr",𝔍:"Jfr",𝕁:"Jopf",ĵ:"jcirc",Ĵ:"Jcirc",ȷ:"jmath",𝕜:"kopf",𝓀:"kscr",𝔨:"kfr",𝒦:"Kscr",𝕂:"Kopf",𝔎:"Kfr",ķ:"kcedil",Ķ:"Kcedil",𝔩:"lfr",𝓁:"lscr",ℓ:"ell",𝕝:"lopf",ℒ:"Lscr",𝔏:"Lfr",𝕃:"Lopf",ĺ:"lacute",Ĺ:"Lacute",ľ:"lcaron",Ľ:"Lcaron",ļ:"lcedil",Ļ:"Lcedil",ł:"lstrok",Ł:"Lstrok",ŀ:"lmidot",Ŀ:"Lmidot",𝔪:"mfr",𝕞:"mopf",𝓂:"mscr",𝔐:"Mfr",𝕄:"Mopf",ℳ:"Mscr",𝔫:"nfr",𝕟:"nopf",𝓃:"nscr",ℕ:"Nopf",𝒩:"Nscr",𝔑:"Nfr",ń:"nacute",Ń:"Nacute",ň:"ncaron",Ň:"Ncaron",ñ:"ntilde",Ñ:"Ntilde",ņ:"ncedil",Ņ:"Ncedil","№":"numero",ŋ:"eng",Ŋ:"ENG",𝕠:"oopf",𝔬:"ofr",ℴ:"oscr",𝒪:"Oscr",𝔒:"Ofr",𝕆:"Oopf",º:"ordm",ó:"oacute",Ó:"Oacute",ò:"ograve",Ò:"Ograve",ô:"ocirc",Ô:"Ocirc",ö:"ouml",Ö:"Ouml",ő:"odblac",Ő:"Odblac",õ:"otilde",Õ:"Otilde",ø:"oslash",Ø:"Oslash",ō:"omacr",Ō:"Omacr",œ:"oelig",Œ:"OElig",𝔭:"pfr",𝓅:"pscr",𝕡:"popf",ℙ:"Popf",𝔓:"Pfr",𝒫:"Pscr",𝕢:"qopf",𝔮:"qfr",𝓆:"qscr",𝒬:"Qscr",𝔔:"Qfr",ℚ:"Qopf",ĸ:"kgreen",𝔯:"rfr",𝕣:"ropf",𝓇:"rscr",ℛ:"Rscr",ℜ:"Re",ℝ:"Ropf",ŕ:"racute",Ŕ:"Racute",ř:"rcaron",Ř:"Rcaron",ŗ:"rcedil",Ŗ:"Rcedil",𝕤:"sopf",𝓈:"sscr",𝔰:"sfr",𝕊:"Sopf",𝔖:"Sfr",𝒮:"Sscr","Ⓢ":"oS",ś:"sacute",Ś:"Sacute",ŝ:"scirc",Ŝ:"Scirc",š:"scaron",Š:"Scaron",ş:"scedil",Ş:"Scedil",ß:"szlig",𝔱:"tfr",𝓉:"tscr",𝕥:"topf",𝒯:"Tscr",𝔗:"Tfr",𝕋:"Topf",ť:"tcaron",Ť:"Tcaron",ţ:"tcedil",Ţ:"Tcedil","™":"trade",ŧ:"tstrok",Ŧ:"Tstrok",𝓊:"uscr",𝕦:"uopf",𝔲:"ufr",𝕌:"Uopf",𝔘:"Ufr",𝒰:"Uscr",ú:"uacute",Ú:"Uacute",ù:"ugrave",Ù:"Ugrave",ŭ:"ubreve",Ŭ:"Ubreve",û:"ucirc",Û:"Ucirc",ů:"uring",Ů:"Uring",ü:"uuml",Ü:"Uuml",ű:"udblac",Ű:"Udblac",ũ:"utilde",Ũ:"Utilde",ų:"uogon",Ų:"Uogon",ū:"umacr",Ū:"Umacr",𝔳:"vfr",𝕧:"vopf",𝓋:"vscr",𝔙:"Vfr",𝕍:"Vopf",𝒱:"Vscr",𝕨:"wopf",𝓌:"wscr",𝔴:"wfr",𝒲:"Wscr",𝕎:"Wopf",𝔚:"Wfr",ŵ:"wcirc",Ŵ:"Wcirc",𝔵:"xfr",𝓍:"xscr",𝕩:"xopf",𝕏:"Xopf",𝔛:"Xfr",𝒳:"Xscr",𝔶:"yfr",𝓎:"yscr",𝕪:"yopf",𝒴:"Yscr",𝔜:"Yfr",𝕐:"Yopf",ý:"yacute",Ý:"Yacute",ŷ:"ycirc",Ŷ:"Ycirc",ÿ:"yuml",Ÿ:"Yuml",𝓏:"zscr",𝔷:"zfr",𝕫:"zopf",ℨ:"Zfr",ℤ:"Zopf",𝒵:"Zscr",ź:"zacute",Ź:"Zacute",ž:"zcaron",Ž:"Zcaron",ż:"zdot",Ż:"Zdot",Ƶ:"imped",þ:"thorn",Þ:"THORN",ʼn:"napos",α:"alpha",Α:"Alpha",β:"beta",Β:"Beta",γ:"gamma",Γ:"Gamma",δ:"delta",Δ:"Delta",ε:"epsi",ϵ:"epsiv",Ε:"Epsilon",ϝ:"gammad",Ϝ:"Gammad",ζ:"zeta",Ζ:"Zeta",η:"eta",Η:"Eta",θ:"theta",ϑ:"thetav",Θ:"Theta",ι:"iota",Ι:"Iota",κ:"kappa",ϰ:"kappav",Κ:"Kappa",λ:"lambda",Λ:"Lambda",μ:"mu",µ:"micro",Μ:"Mu",ν:"nu",Ν:"Nu",ξ:"xi",Ξ:"Xi",ο:"omicron",Ο:"Omicron",π:"pi",ϖ:"piv",Π:"Pi",ρ:"rho",ϱ:"rhov",Ρ:"Rho",σ:"sigma",Σ:"Sigma",ς:"sigmaf",τ:"tau",Τ:"Tau",υ:"upsi",Υ:"Upsilon",ϒ:"Upsi",φ:"phi",ϕ:"phiv",Φ:"Phi",χ:"chi",Χ:"Chi",ψ:"psi",Ψ:"Psi",ω:"omega",Ω:"ohm",а:"acy",А:"Acy",б:"bcy",Б:"Bcy",в:"vcy",В:"Vcy",г:"gcy",Г:"Gcy",ѓ:"gjcy",Ѓ:"GJcy",д:"dcy",Д:"Dcy",ђ:"djcy",Ђ:"DJcy",е:"iecy",Е:"IEcy",ё:"iocy",Ё:"IOcy",є:"jukcy",Є:"Jukcy",ж:"zhcy",Ж:"ZHcy",з:"zcy",З:"Zcy",ѕ:"dscy",Ѕ:"DScy",и:"icy",И:"Icy",і:"iukcy",І:"Iukcy",ї:"yicy",Ї:"YIcy",й:"jcy",Й:"Jcy",ј:"jsercy",Ј:"Jsercy",к:"kcy",К:"Kcy",ќ:"kjcy",Ќ:"KJcy",л:"lcy",Л:"Lcy",љ:"ljcy",Љ:"LJcy",м:"mcy",М:"Mcy",н:"ncy",Н:"Ncy",њ:"njcy",Њ:"NJcy",о:"ocy",О:"Ocy",п:"pcy",П:"Pcy",р:"rcy",Р:"Rcy",с:"scy",С:"Scy",т:"tcy",Т:"Tcy",ћ:"tshcy",Ћ:"TSHcy",у:"ucy",У:"Ucy",ў:"ubrcy",Ў:"Ubrcy",ф:"fcy",Ф:"Fcy",х:"khcy",Х:"KHcy",ц:"tscy",Ц:"TScy",ч:"chcy",Ч:"CHcy",џ:"dzcy",Џ:"DZcy",ш:"shcy",Ш:"SHcy",щ:"shchcy",Щ:"SHCHcy",ъ:"hardcy",Ъ:"HARDcy",ы:"ycy",Ы:"Ycy",ь:"softcy",Ь:"SOFTcy",э:"ecy",Э:"Ecy",ю:"yucy",Ю:"YUcy",я:"yacy",Я:"YAcy",ℵ:"aleph",ℶ:"beth",ℷ:"gimel",ℸ:"daleth"},d=/["&'<>`]/g,f={'"':""","&":"&","'":"'","<":"<",">":">","`":"`"},p=/&#(?:[xX][^a-fA-F0-9]|[^0-9xX])/,h=/[\0-\x08\x0B\x0E-\x1F\x7F-\x9F\uFDD0-\uFDEF\uFFFE\uFFFF]|[\uD83F\uD87F\uD8BF\uD8FF\uD93F\uD97F\uD9BF\uD9FF\uDA3F\uDA7F\uDABF\uDAFF\uDB3F\uDB7F\uDBBF\uDBFF][\uDFFE\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,g=/&(CounterClockwiseContourIntegral|DoubleLongLeftRightArrow|ClockwiseContourIntegral|NotNestedGreaterGreater|NotSquareSupersetEqual|DiacriticalDoubleAcute|NotRightTriangleEqual|NotSucceedsSlantEqual|NotPrecedesSlantEqual|CloseCurlyDoubleQuote|NegativeVeryThinSpace|DoubleContourIntegral|FilledVerySmallSquare|CapitalDifferentialD|OpenCurlyDoubleQuote|EmptyVerySmallSquare|NestedGreaterGreater|DoubleLongRightArrow|NotLeftTriangleEqual|NotGreaterSlantEqual|ReverseUpEquilibrium|DoubleLeftRightArrow|NotSquareSubsetEqual|NotDoubleVerticalBar|RightArrowLeftArrow|NotGreaterFullEqual|NotRightTriangleBar|SquareSupersetEqual|DownLeftRightVector|DoubleLongLeftArrow|leftrightsquigarrow|LeftArrowRightArrow|NegativeMediumSpace|blacktriangleright|RightDownVectorBar|PrecedesSlantEqual|RightDoubleBracket|SucceedsSlantEqual|NotLeftTriangleBar|RightTriangleEqual|SquareIntersection|RightDownTeeVector|ReverseEquilibrium|NegativeThickSpace|longleftrightarrow|Longleftrightarrow|LongLeftRightArrow|DownRightTeeVector|DownRightVectorBar|GreaterSlantEqual|SquareSubsetEqual|LeftDownVectorBar|LeftDoubleBracket|VerticalSeparator|rightleftharpoons|NotGreaterGreater|NotSquareSuperset|blacktriangleleft|blacktriangledown|NegativeThinSpace|LeftDownTeeVector|NotLessSlantEqual|leftrightharpoons|DoubleUpDownArrow|DoubleVerticalBar|LeftTriangleEqual|FilledSmallSquare|twoheadrightarrow|NotNestedLessLess|DownLeftTeeVector|DownLeftVectorBar|RightAngleBracket|NotTildeFullEqual|NotReverseElement|RightUpDownVector|DiacriticalTilde|NotSucceedsTilde|circlearrowright|NotPrecedesEqual|rightharpoondown|DoubleRightArrow|NotSucceedsEqual|NonBreakingSpace|NotRightTriangle|LessEqualGreater|RightUpTeeVector|LeftAngleBracket|GreaterFullEqual|DownArrowUpArrow|RightUpVectorBar|twoheadleftarrow|GreaterEqualLess|downharpoonright|RightTriangleBar|ntrianglerighteq|NotSupersetEqual|LeftUpDownVector|DiacriticalAcute|rightrightarrows|vartriangleright|UpArrowDownArrow|DiacriticalGrave|UnderParenthesis|EmptySmallSquare|LeftUpVectorBar|leftrightarrows|DownRightVector|downharpoonleft|trianglerighteq|ShortRightArrow|OverParenthesis|DoubleLeftArrow|DoubleDownArrow|NotSquareSubset|bigtriangledown|ntrianglelefteq|UpperRightArrow|curvearrowright|vartriangleleft|NotLeftTriangle|nleftrightarrow|LowerRightArrow|NotHumpDownHump|NotGreaterTilde|rightthreetimes|LeftUpTeeVector|NotGreaterEqual|straightepsilon|LeftTriangleBar|rightsquigarrow|ContourIntegral|rightleftarrows|CloseCurlyQuote|RightDownVector|LeftRightVector|nLeftrightarrow|leftharpoondown|circlearrowleft|SquareSuperset|OpenCurlyQuote|hookrightarrow|HorizontalLine|DiacriticalDot|NotLessGreater|ntriangleright|DoubleRightTee|InvisibleComma|InvisibleTimes|LowerLeftArrow|DownLeftVector|NotSubsetEqual|curvearrowleft|trianglelefteq|NotVerticalBar|TildeFullEqual|downdownarrows|NotGreaterLess|RightTeeVector|ZeroWidthSpace|looparrowright|LongRightArrow|doublebarwedge|ShortLeftArrow|ShortDownArrow|RightVectorBar|GreaterGreater|ReverseElement|rightharpoonup|LessSlantEqual|leftthreetimes|upharpoonright|rightarrowtail|LeftDownVector|Longrightarrow|NestedLessLess|UpperLeftArrow|nshortparallel|leftleftarrows|leftrightarrow|Leftrightarrow|LeftRightArrow|longrightarrow|upharpoonleft|RightArrowBar|ApplyFunction|LeftTeeVector|leftarrowtail|NotEqualTilde|varsubsetneqq|varsupsetneqq|RightTeeArrow|SucceedsEqual|SucceedsTilde|LeftVectorBar|SupersetEqual|hookleftarrow|DifferentialD|VerticalTilde|VeryThinSpace|blacktriangle|bigtriangleup|LessFullEqual|divideontimes|leftharpoonup|UpEquilibrium|ntriangleleft|RightTriangle|measuredangle|shortparallel|longleftarrow|Longleftarrow|LongLeftArrow|DoubleLeftTee|Poincareplane|PrecedesEqual|triangleright|DoubleUpArrow|RightUpVector|fallingdotseq|looparrowleft|PrecedesTilde|NotTildeEqual|NotTildeTilde|smallsetminus|Proportional|triangleleft|triangledown|UnderBracket|NotHumpEqual|exponentiale|ExponentialE|NotLessTilde|HilbertSpace|RightCeiling|blacklozenge|varsupsetneq|HumpDownHump|GreaterEqual|VerticalLine|LeftTeeArrow|NotLessEqual|DownTeeArrow|LeftTriangle|varsubsetneq|Intersection|NotCongruent|DownArrowBar|LeftUpVector|LeftArrowBar|risingdotseq|GreaterTilde|RoundImplies|SquareSubset|ShortUpArrow|NotSuperset|quaternions|precnapprox|backepsilon|preccurlyeq|OverBracket|blacksquare|MediumSpace|VerticalBar|circledcirc|circleddash|CircleMinus|CircleTimes|LessGreater|curlyeqprec|curlyeqsucc|diamondsuit|UpDownArrow|Updownarrow|RuleDelayed|Rrightarrow|updownarrow|RightVector|nRightarrow|nrightarrow|eqslantless|LeftCeiling|Equilibrium|SmallCircle|expectation|NotSucceeds|thickapprox|GreaterLess|SquareUnion|NotPrecedes|NotLessLess|straightphi|succnapprox|succcurlyeq|SubsetEqual|sqsupseteq|Proportion|Laplacetrf|ImaginaryI|supsetneqq|NotGreater|gtreqqless|NotElement|ThickSpace|TildeEqual|TildeTilde|Fouriertrf|rmoustache|EqualTilde|eqslantgtr|UnderBrace|LeftVector|UpArrowBar|nLeftarrow|nsubseteqq|subsetneqq|nsupseteqq|nleftarrow|succapprox|lessapprox|UpTeeArrow|upuparrows|curlywedge|lesseqqgtr|varepsilon|varnothing|RightFloor|complement|CirclePlus|sqsubseteq|Lleftarrow|circledast|RightArrow|Rightarrow|rightarrow|lmoustache|Bernoullis|precapprox|mapstoleft|mapstodown|longmapsto|dotsquare|downarrow|DoubleDot|nsubseteq|supsetneq|leftarrow|nsupseteq|subsetneq|ThinSpace|ngeqslant|subseteqq|HumpEqual|NotSubset|triangleq|NotCupCap|lesseqgtr|heartsuit|TripleDot|Leftarrow|Coproduct|Congruent|varpropto|complexes|gvertneqq|LeftArrow|LessTilde|supseteqq|MinusPlus|CircleDot|nleqslant|NotExists|gtreqless|nparallel|UnionPlus|LeftFloor|checkmark|CenterDot|centerdot|Mellintrf|gtrapprox|bigotimes|OverBrace|spadesuit|therefore|pitchfork|rationals|PlusMinus|Backslash|Therefore|DownBreve|backsimeq|backprime|DownArrow|nshortmid|Downarrow|lvertneqq|eqvparsl|imagline|imagpart|infintie|integers|Integral|intercal|LessLess|Uarrocir|intlarhk|sqsupset|angmsdaf|sqsubset|llcorner|vartheta|cupbrcap|lnapprox|Superset|SuchThat|succnsim|succneqq|angmsdag|biguplus|curlyvee|trpezium|Succeeds|NotTilde|bigwedge|angmsdah|angrtvbd|triminus|cwconint|fpartint|lrcorner|smeparsl|subseteq|urcorner|lurdshar|laemptyv|DDotrahd|approxeq|ldrushar|awconint|mapstoup|backcong|shortmid|triangle|geqslant|gesdotol|timesbar|circledR|circledS|setminus|multimap|naturals|scpolint|ncongdot|RightTee|boxminus|gnapprox|boxtimes|andslope|thicksim|angmsdaa|varsigma|cirfnint|rtriltri|angmsdab|rppolint|angmsdac|barwedge|drbkarow|clubsuit|thetasym|bsolhsub|capbrcup|dzigrarr|doteqdot|DotEqual|dotminus|UnderBar|NotEqual|realpart|otimesas|ulcorner|hksearow|hkswarow|parallel|PartialD|elinters|emptyset|plusacir|bbrktbrk|angmsdad|pointint|bigoplus|angmsdae|Precedes|bigsqcup|varkappa|notindot|supseteq|precneqq|precnsim|profalar|profline|profsurf|leqslant|lesdotor|raemptyv|subplus|notnivb|notnivc|subrarr|zigrarr|vzigzag|submult|subedot|Element|between|cirscir|larrbfs|larrsim|lotimes|lbrksld|lbrkslu|lozenge|ldrdhar|dbkarow|bigcirc|epsilon|simrarr|simplus|ltquest|Epsilon|luruhar|gtquest|maltese|npolint|eqcolon|npreceq|bigodot|ddagger|gtrless|bnequiv|harrcir|ddotseq|equivDD|backsim|demptyv|nsqsube|nsqsupe|Upsilon|nsubset|upsilon|minusdu|nsucceq|swarrow|nsupset|coloneq|searrow|boxplus|napprox|natural|asympeq|alefsym|congdot|nearrow|bigstar|diamond|supplus|tritime|LeftTee|nvinfin|triplus|NewLine|nvltrie|nvrtrie|nwarrow|nexists|Diamond|ruluhar|Implies|supmult|angzarr|suplarr|suphsub|questeq|because|digamma|Because|olcross|bemptyv|omicron|Omicron|rotimes|NoBreak|intprod|angrtvb|orderof|uwangle|suphsol|lesdoto|orslope|DownTee|realine|cudarrl|rdldhar|OverBar|supedot|lessdot|supdsub|topfork|succsim|rbrkslu|rbrksld|pertenk|cudarrr|isindot|planckh|lessgtr|pluscir|gesdoto|plussim|plustwo|lesssim|cularrp|rarrsim|Cayleys|notinva|notinvb|notinvc|UpArrow|Uparrow|uparrow|NotLess|dwangle|precsim|Product|curarrm|Cconint|dotplus|rarrbfs|ccupssm|Cedilla|cemptyv|notniva|quatint|frac35|frac38|frac45|frac56|frac58|frac78|tridot|xoplus|gacute|gammad|Gammad|lfisht|lfloor|bigcup|sqsupe|gbreve|Gbreve|lharul|sqsube|sqcups|Gcedil|apacir|llhard|lmidot|Lmidot|lmoust|andand|sqcaps|approx|Abreve|spades|circeq|tprime|divide|topcir|Assign|topbot|gesdot|divonx|xuplus|timesd|gesles|atilde|solbar|SOFTcy|loplus|timesb|lowast|lowbar|dlcorn|dlcrop|softcy|dollar|lparlt|thksim|lrhard|Atilde|lsaquo|smashp|bigvee|thinsp|wreath|bkarow|lsquor|lstrok|Lstrok|lthree|ltimes|ltlarr|DotDot|simdot|ltrPar|weierp|xsqcup|angmsd|sigmav|sigmaf|zeetrf|Zcaron|zcaron|mapsto|vsupne|thetav|cirmid|marker|mcomma|Zacute|vsubnE|there4|gtlPar|vsubne|bottom|gtrarr|SHCHcy|shchcy|midast|midcir|middot|minusb|minusd|gtrdot|bowtie|sfrown|mnplus|models|colone|seswar|Colone|mstpos|searhk|gtrsim|nacute|Nacute|boxbox|telrec|hairsp|Tcedil|nbumpe|scnsim|ncaron|Ncaron|ncedil|Ncedil|hamilt|Scedil|nearhk|hardcy|HARDcy|tcedil|Tcaron|commat|nequiv|nesear|tcaron|target|hearts|nexist|varrho|scedil|Scaron|scaron|hellip|Sacute|sacute|hercon|swnwar|compfn|rtimes|rthree|rsquor|rsaquo|zacute|wedgeq|homtht|barvee|barwed|Barwed|rpargt|horbar|conint|swarhk|roplus|nltrie|hslash|hstrok|Hstrok|rmoust|Conint|bprime|hybull|hyphen|iacute|Iacute|supsup|supsub|supsim|varphi|coprod|brvbar|agrave|Supset|supset|igrave|Igrave|notinE|Agrave|iiiint|iinfin|copysr|wedbar|Verbar|vangrt|becaus|incare|verbar|inodot|bullet|drcorn|intcal|drcrop|cularr|vellip|Utilde|bumpeq|cupcap|dstrok|Dstrok|CupCap|cupcup|cupdot|eacute|Eacute|supdot|iquest|easter|ecaron|Ecaron|ecolon|isinsv|utilde|itilde|Itilde|curarr|succeq|Bumpeq|cacute|ulcrop|nparsl|Cacute|nprcue|egrave|Egrave|nrarrc|nrarrw|subsup|subsub|nrtrie|jsercy|nsccue|Jsercy|kappav|kcedil|Kcedil|subsim|ulcorn|nsimeq|egsdot|veebar|kgreen|capand|elsdot|Subset|subset|curren|aacute|lacute|Lacute|emptyv|ntilde|Ntilde|lagran|lambda|Lambda|capcap|Ugrave|langle|subdot|emsp13|numero|emsp14|nvdash|nvDash|nVdash|nVDash|ugrave|ufisht|nvHarr|larrfs|nvlArr|larrhk|larrlp|larrpl|nvrArr|Udblac|nwarhk|larrtl|nwnear|oacute|Oacute|latail|lAtail|sstarf|lbrace|odblac|Odblac|lbrack|udblac|odsold|eparsl|lcaron|Lcaron|ograve|Ograve|lcedil|Lcedil|Aacute|ssmile|ssetmn|squarf|ldquor|capcup|ominus|cylcty|rharul|eqcirc|dagger|rfloor|rfisht|Dagger|daleth|equals|origof|capdot|equest|dcaron|Dcaron|rdquor|oslash|Oslash|otilde|Otilde|otimes|Otimes|urcrop|Ubreve|ubreve|Yacute|Uacute|uacute|Rcedil|rcedil|urcorn|parsim|Rcaron|Vdashl|rcaron|Tstrok|percnt|period|permil|Exists|yacute|rbrack|rbrace|phmmat|ccaron|Ccaron|planck|ccedil|plankv|tstrok|female|plusdo|plusdu|ffilig|plusmn|ffllig|Ccedil|rAtail|dfisht|bernou|ratail|Rarrtl|rarrtl|angsph|rarrpl|rarrlp|rarrhk|xwedge|xotime|forall|ForAll|Vvdash|vsupnE|preceq|bigcap|frac12|frac13|frac14|primes|rarrfs|prnsim|frac15|Square|frac16|square|lesdot|frac18|frac23|propto|prurel|rarrap|rangle|puncsp|frac25|Racute|qprime|racute|lesges|frac34|abreve|AElig|eqsim|utdot|setmn|urtri|Equal|Uring|seArr|uring|searr|dashv|Dashv|mumap|nabla|iogon|Iogon|sdote|sdotb|scsim|napid|napos|equiv|natur|Acirc|dblac|erarr|nbump|iprod|erDot|ucirc|awint|esdot|angrt|ncong|isinE|scnap|Scirc|scirc|ndash|isins|Ubrcy|nearr|neArr|isinv|nedot|ubrcy|acute|Ycirc|iukcy|Iukcy|xutri|nesim|caret|jcirc|Jcirc|caron|twixt|ddarr|sccue|exist|jmath|sbquo|ngeqq|angst|ccaps|lceil|ngsim|UpTee|delta|Delta|rtrif|nharr|nhArr|nhpar|rtrie|jukcy|Jukcy|kappa|rsquo|Kappa|nlarr|nlArr|TSHcy|rrarr|aogon|Aogon|fflig|xrarr|tshcy|ccirc|nleqq|filig|upsih|nless|dharl|nlsim|fjlig|ropar|nltri|dharr|robrk|roarr|fllig|fltns|roang|rnmid|subnE|subne|lAarr|trisb|Ccirc|acirc|ccups|blank|VDash|forkv|Vdash|langd|cedil|blk12|blk14|laquo|strns|diams|notin|vDash|larrb|blk34|block|disin|uplus|vdash|vBarv|aelig|starf|Wedge|check|xrArr|lates|lbarr|lBarr|notni|lbbrk|bcong|frasl|lbrke|frown|vrtri|vprop|vnsup|gamma|Gamma|wedge|xodot|bdquo|srarr|doteq|ldquo|boxdl|boxdL|gcirc|Gcirc|boxDl|boxDL|boxdr|boxdR|boxDr|TRADE|trade|rlhar|boxDR|vnsub|npart|vltri|rlarr|boxhd|boxhD|nprec|gescc|nrarr|nrArr|boxHd|boxHD|boxhu|boxhU|nrtri|boxHu|clubs|boxHU|times|colon|Colon|gimel|xlArr|Tilde|nsime|tilde|nsmid|nspar|THORN|thorn|xlarr|nsube|nsubE|thkap|xhArr|comma|nsucc|boxul|boxuL|nsupe|nsupE|gneqq|gnsim|boxUl|boxUL|grave|boxur|boxuR|boxUr|boxUR|lescc|angle|bepsi|boxvh|varpi|boxvH|numsp|Theta|gsime|gsiml|theta|boxVh|boxVH|boxvl|gtcir|gtdot|boxvL|boxVl|boxVL|crarr|cross|Cross|nvsim|boxvr|nwarr|nwArr|sqsup|dtdot|Uogon|lhard|lharu|dtrif|ocirc|Ocirc|lhblk|duarr|odash|sqsub|Hacek|sqcup|llarr|duhar|oelig|OElig|ofcir|boxvR|uogon|lltri|boxVr|csube|uuarr|ohbar|csupe|ctdot|olarr|olcir|harrw|oline|sqcap|omacr|Omacr|omega|Omega|boxVR|aleph|lneqq|lnsim|loang|loarr|rharu|lobrk|hcirc|operp|oplus|rhard|Hcirc|orarr|Union|order|ecirc|Ecirc|cuepr|szlig|cuesc|breve|reals|eDDot|Breve|hoarr|lopar|utrif|rdquo|Umacr|umacr|efDot|swArr|ultri|alpha|rceil|ovbar|swarr|Wcirc|wcirc|smtes|smile|bsemi|lrarr|aring|parsl|lrhar|bsime|uhblk|lrtri|cupor|Aring|uharr|uharl|slarr|rbrke|bsolb|lsime|rbbrk|RBarr|lsimg|phone|rBarr|rbarr|icirc|lsquo|Icirc|emacr|Emacr|ratio|simne|plusb|simlE|simgE|simeq|pluse|ltcir|ltdot|empty|xharr|xdtri|iexcl|Alpha|ltrie|rarrw|pound|ltrif|xcirc|bumpe|prcue|bumpE|asymp|amacr|cuvee|Sigma|sigma|iiint|udhar|iiota|ijlig|IJlig|supnE|imacr|Imacr|prime|Prime|image|prnap|eogon|Eogon|rarrc|mdash|mDDot|cuwed|imath|supne|imped|Amacr|udarr|prsim|micro|rarrb|cwint|raquo|infin|eplus|range|rangd|Ucirc|radic|minus|amalg|veeeq|rAarr|epsiv|ycirc|quest|sharp|quot|zwnj|Qscr|race|qscr|Qopf|qopf|qint|rang|Rang|Zscr|zscr|Zopf|zopf|rarr|rArr|Rarr|Pscr|pscr|prop|prod|prnE|prec|ZHcy|zhcy|prap|Zeta|zeta|Popf|popf|Zdot|plus|zdot|Yuml|yuml|phiv|YUcy|yucy|Yscr|yscr|perp|Yopf|yopf|part|para|YIcy|Ouml|rcub|yicy|YAcy|rdca|ouml|osol|Oscr|rdsh|yacy|real|oscr|xvee|andd|rect|andv|Xscr|oror|ordm|ordf|xscr|ange|aopf|Aopf|rHar|Xopf|opar|Oopf|xopf|xnis|rhov|oopf|omid|xmap|oint|apid|apos|ogon|ascr|Ascr|odot|odiv|xcup|xcap|ocir|oast|nvlt|nvle|nvgt|nvge|nvap|Wscr|wscr|auml|ntlg|ntgl|nsup|nsub|nsim|Nscr|nscr|nsce|Wopf|ring|npre|wopf|npar|Auml|Barv|bbrk|Nopf|nopf|nmid|nLtv|beta|ropf|Ropf|Beta|beth|nles|rpar|nleq|bnot|bNot|nldr|NJcy|rscr|Rscr|Vscr|vscr|rsqb|njcy|bopf|nisd|Bopf|rtri|Vopf|nGtv|ngtr|vopf|boxh|boxH|boxv|nges|ngeq|boxV|bscr|scap|Bscr|bsim|Vert|vert|bsol|bull|bump|caps|cdot|ncup|scnE|ncap|nbsp|napE|Cdot|cent|sdot|Vbar|nang|vBar|chcy|Mscr|mscr|sect|semi|CHcy|Mopf|mopf|sext|circ|cire|mldr|mlcp|cirE|comp|shcy|SHcy|vArr|varr|cong|copf|Copf|copy|COPY|malt|male|macr|lvnE|cscr|ltri|sime|ltcc|simg|Cscr|siml|csub|Uuml|lsqb|lsim|uuml|csup|Lscr|lscr|utri|smid|lpar|cups|smte|lozf|darr|Lopf|Uscr|solb|lopf|sopf|Sopf|lneq|uscr|spar|dArr|lnap|Darr|dash|Sqrt|LJcy|ljcy|lHar|dHar|Upsi|upsi|diam|lesg|djcy|DJcy|leqq|dopf|Dopf|dscr|Dscr|dscy|ldsh|ldca|squf|DScy|sscr|Sscr|dsol|lcub|late|star|Star|Uopf|Larr|lArr|larr|uopf|dtri|dzcy|sube|subE|Lang|lang|Kscr|kscr|Kopf|kopf|KJcy|kjcy|KHcy|khcy|DZcy|ecir|edot|eDot|Jscr|jscr|succ|Jopf|jopf|Edot|uHar|emsp|ensp|Iuml|iuml|eopf|isin|Iscr|iscr|Eopf|epar|sung|epsi|escr|sup1|sup2|sup3|Iota|iota|supe|supE|Iopf|iopf|IOcy|iocy|Escr|esim|Esim|imof|Uarr|QUOT|uArr|uarr|euml|IEcy|iecy|Idot|Euml|euro|excl|Hscr|hscr|Hopf|hopf|TScy|tscy|Tscr|hbar|tscr|flat|tbrk|fnof|hArr|harr|half|fopf|Fopf|tdot|gvnE|fork|trie|gtcc|fscr|Fscr|gdot|gsim|Gscr|gscr|Gopf|gopf|gneq|Gdot|tosa|gnap|Topf|topf|geqq|toea|GJcy|gjcy|tint|gesl|mid|Sfr|ggg|top|ges|gla|glE|glj|geq|gne|gEl|gel|gnE|Gcy|gcy|gap|Tfr|tfr|Tcy|tcy|Hat|Tau|Ffr|tau|Tab|hfr|Hfr|ffr|Fcy|fcy|icy|Icy|iff|ETH|eth|ifr|Ifr|Eta|eta|int|Int|Sup|sup|ucy|Ucy|Sum|sum|jcy|ENG|ufr|Ufr|eng|Jcy|jfr|els|ell|egs|Efr|efr|Jfr|uml|kcy|Kcy|Ecy|ecy|kfr|Kfr|lap|Sub|sub|lat|lcy|Lcy|leg|Dot|dot|lEg|leq|les|squ|div|die|lfr|Lfr|lgE|Dfr|dfr|Del|deg|Dcy|dcy|lne|lnE|sol|loz|smt|Cup|lrm|cup|lsh|Lsh|sim|shy|map|Map|mcy|Mcy|mfr|Mfr|mho|gfr|Gfr|sfr|cir|Chi|chi|nap|Cfr|vcy|Vcy|cfr|Scy|scy|ncy|Ncy|vee|Vee|Cap|cap|nfr|scE|sce|Nfr|nge|ngE|nGg|vfr|Vfr|ngt|bot|nGt|nis|niv|Rsh|rsh|nle|nlE|bne|Bfr|bfr|nLl|nlt|nLt|Bcy|bcy|not|Not|rlm|wfr|Wfr|npr|nsc|num|ocy|ast|Ocy|ofr|xfr|Xfr|Ofr|ogt|ohm|apE|olt|Rho|ape|rho|Rfr|rfr|ord|REG|ang|reg|orv|And|and|AMP|Rcy|amp|Afr|ycy|Ycy|yen|yfr|Yfr|rcy|par|pcy|Pcy|pfr|Pfr|phi|Phi|afr|Acy|acy|zcy|Zcy|piv|acE|acd|zfr|Zfr|pre|prE|psi|Psi|qfr|Qfr|zwj|Or|ge|Gg|gt|gg|el|oS|lt|Lt|LT|Re|lg|gl|eg|ne|Im|it|le|DD|wp|wr|nu|Nu|dd|lE|Sc|sc|pi|Pi|ee|af|ll|Ll|rx|gE|xi|pm|Xi|ic|pr|Pr|in|ni|mp|mu|ac|Mu|or|ap|Gt|GT|ii);|&(Aacute|Agrave|Atilde|Ccedil|Eacute|Egrave|Iacute|Igrave|Ntilde|Oacute|Ograve|Oslash|Otilde|Uacute|Ugrave|Yacute|aacute|agrave|atilde|brvbar|ccedil|curren|divide|eacute|egrave|frac12|frac14|frac34|iacute|igrave|iquest|middot|ntilde|oacute|ograve|oslash|otilde|plusmn|uacute|ugrave|yacute|AElig|Acirc|Aring|Ecirc|Icirc|Ocirc|THORN|Ucirc|acirc|acute|aelig|aring|cedil|ecirc|icirc|iexcl|laquo|micro|ocirc|pound|raquo|szlig|thorn|times|ucirc|Auml|COPY|Euml|Iuml|Ouml|QUOT|Uuml|auml|cent|copy|euml|iuml|macr|nbsp|ordf|ordm|ouml|para|quot|sect|sup1|sup2|sup3|uuml|yuml|AMP|ETH|REG|amp|deg|eth|not|reg|shy|uml|yen|GT|LT|gt|lt)(?!;)([=a-zA-Z0-9]?)|&#([0-9]+)(;?)|&#[xX]([a-fA-F0-9]+)(;?)|&([0-9a-zA-Z]+)/g,m={aacute:"á",Aacute:"Á",abreve:"ă",Abreve:"Ă",ac:"∾",acd:"∿",acE:"∾̳",acirc:"â",Acirc:"Â",acute:"´",acy:"а",Acy:"А",aelig:"æ",AElig:"Æ",af:"⁡",afr:"𝔞",Afr:"𝔄",agrave:"à",Agrave:"À",alefsym:"ℵ",aleph:"ℵ",alpha:"α",Alpha:"Α",amacr:"ā",Amacr:"Ā",amalg:"⨿",amp:"&",AMP:"&",and:"∧",And:"⩓",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",Aogon:"Ą",aopf:"𝕒",Aopf:"𝔸",ap:"≈",apacir:"⩯",ape:"≊",apE:"⩰",apid:"≋",apos:"'",ApplyFunction:"⁡",approx:"≈",approxeq:"≊",aring:"å",Aring:"Å",ascr:"𝒶",Ascr:"𝒜",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",Bcy:"Б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",beta:"β",Beta:"Β",beth:"ℶ",between:"≬",bfr:"𝔟",Bfr:"𝔅",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bNot:"⫭",bopf:"𝕓",Bopf:"𝔹",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxhD:"╥",boxHd:"╤",boxHD:"╦",boxhu:"┴",boxhU:"╨",boxHu:"╧",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpe:"≏",bumpE:"⪮",bumpeq:"≏",Bumpeq:"≎",cacute:"ć",Cacute:"Ć",cap:"∩",Cap:"⋒",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",ccaron:"č",Ccaron:"Č",ccedil:"ç",Ccedil:"Ç",ccirc:"ĉ",Ccirc:"Ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",Cdot:"Ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",chcy:"ч",CHcy:"Ч",check:"✓",checkmark:"✓",chi:"χ",Chi:"Χ",cir:"○",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cire:"≗",cirE:"⧃",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",colone:"≔",Colone:"⩴",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",cscr:"𝒸",Cscr:"𝒞",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",Cup:"⋓",cupbrcap:"⩈",cupcap:"⩆",CupCap:"≍",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dagger:"†",Dagger:"‡",daleth:"ℸ",darr:"↓",dArr:"⇓",Darr:"↡",dash:"‐",dashv:"⊣",Dashv:"⫤",dbkarow:"⤏",dblac:"˝",dcaron:"ď",Dcaron:"Ď",dcy:"д",Dcy:"Д",dd:"ⅆ",DD:"ⅅ",ddagger:"‡",ddarr:"⇊",DDotrahd:"⤑",ddotseq:"⩷",deg:"°",Del:"∇",delta:"δ",Delta:"Δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",Dfr:"𝔇",dHar:"⥥",dharl:"⇃",dharr:"⇂",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",diam:"⋄",diamond:"⋄",Diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",DifferentialD:"ⅆ",digamma:"ϝ",disin:"⋲",div:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",DJcy:"Ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",Dopf:"𝔻",dot:"˙",Dot:"¨",DotDot:"⃜",doteq:"≐",doteqdot:"≑",DotEqual:"≐",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",downarrow:"↓",Downarrow:"⇓",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",Dscr:"𝒟",dscy:"ѕ",DScy:"Ѕ",dsol:"⧶",dstrok:"đ",Dstrok:"Đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",DZcy:"Џ",dzigrarr:"⟿",eacute:"é",Eacute:"É",easter:"⩮",ecaron:"ě",Ecaron:"Ě",ecir:"≖",ecirc:"ê",Ecirc:"Ê",ecolon:"≕",ecy:"э",Ecy:"Э",eDDot:"⩷",edot:"ė",eDot:"≑",Edot:"Ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",Efr:"𝔈",eg:"⪚",egrave:"è",Egrave:"È",egs:"⪖",egsdot:"⪘",el:"⪙",Element:"∈",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",Emacr:"Ē",empty:"∅",emptyset:"∅",EmptySmallSquare:"◻",emptyv:"∅",EmptyVerySmallSquare:"▫",emsp:" ",emsp13:" ",emsp14:" ",eng:"ŋ",ENG:"Ŋ",ensp:" ",eogon:"ę",Eogon:"Ę",eopf:"𝕖",Eopf:"𝔼",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",Epsilon:"Ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",Equal:"⩵",equals:"=",EqualTilde:"≂",equest:"≟",Equilibrium:"⇌",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erarr:"⥱",erDot:"≓",escr:"ℯ",Escr:"ℰ",esdot:"≐",esim:"≂",Esim:"⩳",eta:"η",Eta:"Η",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",euro:"€",excl:"!",exist:"∃",Exists:"∃",expectation:"ℰ",exponentiale:"ⅇ",ExponentialE:"ⅇ",fallingdotseq:"≒",fcy:"ф",Fcy:"Ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",Ffr:"𝔉",filig:"fi",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",Fopf:"𝔽",forall:"∀",ForAll:"∀",fork:"⋔",forkv:"⫙",Fouriertrf:"ℱ",fpartint:"⨍",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",Fscr:"ℱ",gacute:"ǵ",gamma:"γ",Gamma:"Γ",gammad:"ϝ",Gammad:"Ϝ",gap:"⪆",gbreve:"ğ",Gbreve:"Ğ",Gcedil:"Ģ",gcirc:"ĝ",Gcirc:"Ĝ",gcy:"г",Gcy:"Г",gdot:"ġ",Gdot:"Ġ",ge:"≥",gE:"≧",gel:"⋛",gEl:"⪌",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",Gfr:"𝔊",gg:"≫",Gg:"⋙",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",GJcy:"Ѓ",gl:"≷",gla:"⪥",glE:"⪒",glj:"⪤",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gnE:"≩",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",Gopf:"𝔾",grave:"`",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",gscr:"ℊ",Gscr:"𝒢",gsim:"≳",gsime:"⪎",gsiml:"⪐",gt:">",Gt:"≫",GT:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",Hacek:"ˇ",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",HARDcy:"Ъ",harr:"↔",hArr:"⇔",harrcir:"⥈",harrw:"↭",Hat:"^",hbar:"ℏ",hcirc:"ĥ",Hcirc:"Ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",Hfr:"ℌ",HilbertSpace:"ℋ",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",Hopf:"ℍ",horbar:"―",HorizontalLine:"─",hscr:"𝒽",Hscr:"ℋ",hslash:"ℏ",hstrok:"ħ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",hybull:"⁃",hyphen:"‐",iacute:"í",Iacute:"Í",ic:"⁣",icirc:"î",Icirc:"Î",icy:"и",Icy:"И",Idot:"İ",iecy:"е",IEcy:"Е",iexcl:"¡",iff:"⇔",ifr:"𝔦",Ifr:"ℑ",igrave:"ì",Igrave:"Ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",IJlig:"IJ",Im:"ℑ",imacr:"ī",Imacr:"Ī",image:"ℑ",ImaginaryI:"ⅈ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",Implies:"⇒",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",Int:"∬",intcal:"⊺",integers:"ℤ",Integral:"∫",intercal:"⊺",Intersection:"⋂",intlarhk:"⨗",intprod:"⨼",InvisibleComma:"⁣",InvisibleTimes:"⁢",iocy:"ё",IOcy:"Ё",iogon:"į",Iogon:"Į",iopf:"𝕚",Iopf:"𝕀",iota:"ι",Iota:"Ι",iprod:"⨼",iquest:"¿",iscr:"𝒾",Iscr:"ℐ",isin:"∈",isindot:"⋵",isinE:"⋹",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",Itilde:"Ĩ",iukcy:"і",Iukcy:"І",iuml:"ï",Iuml:"Ï",jcirc:"ĵ",Jcirc:"Ĵ",jcy:"й",Jcy:"Й",jfr:"𝔧",Jfr:"𝔍",jmath:"ȷ",jopf:"𝕛",Jopf:"𝕁",jscr:"𝒿",Jscr:"𝒥",jsercy:"ј",Jsercy:"Ј",jukcy:"є",Jukcy:"Є",kappa:"κ",Kappa:"Κ",kappav:"ϰ",kcedil:"ķ",Kcedil:"Ķ",kcy:"к",Kcy:"К",kfr:"𝔨",Kfr:"𝔎",kgreen:"ĸ",khcy:"х",KHcy:"Х",kjcy:"ќ",KJcy:"Ќ",kopf:"𝕜",Kopf:"𝕂",kscr:"𝓀",Kscr:"𝒦",lAarr:"⇚",lacute:"ĺ",Lacute:"Ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",Lambda:"Λ",lang:"⟨",Lang:"⟪",langd:"⦑",langle:"⟨",lap:"⪅",Laplacetrf:"ℒ",laquo:"«",larr:"←",lArr:"⇐",Larr:"↞",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",lAtail:"⤛",late:"⪭",lates:"⪭︀",lbarr:"⤌",lBarr:"⤎",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",Lcaron:"Ľ",lcedil:"ļ",Lcedil:"Ļ",lceil:"⌈",lcub:"{",lcy:"л",Lcy:"Л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",lE:"≦",LeftAngleBracket:"⟨",leftarrow:"←",Leftarrow:"⇐",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",leftarrowtail:"↢",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",Leftrightarrow:"⇔",LeftRightArrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",leftthreetimes:"⋋",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",leg:"⋚",lEg:"⪋",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",lessgtr:"≶",LessLess:"⪡",lesssim:"≲",LessSlantEqual:"⩽",LessTilde:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",Lfr:"𝔏",lg:"≶",lgE:"⪑",lHar:"⥢",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",LJcy:"Љ",ll:"≪",Ll:"⋘",llarr:"⇇",llcorner:"⌞",Lleftarrow:"⇚",llhard:"⥫",lltri:"◺",lmidot:"ŀ",Lmidot:"Ŀ",lmoust:"⎰",lmoustache:"⎰",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lnE:"≨",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",Longleftarrow:"⟸",LongLeftArrow:"⟵",longleftrightarrow:"⟷",Longleftrightarrow:"⟺",LongLeftRightArrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",Longrightarrow:"⟹",LongRightArrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",Lopf:"𝕃",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",LowerLeftArrow:"↙",LowerRightArrow:"↘",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",Lscr:"ℒ",lsh:"↰",Lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",Lstrok:"Ł",lt:"<",Lt:"≪",LT:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltri:"◃",ltrie:"⊴",ltrif:"◂",ltrPar:"⦖",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",Map:"⤅",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",Mcy:"М",mdash:"—",mDDot:"∺",measuredangle:"∡",MediumSpace:" ",Mellintrf:"ℳ",mfr:"𝔪",Mfr:"𝔐",mho:"℧",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",MinusPlus:"∓",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",Mopf:"𝕄",mp:"∓",mscr:"𝓂",Mscr:"ℳ",mstpos:"∾",mu:"μ",Mu:"Μ",multimap:"⊸",mumap:"⊸",nabla:"∇",nacute:"ń",Nacute:"Ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",Ncaron:"Ň",ncedil:"ņ",Ncedil:"Ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",Ncy:"Н",ndash:"–",ne:"≠",nearhk:"⤤",nearr:"↗",neArr:"⇗",nearrow:"↗",nedot:"≐̸",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",nequiv:"≢",nesear:"⤨",nesim:"≂̸",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",nexist:"∄",nexists:"∄",nfr:"𝔫",Nfr:"𝔑",nge:"≱",ngE:"≧̸",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",nGg:"⋙̸",ngsim:"≵",ngt:"≯",nGt:"≫⃒",ngtr:"≯",nGtv:"≫̸",nharr:"↮",nhArr:"⇎",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",NJcy:"Њ",nlarr:"↚",nlArr:"⇍",nldr:"‥",nle:"≰",nlE:"≦̸",nleftarrow:"↚",nLeftarrow:"⇍",nleftrightarrow:"↮",nLeftrightarrow:"⇎",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nLl:"⋘̸",nlsim:"≴",nlt:"≮",nLt:"≪⃒",nltri:"⋪",nltrie:"⋬",nLtv:"≪̸",nmid:"∤",NoBreak:"⁠",NonBreakingSpace:" ",nopf:"𝕟",Nopf:"ℕ",not:"¬",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",notin:"∉",notindot:"⋵̸",notinE:"⋹̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrarr:"↛",nrArr:"⇏",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nRightarrow:"⇏",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",Nscr:"𝒩",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsube:"⊈",nsubE:"⫅̸",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupe:"⊉",nsupE:"⫆̸",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntilde:"ñ",Ntilde:"Ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",Nu:"Ν",num:"#",numero:"№",numsp:" ",nvap:"≍⃒",nvdash:"⊬",nvDash:"⊭",nVdash:"⊮",nVDash:"⊯",nvge:"≥⃒",nvgt:">⃒",nvHarr:"⤄",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwarhk:"⤣",nwarr:"↖",nwArr:"⇖",nwarrow:"↖",nwnear:"⤧",oacute:"ó",Oacute:"Ó",oast:"⊛",ocir:"⊚",ocirc:"ô",Ocirc:"Ô",ocy:"о",Ocy:"О",odash:"⊝",odblac:"ő",Odblac:"Ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",OElig:"Œ",ofcir:"⦿",ofr:"𝔬",Ofr:"𝔒",ogon:"˛",ograve:"ò",Ograve:"Ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",Omacr:"Ō",omega:"ω",Omega:"Ω",omicron:"ο",Omicron:"Ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",Oopf:"𝕆",opar:"⦷",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",operp:"⦹",oplus:"⊕",or:"∨",Or:"⩔",orarr:"↻",ord:"⩝",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oS:"Ⓢ",oscr:"ℴ",Oscr:"𝒪",oslash:"ø",Oslash:"Ø",osol:"⊘",otilde:"õ",Otilde:"Õ",otimes:"⊗",Otimes:"⨷",otimesas:"⨶",ouml:"ö",Ouml:"Ö",ovbar:"⌽",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",par:"∥",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",PartialD:"∂",pcy:"п",Pcy:"П",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",Pfr:"𝔓",phi:"φ",Phi:"Φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",Pi:"Π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",PlusMinus:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",Poincareplane:"ℌ",pointint:"⨕",popf:"𝕡",Popf:"ℙ",pound:"£",pr:"≺",Pr:"⪻",prap:"⪷",prcue:"≼",pre:"⪯",prE:"⪳",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",Prime:"″",primes:"ℙ",prnap:"⪹",prnE:"⪵",prnsim:"⋨",prod:"∏",Product:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",Proportion:"∷",Proportional:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",Pscr:"𝒫",psi:"ψ",Psi:"Ψ",puncsp:" ",qfr:"𝔮",Qfr:"𝔔",qint:"⨌",qopf:"𝕢",Qopf:"ℚ",qprime:"⁗",qscr:"𝓆",Qscr:"𝒬",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quot:'"',QUOT:'"',rAarr:"⇛",race:"∽̱",racute:"ŕ",Racute:"Ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",Rang:"⟫",rangd:"⦒",range:"⦥",rangle:"⟩",raquo:"»",rarr:"→",rArr:"⇒",Rarr:"↠",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",Rarrtl:"⤖",rarrw:"↝",ratail:"⤚",rAtail:"⤜",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rBarr:"⤏",RBarr:"⤐",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",Rcaron:"Ř",rcedil:"ŗ",Rcedil:"Ŗ",rceil:"⌉",rcub:"}",rcy:"р",Rcy:"Р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",Re:"ℜ",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",reg:"®",REG:"®",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",Rfr:"ℜ",rHar:"⥤",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",Rho:"Ρ",rhov:"ϱ",RightAngleBracket:"⟩",rightarrow:"→",Rightarrow:"⇒",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",rightarrowtail:"↣",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",rightthreetimes:"⋌",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",Ropf:"ℝ",roplus:"⨮",rotimes:"⨵",RoundImplies:"⥰",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",Rrightarrow:"⇛",rsaquo:"›",rscr:"𝓇",Rscr:"ℛ",rsh:"↱",Rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",RuleDelayed:"⧴",ruluhar:"⥨",rx:"℞",sacute:"ś",Sacute:"Ś",sbquo:"‚",sc:"≻",Sc:"⪼",scap:"⪸",scaron:"š",Scaron:"Š",sccue:"≽",sce:"⪰",scE:"⪴",scedil:"ş",Scedil:"Ş",scirc:"ŝ",Scirc:"Ŝ",scnap:"⪺",scnE:"⪶",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",Scy:"С",sdot:"⋅",sdotb:"⊡",sdote:"⩦",searhk:"⤥",searr:"↘",seArr:"⇘",searrow:"↘",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",Sfr:"𝔖",sfrown:"⌢",sharp:"♯",shchcy:"щ",SHCHcy:"Щ",shcy:"ш",SHcy:"Ш",ShortDownArrow:"↓",ShortLeftArrow:"←",shortmid:"∣",shortparallel:"∥",ShortRightArrow:"→",ShortUpArrow:"↑",shy:"­",sigma:"σ",Sigma:"Σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",SmallCircle:"∘",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",SOFTcy:"Ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",Sopf:"𝕊",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",Sqrt:"√",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",Sscr:"𝒮",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",Star:"⋆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",Sub:"⋐",subdot:"⪽",sube:"⊆",subE:"⫅",subedot:"⫃",submult:"⫁",subne:"⊊",subnE:"⫋",subplus:"⪿",subrarr:"⥹",subset:"⊂",Subset:"⋐",subseteq:"⊆",subseteqq:"⫅",SubsetEqual:"⊆",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",SuchThat:"∋",sum:"∑",Sum:"∑",sung:"♪",sup:"⊃",Sup:"⋑",sup1:"¹",sup2:"²",sup3:"³",supdot:"⪾",supdsub:"⫘",supe:"⊇",supE:"⫆",supedot:"⫄",Superset:"⊃",SupersetEqual:"⊇",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supne:"⊋",supnE:"⫌",supplus:"⫀",supset:"⊃",Supset:"⋑",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swarhk:"⤦",swarr:"↙",swArr:"⇙",swarrow:"↙",swnwar:"⤪",szlig:"ß",Tab:"\t",target:"⌖",tau:"τ",Tau:"Τ",tbrk:"⎴",tcaron:"ť",Tcaron:"Ť",tcedil:"ţ",Tcedil:"Ţ",tcy:"т",Tcy:"Т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",Tfr:"𝔗",there4:"∴",therefore:"∴",Therefore:"∴",theta:"θ",Theta:"Θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",ThickSpace:"  ",thinsp:" ",ThinSpace:" ",thkap:"≈",thksim:"∼",thorn:"þ",THORN:"Þ",tilde:"˜",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",Topf:"𝕋",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",TRADE:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",TripleDot:"⃛",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",Tscr:"𝒯",tscy:"ц",TScy:"Ц",tshcy:"ћ",TSHcy:"Ћ",tstrok:"ŧ",Tstrok:"Ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uacute:"ú",Uacute:"Ú",uarr:"↑",uArr:"⇑",Uarr:"↟",Uarrocir:"⥉",ubrcy:"ў",Ubrcy:"Ў",ubreve:"ŭ",Ubreve:"Ŭ",ucirc:"û",Ucirc:"Û",ucy:"у",Ucy:"У",udarr:"⇅",udblac:"ű",Udblac:"Ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",Ufr:"𝔘",ugrave:"ù",Ugrave:"Ù",uHar:"⥣",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",Umacr:"Ū",uml:"¨",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",uogon:"ų",Uogon:"Ų",uopf:"𝕦",Uopf:"𝕌",uparrow:"↑",Uparrow:"⇑",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",updownarrow:"↕",Updownarrow:"⇕",UpDownArrow:"↕",UpEquilibrium:"⥮",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",UpperLeftArrow:"↖",UpperRightArrow:"↗",upsi:"υ",Upsi:"ϒ",upsih:"ϒ",upsilon:"υ",Upsilon:"Υ",UpTee:"⊥",UpTeeArrow:"↥",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",Uring:"Ů",urtri:"◹",uscr:"𝓊",Uscr:"𝒰",utdot:"⋰",utilde:"ũ",Utilde:"Ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uuml:"ü",Uuml:"Ü",uwangle:"⦧",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",vArr:"⇕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vBar:"⫨",Vbar:"⫫",vBarv:"⫩",vcy:"в",Vcy:"В",vdash:"⊢",vDash:"⊨",Vdash:"⊩",VDash:"⊫",Vdashl:"⫦",vee:"∨",Vee:"⋁",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",Verbar:"‖",vert:"|",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",vfr:"𝔳",Vfr:"𝔙",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",Vopf:"𝕍",vprop:"∝",vrtri:"⊳",vscr:"𝓋",Vscr:"𝒱",vsubne:"⊊︀",vsubnE:"⫋︀",vsupne:"⊋︀",vsupnE:"⫌︀",Vvdash:"⊪",vzigzag:"⦚",wcirc:"ŵ",Wcirc:"Ŵ",wedbar:"⩟",wedge:"∧",Wedge:"⋀",wedgeq:"≙",weierp:"℘",wfr:"𝔴",Wfr:"𝔚",wopf:"𝕨",Wopf:"𝕎",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",Wscr:"𝒲",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",Xfr:"𝔛",xharr:"⟷",xhArr:"⟺",xi:"ξ",Xi:"Ξ",xlarr:"⟵",xlArr:"⟸",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",Xopf:"𝕏",xoplus:"⨁",xotime:"⨂",xrarr:"⟶",xrArr:"⟹",xscr:"𝓍",Xscr:"𝒳",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacute:"ý",Yacute:"Ý",yacy:"я",YAcy:"Я",ycirc:"ŷ",Ycirc:"Ŷ",ycy:"ы",Ycy:"Ы",yen:"¥",yfr:"𝔶",Yfr:"𝔜",yicy:"ї",YIcy:"Ї",yopf:"𝕪",Yopf:"𝕐",yscr:"𝓎",Yscr:"𝒴",yucy:"ю",YUcy:"Ю",yuml:"ÿ",Yuml:"Ÿ",zacute:"ź",Zacute:"Ź",zcaron:"ž",Zcaron:"Ž",zcy:"з",Zcy:"З",zdot:"ż",Zdot:"Ż",zeetrf:"ℨ",ZeroWidthSpace:"​",zeta:"ζ",Zeta:"Ζ",zfr:"𝔷",Zfr:"ℨ",zhcy:"ж",ZHcy:"Ж",zigrarr:"⇝",zopf:"𝕫",Zopf:"ℤ",zscr:"𝓏",Zscr:"𝒵",zwj:"‍",zwnj:"‌"},v={aacute:"á",Aacute:"Á",acirc:"â",Acirc:"Â",acute:"´",aelig:"æ",AElig:"Æ",agrave:"à",Agrave:"À",amp:"&",AMP:"&",aring:"å",Aring:"Å",atilde:"ã",Atilde:"Ã",auml:"ä",Auml:"Ä",brvbar:"¦",ccedil:"ç",Ccedil:"Ç",cedil:"¸",cent:"¢",copy:"©",COPY:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",Eacute:"É",ecirc:"ê",Ecirc:"Ê",egrave:"è",Egrave:"È",eth:"ð",ETH:"Ð",euml:"ë",Euml:"Ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",GT:">",iacute:"í",Iacute:"Í",icirc:"î",Icirc:"Î",iexcl:"¡",igrave:"ì",Igrave:"Ì",iquest:"¿",iuml:"ï",Iuml:"Ï",laquo:"«",lt:"<",LT:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",Ntilde:"Ñ",oacute:"ó",Oacute:"Ó",ocirc:"ô",Ocirc:"Ô",ograve:"ò",Ograve:"Ò",ordf:"ª",ordm:"º",oslash:"ø",Oslash:"Ø",otilde:"õ",Otilde:"Õ",ouml:"ö",Ouml:"Ö",para:"¶",plusmn:"±",pound:"£",quot:'"',QUOT:'"',raquo:"»",reg:"®",REG:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",THORN:"Þ",times:"×",uacute:"ú",Uacute:"Ú",ucirc:"û",Ucirc:"Û",ugrave:"ù",Ugrave:"Ù",uml:"¨",uuml:"ü",Uuml:"Ü",yacute:"ý",Yacute:"Ý",yen:"¥",yuml:"ÿ"},b={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"},y=[1,2,3,4,5,6,7,8,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,64976,64977,64978,64979,64980,64981,64982,64983,64984,64985,64986,64987,64988,64989,64990,64991,64992,64993,64994,64995,64996,64997,64998,64999,65e3,65001,65002,65003,65004,65005,65006,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111],A=String.fromCharCode,w={}.hasOwnProperty,x=function(e,t){return w.call(e,t)},E=function(e,t){if(!e)return t;var n,r={};for(n in t)r[n]=x(e,n)?e[n]:t[n];return r},k=function(e,t){var n="";return e>=55296&&e<=57343||e>1114111?(t&&C("character reference outside the permissible Unicode range"),"�"):x(b,e)?(t&&C("disallowed character reference"),b[e]):(t&&function(e,t){for(var n=-1,r=e.length;++n65535&&(n+=A((e-=65536)>>>10&1023|55296),e=56320|1023&e),n+=A(e))},S=function(e){return"&#x"+e.toString(16).toUpperCase()+";"},_=function(e){return"&#"+e+";"},C=function(e){throw Error("Parse error: "+e)},T=function(e,t){(t=E(t,T.options)).strict&&h.test(e)&&C("forbidden code point");var n=t.encodeEverything,r=t.useNamedReferences,o=t.allowUnsafeSymbols,i=t.decimal?_:S,f=function(e){return i(e.charCodeAt(0))};return n?(e=e.replace(l,(function(e){return r&&x(c,e)?"&"+c[e]+";":f(e)})),r&&(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒").replace(/fj/g,"fj")),r&&(e=e.replace(u,(function(e){return"&"+c[e]+";"})))):r?(o||(e=e.replace(d,(function(e){return"&"+c[e]+";"}))),e=(e=e.replace(/>\u20D2/g,">⃒").replace(/<\u20D2/g,"<⃒")).replace(u,(function(e){return"&"+c[e]+";"}))):o||(e=e.replace(d,f)),e.replace(a,(function(e){var t=e.charCodeAt(0),n=e.charCodeAt(1);return i(1024*(t-55296)+n-56320+65536)})).replace(s,f)};T.options={allowUnsafeSymbols:!1,encodeEverything:!1,strict:!1,useNamedReferences:!1,decimal:!1};var D=function(e,t){var n=(t=E(t,D.options)).strict;return n&&p.test(e)&&C("malformed character reference"),e.replace(g,(function(e,r,o,i,a,l,s,u,c){var d,f,p,h,g,b;return r?m[g=r]:o?(g=o,(b=i)&&t.isAttributeValue?(n&&"="==b&&C("`&` did not start a character reference"),e):(n&&C("named character reference was not terminated by a semicolon"),v[g]+(b||""))):a?(p=a,f=l,n&&!f&&C("character reference was not terminated by a semicolon"),d=parseInt(p,10),k(d,n)):s?(h=s,f=u,n&&!f&&C("character reference was not terminated by a semicolon"),d=parseInt(h,16),k(d,n)):(n&&C("named character reference was not terminated by a semicolon"),e)}))};D.options={isAttributeValue:!1,strict:!1};var L={version:"1.2.0",encode:T,decode:D,escape:function(e){return e.replace(d,(function(e){return f[e]}))},unescape:D};void 0===(r=function(){return L}.call(t,n,t,e))||(e.exports=r)}()},6299:e=>{var t=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,n=/\n/g,r=/^\s*/,o=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,i=/^:\s*/,a=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,l=/^[;\s]*/,s=/^\s+|\s+$/g,u="";function c(e){return e?e.replace(s,u):u}e.exports=function(e,s){if("string"!=typeof e)throw new TypeError("First argument must be a string");if(!e)return[];s=s||{};var d=1,f=1;function p(e){var t=e.match(n);t&&(d+=t.length);var r=e.lastIndexOf("\n");f=~r?e.length-r:f+e.length}function h(){var e={line:d,column:f};return function(t){return t.position=new g(e),y(),t}}function g(e){this.start=e,this.end={line:d,column:f},this.source=s.source}g.prototype.content=e;var m=[];function v(t){var n=new Error(s.source+":"+d+":"+f+": "+t);if(n.reason=t,n.filename=s.source,n.line=d,n.column=f,n.source=e,!s.silent)throw n;m.push(n)}function b(t){var n=t.exec(e);if(n){var r=n[0];return p(r),e=e.slice(r.length),n}}function y(){b(r)}function A(e){var t;for(e=e||[];t=w();)!1!==t&&e.push(t);return e}function w(){var t=h();if("/"==e.charAt(0)&&"*"==e.charAt(1)){for(var n=2;u!=e.charAt(n)&&("*"!=e.charAt(n)||"/"!=e.charAt(n+1));)++n;if(n+=2,u===e.charAt(n-1))return v("End of comment missing");var r=e.slice(2,n-2);return f+=2,p(r),e=e.slice(n),f+=2,t({type:"comment",comment:r})}}function x(){var e=h(),n=b(o);if(n){if(w(),!b(i))return v("property missing ':'");var r=b(a),s=e({type:"declaration",property:c(n[0].replace(t,u)),value:r?c(r[0].replace(t,u)):u});return b(l),s}}return y(),function(){var e,t=[];for(A(t);e=x();)!1!==e&&(t.push(e),A(t));return t}()}},1170:function(e,t){var n,r;void 0===(r="function"==typeof(n=function(){var e=function(){},t={},n={},r={};function o(e,t){if(e){var o=r[e];if(n[e]=t,o)for(;o.length;)o[0](e,t),o.splice(0,1)}}function i(t,n){t.call&&(t={success:t}),n.length?(t.error||e)(n):(t.success||e)(t)}function a(t,n,r,o){var i,l,s,u=document,c=r.async,d=(r.numRetries||0)+1,f=r.before||e,p=t.replace(/[\?|#].*$/,""),h=t.replace(/^(css|img|module|nomodule)!/,"");if(o=o||0,/(^css!|\.css$)/.test(p))(s=u.createElement("link")).rel="stylesheet",s.href=h,(i="hideFocus"in s)&&s.relList&&(i=0,s.rel="preload",s.as="style");else if(/(^img!|\.(png|gif|jpg|svg|webp)$)/.test(p))(s=u.createElement("img")).src=h;else if((s=u.createElement("script")).src=h,s.async=void 0===c||c,l="noModule"in s,/^module!/.test(p)){if(!l)return n(t,"l");s.type="module"}else if(/^nomodule!/.test(p)&&l)return n(t,"l");s.onload=s.onerror=s.onbeforeload=function(e){var l=e.type[0];if(i)try{s.sheet.cssText.length||(l="e")}catch(e){18!=e.code&&(l="e")}if("e"==l){if((o+=1){var r=n(7772).Symbol;e.exports=r},3366:(e,t,n)=>{var r=n(857),o=n(2107),i=n(7157),a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":a&&a in Object(e)?o(e):i(e)}},1704:(e,t,n)=>{var r=n(2153),o=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(o,""):e}},1242:(e,t,n)=>{var r="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g;e.exports=r},2107:(e,t,n)=>{var r=n(857),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,l=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,l),n=e[l];try{e[l]=void 0;var r=!0}catch(e){}var o=a.call(e);return r&&(t?e[l]=n:delete e[l]),o}},7157:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},7772:(e,t,n)=>{var r=n(1242),o="object"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function("return this")();e.exports=i},2153:e=>{var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},4073:(e,t,n)=>{var r=n(9259),o=n(1100),i=n(7642),a=Math.max,l=Math.min;e.exports=function(e,t,n){var s,u,c,d,f,p,h=0,g=!1,m=!1,v=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function b(t){var n=s,r=u;return s=u=void 0,h=t,d=e.apply(r,n)}function y(e){return h=e,f=setTimeout(w,t),g?b(e):d}function A(e){var n=e-p;return void 0===p||n>=t||n<0||m&&e-h>=c}function w(){var e=o();if(A(e))return x(e);f=setTimeout(w,function(e){var n=t-(e-p);return m?l(n,c-(e-h)):n}(e))}function x(e){return f=void 0,v&&s?b(e):(s=u=void 0,d)}function E(){var e=o(),n=A(e);if(s=arguments,u=this,p=e,n){if(void 0===f)return y(p);if(m)return clearTimeout(f),f=setTimeout(w,t),b(p)}return void 0===f&&(f=setTimeout(w,t)),d}return t=i(t)||0,r(n)&&(g=!!n.leading,c=(m="maxWait"in n)?a(i(n.maxWait)||0,t):c,v="trailing"in n?!!n.trailing:v),E.cancel=function(){void 0!==f&&clearTimeout(f),h=0,s=p=u=f=void 0},E.flush=function(){return void 0===f?d:x(o())},E}},9259:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},5125:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},4795:(e,t,n)=>{var r=n(3366),o=n(5125);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},1100:(e,t,n)=>{var r=n(7772);e.exports=function(){return r.Date.now()}},2436:(e,t,n)=>{var r=n(4073),o=n(9259);e.exports=function(e,t,n){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return o(n)&&(i="leading"in n?!!n.leading:i,a="trailing"in n?!!n.trailing:a),r(e,t,{leading:i,maxWait:t,trailing:a})}},7642:(e,t,n)=>{var r=n(1704),o=n(9259),i=n(4795),a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return NaN;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=l.test(e);return n||s.test(e)?u(e.slice(2),n?2:8):a.test(e)?NaN:+e}},3771:e=>{"use strict";var t={};function n(e,r){var o;return"string"!=typeof r&&(r=n.defaultChars),o=function(e){var n,r,o=t[e];if(o)return o;for(o=t[e]=[],n=0;n<128;n++)r=String.fromCharCode(n),o.push(r);for(n=0;n=55296&&s<=57343?"���":String.fromCharCode(s),t+=6):240==(248&r)&&t+91114111?u+="����":(s-=65536,u+=String.fromCharCode(55296+(s>>10),56320+(1023&s))),t+=9):u+="�";return u}))}n.defaultChars=";/?:@&=+$,#",n.componentChars="",e.exports=n},1737:e=>{"use strict";var t={};function n(e,r,o){var i,a,l,s,u,c="";for("string"!=typeof r&&(o=r,r=n.defaultChars),void 0===o&&(o=!0),u=function(e){var n,r,o=t[e];if(o)return o;for(o=t[e]=[],n=0;n<128;n++)r=String.fromCharCode(n),/^[0-9a-z]$/i.test(r)?o.push(r):o.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n=55296&&l<=57343){if(l>=55296&&l<=56319&&i+1=56320&&s<=57343){c+=encodeURIComponent(e[i]+e[i+1]),i++;continue}c+="%EF%BF%BD"}else c+=encodeURIComponent(e[i]);return c}n.defaultChars=";/?:@&=+$,-_.!~*'()#",n.componentChars="-_.!~*'()",e.exports=n},5024:e=>{"use strict";e.exports=function(e){var t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&-1!==e.hostname.indexOf(":")?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",(t+=e.search||"")+(e.hash||"")}},4976:(e,t,n)=>{"use strict";e.exports.encode=n(1737),e.exports.decode=n(3771),e.exports.format=n(5024),e.exports.parse=n(2084)},2084:e=>{"use strict";function t(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var n=/^([a-z0-9.+-]+:)/i,r=/:[0-9]*$/,o=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,i=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),a=["'"].concat(i),l=["%","/","?",";","#"].concat(a),s=["/","?","#"],u=/^[+a-z0-9A-Z_-]{0,63}$/,c=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,d={javascript:!0,"javascript:":!0},f={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};t.prototype.parse=function(e,t){var r,i,a,p,h,g=e;if(g=g.trim(),!t&&1===e.split("#").length){var m=o.exec(g);if(m)return this.pathname=m[1],m[2]&&(this.search=m[2]),this}var v=n.exec(g);if(v&&(a=(v=v[0]).toLowerCase(),this.protocol=v,g=g.substr(v.length)),(t||v||g.match(/^\/\/[^@\/]+@[^@\/]+/))&&(!(h="//"===g.substr(0,2))||v&&d[v]||(g=g.substr(2),this.slashes=!0)),!d[v]&&(h||v&&!f[v])){var b,y,A=-1;for(r=0;r127?S+="x":S+=k[_];if(!S.match(u)){var T=E.slice(0,r),D=E.slice(r+1),L=k.match(c);L&&(T.push(L[1]),D.unshift(L[2])),D.length&&(g=D.join(".")+g),this.hostname=T.join(".");break}}}}this.hostname.length>255&&(this.hostname=""),x&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var O=g.indexOf("#");-1!==O&&(this.hash=g.substr(O),g=g.slice(0,O));var P=g.indexOf("?");return-1!==P&&(this.search=g.substr(P),g=g.slice(0,P)),g&&(this.pathname=g),f[a]&&this.hostname&&!this.pathname&&(this.pathname=""),this},t.prototype.parseHost=function(e){var t=r.exec(e);t&&(":"!==(t=t[0])&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)},e.exports=function(e,n){if(e&&e instanceof t)return e;var r=new t;return r.parse(e,n),r}},9515:(e,t)=>{"use strict";function n(){return window.omnivoreEnv.NEXT_DEPLOYMENT_ID?`?dpl=${window.omnivoreEnv.NEXT_DEPLOYMENT_ID}`:""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return n}})},1054:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});const r=n(284),o=n(1119),i=window.omnivoreEnv.__NEXT_ROUTER_BASEPATH||"";function a(e,t){return(0,o.normalizePathTrailingSlash)(window.omnivoreEnv.__NEXT_MANUAL_CLIENT_BASE_PATH&&!t?e:(0,r.addPathPrefix)(e,i))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},891:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return o}});const r=n(1119),o=function(e){for(var t=arguments.length,o=new Array(t>1?t-1:0),i=1;i{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RSC:function(){return n},ACTION:function(){return r},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_ROUTER_PREFETCH:function(){return i},NEXT_URL:function(){return a},RSC_CONTENT_TYPE_HEADER:function(){return l},RSC_VARY_HEADER:function(){return s},FLIGHT_PARAMETERS:function(){return u},NEXT_RSC_UNION_QUERY:function(){return c}});const n="RSC",r="Next-Action",o="Next-Router-State-Tree",i="Next-Router-Prefetch",a="Next-Url",l="text/x-component",s=n+", "+o+", "+i+", "+a,u=[[n],[o],[i]],c="_rsc";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4644:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{PrefetchKind:function(){return u},ACTION_REFRESH:function(){return n},ACTION_NAVIGATE:function(){return r},ACTION_RESTORE:function(){return o},ACTION_SERVER_PATCH:function(){return i},ACTION_PREFETCH:function(){return a},ACTION_FAST_REFRESH:function(){return l},ACTION_SERVER_ACTION:function(){return s}});const n="refresh",r="navigate",o="restore",i="server-patch",a="prefetch",l="fast-refresh",s="server-action";var u;!function(e){e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary"}(u||(u={})),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},936:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});const r=function(){for(var e=arguments.length,t=new Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDomainLocale",{enumerable:!0,get:function(){return i}});const r=n(1119),o=window.omnivoreEnv.__NEXT_ROUTER_BASEPATH||"";function i(e,t,i,a){if(window.omnivoreEnv.__NEXT_I18N_SUPPORT){const l=n(9789).normalizeLocalePath,s=n(936).detectDomainLocale,u=t||l(e,i).detectedLocale,c=s(a,void 0,u);if(c){const t="http"+(c.http?"":"s")+"://",n=u===c.defaultLocale?"":"/"+u;return""+t+c.domain+(0,r.normalizePathTrailingSlash)(""+o+n+e)}return!1}return!1}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6200:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return i}});const r=n(9181),o=window.omnivoreEnv.__NEXT_ROUTER_BASEPATH||"";function i(e){return(0,r.pathHasPrefix)(e,o)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9410:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DOMAttributeNames:function(){return n},isEqualNode:function(){return o},default:function(){return a}});const n={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"};function r(e){let{type:t,props:r}=e;const o=document.createElement(t);for(const e in r){if(!r.hasOwnProperty(e))continue;if("children"===e||"dangerouslySetInnerHTML"===e)continue;if(void 0===r[e])continue;const i=n[e]||e.toLowerCase();"script"!==t||"async"!==i&&"defer"!==i&&"noModule"!==i?o.setAttribute(i,r[e]):o[i]=!!r[e]}const{children:i,dangerouslySetInnerHTML:a}=r;return a?o.innerHTML=a.__html||"":i&&(o.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):""),o}function o(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){const n=t.getAttribute("nonce");if(n&&!e.getAttribute("nonce")){const r=t.cloneNode(!0);return r.setAttribute("nonce",""),r.nonce=n,n===e.nonce&&e.isEqualNode(r)}}return e.isEqualNode(t)}let i;function a(){return{mountedInstances:new Set,updateHead:e=>{const t={};e.forEach((e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}const n=t[e.type]||[];n.push(e),t[e.type]=n}));const n=t.title?t.title[0]:null;let r="";if(n){const{children:e}=n.props;r="string"==typeof e?e:Array.isArray(e)?e.join(""):""}r!==document.title&&(document.title=r),["meta","base","link","style","script"].forEach((e=>{i(e,t[e]||[])}))}}}i=window.omnivoreEnv.__NEXT_STRICT_NEXT_HEAD?(e,t)=>{const n=document.querySelector("head");if(!n)return;const i=n.querySelectorAll('meta[name="next-head"]')||[],a=[];if("meta"===e){const e=n.querySelector("meta[charset]");e&&a.push(e)}for(let t=0;t{for(let t=0,n=a.length;t{var t;const n=e.previousSibling;var r;n&&"next-head"===n.getAttribute("name")&&(null==(r=e.parentNode)||r.removeChild(n)),null==(t=e.parentNode)||t.removeChild(e)})),s.forEach((e=>{var t;const r=document.createElement("meta");r.name="next-head",r.content="1","meta"===(null==(t=e.tagName)?void 0:t.toLowerCase())&&e.getAttribute("charset")||n.appendChild(r),n.appendChild(e)}))}:(e,t)=>{const n=document.getElementsByTagName("head")[0],i=n.querySelector("meta[name=next-head-count]"),a=Number(i.content),l=[];for(let t=0,n=i.previousElementSibling;t{for(let t=0,n=l.length;t{var t;return null==(t=e.parentNode)?void 0:t.removeChild(e)})),u.forEach((e=>n.insertBefore(e,i))),i.content=(a-l.length+u.length).toString()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4529:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return b}});const r=n(7083)._(n(2784)),o=n(1589),i=n(8657),a=n(6555),l=n(1624),s=n(891),u=n(516),c=n(3077),d=n(3321),f=n(6963),p=n(1054),h=n(4644),g=new Set;function m(e,t,n,r,o,a){if("undefined"==typeof window)return;if(!a&&!(0,i.isLocalURL)(t))return;if(!r.bypassPrefetchedCheck){const o=t+"%"+n+"%"+(void 0!==r.locale?r.locale:"locale"in e?e.locale:void 0);if(g.has(o))return;g.add(o)}const l=a?e.prefetch(t,o):e.prefetch(t,n,r);Promise.resolve(l).catch((e=>{}))}function v(e){return"string"==typeof e?e:(0,a.formatUrl)(e)}const b=r.default.forwardRef((function(e,t){let n;const{href:a,as:g,children:b,prefetch:y=null,passHref:A,replace:w,shallow:x,scroll:E,locale:k,onClick:S,onMouseEnter:_,onTouchStart:C,legacyBehavior:T=!1,...D}=e;n=b,!T||"string"!=typeof n&&"number"!=typeof n||(n=r.default.createElement("a",null,n));const L=r.default.useContext(u.RouterContext),O=r.default.useContext(c.AppRouterContext),P=null!=L?L:O,R=!L,M=!1!==y,N=null===y?h.PrefetchKind.AUTO:h.PrefetchKind.FULL,{href:I,as:B}=r.default.useMemo((()=>{if(!L){const e=v(a);return{href:e,as:g?v(g):e}}const[e,t]=(0,o.resolveHref)(L,a,!0);return{href:e,as:g?(0,o.resolveHref)(L,g):t||e}}),[L,a,g]),j=r.default.useRef(I),F=r.default.useRef(B);let H;T&&(H=r.default.Children.only(n));const z=T?H&&"object"==typeof H&&H.ref:t,[q,U,V]=(0,d.useIntersection)({rootMargin:"200px"}),W=r.default.useCallback((e=>{F.current===B&&j.current===I||(V(),F.current=B,j.current=I),q(e),z&&("function"==typeof z?z(e):"object"==typeof z&&(z.current=e))}),[B,z,I,V,q]);r.default.useEffect((()=>{P&&U&&M&&m(P,I,B,{locale:k},{kind:N},R)}),[B,I,U,k,M,null==L?void 0:L.locale,P,R,N]);const Q={ref:W,onClick(e){T||"function"!=typeof S||S(e),T&&H.props&&"function"==typeof H.props.onClick&&H.props.onClick(e),P&&(e.defaultPrevented||function(e,t,n,o,a,l,s,u,c,d){const{nodeName:f}=e.currentTarget;if("A"===f.toUpperCase()&&(function(e){const t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,i.isLocalURL)(n)))return;e.preventDefault();const p=()=>{const e=null==s||s;"beforePopState"in t?t[a?"replace":"push"](n,o,{shallow:l,locale:u,scroll:e}):t[a?"replace":"push"](o||n,{forceOptimisticNavigation:!d,scroll:e})};c?r.default.startTransition(p):p()}(e,P,I,B,w,x,E,k,R,M))},onMouseEnter(e){T||"function"!=typeof _||_(e),T&&H.props&&"function"==typeof H.props.onMouseEnter&&H.props.onMouseEnter(e),P&&(!M&&R||m(P,I,B,{locale:k,priority:!0,bypassPrefetchedCheck:!0},{kind:N},R))},onTouchStart(e){T||"function"!=typeof C||C(e),T&&H.props&&"function"==typeof H.props.onTouchStart&&H.props.onTouchStart(e),P&&(!M&&R||m(P,I,B,{locale:k,priority:!0,bypassPrefetchedCheck:!0},{kind:N},R))}};if((0,l.isAbsoluteUrl)(B))Q.href=B;else if(!T||A||"a"===H.type&&!("href"in H.props)){const e=void 0!==k?k:null==L?void 0:L.locale,t=(null==L?void 0:L.isLocaleDomain)&&(0,f.getDomainLocale)(B,e,null==L?void 0:L.locales,null==L?void 0:L.domainLocales);Q.href=t||(0,p.addBasePath)((0,s.addLocale)(B,e,null==L?void 0:L.defaultLocale))}return T?r.default.cloneElement(H,Q):r.default.createElement("a",{...D,...Q},n)}));("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9789:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}});const r=(e,t)=>window.omnivoreEnv.__NEXT_I18N_SUPPORT?n(816).normalizeLocalePath(e,t):{pathname:e,detectedLocale:void 0};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1119:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return i}});const r=n(2794),o=n(2593),i=e=>{if(!e.startsWith("/")||window.omnivoreEnv.__NEXT_MANUAL_TRAILING_SLASH)return e;const{pathname:t,query:n,hash:i}=(0,o.parsePath)(e);return window.omnivoreEnv.__NEXT_TRAILING_SLASH?/\.[^/]+\/?$/.test(t)?""+(0,r.removeTrailingSlash)(t)+n+i:t.endsWith("/")?""+t+n+i:t+"/"+n+i:""+(0,r.removeTrailingSlash)(t)+n+i};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2087:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return i}});const r=n(6200),o=window.omnivoreEnv.__NEXT_ROUTER_BASEPATH||"";function i(e){return window.omnivoreEnv.__NEXT_MANUAL_CLIENT_BASE_PATH&&!(0,r.hasBasePath)(e)||0===o.length||(e=e.slice(o.length)).startsWith("/")||(e="/"+e),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4884:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return o}});const r=n(2593);function o(e,t){if(window.omnivoreEnv.__NEXT_I18N_SUPPORT){const{pathname:n}=(0,r.parsePath)(e),o=n.toLowerCase(),i=null==t?void 0:t.toLowerCase();return t&&(o.startsWith("/"+i+"/")||o==="/"+i)?(n.length===t.length+1?"/":"")+e.slice(t.length+1):e}return e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1976:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{requestIdleCallback:function(){return n},cancelIdleCallback:function(){return r}});const n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})}),1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1589:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return d}});const r=n(646),o=n(6555),i=n(2093),a=n(1624),l=n(1119),s=n(8657),u=n(9150),c=n(2685);function d(e,t,n){let d,f="string"==typeof t?t:(0,o.formatWithValidation)(t);const p=f.match(/^[a-zA-Z]{1,}:\/\//),h=p?f.slice(p[0].length):f;if((h.split("?")[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+f+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");const t=(0,a.normalizeRepeatedSlashes)(h);f=(p?p[0]:"")+t}if(!(0,s.isLocalURL)(f))return n?[f]:f;try{d=new URL(f.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){d=new URL("/","http://n")}try{const e=new URL(f,d);e.pathname=(0,l.normalizePathTrailingSlash)(e.pathname);let t="";if((0,u.isDynamicRoute)(e.pathname)&&e.searchParams&&n){const n=(0,r.searchParamsToUrlQuery)(e.searchParams),{result:a,params:l}=(0,c.interpolateAs)(e.pathname,e.pathname,n);a&&(t=(0,o.formatWithValidation)({pathname:a,hash:e.hash,query:(0,i.omit)(n,l)}))}const a=e.origin===d.origin?e.href.slice(e.origin.length):e.href;return n?[a,t||a]:a}catch(e){return n?[f]:f}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7928:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{markAssetError:function(){return s},isAssetError:function(){return u},getClientBuildManifest:function(){return p},createRouteLoader:function(){return g}}),n(9983);const r=n(3251),o=n(1976),i=n(9515);function a(e,t,n){let r,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);const i=new Promise((e=>{r=e}));return t.set(e,o={resolve:r,future:i}),n?n().then((e=>(r(e),e))).catch((n=>{throw t.delete(e),n})):i}const l=Symbol("ASSET_LOAD_ERROR");function s(e){return Object.defineProperty(e,l,{})}function u(e){return e&&l in e}const c=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),d=()=>(0,i.getDeploymentIdQueryOrEmptyString)();function f(e,t,n){return new Promise(((r,i)=>{let a=!1;e.then((e=>{a=!0,r(e)})).catch(i),(0,o.requestIdleCallback)((()=>setTimeout((()=>{a||i(n)}),t)))}))}function p(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):f(new Promise((e=>{const t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}})),3800,s(new Error("Failed to load client build manifest")))}function h(e,t){return p().then((n=>{if(!(t in n))throw s(new Error("Failed to lookup route: "+t));const o=n[t].map((t=>e+"/_next/"+encodeURI(t)));return{scripts:o.filter((e=>e.endsWith(".js"))).map((e=>(0,r.__unsafeCreateTrustedScriptURL)(e)+d())),css:o.filter((e=>e.endsWith(".css"))).map((e=>e+d()))}}))}function g(e){const t=new Map,n=new Map,r=new Map,i=new Map;function l(e){{let t=n.get(e.toString());return t||(document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(n.set(e.toString(),t=function(e,t){return new Promise(((n,r)=>{(t=document.createElement("script")).onload=n,t.onerror=()=>r(s(new Error("Failed to load script: "+e))),t.crossOrigin=window.omnivoreEnv.__NEXT_CROSS_ORIGIN,t.src=e,document.body.appendChild(t)}))}(e)),t))}}function u(e){let t=r.get(e);return t||(r.set(e,t=fetch(e).then((t=>{if(!t.ok)throw new Error("Failed to load stylesheet: "+e);return t.text().then((t=>({href:e,content:t})))})).catch((e=>{throw s(e)}))),t)}return{whenEntrypoint:e=>a(e,t),onEntrypoint(e,n){(n?Promise.resolve().then((()=>n())).then((e=>({component:e&&e.default||e,exports:e})),(e=>({error:e}))):Promise.resolve(void 0)).then((n=>{const r=t.get(e);r&&"resolve"in r?n&&(t.set(e,n),r.resolve(n)):(n?t.set(e,n):t.delete(e),i.delete(e))}))},loadRoute(n,r){return a(n,i,(()=>f(h(e,n).then((e=>{let{scripts:r,css:o}=e;return Promise.all([t.has(n)?[]:Promise.all(r.map(l)),Promise.all(o.map(u))])})).then((e=>this.whenEntrypoint(n).then((t=>({entrypoint:t,styles:e[1]}))))),3800,s(new Error("Route did not complete loading: "+n))).then((e=>{let{entrypoint:t,styles:n}=e;const r=Object.assign({styles:n},t);return"error"in t?t:r})).catch((e=>{if(r)throw e;return{error:e}})).finally((()=>{}))))},prefetch(t){let n;return(n=navigator.connection)&&(n.saveData||/2g/.test(n.effectiveType))?Promise.resolve():h(e,t).then((e=>Promise.all(c?e.scripts.map((e=>{return t=e.toString(),n="script",new Promise(((e,o)=>{const i='\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]';if(document.querySelector(i))return e();(r=document.createElement("link")).as=n,r.rel="prefetch",r.crossOrigin=window.omnivoreEnv.__NEXT_CROSS_ORIGIN,r.onload=e,r.onerror=()=>o(s(new Error("Failed to prefetch: "+t))),r.href=t,document.head.appendChild(r)}));var t,n,r})):[]))).then((()=>{(0,o.requestIdleCallback)((()=>this.loadRoute(t,!0).catch((()=>{}))))})).catch((()=>{}))}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9518:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Router:function(){return i.default},default:function(){return p},withRouter:function(){return s.default},useRouter:function(){return h},createRouter:function(){return g},makePublicRouterInstance:function(){return m}});const r=n(7083),o=r._(n(2784)),i=r._(n(6640)),a=n(516),l=r._(n(274)),s=r._(n(9564)),u={router:null,readyCallbacks:[],ready(e){if(this.router)return e();"undefined"!=typeof window&&this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],d=["push","replace","reload","back","prefetch","beforePopState"];function f(){if(!u.router)throw new Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n');return u.router}Object.defineProperty(u,"events",{get:()=>i.default.events}),c.forEach((e=>{Object.defineProperty(u,e,{get:()=>f()[e]})})),d.forEach((e=>{u[e]=function(){for(var t=arguments.length,n=new Array(t),r=0;r{u.ready((()=>{i.default.events.on(e,(function(){for(var t=arguments.length,n=new Array(t),r=0;re())),u.readyCallbacks=[],u.router}function m(e){const t=e,n={};for(const e of c)"object"!=typeof t[e]?n[e]=t[e]:n[e]=Object.assign(Array.isArray(t[e])?[]:{},t[e]);return n.events=i.default.events,d.forEach((e=>{n[e]=function(){for(var n=arguments.length,r=new Array(n),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{handleClientScriptLoad:function(){return h},initScriptLoader:function(){return g},default:function(){return v}});const r=n(7083),o=n(5570),i=r._(n(8316)),a=o._(n(2784)),l=n(2560),s=n(9410),u=n(1976),c=new Map,d=new Set,f=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"],p=e=>{const{src:t,id:n,onLoad:r=(()=>{}),onReady:o=null,dangerouslySetInnerHTML:a,children:l="",strategy:u="afterInteractive",onError:p,stylesheets:h}=e,g=n||t;if(g&&d.has(g))return;if(c.has(t))return d.add(g),void c.get(t).then(r,p);const m=()=>{o&&o(),d.add(g)},v=document.createElement("script"),b=new Promise(((e,t)=>{v.addEventListener("load",(function(t){e(),r&&r.call(this,t),m()})),v.addEventListener("error",(function(e){t(e)}))})).catch((function(e){p&&p(e)}));a?(v.innerHTML=a.__html||"",m()):l?(v.textContent="string"==typeof l?l:Array.isArray(l)?l.join(""):"",m()):t&&(v.src=t,c.set(t,b));for(const[t,n]of Object.entries(e)){if(void 0===n||f.includes(t))continue;const e=s.DOMAttributeNames[t]||t.toLowerCase();v.setAttribute(e,n)}"worker"===u&&v.setAttribute("type","text/partytown"),v.setAttribute("data-nscript",u),h&&(e=>{if(i.default.preinit)e.forEach((e=>{i.default.preinit(e,{as:"style"})}));else if("undefined"!=typeof window){let t=document.head;e.forEach((e=>{let n=document.createElement("link");n.type="text/css",n.rel="stylesheet",n.href=e,t.appendChild(n)}))}})(h),document.body.appendChild(v)};function h(e){const{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",(()=>{(0,u.requestIdleCallback)((()=>p(e)))})):p(e)}function g(e){e.forEach(h),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach((e=>{const t=e.id||e.getAttribute("src");d.add(t)}))}function m(e){const{id:t,src:n="",onLoad:r=(()=>{}),onReady:o=null,strategy:s="afterInteractive",onError:c,stylesheets:f,...h}=e,{updateScripts:g,scripts:m,getIsSsr:v,appDir:b,nonce:y}=(0,a.useContext)(l.HeadManagerContext),A=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t||n;A.current||(o&&e&&d.has(e)&&o(),A.current=!0)}),[o,t,n]);const w=(0,a.useRef)(!1);if((0,a.useEffect)((()=>{w.current||("afterInteractive"===s?p(e):"lazyOnload"===s&&function(e){"complete"===document.readyState?(0,u.requestIdleCallback)((()=>p(e))):window.addEventListener("load",(()=>{(0,u.requestIdleCallback)((()=>p(e)))}))}(e),w.current=!0)}),[e,s]),"beforeInteractive"!==s&&"worker"!==s||(g?(m[s]=(m[s]||[]).concat([{id:t,src:n,onLoad:r,onReady:o,onError:c,...h}]),g(m)):v&&v()?d.add(t||n):v&&!v()&&p(e)),b){if(f&&f.forEach((e=>{i.default.preinit(e,{as:"style"})})),"beforeInteractive"===s)return n?(i.default.preload(n,h.integrity?{as:"script",integrity:h.integrity}:{as:"script"}),a.default.createElement("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([n])+")"}})):(h.dangerouslySetInnerHTML&&(h.children=h.dangerouslySetInnerHTML.__html,delete h.dangerouslySetInnerHTML),a.default.createElement("script",{nonce:y,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{...h}])+")"}}));"afterInteractive"===s&&n&&i.default.preload(n,h.integrity?{as:"script",integrity:h.integrity}:{as:"script"})}return null}Object.defineProperty(m,"__nextScript",{value:!0});const v=m;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3251:(e,t)=>{"use strict";let n;function r(e){var t,r;return(null==(void 0===n&&"undefined"!=typeof window&&(n=(null==(r=window.trustedTypes)?void 0:r.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null),t=n)?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3321:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return s}});const r=n(2784),o=n(1976),i="function"==typeof IntersectionObserver,a=new Map,l=[];function s(e){let{rootRef:t,rootMargin:n,disabled:s}=e;const u=s||!i,[c,d]=(0,r.useState)(!1),f=(0,r.useRef)(null),p=(0,r.useCallback)((e=>{f.current=e}),[]);(0,r.useEffect)((()=>{if(i){if(u||c)return;const e=f.current;if(e&&e.tagName)return function(e,t,n){const{id:r,observer:o,elements:i}=function(e){const t={root:e.root||null,margin:e.rootMargin||""},n=l.find((e=>e.root===t.root&&e.margin===t.margin));let r;if(n&&(r=a.get(n),r))return r;const o=new Map,i=new IntersectionObserver((e=>{e.forEach((e=>{const t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)}))}),e);return r={id:t,observer:i,elements:o},l.push(t),a.set(t,r),r}(n);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(r);const e=l.findIndex((e=>e.root===r.root&&e.margin===r.margin));e>-1&&l.splice(e,1)}}}(e,(e=>e&&d(e)),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){const e=(0,o.requestIdleCallback)((()=>d(!0)));return()=>(0,o.cancelIdleCallback)(e)}}),[u,n,t,c,f.current]);const h=(0,r.useCallback)((()=>{d(!1)}),[]);return[p,c,h]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9564:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});const r=n(7083)._(n(2784)),o=n(9518);function i(e){function t(t){return r.default.createElement(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3980:e=>{(()=>{"use strict";"undefined"!=typeof __nccwpck_require__&&(__nccwpck_require__.ab="//");var t={};(()=>{var e=t;e.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var r={},i=t||{},l=e.split(o),s=i.decode||n,u=0;u{(()=>{var t={154:(e,t,n)=>{var r=n(781),o=["write","end","destroy"],i=["resume","pause"],a=["data","close"],l=Array.prototype.slice;function s(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n{"use strict";const r=n(147),o=n(781),i=n(796),a=n(154),l=n(530),s=e=>Object.assign({level:9},e);e.exports=(e,t)=>e?l(i.gzip)(e,s(t)).then((e=>e.length)).catch((e=>0)):Promise.resolve(0),e.exports.sync=(e,t)=>i.gzipSync(e,s(t)).length,e.exports.stream=e=>{const t=new o.PassThrough,n=new o.PassThrough,r=a(t,n);let l=0;const u=i.createGzip(s(e)).on("data",(e=>{l+=e.length})).on("error",(()=>{r.gzipSize=0})).on("end",(()=>{r.gzipSize=l,r.emit("gzip-size",l),n.end()}));return t.pipe(u),t.pipe(n,{end:!1}),r},e.exports.file=(t,n)=>new Promise(((o,i)=>{const a=r.createReadStream(t);a.on("error",i);const l=a.pipe(e.exports.stream(n));l.on("error",i),l.on("gzip-size",o)})),e.exports.fileSync=(t,n)=>e.exports.sync(r.readFileSync(t),n)},530:e=>{"use strict";const t=(e,t)=>function(...n){return new(0,t.promiseModule)(((r,o)=>{t.multiArgs?n.push(((...e)=>{t.errorFirst?e[0]?o(e):(e.shift(),r(e)):r(e)})):t.errorFirst?n.push(((e,t)=>{e?o(e):r(t)})):n.push(r),e.apply(this,n)}))};e.exports=(e,n)=>{n=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},n);const r=typeof e;if(null===e||"object"!==r&&"function"!==r)throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${null===e?"null":r}\``);const o=e=>{const t=t=>"string"==typeof t?e===t:t.test(e);return n.include?n.include.some(t):!n.exclude.some(t)};let i;i="function"===r?function(...r){return n.excludeMain?e(...r):t(e,n).apply(this,r)}:Object.create(Object.getPrototypeOf(e));for(const r in e){const a=e[r];i[r]="function"==typeof a&&o(r)?t(a,n):a}return i}},147:e=>{"use strict";e.exports=n(6032)},781:e=>{"use strict";e.exports=n(5775)},796:e=>{"use strict";e.exports=n(1264)}},r={};function o(e){var n=r[e];if(void 0!==n)return n.exports;var i=r[e]={exports:{}},a=!0;try{t[e](i,i.exports,o),a=!1}finally{a&&delete r[e]}return i.exports}o.ab="//";var i=o(349);e.exports=i})()},9264:(e,t)=>{"use strict";function n(e,t){void 0===t&&(t={});for(var n=function(e){for(var t=[],n=0;n=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||95===s))break;a+=e[l++]}if(!a)throw new TypeError("Missing parameter name at "+n);t.push({type:"NAME",index:n,value:a}),n=l}else t.push({type:"CLOSE",index:n,value:e[n++]});else t.push({type:"OPEN",index:n,value:e[n++]});else t.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});else t.push({type:"MODIFIER",index:n,value:e[n++]})}return t.push({type:"END",index:n,value:""}),t}(e),r=t.prefixes,o=void 0===r?"./":r,a="[^"+i(t.delimiter||"/#?")+"]+?",l=[],s=0,u=0,c="",d=function(e){if(u-1:void 0===x;o||(g+="(?:"+h+"(?="+p+"))?"),E||(g+="(?="+h+"|"+p+")")}return new RegExp(g,a(n))}function s(e,t,r){return e instanceof RegExp?function(e,t){if(!t)return e;var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r{"use strict";function n(e){return"/api"===e||Boolean(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return n}})},274:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return o},getProperError:function(){return i}});const r=n(9910);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function i(e){return o(e)?e:new Error((0,r.isPlainObject)(e)?JSON.stringify(e):e+"")}},1702:(e,t,n)=>{"use strict";function r(e){return function(){const{cookie:t}=e;if(!t)return{};const{parse:r}=n(3980);return r(Array.isArray(t)?t.join("; "):t)}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getCookieParser",{enumerable:!0,get:function(){return r}})},6520:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},isInterceptionRouteAppPath:function(){return i},extractInterceptionRouteInformation:function(){return a}});const r=n(9361),o=["(..)(..)","(.)","(..)","(...)"];function i(e){return void 0!==e.split("/").find((e=>o.find((t=>e.startsWith(t)))))}function a(e){let t,n,i;for(const r of e.split("/"))if(n=o.find((e=>r.startsWith(e))),n){[t,i]=e.split(n,2);break}if(!t||!n||!i)throw new Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,r.normalizeAppPath)(t),n){case"(.)":i="/"===t?`/${i}`:t+"/"+i;break;case"(..)":if("/"===t)throw new Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);i=t.split("/").slice(0,-1).concat(i).join("/");break;case"(...)":i="/"+i;break;case"(..)(..)":const n=t.split("/");if(n.length<=2)throw new Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);i=n.slice(0,-2).concat(i).join("/");break;default:throw new Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:i}}},3077:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{CacheStates:function(){return o},AppRouterContext:function(){return i},LayoutRouterContext:function(){return a},GlobalLayoutRouterContext:function(){return l},TemplateContext:function(){return s}});const r=n(7083)._(n(2784));var o;!function(e){e.LAZY_INITIALIZED="LAZYINITIALIZED",e.DATA_FETCH="DATAFETCH",e.READY="READY"}(o||(o={}));const i=r.default.createContext(null),a=r.default.createContext(null),l=r.default.createContext(null),s=r.default.createContext(null)},8261:(e,t,n)=>{"use strict";function r(e){let t=0;for(let n=0;n>>13,t=Math.imul(t,1540483477)}return t>>>0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return o}});class o{static from(e,t){void 0===t&&(t=.01);const n=new o(e.length,t);for(const t of e)n.add(t);return n}export(){const e={numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray};if("nodejs"===window.omnivoreEnv.NEXT_RUNTIME&&this.errorRate<.01){const t=JSON.stringify(e),r=n(4595).sync(t);r>1024&&console.warn("Creating filter with error rate less than 1% (0.01) can increase the size dramatically proceed with caution. Received error rate "+this.errorRate+" resulted in size "+t.length+" bytes, "+r+" bytes (gzip)")}return e}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach((e=>{this.bitArray[e]=1}))}contains(e){return this.getHashValues(e).every((e=>this.bitArray[e]))}getHashValues(e){const t=[];for(let n=1;n<=this.numHashes;n++){const o=r(""+e+n)%this.numBits;t.push(o)}return t}constructor(e,t){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-e*Math.log(t)/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=new Array(this.numBits).fill(0)}}},8058:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});const n=/[|\\{}()[\]^$+*?.-]/,r=/[|\\{}()[\]^$+*?.-]/g;function o(e){return n.test(e)?e.replace(r,"\\$&"):e}},2560:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return r}});const r=n(7083)._(n(2784)).default.createContext({})},927:(e,t)=>{"use strict";function n(e,t,n){if(e){n&&(n=n.toLowerCase());for(const i of e){var r,o;if(t===(null==(r=i.domain)?void 0:r.split(":")[0].toLowerCase())||n===i.defaultLocale.toLowerCase()||(null==(o=i.locales)?void 0:o.some((e=>e.toLowerCase()===n))))return i}}}Object.defineProperty(t,"D",{enumerable:!0,get:function(){return n}})},816:(e,t)=>{"use strict";function n(e,t){let n;const r=e.split("/");return(t||[]).some((t=>!(!r[1]||r[1].toLowerCase()!==t.toLowerCase()||(n=t,r.splice(1,1),e=r.join("/")||"/",0)))),{pathname:e,detectedLocale:n}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return n}})},9910:(e,t)=>{"use strict";function n(e){return Object.prototype.toString.call(e)}function r(e){if("[object Object]"!==n(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getObjectClassLabel:function(){return n},isPlainObject:function(){return r}})},7471:(e,t)=>{"use strict";function n(){const e=Object.create(null);return{on(t,n){(e[t]||(e[t]=[])).push(n)},off(t,n){e[t]&&e[t].splice(e[t].indexOf(n)>>>0,1)},emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o{e(...r)}))}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}})},997:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return i}});const r=n(9150),o=n(9356);function i(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,r.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},9739:(e,t)=>{"use strict";function n(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return n}})},9356:(e,t)=>{"use strict";function n(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return n}})},516:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});const r=n(7083)._(n(2784)).default.createContext(null)},6640:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{default:function(){return Z},matchesMiddleware:function(){return B},createKey:function(){return G}});const r=n(7083),o=n(5570),i=n(2794),a=n(7928),l=n(4725),s=o._(n(274)),u=n(997),c=n(816),d=r._(n(7471)),f=n(1624),p=n(7482),h=n(1577),g=r._(n(5317)),m=n(3107),v=n(4794),b=n(6555),y=n(936),A=n(2593),w=n(891),x=n(4884),E=n(2087),k=n(1054),S=n(6200),_=n(1589),C=n(4219),T=n(5930),D=n(3778),L=n(2121),O=n(8657),P=n(343),R=n(2093),M=n(2685),N=n(6576);function I(){return Object.assign(new Error("Route Cancelled"),{cancelled:!0})}async function B(e){const t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;const{pathname:n}=(0,A.parsePath)(e.asPath),r=(0,S.hasBasePath)(n)?(0,E.removeBasePath)(n):n,o=(0,k.addBasePath)((0,w.addLocale)(r,e.locale));return t.some((e=>new RegExp(e.regexp).test(o)))}function j(e){const t=(0,f.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function F(e,t,n){let[r,o]=(0,_.resolveHref)(e,t,!0);const i=(0,f.getLocationOrigin)(),a=r.startsWith(i),l=o&&o.startsWith(i);r=j(r),o=o?j(o):o;const s=a?r:(0,k.addBasePath)(r),u=n?j((0,_.resolveHref)(e,n)):o||r;return{url:s,as:l?u:(0,k.addBasePath)(u)}}function H(e,t){const n=(0,i.removeTrailingSlash)((0,u.denormalizePagePath)(e));return"/404"===n||"/_error"===n?e:(t.includes(n)||t.some((t=>{if((0,p.isDynamicRoute)(t)&&(0,v.getRouteRegex)(t).re.test(n))return e=t,!0})),(0,i.removeTrailingSlash)(e))}async function z(e){if(!await B(e)||!e.fetchData)return null;try{const t=await e.fetchData(),n=await function(e,t,n){const r={basePath:n.router.basePath,i18n:{locales:n.router.locales},trailingSlash:Boolean(window.omnivoreEnv.__NEXT_TRAILING_SLASH)},o=t.headers.get("x-nextjs-rewrite");let l=o||t.headers.get("x-nextjs-matched-path");const s=t.headers.get("x-matched-path");if(!s||l||s.includes("__next_data_catchall")||s.includes("/_error")||s.includes("/404")||(l=s),l){if(l.startsWith("/")||window.omnivoreEnv.__NEXT_EXTERNAL_MIDDLEWARE_REWRITE_RESOLVE){const t=(0,h.parseRelativeUrl)(l),s=(0,T.getNextPathnameInfo)(t.pathname,{nextConfig:r,parseData:!0});let u=(0,i.removeTrailingSlash)(s.pathname);return Promise.all([n.router.pageLoader.getPageList(),(0,a.getClientBuildManifest)()]).then((i=>{let[a,{__rewrites:l}]=i,d=(0,w.addLocale)(s.pathname,s.locale);if((0,p.isDynamicRoute)(d)||!o&&a.includes((0,c.normalizeLocalePath)((0,E.removeBasePath)(d),n.router.locales).pathname)){const n=(0,T.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:window.omnivoreEnv.__NEXT_HAS_REWRITES?void 0:r,parseData:!0});d=(0,k.addBasePath)(n.pathname),t.pathname=d}if(window.omnivoreEnv.__NEXT_HAS_REWRITES){const e=(0,g.default)(d,a,l,t.query,(e=>H(e,a)),n.router.locales);e.matchedPage&&(t.pathname=e.parsedAs.pathname,d=t.pathname,Object.assign(t.query,e.parsedAs.query))}else if(!a.includes(u)){const e=H(u,a);e!==u&&(u=e)}const f=a.includes(u)?u:H((0,c.normalizeLocalePath)((0,E.removeBasePath)(t.pathname),n.router.locales).pathname,a);if((0,p.isDynamicRoute)(f)){const e=(0,m.getRouteMatcher)((0,v.getRouteRegex)(f))(d);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:f}}))}const t=(0,A.parsePath)(e),s=(0,D.formatNextPathnameInfo)({...(0,T.getNextPathnameInfo)(t.pathname,{nextConfig:r,parseData:!0}),defaultLocale:n.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-external",destination:""+s+t.query+t.hash})}const u=t.headers.get("x-nextjs-redirect");if(u){if(u.startsWith("/")){const e=(0,A.parsePath)(u),t=(0,D.formatNextPathnameInfo)({...(0,T.getNextPathnameInfo)(e.pathname,{nextConfig:r,parseData:!0}),defaultLocale:n.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:u})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:n}}catch(e){return null}}const q=window.omnivoreEnv.__NEXT_SCROLL_RESTORATION&&"undefined"!=typeof window&&"scrollRestoration"in window.history&&!!function(){try{let e="__next";return sessionStorage.setItem(e,e),sessionStorage.removeItem(e),!0}catch(e){}}(),U=Symbol("SSG_DATA_NOT_FOUND");function V(e,t,n){return fetch(e,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then((r=>!r.ok&&t>1&&r.status>=500?V(e,t-1,n):r))}function W(e){try{return JSON.parse(e)}catch(e){return null}}function Q(e){let{dataHref:t,inflightCache:n,isPrefetch:r,hasMiddleware:o,isServerRender:i,parseJSON:l,persistCache:s,isBackground:u,unstable_skipClientCache:c}=e;const{href:d}=new URL(t,window.location.href);var f;const p=e=>V(t,i?3:1,{headers:Object.assign({},r?{purpose:"prefetch"}:{},r&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(f=null==e?void 0:e.method)?f:"GET"}).then((n=>n.ok&&"HEAD"===(null==e?void 0:e.method)?{dataHref:t,response:n,text:"",json:{},cacheKey:d}:n.text().then((e=>{if(!n.ok){if(o&&[301,302,307,308].includes(n.status))return{dataHref:t,response:n,text:e,json:{},cacheKey:d};var r;if(404===n.status&&(null==(r=W(e))?void 0:r.notFound))return{dataHref:t,json:{notFound:U},response:n,text:e,cacheKey:d};const l=new Error("Failed to load static props");throw i||(0,a.markAssetError)(l),l}return{dataHref:t,json:l?W(e):null,response:n,text:e,cacheKey:d}})))).then((e=>(s&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete n[d],e))).catch((e=>{throw c||delete n[d],"Failed to fetch"!==e.message&&"NetworkError when attempting to fetch resource."!==e.message&&"Load failed"!==e.message||(0,a.markAssetError)(e),e}));return c&&s?p({}).then((e=>(n[d]=Promise.resolve(e),e))):void 0!==n[d]?n[d]:n[d]=p(u?{method:"HEAD"}:{})}function G(){return Math.random().toString(36).slice(2,10)}function $(e){let{url:t,router:n}=e;if(t===(0,k.addBasePath)((0,w.addLocale)(n.asPath,n.locale)))throw new Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}const Y=e=>{let{route:t,router:n}=e,r=!1;const o=n.clc=()=>{r=!0};return()=>{if(r){const e=new Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}o===n.clc&&(n.clc=null)}};class Z{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,n){if(void 0===n&&(n={}),window.omnivoreEnv.__NEXT_SCROLL_RESTORATION&&q)try{sessionStorage.setItem("__next_scroll_"+this._key,JSON.stringify({x:self.pageXOffset,y:self.pageYOffset}))}catch(e){}return({url:e,as:t}=F(this,e,t)),this.change("pushState",e,t,n)}replace(e,t,n){return void 0===n&&(n={}),({url:e,as:t}=F(this,e,t)),this.change("replaceState",e,t,n)}async _bfl(e,t,n,r){if(window.omnivoreEnv.__NEXT_CLIENT_ROUTER_FILTER_ENABLED){let s=!1,u=!1;for(const c of[e,t])if(c){const t=(0,i.removeTrailingSlash)(new URL(c,"http://n").pathname),d=(0,k.addBasePath)((0,w.addLocale)(t,n||this.locale));if(t!==(0,i.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var o,a;s=s||!!(null==(o=this._bfl_s)?void 0:o.contains(t))||!!(null==(a=this._bfl_s)?void 0:a.contains(d));for(const e of[t,d]){const t=e.split("/");for(let e=0;!u&&e{})))}}}return!1}async change(e,t,n,r,o){var u;if(!(0,O.isLocalURL)(t))return $({url:t,router:this}),!1;const d=1===r._h;d||r.shallow||await this._bfl(n,void 0,r.locale);let _=d||r._shouldResolveHref||(0,A.parsePath)(t).pathname===(0,A.parsePath)(n).pathname;const C={...this.state},T=!0!==this.isReady;this.isReady=!0;const D=this.isSsr;if(d||(this.isSsr=!1),d&&this.clc)return!1;const P=C.locale;if(window.omnivoreEnv.__NEXT_I18N_SUPPORT){C.locale=!1===r.locale?this.defaultLocale:r.locale||C.locale,void 0===r.locale&&(r.locale=C.locale);const e=(0,h.parseRelativeUrl)((0,S.hasBasePath)(n)?(0,E.removeBasePath)(n):n),o=(0,c.normalizeLocalePath)(e.pathname,this.locales);o.detectedLocale&&(C.locale=o.detectedLocale,e.pathname=(0,k.addBasePath)(e.pathname),n=(0,b.formatWithValidation)(e),t=(0,k.addBasePath)((0,c.normalizeLocalePath)((0,S.hasBasePath)(t)?(0,E.removeBasePath)(t):t,this.locales).pathname));let i=!1;var N;window.omnivoreEnv.__NEXT_I18N_SUPPORT&&((null==(N=this.locales)?void 0:N.includes(C.locale))||(e.pathname=(0,w.addLocale)(e.pathname,C.locale),$({url:(0,b.formatWithValidation)(e),router:this}),i=!0));const a=(0,y.detectDomainLocale)(this.domainLocales,void 0,C.locale);if(window.omnivoreEnv.__NEXT_I18N_SUPPORT&&!i&&a&&this.isLocaleDomain&&self.location.hostname!==a.domain){const e=(0,E.removeBasePath)(n);$({url:"http"+(a.http?"":"s")+"://"+a.domain+(0,k.addBasePath)((C.locale===a.defaultLocale?"":"/"+C.locale)+("/"===e?"":e)||"/"),router:this}),i=!0}if(i)return new Promise((()=>{}))}f.ST&&performance.mark("routeChange");const{shallow:j=!1,scroll:z=!0}=r,q={shallow:j};this._inFlightRoute&&this.clc&&(D||Z.events.emit("routeChangeError",I(),this._inFlightRoute,q),this.clc(),this.clc=null),n=(0,k.addBasePath)((0,w.addLocale)((0,S.hasBasePath)(n)?(0,E.removeBasePath)(n):n,r.locale,this.defaultLocale));const V=(0,x.removeLocale)((0,S.hasBasePath)(n)?(0,E.removeBasePath)(n):n,C.locale);this._inFlightRoute=n;const W=P!==C.locale;if(!d&&this.onlyAHashChange(V)&&!W){C.asPath=V,Z.events.emit("hashChangeStart",n,q),this.changeState(e,t,n,{...r,scroll:!1}),z&&this.scrollToHash(V);try{await this.set(C,this.components[C.route],null)}catch(e){throw(0,s.default)(e)&&e.cancelled&&Z.events.emit("routeChangeError",e,V,q),e}return Z.events.emit("hashChangeComplete",n,q),!0}let Q,G,Y=(0,h.parseRelativeUrl)(t),{pathname:K,query:J}=Y;if(null==(u=this.components[K])?void 0:u.__appRouter)return $({url:n,router:this}),new Promise((()=>{}));try{[Q,{__rewrites:G}]=await Promise.all([this.pageLoader.getPageList(),(0,a.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return $({url:n,router:this}),!1}this.urlIsNew(V)||W||(e="replaceState");let X=n;K=K?(0,i.removeTrailingSlash)((0,E.removeBasePath)(K)):K;let ee=(0,i.removeTrailingSlash)(K);const te=n.startsWith("/")&&(0,h.parseRelativeUrl)(n).pathname,ne=!(!te||ee===te||(0,p.isDynamicRoute)(ee)&&(0,m.getRouteMatcher)((0,v.getRouteRegex)(ee))(te)),re=!r.shallow&&await B({asPath:n,locale:C.locale,router:this});if(d&&re&&(_=!1),_&&"/_error"!==K)if(r._shouldResolveHref=!0,window.omnivoreEnv.__NEXT_HAS_REWRITES&&n.startsWith("/")){const e=(0,g.default)((0,k.addBasePath)((0,w.addLocale)(V,C.locale),!0),Q,G,J,(e=>H(e,Q)),this.locales);if(e.externalDest)return $({url:n,router:this}),!0;re||(X=e.asPath),e.matchedPage&&e.resolvedHref&&(K=e.resolvedHref,Y.pathname=(0,k.addBasePath)(K),re||(t=(0,b.formatWithValidation)(Y)))}else Y.pathname=H(K,Q),Y.pathname!==K&&(K=Y.pathname,Y.pathname=(0,k.addBasePath)(K),re||(t=(0,b.formatWithValidation)(Y)));if(!(0,O.isLocalURL)(n))return $({url:n,router:this}),!1;X=(0,x.removeLocale)((0,E.removeBasePath)(X),C.locale),ee=(0,i.removeTrailingSlash)(K);let oe=!1;if((0,p.isDynamicRoute)(ee)){const e=(0,h.parseRelativeUrl)(X),r=e.pathname,o=(0,v.getRouteRegex)(ee);oe=(0,m.getRouteMatcher)(o)(r);const i=ee===r,a=i?(0,M.interpolateAs)(ee,r,J):{};if(!oe||i&&!a.result){const e=Object.keys(o.groups).filter((e=>!J[e]&&!o.groups[e].optional));if(e.length>0&&!re)throw new Error((i?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+r+") is incompatible with the `href` value ("+ee+"). ")+"Read more: https://nextjs.org/docs/messages/"+(i?"href-interpolation-failed":"incompatible-href-as"))}else i?n=(0,b.formatWithValidation)(Object.assign({},e,{pathname:a.result,query:(0,R.omit)(J,a.params)})):Object.assign(J,oe)}d||Z.events.emit("routeChangeStart",n,q);const ie="/404"===this.pathname||"/_error"===this.pathname;try{var ae,le,se;let i=await this.getRouteInfo({route:ee,pathname:K,query:J,as:n,resolvedAs:X,routeProps:q,locale:C.locale,isPreview:C.isPreview,hasMiddleware:re,unstable_skipClientCache:r.unstable_skipClientCache,isQueryUpdating:d&&!this.isFallback,isMiddlewareRewrite:ne});if(d||r.shallow||await this._bfl(n,"resolvedAs"in i?i.resolvedAs:void 0,C.locale),"route"in i&&re){K=i.route||ee,ee=K,q.shallow||(J=Object.assign({},i.query||{},J));const e=(0,S.hasBasePath)(Y.pathname)?(0,E.removeBasePath)(Y.pathname):Y.pathname;if(oe&&K!==e&&Object.keys(oe).forEach((e=>{oe&&J[e]===oe[e]&&delete J[e]})),(0,p.isDynamicRoute)(K)){let e=!q.shallow&&i.resolvedAs?i.resolvedAs:(0,k.addBasePath)((0,w.addLocale)(new URL(n,location.href).pathname,C.locale),!0);if((0,S.hasBasePath)(e)&&(e=(0,E.removeBasePath)(e)),window.omnivoreEnv.__NEXT_I18N_SUPPORT){const t=(0,c.normalizeLocalePath)(e,this.locales);C.locale=t.detectedLocale||C.locale,e=t.pathname}const t=(0,v.getRouteRegex)(K),r=(0,m.getRouteMatcher)(t)(new URL(e,location.href).pathname);r&&Object.assign(J,r)}}if("type"in i)return"redirect-internal"===i.type?this.change(e,i.newUrl,i.newAs,r):($({url:i.destination,router:this}),new Promise((()=>{})));const a=i.Component;if(a&&a.unstable_scriptLoader&&[].concat(a.unstable_scriptLoader()).forEach((e=>{(0,l.handleClientScriptLoad)(e.props)})),(i.__N_SSG||i.__N_SSP)&&i.props){if(i.props.pageProps&&i.props.pageProps.__N_REDIRECT){r.locale=!1;const t=i.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==i.props.pageProps.__N_REDIRECT_BASE_PATH){const n=(0,h.parseRelativeUrl)(t);n.pathname=H(n.pathname,Q);const{url:o,as:i}=F(this,t,t);return this.change(e,o,i,r)}return $({url:t,router:this}),new Promise((()=>{}))}if(C.isPreview=!!i.props.__N_PREVIEW,i.props.notFound===U){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(i=await this.getRouteInfo({route:e,pathname:e,query:J,as:n,resolvedAs:X,routeProps:{shallow:!1},locale:C.locale,isPreview:C.isPreview,isNotFound:!0}),"type"in i)throw new Error("Unexpected middleware effect on /404")}}var ue;d&&"/_error"===this.pathname&&500===(null==(le=self.__NEXT_DATA__.props)||null==(ae=le.pageProps)?void 0:ae.statusCode)&&(null==(se=i.props)?void 0:se.pageProps)&&(i.props.pageProps.statusCode=500);const u=r.shallow&&C.route===(null!=(ue=i.route)?ue:ee);var ce;const f=null!=(ce=r.scroll)?ce:!d&&!u,g=f?{x:0,y:0}:null,b=null!=o?o:g,y={...C,route:ee,pathname:K,query:J,asPath:V,isFallback:!1};if(d&&ie){var de,fe,pe;if(i=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:J,as:n,resolvedAs:X,routeProps:{shallow:!1},locale:C.locale,isPreview:C.isPreview,isQueryUpdating:d&&!this.isFallback}),"type"in i)throw new Error("Unexpected middleware effect on "+this.pathname);"/_error"===this.pathname&&500===(null==(fe=self.__NEXT_DATA__.props)||null==(de=fe.pageProps)?void 0:de.statusCode)&&(null==(pe=i.props)?void 0:pe.pageProps)&&(i.props.pageProps.statusCode=500);try{await this.set(y,i,b)}catch(e){throw(0,s.default)(e)&&e.cancelled&&Z.events.emit("routeChangeError",e,V,q),e}return!0}if(Z.events.emit("beforeHistoryChange",n,q),this.changeState(e,t,n,r),!d||b||T||W||!(0,L.compareRouterStates)(y,this.state)){try{await this.set(y,i,b)}catch(e){if(!e.cancelled)throw e;i.error=i.error||e}if(i.error)throw d||Z.events.emit("routeChangeError",i.error,V,q),i.error;window.omnivoreEnv.__NEXT_I18N_SUPPORT&&C.locale&&(document.documentElement.lang=C.locale),d||Z.events.emit("routeChangeComplete",n,q);const e=/#.+$/;f&&e.test(n)&&this.scrollToHash(n)}return!0}catch(e){if((0,s.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,n,r){void 0===r&&(r={}),"pushState"===e&&(0,f.getURL)()===n||(this._shallow=r.shallow,window.history[e]({url:t,as:n,options:r,__N:!0,key:this._key="pushState"!==e?this._key:G()},"",n))}async handleRouteInfoError(e,t,n,r,o,i){if(console.error(e),e.cancelled)throw e;if((0,a.isAssetError)(e)||i)throw Z.events.emit("routeChangeError",e,r,o),$({url:r,router:this}),I();try{let r;const{page:o,styleSheets:i}=await this.fetchComponent("/_error"),a={props:r,Component:o,styleSheets:i,err:e,error:e};if(!a.props)try{a.props=await this.getInitialProps(o,{err:e,pathname:t,query:n})}catch(e){console.error("Error in error page `getInitialProps`: ",e),a.props={}}return a}catch(e){return this.handleRouteInfoError((0,s.default)(e)?e:new Error(e+""),t,n,r,o,!0)}}async getRouteInfo(e){let{route:t,pathname:n,query:r,as:o,resolvedAs:a,routeProps:l,locale:u,hasMiddleware:d,isPreview:f,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:g,isNotFound:m}=e,v=t;try{var y,A,w,x;const e=Y({route:v,router:this});let t=this.components[v];if(l.shallow&&t&&this.route===v)return t;d&&(t=void 0);let s=t&&!("initial"in t)?t:void 0;const k=h,S={dataHref:this.pageLoader.getDataHref({href:(0,b.formatWithValidation)({pathname:n,query:r}),skipInterpolation:!0,asPath:m?"/404":a,locale:u}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:k?this.sbc:this.sdc,persistCache:!f,isPrefetch:!1,unstable_skipClientCache:p,isBackground:k};let _=h&&!g?null:await z({fetchData:()=>Q(S),asPath:m?"/404":a,locale:u,router:this}).catch((e=>{if(h)return null;throw e}));if(!_||"/_error"!==n&&"/404"!==n||(_.effect=void 0),h&&(_?_.json=self.__NEXT_DATA__.props:_={json:self.__NEXT_DATA__.props}),e(),"redirect-internal"===(null==_||null==(y=_.effect)?void 0:y.type)||"redirect-external"===(null==_||null==(A=_.effect)?void 0:A.type))return _.effect;if("rewrite"===(null==_||null==(w=_.effect)?void 0:w.type)){const e=(0,i.removeTrailingSlash)(_.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(e))&&(v=e,n=_.effect.resolvedHref,r={...r,..._.effect.parsedAs.query},a=(0,E.removeBasePath)((0,c.normalizeLocalePath)(_.effect.parsedAs.pathname,this.locales).pathname),t=this.components[v],l.shallow&&t&&this.route===v&&!d))return{...t,route:v}}if((0,C.isAPIRoute)(v))return $({url:o,router:this}),new Promise((()=>{}));const T=s||await this.fetchComponent(v).then((e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP}))),D=null==_||null==(x=_.response)?void 0:x.headers.get("x-middleware-skip"),L=T.__N_SSG||T.__N_SSP;D&&(null==_?void 0:_.dataHref)&&delete this.sdc[_.dataHref];const{props:O,cacheKey:P}=await this._getData((async()=>{if(L){if((null==_?void 0:_.json)&&!D)return{cacheKey:_.cacheKey,props:_.json};const e=(null==_?void 0:_.dataHref)?_.dataHref:this.pageLoader.getDataHref({href:(0,b.formatWithValidation)({pathname:n,query:r}),asPath:a,locale:u}),t=await Q({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:D?{}:this.sdc,persistCache:!f,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(T.Component,{pathname:n,query:r,asPath:o,locale:u,locales:this.locales,defaultLocale:this.defaultLocale})}}));return T.__N_SSP&&S.dataHref&&P&&delete this.sdc[P],this.isPreview||!T.__N_SSG||h||Q(Object.assign({},S,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch((()=>{})),O.pageProps=Object.assign({},O.pageProps),T.props=O,T.route=v,T.query=r,T.resolvedAs=a,this.components[v]=T,T}catch(e){return this.handleRouteInfoError((0,s.getProperError)(e),n,r,o,l)}}set(e,t,n){return this.state=e,this.sub(t,this.components["/_app"].Component,n)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;const[t,n]=this.asPath.split("#"),[r,o]=e.split("#");return!(!o||t!==r||n!==o)||t===r&&n!==o}scrollToHash(e){const[,t=""]=e.split("#");(0,N.handleSmoothScroll)((()=>{if(""===t||"top"===t)return void window.scrollTo(0,0);const e=decodeURIComponent(t),n=document.getElementById(e);if(n)return void n.scrollIntoView();const r=document.getElementsByName(e)[0];r&&r.scrollIntoView()}),{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,n){if(void 0===t&&(t=e),void 0===n&&(n={}),"undefined"!=typeof window&&(0,P.isBot)(window.navigator.userAgent))return;let r=(0,h.parseRelativeUrl)(e);const o=r.pathname;let{pathname:l,query:s}=r;const u=l;if(window.omnivoreEnv.__NEXT_I18N_SUPPORT&&!1===n.locale){l=(0,c.normalizeLocalePath)(l,this.locales).pathname,r.pathname=l,e=(0,b.formatWithValidation)(r);let o=(0,h.parseRelativeUrl)(t);const i=(0,c.normalizeLocalePath)(o.pathname,this.locales);o.pathname=i.pathname,n.locale=i.detectedLocale||this.defaultLocale,t=(0,b.formatWithValidation)(o)}const d=await this.pageLoader.getPageList();let f=t;const y=void 0!==n.locale?n.locale||void 0:this.locale,S=await B({asPath:t,locale:y,router:this});if(window.omnivoreEnv.__NEXT_HAS_REWRITES&&t.startsWith("/")){let n;({__rewrites:n}=await(0,a.getClientBuildManifest)());const o=(0,g.default)((0,k.addBasePath)((0,w.addLocale)(t,this.locale),!0),d,n,r.query,(e=>H(e,d)),this.locales);if(o.externalDest)return;S||(f=(0,x.removeLocale)((0,E.removeBasePath)(o.asPath),this.locale)),o.matchedPage&&o.resolvedHref&&(l=o.resolvedHref,r.pathname=l,S||(e=(0,b.formatWithValidation)(r)))}r.pathname=H(r.pathname,d),(0,p.isDynamicRoute)(r.pathname)&&(l=r.pathname,r.pathname=l,Object.assign(s,(0,m.getRouteMatcher)((0,v.getRouteRegex)(r.pathname))((0,A.parsePath)(t).pathname)||{}),S||(e=(0,b.formatWithValidation)(r)));const _="strict"===window.omnivoreEnv.__NEXT_MIDDLEWARE_PREFETCH?null:await z({fetchData:()=>Q({dataHref:this.pageLoader.getDataHref({href:(0,b.formatWithValidation)({pathname:u,query:s}),skipInterpolation:!0,asPath:f,locale:y}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:y,router:this});if("rewrite"===(null==_?void 0:_.effect.type)&&(r.pathname=_.effect.resolvedHref,l=_.effect.resolvedHref,s={...s,..._.effect.parsedAs.query},f=_.effect.parsedAs.pathname,e=(0,b.formatWithValidation)(r)),"redirect-external"===(null==_?void 0:_.effect.type))return;const C=(0,i.removeTrailingSlash)(l);await this._bfl(t,f,n.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(C).then((t=>!!t&&Q({dataHref:(null==_?void 0:_.json)?null==_?void 0:_.dataHref:this.pageLoader.getDataHref({href:e,asPath:f,locale:y}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:n.unstable_skipClientCache||n.priority&&!!window.omnivoreEnv.__NEXT_OPTIMISTIC_CLIENT_CACHE}).then((()=>!1)).catch((()=>!1)))),this.pageLoader[n.priority?"loadPage":"prefetch"](C)])}async fetchComponent(e){const t=Y({route:e,router:this});try{const n=await this.pageLoader.loadPage(e);return t(),n}catch(e){throw t(),e}}_getData(e){let t=!1;const n=()=>{t=!0};return this.clc=n,e().then((e=>{if(n===this.clc&&(this.clc=null),t){const e=new Error("Loading initial props cancelled");throw e.cancelled=!0,e}return e}))}_getFlightData(e){return Q({dataHref:e,isServerRender:!0,parseJSON:!1,inflightCache:this.sdc,persistCache:!1,isPrefetch:!1}).then((e=>{let{text:t}=e;return{data:t}}))}getInitialProps(e,t){const{Component:n}=this.components["/_app"],r=this._wrapApp(n);return t.AppTree=r,(0,f.loadGetInitialProps)(n,{AppTree:r,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,r,{initialProps:o,pageLoader:a,App:l,wrapApp:s,Component:u,err:c,subscription:d,isFallback:g,locale:m,locales:v,defaultLocale:A,domainLocales:w,isPreview:x}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=G(),this.onPopState=e=>{const{isFirstPopStateEvent:t}=this;this.isFirstPopStateEvent=!1;const n=e.state;if(!n){const{pathname:e,query:t}=this;return void this.changeState("replaceState",(0,b.formatWithValidation)({pathname:(0,k.addBasePath)(e),query:t}),(0,f.getURL)())}if(n.__NA)return void window.location.reload();if(!n.__N)return;if(t&&this.locale===n.options.locale&&n.as===this.asPath)return;let r;const{url:o,as:i,options:a,key:l}=n;if(window.omnivoreEnv.__NEXT_SCROLL_RESTORATION&&q&&this._key!==l){try{sessionStorage.setItem("__next_scroll_"+this._key,JSON.stringify({x:self.pageXOffset,y:self.pageYOffset}))}catch(e){}try{const e=sessionStorage.getItem("__next_scroll_"+l);r=JSON.parse(e)}catch(e){r={x:0,y:0}}}this._key=l;const{pathname:s}=(0,h.parseRelativeUrl)(o);this.isSsr&&i===(0,k.addBasePath)(this.asPath)&&s===(0,k.addBasePath)(this.pathname)||this._bps&&!this._bps(n)||this.change("replaceState",o,i,Object.assign({},a,{shallow:a.shallow&&this._shallow,locale:a.locale||this.defaultLocale,_h:0}),r)};const E=(0,i.removeTrailingSlash)(e);if(this.components={},"/_error"!==e&&(this.components[E]={Component:u,initial:!0,props:o,err:c,__N_SSG:o&&o.__N_SSG,__N_SSP:o&&o.__N_SSP}),this.components["/_app"]={Component:l,styleSheets:[]},window.omnivoreEnv.__NEXT_CLIENT_ROUTER_FILTER_ENABLED){const{BloomFilter:e}=n(8261),t=window.omnivoreEnv.__NEXT_CLIENT_ROUTER_S_FILTER,r=window.omnivoreEnv.__NEXT_CLIENT_ROUTER_D_FILTER;(null==t?void 0:t.numHashes)&&(this._bfl_s=new e(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==r?void 0:r.numHashes)&&(this._bfl_d=new e(r.numItems,r.errorRate),this._bfl_d.import(r))}this.events=Z.events,this.pageLoader=a;const S=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath=window.omnivoreEnv.__NEXT_ROUTER_BASEPATH||"",this.sub=d,this.clc=null,this._wrapApp=s,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!(!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp)&&(S||self.location.search||window.omnivoreEnv.__NEXT_HAS_REWRITES)),window.omnivoreEnv.__NEXT_I18N_SUPPORT&&(this.locales=v,this.defaultLocale=A,this.domainLocales=w,this.isLocaleDomain=!!(0,y.detectDomainLocale)(w,self.location.hostname)),this.state={route:E,pathname:e,query:t,asPath:S?e:r,isPreview:!!x,locale:window.omnivoreEnv.__NEXT_I18N_SUPPORT?m:void 0,isFallback:g},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),"undefined"!=typeof window){if(!r.startsWith("//")){const n={locale:m},o=(0,f.getURL)();this._initialMatchesMiddlewarePromise=B({router:this,locale:m,asPath:o}).then((i=>(n._shouldResolveHref=r!==e,this.changeState("replaceState",i?o:(0,b.formatWithValidation)({pathname:(0,k.addBasePath)(e),query:t}),o,n),i)))}window.addEventListener("popstate",this.onPopState),window.omnivoreEnv.__NEXT_SCROLL_RESTORATION&&q&&(window.history.scrollRestoration="manual")}}}Z.events=(0,d.default)()},6707:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return i}});const r=n(284),o=n(9181);function i(e,t,n,i){if(!t||t===n)return e;const a=e.toLowerCase();if(!i){if((0,o.pathHasPrefix)(a,"/api"))return e;if((0,o.pathHasPrefix)(a,"/"+t.toLowerCase()))return e}return(0,r.addPathPrefix)(e,"/"+t)}},284:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});const r=n(2593);function o(e,t){if(!e.startsWith("/")||!t)return e;const{pathname:n,query:o,hash:i}=(0,r.parsePath)(e);return""+t+n+o+i}},8030:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});const r=n(2593);function o(e,t){if(!e.startsWith("/")||!t)return e;const{pathname:n,query:o,hash:i}=(0,r.parsePath)(e);return""+n+t+o+i}},9361:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{normalizeAppPath:function(){return i},normalizeRscPath:function(){return a}});const r=n(9739),o=n(4334);function i(e){return(0,r.ensureLeadingSlash)(e.split("/").reduce(((e,t,n,r)=>t?(0,o.isGroupSegment)(t)||"@"===t[0]?e:"page"!==t&&"route"!==t||n!==r.length-1?e+"/"+t:e:e),""))}function a(e,t){return t?e.replace(/\.rsc($|\?)/,"$1"):e}},2121:(e,t)=>{"use strict";function n(e,t){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r=n.length;r--;){const o=n[r];if("query"===o){const n=Object.keys(e.query);if(n.length!==Object.keys(t.query).length)return!1;for(let r=n.length;r--;){const o=n[r];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return n}})},3778:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return l}});const r=n(2794),o=n(284),i=n(8030),a=n(6707);function l(e){let t=(0,a.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return!e.buildId&&e.trailingSlash||(t=(0,r.removeTrailingSlash)(t)),e.buildId&&(t=(0,i.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,i.addPathSuffix)(t,"/"):(0,r.removeTrailingSlash)(t)}},6555:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{formatUrl:function(){return i},urlObjectKeys:function(){return a},formatWithValidation:function(){return l}});const r=n(5570)._(n(646)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:n}=e,i=e.protocol||"",a=e.pathname||"",l=e.hash||"",s=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?"["+n+"]":n),e.port&&(u+=":"+e.port)),s&&"object"==typeof s&&(s=String(r.urlQueryToSearchParams(s)));let c=e.search||s&&"?"+s||"";return i&&!i.endsWith(":")&&(i+=":"),e.slashes||(!i||o.test(i))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),a=a.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),""+i+u+a+c+l}const a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return i(e)}},9983:(e,t)=>{"use strict";function n(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:""+e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return n}})},5930:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return a}});const r=n(816),o=n(5803),i=n(9181);function a(e,t){var n;const{basePath:a,i18n:l,trailingSlash:s}=null!=(n=t.nextConfig)?n:{},u={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):s};a&&(0,i.pathHasPrefix)(u.pathname,a)&&(u.pathname=(0,o.removePathPrefix)(u.pathname,a),u.basePath=a);let c=u.pathname;if(u.pathname.startsWith("/_next/data/")&&u.pathname.endsWith(".json")){const e=u.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),n=e[0];u.buildId=n,c="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(u.pathname=c)}if(l){let e=t.i18nProvider?t.i18nProvider.analyze(u.pathname):(0,r.normalizeLocalePath)(u.pathname,l.locales);var d;u.locale=e.detectedLocale,u.pathname=null!=(d=e.pathname)?d:u.pathname,!e.detectedLocale&&u.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(c):(0,r.normalizeLocalePath)(c,l.locales),e.detectedLocale&&(u.locale=e.detectedLocale))}return u}},6576:(e,t)=>{"use strict";function n(e,t){if(void 0===t&&(t={}),t.onlyHashChange)return void e();const n=document.documentElement,r=n.style.scrollBehavior;n.style.scrollBehavior="auto",t.dontForceLayout||n.getClientRects(),e(),n.style.scrollBehavior=r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return n}})},9150:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getSortedRoutes:function(){return r.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});const r=n(9036),o=n(7482)},2685:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return i}});const r=n(3107),o=n(4794);function i(e,t,n){let i="";const a=(0,o.getRouteRegex)(e),l=a.groups,s=(t!==e?(0,r.getRouteMatcher)(a)(t):"")||n;i=e;const u=Object.keys(l);return u.every((e=>{let t=s[e]||"";const{repeat:n,optional:r}=l[e];let o="["+(n?"...":"")+e+"]";return r&&(o=(t?"":"/")+"["+o+"]"),n&&!Array.isArray(t)&&(t=[t]),(r||e in s)&&(i=i.replace(o,n?t.map((e=>encodeURIComponent(e))).join("/"):encodeURIComponent(t))||"/")}))||(i=""),{params:u,result:i}}},343:(e,t)=>{"use strict";function n(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}})},7482:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return r}});const n=/\/\[[^/]+?\](?=\/|$)/;function r(e){return n.test(e)}},8657:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return i}});const r=n(1624),o=n(6200);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{const t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},2093:(e,t)=>{"use strict";function n(e,t){const n={};return Object.keys(e).forEach((r=>{t.includes(r)||(n[r]=e[r])})),n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return n}})},2593:(e,t)=>{"use strict";function n(e){const t=e.indexOf("#"),n=e.indexOf("?"),r=n>-1&&(t<0||n-1?{pathname:e.substring(0,r?n:t),query:r?e.substring(n,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return n}})},1577:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return i}});const r=n(1624),o=n(646);function i(e,t){const n=new URL("undefined"==typeof window?"http://n":(0,r.getLocationOrigin)()),i=t?new URL(t,n):e.startsWith(".")?new URL("undefined"==typeof window?"http://n":window.location.href):n,{pathname:a,searchParams:l,search:s,hash:u,href:c,origin:d}=new URL(e,i);if(d!==n.origin)throw new Error("invariant: invalid relative URL, router received "+e);return{pathname:a,query:(0,o.searchParamsToUrlQuery)(l),search:s,hash:u,href:c.slice(n.origin.length)}}},2011:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseUrl",{enumerable:!0,get:function(){return i}});const r=n(646),o=n(1577);function i(e){if(e.startsWith("/"))return(0,o.parseRelativeUrl)(e);const t=new URL(e);return{hash:t.hash,hostname:t.hostname,href:t.href,pathname:t.pathname,port:t.port,protocol:t.protocol,query:(0,r.searchParamsToUrlQuery)(t.searchParams),search:t.search}}},9181:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});const r=n(2593);function o(e,t){if("string"!=typeof e)return!1;const{pathname:n}=(0,r.parsePath)(e);return n===t||n.startsWith(t+"/")}},1095:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getPathMatch",{enumerable:!0,get:function(){return o}});const r=n(9264);function o(e,t){const n=[],o=(0,r.pathToRegexp)(e,n,{delimiter:"/",sensitive:"boolean"==typeof(null==t?void 0:t.sensitive)&&t.sensitive,strict:null==t?void 0:t.strict}),i=(0,r.regexpToFunction)((null==t?void 0:t.regexModifier)?new RegExp(t.regexModifier(o.source),o.flags):o,n);return(e,r)=>{if("string"!=typeof e)return!1;const o=i(e);if(!o)return!1;if(null==t?void 0:t.removeUnnamedParams)for(const e of n)"number"==typeof e.name&&delete o.params[e.name];return{...r,...o.params}}}},9716:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{matchHas:function(){return c},compileNonPath:function(){return d},prepareDestination:function(){return f}});const r=n(9264),o=n(8058),i=n(2011),a=n(6520),l=n(3042),s=n(1702);function u(e){return e.replace(/__ESC_COLON_/gi,":")}function c(e,t,n,r){void 0===n&&(n=[]),void 0===r&&(r=[]);const o={},i=n=>{let r,i=n.key;switch(n.type){case"header":i=i.toLowerCase(),r=e.headers[i];break;case"cookie":r="cookies"in e?e.cookies[n.key]:(0,s.getCookieParser)(e.headers)()[n.key];break;case"query":r=t[i];break;case"host":{const{host:t}=(null==e?void 0:e.headers)||{};r=null==t?void 0:t.split(":")[0].toLowerCase();break}}if(!n.value&&r)return o[function(e){let t="";for(let n=0;n64&&r<91||r>96&&r<123)&&(t+=e[n])}return t}(i)]=r,!0;if(r){const e=new RegExp("^"+n.value+"$"),t=Array.isArray(r)?r.slice(-1)[0].match(e):r.match(e);if(t)return Array.isArray(t)&&(t.groups?Object.keys(t.groups).forEach((e=>{o[e]=t.groups[e]})):"host"===n.type&&t[0]&&(o.host=t[0])),!0}return!1};return!(!n.every((e=>i(e)))||r.some((e=>i(e))))&&o}function d(e,t){if(!e.includes(":"))return e;for(const n of Object.keys(t))e.includes(":"+n)&&(e=e.replace(new RegExp(":"+n+"\\*","g"),":"+n+"--ESCAPED_PARAM_ASTERISKS").replace(new RegExp(":"+n+"\\?","g"),":"+n+"--ESCAPED_PARAM_QUESTION").replace(new RegExp(":"+n+"\\+","g"),":"+n+"--ESCAPED_PARAM_PLUS").replace(new RegExp(":"+n+"(?!\\w)","g"),"--ESCAPED_PARAM_COLON"+n));return e=e.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,r.compile)("/"+e,{validate:!1})(t).slice(1)}function f(e){const t=Object.assign({},e.query);delete t.__nextLocale,delete t.__nextDefaultLocale,delete t.__nextDataReq,delete t.__nextInferredLocaleFromDefault,delete t[l.NEXT_RSC_UNION_QUERY];let n=e.destination;for(const r of Object.keys({...e.params,...t}))s=r,n=n.replace(new RegExp(":"+(0,o.escapeStringRegexp)(s),"g"),"__ESC_COLON_"+s);var s;const c=(0,i.parseUrl)(n),f=c.query,p=u(""+c.pathname+(c.hash||"")),h=u(c.hostname||""),g=[],m=[];(0,r.pathToRegexp)(p,g),(0,r.pathToRegexp)(h,m);const v=[];g.forEach((e=>v.push(e.name))),m.forEach((e=>v.push(e.name)));const b=(0,r.compile)(p,{validate:!1}),y=(0,r.compile)(h,{validate:!1});for(const[t,n]of Object.entries(f))Array.isArray(n)?f[t]=n.map((t=>d(u(t),e.params))):"string"==typeof n&&(f[t]=d(u(n),e.params));let A,w=Object.keys(e.params).filter((e=>"nextInternalLocale"!==e));if(e.appendParamsToQuery&&!w.some((e=>v.includes(e))))for(const t of w)t in f||(f[t]=e.params[t]);if((0,a.isInterceptionRouteAppPath)(p))for(const t of p.split("/")){const n=a.INTERCEPTION_ROUTE_MARKERS.find((e=>t.startsWith(e)));if(n){e.params[0]=n;break}}try{A=b(e.params);const[t,n]=A.split("#");c.hostname=y(e.params),c.pathname=t,c.hash=(n?"#":"")+(n||""),delete c.search}catch(e){if(e.message.match(/Expected .*? to not repeat, but got an array/))throw new Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match");throw e}return c.query={...t,...c.query},{newUrl:A,destQuery:f,parsedDestination:c}}},646:(e,t)=>{"use strict";function n(e){const t={};return e.forEach(((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]})),t}function r(e){return"string"==typeof e||"number"==typeof e&&!isNaN(e)||"boolean"==typeof e?String(e):""}function o(e){const t=new URLSearchParams;return Object.entries(e).forEach((e=>{let[n,o]=e;Array.isArray(o)?o.forEach((e=>t.append(n,r(e)))):t.set(n,r(o))})),t}function i(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach((t=>e.delete(t))),t.forEach(((t,n)=>e.append(n,t)))})),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o},assign:function(){return i}})},5803:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});const r=n(9181);function o(e,t){if(!(0,r.pathHasPrefix)(e,t))return e;const n=e.slice(t.length);return n.startsWith("/")?n:"/"+n}},2794:(e,t)=>{"use strict";function n(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return n}})},5317:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});const r=n(1095),o=n(9716),i=n(2794),a=n(816),l=n(2087),s=n(1577);function u(e,t,n,u,c,d){let f,p=!1,h=!1,g=(0,s.parseRelativeUrl)(e),m=(0,i.removeTrailingSlash)((0,a.normalizeLocalePath)((0,l.removeBasePath)(g.pathname),d).pathname);const v=n=>{let s=(0,r.getPathMatch)(n.source+(window.omnivoreEnv.__NEXT_TRAILING_SLASH?"(/)?":""),{removeUnnamedParams:!0,strict:!0})(g.pathname);if((n.has||n.missing)&&s){const e=(0,o.matchHas)({headers:{host:document.location.hostname,"user-agent":navigator.userAgent},cookies:document.cookie.split("; ").reduce(((e,t)=>{const[n,...r]=t.split("=");return e[n]=r.join("="),e}),{})},g.query,n.has,n.missing);e?Object.assign(s,e):s=!1}if(s){if(!n.destination)return h=!0,!0;const r=(0,o.prepareDestination)({appendParamsToQuery:!0,destination:n.destination,params:s,query:u});if(g=r.parsedDestination,e=r.newUrl,Object.assign(u,r.parsedDestination.query),m=(0,i.removeTrailingSlash)((0,a.normalizeLocalePath)((0,l.removeBasePath)(e),d).pathname),t.includes(m))return p=!0,f=m,!0;if(f=c(m),f!==e&&t.includes(f))return p=!0,!0}};let b=!1;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});const r=n(1624);function o(e){let{re:t,groups:n}=e;return e=>{const o=t.exec(e);if(!o)return!1;const i=e=>{try{return decodeURIComponent(e)}catch(e){throw new r.DecodeError("failed to decode param")}},a={};return Object.keys(n).forEach((e=>{const t=n[e],r=o[t.pos];void 0!==r&&(a[e]=~r.indexOf("/")?r.split("/").map((e=>i(e))):t.repeat?[i(r)]:i(r))})),a}}},4794:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getRouteRegex:function(){return s},getNamedRouteRegex:function(){return d},getNamedMiddlewareRegex:function(){return f}});const r=n(6520),o=n(8058),i=n(2794);function a(e){const t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));const n=e.startsWith("...");return n&&(e=e.slice(3)),{key:e,repeat:n,optional:t}}function l(e){const t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),n={};let l=1;return{parameterizedRoute:t.map((e=>{const t=r.INTERCEPTION_ROUTE_MARKERS.find((t=>e.startsWith(t))),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){const{key:e,optional:r,repeat:s}=a(i[1]);return n[e]={pos:l++,repeat:s,optional:r},"/"+(0,o.escapeStringRegexp)(t)+"([^/]+?)"}if(i){const{key:e,repeat:t,optional:r}=a(i[1]);return n[e]={pos:l++,repeat:t,optional:r},t?r?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}return"/"+(0,o.escapeStringRegexp)(e)})).join(""),groups:n}}function s(e){const{parameterizedRoute:t,groups:n}=l(e);return{re:new RegExp("^"+t+"(?:/)?$"),groups:n}}function u(e){let{getSafeRouteKey:t,segment:n,routeKeys:r,keyPrefix:o}=e;const{key:i,optional:l,repeat:s}=a(n);let u=i.replace(/\W/g,"");o&&(u=""+o+u);let c=!1;return(0===u.length||u.length>30)&&(c=!0),isNaN(parseInt(u.slice(0,1)))||(c=!0),c&&(u=t()),r[u]=o?""+o+i:""+i,s?l?"(?:/(?<"+u+">.+?))?":"/(?<"+u+">.+?)":"/(?<"+u+">[^/]+?)"}function c(e,t){const n=(0,i.removeTrailingSlash)(e).slice(1).split("/"),a=function(){let e=0;return()=>{let t="",n=++e;for(;n>0;)t+=String.fromCharCode(97+(n-1)%26),n=Math.floor((n-1)/26);return t}}(),l={};return{namedParameterizedRoute:n.map((e=>{const n=r.INTERCEPTION_ROUTE_MARKERS.some((t=>e.startsWith(t))),i=e.match(/\[((?:\[.*\])|.+)\]/);return n&&i?u({getSafeRouteKey:a,segment:i[1],routeKeys:l,keyPrefix:t?"nxtI":void 0}):i?u({getSafeRouteKey:a,segment:i[1],routeKeys:l,keyPrefix:t?"nxtP":void 0}):"/"+(0,o.escapeStringRegexp)(e)})).join(""),routeKeys:l}}function d(e,t){const n=c(e,t);return{...s(e),namedRegex:"^"+n.namedParameterizedRoute+"(?:/)?$",routeKeys:n.routeKeys}}function f(e,t){const{parameterizedRoute:n}=l(e),{catchAll:r=!0}=t;if("/"===n)return{namedRegex:"^/"+(r?".*":"")+"$"};const{namedParameterizedRoute:o}=c(e,!1);return{namedRegex:"^"+o+(r?"(?:(/.*)?)":"")+"$"}}},9036:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");const t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);const n=t.map((t=>this.children.get(t)._smoosh(""+e+t+"/"))).reduce(((e,t)=>[...e,...t]),[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){const t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw new Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length)return void(this.placeholder=!1);if(r)throw new Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let i=o.slice(1,-1),a=!1;if(i.startsWith("[")&&i.endsWith("]")&&(i=i.slice(1,-1),a=!0),i.startsWith("...")&&(i=i.substring(3),r=!0),i.startsWith("[")||i.endsWith("]"))throw new Error("Segment names may not start or end with extra brackets ('"+i+"').");if(i.startsWith("."))throw new Error("Segment names may not start with erroneous periods ('"+i+"').");function l(e,n){if(null!==e&&e!==n)throw new Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach((e=>{if(e===n)throw new Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw new Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')})),t.push(n)}if(r)if(a){if(null!=this.restSlugName)throw new Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');l(this.optionalRestSlugName,i),this.optionalRestSlugName=i,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw new Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');l(this.restSlugName,i),this.restSlugName=i,o="[...]"}else{if(a)throw new Error('Optional route parameters are not yet supported ("'+e[0]+'").');l(this.slugName,i),this.slugName=i,o="[]"}}this.children.has(o)||this.children.set(o,new n),this.children.get(o)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){const t=new n;return e.forEach((e=>t.insert(e))),t.smoosh()}},4334:(e,t)=>{"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isGroupSegment",{enumerable:!0,get:function(){return n}})},1624:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{WEB_VITALS:function(){return n},execOnce:function(){return r},isAbsoluteUrl:function(){return i},getLocationOrigin:function(){return a},getURL:function(){return l},getDisplayName:function(){return s},isResSent:function(){return u},normalizeRepeatedSlashes:function(){return c},loadGetInitialProps:function(){return d},SP:function(){return f},ST:function(){return p},DecodeError:function(){return h},NormalizeError:function(){return g},PageNotFoundError:function(){return m},MissingStaticPage:function(){return v},MiddlewareNotFoundError:function(){return b},stringifyError:function(){return y}});const n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=new Array(r),i=0;io.test(e);function a(){const{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function l(){const{href:e}=window.location,t=a();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function c(e){const t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){const n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};const r=await e.getInitialProps(t);if(n&&u(n))return r;if(!r){const t='"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.';throw new Error(t)}return r}const f="undefined"!=typeof performance,p=f&&["mark","measure","getEntriesByName"].every((e=>"function"==typeof performance[e]));class h extends Error{}class g extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class v extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class b extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function y(e){return JSON.stringify({message:e.message,stack:e.stack})}},9097:(e,t,n)=>{n(4529)},5632:(e,t,n)=>{e.exports=n(9518)},2852:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nodeHtmlParserConfig=t.aTagTranslatorConfig=t.defaultCodeBlockTranslators=t.tableCellTranslatorConfig=t.tableRowTranslatorConfig=t.tableTranslatorConfig=t.defaultTranslators=t.defaultOptions=t.contentlessElements=t.defaultIgnoreElements=t.defaultBlockElements=void 0;const r=n(3525),o=n(6183);t.defaultBlockElements=["ADDRESS","ARTICLE","ASIDE","AUDIO","BLOCKQUOTE","BODY","CANVAS","CENTER","DD","DIR","DIV","DL","DT","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","FRAMESET","H1","H2","H3","H4","H5","H6","HEADER","HGROUP","HR","HTML","ISINDEX","LI","MAIN","MENU","NAV","NOFRAMES","NOSCRIPT","OL","OUTPUT","P","PRE","SECTION","TABLE","TBODY","TD","TFOOT","TH","THEAD","TR","UL"],t.defaultIgnoreElements=["AREA","BASE","COL","COMMAND","EMBED","HEAD","INPUT","KEYGEN","LINK","META","PARAM","SCRIPT","SOURCE","STYLE","TRACK","WBR"],t.contentlessElements=["BR","HR","IMG"],t.defaultOptions=Object.freeze({preferNativeParser:!1,codeFence:"```",bulletMarker:"*",indent:" ",codeBlockStyle:"fenced",emDelimiter:"_",strongDelimiter:"**",strikeDelimiter:"~~",maxConsecutiveNewlines:3,globalEscape:[/[\\`*_~\[\]]/gm,"\\$&"],lineStartEscape:[/^(\s*?)((?:\+\s)|(?:[=>-])|(?:#{1,6}\s))|(?:(\d+)(\.\s))/gm,"$1$3\\$2$4"],useInlineLinks:!0}),t.defaultTranslators={pre:{noEscape:!0,preserveWhitespace:!0},br:{content:" \n",recurse:!1},hr:{content:"---",recurse:!1},"h1,h2,h3,h4,h5,h6":({node:e})=>({prefix:"#".repeat(+e.tagName.charAt(1))+" "}),"strong,b":{spaceIfRepeatingChar:!0,postprocess:({content:e,options:{strongDelimiter:t}})=>(0,r.isWhiteSpaceOnly)(e)?o.PostProcessResult.RemoveNode:(0,r.tagSurround)(e,t)},"del,s,strike":{spaceIfRepeatingChar:!0,postprocess:({content:e,options:{strikeDelimiter:t}})=>(0,r.isWhiteSpaceOnly)(e)?o.PostProcessResult.RemoveNode:(0,r.tagSurround)(e,t)},"em,i":{spaceIfRepeatingChar:!0,postprocess:({content:e,options:{emDelimiter:t}})=>(0,r.isWhiteSpaceOnly)(e)?o.PostProcessResult.RemoveNode:(0,r.tagSurround)(e,t)},"ol,ul":({listKind:e})=>({surroundingNewlines:e?1:2}),li:({options:{bulletMarker:e},indentLevel:t,listKind:n,listItemNumber:i})=>{const a=+(t||0);return{prefix:" ".repeat(+(t||0))+("OL"===n&&void 0!==i?`${i}. `:`${e} `),surroundingNewlines:1,postprocess:({content:e})=>(0,r.isWhiteSpaceOnly)(e)?o.PostProcessResult.RemoveNode:e.trim().replace(/([^\r\n])(?:\r?\n)+/g,`$1 \n${" ".repeat(a)}`).replace(/(\S+?)[^\S\r\n]+$/gm,"$1 ")}},blockquote:{postprocess:({content:e})=>(0,r.trimNewLines)(e).replace(/^(>*)[^\S\r\n]?/gm,">$1 ")},code:({node:e,parent:t,options:{codeFence:n,codeBlockStyle:o},visitor:i})=>{var a,l;return["PRE","WRAPPED-PRE"].includes(null==t?void 0:t.tagName)&&t.childNodes.length<2?"fenced"===o?{noEscape:!0,prefix:n+((null===(l=null===(a=e.getAttribute("class"))||void 0===a?void 0:a.match(/language-(\S+)/))||void 0===l?void 0:l[1])||"")+"\n",postfix:"\n"+n,childTranslators:i.instance.codeBlockTranslators}:{noEscape:!0,postprocess:({content:e})=>e.replace(/^/gm," "),childTranslators:i.instance.codeBlockTranslators}:{spaceIfRepeatingChar:!0,noEscape:!0,postprocess:({content:e})=>{var t,n;const o="`"+((null===(n=null===(t=e.match(/`+/g))||void 0===t?void 0:t.sort(((e,t)=>t.length-e.length)))||void 0===n?void 0:n[0])||""),i=o.length>1?" ":"";return(0,r.surround)((0,r.surround)(e,i),o)}}},table:({visitor:e})=>({surroundingNewlines:2,childTranslators:e.instance.tableTranslators,postprocess:({content:e,nodeMetadata:t,node:n})=>{const i=(0,r.splitSpecial)(e).map((({text:e})=>e.replace(/^(?:\|\s+)?(.+)\s*\|\s*$/,"$1"))),a=[];let l=[];for(const e of i){if(!e)continue;const t=e.split(" |").map(((e,t)=>(e=e.trim(),(l.length{var n;u+="| ";for(let t=0;t" "+"-".repeat(e)+" |")).join("")+"\n")})),u}}),a:({node:e,options:t,visitor:n})=>{const r=e.getAttribute("href");if(!r)return{};let o="";for(const e of r)switch(e){case"(":o+="%28";break;case")":o+="%29";break;case"_":o+="%5F";break;case"*":o+="%2A";break;default:o+=e}const i=e.getAttribute("title");return e.textContent===r&&t.useInlineLinks?{content:`<${o}>`}:{postprocess:({content:e})=>e.replace(/(?:\r?\n)+/g," "),childTranslators:n.instance.aTagTranslators,prefix:"[",postfix:"]"+(t.useLinkReferenceDefinitions?`[${n.addOrGetUrlDefinition(o)}]`:`(${o}${i?` "${i}"`:""})`)}},img:({node:e,options:t})=>{const n=e.getAttribute("src")||"";if(!n||!t.keepDataImages&&/^data:/i.test(n))return{ignore:!0};const r=e.getAttribute("alt")||"",o=e.getAttribute("title")||"";return{content:`![${r}](${n}${o&&` "${o}"`})`,recurse:!1}}},t.tableTranslatorConfig={caption:({visitor:e})=>({surroundingNewlines:!1,childTranslators:e.instance.tableCellTranslators,postprocess:({content:e,nodeMetadata:t,node:n})=>{const r=e.replace(/(?:\r?\n)+/g," ").trim();return r&&(t.get(n).tableMeta.caption="__"+r+"__"),o.PostProcessResult.RemoveNode}}),tr:({visitor:e})=>({surroundingNewlines:!1,childTranslators:e.instance.tableRowTranslators,postfix:"\n",prefix:"| ",postprocess:({content:e})=>/ \|\s*$/.test(e)?e:o.PostProcessResult.RemoveNode}),"th,td":({visitor:e})=>({surroundingNewlines:!1,childTranslators:e.instance.tableCellTranslators,prefix:" ",postfix:" |",postprocess:({content:e})=>(0,r.trimNewLines)(e).replace("|","\\|").replace(/(?:\r?\n)+/g," ").trim()})},t.tableRowTranslatorConfig={"th,td":t.tableTranslatorConfig["th,td"]},t.tableCellTranslatorConfig={a:t.defaultTranslators.a,"strong,b":t.defaultTranslators["strong,b"],"del,s,strike":t.defaultTranslators["del,s,strike"],"em,i":t.defaultTranslators["em,i"],img:t.defaultTranslators.img},t.defaultCodeBlockTranslators={br:{content:"\n",recurse:!1},hr:{content:"---",recurse:!1},"h1,h2,h3,h4,h5,h6":{prefix:"[",postfix:"]"},"ol,ul":t.defaultTranslators["ol,ul"],li:t.defaultTranslators.li,tr:{surroundingNewlines:!0},img:{recurse:!1}},t.aTagTranslatorConfig={br:{content:"\n",recurse:!1},hr:{content:"\n",recurse:!1},pre:t.defaultTranslators.pre,"strong,b":t.defaultTranslators["strong,b"],"del,s,strike":t.defaultTranslators["del,s,strike"],"em,i":t.defaultTranslators["em,i"],img:t.defaultTranslators.img},t.nodeHtmlParserConfig={lowerCaseTagName:!1,comment:!1,fixNestedATags:!0,blockTextElements:{script:!1,noscript:!1,style:!1}}},3468:(e,t,n)=>{"use strict";t.dx=void 0;var r=n(2189);Object.defineProperty(t,"dx",{enumerable:!0,get:function(){return r.NodeHtmlMarkdown}});n(6183)},2189:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeHtmlMarkdown=void 0;const r=n(6183),o=n(2852),i=n(3525),a=n(819);class l{constructor(e,t,n){var i,a,l,s;this.translators=new r.TranslatorCollection,this.aTagTranslators=new r.TranslatorCollection,this.codeBlockTranslators=new r.TranslatorCollection,this.tableTranslators=new r.TranslatorCollection,this.tableRowTranslators=new r.TranslatorCollection,this.tableCellTranslators=new r.TranslatorCollection,this.options=Object.assign(Object.assign({},o.defaultOptions),e);const u=null!==(a=null===(i=this.options.ignore)||void 0===i?void 0:i.concat(o.defaultIgnoreElements))&&void 0!==a?a:o.defaultIgnoreElements,c=null!==(s=null===(l=this.options.blockElements)||void 0===l?void 0:l.concat(o.defaultBlockElements))&&void 0!==s?s:o.defaultBlockElements;null==u||u.forEach((e=>{this.translators.set(e,{ignore:!0,recurse:!1}),this.codeBlockTranslators.set(e,{ignore:!0,recurse:!1})})),null==c||c.forEach((e=>{this.translators.set(e,{surroundingNewlines:2}),this.codeBlockTranslators.set(e,{surroundingNewlines:2})}));for(const[e,n]of Object.entries(Object.assign(Object.assign({},o.defaultTranslators),t)))this.translators.set(e,n,!0);for(const[e,t]of Object.entries(Object.assign(Object.assign({},o.defaultCodeBlockTranslators),n)))this.codeBlockTranslators.set(e,t,!0);for(const[e,t]of Object.entries(o.aTagTranslatorConfig))this.aTagTranslators.set(e,t,!0);for(const[e,t]of Object.entries(o.tableTranslatorConfig))this.tableTranslators.set(e,t,!0);for(const[e,t]of Object.entries(o.tableRowTranslatorConfig))this.tableRowTranslators.set(e,t,!0);for(const[e,t]of Object.entries(o.tableCellTranslatorConfig))this.tableCellTranslators.set(e,t,!0);this.options.textReplace||(this.options.textReplace=[]),this.options.textReplace.push([/^/gim,""])}static translate(e,t,n,r){return l.prototype.translateWorker.call(new l(t,n,r),e)}translate(e){return this.translateWorker(e)}translateWorker(e){const t="string"!=typeof e,n=t?e:{default:e},r={};for(const[e,t]of Object.entries(n)){const n=(0,i.parseHTML)(t,this.options);r[e]=(0,a.getMarkdownForHtmlNodes)(this,n,"default"!==e?e:void 0)}return t?r:r.default}}t.NodeHtmlMarkdown=l},5101:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isElementNode=t.isCommentNode=t.isTextNode=t.CommentNode=t.NodeType=void 0;const r=n(42);Object.defineProperty(t,"CommentNode",{enumerable:!0,get:function(){return r.CommentNode}}),Object.defineProperty(t,"NodeType",{enumerable:!0,get:function(){return r.NodeType}}),t.isTextNode=e=>e.nodeType===r.NodeType.TEXT_NODE,t.isCommentNode=e=>e.nodeType===r.NodeType.COMMENT_NODE,t.isElementNode=e=>e.nodeType===r.NodeType.ELEMENT_NODE},6183:(e,t)=>{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.createTranslatorContext=t.isTranslatorConfig=t.TranslatorCollection=t.PostProcessResult=void 0,(n=t.PostProcessResult||(t.PostProcessResult={}))[n.NoChange=0]="NoChange",n[n.RemoveNode=1]="RemoveNode",t.TranslatorCollection=class{get size(){return Object.keys(this).length}set(e,n,r){e.split(",").forEach((e=>{e=e.toUpperCase();let o=n;if(r){const r=this[e];(0,t.isTranslatorConfig)(r)&&(o=(0,t.isTranslatorConfig)(n)?Object.assign(Object.assign({},r),n):Object.assign(((...e)=>n.apply(void 0,e)),{base:r}))}this[e]=o}))}get(e){return this[e.toUpperCase()]}entries(){return Object.entries(this)}remove(e){e.split(",").forEach((e=>delete this[e.toUpperCase()]))}},t.isTranslatorConfig=e=>"object"==typeof e,t.createTranslatorContext=function(e,t,n,r){const{instance:o,nodeMetadata:i}=e;return Object.assign({node:t,options:o.options,parent:t.parentNode,nodeMetadata:i,visitor:e,base:r},n)}},3525:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.perfStop=t.perfStart=t.getChildNodes=t.parseHTML=t.truthyStr=t.getTrailingWhitespaceInfo=t.tagSurround=t.splitSpecial=t.isWhiteSpaceOnly=t.surround=t.trimNewLines=void 0;const r=n(2852);function o(e){const t=[],n=e.length;for(let r=0,o=0;r1&&++r)}return t}t.trimNewLines=e=>e.replace(/^\n+|\n+$/g,""),t.surround=(e,t)=>`${t}${e}${t}`,t.isWhiteSpaceOnly=e=>!/\S/.test(e),t.splitSpecial=o,t.tagSurround=function(e,t){e.indexOf(t)>=0&&(e=e.replace(new RegExp(`([^\\\\])\\${t.split("").join("\\")}`,"gm"),"$1"));const n=o(e);let r="";for(const{text:e,newLineChar:o}of n){let n,i,a=0;for(;a>=0&&a0?e[n-1]:"",s=i{const t={whitespace:0,newLines:0},n=Math.max(e.length-10,0);for(let r=e.length-1;r>=n;--r){const n=e.slice(r,r+1);if(!/\s/.test(n))break;++t.whitespace,["\r","\n"].includes(n)&&++t.newLines}return t},t.truthyStr=(e,t)=>e?void 0!==t?t:String(e):"";const i=()=>{try{return n(42).parse}catch(e){return}};function a(e){window.omnivoreEnv.LOG_PERF&&console.time(e)}function l(e){window.omnivoreEnv.LOG_PERF&&console.timeEnd(e)}t.parseHTML=function(e,t){let n,o;if(a("parse"),t.preferNativeParser)try{o=function(e){try{if(!(null===window||void 0===window?void 0:window.DOMParser)||!(new window.DOMParser).parseFromString("","text/html"))return}catch(e){return}let t;try{t=document.implementation.createHTMLDocument("").open()}catch(e){const{ActiveXObject:t}=window;if(t){const e=t("htmlfile");return e.designMode="on",e.open()}throw e}return t.write(""+e+""),t.close(),t.documentElement}(e)}catch(e){if(n=i(),!n)throw e;console.warn("Native DOM parser encountered an error during parse",e)}else n=i();return o||(o=n(e,r.nodeHtmlParserConfig)),l("parse"),o},t.getChildNodes=function(e){if(null==(t=e.childNodes)&&"function"!=typeof t[Symbol.iterator])return e.childNodes;var t;const n=[];return e.childNodes.forEach((e=>n.push(e))),n},t.perfStart=a,t.perfStop=l},819:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getMarkdownForHtmlNodes=t.Visitor=void 0;const r=n(5101),o=n(3525),i=n(6183),a=n(2852);class l{constructor(e,t,n){this.instance=e,this.rootNode=t,this.fileName=n,this.nodeMetadata=new Map,this.urlDefinitions=[],this.result={text:"",trailingNewlineStats:{whitespace:0,newLines:0}},this.options=e.options,this.optimizeTree(t),this.visitNode(t)}addOrGetUrlDefinition(e){let t=this.urlDefinitions.findIndex((t=>t===e));return t<0&&(t=this.urlDefinitions.push(e)-1),t+1}appendResult(e,t,n){if(!e&&void 0===t)return;const{result:r}=this;void 0!==t&&(r.text=r.text.substr(0,t)),r.text+=(n&&r.text.slice(-1)===e[0]?" ":"")+e,r.trailingNewlineStats=(0,o.getTrailingWhitespaceInfo)(r.text)}appendNewlines(e){const{newLines:t}=this.result.trailingNewlineStats;this.appendResult("\n".repeat(Math.max(0,+e-t)))}optimizeTree(e){(0,o.perfStart)("Optimize tree");const{translators:t}=this.instance;!function e(n){let i=!1;if((0,r.isTextNode)(n)||(0,r.isElementNode)(n)&&a.contentlessElements.includes(n.tagName))i=!0;else{const r=(0,o.getChildNodes)(n);if(r.length)for(const t of r)i?e(t):i=e(t);else{const e=t[n.tagName];((null==e?void 0:e.preserveIfEmpty)||"function"==typeof e)&&(i=!0)}}return n.preserve=i}(e),(0,o.perfStop)("Optimize tree")}processText(e,t){let n=e;if((null==t?void 0:t.preserveWhitespace)||(n=n.replace(/\s+/g," ")),null==t?void 0:t.noEscape)return n;const{lineStartEscape:r,globalEscape:o,textReplace:i}=this.options;if(n=n.replace(o[0],o[1]).replace(r[0],r[1]),i)for(const[e,t]of i)n=n.replace(e,t);return n}visitNode(e,t,n){var a,l,s,u,c,d;const{result:f}=this;if(!e.preserve)return;if((0,r.isTextNode)(e))return e.wholeText&&(null!==(a=(c=e).text)&&void 0!==a||(c.text=e.wholeText),null!==(l=(d=e).trimmedText)&&void 0!==l||(d.trimmedText=(0,o.trimNewLines)(e.wholeText))),e.isWhitespace&&!(null==n?void 0:n.preserveWhitespace)?!f.text.length||f.trailingNewlineStats.whitespace>0?void 0:this.appendResult(" "):this.appendResult(this.processText((null==n?void 0:n.preserveWhitespace)?e.text:e.trimmedText,n));if(t||!(0,r.isElementNode)(e))return;const p=(null==n?void 0:n.translators)?n.translators[e.tagName]:this.instance.translators[e.tagName];switch(e.tagName){case"UL":case"OL":n=Object.assign(Object.assign({},n),{listItemNumber:0,listKind:e.tagName,indentLevel:(null!==(s=null==n?void 0:n.indentLevel)&&void 0!==s?s:-1)+1});break;case"LI":"OL"===(null==n?void 0:n.listKind)&&(n.listItemNumber=(null!==(u=n.listItemNumber)&&void 0!==u?u:0)+1);break;case"PRE":n=Object.assign(Object.assign({},n),{preserveWhitespace:!0});break;case"TABLE":n=Object.assign(Object.assign({},n),{tableMeta:{node:e}})}if(n&&this.nodeMetadata.set(e,n),!p){for(const r of(0,o.getChildNodes)(e))this.visitNode(r,t,n);return}let h,g;if((0,i.isTranslatorConfig)(p)?h=p:(g=(0,i.createTranslatorContext)(this,e,n,p.base),h=Object.assign(Object.assign({},p.base),p(g))),h.ignore)return;h.noEscape&&!(null==n?void 0:n.noEscape)&&(n=Object.assign(Object.assign({},n),{noEscape:h.noEscape}),this.nodeMetadata.set(e,n)),h.childTranslators&&h.childTranslators!==(null==n?void 0:n.translators)&&(n=Object.assign(Object.assign({},n),{translators:h.childTranslators}),this.nodeMetadata.set(e,n));const m=f.text.length;if(h.surroundingNewlines&&this.appendNewlines(+h.surroundingNewlines),h.prefix&&this.appendResult(h.prefix),"string"==typeof h.content)this.appendResult(h.content,void 0,h.spaceIfRepeatingChar);else{const t=f.text.length;for(const t of(0,o.getChildNodes)(e))this.visitNode(t,!1===h.recurse,n);if(h.postprocess){const r=h.postprocess(Object.assign(Object.assign({},g||(0,i.createTranslatorContext)(this,e,n)),{content:f.text.substr(t)}));if(r===i.PostProcessResult.RemoveNode)return"LI"===e.tagName&&(null==n?void 0:n.listItemNumber)&&--n.listItemNumber,this.appendResult("",m);"string"==typeof r&&this.appendResult(r,t,h.spaceIfRepeatingChar)}}h.postfix&&this.appendResult(h.postfix),h.surroundingNewlines&&this.appendNewlines(+h.surroundingNewlines)}}t.Visitor=l,t.getMarkdownForHtmlNodes=function(e,t,n){(0,o.perfStart)("walk");const r=new l(e,t,n);let i=r.result.text;(0,o.perfStop)("walk"),e.options.useLinkReferenceDefinitions&&(/[^\r\n]/.test(i.slice(-1))&&(i+="\n"),r.urlDefinitions.forEach(((e,t)=>{i+=`\n[${t+1}]: ${e}`})));const{maxConsecutiveNewlines:a}=e.options;return a&&(i=i.replace(new RegExp(String.raw`(?:\r?\n\s*)+((?:\r?\n\s*){${a}})`,"g"),"$1")),(0,o.trimNewLines)(i)}},1937:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e[e.length-1]}},42:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.NodeType=t.TextNode=t.Node=t.valid=t.CommentNode=t.HTMLElement=t.parse=void 0;var o=r(n(4113));t.CommentNode=o.default;var i=r(n(9234));t.HTMLElement=i.default;var a=r(n(8869));t.Node=a.default;var l=r(n(6218));t.TextNode=l.default;var s=r(n(2751));t.NodeType=s.default;var u=r(n(5349)),c=r(n(6692));function d(e,t){return void 0===t&&(t={}),(0,u.default)(e,t)}t.valid=c.default,t.default=d,t.parse=d,d.parse=u.default,d.HTMLElement=i.default,d.CommentNode=o.default,d.valid=c.default,d.Node=a.default,d.TextNode=l.default,d.NodeType=s.default},5798:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=r(n(2751));function i(e){return e&&e.nodeType===o.default.ELEMENT_NODE}function a(e,t){return i(e)?e.getAttribute(t):void 0}function l(e){return e&&e.childNodes}function s(e){return e?e.parentNode:null}t.default={isTag:i,getAttributeValue:a,getName:function(e){return(e&&e.rawTagName||"").toLowerCase()},getChildren:l,getParent:s,getText:function(e){return e.text},removeSubsets:function(e){for(var t,n,r,o=e.length;--o>-1;){for(t=n=e[o],e[o]=null,r=!0;n;){if(e.indexOf(n)>-1){r=!1,e.splice(o,1);break}n=s(n)}r&&(e[o]=t)}return e},existsOne:function e(t,n){return n.some((function(n){return!!i(n)&&(t(n)||e(t,l(n)))}))},getSiblings:function(e){var t=s(e);return t?l(t):[]},hasAttrib:function(e,t){return void 0!==a(e,t)},findOne:function e(t,n){for(var r=null,o=0,i=null==n?void 0:n.length;o0&&(r=e(t,s))}}return r},findAll:function e(t,n){for(var r=[],o=0,a=n.length;o0&&t.push(e=[]),r.childNodes.forEach(n),e.length>0&&t.push(e=[])):r.childNodes.forEach(n);else if(r.nodeType===m.default.TEXT_NODE)if(r.isWhitespace)e.prependWhitespace=!0;else{var o=r.trimmedText;e.prependWhitespace&&(o=" ".concat(o),e.prependWhitespace=!1),e.push(o)}}(this),t.map((function(e){return e.join("").replace(/\s{2,}/g," ")})).join("\n").replace(/\s+$/,"")},enumerable:!1,configurable:!0}),t.prototype.toString=function(){var e=this.rawTagName;if(e){var t=this.rawAttrs?" ".concat(this.rawAttrs):"";return this.voidTag.formatNode(e,t,this.innerHTML)}return this.innerHTML},Object.defineProperty(t.prototype,"innerHTML",{get:function(){return this.childNodes.map((function(e){return e.toString()})).join("")},set:function(e){var t=T(e,this._parseOptions),n=t.childNodes.length?t.childNodes:[new g.default(e,this)];D(n,this),D(this.childNodes,null),this.childNodes=n},enumerable:!1,configurable:!0}),t.prototype.set_content=function(e,t){if(void 0===t&&(t={}),e instanceof h.default)e=[e];else if("string"==typeof e){var n=T(e,t=i(i({},this._parseOptions),t));e=n.childNodes.length?n.childNodes:[new g.default(n.innerHTML,this)]}return D(this.childNodes,null),D(e,this),this.childNodes=e,this},t.prototype.replaceWith=function(){for(var e=this,t=[],n=0;n-1&&(n.rawText=n.rawText.substr(0,r),this.childNodes.length=t+1)}}return this},Object.defineProperty(t.prototype,"structure",{get:function(){var e=[],t=0;function n(n){e.push(" ".repeat(t)+n)}return function e(r){var o=r.id?"#".concat(r.id):"",i=r.classList.length?".".concat(r.classList.value.join(".")):"";n("".concat(r.rawTagName).concat(o).concat(i)),t++,r.childNodes.forEach((function(t){t.nodeType===m.default.ELEMENT_NODE?e(t):t.nodeType===m.default.TEXT_NODE&&(t.isWhitespace||n("#text"))})),t--}(this),e.join("\n")},enumerable:!1,configurable:!0}),t.prototype.removeWhitespace=function(){var e=this,t=0;return this.childNodes.forEach((function(n){if(n.nodeType===m.default.TEXT_NODE){if(n.isWhitespace)return;n.rawText=n.trimmedRawText}else n.nodeType===m.default.ELEMENT_NODE&&n.removeWhitespace();e.childNodes[t++]=n})),this.childNodes.length=t,this},t.prototype.querySelectorAll=function(e){return(0,s.selectAll)(e,this,{xmlMode:!0,adapter:d.default})},t.prototype.querySelector=function(e){return(0,s.selectOne)(e,this,{xmlMode:!0,adapter:d.default})},t.prototype.getElementsByTagName=function(e){for(var t=e.toUpperCase(),n=[],r=[],o=this,i=0;void 0!==i;){var a=void 0;do{a=o.childNodes[i++]}while(i0&&(r.push(i),o=a,i=0)):(o=o.parentNode,i=r.pop())}return n},t.prototype.getElementById=function(e){for(var t=[],n=this,r=0;void 0!==r;){var o=void 0;do{o=n.childNodes[r++]}while(r0&&(t.push(r),n=o,r=0)}}else n=n.parentNode,r=t.pop()}return null},t.prototype.closest=function(e){var t=new Map,n=this,r=null;function o(e,n){for(var r=null,i=0,a=n.length;i0;)if(this===e[--t])return e[t-1]||null;return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"previousElementSibling",{get:function(){if(this.parentNode){for(var e=this.parentNode.childNodes,n=e.length,r=!1;n>0;){var o=e[--n];if(r){if(o instanceof t)return o||null}else this===o&&(r=!0)}return null}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"classNames",{get:function(){return this.classList.toString()},enumerable:!1,configurable:!0}),t.prototype.clone=function(){return T(this.toString(),this._parseOptions).firstChild},t}(h.default);t.default=A;var w=/|<(\/?)([a-zA-Z][-.:0-9_a-zA-Z]*)((?:\s+[^>]*?(?:(?:'[^']*')|(?:"[^"]*"))?)*)\s*(\/?)>/g,x=/(?:^|\s)(id|class)\s*=\s*((?:'[^']*')|(?:"[^"]*")|\S+)/gi,E={area:!0,AREA:!0,base:!0,BASE:!0,br:!0,BR:!0,col:!0,COL:!0,hr:!0,HR:!0,img:!0,IMG:!0,input:!0,INPUT:!0,link:!0,LINK:!0,meta:!0,META:!0,source:!0,SOURCE:!0,embed:!0,EMBED:!0,param:!0,PARAM:!0,track:!0,TRACK:!0,wbr:!0,WBR:!0},k={li:{li:!0,LI:!0},LI:{li:!0,LI:!0},p:{p:!0,div:!0,P:!0,DIV:!0},P:{p:!0,div:!0,P:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},td:{td:!0,th:!0,TD:!0,TH:!0},TD:{td:!0,th:!0,TD:!0,TH:!0},th:{td:!0,th:!0,TD:!0,TH:!0},TH:{td:!0,th:!0,TD:!0,TH:!0},h1:{h1:!0,H1:!0},H1:{h1:!0,H1:!0},h2:{h2:!0,H2:!0},H2:{h2:!0,H2:!0},h3:{h3:!0,H3:!0},H3:{h3:!0,H3:!0},h4:{h4:!0,H4:!0},H4:{h4:!0,H4:!0},h5:{h5:!0,H5:!0},H5:{h5:!0,H5:!0},h6:{h6:!0,H6:!0},H6:{h6:!0,H6:!0}},S={li:{ul:!0,ol:!0,UL:!0,OL:!0},LI:{ul:!0,ol:!0,UL:!0,OL:!0},a:{div:!0,DIV:!0},A:{div:!0,DIV:!0},b:{div:!0,DIV:!0},B:{div:!0,DIV:!0},i:{div:!0,DIV:!0},I:{div:!0,DIV:!0},p:{div:!0,DIV:!0},P:{div:!0,DIV:!0},td:{tr:!0,table:!0,TR:!0,TABLE:!0},TD:{tr:!0,table:!0,TR:!0,TABLE:!0},th:{tr:!0,table:!0,TR:!0,TABLE:!0},TH:{tr:!0,table:!0,TR:!0,TABLE:!0}},_="documentfragmentcontainer";function C(e,t){var n,r;void 0===t&&(t={});var o=new f.default(null===(n=null==t?void 0:t.voidTag)||void 0===n?void 0:n.closingSlash,null===(r=null==t?void 0:t.voidTag)||void 0===r?void 0:r.tags),i=t.blockTextElements||{script:!0,noscript:!0,style:!0,pre:!0},a=Object.keys(i),l=a.map((function(e){return new RegExp("^".concat(e,"$"),"i")})),s=a.filter((function(e){return i[e]})).map((function(e){return new RegExp("^".concat(e,"$"),"i")}));function u(e){return s.some((function(t){return t.test(e)}))}function d(e){return l.some((function(t){return t.test(e)}))}var h,m=function(e,t){return[e-P,t-P]},v=new A(null,{},"",null,[0,e.length],o,t),b=v,y=[v],C=-1,T=void 0;e="<".concat(_,">").concat(e,"");for(var D=t.lowerCaseTagName,L=t.fixNestedATags,O=e.length-(_.length+2),P=_.length+2;h=w.exec(e);){var R=h[0],M=h[1],N=h[2],I=h[3],B=h[4],j=R.length,F=w.lastIndex-j,H=w.lastIndex;if(C>-1&&C+j"),K=D?e.toLocaleLowerCase().indexOf(Z,w.lastIndex):e.indexOf(Z,w.lastIndex),J=-1===K?O:K;u(N)&&(z=e.substring($,J)).length>0&&/\S/.test(z)&&b.appendChild(new g.default(z,b,m($,J))),-1===K?C=w.lastIndex=e.length+1:(C=w.lastIndex=K+Z.length,M="/")}}if(M||B||E[N])for(;;){if(null==T||"a"!==N&&"A"!==N||(T=void 0),b.rawTagName===N){b.range[1]=m(-1,Math.max(C,H))[1],y.pop(),b=(0,c.default)(y);break}if(G=b.tagName,!S[G]||!S[G][N])break;y.pop(),b=(0,c.default)(y)}}else if(t.comment){z=e.substring(F+4,H-3);b.appendChild(new p.default(z,b,m(F,H)))}}return y}function T(e,t){void 0===t&&(t={});for(var n=C(e,t),r=n[0],o=function(){var e=n.pop(),r=(0,c.default)(n);e.parentNode&&e.parentNode.parentNode&&(e.parentNode===r&&e.tagName===r.tagName?!0!==t.parseNoneClosedTags&&(r.removeChild(e),e.childNodes.forEach((function(e){r.parentNode.appendChild(e)})),n.pop()):!0!==t.parseNoneClosedTags&&(r.removeChild(e),e.childNodes.forEach((function(e){r.appendChild(e)}))))};n.length>1;)o();return r}function D(e,t){return e.map((function(e){return e.parentNode=t,e}))}t.base_parse=C,t.parse=T},8869:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(361),o=function(){function e(e,t){void 0===e&&(e=null),this.parentNode=e,this.childNodes=[],Object.defineProperty(this,"range",{enumerable:!1,writable:!0,configurable:!0,value:null!=t?t:[-1,-1]})}return e.prototype.remove=function(){var e=this;if(this.parentNode){var t=this.parentNode.childNodes;this.parentNode.childNodes=t.filter((function(t){return e!==t})),this.parentNode=null}return this},Object.defineProperty(e.prototype,"innerText",{get:function(){return this.rawText},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textContent",{get:function(){return(0,r.decode)(this.rawText)},set:function(e){this.rawText=(0,r.encode)(e)},enumerable:!1,configurable:!0}),e}();t.default=o},6218:function(e,t,n){"use strict";var r,o=this&&this.__extends||(r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},r(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=n(361),l=i(n(8869)),s=i(n(2751)),u=function(e){function t(t,n,r){var o=e.call(this,n,r)||this;return o.nodeType=s.default.TEXT_NODE,o._rawText=t,o}return o(t,e),t.prototype.clone=function(){return new t(this._rawText,null)},Object.defineProperty(t.prototype,"rawText",{get:function(){return this._rawText},set:function(e){this._rawText=e,this._trimmedRawText=void 0,this._trimmedText=void 0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trimmedRawText",{get:function(){return void 0!==this._trimmedRawText||(this._trimmedRawText=c(this.rawText)),this._trimmedRawText},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"trimmedText",{get:function(){return void 0!==this._trimmedText||(this._trimmedText=c(this.text)),this._trimmedText},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return(0,a.decode)(this.rawText)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"isWhitespace",{get:function(){return/^(\s| )*$/.test(this.rawText)},enumerable:!1,configurable:!0}),t.prototype.toString=function(){return this.rawText},t}(l.default);function c(e){for(var t,n,r=0;r>=0&&r0&&/[^\S\r\n]/.test(e[t-1]),i=n{"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE"}(n||(n={})),t.default=n},5349:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(9234);Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r.parse}})},6692:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9234);t.default=function(e,t){void 0===t&&(t={});var n=(0,r.base_parse)(e,t);return Boolean(1===n.length)}},6312:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){void 0===e&&(e=!1),this.addClosingSlash=e,Array.isArray(t)?this.voidTags=t.reduce((function(e,t){return e.add(t.toLowerCase())}),new Set):this.voidTags=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"].reduce((function(e,t){return e.add(t)}),new Set)}return e.prototype.formatNode=function(e,t,n){var r=this.addClosingSlash,o=r&&t&&!t.endsWith(" ")?" ":"",i=r?"".concat(o,"/"):"";return this.isVoidElement(e.toLowerCase())?"<".concat(e).concat(t).concat(i,">"):"<".concat(e).concat(t,">").concat(n,"")},e.prototype.isVoidElement=function(e){return this.voidTags.has(e)},e}();t.default=n},4062:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=void 0;var r=n(1365);t.compile=function(e){var t=e[0],n=e[1]-1;if(n<0&&t<=0)return r.falseFunc;if(-1===t)return function(e){return e<=n};if(0===t)return function(e){return e===n};if(1===t)return n<0?r.trueFunc:function(e){return e>=n};var o=Math.abs(t),i=(n%o+o)%o;return t>1?function(e){return e>=n&&e%o===i}:function(e){return e<=n&&e%o===i}}},7346:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=t.parse=void 0;var r=n(3950);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return r.parse}});var o=n(4062);Object.defineProperty(t,"compile",{enumerable:!0,get:function(){return o.compile}}),t.default=function(e){return(0,o.compile)((0,r.parse)(e))}},3950:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var n=new Set([9,10,12,13,32]),r="0".charCodeAt(0),o="9".charCodeAt(0);t.parse=function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];var t=0,i=0,a=s(),l=u();if(t=r&&e.charCodeAt(t)<=o;)i=10*i+(e.charCodeAt(t)-r),t++;return t===n?null:i}function c(){for(;t{"use strict";var r=n(3586);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},5440:(e,t,n)=>{e.exports=n(8262)()},3586:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},300:(e,t,n)=>{"use strict";n.r(t),n.d(t,{decode:()=>v,default:()=>w,encode:()=>b,toASCII:()=>A,toUnicode:()=>y,ucs2decode:()=>p,ucs2encode:()=>h});const r=2147483647,o=36,i=/^xn--/,a=/[^\0-\x7E]/,l=/[\x2E\u3002\uFF0E\uFF61]/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},u=Math.floor,c=String.fromCharCode;function d(e){throw new RangeError(s[e])}function f(e,t){const n=e.split("@");let r="";n.length>1&&(r=n[0]+"@",e=n[1]);const o=function(e,t){const n=[];let r=e.length;for(;r--;)n[r]=t(e[r]);return n}((e=e.replace(l,".")).split("."),t).join(".");return r+o}function p(e){const t=[];let n=0;const r=e.length;for(;n=55296&&o<=56319&&nString.fromCodePoint(...e),g=function(e,t){return e+22+75*(e<26)-((0!=t)<<5)},m=function(e,t,n){let r=0;for(e=n?u(e/700):e>>1,e+=u(e/t);e>455;r+=o)e=u(e/35);return u(r+36*e/(e+38))},v=function(e){const t=[],n=e.length;let i=0,a=128,l=72,s=e.lastIndexOf("-");s<0&&(s=0);for(let n=0;n=128&&d("not-basic"),t.push(e.charCodeAt(n));for(let f=s>0?s+1:0;f=n&&d("invalid-input");const s=(c=e.charCodeAt(f++))-48<10?c-22:c-65<26?c-65:c-97<26?c-97:o;(s>=o||s>u((r-i)/t))&&d("overflow"),i+=s*t;const p=a<=l?1:a>=l+26?26:a-l;if(su(r/h)&&d("overflow"),t*=h}const p=t.length+1;l=m(i-s,p,0==s),u(i/p)>r-a&&d("overflow"),a+=u(i/p),i%=p,t.splice(i++,0,a)}var c;return String.fromCodePoint(...t)},b=function(e){const t=[];let n=(e=p(e)).length,i=128,a=0,l=72;for(const n of e)n<128&&t.push(c(n));let s=t.length,f=s;for(s&&t.push("-");f=i&&tu((r-a)/p)&&d("overflow"),a+=(n-i)*p,i=n;for(const n of e)if(nr&&d("overflow"),n==i){let e=a;for(let n=o;;n+=o){const r=n<=l?1:n>=l+26?26:n-l;if(e{"use strict";var r=n(2784),o=n(4616);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n