@massiveinfinity/contentschema
v0.0.0-alpha.5
Published
Install the package by running
Downloads
82
Readme
Getting Started
Install the package by running
yarn add @massiveinfinity/contentschema
or if you are using npm:
npm install --save @massiveinfinity/contentschema
Usage
import { helpers } from "@massiveinfinity/contentschema";
const v1Schema = {
schemaVersion: 1,
blocks: [...]
};
const v2Schema = helpers.migrate.v1ToV2(v1Schema);
console.log(v2Schema); // { schemaVersion: 2, blocks: [...] }
alternatively, you can import everything from the module into a module object:
import * as contentSchema from "@massiveinfinity/contentschema";
const v1Schema = {
schemaVersion: 1,
blocks: [...]
};
const v2Schema = contentSchema.helpers.migrate.v1ToV2(v1Schema);
console.log(v2Schema); // { schemaVersion: 2, blocks: [...] }
API
constants
BLOCK_TYPE
V1_BLOCK_TYPE
constants.BLOCK_TYPE.V1_BLOCK_TYPE
constants
Block types in schema version 1.
| Constants | Description | |---------------|---------------| | SECTION | | | DISCUSSION | | | FEEDBACK | | | BUBBLE | | | OPEN | |
V2_BLOCK_TYPE
constants.BLOCK_TYPE.V2_BLOCK_TYPE
constants
Block types in schema version 2.
| Constants | Description | |---------------|---------------| | SECTION | | | SECTION_TITLE | | | SECTION_DESCRIPTION | | | SECTION_CONTENT | | | DISCUSSION | | | DISCUSSION_TITLE | COMMENT_SECTION|| | COMMENT|| | FEEDBACK|| | FEEDBACK_TITLE|| | FEEDBACK_DESCRIPTION|| | RADIO_GROUP|| | RADIO|| | RADIO_TITLE|| | RADIO_DESCRIPTION||
V1
BLOCK_TYPE
constants.V1.BLOCK_TYPE
constants
Similar to constants.BLOCK_TYPE.V1_BLOCK_TYPE
.
V2
BLOCK_TYPE
constants.V2.BLOCK_TYPE
constants
Similar to constants.BLOCK_TYPE.V2_BLOCK_TYPE
.
VERSION
constants.VERSION
constants
All schema version numbers.
| Constants | Description | |---------------|---------------| | 1 | Version 1 | | 2 | Version 2 | | LATEST | Latest schema version available |
helpers
genId
helpers.genId()
function
Used to generate ID for content block.
signature (blockType: BLOCK_TYPE, depth: number, index: number) => ID: string
migrate
v1ToV2
helpers.migrate.v1ToV2()
function
Used to convert version 1 content schema to version 2 content schema. Returns version 2 content schema.
signature (v1ContentSchema: contentSchema) => v2ContentSchema: contentSchema