1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.default = cleanupInputFields;
|
7 | function cleanupInputFields(args, fragments) {
|
8 | var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
9 |
|
10 | var cleanedUpFragments = fragments;
|
11 |
|
12 | var dataArg = args.find(function (arg) {
|
13 | return arg.name === 'data';
|
14 | });
|
15 |
|
16 | function fieldCleanUp(field) {
|
17 | var hasFieldArg = dataArg && dataArg.type.inputFields.some(function (e) {
|
18 | return e.name === field;
|
19 | });
|
20 |
|
21 | if (!hasFieldArg && typeof options[field] !== 'undefined') {
|
22 | options[field] = undefined;
|
23 | cleanedUpFragments = cleanedUpFragments.replace(new RegExp(',?[s|\n]*' + field), '');
|
24 |
|
25 | console.warn('This API Version does not support the ' + field + ' argument.');
|
26 | }
|
27 | }
|
28 |
|
29 | ['tolerateMinification', 'useProfilingData', 'useAppClassification', 'inputSymbolTable'].forEach(fieldCleanUp);
|
30 |
|
31 | return [options, cleanedUpFragments];
|
32 | } |
\ | No newline at end of file |