aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2013-05-04 10:59:50 +0100
committerMichael Williamson <mike@zwobble.org>2013-05-04 10:59:50 +0100
commitabcdc7a5c4b66a4fc5d7f7f605e2d64d44767bf1 (patch)
treeaa8bdfcbeec32387f3e83fdf272865c7f4818218
parenta78d8242d2be4377accfb95447d549828f08dbd0 (diff)
Add list method to document matcher
-rw-r--r--lib/document-matchers.js14
-rw-r--r--lib/style-reader.js9
2 files changed, 12 insertions, 11 deletions
diff --git a/lib/document-matchers.js b/lib/document-matchers.js
index 820d6c2..58b3204 100644
--- a/lib/document-matchers.js
+++ b/lib/document-matchers.js
@@ -22,17 +22,19 @@ Matcher.prototype.matches = function(element) {
}
Matcher.prototype.orderedList = function(levelIndex) {
- this._listIndex = levelIndex;
- this._listIsOrdered = true;
- return this;
+ return this.list({isOrdered: true, levelIndex: levelIndex});
}
Matcher.prototype.unorderedList = function(levelIndex) {
- this._listIndex = levelIndex;
- this._listIsOrdered = false;
- return this;
+ return this.list({isOrdered: false, levelIndex: levelIndex});
}
+Matcher.prototype.list = function(options) {
+ this._listIndex = options.levelIndex;
+ this._listIsOrdered = options.isOrdered;
+ return this;
+};
+
function isList(element, levelIndex, isOrdered) {
return element.numbering &&
element.numbering.level == levelIndex &&
diff --git a/lib/style-reader.js b/lib/style-reader.js
index c18cf00..2f3fcf3 100644
--- a/lib/style-reader.js
+++ b/lib/style-reader.js
@@ -67,11 +67,10 @@ function documentMatcherRule() {
lop.rules.tokenOfType("close-paren")
).map(function(listType, levelNumber) {
return function(matcher) {
- if (listType.isOrdered) {
- return matcher.orderedList(levelNumber - 1);
- } else {
- return matcher.unorderedList(levelNumber - 1);
- }
+ return matcher.list({
+ isOrdered: listType.isOrdered,
+ levelIndex: levelNumber - 1
+ });
};
});