@graphql-mocks/falso
Version:
Fake GraphQL queries with graphql-mocks and Falso
133 lines (131 loc) • 3.98 kB
JavaScript
'use strict';
var falso = require('@ngneat/falso');
var typeUtils = require('graphql-mocks/graphql/type-utils');
function _interopNamespaceDefault(e) {
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () {
return e[k];
}
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var falso__namespace = /*#__PURE__*/_interopNamespaceDefault(falso);
function guessFalsoFn(fieldName, returnType) {
fieldName = fieldName.toLowerCase();
const returnTypeName = typeUtils.unwrap(returnType).name.toLowerCase();
if (returnTypeName === 'string') {
if (fieldName.includes('name')) {
return falso__namespace.randCity;
}
if (fieldName.includes('firstname')) {
return falso__namespace.randFirstName;
}
if (fieldName.includes('lastname')) {
return falso__namespace.randLastName;
}
if (fieldName.includes('email')) {
return falso__namespace.randEmail;
}
if (fieldName.includes('gender') || fieldName.includes('sex')) {
return falso__namespace.randGender;
}
if (fieldName.includes('city')) {
return falso__namespace.randCity;
}
if (fieldName.includes('zipcode')) {
return falso__namespace.randZipCode;
}
if (fieldName.includes('country')) {
return falso__namespace.randCountry;
}
if (fieldName.includes('street')) {
return falso__namespace.randStreetName;
}
if (fieldName.includes('color')) {
return falso__namespace.randColor;
}
if (fieldName.includes('price')) {
return () => falso__namespace.randAmount();
}
if (fieldName.includes('date')) {
return () => falso__namespace.randSoonDate().toString();
}
if (fieldName.includes('currency')) {
return falso__namespace.randCurrencyName;
}
if (fieldName.includes('creditcard')) {
return falso__namespace.randCurrencyName;
}
if (fieldName.includes('image')) {
return falso__namespace.randImg;
}
if (fieldName.includes('avatar')) {
return falso__namespace.randAvatar;
}
if (fieldName.includes('username')) {
return falso__namespace.randUserName;
}
if (fieldName.includes('password')) {
return falso__namespace.randPassword;
}
if (fieldName.includes('ip')) {
return falso__namespace.randIp;
}
if (fieldName.includes('url')) {
return falso__namespace.randUrl;
}
if (fieldName.includes('phonenumber')) {
return falso__namespace.randPhoneNumber;
}
if (fieldName.includes('locale')) {
return falso__namespace.randLocale;
}
if (fieldName.includes('desc')) {
return falso__namespace.randParagraph;
}
if (fieldName.includes('filename')) {
return falso__namespace.randFileName;
}
if (fieldName.includes('filetype')) {
return falso__namespace.randFileType;
}
if (fieldName.includes('time')) {
return () => {
const date = falso__namespace.randRecentDate();
return `${date.getHours()}:${date.getMinutes()} ${falso__namespace.rand(['am', 'pm'])}`;
};
}
if (fieldName.includes('id') || fieldName.includes('uuid')) {
return falso__namespace.randUuid;
}
return falso__namespace.randWord;
}
if (returnTypeName === 'float') {
return falso__namespace.randFloat;
}
if (returnTypeName === 'int') {
return falso__namespace.randNumber;
}
if (returnTypeName === 'id') {
return falso__namespace.randUuid;
}
if (returnTypeName === 'uuid') {
return falso__namespace.randUuid;
}
if (returnTypeName === 'boolean') {
return falso__namespace.randBoolean;
}
return () => void 0;
}
exports.guessFalsoFn = guessFalsoFn;
//# sourceMappingURL=guess-falso-fn.js.map