12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.parseInputValueLiteral = exports.parseInputValue = exports.serializeInputValue = exports.transformInputValue = void 0;
- const graphql_1 = require("graphql");
- function transformInputValue(type, value, inputLeafValueTransformer = null, inputObjectValueTransformer = null) {
- if (value == null) {
- return value;
- }
- const nullableType = (0, graphql_1.getNullableType)(type);
- if ((0, graphql_1.isLeafType)(nullableType)) {
- return inputLeafValueTransformer != null ? inputLeafValueTransformer(nullableType, value) : value;
- }
- else if ((0, graphql_1.isListType)(nullableType)) {
- return value.map((listMember) => transformInputValue(nullableType.ofType, listMember, inputLeafValueTransformer, inputObjectValueTransformer));
- }
- else if ((0, graphql_1.isInputObjectType)(nullableType)) {
- const fields = nullableType.getFields();
- const newValue = {};
- for (const key in value) {
- const field = fields[key];
- if (field != null) {
- newValue[key] = transformInputValue(field.type, value[key], inputLeafValueTransformer, inputObjectValueTransformer);
- }
- }
- return inputObjectValueTransformer != null ? inputObjectValueTransformer(nullableType, newValue) : newValue;
- }
- // unreachable, no other possible return value
- }
- exports.transformInputValue = transformInputValue;
- function serializeInputValue(type, value) {
- return transformInputValue(type, value, (t, v) => {
- try {
- return t.serialize(v);
- }
- catch (_a) {
- return v;
- }
- });
- }
- exports.serializeInputValue = serializeInputValue;
- function parseInputValue(type, value) {
- return transformInputValue(type, value, (t, v) => {
- try {
- return t.parseValue(v);
- }
- catch (_a) {
- return v;
- }
- });
- }
- exports.parseInputValue = parseInputValue;
- function parseInputValueLiteral(type, value) {
- return transformInputValue(type, value, (t, v) => t.parseLiteral(v, {}));
- }
- exports.parseInputValueLiteral = parseInputValueLiteral;
|