Introduce async streams support#11
Open
ssestak wants to merge 7 commits intofeature/Update-to-Apollo-2.0.4from
Open
Introduce async streams support#11ssestak wants to merge 7 commits intofeature/Update-to-Apollo-2.0.4from
ssestak wants to merge 7 commits intofeature/Update-to-Apollo-2.0.4from
Conversation
Add protocol methods and implementations for: - Deferred queries/mutations with IncrementalDeferredResponseFormat - GraphQL subscriptions via AsyncThrowingStream All streaming methods return AsyncThrowingStream with proper error mapping to GraphQLAPIAdapterError and cancellation support. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Updates README to reflect support for GraphQL subscriptions and deferred query responses, including usage examples.
Member
|
@ssestak Čus, líbí se mi to jen testoval si to jestli to funguje dle očekávání? |
jmarek41
approved these changes
Jan 15, 2026
Contributor
Author
Subscriptions a @defer som bohužial nenašiel na žiadnej free service. Otestované sú zatiaľ iba Queries a Mutácie z predchádzajúceho PRka. Ak budeme všetci za to pridať support práve aj tákéhoto API, nájdem projekt u nás kde by som to otestoval prípadne spravím dáky localhost testing. |
Added 3 workflow files following FTNetworkTracer's modern pattern: - test.yml: Runs swift build and swift test on macOS for every push to main and all PRs - Path-filtered to run only when Swift files or package configuration changes - Uses actions/checkout@v4 (latest stable) - Verbose output for debugging - lint-swift.yml: Runs SwiftLint in strict mode on all PRs - Enforces code quality standards - Zero tolerance for warnings - Path-filtered for efficiency - lint-workflows.yml: Validates workflow files using actionlint - Catches workflow syntax errors and best practice violations - Includes problem matcher for IDE integration All workflows use path-based filtering for efficiency and follow Futured's established patterns from FTNetworkTracer and FTAPIKit repositories. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Sort imports alphabetically in test files - Fix trailing comma, whitespace, and brace spacing issues - Add swiftlint disable comments for intentional patterns (nesting, force unwrapping, identifier names) - Fix modifier order (private static → static private) - Add default value for networkObservers parameter in array init Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add github workflows
# Conflicts: # Sources/GraphQLAPIKit/Errors/GraphQLAPIAdapterError.swift # Sources/GraphQLAPIKit/Extensions/GraphQLAPIAdapter+Extensions.swift # Sources/GraphQLAPIKit/GraphQLAPIAdapter.swift # Sources/GraphQLAPIKit/Interceptors/NetworkInterceptorProvider.swift # Tests/GraphQLAPIKitTests/GraphQLAPIAdapterErrorTests.swift # Tests/GraphQLAPIKitTests/GraphQLAPIAdapterIntegrationTests.swift
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces support for GraphQL subscriptions and deferred (
@defer) queries/mutations, enhancingGraphQLAPIKitwith real-time and incremental data capabilities. This update allows clients to handle progressive data delivery and continuous streams from GraphQL endpoints. TheREADME.mdhas been updated with usage examples for these new features.Key Features:
subscribemethod toGraphQLAPIAdapterProtocoland its implementation, allowing clients to subscribe to real-time data streams.@defer): Implementedfetchandperformmethods for operations using the@deferdirective, enabling progressive data delivery viaAsyncThrowingStream.GraphQLSubscriptionConfigurationfor specific subscription settings.transformStreamfacilitates conversion of Apollo'sAsyncThrowingStreamto `GraphQLAPIKit