@0no-co/graphql.web 0.1.1 → 0.1.3

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.
@@ -40,7 +40,7 @@ exports.Kind = void 0;
40
40
  }(exports.Kind || (exports.Kind = {}));
41
41
 
42
42
  class GraphQLError extends Error {
43
- constructor(e, r, i, n, t, o, a) {
43
+ constructor(e, r, n, i, t, o, a) {
44
44
  super(e);
45
45
  this.name = "GraphQLError";
46
46
  this.message = e;
@@ -50,11 +50,11 @@ class GraphQLError extends Error {
50
50
  if (r) {
51
51
  this.nodes = Array.isArray(r) ? r : [ r ];
52
52
  }
53
- if (i) {
54
- this.source = i;
55
- }
56
53
  if (n) {
57
- this.positions = n;
54
+ this.source = n;
55
+ }
56
+ if (i) {
57
+ this.positions = i;
58
58
  }
59
59
  if (o) {
60
60
  this.originalError = o;
@@ -85,26 +85,26 @@ function error(e) {
85
85
  return new GraphQLError(`Syntax Error: Unexpected token at ${r} in ${e}`);
86
86
  }
87
87
 
88
- function advance(i) {
89
- i.lastIndex = r;
90
- if (i.test(e)) {
91
- return e.slice(r, r = i.lastIndex);
88
+ function advance(n) {
89
+ n.lastIndex = r;
90
+ if (n.test(e)) {
91
+ return e.slice(r, r = n.lastIndex);
92
92
  }
93
93
  }
94
94
 
95
- var i = / +(?=[^\s])/y;
95
+ var n = / +(?=[^\s])/y;
96
96
 
97
97
  function blockString(e) {
98
98
  var r = "";
99
- var n = 0;
99
+ var i = 0;
100
100
  var t = 0;
101
101
  var o = -1;
102
102
  var a = e.split("\n");
103
103
  for (var s = 0; s < a.length; s++) {
104
- i.lastIndex = 0;
105
- if (i.test(a[s])) {
106
- if (s && (!n || i.lastIndex < n)) {
107
- n = i.lastIndex;
104
+ n.lastIndex = 0;
105
+ if (n.test(a[s])) {
106
+ if (s && (!i || n.lastIndex < i)) {
107
+ i = n.lastIndex;
108
108
  }
109
109
  t = t || s;
110
110
  o = s;
@@ -114,17 +114,17 @@ function blockString(e) {
114
114
  if (d !== t) {
115
115
  r += "\n";
116
116
  }
117
- r += a[d].slice(n);
117
+ r += a[d].slice(i).replace(/\\"""/g, '"""');
118
118
  }
119
119
  return r;
120
120
  }
121
121
 
122
- var n = /(?:[\s,]*|#[^\n\r]*)*/y;
122
+ var i = /(?:[\s,]*|#[^\n\r]*)*/y;
123
123
 
124
124
  function ignored() {
125
- n.lastIndex = r;
126
- n.test(e);
127
- r = n.lastIndex;
125
+ i.lastIndex = r;
126
+ i.test(e);
127
+ r = i.lastIndex;
128
128
  }
129
129
 
130
130
  var t = /[_\w][_\d\w]*/y;
@@ -147,7 +147,7 @@ var s = /\$[_\w][_\d\w]*/y;
147
147
 
148
148
  var d = /[-]?\d+/y;
149
149
 
150
- var p = /[-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/y;
150
+ var p = /(?:[-]?\d+)?(?:\.\d+)(?:[eE][+-]?\d+)?/y;
151
151
 
152
152
  var u = /\\/g;
153
153
 
@@ -155,20 +155,20 @@ var l = /"""(?:[\s\S]+(?="""))?"""/y;
155
155
 
156
156
  var v = /"(?:[^"\r\n]+)?"/y;
157
157
 
158
- function value(i) {
159
- var n;
158
+ function value(n) {
159
+ var i;
160
160
  var c;
161
161
  if (advance(o)) {
162
- n = {
162
+ i = {
163
163
  kind: exports.Kind.NULL
164
164
  };
165
165
  } else if (c = advance(a)) {
166
- n = {
166
+ i = {
167
167
  kind: exports.Kind.BOOLEAN,
168
168
  value: "true" === c
169
169
  };
170
- } else if (!i && (c = advance(s))) {
171
- n = {
170
+ } else if (!n && (c = advance(s))) {
171
+ i = {
172
172
  kind: exports.Kind.VARIABLE,
173
173
  name: {
174
174
  kind: exports.Kind.NAME,
@@ -176,40 +176,40 @@ function value(i) {
176
176
  }
177
177
  };
178
178
  } else if (c = advance(p)) {
179
- n = {
179
+ i = {
180
180
  kind: exports.Kind.FLOAT,
181
181
  value: c
182
182
  };
183
183
  } else if (c = advance(d)) {
184
- n = {
184
+ i = {
185
185
  kind: exports.Kind.INT,
186
186
  value: c
187
187
  };
188
188
  } else if (c = advance(t)) {
189
- n = {
189
+ i = {
190
190
  kind: exports.Kind.ENUM,
191
191
  value: c
192
192
  };
193
193
  } else if (c = advance(l)) {
194
- n = {
194
+ i = {
195
195
  kind: exports.Kind.STRING,
196
196
  value: blockString(c.slice(3, -3)),
197
197
  block: !0
198
198
  };
199
199
  } else if (c = advance(v)) {
200
- n = {
200
+ i = {
201
201
  kind: exports.Kind.STRING,
202
202
  value: u.test(c) ? JSON.parse(c) : c.slice(1, -1),
203
203
  block: !1
204
204
  };
205
- } else if (n = function list(i) {
206
- var n;
205
+ } else if (i = function list(n) {
206
+ var i;
207
207
  if (91 === e.charCodeAt(r)) {
208
208
  r++;
209
209
  ignored();
210
210
  var t = [];
211
- while (n = value(i)) {
212
- t.push(n);
211
+ while (i = value(n)) {
212
+ t.push(i);
213
213
  }
214
214
  if (93 !== e.charCodeAt(r++)) {
215
215
  throw error(exports.Kind.LIST);
@@ -220,11 +220,11 @@ function value(i) {
220
220
  values: t
221
221
  };
222
222
  }
223
- }(i) || function object(i) {
223
+ }(n) || function object(n) {
224
224
  if (123 === e.charCodeAt(r)) {
225
225
  r++;
226
226
  ignored();
227
- var n = [];
227
+ var i = [];
228
228
  var t;
229
229
  while (t = name()) {
230
230
  ignored();
@@ -232,11 +232,11 @@ function value(i) {
232
232
  throw error(exports.Kind.OBJECT_FIELD);
233
233
  }
234
234
  ignored();
235
- var o = value(i);
235
+ var o = value(n);
236
236
  if (!o) {
237
237
  throw error(exports.Kind.OBJECT_FIELD);
238
238
  }
239
- n.push({
239
+ i.push({
240
240
  kind: exports.Kind.OBJECT_FIELD,
241
241
  name: t,
242
242
  value: o
@@ -248,18 +248,18 @@ function value(i) {
248
248
  ignored();
249
249
  return {
250
250
  kind: exports.Kind.OBJECT,
251
- fields: n
251
+ fields: i
252
252
  };
253
253
  }
254
- }(i)) {
255
- return n;
254
+ }(n)) {
255
+ return i;
256
256
  }
257
257
  ignored();
258
- return n;
258
+ return i;
259
259
  }
260
260
 
261
- function arguments_(i) {
262
- var n = [];
261
+ function arguments_(n) {
262
+ var i = [];
263
263
  ignored();
264
264
  if (40 === e.charCodeAt(r)) {
265
265
  r++;
@@ -271,26 +271,26 @@ function arguments_(i) {
271
271
  throw error(exports.Kind.ARGUMENT);
272
272
  }
273
273
  ignored();
274
- var o = value(i);
274
+ var o = value(n);
275
275
  if (!o) {
276
276
  throw error(exports.Kind.ARGUMENT);
277
277
  }
278
- n.push({
278
+ i.push({
279
279
  kind: exports.Kind.ARGUMENT,
280
280
  name: t,
281
281
  value: o
282
282
  });
283
283
  }
284
- if (!n.length || 41 !== e.charCodeAt(r++)) {
284
+ if (!i.length || 41 !== e.charCodeAt(r++)) {
285
285
  throw error(exports.Kind.ARGUMENT);
286
286
  }
287
287
  ignored();
288
288
  }
289
- return n;
289
+ return i;
290
290
  }
291
291
 
292
- function directives(i) {
293
- var n = [];
292
+ function directives(n) {
293
+ var i = [];
294
294
  ignored();
295
295
  while (64 === e.charCodeAt(r)) {
296
296
  r++;
@@ -299,34 +299,34 @@ function directives(i) {
299
299
  throw error(exports.Kind.DIRECTIVE);
300
300
  }
301
301
  ignored();
302
- n.push({
302
+ i.push({
303
303
  kind: exports.Kind.DIRECTIVE,
304
304
  name: t,
305
- arguments: arguments_(i)
305
+ arguments: arguments_(n)
306
306
  });
307
307
  }
308
- return n;
308
+ return i;
309
309
  }
310
310
 
311
311
  function field() {
312
312
  ignored();
313
- var i = name();
314
- if (i) {
313
+ var n = name();
314
+ if (n) {
315
315
  ignored();
316
- var n;
316
+ var i;
317
317
  if (58 === e.charCodeAt(r)) {
318
318
  r++;
319
319
  ignored();
320
- n = i;
321
- if (!(i = name())) {
320
+ i = n;
321
+ if (!(n = name())) {
322
322
  throw error(exports.Kind.FIELD);
323
323
  }
324
324
  ignored();
325
325
  }
326
326
  return {
327
327
  kind: exports.Kind.FIELD,
328
- alias: n,
329
- name: i,
328
+ alias: i,
329
+ name: n,
330
330
  arguments: arguments_(!1),
331
331
  directives: directives(!1),
332
332
  selectionSet: selectionSet()
@@ -335,23 +335,23 @@ function field() {
335
335
  }
336
336
 
337
337
  function type() {
338
- var i;
338
+ var n;
339
339
  ignored();
340
340
  if (91 === e.charCodeAt(r)) {
341
341
  r++;
342
342
  ignored();
343
- var n = type();
344
- if (!n || 93 !== e.charCodeAt(r++)) {
343
+ var i = type();
344
+ if (!i || 93 !== e.charCodeAt(r++)) {
345
345
  throw error(exports.Kind.LIST_TYPE);
346
346
  }
347
- i = {
347
+ n = {
348
348
  kind: exports.Kind.LIST_TYPE,
349
- type: n
349
+ type: i
350
350
  };
351
- } else if (i = name()) {
352
- i = {
351
+ } else if (n = name()) {
352
+ n = {
353
353
  kind: exports.Kind.NAMED_TYPE,
354
- name: i
354
+ name: n
355
355
  };
356
356
  } else {
357
357
  throw error(exports.Kind.NAMED_TYPE);
@@ -362,10 +362,10 @@ function type() {
362
362
  ignored();
363
363
  return {
364
364
  kind: exports.Kind.NON_NULL_TYPE,
365
- type: i
365
+ type: n
366
366
  };
367
367
  } else {
368
- return i;
368
+ return n;
369
369
  }
370
370
  }
371
371
 
@@ -392,47 +392,49 @@ function fragmentSpread() {
392
392
  ignored();
393
393
  if (advance(f)) {
394
394
  ignored();
395
- var e;
396
- if (e = name()) {
395
+ var e = r;
396
+ var n;
397
+ if ((n = name()) && "on" !== n.value) {
397
398
  return {
398
399
  kind: exports.Kind.FRAGMENT_SPREAD,
399
- name: e,
400
+ name: n,
400
401
  directives: directives(!1)
401
402
  };
402
403
  } else {
403
- var r = typeCondition();
404
- var i = directives(!1);
405
- var n = selectionSet();
406
- if (!n) {
404
+ r = e;
405
+ var i = typeCondition();
406
+ var t = directives(!1);
407
+ var o = selectionSet();
408
+ if (!o) {
407
409
  throw error(exports.Kind.INLINE_FRAGMENT);
408
410
  }
409
411
  return {
410
412
  kind: exports.Kind.INLINE_FRAGMENT,
411
- typeCondition: r,
412
- directives: i,
413
- selectionSet: n
413
+ typeCondition: i,
414
+ directives: t,
415
+ selectionSet: o
414
416
  };
415
417
  }
416
418
  }
417
419
  }
418
420
 
419
421
  function selectionSet() {
420
- var i;
422
+ var n;
421
423
  ignored();
422
424
  if (123 === e.charCodeAt(r)) {
423
425
  r++;
424
426
  ignored();
425
- var n = [];
426
- while (i = fragmentSpread() || field()) {
427
- n.push(i);
427
+ var i = [];
428
+ while (n = fragmentSpread() || field()) {
429
+ i.push(n);
428
430
  }
429
- if (!n.length || 125 !== e.charCodeAt(r++)) {
431
+ if (!i.length || 125 !== e.charCodeAt(r++)) {
430
432
  throw error(exports.Kind.SELECTION_SET);
431
433
  }
432
434
  ignored();
433
435
  return {
434
436
  kind: exports.Kind.SELECTION_SET,
435
- selections: n
437
+ selections: i
436
438
  };
437
439
  }
438
440
  }
@@ -451,17 +453,17 @@ function fragmentDefinition() {
451
453
  if (!r) {
452
454
  throw error(exports.Kind.FRAGMENT_DEFINITION);
453
455
  }
454
- var i = directives(!1);
455
- var n = selectionSet();
456
- if (!n) {
456
+ var n = directives(!1);
457
+ var i = selectionSet();
458
+ if (!i) {
457
459
  throw error(exports.Kind.FRAGMENT_DEFINITION);
458
460
  }
459
461
  return {
460
462
  kind: exports.Kind.FRAGMENT_DEFINITION,
461
463
  name: e,
462
464
  typeCondition: r,
463
- directives: i,
464
- selectionSet: n
465
+ directives: n,
466
+ selectionSet: i
465
467
  };
466
468
  }
467
469
  }
@@ -469,21 +471,21 @@ function fragmentDefinition() {
469
471
  var N = /query|mutation|subscription/y;
470
472
 
471
473
  function operationDefinition() {
472
- var i;
473
474
  var n;
475
+ var i;
474
476
  var t = [];
475
477
  var o = [];
476
- if (i = advance(N)) {
478
+ if (n = advance(N)) {
477
479
  ignored();
478
- n = name();
480
+ i = name();
479
481
  t = function variableDefinitions() {
480
- var i;
481
- var n = [];
482
+ var n;
483
+ var i = [];
482
484
  ignored();
483
485
  if (40 === e.charCodeAt(r)) {
484
486
  r++;
485
487
  ignored();
486
- while (i = advance(s)) {
488
+ while (n = advance(s)) {
487
489
  ignored();
488
490
  if (58 !== e.charCodeAt(r++)) {
489
491
  throw error(exports.Kind.VARIABLE_DEFINITION);
@@ -501,13 +503,13 @@ function operationDefinition() {
501
503
  }
502
504
  }
503
505
  ignored();
504
- n.push({
506
+ i.push({
505
507
  kind: exports.Kind.VARIABLE_DEFINITION,
506
508
  variable: {
507
509
  kind: exports.Kind.VARIABLE,
508
510
  name: {
509
511
  kind: exports.Kind.NAME,
510
- value: i.slice(1)
512
+ value: n.slice(1)
511
513
  }
512
514
  },
513
515
  type: t,
@@ -520,7 +522,7 @@ function operationDefinition() {
520
522
  }
521
523
  ignored();
522
524
  }
523
- return n;
525
+ return i;
524
526
  }();
525
527
  o = directives(!1);
526
528
  }
@@ -528,8 +530,8 @@ function operationDefinition() {
528
530
  if (a) {
529
531
  return {
530
532
  kind: exports.Kind.OPERATION_DEFINITION,
531
- operation: i || "query",
532
- name: n,
533
+ operation: n || "query",
534
+ name: i,
533
535
  variableDefinitions: t,
534
536
  directives: o,
535
537
  selectionSet: a
@@ -549,40 +551,78 @@ function printBlockString(e) {
549
551
 
550
552
  var hasItems = e => !(!e || !e.length);
551
553
 
554
+ var T = 80;
555
+
556
+ function valueFromASTUntyped(e, r) {
557
+ switch (e.kind) {
558
+ case exports.Kind.NULL:
559
+ return null;
560
+
561
+ case exports.Kind.INT:
562
+ return parseInt(e.value, 10);
563
+
564
+ case exports.Kind.FLOAT:
565
+ return parseFloat(e.value);
566
+
567
+ case exports.Kind.STRING:
568
+ case exports.Kind.ENUM:
569
+ case exports.Kind.BOOLEAN:
570
+ return e.value;
571
+
572
+ case exports.Kind.LIST:
573
+ var n = [];
574
+ for (var i = 0, t = e.values; i < t.length; i += 1) {
575
+ n.push(valueFromASTUntyped(t[i], r));
576
+ }
577
+ return n;
578
+
579
+ case exports.Kind.OBJECT:
580
+ var o = Object.create(null);
581
+ for (var a = 0, s = e.fields; a < s.length; a += 1) {
582
+ var d = s[a];
583
+ o[d.name.value] = valueFromASTUntyped(d.value, r);
584
+ }
585
+ return o;
586
+
587
+ case exports.Kind.VARIABLE:
588
+ return r && r[e.name.value];
589
+ }
590
+ }
591
+
552
592
  exports.BREAK = I;
553
593
 
554
594
  exports.GraphQLError = GraphQLError;
555
595
 
556
596
  exports.blockString = blockString;
557
597
 
558
- exports.parse = function parse(i) {
559
- e = i;
598
+ exports.parse = function parse(n) {
599
+ e = n;
560
600
  r = 0;
561
601
  return function document() {
562
- var i;
602
+ var n;
563
603
  ignored();
564
- var n = [];
565
- while (i = fragmentDefinition() || operationDefinition()) {
566
- n.push(i);
604
+ var i = [];
605
+ while (n = fragmentDefinition() || operationDefinition()) {
606
+ i.push(n);
567
607
  }
568
608
  if (r !== e.length) {
569
609
  throw error(exports.Kind.DOCUMENT);
570
610
  }
571
611
  return {
572
612
  kind: exports.Kind.DOCUMENT,
573
- definitions: n
613
+ definitions: i
574
614
  };
575
615
  }();
576
616
  };
577
617
 
578
- exports.parseType = function parseType(i) {
579
- e = i;
618
+ exports.parseType = function parseType(n) {
619
+ e = n;
580
620
  r = 0;
581
621
  return type();
582
622
  };
583
623
 
584
- exports.parseValue = function parseValue(i) {
585
- e = i;
624
+ exports.parseValue = function parseValue(n) {
625
+ e = n;
586
626
  r = 0;
587
627
  ignored();
588
628
  return value(!1);
@@ -623,7 +663,9 @@ exports.print = function print(e) {
623
663
  case exports.Kind.FIELD:
624
664
  r = (e.alias ? print(e.alias) + ": " : "") + e.name.value;
625
665
  if (hasItems(e.arguments)) {
626
- r += "(" + e.arguments.map(print).join(", ") + ")";
666
+ var n = e.arguments.map(print);
667
+ var i = r + "(" + n.join(", ") + ")";
668
+ r = i.length > T ? r + "(\n " + n.join("\n").replace(/\n/g, "\n ") + "\n)" : i;
627
669
  }
628
670
  if (hasItems(e.directives)) {
629
671
  r += " " + e.directives.map(print).join(" ");
@@ -713,14 +755,50 @@ exports.printBlockString = printBlockString;
713
755
 
714
756
  exports.printString = printString;
715
757
 
758
+ exports.valueFromASTUntyped = valueFromASTUntyped;
759
+
760
+ exports.valueFromTypeNode = function valueFromTypeNode(e, r, n) {
761
+ if (e.kind === exports.Kind.VARIABLE) {
762
+ return n ? valueFromTypeNode(n[e.name.value], r, n) : void 0;
763
+ } else if (r.kind === exports.Kind.NON_NULL_TYPE) {
764
+ return e.kind !== exports.Kind.NULL ? valueFromTypeNode(e, r, n) : void 0;
765
+ } else if (e.kind === exports.Kind.NULL) {
766
+ return null;
767
+ } else if (r.kind === exports.Kind.LIST_TYPE) {
768
+ if (e.kind === exports.Kind.LIST) {
769
+ var i = [];
770
+ for (var t = 0, o = e.values; t < o.length; t += 1) {
771
+ var a = valueFromTypeNode(o[t], r.type, n);
772
+ if (void 0 === a) {
773
+ return;
774
+ } else {
775
+ i.push(a);
776
+ }
777
+ }
778
+ return i;
779
+ }
780
+ } else if (r.kind === exports.Kind.NAMED_TYPE) {
781
+ switch (r.name.value) {
782
+ case "Int":
783
+ case "Float":
784
+ case "String":
785
+ case "Bool":
786
+ return r.name.value + "Value" === e.kind ? valueFromASTUntyped(e, n) : void 0;
787
+
788
+ default:
789
+ return valueFromASTUntyped(e, n);
790
+ }
791
+ }
792
+ };
793
+
716
794
  exports.visit = function visit(e, r) {
717
- var i = [];
718
795
  var n = [];
796
+ var i = [];
719
797
  try {
720
798
  var t = function traverse(e, t, o) {
721
799
  var a = !1;
722
800
  var s = r[e.kind] && r[e.kind].enter || r[e.kind];
723
- var d = s && s.call(r, e, t, o, n, i);
801
+ var d = s && s.call(r, e, t, o, i, n);
724
802
  if (!1 === d) {
725
803
  return e;
726
804
  } else if (null === d) {
@@ -732,24 +810,24 @@ exports.visit = function visit(e, r) {
732
810
  e = d;
733
811
  }
734
812
  if (o) {
735
- i.push(o);
813
+ n.push(o);
736
814
  }
737
815
  var p;
738
816
  var u = {
739
817
  ...e
740
818
  };
741
819
  for (var l in e) {
742
- n.push(l);
820
+ i.push(l);
743
821
  var v = e[l];
744
822
  if (Array.isArray(v)) {
745
823
  var c = [];
746
824
  for (var f = 0; f < v.length; f++) {
747
825
  if (null != v[f] && "string" == typeof v[f].kind) {
748
- i.push(e);
749
- n.push(f);
826
+ n.push(e);
827
+ i.push(f);
750
828
  p = traverse(v[f], f, v);
751
- n.pop();
752
829
  i.pop();
830
+ n.pop();
753
831
  if (void 0 === p) {
754
832
  c.push(v[f]);
755
833
  } else if (null === p) {
@@ -767,16 +845,16 @@ exports.visit = function visit(e, r) {
767
845
  v = p;
768
846
  }
769
847
  }
770
- n.pop();
848
+ i.pop();
771
849
  if (a) {
772
850
  u[l] = v;
773
851
  }
774
852
  }
775
853
  if (o) {
776
- i.pop();
854
+ n.pop();
777
855
  }
778
856
  var E = r[e.kind] && r[e.kind].leave;
779
- var N = E && E.call(r, e, t, o, n, i);
857
+ var N = E && E.call(r, e, t, o, i, n);
780
858
  if (N === I) {
781
859
  throw I;
782
860
  } else if (void 0 !== N) {