mirror of
https://github.com/prometheus/prometheus.git
synced 2024-12-28 06:59:40 -08:00
043a2954f8
* create lezer-promql module + move codemirror to a pure esm module + unified dependencies Signed-off-by: Augustin Husson <[email protected]> * ignore test utils file and remove the type "module" in package.json Signed-off-by: Augustin Husson <[email protected]> * use jest to run the lezer-promql test Signed-off-by: Augustin Husson <[email protected]> * give an automatic way to update the ui dependencies Signed-off-by: Augustin Husson <[email protected]> * update all dependencies using make update-npm-deps Signed-off-by: Augustin Husson <[email protected]> * fix react-app test Signed-off-by: Augustin Husson <[email protected]> * remove generated file Signed-off-by: Augustin Husson <[email protected]> * remove unnecessary backslash in script Signed-off-by: Augustin Husson <[email protected]> * fix reviews Signed-off-by: Augustin Husson <[email protected]> * rewording Signed-off-by: Augustin Husson <[email protected]> * use npx to run lezer-generator Signed-off-by: Augustin Husson <[email protected]>
86 lines
1.7 KiB
JavaScript
86 lines
1.7 KiB
JavaScript
// Copyright 2021 The Prometheus Authors
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
import {
|
|
And,
|
|
Avg,
|
|
Atan2,
|
|
Bool,
|
|
Bottomk,
|
|
By,
|
|
Count,
|
|
CountValues,
|
|
End,
|
|
Group,
|
|
GroupLeft,
|
|
GroupRight,
|
|
Ignoring,
|
|
inf,
|
|
Max,
|
|
Min,
|
|
nan,
|
|
Offset,
|
|
On,
|
|
Or,
|
|
Quantile,
|
|
Start,
|
|
Stddev,
|
|
Stdvar,
|
|
Sum,
|
|
Topk,
|
|
Unless,
|
|
Without,
|
|
} from './parser.terms.js';
|
|
|
|
const keywordTokens = {
|
|
inf: inf,
|
|
nan: nan,
|
|
bool: Bool,
|
|
ignoring: Ignoring,
|
|
on: On,
|
|
group_left: GroupLeft,
|
|
group_right: GroupRight,
|
|
offset: Offset,
|
|
};
|
|
|
|
export const specializeIdentifier = (value, stack) => {
|
|
return keywordTokens[value.toLowerCase()] || -1;
|
|
};
|
|
|
|
const contextualKeywordTokens = {
|
|
avg: Avg,
|
|
atan2: Atan2,
|
|
bottomk: Bottomk,
|
|
count: Count,
|
|
count_values: CountValues,
|
|
group: Group,
|
|
max: Max,
|
|
min: Min,
|
|
quantile: Quantile,
|
|
stddev: Stddev,
|
|
stdvar: Stdvar,
|
|
sum: Sum,
|
|
topk: Topk,
|
|
by: By,
|
|
without: Without,
|
|
and: And,
|
|
or: Or,
|
|
unless: Unless,
|
|
start: Start,
|
|
end: End,
|
|
};
|
|
|
|
export const extendIdentifier = (value, stack) => {
|
|
return contextualKeywordTokens[value.toLowerCase()] || -1;
|
|
};
|