Comments (7)
Yea. In this case it's true
but it could be for example 54
. I've defined init(_jsonValue value: JSONValue)
so I'm not sure why it's being decoded as a plain Bool
for this response.
from apollo-ios.
That was it, thanks! I was waiting to trim code until things started working 🤦
Appreciate your help!
from apollo-ios.
Hi @solidcell - is the data value being sent as regular JSON bool? Something like this:
{
result: true
}
from apollo-ios.
Are you able to share the definition for BasicScalar
? Does the behaviour change if the value is 54
for example, i.e.: something other than a boolean value?
from apollo-ios.
https://www.loom.com/share/b8b4ae318a94464a96b63f1ddb47bc48?sid=e9c3f788-be91-469d-8e41-be67a06850a9
from apollo-ios.
OK, I think the issue is your implementation of _asAnyHashable
. It in turn calls the private function hashable
which is returning the base type such as Bool
or Int
. I believe it's that value that ends up getting stored in DataDict
. You shouldn't need to define _asAnyHashable
at all. Essentially you're turning your custom scalar back into the base type.
Here is a sample project which defines a custom scalar pretty similar to yours just with less variants to it. The test passes with the custom scalar type being returned as expected. In the custom scalar file there is a commented out portion with the same _asAnyHashable
and hashable
functions that you have, and if you uncomment that section you'll get failures in the test with the same error you're seeing.
tl;dr - remove your _asAnyHashable
function and it should work as expected.
from apollo-ios.
Do you have any feedback for the maintainers? Please tell us by taking a one-minute survey. Your responses will help us understand Apollo iOS usage and allow us to serve you better.
from apollo-ios.
Related Issues (20)
- Add support for SPM `Package.resolved` version `3`
- Support multiple schemas / endpoint in one project HOT 7
- Parity with Kotlin SDK for cache chaining and optimistic cache updates HOT 2
- PrivacyInfo.xcprivacy file is invalid for Apollo and ApolloApi. HOT 7
- SchemaConfiguration should be scoped within the namespace enum for `embeddedInTarget` module type
- Investigation: Allow codegen projects to modify generated filenames
- Add support for incremental cache writes
- Add support for incremental cache reads
- Avoid File Overwriting for Unchanged Files HOT 1
- `InMemoryNormalizedCache` is a memory bomb HOT 5
- iOS 13.0 or newer error - compile fails HOT 3
- Custom Scalar | ApolloAPI.JSONDecodingError.couldNotConvert(value: AnyHashable to: Swift.String HOT 5
- How should I continue after handleErrorAsync inside a custom ApolloErrorInterceptor? HOT 5
- Defining a CustomScalarType which is [String:Any] HOT 10
- Deprecate `legacyResponse` and prepare for partial/incremental caching HOT 2
- @defer issue HOT 8
- Documentation for @import directive. HOT 9
- Add debugDescription api for Apollo generated types
- Circular reference Build Error HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apollo-ios.