- f585fb3: Support TypeScript ESM module resolution. More information on https://devblogs.microsoft.com/typescript/announcing-typescript-4-7/#ecmascript-module-support-in-node-js
- f555f2f: GraphQL v16 compatibility
- 31ef74b: fix esm support for create-react-app and webpack
- fbbee22: re-add
isLiveQueryOperationDefinitionNode
function
- e893ecc: Add
throttle
argument for the@live
directive for negotiating a throttle between the server and the client. This is useful for preventing the server to spam the client for data that might be updating too frequently. - 8e14fd2: improve ESM support by using export fields and .mjs file extensions
- 88270dc: feat: allow conditional live queries via the if argument on the live directive
- f244baa: Add
NoLiveMixedWithDeferStreamRule
rule.
- ca21161: Mark live query execution results via the boolean isLive property published by the AsyncIterator. This makes identifying live queries easier. A possible use-case where this is useful might be a wrapper around InMemoryLiveQueryStore.execute that creates patches from the last and next execution result."
- 7b37628: Remove exported
extractLiveQueries
function.
- 37f0b6d: rename
isLiveOperationDefinition
toisLiveQueryOperationDefinitionNode
-
6cfe3e5: Replace
executeLiveQuery
withexecute
.Instead of passing two execute functions to the server options, now only a single execute function is passed to the server.
The
execute
function can now return aAsyncIterableIterator<ExecutionResult>
.@n1ru4l/socket-io-graphql-server
has no longer a dependency upon@n1ru4l/graphql-live-query
.
-
b086fc8: Shape the API to be more "compatible" with graphql-js.
BREAKING CHANG Rename
InMemoryLiveQueryStore.triggerUpdate
method toInMemoryLiveQueryStore.invalidate
.InMemoryLiveQueryStore.invalidate
now also accepts an array of strings.BREAKING CHANGE
InMemoryLiveQueryStore
no longer implementsLiveQueryStore
. TheLiveQueryStore
interface was removedBREAKING CHANGE Rename
InMemoryLiveQueryStore.register
toInMemoryLiveQueryStore.execute
.InMemoryLiveQueryStore.execute
returns aAsyncIterableIterator
which publishes the execution results.
-
6a03905: BREAKING CHANGE: Change API of
LiveQueryStore
.The register method of the
LiveQueryStore
now has changed:import type { DocumentNode, ExecutionResult } from "graphql"; export type UnsubscribeHandler = () => void; export type OperationVariables = { [key: string]: any } | null | undefined; export abstract class LiveQueryStore { abstract async triggerUpdate(identifier: string): Promise<void>; abstract register( operationDocument: DocumentNode, operationVariables: OperationVariables, executeQuery: () => Promise<ExecutionResult>, publishUpdate: (executionResult: ExecutionResult, payload: any) => void ): UnsubscribeHandler; }
- aa2be73: chore: unify how packages are built.