New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

factory-girl-ts

Package Overview
Dependencies
Maintainers
1
Versions
29
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

factory-girl-ts - npm Package Compare versions

Comparing version 1.0.8 to 1.0.9

3

lib/factory-girl.d.ts

@@ -8,4 +8,7 @@ import { ModelAdapter } from './adapters/adapter.interface';

static adapter: ModelAdapter<unknown, unknown>;
static sequences: Map<string, number>;
static sequence<T>(id: string, callback: (seq: number) => T): T;
static setAdapter(adapter: ModelAdapter<unknown, unknown>): void;
static define<ModelOrInterface, Parameters extends Dictionary = Dictionary, Attributes extends Dictionary = Dictionary, ReturnType extends InstanceOrInterface<ModelOrInterface> = InstanceOrInterface<ModelOrInterface>>(model: ModelOrInterface, defaultAttributesFactory: DefaultAttributesFactory<Attributes, Parameters>): Factory<ModelOrInterface, Attributes, Parameters, ReturnType>;
static cleanUp(): void;
}

@@ -8,2 +8,11 @@ "use strict";

static adapter = new object_adapter_1.ObjectAdapter();
static sequences = new Map();
static sequence(id, callback) {
let seq = FactoryGirl.sequences.get(id);
if (seq === undefined)
seq = 0;
seq++;
FactoryGirl.sequences.set(id, seq);
return callback(seq);
}
static setAdapter(adapter) {

@@ -15,4 +24,7 @@ this.adapter = adapter;

}
static cleanUp() {
FactoryGirl.sequences.clear();
}
}
exports.FactoryGirl = FactoryGirl;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS1naXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnktZ2lybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4REFBMEQ7QUFDMUQsdUNBQW9DO0FBS3BDLE1BQWEsV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTyxHQUFtQyxJQUFJLDhCQUFhLEVBQUUsQ0FBQztJQUVyRSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQXVDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQU1YLEtBQXVCLEVBQ3ZCLHdCQUEwRTtRQUUxRSxPQUFPLElBQUksaUJBQU8sQ0FDaEIsd0JBQXdCLEVBQ3hCLEtBQUssRUFDTCxJQUFJLENBQUMsT0FBcUQsQ0FDM0QsQ0FBQztJQUNKLENBQUM7O0FBckJVLGtDQUFXIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS1naXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnktZ2lybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4REFBMEQ7QUFDMUQsdUNBQW9DO0FBS3BDLE1BQWEsV0FBVztJQUN0QixNQUFNLENBQUMsT0FBTyxHQUFtQyxJQUFJLDhCQUFhLEVBQUUsQ0FBQztJQUVyRSxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0lBRTdDLE1BQU0sQ0FBQyxRQUFRLENBQUksRUFBVSxFQUFFLFFBQTRCO1FBQ3pELElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksR0FBRyxLQUFLLFNBQVM7WUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLEdBQUcsRUFBRSxDQUFDO1FBQ04sV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQXVDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBTSxDQU1YLEtBQXVCLEVBQ3ZCLHdCQUEwRTtRQUUxRSxPQUFPLElBQUksaUJBQU8sQ0FDaEIsd0JBQXdCLEVBQ3hCLEtBQUssRUFDTCxJQUFJLENBQUMsT0FBcUQsQ0FDM0QsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTztRQUNaLFdBQVcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7QUFuQ1Usa0NBQVcifQ==

2

lib/factory.d.ts

@@ -15,3 +15,3 @@ import type { PartialDeep } from 'type-fest';

createMany(count: number, partials?: PartialDeep<Attributes>[] | PartialDeep<Attributes>, additionalParams?: Params): Promise<ReturnType[]>;
build(override?: PartialDeep<Attributes>, additionalParams?: Params): ReturnType;
build(override?: PartialDeep<Attributes>, additionalParams?: Params, shouldResolveAttributes?: boolean): ReturnType;
buildMany(count: number, partials?: PartialDeep<Attributes>[] | PartialDeep<Attributes>, additionalParams?: Params): ReturnType[];

@@ -18,0 +18,0 @@ extend<ExtendedParams extends Params = Params>(newDefaultAttributesFactory: DefaultAttributesFactory<Attributes, ExtendedParams>): Factory<Model, Attributes, ExtendedParams, ReturnType>;

@@ -23,3 +23,3 @@ "use strict";

const finalAttributes = (0, lodash_1.merge)(defaultAttributesWithAssociations, override);
const built = this.build(finalAttributes, additionalParams);
const built = this.build(finalAttributes, additionalParams, false);
const createdModel = await this.adapter.save(built, this.model);

