diff options
author | Samy Pesse <samypesse@gmail.com> | 2016-09-22 10:37:06 +0200 |
---|---|---|
committer | Samy Pesse <samypesse@gmail.com> | 2016-09-22 10:37:06 +0200 |
commit | f49089a7d3a6fd5523c71e06e5e0d132bb6ffd9a (patch) | |
tree | 4656866589cd5e46650b867cc2447619ea11bb3a /packages/gitbook-core/src/shapes | |
parent | 0b1888e184d3f995c3130daf794416ad0a4312bc (diff) | |
download | gitbook-f49089a7d3a6fd5523c71e06e5e0d132bb6ffd9a.zip gitbook-f49089a7d3a6fd5523c71e06e5e0d132bb6ffd9a.tar.gz gitbook-f49089a7d3a6fd5523c71e06e5e0d132bb6ffd9a.tar.bz2 |
Add immutable state for readme/summary
Add shapes for these states
Diffstat (limited to 'packages/gitbook-core/src/shapes')
-rw-r--r-- | packages/gitbook-core/src/shapes/File.js | 13 | ||||
-rw-r--r-- | packages/gitbook-core/src/shapes/Page.js | 7 | ||||
-rw-r--r-- | packages/gitbook-core/src/shapes/Summary.js | 13 | ||||
-rw-r--r-- | packages/gitbook-core/src/shapes/SummaryArticle.js | 20 | ||||
-rw-r--r-- | packages/gitbook-core/src/shapes/SummaryPart.js | 13 | ||||
-rw-r--r-- | packages/gitbook-core/src/shapes/index.js | 6 |
6 files changed, 70 insertions, 2 deletions
diff --git a/packages/gitbook-core/src/shapes/File.js b/packages/gitbook-core/src/shapes/File.js new file mode 100644 index 0000000..cff2219 --- /dev/null +++ b/packages/gitbook-core/src/shapes/File.js @@ -0,0 +1,13 @@ +const React = require('react'); +const { + oneOf, + string, + shape +} = React.PropTypes; + + +module.exports = shape({ + mtime: string.isRequired, + path: string.isRequired, + type: oneOf(['markdown', 'asciidoc']).isRequired +}); diff --git a/packages/gitbook-core/src/shapes/Page.js b/packages/gitbook-core/src/shapes/Page.js index 11117fe..c589f54 100644 --- a/packages/gitbook-core/src/shapes/Page.js +++ b/packages/gitbook-core/src/shapes/Page.js @@ -1,11 +1,16 @@ const React = require('react'); const { + oneOf, string, + number, shape } = React.PropTypes; module.exports = shape({ title: string.isRequired, - content: string.isRequired + content: string.isRequired, + level: string.isRequired, + depth: number.isRequired, + dir: oneOf(['ltr', 'rtl']).isRequired }); diff --git a/packages/gitbook-core/src/shapes/Summary.js b/packages/gitbook-core/src/shapes/Summary.js new file mode 100644 index 0000000..7efe4e0 --- /dev/null +++ b/packages/gitbook-core/src/shapes/Summary.js @@ -0,0 +1,13 @@ +const React = require('react'); +const { + arrayOf, + shape +} = React.PropTypes; + +const File = require('./File'); +const Part = require('./SummaryPart'); + +module.exports = shape({ + file: File.isRequired, + parts: arrayOf(Part).isRequired +}); diff --git a/packages/gitbook-core/src/shapes/SummaryArticle.js b/packages/gitbook-core/src/shapes/SummaryArticle.js new file mode 100644 index 0000000..d13bb31 --- /dev/null +++ b/packages/gitbook-core/src/shapes/SummaryArticle.js @@ -0,0 +1,20 @@ +/* eslint-disable no-use-before-define */ + +const React = require('react'); +const { + arrayOf, + string, + number, + shape +} = React.PropTypes; + +const Article = shape({ + title: string.isRequired, + depth: number.isRequired, + path: string, + ref: string, + level: string, + articles: arrayOf(Article) +}); + +module.exports = Article; diff --git a/packages/gitbook-core/src/shapes/SummaryPart.js b/packages/gitbook-core/src/shapes/SummaryPart.js new file mode 100644 index 0000000..75d5602 --- /dev/null +++ b/packages/gitbook-core/src/shapes/SummaryPart.js @@ -0,0 +1,13 @@ +const React = require('react'); +const { + arrayOf, + string, + shape +} = React.PropTypes; + +const Article = require('./SummaryArticle'); + +module.exports = shape({ + title: string.isRequired, + articles: arrayOf(Article) +}); diff --git a/packages/gitbook-core/src/shapes/index.js b/packages/gitbook-core/src/shapes/index.js index ca95a99..149b5a7 100644 --- a/packages/gitbook-core/src/shapes/index.js +++ b/packages/gitbook-core/src/shapes/index.js @@ -1,4 +1,8 @@ module.exports = { - Page: require('./Page') + Page: require('./Page'), + File: require('./File'), + Summary: require('./Summary'), + SummaryPart: require('./SummaryPart'), + SummaryArticle: require('./SummaryArticle') }; |