@univerjs/engine-formula 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +3186 -2830
- package/lib/types/basics/calculate.d.ts +1 -15
- package/lib/types/basics/common.d.ts +17 -17
- package/lib/types/basics/dirty.d.ts +2 -16
- package/lib/types/basics/function.d.ts +23 -33
- package/lib/types/basics/match-token.d.ts +1 -15
- package/lib/types/basics/object-class-type.d.ts +2 -15
- package/lib/types/basics/runtime.d.ts +2 -16
- package/lib/types/commands/mutations/register-function.mutation.d.ts +2 -16
- package/lib/types/commands/mutations/set-array-formula-data.mutation.d.ts +4 -18
- package/lib/types/commands/mutations/set-defined-name.mutation.d.ts +14 -18
- package/lib/types/commands/mutations/set-feature-calculation.mutation.d.ts +3 -17
- package/lib/types/commands/mutations/set-formula-calculation.mutation.d.ts +6 -18
- package/lib/types/commands/mutations/set-formula-data.mutation.d.ts +3 -17
- package/lib/types/commands/mutations/set-numfmt-formula-data.mutation.d.ts +3 -17
- package/lib/types/commands/mutations/set-other-formula.mutation.d.ts +15 -19
- package/lib/types/commands/mutations/set-super-table.mutation.d.ts +4 -18
- package/lib/types/commands/mutations/unregister-function.mutation.d.ts +2 -16
- package/lib/types/controller/calculate.controller.d.ts +3 -17
- package/lib/types/controller/formula.controller.d.ts +5 -20
- package/lib/types/controller/register-function.controller.d.ts +3 -17
- package/lib/types/controller/set-defined-name.controller.d.ts +2 -16
- package/lib/types/controller/set-feature-calculation.controller.d.ts +2 -16
- package/lib/types/controller/set-other-formula.controller.d.ts +2 -16
- package/lib/types/controller/set-super-table.controller.d.ts +2 -16
- package/lib/types/engine/analysis/__tests__/create-command-test-bed.d.ts +11 -26
- package/lib/types/engine/analysis/lexer-node.d.ts +7 -17
- package/lib/types/engine/analysis/lexer-tree-builder.d.ts +9 -20
- package/lib/types/engine/analysis/lexer.d.ts +10 -21
- package/lib/types/engine/analysis/parser.d.ts +14 -29
- package/lib/types/engine/ast-node/ast-root-node.d.ts +4 -18
- package/lib/types/engine/ast-node/base-ast-node-factory.d.ts +3 -18
- package/lib/types/engine/ast-node/base-ast-node.d.ts +9 -21
- package/lib/types/engine/ast-node/function-node.d.ts +10 -24
- package/lib/types/engine/ast-node/lambda-node.d.ts +6 -20
- package/lib/types/engine/ast-node/lambda-parameter-node.d.ts +4 -19
- package/lib/types/engine/ast-node/null-node.d.ts +2 -16
- package/lib/types/engine/ast-node/operator-node.d.ts +6 -20
- package/lib/types/engine/ast-node/prefix-node.d.ts +8 -23
- package/lib/types/engine/ast-node/reference-node.d.ts +10 -27
- package/lib/types/engine/ast-node/suffix-node.d.ts +7 -22
- package/lib/types/engine/ast-node/union-node.d.ts +5 -19
- package/lib/types/engine/ast-node/value-node.d.ts +4 -18
- package/lib/types/engine/dependency/dependency-tree.d.ts +4 -19
- package/lib/types/engine/dependency/formula-dependency.d.ts +12 -25
- package/lib/types/engine/interpreter/interpreter.d.ts +6 -20
- package/lib/types/engine/reference-object/base-reference-object.d.ts +20 -32
- package/lib/types/engine/reference-object/cell-reference-object.d.ts +4 -18
- package/lib/types/engine/reference-object/column-reference-object.d.ts +2 -16
- package/lib/types/engine/reference-object/range-reference-object.d.ts +2 -16
- package/lib/types/engine/reference-object/row-reference-object.d.ts +2 -16
- package/lib/types/engine/reference-object/table-reference-object.d.ts +2 -17
- package/lib/types/engine/utils/array-object.d.ts +3 -17
- package/lib/types/engine/utils/ast-node-tool.d.ts +3 -17
- package/lib/types/engine/utils/cell.d.ts +2 -16
- package/lib/types/engine/utils/compare.d.ts +1 -15
- package/lib/types/engine/utils/function-definition.d.ts +1 -15
- package/lib/types/engine/utils/node-type.d.ts +5 -19
- package/lib/types/engine/utils/object-compare.d.ts +2 -16
- package/lib/types/engine/utils/prefixHandler.d.ts +4 -18
- package/lib/types/engine/utils/r1c1-reference.d.ts +2 -16
- package/lib/types/engine/utils/reference.d.ts +2 -17
- package/lib/types/engine/utils/relative-formula.d.ts +4 -0
- package/lib/types/engine/utils/sequence.d.ts +2 -16
- package/lib/types/engine/utils/value-object.d.ts +6 -0
- package/lib/types/engine/value-object/array-value-object.d.ts +5 -20
- package/lib/types/engine/value-object/base-value-object.d.ts +6 -21
- package/lib/types/engine/value-object/cube-value-object.d.ts +3 -17
- package/lib/types/engine/value-object/lambda-value-object.d.ts +4 -18
- package/lib/types/engine/value-object/primitive-object.d.ts +3 -17
- package/lib/types/functions/__tests__/create-function-test-bed.d.ts +13 -26
- package/lib/types/functions/base-function.d.ts +8 -24
- package/lib/types/functions/compatibility/function-map.d.ts +2 -16
- package/lib/types/functions/date/date/index.d.ts +2 -16
- package/lib/types/functions/date/day/index.d.ts +2 -16
- package/lib/types/functions/date/edate/index.d.ts +2 -16
- package/lib/types/functions/date/function-map.d.ts +2 -16
- package/lib/types/functions/date/month/index.d.ts +2 -16
- package/lib/types/functions/date/today/index.d.ts +3 -18
- package/lib/types/functions/date/year/index.d.ts +2 -16
- package/lib/types/functions/information/function-map.d.ts +2 -16
- package/lib/types/functions/information/isblank/index.d.ts +2 -16
- package/lib/types/functions/information/iserr/index.d.ts +2 -16
- package/lib/types/functions/information/iserror/index.d.ts +2 -16
- package/lib/types/functions/information/islogical/index.d.ts +2 -16
- package/lib/types/functions/information/isna/index.d.ts +2 -16
- package/lib/types/functions/information/isnontext/index.d.ts +2 -16
- package/lib/types/functions/information/isnumber/index.d.ts +2 -16
- package/lib/types/functions/information/isref/index.d.ts +3 -17
- package/lib/types/functions/information/istext/index.d.ts +2 -16
- package/lib/types/functions/logical/and/index.d.ts +2 -16
- package/lib/types/functions/logical/function-map.d.ts +4 -18
- package/lib/types/functions/logical/if/index.d.ts +2 -16
- package/lib/types/functions/logical/iferror/index.d.ts +3 -17
- package/lib/types/functions/logical/lambda/index.d.ts +2 -16
- package/lib/types/functions/logical/makearray/index.d.ts +3 -17
- package/lib/types/functions/logical/or/index.d.ts +2 -16
- package/lib/types/functions/lookup/address/index.d.ts +2 -16
- package/lib/types/functions/lookup/column/index.d.ts +3 -17
- package/lib/types/functions/lookup/columns/index.d.ts +2 -16
- package/lib/types/functions/lookup/function-map.d.ts +12 -22
- package/lib/types/functions/lookup/hlookup/index.d.ts +2 -16
- package/lib/types/functions/lookup/index/index.d.ts +3 -19
- package/lib/types/functions/lookup/indirect/index.d.ts +3 -17
- package/lib/types/functions/lookup/lookup/index.d.ts +3 -17
- package/lib/types/functions/lookup/match/index.d.ts +3 -17
- package/lib/types/functions/lookup/offset/index.d.ts +4 -18
- package/lib/types/functions/lookup/row/index.d.ts +3 -17
- package/lib/types/functions/lookup/rows/index.d.ts +2 -16
- package/lib/types/functions/lookup/vlookup/index.d.ts +5 -17
- package/lib/types/functions/lookup/xlookup/index.d.ts +3 -17
- package/lib/types/functions/lookup/xmatch/index.d.ts +3 -17
- package/lib/types/functions/math/abs/index.d.ts +2 -16
- package/lib/types/functions/math/acos/index.d.ts +2 -16
- package/lib/types/functions/math/acosh/index.d.ts +2 -16
- package/lib/types/functions/math/acot/index.d.ts +2 -16
- package/lib/types/functions/math/function-map.d.ts +4 -18
- package/lib/types/functions/math/mod/index.d.ts +2 -16
- package/lib/types/functions/math/power/index.d.ts +2 -16
- package/lib/types/functions/math/product/index.d.ts +2 -16
- package/lib/types/functions/math/subtotal/index.d.ts +3 -17
- package/lib/types/functions/math/sum/index.d.ts +2 -16
- package/lib/types/functions/math/sumif/index.d.ts +2 -16
- package/lib/types/functions/math/sumifs/index.d.ts +3 -18
- package/lib/types/functions/meta/compare/index.d.ts +3 -17
- package/lib/types/functions/meta/cube/index.d.ts +2 -16
- package/lib/types/functions/meta/divided/index.d.ts +2 -16
- package/lib/types/functions/meta/function-map.d.ts +2 -16
- package/lib/types/functions/meta/minus/index.d.ts +2 -16
- package/lib/types/functions/meta/multiply/index.d.ts +2 -16
- package/lib/types/functions/meta/plus/index.d.ts +2 -16
- package/lib/types/functions/statistical/average/index.d.ts +2 -16
- package/lib/types/functions/statistical/count/index.d.ts +2 -16
- package/lib/types/functions/statistical/counta/index.d.ts +2 -16
- package/lib/types/functions/statistical/function-map.d.ts +2 -16
- package/lib/types/functions/statistical/max/index.d.ts +2 -16
- package/lib/types/functions/statistical/min/index.d.ts +2 -16
- package/lib/types/functions/statistical/stdev-p/index.d.ts +3 -17
- package/lib/types/functions/statistical/stdev-s/index.d.ts +3 -17
- package/lib/types/functions/statistical/stdeva/index.d.ts +3 -17
- package/lib/types/functions/statistical/stdevpa/index.d.ts +3 -17
- package/lib/types/functions/statistical/var-p/index.d.ts +3 -17
- package/lib/types/functions/statistical/var-s/index.d.ts +3 -17
- package/lib/types/functions/statistical/vara/index.d.ts +3 -17
- package/lib/types/functions/statistical/varpa/index.d.ts +3 -17
- package/lib/types/functions/text/concatenate/index.d.ts +2 -16
- package/lib/types/functions/text/function-map.d.ts +2 -16
- package/lib/types/functions/text/len/index.d.ts +2 -16
- package/lib/types/functions/text/lenb/index.d.ts +2 -16
- package/lib/types/functions/text/text/index.d.ts +2 -16
- package/lib/types/index.d.ts +8 -5
- package/lib/types/models/__tests__/create-command-test-bed.d.ts +10 -25
- package/lib/types/models/formula-data.model.d.ts +3 -18
- package/lib/types/plugin.d.ts +4 -19
- package/lib/types/services/active-dirty-manager.service.d.ts +35 -0
- package/lib/types/services/calculate-formula.service.d.ts +12 -27
- package/lib/types/services/current-data.service.d.ts +20 -19
- package/lib/types/services/defined-names.service.d.ts +52 -25
- package/lib/types/services/feature-calculation-manager.service.d.ts +5 -20
- package/lib/types/services/function.service.d.ts +5 -20
- package/lib/types/services/other-formula-manager.service.d.ts +8 -19
- package/lib/types/services/runtime.service.d.ts +6 -21
- package/lib/types/services/super-table.service.d.ts +4 -19
- package/lib/umd/index.js +1 -1
- package/package.json +6 -6
- package/lib/types/engine/utils/object-covert.d.ts +0 -18
- /package/lib/types/engine/utils/__tests__/{object-covert.spec.d.ts → value-object.spec.d.ts} +0 -0
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Disposable, ICommandService } from '@univerjs/core';
|
|
17
1
|
import { IFeatureCalculationManagerService } from '../services/feature-calculation-manager.service';
|
|
2
|
+
import { Disposable, ICommandService } from '@univerjs/core';
|
|
3
|
+
|
|
18
4
|
export declare class SetFeatureCalculationController extends Disposable {
|
|
19
5
|
private readonly _commandService;
|
|
20
6
|
private readonly _featureCalculationManagerService;
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Disposable, ICommandService } from '@univerjs/core';
|
|
17
1
|
import { IOtherFormulaManagerService } from '../services/other-formula-manager.service';
|
|
2
|
+
import { Disposable, ICommandService } from '@univerjs/core';
|
|
3
|
+
|
|
18
4
|
export declare class SetOtherFormulaController extends Disposable {
|
|
19
5
|
private readonly _commandService;
|
|
20
6
|
private readonly _otherFormulaManagerService;
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Disposable, ICommandService } from '@univerjs/core';
|
|
17
1
|
import { ISuperTableService } from '../services/super-table.service';
|
|
2
|
+
import { Disposable, ICommandService } from '@univerjs/core';
|
|
3
|
+
|
|
18
4
|
export declare class SetSuperTableController extends Disposable {
|
|
19
5
|
private readonly _commandService;
|
|
20
6
|
private readonly _superTableService;
|
|
@@ -1,33 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { IWorkbookData } from '@univerjs/core';
|
|
17
|
-
import { Univer } from '@univerjs/core';
|
|
18
|
-
import type { Dependency } from '@wendellhu/redi';
|
|
19
|
-
import type { ISheetData } from '../../../basics/common';
|
|
1
|
+
import { ISheetData } from '../../../basics/common';
|
|
2
|
+
import { Dependency } from '@wendellhu/redi';
|
|
3
|
+
import { IWorkbookData, Univer } from '@univerjs/core';
|
|
4
|
+
|
|
20
5
|
export declare function createCommandTestBed(workbookConfig?: IWorkbookData, dependencies?: Dependency[]): {
|
|
21
6
|
univer: Univer;
|
|
22
7
|
get: {
|
|
23
|
-
<T>(id: import(
|
|
24
|
-
<T_1>(id: import(
|
|
25
|
-
<T_2>(id: import(
|
|
26
|
-
<T_3>(id: import(
|
|
27
|
-
<T_4>(id: import(
|
|
28
|
-
<T_5>(id: import(
|
|
8
|
+
<T>(id: import('@wendellhu/redi').DependencyIdentifier<T>, lookUp?: import('@wendellhu/redi').LookUp | undefined): T;
|
|
9
|
+
<T_1>(id: import('@wendellhu/redi').DependencyIdentifier<T_1>, quantity: import("@wendellhu/redi").Quantity.MANY, lookUp?: import('@wendellhu/redi').LookUp | undefined): T_1[];
|
|
10
|
+
<T_2>(id: import('@wendellhu/redi').DependencyIdentifier<T_2>, quantity: import("@wendellhu/redi").Quantity.OPTIONAL, lookUp?: import('@wendellhu/redi').LookUp | undefined): T_2 | null;
|
|
11
|
+
<T_3>(id: import('@wendellhu/redi').DependencyIdentifier<T_3>, quantity: import("@wendellhu/redi").Quantity.REQUIRED, lookUp?: import('@wendellhu/redi').LookUp | undefined): T_3;
|
|
12
|
+
<T_4>(id: import('@wendellhu/redi').DependencyIdentifier<T_4>, quantity?: import('@wendellhu/redi').Quantity | undefined, lookUp?: import('@wendellhu/redi').LookUp | undefined): T_4 | T_4[] | null;
|
|
13
|
+
<T_5>(id: import('@wendellhu/redi').DependencyIdentifier<T_5>, quantityOrLookup?: import('@wendellhu/redi').Quantity | import('@wendellhu/redi').LookUp | undefined, lookUp?: import('@wendellhu/redi').LookUp | undefined): T_5 | T_5[] | null;
|
|
29
14
|
};
|
|
30
|
-
sheet: import(
|
|
15
|
+
sheet: import('@univerjs/core').Workbook;
|
|
31
16
|
unitId: string;
|
|
32
17
|
sheetId: string;
|
|
33
18
|
sheetData: ISheetData;
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { Nullable, Observable } from '@univerjs/core';
|
|
17
|
-
import type { LambdaPrivacyVarType } from '../ast-node/base-ast-node';
|
|
1
|
+
import { LambdaPrivacyVarType } from '../ast-node/base-ast-node';
|
|
2
|
+
import { Nullable, Observable } from '@univerjs/core';
|
|
3
|
+
|
|
18
4
|
interface LexerNodeJson {
|
|
19
5
|
token: string;
|
|
20
6
|
children: Array<LexerNodeJson | string>;
|
|
@@ -32,7 +18,9 @@ export declare class LexerNode {
|
|
|
32
18
|
private _lambdaParameter;
|
|
33
19
|
private _startIndex;
|
|
34
20
|
private _endIndex;
|
|
21
|
+
private _definedNames;
|
|
35
22
|
dispose(): void;
|
|
23
|
+
getDefinedNames(): string[];
|
|
36
24
|
getStartIndex(): number;
|
|
37
25
|
getLambdaId(): Nullable<string>;
|
|
38
26
|
setLambdaId(lambdaId: string): void;
|
|
@@ -49,6 +37,8 @@ export declare class LexerNode {
|
|
|
49
37
|
getToken(): string;
|
|
50
38
|
setToken(token: string): void;
|
|
51
39
|
setIndex(st: number, ed: number): void;
|
|
40
|
+
setDefinedNames(definedNames: Array<string>): void;
|
|
41
|
+
hasDefinedNames(): boolean;
|
|
52
42
|
replaceChild(lexerNode: LexerNode, newLexerNode: LexerNode): void;
|
|
53
43
|
changeToParent(newParentLexerNode: LexerNode): void;
|
|
54
44
|
removeChild(lexerNode: LexerNode): void;
|
|
@@ -1,23 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Disposable } from '@univerjs/core';
|
|
17
|
-
import { FormulaAstLRU } from '../../basics/cache-lru';
|
|
18
|
-
import { ErrorType } from '../../basics/error-type';
|
|
19
|
-
import type { ISequenceArray, ISequenceNode } from '../utils/sequence';
|
|
20
1
|
import { LexerNode } from './lexer-node';
|
|
2
|
+
import { ISequenceArray, ISequenceNode } from '../utils/sequence';
|
|
3
|
+
import { ErrorType } from '../../basics/error-type';
|
|
4
|
+
import { FormulaAstLRU } from '../../basics/cache-lru';
|
|
5
|
+
import { AbsoluteRefType, Disposable } from '@univerjs/core';
|
|
6
|
+
|
|
21
7
|
export declare const FormulaLexerNodeCache: FormulaAstLRU<LexerNode>;
|
|
22
8
|
export declare const FormulaSequenceNodeCache: FormulaAstLRU<(string | ISequenceNode)[]>;
|
|
23
9
|
export declare class LexerTreeBuilder extends Disposable {
|
|
@@ -54,6 +40,7 @@ export declare class LexerTreeBuilder extends Disposable {
|
|
|
54
40
|
* @param formulaString
|
|
55
41
|
*/
|
|
56
42
|
checkIfAddBracket(formulaString: string): number;
|
|
43
|
+
convertRefersToAbsolute(formulaString: string, startAbsoluteRefType: AbsoluteRefType, endAbsoluteRefType: AbsoluteRefType): string;
|
|
57
44
|
sequenceNodesBuilder(formulaString: string): (string | ISequenceNode)[] | undefined;
|
|
58
45
|
getSequenceNode(sequenceArray: ISequenceArray[]): (string | ISequenceNode)[];
|
|
59
46
|
private _getCurrentParamIndex;
|
|
@@ -69,7 +56,8 @@ export declare class LexerTreeBuilder extends Disposable {
|
|
|
69
56
|
treeBuilder(formulaString: string, transformSuffix?: boolean, injectDefinedName?: (sequenceArray: ISequenceArray[]) => {
|
|
70
57
|
sequenceString: string;
|
|
71
58
|
hasDefinedName: boolean;
|
|
72
|
-
|
|
59
|
+
definedNames: string[];
|
|
60
|
+
}, simpleCheckDefinedName?: (formulaString: string) => boolean): ErrorType.VALUE | LexerNode | (string | LexerNode)[] | undefined;
|
|
73
61
|
private _suffixExpressionHandler;
|
|
74
62
|
private _checkCloseBracket;
|
|
75
63
|
private _checkOpenBracket;
|
|
@@ -113,4 +101,5 @@ export declare class LexerTreeBuilder extends Disposable {
|
|
|
113
101
|
private _resetTemp;
|
|
114
102
|
private _checkSimilarErrorToken;
|
|
115
103
|
private _nodeMaker;
|
|
104
|
+
private _addSequenceArray;
|
|
116
105
|
}
|
|
@@ -1,27 +1,16 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Disposable } from '@univerjs/core';
|
|
17
|
-
import { IDefinedNamesService } from '../../services/defined-names.service';
|
|
18
|
-
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
19
1
|
import { LexerTreeBuilder } from './lexer-tree-builder';
|
|
2
|
+
import { ErrorType } from '../../basics/error-type';
|
|
3
|
+
import { IFormulaCurrentConfigService } from '../../services/current-data.service';
|
|
4
|
+
import { IDefinedNamesService } from '../../services/defined-names.service';
|
|
5
|
+
import { Disposable } from '@univerjs/core';
|
|
6
|
+
|
|
20
7
|
export declare class Lexer extends Disposable {
|
|
21
8
|
private readonly _definedNamesService;
|
|
22
|
-
private readonly _runtimeService;
|
|
23
9
|
private readonly _lexerTreeBuilder;
|
|
24
|
-
|
|
25
|
-
|
|
10
|
+
private readonly _formulaCurrentConfigService;
|
|
11
|
+
constructor(_definedNamesService: IDefinedNamesService, _lexerTreeBuilder: LexerTreeBuilder, _formulaCurrentConfigService: IFormulaCurrentConfigService);
|
|
12
|
+
treeBuilder(formulaString: string, transformSuffix?: boolean): ErrorType.VALUE | import('./lexer-node').LexerNode | (string | import('./lexer-node').LexerNode)[] | undefined;
|
|
13
|
+
private _simpleCheckDefinedName;
|
|
14
|
+
private _checkDefinedNameDirty;
|
|
26
15
|
private _injectDefinedName;
|
|
27
16
|
}
|
|
@@ -1,33 +1,18 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { Nullable } from '@univerjs/core';
|
|
17
|
-
import { Disposable } from '@univerjs/core';
|
|
18
|
-
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
19
|
-
import { AstRootNodeFactory } from '../ast-node/ast-root-node';
|
|
20
|
-
import type { BaseAstNode } from '../ast-node/base-ast-node';
|
|
21
|
-
import { FunctionNodeFactory } from '../ast-node/function-node';
|
|
22
|
-
import { LambdaNodeFactory } from '../ast-node/lambda-node';
|
|
23
|
-
import { LambdaParameterNodeFactory } from '../ast-node/lambda-parameter-node';
|
|
24
|
-
import { OperatorNodeFactory } from '../ast-node/operator-node';
|
|
25
|
-
import { PrefixNodeFactory } from '../ast-node/prefix-node';
|
|
26
|
-
import { ReferenceNodeFactory } from '../ast-node/reference-node';
|
|
27
|
-
import { SuffixNodeFactory } from '../ast-node/suffix-node';
|
|
28
|
-
import { UnionNodeFactory } from '../ast-node/union-node';
|
|
29
|
-
import { ValueNodeFactory } from '../ast-node/value-node';
|
|
30
1
|
import { LexerNode } from './lexer-node';
|
|
2
|
+
import { ValueNodeFactory } from '../ast-node/value-node';
|
|
3
|
+
import { UnionNodeFactory } from '../ast-node/union-node';
|
|
4
|
+
import { SuffixNodeFactory } from '../ast-node/suffix-node';
|
|
5
|
+
import { ReferenceNodeFactory } from '../ast-node/reference-node';
|
|
6
|
+
import { PrefixNodeFactory } from '../ast-node/prefix-node';
|
|
7
|
+
import { OperatorNodeFactory } from '../ast-node/operator-node';
|
|
8
|
+
import { LambdaParameterNodeFactory } from '../ast-node/lambda-parameter-node';
|
|
9
|
+
import { LambdaNodeFactory } from '../ast-node/lambda-node';
|
|
10
|
+
import { FunctionNodeFactory } from '../ast-node/function-node';
|
|
11
|
+
import { BaseAstNode } from '../ast-node/base-ast-node';
|
|
12
|
+
import { AstRootNodeFactory } from '../ast-node/ast-root-node';
|
|
13
|
+
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
14
|
+
import { Nullable, Disposable } from '@univerjs/core';
|
|
15
|
+
|
|
31
16
|
export declare class AstTreeBuilder extends Disposable {
|
|
32
17
|
private readonly _runtimeService;
|
|
33
18
|
private readonly _astRootNodeFactory;
|
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { LexerNode } from '../analysis/lexer-node';
|
|
17
|
-
import { BaseAstNode } from './base-ast-node';
|
|
18
|
-
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
19
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
3
|
+
import { BaseAstNode } from './base-ast-node';
|
|
4
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
5
|
+
|
|
20
6
|
export declare class AstRootNode extends BaseAstNode {
|
|
21
7
|
get nodeType(): NodeType;
|
|
22
8
|
execute(): void;
|
|
@@ -1,22 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { Nullable } from '@univerjs/core';
|
|
17
|
-
import { Disposable } from '@univerjs/core';
|
|
18
|
-
import { LexerNode } from '../analysis/lexer-node';
|
|
19
1
|
import { BaseAstNode } from './base-ast-node';
|
|
2
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
3
|
+
import { Nullable, Disposable } from '@univerjs/core';
|
|
4
|
+
|
|
20
5
|
export declare const DEFAULT_AST_NODE_FACTORY_Z_INDEX = 100;
|
|
21
6
|
export declare class BaseAstNodeFactory extends Disposable {
|
|
22
7
|
get zIndex(): number;
|
|
@@ -1,25 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { Nullable } from '@univerjs/core';
|
|
17
|
-
import { Disposable } from '@univerjs/core';
|
|
18
|
-
import { AstNodePromiseType } from '../../basics/common';
|
|
19
|
-
import type { ErrorType } from '../../basics/error-type';
|
|
20
|
-
import type { FunctionVariantType } from '../reference-object/base-reference-object';
|
|
21
|
-
import { ErrorValueObject } from '../value-object/base-value-object';
|
|
22
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { ErrorValueObject } from '../value-object/base-value-object';
|
|
3
|
+
import { FunctionVariantType } from '../reference-object/base-reference-object';
|
|
4
|
+
import { ErrorType } from '../../basics/error-type';
|
|
5
|
+
import { AstNodePromiseType } from '../../basics/common';
|
|
6
|
+
import { Nullable, Disposable } from '@univerjs/core';
|
|
7
|
+
|
|
23
8
|
interface IAstNodeNodeJson {
|
|
24
9
|
token: string;
|
|
25
10
|
children?: IAstNodeNodeJson[];
|
|
@@ -29,6 +14,7 @@ export type LambdaPrivacyVarType = Map<string, Nullable<BaseAstNode>>;
|
|
|
29
14
|
export declare class BaseAstNode extends Disposable {
|
|
30
15
|
private _token;
|
|
31
16
|
private _children;
|
|
17
|
+
private _definedNames;
|
|
32
18
|
private _parent;
|
|
33
19
|
private _valueObject;
|
|
34
20
|
private _calculateState;
|
|
@@ -61,6 +47,8 @@ export declare class BaseAstNode extends Disposable {
|
|
|
61
47
|
};
|
|
62
48
|
executeAsync(): Promise<AstNodePromiseType>;
|
|
63
49
|
serialize(): IAstNodeNodeJson;
|
|
50
|
+
hasDefinedName(definedName: string): boolean;
|
|
51
|
+
setDefinedNames(definedNames: Array<string>): void;
|
|
64
52
|
}
|
|
65
53
|
export declare class ErrorNode extends BaseAstNode {
|
|
66
54
|
private _errorValueObject;
|
|
@@ -1,28 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { Injector } from '@wendellhu/redi';
|
|
17
|
-
import { AstNodePromiseType } from '../../basics/common';
|
|
18
|
-
import type { BaseFunction } from '../../functions/base-function';
|
|
19
|
-
import { IFormulaCurrentConfigService } from '../../services/current-data.service';
|
|
20
|
-
import { IFunctionService } from '../../services/function.service';
|
|
21
|
-
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
22
|
-
import type { LexerNode } from '../analysis/lexer-node';
|
|
23
|
-
import { BaseAstNode } from './base-ast-node';
|
|
24
|
-
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
25
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
3
|
+
import { BaseAstNode } from './base-ast-node';
|
|
4
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
5
|
+
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
6
|
+
import { IFunctionService } from '../../services/function.service';
|
|
7
|
+
import { IFormulaCurrentConfigService } from '../../services/current-data.service';
|
|
8
|
+
import { BaseFunction } from '../../functions/base-function';
|
|
9
|
+
import { AstNodePromiseType } from '../../basics/common';
|
|
10
|
+
import { Injector } from '@wendellhu/redi';
|
|
11
|
+
|
|
26
12
|
export declare class FunctionNode extends BaseAstNode {
|
|
27
13
|
private _functionExecutor;
|
|
28
14
|
private _currentConfigService;
|
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
17
|
-
import { LexerNode } from '../analysis/lexer-node';
|
|
18
|
-
import { Interpreter } from '../interpreter/interpreter';
|
|
19
|
-
import { BaseAstNode } from './base-ast-node';
|
|
20
|
-
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
21
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
3
|
+
import { BaseAstNode } from './base-ast-node';
|
|
4
|
+
import { Interpreter } from '../interpreter/interpreter';
|
|
5
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
6
|
+
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
7
|
+
|
|
22
8
|
export declare class LambdaNode extends BaseAstNode {
|
|
23
9
|
private _lambdaId;
|
|
24
10
|
private _interpreter;
|
|
@@ -1,23 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { LexerNode } from '../analysis/lexer-node';
|
|
17
|
-
import type { LambdaPrivacyVarType } from './base-ast-node';
|
|
18
|
-
import { BaseAstNode } from './base-ast-node';
|
|
19
|
-
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
20
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
3
|
+
import { LambdaPrivacyVarType, BaseAstNode } from './base-ast-node';
|
|
4
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
5
|
+
|
|
21
6
|
export declare class LambdaParameterNode extends BaseAstNode {
|
|
22
7
|
private _lambdaParameter;
|
|
23
8
|
private _currentLambdaPrivacyVar;
|
|
@@ -1,20 +1,6 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { BaseAstNode } from './base-ast-node';
|
|
17
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNode } from './base-ast-node';
|
|
3
|
+
|
|
18
4
|
export declare class NullNode extends BaseAstNode {
|
|
19
5
|
private _operatorString;
|
|
20
6
|
constructor(_operatorString: string);
|
|
@@ -1,24 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { BaseFunction } from '../../functions/base-function';
|
|
17
|
-
import { IFunctionService } from '../../services/function.service';
|
|
18
|
-
import { LexerNode } from '../analysis/lexer-node';
|
|
19
|
-
import { BaseAstNode } from './base-ast-node';
|
|
20
|
-
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
21
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
3
|
+
import { BaseAstNode } from './base-ast-node';
|
|
4
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
5
|
+
import { IFunctionService } from '../../services/function.service';
|
|
6
|
+
import { BaseFunction } from '../../functions/base-function';
|
|
7
|
+
|
|
22
8
|
export declare class OperatorNode extends BaseAstNode {
|
|
23
9
|
private _operatorString;
|
|
24
10
|
private _functionExecutor;
|
|
@@ -1,27 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { Nullable } from '@univerjs/core';
|
|
17
|
-
import type { IAccessor } from '@wendellhu/redi';
|
|
18
|
-
import { Injector } from '@wendellhu/redi';
|
|
19
|
-
import type { BaseFunction } from '../../functions/base-function';
|
|
20
|
-
import { IFunctionService } from '../../services/function.service';
|
|
21
|
-
import { LexerNode } from '../analysis/lexer-node';
|
|
22
|
-
import { BaseAstNode, ErrorNode } from './base-ast-node';
|
|
23
|
-
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
24
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
3
|
+
import { BaseAstNode, ErrorNode } from './base-ast-node';
|
|
4
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
5
|
+
import { IFunctionService } from '../../services/function.service';
|
|
6
|
+
import { BaseFunction } from '../../functions/base-function';
|
|
7
|
+
import { IAccessor, Injector } from '@wendellhu/redi';
|
|
8
|
+
import { Nullable } from '@univerjs/core';
|
|
9
|
+
|
|
25
10
|
export declare class PrefixNode extends BaseAstNode {
|
|
26
11
|
private _accessor;
|
|
27
12
|
private _operatorString;
|
|
@@ -1,29 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright 2023-present DreamNum Inc.
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import type { IAccessor } from '@wendellhu/redi';
|
|
17
|
-
import { Injector } from '@wendellhu/redi';
|
|
18
|
-
import { IDefinedNamesService } from '../../services/defined-names.service';
|
|
19
|
-
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
20
|
-
import { ISuperTableService } from '../../services/super-table.service';
|
|
21
|
-
import { LexerNode } from '../analysis/lexer-node';
|
|
22
|
-
import type { BaseReferenceObject } from '../reference-object/base-reference-object';
|
|
23
|
-
import { IFunctionService } from '../../services/function.service';
|
|
24
|
-
import { BaseAstNode } from './base-ast-node';
|
|
25
|
-
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
26
1
|
import { NodeType } from './node-type';
|
|
2
|
+
import { BaseAstNodeFactory } from './base-ast-node-factory';
|
|
3
|
+
import { BaseAstNode } from './base-ast-node';
|
|
4
|
+
import { IFunctionService } from '../../services/function.service';
|
|
5
|
+
import { BaseReferenceObject } from '../reference-object/base-reference-object';
|
|
6
|
+
import { LexerNode } from '../analysis/lexer-node';
|
|
7
|
+
import { ISuperTableService } from '../../services/super-table.service';
|
|
8
|
+
import { IFormulaRuntimeService } from '../../services/runtime.service';
|
|
9
|
+
import { IAccessor, Injector } from '@wendellhu/redi';
|
|
10
|
+
|
|
27
11
|
export declare class ReferenceNode extends BaseAstNode {
|
|
28
12
|
private _accessor;
|
|
29
13
|
private _operatorString;
|
|
@@ -34,12 +18,11 @@ export declare class ReferenceNode extends BaseAstNode {
|
|
|
34
18
|
execute(): void;
|
|
35
19
|
}
|
|
36
20
|
export declare class ReferenceNodeFactory extends BaseAstNodeFactory {
|
|
37
|
-
private readonly _definedNamesService;
|
|
38
21
|
private readonly _superTableService;
|
|
39
22
|
private readonly _formulaRuntimeService;
|
|
40
23
|
private readonly _functionService;
|
|
41
24
|
private readonly _injector;
|
|
42
|
-
constructor(
|
|
25
|
+
constructor(_superTableService: ISuperTableService, _formulaRuntimeService: IFormulaRuntimeService, _functionService: IFunctionService, _injector: Injector);
|
|
43
26
|
get zIndex(): number;
|
|
44
27
|
checkAndCreateNodeType(param: LexerNode | string): ReferenceNode | undefined;
|
|
45
28
|
}
|