or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

index.md
tile.json

tessl/npm-slate-schema-violations

A set of constants for the built-in violations in a Slate schema.

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
npmpkg:npm/slate-schema-violations@0.1.x

To install, run

npx @tessl/cli install tessl/npm-slate-schema-violations@0.1.0

index.mddocs/

Slate Schema Violations

Slate Schema Violations provides a comprehensive set of named string constants for schema validation violations in the Slate rich text editor framework. These constants represent different types of validation errors that can occur when validating document structure against a Slate schema.

Package Information

  • Package Name: slate-schema-violations
  • Package Type: npm
  • Language: JavaScript
  • Installation: npm install slate-schema-violations

Core Imports

import { 
  CHILD_REQUIRED, 
  NODE_TYPE_INVALID, 
  PARENT_OBJECT_INVALID 
} from "slate-schema-violations";

For importing all constants:

import * as violations from "slate-schema-violations";

CommonJS:

const { 
  CHILD_REQUIRED, 
  NODE_TYPE_INVALID, 
  PARENT_OBJECT_INVALID 
} = require("slate-schema-violations");

Basic Usage

import { CHILD_REQUIRED, NODE_TYPE_INVALID } from "slate-schema-violations";

// Use in schema validation logic
function validateNode(node, schema) {
  if (!node.type) {
    throw new Error(NODE_TYPE_INVALID);
  }
  
  if (schema.children && !node.children) {
    throw new Error(CHILD_REQUIRED);
  }
  
  // Additional validation logic...
}

// Use in error handling
function handleValidationError(error) {
  switch (error.code) {
    case CHILD_REQUIRED:
      return "Required child node is missing";
    case NODE_TYPE_INVALID:
      return "Node type is invalid";
    default:
      return "Unknown validation error";
  }
}

Capabilities

Child Node Validation Constants

Constants for validating child node relationships and structure.

const CHILD_OBJECT_INVALID = 'child_object_invalid';
const CHILD_REQUIRED = 'child_required';
const CHILD_TYPE_INVALID = 'child_type_invalid';
const CHILD_UNKNOWN = 'child_unknown';
  • CHILD_OBJECT_INVALID: Child object structure is invalid
  • CHILD_REQUIRED: Required child node is missing
  • CHILD_TYPE_INVALID: Child node type is invalid
  • CHILD_UNKNOWN: Unknown/unexpected child node

First/Last Child Validation Constants

Constants for validating specific positional child nodes.

const FIRST_CHILD_OBJECT_INVALID = 'first_child_object_invalid';
const FIRST_CHILD_TYPE_INVALID = 'first_child_type_invalid';
const LAST_CHILD_OBJECT_INVALID = 'last_child_object_invalid';
const LAST_CHILD_TYPE_INVALID = 'last_child_type_invalid';
  • FIRST_CHILD_OBJECT_INVALID: First child object structure is invalid
  • FIRST_CHILD_TYPE_INVALID: First child node type is invalid
  • LAST_CHILD_OBJECT_INVALID: Last child object structure is invalid
  • LAST_CHILD_TYPE_INVALID: Last child node type is invalid

Sibling Node Validation Constants

Constants for validating sibling node relationships.

const NEXT_SIBLING_OBJECT_INVALID = 'next_sibling_object_invalid';
const NEXT_SIBLING_TYPE_INVALID = 'next_sibling_type_invalid';
const PREVIOUS_SIBLING_OBJECT_INVALID = 'previous_sibling_object_invalid';
const PREVIOUS_SIBLING_TYPE_INVALID = 'previous_sibling_type_invalid';
  • NEXT_SIBLING_OBJECT_INVALID: Next sibling object structure is invalid
  • NEXT_SIBLING_TYPE_INVALID: Next sibling node type is invalid
  • PREVIOUS_SIBLING_OBJECT_INVALID: Previous sibling object structure is invalid
  • PREVIOUS_SIBLING_TYPE_INVALID: Previous sibling node type is invalid

Node Property Validation Constants

Constants for validating individual node properties and structure.

const NODE_DATA_INVALID = 'node_data_invalid';
const NODE_IS_VOID_INVALID = 'node_is_void_invalid';
const NODE_MARK_INVALID = 'node_mark_invalid';
const NODE_OBJECT_INVALID = 'node_object_invalid';
const NODE_TEXT_INVALID = 'node_text_invalid';
const NODE_TYPE_INVALID = 'node_type_invalid';
  • NODE_DATA_INVALID: Node data property is invalid
  • NODE_IS_VOID_INVALID: Node void property is invalid
  • NODE_MARK_INVALID: Node mark property is invalid
  • NODE_OBJECT_INVALID: Node object structure is invalid
  • NODE_TEXT_INVALID: Node text property is invalid
  • NODE_TYPE_INVALID: Node type property is invalid

Parent Node Validation Constants

Constants for validating parent-child relationships.

const PARENT_OBJECT_INVALID = 'parent_object_invalid';
const PARENT_TYPE_INVALID = 'parent_type_invalid';
  • PARENT_OBJECT_INVALID: Parent object structure is invalid
  • PARENT_TYPE_INVALID: Parent node type is invalid

All Available Constants

Complete list of all exported constants:

// Child validation
export const CHILD_OBJECT_INVALID = 'child_object_invalid';
export const CHILD_REQUIRED = 'child_required';
export const CHILD_TYPE_INVALID = 'child_type_invalid';
export const CHILD_UNKNOWN = 'child_unknown';

// First/Last child validation
export const FIRST_CHILD_OBJECT_INVALID = 'first_child_object_invalid';
export const FIRST_CHILD_TYPE_INVALID = 'first_child_type_invalid';
export const LAST_CHILD_OBJECT_INVALID = 'last_child_object_invalid';
export const LAST_CHILD_TYPE_INVALID = 'last_child_type_invalid';

// Sibling validation
export const NEXT_SIBLING_OBJECT_INVALID = 'next_sibling_object_invalid';
export const NEXT_SIBLING_TYPE_INVALID = 'next_sibling_type_invalid';
export const PREVIOUS_SIBLING_OBJECT_INVALID = 'previous_sibling_object_invalid';
export const PREVIOUS_SIBLING_TYPE_INVALID = 'previous_sibling_type_invalid';

// Node property validation
export const NODE_DATA_INVALID = 'node_data_invalid';
export const NODE_IS_VOID_INVALID = 'node_is_void_invalid';
export const NODE_MARK_INVALID = 'node_mark_invalid';
export const NODE_OBJECT_INVALID = 'node_object_invalid';
export const NODE_TEXT_INVALID = 'node_text_invalid';
export const NODE_TYPE_INVALID = 'node_type_invalid';

// Parent validation
export const PARENT_OBJECT_INVALID = 'parent_object_invalid';
export const PARENT_TYPE_INVALID = 'parent_type_invalid';