apollo-elements/apollo-elements

View on GitHub
docs/decks/graphql-berlin-meetup-03-2021/slides/draft/61-lazy-resolvers.md

Summary

Maintainability
Test Coverage
---
name: lazy-resolvers
---

## Lazy-Loaded Type Policies

Only load type policy code for components that need them.

Decrease initial page load sizes to keep the UX snappy.

```typescript reveal
import { TypePoliciesMixin } from '@apollo-elements/mixins/type-policies-mixin';

@customElement('giant-feature')
class GiantFeature extends TypePoliciesMixin(ApolloQuery) {
  query = GiantFeatureQuery;

  typePolicies = {
    fields: {
      giant: {
        read() {/*...*/},
      },
    },
  };
}
```