summaryrefslogtreecommitdiffstats
path: root/packages/gitbook-plugin-search/src/models/Result.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/gitbook-plugin-search/src/models/Result.js')
-rw-r--r--packages/gitbook-plugin-search/src/models/Result.js14
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;