@guihz/trading-vue-editor-tes 0.0.94 → 0.0.95

Sign up to get free protection for your applications and to get access to all the features.
Files changed (27) hide show
  1. package/lib/assets/parserTccWorker-Atmd3LRI.js +207 -0
  2. package/lib/assets/{scriptsRunWorker-DG7nL2a4.js → scriptsRunWorker-CgIm6yWg.js} +24 -24
  3. package/lib/components/editor/parseScript/buildInFuncNamespace/errorListener.d.ts +1 -1
  4. package/lib/components/editor/parseScript/buildInFuncNamespace/index.d.ts +2 -1
  5. package/lib/components/editor/parseScript/buildInFuncNamespace/input.d.ts +1 -0
  6. package/lib/components/editor/parseScript/buildInFuncNamespace/syminfo.d.ts +9 -0
  7. package/lib/components/editor/parseScript/buildInVarNamespace/Dividends.d.ts +8 -0
  8. package/lib/components/editor/parseScript/buildInVarNamespace/chart.d.ts +16 -0
  9. package/lib/components/editor/parseScript/buildInVarNamespace/earnings.d.ts +9 -0
  10. package/lib/components/editor/parseScript/buildInVarNamespace/index.d.ts +4 -0
  11. package/lib/components/editor/parseScript/buildInVarNamespace/syminfo.d.ts +42 -0
  12. package/lib/components/editor/parseScript/constants.d.ts +9 -0
  13. package/lib/components/editor/parseScript/enum.d.ts +8 -4
  14. package/lib/components/editor/parseScript/parseToJs.d.ts +2 -0
  15. package/lib/components/editor/parseScript/parseToLibJs.d.ts +2 -0
  16. package/lib/components/editor/parseScript/visitorParser.d.ts +16 -0
  17. package/lib/components/editor/tokenizer/config.d.ts +2 -1
  18. package/lib/components/editor/type/index.d.ts +4 -0
  19. package/lib/components/editor/utils/completions.d.ts +6 -1
  20. package/lib/components/editor/utils/parse.d.ts +3 -0
  21. package/lib/components/editor/utils/parserTcc.d.ts +4 -0
  22. package/lib/components/editor/utils/parserTccWorker.d.ts +4 -0
  23. package/lib/tccParser/tccScriptParserVisitor.d.ts +14 -0
  24. package/lib/trading-vue-editor.js +2884 -2563
  25. package/lib/trading-vue-editor.umd.cjs +40 -36
  26. package/package.json +1 -1
  27. package/lib/assets/parserTccWorker-BOpzDxKa.js +0 -207
@@ -4,5 +4,5 @@ export declare class TccErrorListener {
4
4
  constructor();
5
5
  clear(): void;
6
6
  get errors(): IError[];
7
- addError(message: string, posStr: string, type: VMarkerSeverity): void;
7
+ addError(message: string, posStr: string, type: VMarkerSeverity, length?: number): void;
8
8
  }
@@ -16,9 +16,10 @@ import BuildInBox, { IBoxArgs, Box } from "./box";
16
16
  import BuildInTable, { ITableArgs, Table } from "./table";
17
17
  import Strategy, { IOrder, IStrategy } from './strategy';
18
18
  import Request from './request';
19
+ import Syminfo from './syminfo';
19
20
  import { Log } from './log';
20
21
  import { Runtime } from './runtime';
21
22
  export { TccErrorListener } from './errorListener';
22
23
  export type { IColorArgs } from './color';
23
- export { BuildInArray, BuildInMath, BuildInTa, BuildInInput, BuildInColor, BuildInMatrix, ChartPoint, Point, BuildInTimeframe, BuildInStr, BuildInMap, PseudoArray, BuildInLabel, BuildInPolyline, BuildInLine, Label, Polyline, Line, BuildInLinefill, Linefill, BuildInBox, Box, BuildInTable, Table, Log, Runtime, Strategy, Request };
24
+ export { BuildInArray, BuildInMath, BuildInTa, BuildInInput, BuildInColor, BuildInMatrix, ChartPoint, Point, BuildInTimeframe, BuildInStr, BuildInMap, PseudoArray, BuildInLabel, BuildInPolyline, BuildInLine, Label, Polyline, Line, BuildInLinefill, Linefill, BuildInBox, Box, BuildInTable, Table, Log, Runtime, Strategy, Request, Syminfo };
24
25
  export type { PartialLabelArgs, IPolyline, ILineArgs, TLinefill, IBoxArgs, ITableArgs, IOrder, IStrategy };
