mirror of
https://github.com/ianstormtaylor/slate.git
synced 2025-08-19 05:31:56 +02:00
fix linting
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
"import/no-named-as-default": "error",
|
||||
"import/no-named-as-default-member": "error",
|
||||
"import/no-unresolved": "error",
|
||||
"indent": ["error", 2],
|
||||
"indent": ["error", 2, { "SwitchCase": 1, "MemberExpression": 1 }],
|
||||
"key-spacing": ["error", { "beforeColon": false, "afterColon": true }],
|
||||
"lines-around-comment": ["error", { "beforeBlockComment": true, "afterBlockComment": true }],
|
||||
"new-parens": "error",
|
||||
|
@@ -50,17 +50,17 @@ class AutoMarkdown extends React.Component {
|
||||
|
||||
getType = (chars) => {
|
||||
switch (chars) {
|
||||
case '*':
|
||||
case '-':
|
||||
case '+': return 'list-item'
|
||||
case '>': return 'block-quote'
|
||||
case '#': return 'heading-one'
|
||||
case '##': return 'heading-two'
|
||||
case '###': return 'heading-three'
|
||||
case '####': return 'heading-four'
|
||||
case '#####': return 'heading-five'
|
||||
case '######': return 'heading-six'
|
||||
default: return null
|
||||
case '*':
|
||||
case '-':
|
||||
case '+': return 'list-item'
|
||||
case '>': return 'block-quote'
|
||||
case '#': return 'heading-one'
|
||||
case '##': return 'heading-two'
|
||||
case '###': return 'heading-three'
|
||||
case '####': return 'heading-four'
|
||||
case '#####': return 'heading-five'
|
||||
case '######': return 'heading-six'
|
||||
default: return null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -105,9 +105,9 @@ class AutoMarkdown extends React.Component {
|
||||
|
||||
onKeyDown = (e, data, state) => {
|
||||
switch (data.key) {
|
||||
case 'space': return this.onSpace(e, state)
|
||||
case 'backspace': return this.onBackspace(e, state)
|
||||
case 'enter': return this.onEnter(e, state)
|
||||
case 'space': return this.onSpace(e, state)
|
||||
case 'backspace': return this.onBackspace(e, state)
|
||||
case 'enter': return this.onEnter(e, state)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -109,20 +109,20 @@ class RichText extends React.Component {
|
||||
let mark
|
||||
|
||||
switch (data.key) {
|
||||
case 'b':
|
||||
mark = 'bold'
|
||||
break
|
||||
case 'i':
|
||||
mark = 'italic'
|
||||
break
|
||||
case 'u':
|
||||
mark = 'underlined'
|
||||
break
|
||||
case '`':
|
||||
mark = 'code'
|
||||
break
|
||||
default:
|
||||
return
|
||||
case 'b':
|
||||
mark = 'bold'
|
||||
break
|
||||
case 'i':
|
||||
mark = 'italic'
|
||||
break
|
||||
case 'u':
|
||||
mark = 'underlined'
|
||||
break
|
||||
case '`':
|
||||
mark = 'code'
|
||||
break
|
||||
default:
|
||||
return
|
||||
}
|
||||
|
||||
state = state
|
||||
|
@@ -1,10 +1,7 @@
|
||||
|
||||
import { Editor, Mark, Raw } from '../..'
|
||||
import { Editor, Raw } from '../..'
|
||||
import React from 'react'
|
||||
import ReactDOM from 'react-dom'
|
||||
import initialState from './state.json'
|
||||
import isUrl from 'is-url'
|
||||
import { Map } from 'immutable'
|
||||
|
||||
/**
|
||||
* Define a schema.
|
||||
|
@@ -104,14 +104,14 @@ class Iframes extends React.Component {
|
||||
let mark
|
||||
|
||||
switch (data.key) {
|
||||
case 'b':
|
||||
mark = 'bold'
|
||||
break
|
||||
case 'i':
|
||||
mark = 'italic'
|
||||
break
|
||||
default:
|
||||
return
|
||||
case 'b':
|
||||
mark = 'bold'
|
||||
break
|
||||
case 'i':
|
||||
mark = 'italic'
|
||||
break
|
||||
default:
|
||||
return
|
||||
}
|
||||
|
||||
state = state
|
||||
|
@@ -160,8 +160,8 @@ class Images extends React.Component {
|
||||
|
||||
onDrop = (e, data, state, editor) => {
|
||||
switch (data.type) {
|
||||
case 'files': return this.onDropOrPasteFiles(e, data, state, editor)
|
||||
case 'node': return this.onDropNode(e, data, state)
|
||||
case 'files': return this.onDropOrPasteFiles(e, data, state, editor)
|
||||
case 'node': return this.onDropNode(e, data, state)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ class Images extends React.Component {
|
||||
onDropOrPasteFiles = (e, data, state, editor) => {
|
||||
for (const file of data.files) {
|
||||
const reader = new FileReader()
|
||||
const [ type, ext ] = file.type.split('/')
|
||||
const [ type ] = file.type.split('/')
|
||||
if (type != 'image') continue
|
||||
|
||||
reader.addEventListener('load', () => {
|
||||
@@ -222,8 +222,8 @@ class Images extends React.Component {
|
||||
|
||||
onPaste = (e, data, state, editor) => {
|
||||
switch (data.type) {
|
||||
case 'files': return this.onDropOrPasteFiles(e, data, state, editor)
|
||||
case 'text': return this.onPasteText(e, data, state)
|
||||
case 'files': return this.onDropOrPasteFiles(e, data, state, editor)
|
||||
case 'text': return this.onPasteText(e, data, state)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -109,20 +109,20 @@ class RichText extends React.Component {
|
||||
let mark
|
||||
|
||||
switch (data.key) {
|
||||
case 'b':
|
||||
mark = 'bold'
|
||||
break
|
||||
case 'i':
|
||||
mark = 'italic'
|
||||
break
|
||||
case 'u':
|
||||
mark = 'underlined'
|
||||
break
|
||||
case '`':
|
||||
mark = 'code'
|
||||
break
|
||||
default:
|
||||
return
|
||||
case 'b':
|
||||
mark = 'bold'
|
||||
break
|
||||
case 'i':
|
||||
mark = 'italic'
|
||||
break
|
||||
case 'u':
|
||||
mark = 'underlined'
|
||||
break
|
||||
case '`':
|
||||
mark = 'code'
|
||||
break
|
||||
default:
|
||||
return
|
||||
}
|
||||
|
||||
state = state
|
||||
|
@@ -115,9 +115,9 @@ class Tables extends React.Component {
|
||||
|
||||
if (state.startBlock.type != 'table-cell') return
|
||||
switch (data.key) {
|
||||
case 'backspace': return this.onBackspace(e, state)
|
||||
case 'delete': return this.onDelete(e, state)
|
||||
case 'enter': return this.onEnter(e, state)
|
||||
case 'backspace': return this.onBackspace(e, state)
|
||||
case 'delete': return this.onDelete(e, state)
|
||||
case 'enter': return this.onEnter(e, state)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -226,12 +226,12 @@ function normalizeMarkComponent(render) {
|
||||
if (isReactComponent(render)) return render
|
||||
|
||||
switch (typeOf(render)) {
|
||||
case 'function':
|
||||
return render
|
||||
case 'object':
|
||||
return props => <span style={render}>{props.children}</span>
|
||||
case 'string':
|
||||
return props => <span className={render}>{props.children}</span>
|
||||
case 'function':
|
||||
return render
|
||||
case 'object':
|
||||
return props => <span style={render}>{props.children}</span>
|
||||
case 'string':
|
||||
return props => <span className={render}>{props.children}</span>
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -262,11 +262,11 @@ function Plugin(options = {}) {
|
||||
debug('onDrop', { data })
|
||||
|
||||
switch (data.type) {
|
||||
case 'text':
|
||||
case 'html':
|
||||
return onDropText(e, data, state)
|
||||
case 'fragment':
|
||||
return onDropFragment(e, data, state)
|
||||
case 'text':
|
||||
case 'html':
|
||||
return onDropText(e, data, state)
|
||||
case 'fragment':
|
||||
return onDropFragment(e, data, state)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,14 +347,14 @@ function Plugin(options = {}) {
|
||||
debug('onKeyDown', { data })
|
||||
|
||||
switch (data.key) {
|
||||
case 'enter': return onKeyDownEnter(e, data, state)
|
||||
case 'backspace': return onKeyDownBackspace(e, data, state)
|
||||
case 'delete': return onKeyDownDelete(e, data, state)
|
||||
case 'left': return onKeyDownLeft(e, data, state)
|
||||
case 'right': return onKeyDownRight(e, data, state)
|
||||
case 'y': return onKeyDownY(e, data, state)
|
||||
case 'z': return onKeyDownZ(e, data, state)
|
||||
case 'k': return onKeyDownK(e, data, state)
|
||||
case 'enter': return onKeyDownEnter(e, data, state)
|
||||
case 'backspace': return onKeyDownBackspace(e, data, state)
|
||||
case 'delete': return onKeyDownDelete(e, data, state)
|
||||
case 'left': return onKeyDownLeft(e, data, state)
|
||||
case 'right': return onKeyDownRight(e, data, state)
|
||||
case 'y': return onKeyDownY(e, data, state)
|
||||
case 'z': return onKeyDownZ(e, data, state)
|
||||
case 'k': return onKeyDownK(e, data, state)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -626,11 +626,11 @@ function Plugin(options = {}) {
|
||||
debug('onPaste', { data })
|
||||
|
||||
switch (data.type) {
|
||||
case 'fragment':
|
||||
return onPasteFragment(e, data, state)
|
||||
case 'text':
|
||||
case 'html':
|
||||
return onPasteText(e, data, state)
|
||||
case 'fragment':
|
||||
return onPasteFragment(e, data, state)
|
||||
case 'text':
|
||||
case 'html':
|
||||
return onPasteText(e, data, state)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -130,17 +130,17 @@ class Html {
|
||||
elements.forEach((element) => {
|
||||
const node = this.deserializeElement(element)
|
||||
switch (typeOf(node)) {
|
||||
case 'array':
|
||||
nodes = nodes.concat(node)
|
||||
break
|
||||
case 'object':
|
||||
nodes.push(node)
|
||||
break
|
||||
case 'null':
|
||||
case 'undefined':
|
||||
return
|
||||
default:
|
||||
throw new Error(`A rule returned an invalid deserialized representation: "${node}".`)
|
||||
case 'array':
|
||||
nodes = nodes.concat(node)
|
||||
break
|
||||
case 'object':
|
||||
nodes.push(node)
|
||||
break
|
||||
case 'null':
|
||||
case 'undefined':
|
||||
return
|
||||
default:
|
||||
throw new Error(`A rule returned an invalid deserialized representation: "${node}".`)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -159,15 +159,15 @@ class Html {
|
||||
|
||||
const next = (elements) => {
|
||||
switch (typeOf(elements)) {
|
||||
case 'array':
|
||||
return this.deserializeElements(elements)
|
||||
case 'object':
|
||||
return this.deserializeElement(elements)
|
||||
case 'null':
|
||||
case 'undefined':
|
||||
return
|
||||
default:
|
||||
throw new Error(`The \`next\` argument was called with invalid children: "${elements}".`)
|
||||
case 'array':
|
||||
return this.deserializeElements(elements)
|
||||
case 'object':
|
||||
return this.deserializeElement(elements)
|
||||
case 'null':
|
||||
case 'undefined':
|
||||
return
|
||||
default:
|
||||
throw new Error(`The \`next\` argument was called with invalid children: "${elements}".`)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -111,13 +111,13 @@ const Raw = {
|
||||
|
||||
deserializeNode(object, options) {
|
||||
switch (object.kind) {
|
||||
case 'block': return Raw.deserializeBlock(object, options)
|
||||
case 'document': return Raw.deserializeDocument(object, options)
|
||||
case 'inline': return Raw.deserializeInline(object, options)
|
||||
case 'text': return Raw.deserializeText(object, options)
|
||||
default: {
|
||||
throw new Error(`Unrecognized node kind "${object.kind}".`)
|
||||
}
|
||||
case 'block': return Raw.deserializeBlock(object, options)
|
||||
case 'document': return Raw.deserializeDocument(object, options)
|
||||
case 'inline': return Raw.deserializeInline(object, options)
|
||||
case 'text': return Raw.deserializeText(object, options)
|
||||
default: {
|
||||
throw new Error(`Unrecognized node kind "${object.kind}".`)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -305,13 +305,13 @@ const Raw = {
|
||||
|
||||
serializeNode(node, options) {
|
||||
switch (node.kind) {
|
||||
case 'block': return Raw.serializeBlock(node, options)
|
||||
case 'document': return Raw.serializeDocument(node, options)
|
||||
case 'inline': return Raw.serializeInline(node, options)
|
||||
case 'text': return Raw.serializeText(node, options)
|
||||
default: {
|
||||
throw new Error(`Unrecognized node kind "${node.kind}".`)
|
||||
}
|
||||
case 'block': return Raw.serializeBlock(node, options)
|
||||
case 'document': return Raw.serializeDocument(node, options)
|
||||
case 'inline': return Raw.serializeInline(node, options)
|
||||
case 'text': return Raw.serializeText(node, options)
|
||||
default: {
|
||||
throw new Error(`Unrecognized node kind "${node.kind}".`)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
@@ -20,12 +20,12 @@ function block(value) {
|
||||
if (value instanceof Block) return value
|
||||
|
||||
switch (typeOf(value)) {
|
||||
case 'string':
|
||||
case 'object':
|
||||
return Block.create(nodeProperties(value))
|
||||
case 'string':
|
||||
case 'object':
|
||||
return Block.create(nodeProperties(value))
|
||||
|
||||
default:
|
||||
throw new Error(`Invalid \`block\` argument! It must be a block, an object, or a string. You passed: "${value}".`)
|
||||
default:
|
||||
throw new Error(`Invalid \`block\` argument! It must be a block, an object, or a string. You passed: "${value}".`)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,12 +40,12 @@ function inline(value) {
|
||||
if (value instanceof Inline) return value
|
||||
|
||||
switch (typeOf(value)) {
|
||||
case 'string':
|
||||
case 'object':
|
||||
return Inline.create(nodeProperties(value))
|
||||
case 'string':
|
||||
case 'object':
|
||||
return Inline.create(nodeProperties(value))
|
||||
|
||||
default:
|
||||
throw new Error(`Invalid \`inline\` argument! It must be an inline, an object, or a string. You passed: "${value}".`)
|
||||
default:
|
||||
throw new Error(`Invalid \`inline\` argument! It must be an inline, an object, or a string. You passed: "${value}".`)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -79,12 +79,12 @@ function mark(value) {
|
||||
if (value instanceof Mark) return value
|
||||
|
||||
switch (typeOf(value)) {
|
||||
case 'string':
|
||||
case 'object':
|
||||
return Mark.create(markProperties(value))
|
||||
case 'string':
|
||||
case 'object':
|
||||
return Mark.create(markProperties(value))
|
||||
|
||||
default:
|
||||
throw new Error(`Invalid \`mark\` argument! It must be a mark, an object, or a string. You passed: "${value}".`)
|
||||
default:
|
||||
throw new Error(`Invalid \`mark\` argument! It must be a mark, an object, or a string. You passed: "${value}".`)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,22 +99,22 @@ function markProperties(value = {}) {
|
||||
const ret = {}
|
||||
|
||||
switch (typeOf(value)) {
|
||||
case 'string':
|
||||
ret.type = value
|
||||
break
|
||||
case 'string':
|
||||
ret.type = value
|
||||
break
|
||||
|
||||
case 'object':
|
||||
for (const k in value) {
|
||||
if (k == 'data') {
|
||||
if (value[k] !== undefined) ret[k] = Data.create(value[k])
|
||||
} else {
|
||||
ret[k] = value[k]
|
||||
case 'object':
|
||||
for (const k in value) {
|
||||
if (k == 'data') {
|
||||
if (value[k] !== undefined) ret[k] = Data.create(value[k])
|
||||
} else {
|
||||
ret[k] = value[k]
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
break
|
||||
|
||||
default:
|
||||
throw new Error(`Invalid mark \`properties\` argument! It must be an object, a string or a mark. You passed: "${value}".`)
|
||||
default:
|
||||
throw new Error(`Invalid mark \`properties\` argument! It must be an object, a string or a mark. You passed: "${value}".`)
|
||||
}
|
||||
|
||||
return ret
|
||||
@@ -131,23 +131,23 @@ function nodeProperties(value = {}) {
|
||||
const ret = {}
|
||||
|
||||
switch (typeOf(value)) {
|
||||
case 'string':
|
||||
ret.type = value
|
||||
break
|
||||
case 'string':
|
||||
ret.type = value
|
||||
break
|
||||
|
||||
case 'object':
|
||||
if (value.isVoid !== undefined) ret.isVoid = !!value.isVoid
|
||||
for (const k in value) {
|
||||
if (k == 'data') {
|
||||
if (value[k] !== undefined) ret[k] = Data.create(value[k])
|
||||
} else {
|
||||
ret[k] = value[k]
|
||||
case 'object':
|
||||
if (value.isVoid !== undefined) ret.isVoid = !!value.isVoid
|
||||
for (const k in value) {
|
||||
if (k == 'data') {
|
||||
if (value[k] !== undefined) ret[k] = Data.create(value[k])
|
||||
} else {
|
||||
ret[k] = value[k]
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
break
|
||||
|
||||
default:
|
||||
throw new Error(`Invalid node \`properties\` argument! It must be an object, a string or a node. You passed: "${value}".`)
|
||||
default:
|
||||
throw new Error(`Invalid node \`properties\` argument! It must be an object, a string or a node. You passed: "${value}".`)
|
||||
}
|
||||
|
||||
return ret
|
||||
@@ -164,11 +164,11 @@ function selection(value) {
|
||||
if (value instanceof Selection) return value
|
||||
|
||||
switch (typeOf(value)) {
|
||||
case 'object':
|
||||
return Selection.create(value)
|
||||
case 'object':
|
||||
return Selection.create(value)
|
||||
|
||||
default:
|
||||
throw new Error(`Invalid \`selection\` argument! It must be a selection or an object. You passed: "${value}".`)
|
||||
default:
|
||||
throw new Error(`Invalid \`selection\` argument! It must be a selection or an object. You passed: "${value}".`)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,18 +183,18 @@ function selectionProperties(value = {}) {
|
||||
const ret = {}
|
||||
|
||||
switch (typeOf(value)) {
|
||||
case 'object':
|
||||
if (value.anchorKey !== undefined) ret.anchorKey = value.anchorKey
|
||||
if (value.anchorOffset !== undefined) ret.anchorOffset = value.anchorOffset
|
||||
if (value.focusKey !== undefined) ret.focusKey = value.focusKey
|
||||
if (value.focusOffset !== undefined) ret.focusOffset = value.focusOffset
|
||||
if (value.isBackward !== undefined) ret.isBackward = !!value.isBackward
|
||||
if (value.isFocused !== undefined) ret.isFocused = !!value.isFocused
|
||||
if (value.marks !== undefined) ret.marks = value.marks
|
||||
break
|
||||
case 'object':
|
||||
if (value.anchorKey !== undefined) ret.anchorKey = value.anchorKey
|
||||
if (value.anchorOffset !== undefined) ret.anchorOffset = value.anchorOffset
|
||||
if (value.focusKey !== undefined) ret.focusKey = value.focusKey
|
||||
if (value.focusOffset !== undefined) ret.focusOffset = value.focusOffset
|
||||
if (value.isBackward !== undefined) ret.isBackward = !!value.isBackward
|
||||
if (value.isFocused !== undefined) ret.isFocused = !!value.isFocused
|
||||
if (value.marks !== undefined) ret.marks = value.marks
|
||||
break
|
||||
|
||||
default:
|
||||
throw new Error(`Invalid selection \`properties\` argument! It must be an object or a selection. You passed: "${value}".`)
|
||||
default:
|
||||
throw new Error(`Invalid selection \`properties\` argument! It must be an object or a selection. You passed: "${value}".`)
|
||||
}
|
||||
|
||||
return ret
|
||||
|
@@ -41,22 +41,22 @@ class Transfer {
|
||||
data.type = type
|
||||
|
||||
switch (type) {
|
||||
case 'files':
|
||||
data.files = this.getFiles()
|
||||
break
|
||||
case 'fragment':
|
||||
data.fragment = this.getFragment()
|
||||
break
|
||||
case 'html':
|
||||
data.html = this.getHtml()
|
||||
data.text = this.getText()
|
||||
break
|
||||
case 'node':
|
||||
data.node = this.getNode()
|
||||
break
|
||||
case 'text':
|
||||
data.text = this.getText()
|
||||
break
|
||||
case 'files':
|
||||
data.files = this.getFiles()
|
||||
break
|
||||
case 'fragment':
|
||||
data.fragment = this.getFragment()
|
||||
break
|
||||
case 'html':
|
||||
data.html = this.getHtml()
|
||||
data.text = this.getText()
|
||||
break
|
||||
case 'node':
|
||||
data.node = this.getNode()
|
||||
break
|
||||
case 'text':
|
||||
data.text = this.getText()
|
||||
break
|
||||
}
|
||||
|
||||
return data
|
||||
@@ -76,8 +76,8 @@ class Transfer {
|
||||
|
||||
if (data.items && data.items.length) {
|
||||
const fileItems = Array.from(data.items)
|
||||
.map(item => item.kind == 'file' ? item.getAsFile() : null)
|
||||
.filter(exists => exists)
|
||||
.map(item => item.kind == 'file' ? item.getAsFile() : null)
|
||||
.filter(exists => exists)
|
||||
|
||||
if (fileItems.length) files = fileItems
|
||||
}
|
||||
|
Reference in New Issue
Block a user