5f928611f770b1ba483a77e9ace44f03bcdb4c80
[platform/framework/web/crosswalk-tizen.git] /
1 "use strict";
2
3 module.exports = makeCheck;
4
5 function makeCheck(orig) {
6   if (typeof orig === 'string') {
7     return makeStringCheck(orig);
8   }
9   else if (Array.isArray(orig)) {
10     return makeArrayCheck(orig);
11   }
12   // already a function or invalid value
13   return orig;
14 }
15
16
17 function makeArrayCheck(arr) {
18   return function checkTypeAndValueByIndex(token) {
19     return token && (arr.indexOf(token.type) !== -1 || arr.indexOf(token.value) !== -1);
20   };
21 }
22
23
24 function makeStringCheck(str) {
25   return function checkTypeAndValueByString(token) {
26     return token && (token.type === str || token.value === str);
27   };
28 }