Registry / database / jsonapi-model-formatter

jsonapi-model-formatter

JSON →
library0.1.14jsnpmunverified

jsonapi-model-formatter v0.1.14 is a small utility that formats dovima models into JSON API-compliant JSON. It acts as a middleware formatter for the dovima ORM, so that calling toJSON on a model returns a JSON API resource object. The package is in early stages, with sporadic releases, and is tightly coupled to the dovima ecosystem. It supports both ES6 import and ES5 require. Compared to general JSON API serializers like jsonapi-serializer, this is specialized for dovima and not actively maintained beyond 0.1.x.

npm install jsonapi-model-formatter
INSTALL
IMPORT
SIG · JSONAPI-MODEL-FORM
J
jsonapi-model-formatter
databasejavascriptv0.1.14
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import JsonApiModelFormatter from 'jsonapi-model-formatter'
import { JsonApiModelFormatter } from 'jsonapi-model-formatter'
Package exports a single default export. Named import in ES6 will result in undefined.
default
const JsonApiModelFormatter = require('jsonapi-model-formatter')
const { JsonApiModelFormatter } = require('jsonapi-model-formatter')
CommonJS require returns the default export as a single value, not an object with a property.
default
define(['require'], function (require) { var JsonApiModelFormatter = require('jsonapi-model-formatter'); });
define(['jsonapi-model-formatter'], function (JsonApiModelFormatter) { ... });
With Require.js, you need to use the require plugin style; direct named AMD dependency is not supported.

Shows how to import, assign to dovima Model, and use toJSON to get JSON API formatted output.

// Install: npm install jsonapi-model-formatter dovima import JsonApiModelFormatter from 'jsonapi-model-formatter'; import Model from 'dovima'; // Assign formatter to Model Model.jsonFormatter = JsonApiModelFormatter; // Now, when you call toJSON on a dovima model instance, you get JSON API compliant output const user = new Model({ id: 1, name: 'John' }); const json = user.toJSON(); // json will be something like: // { // data: { // id: '1', // type: 'users', // attributes: { name: 'John' } // } // } console.log(JSON.stringify(json, null, 2));
Debug
Known issues
deprecatedThe package relies on dovima, which appears unmaintained (last commit 2016). This formatter may not work with newer versions or other ORMs.
fix
Consider using a standalone JSON API serializer like jsonapi-serializer or fast-jsonapi.
affects: >=0.1.0
gotchaImport must use default import, not named import. Using named import results in undefined.
fix
Use import JsonApiModelFormatter from 'jsonapi-model-formatter'; instead of import { JsonApiModelFormatter } from 'jsonapi-model-formatter';
affects: >=0.1.0
gotchaThe package is designed exclusively for dovima models. Attempting to use it with other ORMs or plain objects will not work.
fix
Only use this formatter with dovima Model instances.
affects: >=0.1.0
deprecatedNode.js versions tested: 0.10.x, 0.11.x, 0.12.x, iojs 1.x, 2.x. These are extremely old; package may fail on modern Node.js (>=10).
fix
Use a more recent JSON API serialization library, or test compatibility on your Node version.
affects: >=0.1.0
Errors
Common errors & fixes
TypeError: JsonApiModelFormatter is not a constructor
Using named import instead of default import, e.g., import { JsonApiModelFormatter } from 'jsonapi-model-formatter'.
fix
Change to import JsonApiModelFormatter from 'jsonapi-model-formatter';
TypeError: Model.jsonFormatter is not a function
JsonApiModelFormatter is assigned but may not be a function or is undefined due to incorrect import.
fix
Ensure import is default import and that the package is installed properly.
Upgrade
Version history
0.1.14latest on npm
Audit
Dependencies
dovimarequiredThis formatter is designed to work specifically with dovima models.
Agent activity
6 hits · last 30 days
node
4
Amazon
1
Resources
jsonapi-model-formatter — npm install jsonapi-model-formatter · libregistry