@@ -32,5 +32,8 @@ return await this.resolveHooks(createdModel);

}
build(override, additionalParams) {
const attributesWithAssociations = this.resolveAssociations(additionalParams);
const mergedAttributes = (0, lodash_1.merge)(attributesWithAssociations, override);
build(override, additionalParams, shouldResolveAttributes = true) {
let mergedAttributes = override;
if (shouldResolveAttributes) {
const attributesWithAssociations = this.resolveAssociations(additionalParams);
mergedAttributes = (0, lodash_1.merge)(attributesWithAssociations, override);
}
const finalResult = this.adapter.build(this.model, mergedAttributes);

@@ -98,2 +101,2 @@ return finalResult;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFzQztBQUd0QywrQ0FBNEM7QUFTNUMsTUFBYSxPQUFPO0lBT0M7SUFJQTtJQUNBO0lBQ0E7SUFQbkIsWUFDbUIsd0JBR2hCLEVBQ2dCLEtBQVksRUFDWixPQUF3QyxFQUN4QyxtQkFBa0QsRUFBRTtRQU5wRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBR3hDO1FBQ2dCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFpQztRQUN4QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9DO0lBQ3BFLENBQUM7SUFFSixTQUFTLENBQ1AsR0FBbUI7UUFFbkIsT0FBTyxJQUFJLHlCQUFXLENBQ3BCLElBQUksRUFDSixJQUFJLENBQUMsT0FBTyxFQUNaLEdBQUcsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQ1YsUUFBa0MsRUFDbEMsZ0JBQXlCO1FBRXpCLE1BQU0saUNBQWlDLEdBQ3JDLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFeEQsTUFBTSxlQUFlLEdBQUcsSUFBQSxjQUFLLEVBQUMsaUNBQWlDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUM1RCxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsT0FBTyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQ2QsS0FBYSxFQUNiLFFBQThELEVBQzlE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
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFzQztBQUd0QywrQ0FBNEM7QUFTNUMsTUFBYSxPQUFPO0lBT0M7SUFJQTtJQUNBO0lBQ0E7SUFQbkIsWUFDbUIsd0JBR2hCLEVBQ2dCLEtBQVksRUFDWixPQUF3QyxFQUN4QyxtQkFBa0QsRUFBRTtRQU5wRCw2QkFBd0IsR0FBeEIsd0JBQXdCLENBR3hDO1FBQ2dCLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFpQztRQUN4QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW9DO0lBQ3BFLENBQUM7SUFFSixTQUFTLENBQ1AsR0FBbUI7UUFFbkIsT0FBTyxJQUFJLHlCQUFXLENBQ3BCLElBQUksRUFDSixJQUFJLENBQUMsT0FBTyxFQUNaLEdBQUcsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQ1YsUUFBa0MsRUFDbEMsZ0JBQXlCO1FBRXpCLE1BQU0saUNBQWlDLEdBQ3JDLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFeEQsTUFBTSxlQUFlLEdBQUcsSUFBQSxjQUFLLEVBQUMsaUNBQWlDLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0UsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUNkLEtBQWEsRUFDYixR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
{
"name": "factory-girl-ts",
"version": "1.0.8",
"version": "1.0.9",
"description": "A factory library to help creating test data",

@@ -5,0 +5,0 @@ "main": "lib/index.js",

@@ -85,2 +85,41 @@ [![Tests](https://github.com/thiagomini/factory-girl-ts/actions/workflows/node.js.yml/badge.svg)](https://github.com/thiagomini/factory-girl-ts/actions/workflows/node.js.yml)

#### Sequences
Instead of providing a hardcoded value, we can tell `factory-girl-ts` to instead use a sequence.
The first parameter is an unique id. It can be used for sharing sequence across multiple factories.
The second parameter is a callback that give you an integer auto-incremented that you can use for construct your value.
```ts
import { User } from './models/user';
import { FactoryGirl, SequelizeAdapter } from 'factory-girl-ts';
// Step 1: Specify the adapter for your ORM.
FactoryGirl.setAdapter(new SequelizeAdapter());
// Step 2: Define your factory with default attributes for the model.
const defaultAttributesFactory = () => ({
name: 'John',
email: FactoryGirl.sequence<string>(
'user.email',
(n: number) => `some-email-${n}@mail.com`,
),
address: {
state: 'Some state',
country: 'Some country',
},
});
const userFactory = FactoryGirl.define(User, defaultAttributesFactory);
// Step 3: Use the factory to create instances of the model.
const defaultUser = userFactory.build();
console.log(defaultUser);
// Output: { name: 'John', email: 'some-email-1@mail.com', state: 'Some state', country: 'Some country' }
const defaultUser2 = userFactory.build();
console.log(defaultUser2);
// Output: { name: 'John', email: 'some-email-2@mail.com', state: 'Some state', country: 'Some country' }
const defaultUser3 = userFactory.build();
console.log(defaultUser3);
// Output: { name: 'John', email: 'some-email-3@mail.com', state: 'Some state', country: 'Some country' }
```
### Overriding Default Properties

@@ -87,0 +126,0 @@

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc