factory-girl-ts
Advanced tools
Comparing version 2.0.4 to 2.0.5
import { ValueOf } from 'type-fest'; | ||
import { ModelAdapter } from './adapters'; | ||
import { Factory, Override } from './factory'; | ||
export declare function isAssociation<T>(value: T | Association<T> | unknown): value is Association<T>; | ||
export declare class Association<Model, Attributes = any, Params = any, ReturnType = any> { | ||
@@ -5,0 +6,0 @@ private readonly factory; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.Association = void 0; | ||
exports.Association = exports.isAssociation = void 0; | ||
function isAssociation(value) { | ||
return value instanceof Association; | ||
} | ||
exports.isAssociation = isAssociation; | ||
class Association { | ||
@@ -42,2 +46,2 @@ factory; | ||
exports.Association = Association; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzb2NpYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXNzb2NpYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBYSxXQUFXO0lBT0g7SUFDQTtJQUNBO0lBQ0E7SUFDVDtJQUNBO0lBTlYsWUFDbUIsT0FBdUQsRUFDdkQsT0FBc0MsRUFDdEMsb0JBQXVELEVBQ3ZELEdBQXNCLEVBQy9CLGdCQUE2QixFQUM3QixrQkFBK0I7UUFMdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0Q7UUFDdkQsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7UUFDdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFtQztRQUN2RCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUMvQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWE7UUFDN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFhO0lBQ3RDLENBQUM7SUFFSixLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxnQkFBZ0I7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQjtnQkFDckIsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFeEQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNO1FBQ1YsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixJQUFJLENBQUMsa0JBQWtCO2dCQUN2QixDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUNELEdBQXFCO1FBRXJCLE9BQU8sSUFBSSxXQUFXLENBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLEdBQUcsQ0FDSixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBakRELGtDQWlEQyJ9 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzb2NpYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYXNzb2NpYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsU0FBZ0IsYUFBYSxDQUMzQixLQUFtQztJQUVuQyxPQUFPLEtBQUssWUFBWSxXQUFXLENBQUM7QUFDdEMsQ0FBQztBQUpELHNDQUlDO0FBRUQsTUFBYSxXQUFXO0lBT0g7SUFDQTtJQUNBO0lBQ0E7SUFDVDtJQUNBO0lBTlYsWUFDbUIsT0FBdUQsRUFDdkQsT0FBc0MsRUFDdEMsb0JBQXVELEVBQ3ZELEdBQXNCLEVBQy9CLGdCQUE2QixFQUM3QixrQkFBK0I7UUFMdEIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0Q7UUFDdkQsWUFBTyxHQUFQLE9BQU8sQ0FBK0I7UUFDdEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFtQztRQUN2RCxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUMvQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWE7UUFDN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFhO0lBQ3RDLENBQUM7SUFFSixLQUFLLENBQUMsS0FBSztRQUNULElBQUksQ0FBQyxnQkFBZ0I7WUFDbkIsSUFBSSxDQUFDLGdCQUFnQjtnQkFDckIsQ0FBQyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFFeEQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFEO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNO1FBQ1YsSUFBSSxDQUFDLGtCQUFrQjtZQUNyQixJQUFJLENBQUMsa0JBQWtCO2dCQUN2QixDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztRQUV6RCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUNELEdBQXFCO1FBRXJCLE9BQU8sSUFBSSxXQUFXLENBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQ1osSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCLEdBQUcsQ0FDSixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBakRELGtDQWlEQyJ9 |
@@ -7,2 +7,3 @@ "use strict"; | ||
const association_1 = require("./association"); | ||
const utils_1 = require("./utils"); | ||
class Factory { | ||
@@ -43,3 +44,3 @@ defaultAttributesFactory; | ||
const defaultAttributesWithAssociations = await this.resolveAssociations('create', additionalParams); | ||
const finalAttributes = (0, lodash_1.merge)(defaultAttributesWithAssociations, override); | ||
const finalAttributes = (0, utils_1.mergeDeep)(defaultAttributesWithAssociations, override); | ||
const built = this.adapter.build(this.model, finalAttributes); | ||
@@ -80,3 +81,3 @@ const createdModel = await this.adapter.save(built, this.model); | ||
const attributesWithAssociations = await this.resolveAssociations('build', additionalParams); | ||
mergedAttributes = (0, lodash_1.merge)(attributesWithAssociations, override); | ||
mergedAttributes = (0, utils_1.mergeDeep)(attributesWithAssociations, override); | ||
const finalResult = this.adapter.build(this.model, mergedAttributes); | ||
@@ -117,3 +118,3 @@ return await this.resolveBuildHooks(finalResult); | ||
const defaultAttributes = await this.defaultAttributesFactory(additionalParams); | ||
return (0, lodash_1.merge)(defaultAttributes, await newDefaultAttributesFactory(additionalParams)); | ||
return (0, utils_1.mergeDeep)(defaultAttributes, (await newDefaultAttributesFactory(additionalParams))); | ||
}; | ||
@@ -192,3 +193,3 @@ return new Factory(decoratedDefaultAttributesFactory, this.model, this._adapter); | ||
const value = attributes[prop]; | ||
if (isAssociation(value)) { | ||
if ((0, association_1.isAssociation)(value)) { | ||
defaultWithAssociations[prop] = await value[associationType](); | ||
@@ -204,5 +205,2 @@ } | ||
exports.Factory = Factory; | ||
function isAssociation(value) { | ||
return value instanceof association_1.Association; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxtQ0FBZ0Q7QUFHaEQsK0NBQTRDO0FBYzVDLE1BQWEsT0FBTztJQUVDO0lBSUE7SUFDQTtJQUNBO0lBQ0E7SUFSbkIsWUFDbUIsd0JBR2hCLEVBQ2dCLEtBQVksRUFDWixRQUErQyxFQUMvQyxtQkFBa0QsRUFBRSxFQUNwRCxrQkFBZ0QsRUFBRTtRQVBsRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBR3hDO1FBQ2dCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixhQUFRLEdBQVIsUUFBUSxDQUF1QztRQUMvQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9DO1FBQ3BELG9CQUFlLEdBQWYsZUFBZSxDQUFtQztJQUNsRSxDQUFDO0lBRUosSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFrQkQsU0FBUyxDQUlQLEdBQTBDLEVBQzFDLFFBQVk7UUFFWixNQUFNLHNCQUFzQixHQUFHLElBQUEsaUJBQVEsRUFBQyxHQUFHLENBQUMsQ0FBQztRQUU3QyxPQUFPLElBQUkseUJBQVcsQ0FDcEIsSUFBSSxFQUNKLElBQUksQ0FBQyxPQUFPLEVBQ1osc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUN2QyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBRSxHQUFTLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FDVixRQUEyQyxFQUMzQyxnQkFBeUI7UUFFekIsTUFBTSxpQ0FBaUMsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FDdEUsUUFBUSxFQUNSLGdCQUFnQixDQUNqQixDQUFDO1FBRUYsTUFBTSxl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 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUN2RCxtQ0FBeUM7QUFHekMsK0NBQTJEO0FBUzNELG1DQUFvQztBQU1wQyxNQUFhLE9BQU87SUFFQztJQUlBO0lBQ0E7SUFDQTtJQUNBO0lBUm5CLFlBQ21CLHdCQUdoQixFQUNnQixLQUFZLEVBQ1osUUFBK0MsRUFDL0MsbUJBQWtELEVBQUUsRUFDcEQsa0JBQWdELEVBQUU7UUFQbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUd4QztRQUNnQixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osYUFBUSxHQUFSLFFBQVEsQ0FBdUM7UUFDL0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFvQztRQUNwRCxvQkFBZSxHQUFmLGVBQWUsQ0FBbUM7SUFDbEUsQ0FBQztJQUVKLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBa0JELFNBQVMsQ0FJUCxHQUEwQyxFQUMxQyxRQUFZO1FBRVosTUFBTSxzQkFBc0IsR0FBRyxJQUFBLGlCQUFRLEVBQUMsR0FBRyxDQUFDLENBQUM7UUFFN0MsT0FBTyxJQUFJLHlCQUFXLENBQ3BCLElBQUksRUFDSixJQUFJLENBQUMsT0FBTyxFQUNaLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFDdkMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUUsR0FBUyxDQUNoRCxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQ1YsUUFBMkMsRUFDM0MsZ0JBQXlCO1FBRXpCLE1BQU0saUNBQWlDLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQ3RFLFFBQVEsRUFDUixnQkFBZ0IsQ0FDakIsQ0FB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 |
import { Dictionary } from './types'; | ||
export declare function plainObject<T extends Dictionary>(): T; | ||
/** | ||
* Performs a deep merge of objects and returns new object. Does not modify | ||
* objects (immutable) and merges arrays via concatenation. When a property is an association, | ||
* it entirely replaces the previous value. | ||
*/ | ||
export declare function mergeDeep<T>(object1: Partial<T>, object2?: Partial<T>): any; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.plainObject = void 0; | ||
exports.mergeDeep = exports.plainObject = void 0; | ||
/* eslint-disable @typescript-eslint/no-explicit-any */ | ||
const lodash_1 = require("lodash"); | ||
const association_1 = require("./association"); | ||
function plainObject() { | ||
@@ -8,2 +11,32 @@ return {}; | ||
exports.plainObject = plainObject; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsV0FBVztJQUN6QixPQUFPLEVBQU8sQ0FBQztBQUNqQixDQUFDO0FBRkQsa0NBRUMifQ== | ||
/** | ||
* Performs a deep merge of objects and returns new object. Does not modify | ||
* objects (immutable) and merges arrays via concatenation. When a property is an association, | ||
* it entirely replaces the previous value. | ||
*/ | ||
function mergeDeep(object1, object2 = {}) { | ||
return [object1 ?? {}, object2].reduce((prev, obj) => { | ||
Object.keys(obj).forEach((key) => { | ||
const keyParsed = key; | ||
const finalObjectValue = prev[keyParsed]; | ||
const currentObjectValue = obj[keyParsed]; | ||
if ((0, association_1.isAssociation)(currentObjectValue)) { | ||
prev[keyParsed] = currentObjectValue; | ||
return; | ||
} | ||
if (Array.isArray(finalObjectValue) && | ||
Array.isArray(currentObjectValue)) { | ||
prev[keyParsed] = finalObjectValue.concat(...currentObjectValue); | ||
} | ||
else if ((0, lodash_1.isObject)(finalObjectValue) && (0, lodash_1.isObject)(currentObjectValue)) { | ||
prev[keyParsed] = mergeDeep(finalObjectValue, currentObjectValue); | ||
} | ||
else { | ||
prev[keyParsed] = currentObjectValue; | ||
} | ||
}); | ||
return prev; | ||
}, {}); | ||
} | ||
exports.mergeDeep = mergeDeep; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXVEO0FBQ3ZELG1DQUFrQztBQUNsQywrQ0FBOEM7QUFHOUMsU0FBZ0IsV0FBVztJQUN6QixPQUFPLEVBQU8sQ0FBQztBQUNqQixDQUFDO0FBRkQsa0NBRUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsU0FBUyxDQUN2QixPQUFtQixFQUNuQixVQUFzQixFQUFFO0lBRXhCLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNuRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQy9CLE1BQU0sU0FBUyxHQUFHLEdBQWMsQ0FBQztZQUVqQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN6QyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUxQyxJQUFJLElBQUEsMkJBQWEsRUFBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsa0JBQWdDLENBQUM7Z0JBQ25ELE9BQU87YUFDUjtZQUVELElBQ0UsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUNqQztnQkFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsa0JBQWtCLENBQVEsQ0FBQzthQUN6RTtpQkFBTSxJQUFJLElBQUEsaUJBQVEsRUFBQyxnQkFBZ0IsQ0FBQyxJQUFJLElBQUEsaUJBQVEsRUFBQyxrQkFBa0IsQ0FBQyxFQUFFO2dCQUNyRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxDQUN6QixnQkFBOEIsRUFDOUIsa0JBQWdDLENBQ2pDLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsa0JBQWtCLENBQUM7YUFDdEM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxFQUFFLEVBQU8sQ0FBTSxDQUFDO0FBQ25CLENBQUM7QUFqQ0QsOEJBaUNDIn0= |
{ | ||
"name": "factory-girl-ts", | ||
"version": "2.0.4", | ||
"version": "2.0.5", | ||
"description": "A factory library to help creating test data", | ||
@@ -54,2 +54,3 @@ "main": "lib/index.js", | ||
"@typescript-eslint/parser": "5.59.0", | ||
"eslint": "^8.49.0", | ||
"eslint-config-prettier": "8.8.0", | ||
@@ -61,3 +62,2 @@ "eslint-plugin-eslint-comments": "3.2.0", | ||
"lint-staged": "13.2.2", | ||
"lodash": "4.17.21", | ||
"pg": "8.10.0", | ||
@@ -67,2 +67,3 @@ "pg-hstore": "2.3.4", | ||
"reflect-metadata": "0.1.13", | ||
"rimraf": "^5.0.1", | ||
"sequelize": "6.31.0", | ||
@@ -75,4 +76,5 @@ "type-fest": "3.8.0", | ||
"dependencies": { | ||
"class-transformer": "0.5.1" | ||
"class-transformer": "0.5.1", | ||
"lodash": "4.17.21" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
210428
832
2
24
+ Addedlodash@4.17.21
+ Addedlodash@4.17.21(transitive)