- Fixture
An instance of a single fixture which represents a single database record.
- Model
An instance of a single model which represents an instance of a Fixture, which in turn represents a record in the database.
- Resolver
Fixture resolver for resolving table columns and configured relationships. This supports polymorphism which is configurable via [ZeroOptions].
- Table
An instance of an individual database table.
- Zero
Entry class instance for Factory Zero.
- seed(knex, options) ⇒
Promise
Convenience method that runs Zero.seed() without having to instantiate the Zero module.
- toJson(instance) ⇒
object
Converts a Model instance to a plain object.
- clone(object) ⇒
object
Clones an object, including getters/setters and class prototypes.
- filterKeys(object, predicate) ⇒
object
Filters an object via a predicate over the object's keys.
- filterValues(object, predicate) ⇒
object
Filters an object via a predicate over the object's values.
- ZeroOptions :
object
Factory Zero options schema.
- Loader
- .loadFixtures(options) ⇒
object
- .getFixtureFiles(options) ⇒
Array.<string>
- .mapFixtures(options, files) ⇒
object
- .createFixtureMapping(options, file) ⇒
Array.<(string|object)>
- .importFixture(path, ext) ⇒
Promise
|object
- .loadFixtures(options) ⇒
Loads all fixture files into memory based on configuration defined in Zero's options.
Kind: static method of Loader
Returns: object
- - All fixtures loaded from disk.
Param | Type | Description |
---|---|---|
options | object |
Zero options. |
Retrieves the fixture file names from the configured directory.
Kind: static method of Loader
Returns: Array.<string>
- - Collection of fixture file names.
Param | Type | Description |
---|---|---|
options | object |
Zero options. |
Maps fixture files into an object.
Kind: static method of Loader
Returns: object
- - Mapped fixtures into an object.
Param | Type | Description |
---|---|---|
options | object |
Zero options. |
files | Array.<object> |
Retrieved fixture files. |
Imports an individual fixture file.
Kind: static method of Loader
Returns: Array.<(string|object)>
- - Imported fixture file.
Param | Type | Description |
---|---|---|
options | object |
Zero options. |
file | object |
Individual file to import and name, |
Imports the fixture file via import or require, depending on the type.
Kind: static method of Loader
Returns: Promise
| object
- - Imported/required fixture file.
Param | Type | Description |
---|---|---|
path | string |
Directory path to the fixtures directory. |
ext | string |
Fixture file type extension. |
- SchemaInfo
- .getTablesInfo(db, fixtures) ⇒
Array.<object>
- .queryInfoSchema(db, name) ⇒
Array.<(string|object)>
- .mapColumns(columns) ⇒
Array.<(string|object)>
- .getTablesInfo(db, fixtures) ⇒
Fetches all information schema objects related to all fixture files.
Kind: static method of SchemaInfo
Returns: Array.<object>
- - Information schemas related to all fixture files.
Param | Type | Description |
---|---|---|
db | Knex |
Knex DB instance. |
fixtures | Array.<object> |
All fixtures loaded from files. |
Fetches a single information schema table object.
Kind: static method of SchemaInfo
Returns: Array.<(string|object)>
- - Key/value of the fetched information schema.
Param | Type | Description |
---|---|---|
db | Knex |
Knex DB instance. |
name | stirng |
Information schema table name to fetch. |
Mapping method for converting information schema query results to an array.
Kind: static method of SchemaInfo
Returns: Array.<(string|object)>
- - Key/value of the fetched information schema.
Param | Type | Description |
---|---|---|
columns | object |
Information schema table columns. |
An instance of a single fixture which represents a single database record.
Kind: global class
Param | Type | Description |
---|---|---|
name | string |
Name of the fixture. |
data | object |
Fixture data. |
Resolves all the relations on the fixture.
Kind: instance method of Fixture
Param | Type | Description |
---|---|---|
relationMap | Map.<string, object> |
Collection of all unresolved relations. |
insertMap | Map.<string, object> |
Collection of all insertable fixtures. |
Sets data onto the related columns.
Kind: instance method of Fixture
Param | Type | Description |
---|---|---|
model | Model |
Instance of the current model. |
relations | object |
Collection of relations to resolve. |
insertMap | Map.<string, object> |
Collection of all insertable fixtures. |
An instance of a single model which represents an instance of a Fixture, which in turn represents a record in the database.
Param | Type | Description |
---|---|---|
options | ZeroOptions |
Configuration for Factory Zero. |
table | Table |
Table instance defined for this Model. |
data | object |
Data object to bind to this instance. |
Fixture resolver for resolving table columns and configured relationships. This supports polymorphism which is configurable via [ZeroOptions].
Kind: global class
- Resolver
- new Resolver(options)
- .fixtures() ⇒
Map.<string, object>
- .fixtureTables() ⇒
Array.<Fixture>
- .fixtureModels(table) ⇒
Array.<Fixture>
- .relations(model) ⇒
object
- .applyPolymorphism(model, relations) ⇒
void
Param | Type | Description |
---|---|---|
options | ZeroOptions |
Configuration for Factory Zero. |
Resolves relations and returns a map of all insertable relations.
Kind: instance method of Resolver
Returns: Map.<string, object>
- - All fixtures with relations resolved.
resolver.fixtureTables() ⇒ Array.<Fixture>
Fetches a new instance of Table for each fixture file.
Kind: instance method of Resolver
Returns: Array.<Fixture>
- - Unresolved instances of Fixture.
resolver.fixtureModels(table) ⇒ Array.<Fixture>
Fetches a new instance of Model for each instance of Table.
Kind: instance method of Resolver
Returns: Array.<Fixture>
- - Unresolved instances of Fixture.
Param | Type | Description |
---|---|---|
table | Table |
Table instance to resolve relations against. |
Searches the given fixture model for possible relatable columns.
Kind: instance method of Resolver
Returns: object
- - Collection of relations to resolve later.
Param | Type | Description |
---|---|---|
model | Model |
Model instance to search for relations on. |
Applies polymorphism to columns that can be polymorphically related.
Kind: instance method of Resolver
Param | Type | Description |
---|---|---|
model | Model |
Model instance to search for polymorphic relations on. |
relations | object |
Collection of relations to check for polymorphism on. |
An instance of an individual database table.
Kind: global class
- Table
- new Table(options, tableName, fixture)
- .pk ⇒
object
- .columns ⇒
object
- .fixtures ⇒
Array.<Fixture>
- .configure(model, options) ⇒
object
Param | Type | Description |
---|---|---|
options | ZeroOptions |
Configuration for Factory Zero. |
tableName | string |
Name of the table on this instance. |
fixture | Fixture |
Fixture instance to bind onto this table instance. |
Primary key configuration for this Table.
Kind: instance property of Table
Returns: object
- - Primary key options for this Table.
All columns defined on the database table this instance refers to.
Kind: instance property of Table
Returns: object
- - Database columns.
table.fixtures ⇒ Array.<Fixture>
A collection of Fixture instances relating to this table instance.
Kind: instance property of Table
Returns: Array.<Fixture>
- - Collection of Fixture instances.
Creates an options object with default values.
Kind: instance method of Table
Returns: object
- - Defaulted options.
Param | Type | Description |
---|---|---|
model | Model |
Model instance to build the options against. |
options | ZeroOptions |
Configuration for Factory Zero. |
Entry class instance for Factory Zero.
Kind: global class
- Zero
- new Zero(connection, options)
- .seed() ⇒
Promise
- .setup() ⇒
void
- .clear() ⇒
Promise
- .insert(fixtures) ⇒
Promise
- .fixtures() ⇒
Map.<string, object>
- .createKnex(kx) ⇒
Knex
- .isKnex(kx) ⇒
boolean
Param | Type | Description |
---|---|---|
connection | object | Knex |
Database connection options for this Knex instance. |
options | ZeroOptions |
Configuration for Factory Zero. |
Seeding method that runs all the necessary queries to seed all available fixtures into the configured database.
Kind: instance method of Zero
Returns: Promise
- - A chained Promise instance of all queries on this instance.
Sets up Factory Zero for seeding by loading fixtures and fetching schema information via information_schema.
Kind: instance method of Zero
Clears data from all tables found in the fixtures directory.
Kind: instance method of Zero
Returns: Promise
- - A collection of all DELETE queries.
Insert all fixtures into the configured database with all fixtures found in the fixtures directory.
Kind: instance method of Zero
Returns: Promise
- - A collection of all INSERT queries.
Param | Type | Description |
---|---|---|
fixtures | Map.<string, object> |
All fixtures to insert into the database. |
Fetches all fixtures with all relations resolved via lib/Resolver.
Kind: instance method of Zero
Returns: Map.<string, object>
- - A collection of all fixtures ready to insert.
Creates an individual Knex database instance.
Kind: instance method of Zero
Returns: Knex
- - Knex database instance.
Param | Type | Description |
---|---|---|
kx | object | Knex |
Knex connection instance. |
Checks if [kx] is an instance of Knex.
Kind: instance method of Zero
Returns: boolean
- - Is [kx] an instance of Knex?
Param | Type | Description |
---|---|---|
kx | any |
Any value that might be an instance of Knex. |
Convenience method that runs Zero.seed() without having to instantiate the Zero module.
Kind: global function
Returns: Promise
- - Resolved query.
Param | Type | Description |
---|---|---|
knex | Knex | object |
Knex instance or a knex connection object. |
options | ZeroOptions |
Factory Zero options. |
Converts a Model instance to a plain object.
Kind: global function
Returns: object
- - Plain object of the given Model instance.
Param | Type | Description |
---|---|---|
instance | Model |
Instance of a Model. |
Clones an object, including getters/setters and class prototypes.
Kind: global function
Returns: object
- - Cloned object.
Param | Type | Description |
---|---|---|
object | object |
Data object to clone. |
Filters an object via a predicate over the object's keys.
Kind: global function
Returns: object
- - Filtered object.
Param | Type | Description |
---|---|---|
object | object |
Object data to filter over. |
predicate | function |
Test function. |
Filters an object via a predicate over the object's values.
Kind: global function
Returns: object
- - Filtered object.
Param | Type | Description |
---|---|---|
object | object |
Object data to filter over. |
predicate | function |
Test function. |
Factory Zero options schema.
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
extensions | Array.<string> |
Fixture file extensions to search for. |
snaked | boolean |
Should file names be serialised in snake case? |
pk | string | object |
Default primary key for all models. |
[col] | string |
Primary key column name. |
[type] | string |
Primary key column type. |
directory | string |
Path to fixture files. |
keys | object |
Configurable keys for storing options relating to this program. |
keys.model | string |
Key to use for model options within the fixtures. |
suffixes | object |
Polymorphic column suffixes. |
suffixes.type | string |
Suffix used for the polymorphic type column. |
suffixes.id | string |
Suffix used for the polymorphic id column. |