Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / grpc-cloned / node_modules / protobufjs / src / ProtoBuf / Lang.js
1 /**\r
2  * Language expressions.\r
3  * @type {!Object.<string,!RegExp>}\r
4  * @expose\r
5  */\r
6 ProtoBuf.Lang = {\r
7 \r
8     // Characters always ending a statement\r
9     DELIM: /[\s\{\}=;:\[\],'"\(\)<>]/g,\r
10 \r
11     // Field rules\r
12     RULE: /^(?:required|optional|repeated|map)$/,\r
13 \r
14     // Field types\r
15     TYPE: /^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,\r
16 \r
17     // Names\r
18     NAME: /^[a-zA-Z_][a-zA-Z_0-9]*$/,\r
19 \r
20     // Type definitions\r
21     TYPEDEF: /^[a-zA-Z][a-zA-Z_0-9]*$/,\r
22 \r
23     // Type references\r
24     TYPEREF: /^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,\r
25 \r
26     // Fully qualified type references\r
27     FQTYPEREF: /^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/,\r
28 \r
29     // All numbers\r
30     NUMBER: /^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/,\r
31 \r
32     // Decimal numbers\r
33     NUMBER_DEC: /^(?:[1-9][0-9]*|0)$/,\r
34 \r
35     // Hexadecimal numbers\r
36     NUMBER_HEX: /^0[xX][0-9a-fA-F]+$/,\r
37 \r
38     // Octal numbers\r
39     NUMBER_OCT: /^0[0-7]+$/,\r
40 \r
41     // Floating point numbers\r
42     NUMBER_FLT: /^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/,\r
43 \r
44     // Booleans\r
45     BOOL: /^(?:true|false)$/i,\r
46 \r
47     // Id numbers\r
48     ID: /^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,\r
49 \r
50     // Negative id numbers (enum values)\r
51     NEGID: /^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,\r
52 \r
53     // Whitespaces\r
54     WHITESPACE: /\s/,\r
55 \r
56     // All strings\r
57     STRING: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,\r
58 \r
59     // Double quoted strings\r
60     STRING_DQ: /(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,\r
61 \r
62     // Single quoted strings\r
63     STRING_SQ: /(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g\r
64 };\r