source: node_modules/ret/lib/sets.js

main
Last change on this file was d24f17c, checked in by Aleksandar Panovski <apano77@…>, 15 months ago

Initial commit

  • Property mode set to 100644
File size: 1.6 KB
Line 
1const types = require('./types');
2
3const INTS = () => [{ type: types.RANGE , from: 48, to: 57 }];
4
5const WORDS = () => {
6 return [
7 { type: types.CHAR, value: 95 },
8 { type: types.RANGE, from: 97, to: 122 },
9 { type: types.RANGE, from: 65, to: 90 }
10 ].concat(INTS());
11};
12
13const WHITESPACE = () => {
14 return [
15 { type: types.CHAR, value: 9 },
16 { type: types.CHAR, value: 10 },
17 { type: types.CHAR, value: 11 },
18 { type: types.CHAR, value: 12 },
19 { type: types.CHAR, value: 13 },
20 { type: types.CHAR, value: 32 },
21 { type: types.CHAR, value: 160 },
22 { type: types.CHAR, value: 5760 },
23 { type: types.RANGE, from: 8192, to: 8202 },
24 { type: types.CHAR, value: 8232 },
25 { type: types.CHAR, value: 8233 },
26 { type: types.CHAR, value: 8239 },
27 { type: types.CHAR, value: 8287 },
28 { type: types.CHAR, value: 12288 },
29 { type: types.CHAR, value: 65279 }
30 ];
31};
32
33const NOTANYCHAR = () => {
34 return [
35 { type: types.CHAR, value: 10 },
36 { type: types.CHAR, value: 13 },
37 { type: types.CHAR, value: 8232 },
38 { type: types.CHAR, value: 8233 },
39 ];
40};
41
42// Predefined class objects.
43exports.words = () => ({ type: types.SET, set: WORDS(), not: false });
44exports.notWords = () => ({ type: types.SET, set: WORDS(), not: true });
45exports.ints = () => ({ type: types.SET, set: INTS(), not: false });
46exports.notInts = () => ({ type: types.SET, set: INTS(), not: true });
47exports.whitespace = () => ({ type: types.SET, set: WHITESPACE(), not: false });
48exports.notWhitespace = () => ({ type: types.SET, set: WHITESPACE(), not: true });
49exports.anyChar = () => ({ type: types.SET, set: NOTANYCHAR(), not: true });
Note: See TracBrowser for help on using the repository browser.