diff options
Diffstat (limited to 'packages/gitbook-plugin-search/src/models/Result.js')
-rw-r--r-- | packages/gitbook-plugin-search/src/models/Result.js | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/packages/gitbook-plugin-search/src/models/Result.js b/packages/gitbook-plugin-search/src/models/Result.js index 71c6d9d..0012b2b 100644 --- a/packages/gitbook-plugin-search/src/models/Result.js +++ b/packages/gitbook-plugin-search/src/models/Result.js @@ -1,10 +1,20 @@ const GitBook = require('gitbook-core'); const { Record } = GitBook.Immutable; -const Result = Record({ +const DEFAULTS = { url: String(''), title: String(''), body: String('') -}); +}; + +class Result extends Record(DEFAULTS) { + constructor(spec) { + if (!spec.url || !spec.title) { + throw new Error('"url" and "title" are required to create a search result'); + } + + super(spec); + } +} module.exports = Result; |