mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-04-17 10:22:36 +00:00
Resolve "Upgrade Node.js runtime"
This commit is contained in:
parent
11a7251cff
commit
070f6ed455
21 changed files with 1540 additions and 1590 deletions
backend
requirements
src/baserow/contrib/database/formula/parser/generated
deploy/all-in-one
docs/development
formula
plugin-boilerplate/{{ cookiecutter.project_slug }}
web-frontend
|
@ -25,11 +25,11 @@ celery-redbeat==2.0.0
|
||||||
service-identity==21.1.0
|
service-identity==21.1.0
|
||||||
regex==2021.8.3
|
regex==2021.8.3
|
||||||
cryptography==36.0.1
|
cryptography==36.0.1
|
||||||
antlr4-python3-runtime==4.8.0
|
antlr4-python3-runtime==4.9.3
|
||||||
tqdm==4.62.3
|
tqdm==4.62.3
|
||||||
boto3==1.20.38
|
boto3==1.20.38
|
||||||
django-storages==1.12.3
|
django-storages==1.12.3
|
||||||
django-health-check==3.16.5
|
django-health-check==3.16.5
|
||||||
psutil==5.9.0
|
psutil==5.9.0
|
||||||
dj-database-url==0.5.0
|
dj-database-url==0.5.0
|
||||||
redis==4.1.4
|
redis==4.1.4
|
||||||
|
|
|
@ -10,7 +10,7 @@ aioredis==1.3.1
|
||||||
# via channels-redis
|
# via channels-redis
|
||||||
amqp==5.1.0
|
amqp==5.1.0
|
||||||
# via kombu
|
# via kombu
|
||||||
antlr4-python3-runtime==4.8.0
|
antlr4-python3-runtime==4.9.3
|
||||||
# via -r base.in
|
# via -r base.in
|
||||||
asgiref==3.4.1
|
asgiref==3.4.1
|
||||||
# via
|
# via
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated from BaserowFormula.g4 by ANTLR 4.8
|
# Generated from BaserowFormula.g4 by ANTLR 4.9
|
||||||
# encoding: utf-8
|
# encoding: utf-8
|
||||||
from antlr4 import *
|
from antlr4 import *
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
|
@ -188,7 +188,7 @@ class BaserowFormula ( Parser ):
|
||||||
|
|
||||||
def __init__(self, input:TokenStream, output:TextIO = sys.stdout):
|
def __init__(self, input:TokenStream, output:TextIO = sys.stdout):
|
||||||
super().__init__(input, output)
|
super().__init__(input, output)
|
||||||
self.checkVersion("4.8")
|
self.checkVersion("4.9")
|
||||||
self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)
|
self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)
|
||||||
self._predicates = None
|
self._predicates = None
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated from BaserowFormulaLexer.g4 by ANTLR 4.8
|
# Generated from BaserowFormulaLexer.g4 by ANTLR 4.9
|
||||||
from antlr4 import *
|
from antlr4 import *
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
from typing.io import TextIO
|
from typing.io import TextIO
|
||||||
|
@ -444,7 +444,7 @@ class BaserowFormulaLexer(Lexer):
|
||||||
|
|
||||||
def __init__(self, input=None, output:TextIO = sys.stdout):
|
def __init__(self, input=None, output:TextIO = sys.stdout):
|
||||||
super().__init__(input, output)
|
super().__init__(input, output)
|
||||||
self.checkVersion("4.8")
|
self.checkVersion("4.9")
|
||||||
self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
|
self._interp = LexerATNSimulator(self, self.atn, self.decisionsToDFA, PredictionContextCache())
|
||||||
self._actions = None
|
self._actions = None
|
||||||
self._predicates = None
|
self._predicates = None
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated from BaserowFormula.g4 by ANTLR 4.8
|
# Generated from BaserowFormula.g4 by ANTLR 4.9
|
||||||
from antlr4 import *
|
from antlr4 import *
|
||||||
if __name__ is not None and "." in __name__:
|
if __name__ is not None and "." in __name__:
|
||||||
from .BaserowFormula import BaserowFormula
|
from .BaserowFormula import BaserowFormula
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Generated from BaserowFormula.g4 by ANTLR 4.8
|
# Generated from BaserowFormula.g4 by ANTLR 4.9
|
||||||
from antlr4 import *
|
from antlr4 import *
|
||||||
if __name__ is not None and "." in __name__:
|
if __name__ is not None and "." in __name__:
|
||||||
from .BaserowFormula import BaserowFormula
|
from .BaserowFormula import BaserowFormula
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
* **breaking change** The API endpoint `/api/database/formula/<field_id>/type/` now requires
|
* **breaking change** The API endpoint `/api/database/formula/<field_id>/type/` now requires
|
||||||
`table_id` instead of `field_id`, and also `name` in the request body.
|
`table_id` instead of `field_id`, and also `name` in the request body.
|
||||||
* Added support in dev.sh for KDE's Konsole terminal emulator.
|
* Added support in dev.sh for KDE's Konsole terminal emulator.
|
||||||
|
* Upgraded node runtime to v16.14.0
|
||||||
|
|
||||||
## Released (2022-03-03 1.9.1)
|
## Released (2022-03-03 1.9.1)
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ RUN apt-get update && \
|
||||||
# ========================
|
# ========================
|
||||||
# Install Node
|
# Install Node
|
||||||
# ========================
|
# ========================
|
||||||
curl -fsSL https://deb.nodesource.com/setup_12.x | bash - && \
|
curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \
|
||||||
apt-get install --no-install-recommends -y nodejs && \
|
apt-get install --no-install-recommends -y nodejs && \
|
||||||
apt-get clean && \
|
apt-get clean && \
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
|
|
@ -61,7 +61,7 @@ automatic style fixers to make your life as easy as possible.
|
||||||
1. Now lets set up your frontend dev by changing directory to `baserow/web-frontend`
|
1. Now lets set up your frontend dev by changing directory to `baserow/web-frontend`
|
||||||
1. Now run `yarn install` (if you do not have yarn available check out and install a
|
1. Now run `yarn install` (if you do not have yarn available check out and install a
|
||||||
node version manager like [nvm](https://github.com/nvm-sh/nvm) , baserow currently
|
node version manager like [nvm](https://github.com/nvm-sh/nvm) , baserow currently
|
||||||
uses node 12)
|
uses node 16)
|
||||||
1. Select "Trust Project" if you see an IntelliJ popup after running yarn install
|
1. Select "Trust Project" if you see an IntelliJ popup after running yarn install
|
||||||
1. Open your settings, search for and open the `Node.js and NPM` category and ensure the
|
1. Open your settings, search for and open the `Node.js and NPM` category and ensure the
|
||||||
Node interpreter is pointing to the desired node executable
|
Node interpreter is pointing to the desired node executable
|
||||||
|
|
|
@ -15,9 +15,9 @@ RUN mkdir -p /workspace/src && chown -R $UID:$GID /workspace
|
||||||
USER $UID:$GID
|
USER $UID:$GID
|
||||||
WORKDIR /workspace
|
WORKDIR /workspace
|
||||||
|
|
||||||
ENV ANTLR_VERSION 4.8
|
ENV ANTLR_VERSION 4.9
|
||||||
ENV CLASSPATH .:/workspace/antlr-${ANTLR_VERSION}-complete.jar:$CLASSPATH
|
ENV CLASSPATH .:/workspace/antlr-${ANTLR_VERSION}-complete.jar:$CLASSPATH
|
||||||
|
|
||||||
RUN wget -q http://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar \
|
RUN wget -q http://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar \
|
||||||
&& mv antlr-${ANTLR_VERSION}-complete.jar antlr.jar \
|
&& mv antlr-${ANTLR_VERSION}-complete.jar antlr.jar \
|
||||||
&& chmod +x antlr.jar
|
&& chmod +x antlr.jar
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM node:12
|
FROM node:16
|
||||||
|
|
||||||
ADD ./baserow /baserow
|
ADD ./baserow /baserow
|
||||||
ADD ./{{ cookiecutter.project_slug }} /{{ cookiecutter.project_slug }}
|
ADD ./{{ cookiecutter.project_slug }} /{{ cookiecutter.project_slug }}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
FROM node:12-buster as base
|
FROM node:16-buster as base
|
||||||
|
|
||||||
ARG UID
|
ARG UID
|
||||||
ENV UID=${UID:-9999}
|
ENV UID=${UID:-9999}
|
||||||
|
|
|
@ -14,9 +14,9 @@
|
||||||
* calculateFilteredFunctionsAndFieldsBasedOnCursorLocation which does step 1 and
|
* calculateFilteredFunctionsAndFieldsBasedOnCursorLocation which does step 1 and
|
||||||
* autocompleteFormula which does step 2 given the results of step 1.
|
* autocompleteFormula which does step 2 given the results of step 1.
|
||||||
*/
|
*/
|
||||||
import { BaserowFormula } from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
|
import BaserowFormula from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
|
||||||
import { getTokenStreamForFormula } from '@baserow/modules/database/formula/parser/parser'
|
import { getTokenStreamForFormula } from '@baserow/modules/database/formula/parser/parser'
|
||||||
import { BaserowFormulaLexer } from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
|
import BaserowFormulaLexer from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
|
||||||
|
|
||||||
function _countRemainingOpenBrackets(i, stop, stream, numOpenBrackets) {
|
function _countRemainingOpenBrackets(i, stop, stream, numOpenBrackets) {
|
||||||
for (let k = i; k < stop; k++) {
|
for (let k = i; k < stop; k++) {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,13 +1,13 @@
|
||||||
// Generated from BaserowFormulaLexer.g4 by ANTLR 4.8
|
// Generated from BaserowFormulaLexer.g4 by ANTLR 4.9
|
||||||
// jshint ignore: start
|
// jshint ignore: start
|
||||||
var antlr4 = require('antlr4/index');
|
import antlr4 from 'antlr4';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
|
const serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786",
|
||||||
"\u0002U\u028b\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004",
|
"\u5964\u0002U\u028b\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003",
|
||||||
"\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t",
|
"\u0004\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007",
|
||||||
"\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
|
"\t\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
|
||||||
"\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
|
"\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
|
||||||
"\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013",
|
"\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013",
|
||||||
"\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017",
|
"\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017",
|
||||||
|
@ -408,25 +408,81 @@ var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
|
||||||
"\u0002"].join("");
|
"\u0002"].join("");
|
||||||
|
|
||||||
|
|
||||||
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
|
const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
|
||||||
|
|
||||||
var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); });
|
const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) );
|
||||||
|
|
||||||
function BaserowFormulaLexer(input) {
|
export default class BaserowFormulaLexer extends antlr4.Lexer {
|
||||||
antlr4.Lexer.call(this, input);
|
|
||||||
this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
|
static grammarFileName = "BaserowFormulaLexer.g4";
|
||||||
return this;
|
static channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
|
||||||
|
static modeNames = [ "DEFAULT_MODE" ];
|
||||||
|
static literalNames = [ null, null, null, null, null, null, null, null,
|
||||||
|
null, "','", "':'", "'::'", "'$'", "'$$'", "'*'",
|
||||||
|
"'('", "')'", "'['", "']'", null, null, null, null,
|
||||||
|
null, "'.'", null, null, null, null, "'&'", "'&&'",
|
||||||
|
"'&<'", "'@@'", "'@>'", "'@'", "'!'", "'!!'", "'!='",
|
||||||
|
"'^'", "'='", "'=>'", "'>'", "'>='", "'>>'", "'#'",
|
||||||
|
"'#='", "'#>'", "'#>>'", "'##'", "'->'", "'->>'",
|
||||||
|
"'-|-'", "'<'", "'<='", "'<@'", "'<^'", "'<>'",
|
||||||
|
"'<->'", "'<<'", "'<<='", "'<?>'", "'-'", "'%'",
|
||||||
|
"'|'", "'||'", "'||/'", "'|/'", "'+'", "'?'", "'?&'",
|
||||||
|
"'?#'", "'?-'", "'?|'", "'/'", "'~'", "'~='", "'~>=~'",
|
||||||
|
"'~>~'", "'~<=~'", "'~<~'", "'~*'", "'~~'", "';'" ];
|
||||||
|
static symbolicNames = [ null, "BLOCK_COMMENT", "LINE_COMMENT", "WHITESPACE",
|
||||||
|
"TRUE", "FALSE", "FIELD", "FIELDBYID", "LOOKUP",
|
||||||
|
"COMMA", "COLON", "COLON_COLON", "DOLLAR", "DOLLAR_DOLLAR",
|
||||||
|
"STAR", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET",
|
||||||
|
"CLOSE_BRACKET", "BIT_STRING", "REGEX_STRING",
|
||||||
|
"NUMERIC_LITERAL", "INTEGER_LITERAL", "HEX_INTEGER_LITERAL",
|
||||||
|
"DOT", "SINGLEQ_STRING_LITERAL", "DOUBLEQ_STRING_LITERAL",
|
||||||
|
"IDENTIFIER", "IDENTIFIER_UNICODE", "AMP", "AMP_AMP",
|
||||||
|
"AMP_LT", "AT_AT", "AT_GT", "AT_SIGN", "BANG",
|
||||||
|
"BANG_BANG", "BANG_EQUAL", "CARET", "EQUAL", "EQUAL_GT",
|
||||||
|
"GT", "GTE", "GT_GT", "HASH", "HASH_EQ", "HASH_GT",
|
||||||
|
"HASH_GT_GT", "HASH_HASH", "HYPHEN_GT", "HYPHEN_GT_GT",
|
||||||
|
"HYPHEN_PIPE_HYPHEN", "LT", "LTE", "LT_AT", "LT_CARET",
|
||||||
|
"LT_GT", "LT_HYPHEN_GT", "LT_LT", "LT_LT_EQ",
|
||||||
|
"LT_QMARK_GT", "MINUS", "PERCENT", "PIPE", "PIPE_PIPE",
|
||||||
|
"PIPE_PIPE_SLASH", "PIPE_SLASH", "PLUS", "QMARK",
|
||||||
|
"QMARK_AMP", "QMARK_HASH", "QMARK_HYPHEN", "QMARK_PIPE",
|
||||||
|
"SLASH", "TIL", "TIL_EQ", "TIL_GTE_TIL", "TIL_GT_TIL",
|
||||||
|
"TIL_LTE_TIL", "TIL_LT_TIL", "TIL_STAR", "TIL_TIL",
|
||||||
|
"SEMI", "ErrorCharacter" ];
|
||||||
|
static ruleNames = [ "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
|
||||||
|
"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T",
|
||||||
|
"U", "V", "W", "X", "Y", "Z", "UNDERSCORE", "HEX_DIGIT",
|
||||||
|
"DEC_DIGIT", "DQUOTA_STRING", "SQUOTA_STRING", "BQUOTA_STRING",
|
||||||
|
"BLOCK_COMMENT", "LINE_COMMENT", "WHITESPACE", "TRUE",
|
||||||
|
"FALSE", "FIELD", "FIELDBYID", "LOOKUP", "COMMA",
|
||||||
|
"COLON", "COLON_COLON", "DOLLAR", "DOLLAR_DOLLAR",
|
||||||
|
"STAR", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACKET",
|
||||||
|
"CLOSE_BRACKET", "BIT_STRING", "REGEX_STRING", "NUMERIC_LITERAL",
|
||||||
|
"INTEGER_LITERAL", "HEX_INTEGER_LITERAL", "DOT", "SINGLEQ_STRING_LITERAL",
|
||||||
|
"DOUBLEQ_STRING_LITERAL", "IDENTIFIER", "IDENTIFIER_UNICODE",
|
||||||
|
"AMP", "AMP_AMP", "AMP_LT", "AT_AT", "AT_GT", "AT_SIGN",
|
||||||
|
"BANG", "BANG_BANG", "BANG_EQUAL", "CARET", "EQUAL",
|
||||||
|
"EQUAL_GT", "GT", "GTE", "GT_GT", "HASH", "HASH_EQ",
|
||||||
|
"HASH_GT", "HASH_GT_GT", "HASH_HASH", "HYPHEN_GT",
|
||||||
|
"HYPHEN_GT_GT", "HYPHEN_PIPE_HYPHEN", "LT", "LTE",
|
||||||
|
"LT_AT", "LT_CARET", "LT_GT", "LT_HYPHEN_GT", "LT_LT",
|
||||||
|
"LT_LT_EQ", "LT_QMARK_GT", "MINUS", "PERCENT", "PIPE",
|
||||||
|
"PIPE_PIPE", "PIPE_PIPE_SLASH", "PIPE_SLASH", "PLUS",
|
||||||
|
"QMARK", "QMARK_AMP", "QMARK_HASH", "QMARK_HYPHEN",
|
||||||
|
"QMARK_PIPE", "SLASH", "TIL", "TIL_EQ", "TIL_GTE_TIL",
|
||||||
|
"TIL_GT_TIL", "TIL_LTE_TIL", "TIL_LT_TIL", "TIL_STAR",
|
||||||
|
"TIL_TIL", "SEMI", "ErrorCharacter" ];
|
||||||
|
|
||||||
|
constructor(input) {
|
||||||
|
super(input)
|
||||||
|
this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
|
||||||
|
}
|
||||||
|
|
||||||
|
get atn() {
|
||||||
|
return atn;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BaserowFormulaLexer.prototype = Object.create(antlr4.Lexer.prototype);
|
|
||||||
BaserowFormulaLexer.prototype.constructor = BaserowFormulaLexer;
|
|
||||||
|
|
||||||
Object.defineProperty(BaserowFormulaLexer.prototype, "atn", {
|
|
||||||
get : function() {
|
|
||||||
return atn;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
BaserowFormulaLexer.EOF = antlr4.Token.EOF;
|
BaserowFormulaLexer.EOF = antlr4.Token.EOF;
|
||||||
BaserowFormulaLexer.BLOCK_COMMENT = 1;
|
BaserowFormulaLexer.BLOCK_COMMENT = 1;
|
||||||
BaserowFormulaLexer.LINE_COMMENT = 2;
|
BaserowFormulaLexer.LINE_COMMENT = 2;
|
||||||
|
@ -512,110 +568,5 @@ BaserowFormulaLexer.TIL_TIL = 81;
|
||||||
BaserowFormulaLexer.SEMI = 82;
|
BaserowFormulaLexer.SEMI = 82;
|
||||||
BaserowFormulaLexer.ErrorCharacter = 83;
|
BaserowFormulaLexer.ErrorCharacter = 83;
|
||||||
|
|
||||||
BaserowFormulaLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
|
|
||||||
|
|
||||||
BaserowFormulaLexer.prototype.modeNames = [ "DEFAULT_MODE" ];
|
|
||||||
|
|
||||||
BaserowFormulaLexer.prototype.literalNames = [ null, null, null, null, null,
|
|
||||||
null, null, null, null, "','",
|
|
||||||
"':'", "'::'", "'$'", "'$$'",
|
|
||||||
"'*'", "'('", "')'", "'['",
|
|
||||||
"']'", null, null, null,
|
|
||||||
null, null, "'.'", null,
|
|
||||||
null, null, null, "'&'",
|
|
||||||
"'&&'", "'&<'", "'@@'", "'@>'",
|
|
||||||
"'@'", "'!'", "'!!'", "'!='",
|
|
||||||
"'^'", "'='", "'=>'", "'>'",
|
|
||||||
"'>='", "'>>'", "'#'", "'#='",
|
|
||||||
"'#>'", "'#>>'", "'##'",
|
|
||||||
"'->'", "'->>'", "'-|-'",
|
|
||||||
"'<'", "'<='", "'<@'", "'<^'",
|
|
||||||
"'<>'", "'<->'", "'<<'",
|
|
||||||
"'<<='", "'<?>'", "'-'",
|
|
||||||
"'%'", "'|'", "'||'", "'||/'",
|
|
||||||
"'|/'", "'+'", "'?'", "'?&'",
|
|
||||||
"'?#'", "'?-'", "'?|'", "'/'",
|
|
||||||
"'~'", "'~='", "'~>=~'",
|
|
||||||
"'~>~'", "'~<=~'", "'~<~'",
|
|
||||||
"'~*'", "'~~'", "';'" ];
|
|
||||||
|
|
||||||
BaserowFormulaLexer.prototype.symbolicNames = [ null, "BLOCK_COMMENT", "LINE_COMMENT",
|
|
||||||
"WHITESPACE", "TRUE", "FALSE",
|
|
||||||
"FIELD", "FIELDBYID", "LOOKUP",
|
|
||||||
"COMMA", "COLON", "COLON_COLON",
|
|
||||||
"DOLLAR", "DOLLAR_DOLLAR",
|
|
||||||
"STAR", "OPEN_PAREN", "CLOSE_PAREN",
|
|
||||||
"OPEN_BRACKET", "CLOSE_BRACKET",
|
|
||||||
"BIT_STRING", "REGEX_STRING",
|
|
||||||
"NUMERIC_LITERAL", "INTEGER_LITERAL",
|
|
||||||
"HEX_INTEGER_LITERAL", "DOT",
|
|
||||||
"SINGLEQ_STRING_LITERAL",
|
|
||||||
"DOUBLEQ_STRING_LITERAL",
|
|
||||||
"IDENTIFIER", "IDENTIFIER_UNICODE",
|
|
||||||
"AMP", "AMP_AMP", "AMP_LT",
|
|
||||||
"AT_AT", "AT_GT", "AT_SIGN",
|
|
||||||
"BANG", "BANG_BANG", "BANG_EQUAL",
|
|
||||||
"CARET", "EQUAL", "EQUAL_GT",
|
|
||||||
"GT", "GTE", "GT_GT", "HASH",
|
|
||||||
"HASH_EQ", "HASH_GT", "HASH_GT_GT",
|
|
||||||
"HASH_HASH", "HYPHEN_GT",
|
|
||||||
"HYPHEN_GT_GT", "HYPHEN_PIPE_HYPHEN",
|
|
||||||
"LT", "LTE", "LT_AT", "LT_CARET",
|
|
||||||
"LT_GT", "LT_HYPHEN_GT",
|
|
||||||
"LT_LT", "LT_LT_EQ", "LT_QMARK_GT",
|
|
||||||
"MINUS", "PERCENT", "PIPE",
|
|
||||||
"PIPE_PIPE", "PIPE_PIPE_SLASH",
|
|
||||||
"PIPE_SLASH", "PLUS", "QMARK",
|
|
||||||
"QMARK_AMP", "QMARK_HASH",
|
|
||||||
"QMARK_HYPHEN", "QMARK_PIPE",
|
|
||||||
"SLASH", "TIL", "TIL_EQ",
|
|
||||||
"TIL_GTE_TIL", "TIL_GT_TIL",
|
|
||||||
"TIL_LTE_TIL", "TIL_LT_TIL",
|
|
||||||
"TIL_STAR", "TIL_TIL", "SEMI",
|
|
||||||
"ErrorCharacter" ];
|
|
||||||
|
|
||||||
BaserowFormulaLexer.prototype.ruleNames = [ "A", "B", "C", "D", "E", "F",
|
|
||||||
"G", "H", "I", "J", "K", "L",
|
|
||||||
"M", "N", "O", "P", "Q", "R",
|
|
||||||
"S", "T", "U", "V", "W", "X",
|
|
||||||
"Y", "Z", "UNDERSCORE", "HEX_DIGIT",
|
|
||||||
"DEC_DIGIT", "DQUOTA_STRING",
|
|
||||||
"SQUOTA_STRING", "BQUOTA_STRING",
|
|
||||||
"BLOCK_COMMENT", "LINE_COMMENT",
|
|
||||||
"WHITESPACE", "TRUE", "FALSE",
|
|
||||||
"FIELD", "FIELDBYID", "LOOKUP",
|
|
||||||
"COMMA", "COLON", "COLON_COLON",
|
|
||||||
"DOLLAR", "DOLLAR_DOLLAR", "STAR",
|
|
||||||
"OPEN_PAREN", "CLOSE_PAREN",
|
|
||||||
"OPEN_BRACKET", "CLOSE_BRACKET",
|
|
||||||
"BIT_STRING", "REGEX_STRING",
|
|
||||||
"NUMERIC_LITERAL", "INTEGER_LITERAL",
|
|
||||||
"HEX_INTEGER_LITERAL", "DOT",
|
|
||||||
"SINGLEQ_STRING_LITERAL", "DOUBLEQ_STRING_LITERAL",
|
|
||||||
"IDENTIFIER", "IDENTIFIER_UNICODE",
|
|
||||||
"AMP", "AMP_AMP", "AMP_LT",
|
|
||||||
"AT_AT", "AT_GT", "AT_SIGN",
|
|
||||||
"BANG", "BANG_BANG", "BANG_EQUAL",
|
|
||||||
"CARET", "EQUAL", "EQUAL_GT",
|
|
||||||
"GT", "GTE", "GT_GT", "HASH",
|
|
||||||
"HASH_EQ", "HASH_GT", "HASH_GT_GT",
|
|
||||||
"HASH_HASH", "HYPHEN_GT", "HYPHEN_GT_GT",
|
|
||||||
"HYPHEN_PIPE_HYPHEN", "LT",
|
|
||||||
"LTE", "LT_AT", "LT_CARET",
|
|
||||||
"LT_GT", "LT_HYPHEN_GT", "LT_LT",
|
|
||||||
"LT_LT_EQ", "LT_QMARK_GT", "MINUS",
|
|
||||||
"PERCENT", "PIPE", "PIPE_PIPE",
|
|
||||||
"PIPE_PIPE_SLASH", "PIPE_SLASH",
|
|
||||||
"PLUS", "QMARK", "QMARK_AMP",
|
|
||||||
"QMARK_HASH", "QMARK_HYPHEN",
|
|
||||||
"QMARK_PIPE", "SLASH", "TIL",
|
|
||||||
"TIL_EQ", "TIL_GTE_TIL", "TIL_GT_TIL",
|
|
||||||
"TIL_LTE_TIL", "TIL_LT_TIL",
|
|
||||||
"TIL_STAR", "TIL_TIL", "SEMI",
|
|
||||||
"ErrorCharacter" ];
|
|
||||||
|
|
||||||
BaserowFormulaLexer.prototype.grammarFileName = "BaserowFormulaLexer.g4";
|
|
||||||
|
|
||||||
|
|
||||||
exports.BaserowFormulaLexer = BaserowFormulaLexer;
|
|
||||||
|
|
||||||
|
|
|
@ -1,168 +1,162 @@
|
||||||
// Generated from BaserowFormula.g4 by ANTLR 4.8
|
// Generated from BaserowFormula.g4 by ANTLR 4.9
|
||||||
// jshint ignore: start
|
// jshint ignore: start
|
||||||
var antlr4 = require('antlr4/index');
|
import antlr4 from 'antlr4';
|
||||||
|
|
||||||
// This class defines a complete listener for a parse tree produced by BaserowFormula.
|
// This class defines a complete listener for a parse tree produced by BaserowFormula.
|
||||||
function BaserowFormulaListener() {
|
export default class BaserowFormulaListener extends antlr4.tree.ParseTreeListener {
|
||||||
antlr4.tree.ParseTreeListener.call(this);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
BaserowFormulaListener.prototype = Object.create(antlr4.tree.ParseTreeListener.prototype);
|
// Enter a parse tree produced by BaserowFormula#root.
|
||||||
BaserowFormulaListener.prototype.constructor = BaserowFormulaListener;
|
enterRoot(ctx) {
|
||||||
|
}
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#root.
|
// Exit a parse tree produced by BaserowFormula#root.
|
||||||
BaserowFormulaListener.prototype.enterRoot = function(ctx) {
|
exitRoot(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#root.
|
|
||||||
BaserowFormulaListener.prototype.exitRoot = function(ctx) {
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#FieldReference.
|
// Enter a parse tree produced by BaserowFormula#FieldReference.
|
||||||
BaserowFormulaListener.prototype.enterFieldReference = function(ctx) {
|
enterFieldReference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#FieldReference.
|
// Exit a parse tree produced by BaserowFormula#FieldReference.
|
||||||
BaserowFormulaListener.prototype.exitFieldReference = function(ctx) {
|
exitFieldReference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#StringLiteral.
|
// Enter a parse tree produced by BaserowFormula#StringLiteral.
|
||||||
BaserowFormulaListener.prototype.enterStringLiteral = function(ctx) {
|
enterStringLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#StringLiteral.
|
// Exit a parse tree produced by BaserowFormula#StringLiteral.
|
||||||
BaserowFormulaListener.prototype.exitStringLiteral = function(ctx) {
|
exitStringLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#Brackets.
|
// Enter a parse tree produced by BaserowFormula#Brackets.
|
||||||
BaserowFormulaListener.prototype.enterBrackets = function(ctx) {
|
enterBrackets(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#Brackets.
|
// Exit a parse tree produced by BaserowFormula#Brackets.
|
||||||
BaserowFormulaListener.prototype.exitBrackets = function(ctx) {
|
exitBrackets(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#BooleanLiteral.
|
// Enter a parse tree produced by BaserowFormula#BooleanLiteral.
|
||||||
BaserowFormulaListener.prototype.enterBooleanLiteral = function(ctx) {
|
enterBooleanLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#BooleanLiteral.
|
// Exit a parse tree produced by BaserowFormula#BooleanLiteral.
|
||||||
BaserowFormulaListener.prototype.exitBooleanLiteral = function(ctx) {
|
exitBooleanLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
|
// Enter a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
|
||||||
BaserowFormulaListener.prototype.enterRightWhitespaceOrComments = function(ctx) {
|
enterRightWhitespaceOrComments(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
|
// Exit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
|
||||||
BaserowFormulaListener.prototype.exitRightWhitespaceOrComments = function(ctx) {
|
exitRightWhitespaceOrComments(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#DecimalLiteral.
|
// Enter a parse tree produced by BaserowFormula#DecimalLiteral.
|
||||||
BaserowFormulaListener.prototype.enterDecimalLiteral = function(ctx) {
|
enterDecimalLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#DecimalLiteral.
|
// Exit a parse tree produced by BaserowFormula#DecimalLiteral.
|
||||||
BaserowFormulaListener.prototype.exitDecimalLiteral = function(ctx) {
|
exitDecimalLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
|
// Enter a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
|
||||||
BaserowFormulaListener.prototype.enterLeftWhitespaceOrComments = function(ctx) {
|
enterLeftWhitespaceOrComments(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
|
// Exit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
|
||||||
BaserowFormulaListener.prototype.exitLeftWhitespaceOrComments = function(ctx) {
|
exitLeftWhitespaceOrComments(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#FunctionCall.
|
// Enter a parse tree produced by BaserowFormula#FunctionCall.
|
||||||
BaserowFormulaListener.prototype.enterFunctionCall = function(ctx) {
|
enterFunctionCall(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#FunctionCall.
|
// Exit a parse tree produced by BaserowFormula#FunctionCall.
|
||||||
BaserowFormulaListener.prototype.exitFunctionCall = function(ctx) {
|
exitFunctionCall(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#FieldByIdReference.
|
// Enter a parse tree produced by BaserowFormula#FieldByIdReference.
|
||||||
BaserowFormulaListener.prototype.enterFieldByIdReference = function(ctx) {
|
enterFieldByIdReference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#FieldByIdReference.
|
// Exit a parse tree produced by BaserowFormula#FieldByIdReference.
|
||||||
BaserowFormulaListener.prototype.exitFieldByIdReference = function(ctx) {
|
exitFieldByIdReference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#LookupFieldReference.
|
// Enter a parse tree produced by BaserowFormula#LookupFieldReference.
|
||||||
BaserowFormulaListener.prototype.enterLookupFieldReference = function(ctx) {
|
enterLookupFieldReference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#LookupFieldReference.
|
// Exit a parse tree produced by BaserowFormula#LookupFieldReference.
|
||||||
BaserowFormulaListener.prototype.exitLookupFieldReference = function(ctx) {
|
exitLookupFieldReference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#IntegerLiteral.
|
// Enter a parse tree produced by BaserowFormula#IntegerLiteral.
|
||||||
BaserowFormulaListener.prototype.enterIntegerLiteral = function(ctx) {
|
enterIntegerLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#IntegerLiteral.
|
// Exit a parse tree produced by BaserowFormula#IntegerLiteral.
|
||||||
BaserowFormulaListener.prototype.exitIntegerLiteral = function(ctx) {
|
exitIntegerLiteral(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#BinaryOp.
|
// Enter a parse tree produced by BaserowFormula#BinaryOp.
|
||||||
BaserowFormulaListener.prototype.enterBinaryOp = function(ctx) {
|
enterBinaryOp(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#BinaryOp.
|
// Exit a parse tree produced by BaserowFormula#BinaryOp.
|
||||||
BaserowFormulaListener.prototype.exitBinaryOp = function(ctx) {
|
exitBinaryOp(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#ws_or_comment.
|
// Enter a parse tree produced by BaserowFormula#ws_or_comment.
|
||||||
BaserowFormulaListener.prototype.enterWs_or_comment = function(ctx) {
|
enterWs_or_comment(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#ws_or_comment.
|
// Exit a parse tree produced by BaserowFormula#ws_or_comment.
|
||||||
BaserowFormulaListener.prototype.exitWs_or_comment = function(ctx) {
|
exitWs_or_comment(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#func_name.
|
// Enter a parse tree produced by BaserowFormula#func_name.
|
||||||
BaserowFormulaListener.prototype.enterFunc_name = function(ctx) {
|
enterFunc_name(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#func_name.
|
// Exit a parse tree produced by BaserowFormula#func_name.
|
||||||
BaserowFormulaListener.prototype.exitFunc_name = function(ctx) {
|
exitFunc_name(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#field_reference.
|
// Enter a parse tree produced by BaserowFormula#field_reference.
|
||||||
BaserowFormulaListener.prototype.enterField_reference = function(ctx) {
|
enterField_reference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#field_reference.
|
// Exit a parse tree produced by BaserowFormula#field_reference.
|
||||||
BaserowFormulaListener.prototype.exitField_reference = function(ctx) {
|
exitField_reference(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Enter a parse tree produced by BaserowFormula#identifier.
|
// Enter a parse tree produced by BaserowFormula#identifier.
|
||||||
BaserowFormulaListener.prototype.enterIdentifier = function(ctx) {
|
enterIdentifier(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
// Exit a parse tree produced by BaserowFormula#identifier.
|
// Exit a parse tree produced by BaserowFormula#identifier.
|
||||||
BaserowFormulaListener.prototype.exitIdentifier = function(ctx) {
|
exitIdentifier(ctx) {
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
exports.BaserowFormulaListener = BaserowFormulaListener;
|
}
|
|
@ -1,118 +1,112 @@
|
||||||
// Generated from BaserowFormula.g4 by ANTLR 4.8
|
// Generated from BaserowFormula.g4 by ANTLR 4.9
|
||||||
// jshint ignore: start
|
// jshint ignore: start
|
||||||
var antlr4 = require('antlr4/index');
|
import antlr4 from 'antlr4';
|
||||||
|
|
||||||
// This class defines a complete generic visitor for a parse tree produced by BaserowFormula.
|
// This class defines a complete generic visitor for a parse tree produced by BaserowFormula.
|
||||||
|
|
||||||
function BaserowFormulaVisitor() {
|
export default class BaserowFormulaVisitor extends antlr4.tree.ParseTreeVisitor {
|
||||||
antlr4.tree.ParseTreeVisitor.call(this);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
BaserowFormulaVisitor.prototype = Object.create(antlr4.tree.ParseTreeVisitor.prototype);
|
// Visit a parse tree produced by BaserowFormula#root.
|
||||||
BaserowFormulaVisitor.prototype.constructor = BaserowFormulaVisitor;
|
visitRoot(ctx) {
|
||||||
|
return this.visitChildren(ctx);
|
||||||
// Visit a parse tree produced by BaserowFormula#root.
|
}
|
||||||
BaserowFormulaVisitor.prototype.visitRoot = function(ctx) {
|
|
||||||
return this.visitChildren(ctx);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#FieldReference.
|
// Visit a parse tree produced by BaserowFormula#FieldReference.
|
||||||
BaserowFormulaVisitor.prototype.visitFieldReference = function(ctx) {
|
visitFieldReference(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#StringLiteral.
|
// Visit a parse tree produced by BaserowFormula#StringLiteral.
|
||||||
BaserowFormulaVisitor.prototype.visitStringLiteral = function(ctx) {
|
visitStringLiteral(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#Brackets.
|
// Visit a parse tree produced by BaserowFormula#Brackets.
|
||||||
BaserowFormulaVisitor.prototype.visitBrackets = function(ctx) {
|
visitBrackets(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#BooleanLiteral.
|
// Visit a parse tree produced by BaserowFormula#BooleanLiteral.
|
||||||
BaserowFormulaVisitor.prototype.visitBooleanLiteral = function(ctx) {
|
visitBooleanLiteral(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
|
// Visit a parse tree produced by BaserowFormula#RightWhitespaceOrComments.
|
||||||
BaserowFormulaVisitor.prototype.visitRightWhitespaceOrComments = function(ctx) {
|
visitRightWhitespaceOrComments(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#DecimalLiteral.
|
// Visit a parse tree produced by BaserowFormula#DecimalLiteral.
|
||||||
BaserowFormulaVisitor.prototype.visitDecimalLiteral = function(ctx) {
|
visitDecimalLiteral(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
|
// Visit a parse tree produced by BaserowFormula#LeftWhitespaceOrComments.
|
||||||
BaserowFormulaVisitor.prototype.visitLeftWhitespaceOrComments = function(ctx) {
|
visitLeftWhitespaceOrComments(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#FunctionCall.
|
// Visit a parse tree produced by BaserowFormula#FunctionCall.
|
||||||
BaserowFormulaVisitor.prototype.visitFunctionCall = function(ctx) {
|
visitFunctionCall(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#FieldByIdReference.
|
// Visit a parse tree produced by BaserowFormula#FieldByIdReference.
|
||||||
BaserowFormulaVisitor.prototype.visitFieldByIdReference = function(ctx) {
|
visitFieldByIdReference(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#LookupFieldReference.
|
// Visit a parse tree produced by BaserowFormula#LookupFieldReference.
|
||||||
BaserowFormulaVisitor.prototype.visitLookupFieldReference = function(ctx) {
|
visitLookupFieldReference(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#IntegerLiteral.
|
// Visit a parse tree produced by BaserowFormula#IntegerLiteral.
|
||||||
BaserowFormulaVisitor.prototype.visitIntegerLiteral = function(ctx) {
|
visitIntegerLiteral(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#BinaryOp.
|
// Visit a parse tree produced by BaserowFormula#BinaryOp.
|
||||||
BaserowFormulaVisitor.prototype.visitBinaryOp = function(ctx) {
|
visitBinaryOp(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#ws_or_comment.
|
// Visit a parse tree produced by BaserowFormula#ws_or_comment.
|
||||||
BaserowFormulaVisitor.prototype.visitWs_or_comment = function(ctx) {
|
visitWs_or_comment(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#func_name.
|
// Visit a parse tree produced by BaserowFormula#func_name.
|
||||||
BaserowFormulaVisitor.prototype.visitFunc_name = function(ctx) {
|
visitFunc_name(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#field_reference.
|
// Visit a parse tree produced by BaserowFormula#field_reference.
|
||||||
BaserowFormulaVisitor.prototype.visitField_reference = function(ctx) {
|
visitField_reference(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
// Visit a parse tree produced by BaserowFormula#identifier.
|
// Visit a parse tree produced by BaserowFormula#identifier.
|
||||||
BaserowFormulaVisitor.prototype.visitIdentifier = function(ctx) {
|
visitIdentifier(ctx) {
|
||||||
return this.visitChildren(ctx);
|
return this.visitChildren(ctx);
|
||||||
};
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
exports.BaserowFormulaVisitor = BaserowFormulaVisitor;
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
import antlr4 from 'antlr4'
|
import antlr4 from 'antlr4'
|
||||||
import { BufferedTokenStream } from 'antlr4/BufferedTokenStream'
|
import BaserowFormulaLexer from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
|
||||||
import { BaserowFormulaLexer } from '@baserow/modules/database/formula/parser/generated/BaserowFormulaLexer'
|
import BaserowFormula from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
|
||||||
import { BaserowFormula } from '@baserow/modules/database/formula/parser/generated/BaserowFormula'
|
|
||||||
import BaserowFormulaParserError from '@baserow/modules/database/formula/parser/errors'
|
import BaserowFormulaParserError from '@baserow/modules/database/formula/parser/errors'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -30,7 +29,7 @@ export default function parseBaserowFormula(formula) {
|
||||||
export function getTokenStreamForFormula(formula) {
|
export function getTokenStreamForFormula(formula) {
|
||||||
const chars = new antlr4.InputStream(formula)
|
const chars = new antlr4.InputStream(formula)
|
||||||
const lexer = new BaserowFormulaLexer(chars)
|
const lexer = new BaserowFormulaLexer(chars)
|
||||||
const stream = new BufferedTokenStream(lexer)
|
const stream = new antlr4.CommonTokenStream(lexer)
|
||||||
stream.lazyInit()
|
stream.lazyInit()
|
||||||
stream.fill()
|
stream.fill()
|
||||||
return stream
|
return stream
|
||||||
|
|
|
@ -47,7 +47,9 @@ export default ({ service, customPopulateRow }) => {
|
||||||
if (customPopulateRow) {
|
if (customPopulateRow) {
|
||||||
customPopulateRow(row)
|
customPopulateRow(row)
|
||||||
}
|
}
|
||||||
row._ ??= {}
|
if (row._ == null) {
|
||||||
|
row._ = {}
|
||||||
|
}
|
||||||
// Matching rows for front-end only search is not yet properly
|
// Matching rows for front-end only search is not yet properly
|
||||||
// supported and tested in this store mixin. Only server-side search
|
// supported and tested in this store mixin. Only server-side search
|
||||||
// implementation is finished.
|
// implementation is finished.
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
"description": "Baserow: open source no-code database web frontend.",
|
"description": "Baserow: open source no-code database web frontend.",
|
||||||
"author": "Bram Wiepjes (Baserow)",
|
"author": "Bram Wiepjes (Baserow)",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16.14.0 <17"
|
||||||
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "nuxt build",
|
"build": "nuxt build",
|
||||||
"build-local": "nuxt build --config-file ./config/nuxt.config.local.js",
|
"build-local": "nuxt build --config-file ./config/nuxt.config.local.js",
|
||||||
|
@ -18,7 +21,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-free": "^5.15.3",
|
"@fortawesome/fontawesome-free": "^5.15.3",
|
||||||
"@nuxtjs/i18n": "^7.2.0",
|
"@nuxtjs/i18n": "^7.2.0",
|
||||||
"antlr4": "4.8.0",
|
"antlr4": "4.9.3",
|
||||||
"async-mutex": "^0.3.1",
|
"async-mutex": "^0.3.1",
|
||||||
"axios": "^0.25.0",
|
"axios": "^0.25.0",
|
||||||
"bignumber.js": "^9.0.1",
|
"bignumber.js": "^9.0.1",
|
||||||
|
@ -32,7 +35,7 @@
|
||||||
"moment-timezone": "^0.5.33",
|
"moment-timezone": "^0.5.33",
|
||||||
"node-sass": "^6.0.1",
|
"node-sass": "^6.0.1",
|
||||||
"normalize-scss": "^7.0.1",
|
"normalize-scss": "^7.0.1",
|
||||||
"nuxt": "^2.15.7",
|
"nuxt": "^2.15.8",
|
||||||
"nuxt-env": "^0.1.0",
|
"nuxt-env": "^0.1.0",
|
||||||
"papaparse": "^5.3.1",
|
"papaparse": "^5.3.1",
|
||||||
"resize-observer-polyfill": "^1.5.1",
|
"resize-observer-polyfill": "^1.5.1",
|
||||||
|
@ -75,4 +78,4 @@
|
||||||
"stylelint-webpack-plugin": "^3.0.1",
|
"stylelint-webpack-plugin": "^3.0.1",
|
||||||
"vue-jest": "^3.0.3"
|
"vue-jest": "^3.0.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1354,15 +1354,15 @@
|
||||||
core-js-compat "^3.12.1"
|
core-js-compat "^3.12.1"
|
||||||
regenerator-runtime "^0.13.7"
|
regenerator-runtime "^0.13.7"
|
||||||
|
|
||||||
"@nuxt/builder@2.15.7":
|
"@nuxt/builder@2.15.8":
|
||||||
version "2.15.7"
|
version "2.15.8"
|
||||||
resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.15.7.tgz#4703c9d21756128f4ebfbf14e7b099bee7463626"
|
resolved "https://registry.yarnpkg.com/@nuxt/builder/-/builder-2.15.8.tgz#66ead4be0a2ce6932a2b7e521cfe1621e49290e7"
|
||||||
integrity sha512-vVZvcgvhL05Omp9AuqdDz2zfhBOmCXpVyt1IBUqR99QaorLICGg2iIHC42exj9yN3rBrpURQwb1OrIgt5o5KDQ==
|
integrity sha512-WVhN874LFMdgRiJqpxmeKI+vh5lhCUBVOyR9PhL1m1V/GV3fb+Dqc1BKS6XgayrWAWavPLveCJmQ/FID0puOfQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@nuxt/devalue" "^1.2.5"
|
"@nuxt/devalue" "^1.2.5"
|
||||||
"@nuxt/utils" "2.15.7"
|
"@nuxt/utils" "2.15.8"
|
||||||
"@nuxt/vue-app" "2.15.7"
|
"@nuxt/vue-app" "2.15.8"
|
||||||
"@nuxt/webpack" "2.15.7"
|
"@nuxt/webpack" "2.15.8"
|
||||||
chalk "^4.1.1"
|
chalk "^4.1.1"
|
||||||
chokidar "^3.5.1"
|
chokidar "^3.5.1"
|
||||||
consola "^2.15.3"
|
consola "^2.15.3"
|
||||||
|
@ -1375,13 +1375,13 @@
|
||||||
serialize-javascript "^5.0.1"
|
serialize-javascript "^5.0.1"
|
||||||
upath "^2.0.1"
|
upath "^2.0.1"
|
||||||
|
|
||||||
"@nuxt/cli@2.15.7":
|
"@nuxt/cli@2.15.8":
|
||||||
version "2.15.7"
|
version "2.15.8"
|
||||||
resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.15.7.tgz#21fb8a969bc5e222aa95289fcccc44f9ff7c5549"
|
resolved "https://registry.yarnpkg.com/@nuxt/cli/-/cli-2.15.8.tgz#3b946ee08c7b5b3223c8952873c65727e775ec30"
|
||||||
integrity sha512-rbJqmHuN+ZftSpQNzgiaGP2L2pt45kCbWjCmLUF9pPYQ1pysl9GHVb+1LFf1Wn4wczJckH3Jc9Pl9r2KsLAteA==
|
integrity sha512-KcGIILW/dAjBKea1DHsuLCG1sNzhzETShwT23DhXWO304qL8ljf4ndYKzn2RenzauGRGz7MREta80CbJCkLSHw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@nuxt/config" "2.15.7"
|
"@nuxt/config" "2.15.8"
|
||||||
"@nuxt/utils" "2.15.7"
|
"@nuxt/utils" "2.15.8"
|
||||||
boxen "^5.0.1"
|
boxen "^5.0.1"
|
||||||
chalk "^4.1.1"
|
chalk "^4.1.1"
|
||||||
compression "^1.7.4"
|
compression "^1.7.4"
|
||||||
|
|
Loading…
Add table
Reference in a new issue