mirror of https://gitee.com/bigwinds/arangodb
84 lines
3.0 KiB
JavaScript
84 lines
3.0 KiB
JavaScript
/*jshint browserify: true */
|
|
'use strict';
|
|
exports.keywords = [
|
|
'asc',
|
|
'collect',
|
|
'desc',
|
|
'distinct',
|
|
'false',
|
|
'filter',
|
|
'for',
|
|
'in',
|
|
'insert',
|
|
'into',
|
|
'new',
|
|
'let',
|
|
'limit',
|
|
'old',
|
|
'null',
|
|
'remove',
|
|
'replace',
|
|
'return',
|
|
'sort',
|
|
'true',
|
|
'update',
|
|
'with'
|
|
];
|
|
|
|
exports.builtins = {
|
|
// Conversion
|
|
TO_BOOL: 1, TO_NUMBER: 1, TO_STRING: 1, TO_LIST: 1,
|
|
// Type checks
|
|
IS_NULL: 1, IS_BOOL: 1, IS_NUMBER: 1, IS_STRING: 1, IS_LIST: 1, IS_DOCUMENT: 1,
|
|
// String functions
|
|
CONCAT: [[1, Infinity]], CONCAT_SEPARATOR: [[2, Infinity]],
|
|
CHAR_LENGTH: 1, LENGTH: 1, LOWER: 1, UPPER: 1, SUBSTRING: [2, 3],
|
|
LEFT: 2, RIGHT: 2, TRIM: [1, 2], REVERSE: 1, CONTAINS: [2, 3], LIKE: 3,
|
|
LTRIM: [1, 2], RTRIM: [1, 2], FIND_FIRST: [2, 3, 4], FIND_LAST: [2, 3, 4],
|
|
SPLIT: [1, 2, 3], SUBSTITUTE: [2, 3, 4], MD5: 1, SHA1: 1, RANDOM_TOKEN: 1,
|
|
// Numeric functions
|
|
FLOOR: 1, CEIL: 1, ROUND: 1, ABS: 1, SQRT: 1, RAND: 0,
|
|
// Date functions
|
|
DATE_TIMESTAMP: [1, [3, 7]], DATE_ISO8601: [1, [3, 7]],
|
|
DATE_DAYOFWEEK: 1, DATE_YEAR: 1, DATE_MONTH: 1, DATE_DAY: 1,
|
|
DATE_HOUR: 1, DATE_MINUTE: 1, DATE_SECOND: 1, DATE_MILLISECOND: 1,
|
|
DATE_NOW: 0,
|
|
// List functions
|
|
/*LENGTH: 1,*/ FLATTEN: [1, 2], MIN: 1, MAX: 1, AVERAGE: 1, SUM: 1,
|
|
MEDIAN: 1, PERCENTILE: [2, 3], VARIANCE_POPULATION: 1, VARIANCE_SAMPLE: 1,
|
|
STDDEV_POPULATION: 1, STDDEV_SAMPLE: 1, /*REVERSE: 1,*/
|
|
FIRST: 1, LAST: 1, NTH: 2, POSITION: [2, 3], SLICE: [2, 3],
|
|
UNIQUE: 1, UNION: [[1, Infinity]], UNION_DISTINCT: [[1, Infinity]],
|
|
MINUS: [[1, Infinity]], INTERSECTION: [[1, Infinity]],
|
|
CALL: [[1, Infinity]], APPLY: [[1, Infinity]],
|
|
PUSH: [2, 3], APPEND: [2, 3], POP: 1, SHIFT: 1, UNSHIFT: [2, 3],
|
|
REMOVE_VALUE: [2, 3], REMOVE_VALUES: 2, REMOVE_NTH: 2,
|
|
// Document functions
|
|
MATCHES: [2, 3], MERGE: [[1, Infinity]], MERGE_RECURSIVE: [[1, Infinity]],
|
|
TRANSLATE: [2, 3], HAS: 2, ATTRIBUTES: [[1, 3]], UNSET: [[1, Infinity]],
|
|
KEEP: [[2, Infinity]], PARSE_IDENTIFIER: 1, ZIP: 2,
|
|
// Geo functions
|
|
NEAR: [5, 6], WITHIN: [5, 6], WITHIN_RECTANGLE: 5, IS_IN_POLYGON: [2, 3],
|
|
// Fulltext functions
|
|
FULLTEXT: 3,
|
|
// Graph functions
|
|
PATHS: [3, 4], TRAVERSAL: [5, 6], TRAVERSAL_TREE: [5, 6],
|
|
SHORTEST_PATH: [5, 6], EDGES: [3, 4], NEIGHBORS: [4, 5],
|
|
GRAPH_PATHS: [1, 2], GRAPH_SHORTEST_PATH: [3, 4], GRAPH_DISTANCE_TO: [3, 4],
|
|
GRAPH_TRAVERSAL: [3, 4], GRAPH_TRAVERSAL_TREE: [4, 5], GRAPH_EDGES: [2, 3],
|
|
GRAPH_VERTICES: [2, 3], GRAPH_NEIGHBORS: [2, 3], GRAPH_COMMON_NEIGHBORS: [3, 4, 5],
|
|
GRAPH_COMMON_PROPERTIES: [3, 4], GRAPH_ECCENTRICITY: [1, 2],
|
|
GRAPH_BETWEENNESS: [1, 2], GRAPH_CLOSENESS: [1, 2],
|
|
GRAPH_ABSOLUTE_ECCENTRICITY: [2, 3], GRAPH_ABSOLUTE_BETWEENNESS: [2, 3],
|
|
GRAPH_ABSOLUTE_CLOSENESS: [2, 3], GRAPH_DIAMETER: [1, 2], GRAPH_RADIUS: [1, 2],
|
|
// Control flow functions
|
|
NOT_NULL: [[1, Infinity]], FIRST_LIST: [[1, Infinity]],
|
|
FIRST_DOCUMENT: [[1, Infinity]],
|
|
// Miscellaneous functions
|
|
COLLECTIONS: 0, CURRENT_USER: 0, DOCUMENT: [1, 2], SKIPLIST: [[2, 4]]
|
|
};
|
|
|
|
exports.deprecatedBuiltins = [
|
|
'SKIPLIST'
|
|
];
|