@livestore/graphql 0.4.0-dev.9 → 0.5.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/graphql.d.ts CHANGED
@@ -23,7 +23,7 @@ export type GraphQLOptions<TContext> = {
23
23
  schema: GraphQLSchema;
24
24
  makeContext: (db: SqliteDbWrapper, tracer: otel.Tracer, sessionId: string) => TContext;
25
25
  };
26
- export type MapResult<To, From> = ((res: From, get: LiveQueries.GetAtomResult) => To) | Schema.Schema<To, From>;
26
+ export type MapResult<To, From> = ((res: From, get: LiveQueries.GetAtomResult) => To) | Schema.Codec<To, From>;
27
27
  export declare const queryGraphQL: <TResult extends Record<string, any>, TVariableValues extends Record<string, any>, TResultMapped extends Record<string, any> = TResult>(document: DocumentNode<TResult, TVariableValues>, genVariableValues: TVariableValues | ((get: LiveQueries.GetAtomResult) => TVariableValues), options?: {
28
28
  label?: string;
29
29
  map?: MapResult<TResultMapped, TResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
package/dist/graphql.js CHANGED
@@ -1,12 +1,12 @@
1
- import { getDurationMsFromSpan } from '@livestore/common';
1
+ import { StoreInternalsSymbol } from '@livestore/livestore';
2
2
  import { LiveQueries, ReactiveGraph } from '@livestore/livestore/internal';
3
- import { omitUndefineds, shouldNeverHappen } from '@livestore/utils';
4
- import { Equal, Hash, Predicate, Schema, TreeFormatter } from '@livestore/utils/effect';
3
+ import { objectToString, omitUndefineds, shouldNeverHappen } from '@livestore/utils';
4
+ import { Equal, Hash, Predicate, Result, Schema, SchemaIssue } from '@livestore/utils/effect';
5
5
  import * as otel from '@opentelemetry/api';
6
6
  import * as graphql from 'graphql';
7
7
  export const queryGraphQL = (document, genVariableValues, options = {}) => {
8
8
  const documentName = graphql.getOperationAST(document)?.name?.value;
9
- const hash = options.deps
9
+ const hash = options.deps !== undefined
10
10
  ? LiveQueries.depsToString(options.deps)
11
11
  : (documentName ?? shouldNeverHappen('No document name found and no deps provided'));
12
12
  const label = options.label ?? documentName ?? 'graphql';
@@ -55,20 +55,20 @@ export class LiveStoreGraphQLQuery extends LiveQueries.LiveStoreQueryBase {
55
55
  this.mapResult =
56
56
  map === undefined
57
57
  ? (res) => res
58
- : Schema.isSchema(map)
58
+ : Schema.isSchema(map) === true
59
59
  ? (res) => {
60
- const parseResult = Schema.decodeEither(map)(res);
61
- if (parseResult._tag === 'Left') {
62
- console.error(`Error parsing GraphQL query result: ${TreeFormatter.formatErrorSync(parseResult.left)}`);
63
- return shouldNeverHappen(`Error parsing SQL query result: ${parseResult.left}`);
60
+ const parseResult = Schema.decodeResult(map)(res);
61
+ if (Result.isFailure(parseResult) === true) {
62
+ console.error(`Error parsing GraphQL query result: ${SchemaIssue.makeFormatterDefault()(parseResult.failure.issue)}`);
63
+ return shouldNeverHappen(`Error parsing SQL query result: ${String(parseResult.failure)}`);
64
64
  }
65
65
  else {
66
- return parseResult.right;
66
+ return parseResult.success;
67
67
  }
68
68
  }
69
69
  : typeof map === 'function'
70
70
  ? map
71
- : shouldNeverHappen(`Invalid map function ${map}`);
71
+ : shouldNeverHappen(`Invalid map function ${objectToString(map)}`);
72
72
  // TODO don't even create a thunk if variables are static
73
73
  let variableValues$OrvariableValues;
74
74
  if (typeof genVariableValues === 'function') {
@@ -83,7 +83,7 @@ export class LiveStoreGraphQLQuery extends LiveQueries.LiveStoreQueryBase {
83
83
  const resultsLabel = `${labelWithDefault}:results`;
84
84
  this.results$ = this.reactivityGraph.makeThunk((get, setDebugInfo, ctx, otelContext, debugRefreshReason) => {
85
85
  const { store, otelTracer, rootOtelContext } = ctx;
86
- const variableValues = ReactiveGraph.isThunk(variableValues$OrvariableValues)
86
+ const variableValues = ReactiveGraph.isThunk(variableValues$OrvariableValues) === true
87
87
  ? get(variableValues$OrvariableValues, otelContext, debugRefreshReason)
88
88
  : variableValues$OrvariableValues;
89
89
  const { result, queriedTables, durationMs } = this.queryOnce({
@@ -96,7 +96,7 @@ export class LiveStoreGraphQLQuery extends LiveQueries.LiveStoreQueryBase {
96
96
  });
97
97
  // Add dependencies on any tables that were used
98
98
  for (const tableName of queriedTables) {
99
- const tableRef = store.tableRefs[tableName] ?? shouldNeverHappen(`No table ref found for ${tableName}`);
99
+ const tableRef = store[StoreInternalsSymbol].tableRefs[tableName] ?? shouldNeverHappen(`No table ref found for ${tableName}`);
100
100
  get(tableRef);
101
101
  }
102
102
  setDebugInfo({ _tag: 'graphql', label: resultsLabel, query: graphql.print(document), durationMs });
@@ -107,6 +107,7 @@ export class LiveStoreGraphQLQuery extends LiveQueries.LiveStoreQueryBase {
107
107
  const { schema, context } = unpackStoreContext(store);
108
108
  const operationName = graphql.getOperationAST(document)?.name?.value;
109
109
  return otelTracer.startActiveSpan(`executeGraphQLQuery: ${operationName}`, {}, otelContext, (span) => {
110
+ const startTimePerfNow = performance.now();
110
111
  span.setAttribute('graphql.variables', JSON.stringify(variableValues));
111
112
  span.setAttribute('graphql.query', graphql.print(document));
112
113
  context.queriedTables.clear();
@@ -118,7 +119,7 @@ export class LiveStoreGraphQLQuery extends LiveQueries.LiveStoreQueryBase {
118
119
  variableValues,
119
120
  });
120
121
  // TODO track number of nested SQL queries via Otel + debug info
121
- if (res.errors) {
122
+ if (res.errors !== undefined) {
122
123
  span.setStatus({ code: otel.SpanStatusCode.ERROR, message: 'GraphQL error' });
123
124
  span.setAttribute('graphql.error', res.errors.join('\n'));
124
125
  span.setAttribute('graphql.error-detail', JSON.stringify(res.errors));
@@ -126,13 +127,13 @@ export class LiveStoreGraphQLQuery extends LiveQueries.LiveStoreQueryBase {
126
127
  for (const error of res.errors) {
127
128
  console.error(error);
128
129
  }
129
- // biome-ignore lint/suspicious/noDebugger: debug
130
+ // oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for GraphQL errors
130
131
  debugger;
131
132
  shouldNeverHappen(`GraphQL error: ${res.errors.join('\n')}`);
132
133
  }
133
134
  span.end();
134
135
  const result = this.mapResult(res.data, get);
135
- const durationMs = getDurationMsFromSpan(span);
136
+ const durationMs = performance.now() - startTimePerfNow;
136
137
  this.executionTimes.push(durationMs);
137
138
  return {
138
139
  result,
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,31 +1,62 @@
1
1
  {
2
2
  "name": "@livestore/graphql",
3
- "version": "0.4.0-dev.9",
3
+ "version": "0.5.0-dev.0",
4
+ "license": "Apache-2.0",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/livestorejs/livestore-contrib.git"
8
+ },
9
+ "files": [
10
+ "dist",
11
+ "package.json",
12
+ "src"
13
+ ],
4
14
  "type": "module",
15
+ "sideEffects": false,
5
16
  "exports": {
6
17
  ".": "./dist/index.js"
7
18
  },
19
+ "publishConfig": {
20
+ "access": "public"
21
+ },
8
22
  "dependencies": {
9
23
  "@graphql-typed-document-node/core": "3.2.0",
10
- "@opentelemetry/api": "1.9.0",
11
- "@livestore/common": "0.4.0-dev.9",
12
- "@livestore/utils": "0.4.0-dev.9",
13
- "@livestore/livestore": "0.4.0-dev.9"
24
+ "@livestore/common": "0.5.0-dev.0",
25
+ "@livestore/livestore": "0.5.0-dev.0",
26
+ "@livestore/utils": "0.5.0-dev.0",
27
+ "@opentelemetry/api": "1.9.0"
14
28
  },
15
29
  "devDependencies": {
16
30
  "graphql": "16.11.0"
17
31
  },
18
- "files": [
19
- "package.json",
20
- "src",
21
- "dist"
22
- ],
23
- "license": "Apache-2.0",
24
32
  "peerDependencies": {
33
+ "@effect/opentelemetry": "^4.0.0-rc.111",
34
+ "@effect/platform-browser": "^4.0.0-rc.111",
35
+ "@effect/platform-bun": "^4.0.0-rc.111",
36
+ "@effect/platform-node": "^4.0.0-rc.111",
37
+ "@effect/platform-node-shared": "^4.0.0-rc.111",
38
+ "@effect/vitest": "^4.0.0-rc.111",
39
+ "@opentelemetry/api": "^1.9.0",
40
+ "@opentelemetry/resources": "^2.2.0",
41
+ "@standard-schema/spec": "^1.1.0",
42
+ "effect": "^4.0.0-rc.111",
25
43
  "graphql": "^16.11.0"
26
44
  },
27
- "publishConfig": {
28
- "access": "public"
45
+ "$genie": {
46
+ "source": "package.json.genie.ts",
47
+ "warning": "DO NOT EDIT - changes will be overwritten",
48
+ "workspaceClosureDirs": [
49
+ "packages/@livestore/graphql",
50
+ "repos/livestore/packages/@livestore/adapter-web",
51
+ "repos/livestore/packages/@livestore/common",
52
+ "repos/livestore/packages/@livestore/common-cf",
53
+ "repos/livestore/packages/@livestore/livestore",
54
+ "repos/livestore/packages/@livestore/sqlite-wasm",
55
+ "repos/livestore/packages/@livestore/utils",
56
+ "repos/livestore/packages/@livestore/utils-dev",
57
+ "repos/livestore/packages/@livestore/wa-sqlite",
58
+ "repos/livestore/packages/@livestore/webmesh"
59
+ ]
29
60
  },
30
61
  "scripts": {
31
62
  "test": "echo 'No tests'"
package/src/graphql.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'
2
- import { getDurationMsFromSpan } from '@livestore/common'
3
2
  import type { RefreshReason, SqliteDbWrapper, Store } from '@livestore/livestore'
3
+ import { StoreInternalsSymbol } from '@livestore/livestore'
4
4
  import { LiveQueries, ReactiveGraph } from '@livestore/livestore/internal'
5
- import { omitUndefineds, shouldNeverHappen } from '@livestore/utils'
6
- import { Equal, Hash, Predicate, Schema, TreeFormatter } from '@livestore/utils/effect'
5
+ import { objectToString, omitUndefineds, shouldNeverHappen } from '@livestore/utils'
6
+ import { Equal, Hash, Predicate, Result, Schema, SchemaIssue } from '@livestore/utils/effect'
7
7
  import * as otel from '@opentelemetry/api'
8
8
  import type { GraphQLSchema } from 'graphql'
9
9
  import * as graphql from 'graphql'
@@ -31,7 +31,7 @@ export type GraphQLOptions<TContext> = {
31
31
  makeContext: (db: SqliteDbWrapper, tracer: otel.Tracer, sessionId: string) => TContext
32
32
  }
33
33
 
34
- export type MapResult<To, From> = ((res: From, get: LiveQueries.GetAtomResult) => To) | Schema.Schema<To, From>
34
+ export type MapResult<To, From> = ((res: From, get: LiveQueries.GetAtomResult) => To) | Schema.Codec<To, From>
35
35
 
36
36
  export const queryGraphQL = <
37
37
  TResult extends Record<string, any>,
@@ -48,9 +48,10 @@ export const queryGraphQL = <
48
48
  } = {},
49
49
  ): LiveQueries.LiveQueryDef<TResultMapped> => {
50
50
  const documentName = graphql.getOperationAST(document)?.name?.value
51
- const hash = options.deps
52
- ? LiveQueries.depsToString(options.deps)
53
- : (documentName ?? shouldNeverHappen('No document name found and no deps provided'))
51
+ const hash =
52
+ options.deps !== undefined
53
+ ? LiveQueries.depsToString(options.deps)
54
+ : (documentName ?? shouldNeverHappen('No document name found and no deps provided'))
54
55
  const label = options.label ?? documentName ?? 'graphql'
55
56
  const map = options.map
56
57
 
@@ -130,19 +131,21 @@ export class LiveStoreGraphQLQuery<
130
131
  this.mapResult =
131
132
  map === undefined
132
133
  ? (res: TResult) => res as any as TResultMapped
133
- : Schema.isSchema(map)
134
+ : Schema.isSchema(map) === true
134
135
  ? (res: TResult) => {
135
- const parseResult = Schema.decodeEither(map as Schema.Schema<TResultMapped, TResult>)(res)
136
- if (parseResult._tag === 'Left') {
137
- console.error(`Error parsing GraphQL query result: ${TreeFormatter.formatErrorSync(parseResult.left)}`)
138
- return shouldNeverHappen(`Error parsing SQL query result: ${parseResult.left}`)
136
+ const parseResult = Schema.decodeResult(map as Schema.Codec<TResultMapped, TResult>)(res)
137
+ if (Result.isFailure(parseResult) === true) {
138
+ console.error(
139
+ `Error parsing GraphQL query result: ${SchemaIssue.makeFormatterDefault()(parseResult.failure.issue)}`,
140
+ )
141
+ return shouldNeverHappen(`Error parsing SQL query result: ${String(parseResult.failure)}`)
139
142
  } else {
140
- return parseResult.right as TResultMapped
143
+ return parseResult.success
141
144
  }
142
145
  }
143
146
  : typeof map === 'function'
144
147
  ? map
145
- : shouldNeverHappen(`Invalid map function ${map}`)
148
+ : shouldNeverHappen(`Invalid map function ${objectToString(map)}`)
146
149
 
147
150
  // TODO don't even create a thunk if variables are static
148
151
  let variableValues$OrvariableValues:
@@ -167,9 +170,10 @@ export class LiveStoreGraphQLQuery<
167
170
  this.results$ = this.reactivityGraph.makeThunk<TResultMapped>(
168
171
  (get, setDebugInfo, ctx, otelContext, debugRefreshReason) => {
169
172
  const { store, otelTracer, rootOtelContext } = ctx
170
- const variableValues = ReactiveGraph.isThunk(variableValues$OrvariableValues)
171
- ? (get(variableValues$OrvariableValues, otelContext, debugRefreshReason) as TVariableValues)
172
- : (variableValues$OrvariableValues as TVariableValues)
173
+ const variableValues =
174
+ ReactiveGraph.isThunk(variableValues$OrvariableValues) === true
175
+ ? (get(variableValues$OrvariableValues, otelContext, debugRefreshReason) as TVariableValues)
176
+ : (variableValues$OrvariableValues as TVariableValues)
173
177
  const { result, queriedTables, durationMs } = this.queryOnce({
174
178
  document,
175
179
  variableValues,
@@ -181,7 +185,8 @@ export class LiveStoreGraphQLQuery<
181
185
 
182
186
  // Add dependencies on any tables that were used
183
187
  for (const tableName of queriedTables) {
184
- const tableRef = store.tableRefs[tableName] ?? shouldNeverHappen(`No table ref found for ${tableName}`)
188
+ const tableRef =
189
+ store[StoreInternalsSymbol].tableRefs[tableName] ?? shouldNeverHappen(`No table ref found for ${tableName}`)
185
190
  get(tableRef)
186
191
  }
187
192
 
@@ -214,6 +219,7 @@ export class LiveStoreGraphQLQuery<
214
219
  const operationName = graphql.getOperationAST(document)?.name?.value
215
220
 
216
221
  return otelTracer.startActiveSpan(`executeGraphQLQuery: ${operationName}`, {}, otelContext, (span) => {
222
+ const startTimePerfNow = performance.now()
217
223
  span.setAttribute('graphql.variables', JSON.stringify(variableValues))
218
224
  span.setAttribute('graphql.query', graphql.print(document))
219
225
 
@@ -230,7 +236,7 @@ export class LiveStoreGraphQLQuery<
230
236
 
231
237
  // TODO track number of nested SQL queries via Otel + debug info
232
238
 
233
- if (res.errors) {
239
+ if (res.errors !== undefined) {
234
240
  span.setStatus({ code: otel.SpanStatusCode.ERROR, message: 'GraphQL error' })
235
241
  span.setAttribute('graphql.error', res.errors.join('\n'))
236
242
  span.setAttribute('graphql.error-detail', JSON.stringify(res.errors))
@@ -238,7 +244,7 @@ export class LiveStoreGraphQLQuery<
238
244
  for (const error of res.errors) {
239
245
  console.error(error)
240
246
  }
241
- // biome-ignore lint/suspicious/noDebugger: debug
247
+ // oxlint-disable-next-line eslint(no-debugger) -- intentional breakpoint for GraphQL errors
242
248
  debugger
243
249
  shouldNeverHappen(`GraphQL error: ${res.errors.join('\n')}`)
244
250
  }
@@ -247,7 +253,7 @@ export class LiveStoreGraphQLQuery<
247
253
 
248
254
  const result = this.mapResult(res.data as unknown as TResult, get)
249
255
 
250
- const durationMs = getDurationMsFromSpan(span)
256
+ const durationMs = performance.now() - startTimePerfNow
251
257
 
252
258
  this.executionTimes.push(durationMs)
253
259