@nxus/data-loader
v2.4.0-10
Published
Data format parsers and loaders for nxus
Downloads
2
Readme
DataLoader
Import file contents as arrays of objects
Installation
npm install @nxus/data-loader --save
Options
All responses accept an options argument, in addition to any parser-specific options you can indicate:
mapping
: object of {field: newField} name mappingsidentityFields
: for importing to models, array of fields to be used for createOrUpdate query
Events
You can modify the records during import with the following specific events:
records.type
: e.g.app.get('data-loader').after('records.csv', (results) => {})
record.type
: e.g.app.get('data-loader).after('record.csv', (one) => {})
models.identity
: e.g.app.get('data-loader').after('models.user', (results) => {})
model.identity
: e.g.app.get('data-loader).after('model.user', (user) => {})
record_ events occur after parsing and name mapping model_ events occur after record events and before models are created/updated.
API
Import file contents as arrays of objects
Installation
npm install @nxus/data-loader --save
Options
All responses accept an options argument, in addition to any parser-specific options you can indicate:
mapping
: object of {field: newField} name mappingsidentityFields
: for importing to models, array of fields to be used for createOrUpdate querytruncate
: for importing to models, true/false for deleting existing collection data before import. Ignored ifidentityFields
is provided.strict
: defaults to true. Only import columns/data that matches the attribute names for the model. Set to false to import everything.
Events
You can modify the records during import with the following specific events:
records.type
: e.g.app.get('data-loader').after('records.csv', (results) => {})
record.type
: e.g.app.get('data-loader).after('record.csv', (one) => {})
models.identity
: e.g.app.get('data-loader').after('models.user', (results) => {})
model.identity
: e.g.app.get('data-loader).after('model.user', (user) => {})
record_ events occur after parsing and name mapping model_ events occur after record events and before models are created/updated.
API
export
Stringify an array of results into JSON. Assumes top-level is array, unless opts.key is provided to wrap results in an object.
Parameters
export
Request formattted output based on type
Parameters
type
string The type (e.g. 'html') of the output contentrecords
[object] The records to exportopts
object Options for the exporter context
Returns Promise String of formatted output
exporter
Provide an exporter for a particular type (file extension)
Parameters
type
string The type (e.g. 'html') this exporter createshandler
function Function to receive (content, options) and return formatted output content
import
Request parsed results based on type
Parameters
type
string The type (e.g. 'html') of the contentcontent
string The contents to parseopts
object Options for the parser context
Returns Promise Array of parsed result objects
importFile
Request parsed results from a file path
Parameters
Returns Promise Array of parsed result objects
importFileToModel
Import file contents to a model
Parameters
model
string The identity of the model to populatefilename
string The filename to read and parseopts
object Options for the parser context
Returns Promise Array of instances
importToModel
Import string contents to a model
Parameters
model
string The identity of the model to populatetype
string The type (e.g. 'html') of the contentcontent
string The contents to parseopts
object Options for the parser context
Returns Promise Array of instances
parser
Provide a parser for a particular type (file extension)
Parameters
type
string The type (e.g. 'html') this renderer should handlehandler
function Function to receive (content, options) and return parsed array of result objects
parse
Parse JSON into an array of results. Assumes top-level is array, unless opts.key is provided to pick a top-level key from parsed object as results.
Parameters