@@ -42,6 +42,7 @@ declare class Input {
42
42
  session(args: IInputArgs, posStr: string): TSimpleType;
43
43
  text_area(args: IInputArgs, posStr: string): TSimpleType;
44
44
  timeframe(args: IInputArgs, posStr: string): TSimpleType;
45
+ enum(args: IInputArgs, posStr: string): TSimpleType;
45
46
  private _cacheHandle;
46
47
  private _judgeHistoryInputs;
47
48
  private _displayVerify;
@@ -0,0 +1,9 @@
1
+ interface ISyminfoArgs {
2
+ symbol: string;
3
+ }
4
+ export default class Syminfo {
5
+ constructor();
6
+ prefix(args: ISyminfoArgs): string;
7
+ ticker(args: ISyminfoArgs): string;
8
+ }
9
+ export {};
@@ -0,0 +1,8 @@
1
+ import { BuiltInVariables } from "../buildInVariables";
2
+ export declare class Dividends {
3
+ private _variables;
4
+ constructor(variables: BuiltInVariables);
5
+ get future_amount(): undefined;
6
+ get future_ex_date(): undefined;
7
+ get future_pay_date(): undefined;
8
+ }
@@ -0,0 +1,16 @@
1
+ import { BuiltInVariables } from "../buildInVariables";
2
+ export declare class Chart {
3
+ private _variables;
4
+ constructor(variables: BuiltInVariables);
5
+ get bg_color(): void;
6
+ get fg_color(): void;
7
+ get is_heikinashi(): boolean;
8
+ get is_kagi(): boolean;
9
+ get is_linebreak(): boolean;
10
+ get is_pnf(): boolean;
11
+ get is_range(): boolean;
12
+ get is_renko(): boolean;
13
+ get is_standard(): boolean;
14
+ get left_visible_bar_time(): number;
15
+ get right_visible_bar_time(): number;
16
+ }
@@ -0,0 +1,9 @@
1
+ import { BuiltInVariables } from "../buildInVariables";
2
+ export declare class Earnings {
3
+ private _variables;
4
+ constructor(variables: BuiltInVariables);
5
+ get future_eps(): undefined;
6
+ get future_period_end_time(): undefined;
7
+ get future_revenue(): undefined;
8
+ get future_time(): undefined;
9
+ }
@@ -3,3 +3,7 @@ export { Session } from './session';
3
3
  export { Strategy } from './strategy';
4
4
  export { Ta } from './ta';
5
5
  export { Timeframe } from './timeframe';
6
+ export { Chart } from './chart';
7
+ export { Syminfo } from './syminfo';
8
+ export { Dividends } from './Dividends';
9
+ export { Earnings } from './earnings';
@@ -0,0 +1,42 @@
1
+ import { BuiltInVariables } from "../buildInVariables";
2
+ import { VSession } from "../enum";
3
+ export declare class Syminfo {
4
+ private _variables;
5
+ constructor(variables: BuiltInVariables);
6
+ get basecurrency(): string;
7
+ get country(): undefined;
8
+ get currency(): string;
9
+ get description(): string;
10
+ get employees(): number;
11
+ get expiration_date(): undefined;
12
+ get industry(): undefined;
13
+ get minmove(): void;
14
+ get mintick(): void;
15
+ get pointvalue(): void;
16
+ get prefix(): void;
17
+ get pricescale(): void;
18
+ get recommendations_buy(): void;
19
+ get recommendations_buy_strong(): void;
20
+ get recommendations_date(): void;
21
+ get recommendations_hold(): void;
22
+ get recommendations_sell(): void;
23
+ get recommendations_sell_strong(): void;
24
+ get recommendations_total(): void;
25
+ get root(): string;
26
+ get sector(): undefined;
27
+ get session(): VSession;
28
+ get shareholders(): void;
29
+ get shares_outstanding_float(): void;
30
+ get shares_outstanding_total(): void;
31
+ get target_price_average(): void;
32
+ get target_price_date(): void;
33
+ get target_price_estimates(): void;
34
+ get target_price_high(): void;
35
+ get target_price_low(): void;
36
+ get target_price_median(): void;
37
+ get ticker(): void;
38
+ get tickerid(): void;
39
+ get timezone(): void;
40
+ get type(): void;
41
+ get volumetype(): string;
42
+ }
@@ -69,6 +69,13 @@ export declare const ERRORS_TIPS: {
69
69
  overloadFuncErr: string;
70
70
  againAssignErr: string;
71
71
  requestUserInLoopErr: string;
72
+ enumVarNameErr: string;
73
+ enumVarNameBuiltinErr: string;
74
+ typeNameErr: string;
75
+ enumUseErr: string;
76
+ conditionalErr: string;
77
+ fortoErr: string;
78
+ indicatorUseStrategyFuncErr: string;
72
79
  };
73
80
  export declare const WARNING_TIPS: {
74
81
  repeatVar: string;
@@ -77,6 +84,7 @@ export declare const WARNING_TIPS: {
77
84
  localScopeGetHistory: string;
78
85
  localScopeWarning: string;
79
86
  strategyCalcTickWarn: string;
87
+ conditionWarning: string;
80
88
  };
81
89
  export declare const QUALIFIERS: VType[];
82
90
  export declare const BASE_TYPE: VType[];
@@ -264,3 +272,4 @@ export declare const DEFAULT_EXPORT_TEST: {
264
272
  };
265
273
  export declare const JS_KEYWORDS: string[];
266
274
  export declare const TCC_KEYWORDS: string[];
275
+ export declare const TCC_NAMESAPCES: string[];
@@ -20,7 +20,8 @@ export declare enum VType {
20
20
  UNDETERMINED = "undetermined type",
21
21
  INPUT = "input",
22
22
  NA = "na",
23
- VOID = "void"
23
+ VOID = "void",
24
+ ENUM = "enum"
24
25
  }
25
26
  export declare enum VRuleType {
26
27
  FlowStmt = "FlowStmt",
@@ -54,7 +55,8 @@ export declare enum VRuleType {
54
55
  ArrowMethod = "ArrowMethod",
55
56
  TypeStatement = "TypeStatement",
56
57
  Name = "Name",
57
- AgainAssign = "AgainAssign"
58
+ AgainAssign = "AgainAssign",
59
+ EnumStatement = "EnumStatement"
58
60
  }
59
61
  export declare enum VAdjustment {
60
62
  dividends = "dividends",
@@ -262,7 +264,8 @@ export declare enum VInputType {
262
264
  SYMBOL = "symbol",
263
265
  SESSION = "session",
264
266
  TEXT_AREA = "text_area",
265
- TIMEFRAME = "timeframe"
267
+ TIMEFRAME = "timeframe",
268
+ ENUM = "enum"
266
269
  }
267
270
  export declare enum VComments {
268
271
  description = "description",
@@ -271,7 +274,8 @@ export declare enum VComments {
271
274
  param = "param",
272
275
  returns = "returns",
273
276
  type = "type",
274
- variable = "variable"
277
+ variable = "variable",
278
+ enum = "enum"
275
279
  }
276
280
  export declare enum VScriptType {
277
281
  library = "library",
@@ -14,10 +14,12 @@ export default class ParseToJs {
14
14
  private _count;
15
15
  private _codesCol;
16
16
  private _dependsObj;
17
+ private _enums;
17
18
  constructor(prefix: string);
18
19
  preParser(values: IKeyObjectValue[]): string | undefined;
19
20
  parser(values: IKeyObjectValue[]): string | undefined;
20
21
  private _parserStmt;
22
+ private _parserEnumStatement;
21
23
  private _parserTypeStatement;
22
24
  private _parserVarBlockStmt;
23
25
  private _getDepends;
@@ -15,6 +15,7 @@ export default class ParseToLibJs {
15
15
  constructor(prefix: string, title: string);
16
16
  parser(values: IKeyObjectValue[]): string | undefined;
17
17
  private _parserStmt;
18
+ private _parserEnumStatement;
18
19
  private _parserTypeStatement;
19
20
  private _parserVarBlockStmt;
20
21
  private _parserForToStatement;
@@ -33,6 +34,7 @@ export default class ParseToLibJs {
33
34
  private _parserArrowFunction;
34
35
  private _parserParameters;
35
36
  private _parserBlock;
37
+ private _addVarList;
36
38
  private _parserDeclareAssign;
37
39
  private _parserDeclareAssignNames;
38
40
  private _parserSingleExpression;
@@ -9,6 +9,7 @@ export default class ParserVisitor extends ParserUtils {
9
9
  private _functions;
10
10
  private _methods;
11
11
  private _types;
12
+ private _enums;
12
13
  private _currentBlockVars;
13
14
  private _currentFuncParams;
14
15
  private _isNeedCalc;
@@ -28,6 +29,7 @@ export default class ParserVisitor extends ParserUtils {
28
29
  private _exportFunctions;
29
30
  private _exportMethods;
30
31
  private _exportTypes;
32
+ private _exportEnums;
31
33
  private _exportPositions;
32
34
  private _description;
33
35
  private _endExport;
@@ -36,9 +38,12 @@ export default class ParserVisitor extends ParserUtils {
36
38
  private _isEndExpr?;
37
39
  private _inputVarName?;
38
40
  private _hasRequest?;
41
+ private _strategyFuncName?;
42
+ private _strategyVarName?;
39
43
  constructor(props: IKeyObjectValue, comments: IKeyObjectValue[], getImportLibraryFunc: (obj: IKeyObjectValue) => IKeyObjectValue);
40
44
  get overloadsFuncs(): IKeyValue[];
41
45
  get errors(): IError[];
46
+ get userEnums(): Map<string, IDocValue[]>;
42
47
  get userTypes(): Map<string, IDocValue[]>;
43
48
  get userFunctions(): Map<string, IDocValue[]>;
44
49
  get userVariables(): Map<string, IDocValue[]>;
@@ -50,6 +55,7 @@ export default class ParserVisitor extends ParserUtils {
50
55
  functions: IDocValue[];
51
56
  methods: IDocValue[];
52
57
  types: IDocValue[];
58
+ enums: IDocValue[];
53
59
  };
54
60
  get description(): string;
55
61
  get exportPositions(): (IRange & {
@@ -195,12 +201,16 @@ export default class ParserVisitor extends ParserUtils {
195
201
  visitArguments: (ctx: IKeyObjectValue) => IKeyObjectValue;
196
202
  visitArgument: (ctx: IKeyObjectValue) => any;
197
203
  visitIfStatement: (ctx: IKeyObjectValue) => IKeyObjectValue;
204
+ private _verifyIf;
198
205
  visitForToStatement: (ctx: IKeyObjectValue) => IKeyObjectValue;
206
+ private _verifyForTo;
199
207
  visitForInStatement: (ctx: IKeyObjectValue) => IKeyObjectValue;
200
208
  visitSwitchStatement: (ctx: IKeyObjectValue) => IKeyObjectValue;
209
+ private _verifySwitch;
201
210
  visitCaseClause: (ctx: IKeyObjectValue) => IKeyObjectValue;
202
211
  visitDefaultCaluse: (ctx: IKeyObjectValue) => IKeyObjectValue;
203
212
  visitWhileStatement: (ctx: IKeyObjectValue) => IKeyObjectValue;
213
+ private _verifyWhile;
204
214
  visitImportStmt: (ctx: IKeyObjectValue) => Promise<IKeyObjectValue[]>;
205
215
  visitImportElement: (ctx: IKeyObjectValue) => Promise<IKeyObjectValue | undefined>;
206
216
  private _importHandle;
@@ -229,6 +239,7 @@ export default class ParserVisitor extends ParserUtils {
229
239
  private _exportArgsTypeVerify;
230
240
  visitArrowMethodParameters: (ctx: IKeyObjectValue) => any[];
231
241
  visitTypeStatement: (ctx: IKeyObjectValue) => IKeyObjectValue;
242
+ private _verifyTypeName;
232
243
  private _addExportPos;
233
244
  visitTypeElement: (ctx: IKeyObjectValue) => IKeyObjectValue;
234
245
  visitAssignmentOperator: (ctx: IKeyObjectValue) => any;
@@ -238,12 +249,16 @@ export default class ParserVisitor extends ParserUtils {
238
249
  visitTypeGather: (ctx: IKeyObjectValue) => any;
239
250
  visitIdentifier: (ctx: IKeyObjectValue) => any;
240
251
  visitTypeName: (ctx: IKeyObjectValue) => string;
252
+ visitEnumStatement: (ctx: IKeyObjectValue) => IKeyObjectValue;
253
+ private _verifyEnumName;
254
+ visitEnumElement: (ctx: IKeyObjectValue) => IKeyObjectValue;
241
255
  visitName: (ctx: IKeyObjectValue) => IKeyObjectValue;
242
256
  private _nameHandle;
243
257
  private _typeElementVerify;
244
258
  private _memberIndexVerify;
245
259
  private _setFuncParams;
246
260
  private _pushBlockRanges;
261
+ private _setUserEnum;
247
262
  private _setUserType;
248
263
  private _againAssignHandle;
249
264
  private _typeCheck;
@@ -272,6 +287,7 @@ export default class ParserVisitor extends ParserUtils {
272
287
  private _updateUserVar;
273
288
  private _variablesHandle;
274
289
  private _checkVarMultiple;
290
+ private _addEnumToMap;
275
291
  private _addVarToMap;
276
292
  private _setVariablesMap;
277
293
  private _varTypeJudge;
@@ -36,7 +36,8 @@ export declare enum DocTitle {
36
36
  Remarks = "Remarks",
37
37
  Fields = "Fields",
38
38
  Description = "Description",
39
- Example = "Example"
39
+ Example = "Example",
40
+ EnumMembers = "Enum members"
40
41
  }
41
42
  export declare enum Actions {
42
43
  Save = "save",
@@ -31,6 +31,7 @@ export interface IDocValue {
31
31
  syntax?: string[];
32
32
  detailedDesc?: IDetailedDesc[];
33
33
  fields?: IField[];
34
+ members?: IField[];
34
35
  returns?: string[];
35
36
  remarks?: string | string[];
36
37
  seeAlso?: string[];
@@ -53,6 +54,8 @@ export interface IDocValue {
53
54
  index?: number;
54
55
  isImport?: boolean;
55
56
  hasRequest?: boolean;
57
+ isEnumMember?: boolean;
58
+ value?: string;
56
59
  }
57
60
  export interface IDetailedDesc {
58
61
  desc: string[];
@@ -67,6 +70,7 @@ export interface IField {
67
70
  isVarip?: boolean;
68
71
  valueType?: string;
69
72
  varScope?: number;
73
+ value?: string;
70
74
  }
71
75
  export interface IArg {
72
76
  name: string;
@@ -16,6 +16,7 @@ export declare class MyCompletion {
16
16
  private _userFunctions;
17
17
  private _methodFuncs;
18
18
  private _userTypes;
19
+ private _userEnums;
19
20
  private _nextIsBracket;
20
21
  constructor();
21
22
  get methodFuncs(): Map<string, IDocValue[]>;
@@ -27,7 +28,7 @@ export declare class MyCompletion {
27
28
  getArgSuggestions(key: string): ISuggestion[] | undefined;
28
29
  getSuggestions(key?: string): ISuggestion[] | undefined;
29
30
  private _initUserDefind;
30
- setUserDefind(functions: Map<string, IDocValue[]>, types: Map<string, IDocValue[]>, variables: Map<string, IDocValue[]>, methods: Map<string, IDocValue[]>): void;
31
+ setUserDefind(functions: Map<string, IDocValue[]>, types: Map<string, IDocValue[]>, variables: Map<string, IDocValue[]>, methods: Map<string, IDocValue[]>, enums: Map<string, IDocValue[]>): void;
31
32
  private _getAllUserCompletionItems;
32
33
  private _getAllCompletionItems;
33
34
  private _getNodeKey;
@@ -40,6 +41,8 @@ export declare class MyCompletion {
40
41
  private _setUserVariableSubItems;
41
42
  private _getUserVariableCompletionItems;
42
43
  private _getTypeCompletionItems;
44
+ private _getEnumCompletionItems;
45
+ private _getEnumMemberCompletionItems;
43
46
  private _getAnnotationCompletionItems;
44
47
  private _getKeywordCompletionItems;
45
48
  private _getMethodNamespaceCache;
@@ -52,6 +55,8 @@ export declare class MyCompletion {
52
55
  private _getKeywordCompletionItem;
53
56
  private _getTypeCompletionItem;
54
57
  private _getCustomTypeCompletionItem;
58
+ private _getEnumCompletionItem;
59
+ private _getEnumMemberCompletionItem;
55
60
  private _getInstanceTypeCompletionItemProp;
56
61
  private _getFunctionCompletionItem;
57
62
  private _getAnnotationCompletionItem;
@@ -6,12 +6,14 @@ interface IUserDefined {
6
6
  types?: Map<string, IDocValue[]>;
7
7
  methods?: Map<string, IDocValue[]>;
8
8
  imports?: Map<string, IKeyObjectValue>;
9
+ enums?: Map<string, IDocValue[]>;
9
10
  }
10
11
  export declare class Parse {
11
12
  private _userFunctions;
12
13
  private _userVariables;
13
14
  private _userTypes;
14
15
  private _userMethods;
16
+ private _userEnums;
15
17
  private _imports;
16
18
  private _overloadsFuncs;
17
19
  constructor();
@@ -33,6 +35,7 @@ export declare class Parse {
33
35
  private _getVariablesDocVal;
34
36
  private _getUserVariablesDocVal;
35
37
  private _getUserTypesDocVal;
38
+ private _getUserEnumsDocVal;
36
39
  private _getTypesAndFileds;
37
40
  private _getFuncsDocVal;
38
41
  private _getOverloadsFuncIndex;
@@ -17,6 +17,9 @@ export declare function parseTcc(val: string, hasTranscoding?: boolean): Promise
17
17
  imports: {
18
18
  [k: string]: IKeyObjectValue;
19
19
  };
20
+ enums: {
21
+ [k: string]: import("../type").IDocValue[];
22
+ };
20
23
  codeStr: string;
21
24
  preParserCode: string | undefined;
22
25
  }>;
@@ -26,6 +29,7 @@ export declare function parseLibrary(val: string, title: string): Promise<{
26
29
  functions: import("../type").IDocValue[];
27
30
  methods: import("../type").IDocValue[];
28
31
  types: import("../type").IDocValue[];
32
+ enums: import("../type").IDocValue[];
29
33
  }>;
30
34
  export declare function scriptsRun(strJs: string, data: IKeyObjectValue, isNew?: boolean): Promise<{
31
35
  status: number;
@@ -19,6 +19,9 @@ export declare function parseTcc(program: string, hasTranscoding: boolean, getIm
19
19
  imports: {
20
20
  [k: string]: IKeyObjectValue;
21
21
  };
22
+ enums: {
23
+ [k: string]: import("../type").IDocValue[];
24
+ };
22
25
  codeStr: string;
23
26
  preParserCode: string | undefined;
24
27
  }>;
@@ -28,6 +31,7 @@ export declare function parseLibraryCode(program: string, libTitle: string, getI
28
31
  functions: import("../type").IDocValue[];
29
32
  methods: import("../type").IDocValue[];
30
33
  types: import("../type").IDocValue[];
34
+ enums: import("../type").IDocValue[];
31
35
  }>;
32
36
  export declare class ExprErrorListener extends ErrorListener {
33
37
  errors: any[];
@@ -65,6 +65,8 @@ import { TypeGatherContext } from "./tccScriptParser";
65
65
  import { IdentifierContext } from "./tccScriptParser";
66
66
  import { TypeNameContext } from "./tccScriptParser";
67
67
  import { NameContext } from "./tccScriptParser";
68
+ import { EnumStatementContext } from "./tccScriptParser";
69
+ import { EnumElementContext } from "./tccScriptParser";
68
70
  /**
69
71
  * This interface defines a complete generic visitor for a parse tree produced
70
72
  * by `tccScriptParser`.
@@ -483,4 +485,16 @@ export default class tccScriptParserVisitor<Result> extends ParseTreeVisitor<Res
483
485
  * @return the visitor result
484
486
  */
485
487
  visitName?: (ctx: NameContext) => Result;
488
+ /**
489
+ * Visit a parse tree produced by `tccScriptParser.enumStatement`.
490
+ * @param ctx the parse tree
491
+ * @return the visitor result
492
+ */
493
+ visitEnumStatement?: (ctx: EnumStatementContext) => Result;
494
+ /**
495
+ * Visit a parse tree produced by `tccScriptParser.enumElement`.
496
+ * @param ctx the parse tree
497
+ * @return the visitor result
498
+ */
499
+ visitEnumElement?: (ctx: EnumElementContext) => Result;
486
500
  }