MCPcopy
hub / github.com/mickhansen/graphql-sequelize / toGraphQL

Function toGraphQL

src/typeMapper.js:30–138  ·  view source on GitHub ↗
(sequelizeType, sequelizeTypes)

Source from the content-addressed store, hash-verified

28 * @return {Function} GraphQL type declaration
29 */
30export function toGraphQL(sequelizeType, sequelizeTypes) {
31
32 // did the user supply a mapping function?
33 // use their mapping, if it returns truthy
34 // else use our defaults
35 if (customTypeMapper) {
36 let result = customTypeMapper(sequelizeType);
37 if (result) return result;
38 }
39
40 const {
41 BOOLEAN,
42 ENUM,
43 FLOAT,
44 REAL,
45 CHAR,
46 DECIMAL,
47 DOUBLE,
48 INTEGER,
49 BIGINT,
50 STRING,
51 TEXT,
52 UUID,
53 UUIDV4,
54 DATE,
55 DATEONLY,
56 TIME,
57 ARRAY,
58 VIRTUAL,
59 JSON,
60 JSONB,
61 CITEXT,
62 INET,
63 } = sequelizeTypes;
64
65 // Map of special characters
66 const specialCharsMap = new Map([
67 ['¼', 'frac14'],
68 ['½', 'frac12'],
69 ['¾', 'frac34']
70 ]);
71
72 if (sequelizeType instanceof BOOLEAN) return GraphQLBoolean;
73
74 if (sequelizeType instanceof FLOAT ||
75 sequelizeType instanceof REAL ||
76 sequelizeType instanceof DOUBLE) return GraphQLFloat;
77
78 if (sequelizeType instanceof DATE) {
79 return DateType;
80 }
81
82 if (sequelizeType instanceof CHAR ||
83 sequelizeType instanceof STRING ||
84 sequelizeType instanceof TEXT ||
85 sequelizeType instanceof UUID ||
86 sequelizeType instanceof UUIDV4 ||
87 sequelizeType instanceof DATEONLY ||

Callers 1

typeMapper.test.jsFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected