GraphQLSwift / GraphQL

The Swift GraphQL implementation for macOS and Linux
MIT License
938 stars 72 forks source link

Introduce persisted queries #21

Closed williambailey closed 7 years ago

williambailey commented 7 years ago

Note: Currently implemented on top of #20 so will include some extra noise at the moment.

Takes a different approach that what I first proposed in #12.

Due to the decision to put parsing and validating queries as the responsibility of any PersistedQueryRetrieval implementation we have to make a version of parse() and validate() public. However this does mean that implementations are free to decide when, and if, parsing and validation happens.

This means that an implementation is free to be able to only parse and validate a persisted query once when its first requested or at application launch. Therefore removing the parsing and validation time from responses.

codecov-io commented 7 years ago

Codecov Report

Merging #21 into master will increase coverage by 0.21%. The diff coverage is 85.16%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #21      +/-   ##
==========================================
+ Coverage   80.04%   80.25%   +0.21%     
==========================================
  Files          74       78       +4     
  Lines        8904     9239     +335     
==========================================
+ Hits         7127     7415     +288     
- Misses       1777     1824      +47
Impacted Files Coverage Δ
...rces/GraphQL/Instrumentation/Instrumentation.swift 100% <100%> (ø)
Sources/GraphQL/Language/Parser.swift 90.9% <100%> (+0.36%) :arrow_up:
Sources/GraphQL/GraphQL.swift 100% <100%> (ø) :arrow_up:
Sources/GraphQL/Validation/Validate.swift 21.71% <100%> (+2.66%) :arrow_up:
Sources/GraphQL/Execution/Execute.swift 74.79% <75.67%> (+0.2%) :arrow_up:
.../PersistedQueriesTests/PersistedQueriesTests.swift 78.43% <78.43%> (ø)
...entation/DispatchQueueInstrumentationWrapper.swift 81.81% <81.81%> (ø)
...ts/InstrumentationTests/InstrumentationTests.swift 89.47% <89.47%> (ø)
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update b67c14e...aa3d7fb. Read the comment docs.