graphql-js-tree
Advanced tools
Comparing version 0.1.2 to 0.1.3
import { FieldType } from "../Models"; | ||
export declare const getTypeName: (f: FieldType) => string; | ||
export declare const compileType: (f: FieldType, fn?: (x: string) => string) => string; | ||
export declare const compileType: (f: FieldType, fn?: (x: string) => string, required?: boolean) => string; | ||
export declare const decompileType: (typeName: string) => FieldType; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.compileType = exports.getTypeName = void 0; | ||
exports.decompileType = exports.compileType = exports.getTypeName = void 0; | ||
const Models_1 = require("../Models"); | ||
@@ -12,13 +12,32 @@ const getTypeName = (f) => { | ||
exports.getTypeName = getTypeName; | ||
const compileType = (f, fn = (x) => x) => { | ||
if (f.type === Models_1.Options.name) { | ||
return fn(f.name); | ||
const compileType = (f, fn = (x) => x, required = false) => { | ||
if (f.type === Models_1.Options.array) { | ||
return (0, exports.compileType)(f.nest, (x) => (required ? `[${fn(x)}]!` : `[${fn(x)}]`)); | ||
} | ||
else if (f.type === Models_1.Options.array) { | ||
return (0, exports.compileType)(f.nest, (x) => `[${fn(x)}]`); | ||
if (f.type === Models_1.Options.required) { | ||
return (0, exports.compileType)(f.nest, fn, true); | ||
} | ||
else { | ||
return (0, exports.compileType)(f.nest, (x) => `${fn(x)}!`); | ||
return fn(f.name); | ||
}; | ||
exports.compileType = compileType; | ||
const decompileType = (typeName) => { | ||
const arrayType = typeName.endsWith(']'); | ||
const requiredType = typeName.endsWith('!'); | ||
if (arrayType) { | ||
return { | ||
type: Models_1.Options.array, | ||
nest: (0, exports.decompileType)(typeName.substring(1, typeName.length - 1)), | ||
}; | ||
} | ||
if (requiredType) { | ||
return { | ||
type: Models_1.Options.required, | ||
nest: (0, exports.decompileType)(typeName.substring(0, typeName.length - 1)), | ||
}; | ||
} | ||
return { | ||
type: Models_1.Options.name, | ||
name: typeName, | ||
}; | ||
}; | ||
exports.compileType = compileType; | ||
exports.decompileType = decompileType; |
@@ -20,5 +20,2 @@ "use strict"; | ||
TemplateUtils.resolveFieldType = (f, fn = (x) => x, required = false) => { | ||
if (f.type === Models_1.Options.name && f.name) { | ||
return fn(required ? `${f.name}!` : f.name); | ||
} | ||
if (f.type === Models_1.Options.array) { | ||
@@ -30,3 +27,3 @@ return TemplateUtils.resolveFieldType(f.nest, (x) => (required ? `[${fn(x)}]!` : `[${fn(x)}]`)); | ||
} | ||
throw new Error('Invalid field type:' + JSON.stringify(f)); | ||
return fn(required ? `${f.name}!` : f.name); | ||
}; | ||
@@ -33,0 +30,0 @@ TemplateUtils.resolveType = (f) => TemplateUtils.resolveFieldType(f.type.fieldType); |
{ | ||
"name": "graphql-js-tree", | ||
"version": "0.1.2", | ||
"version": "0.1.3", | ||
"private": false, | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
61511
1285