@apexdevtools/apex-parser 4.4.1 → 5.0.0-beta.2

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +112 -0
  2. package/README.md +98 -42
  3. package/lib/ApexErrorListener.d.ts +25 -0
  4. package/lib/ApexErrorListener.js +64 -0
  5. package/lib/ApexErrorListener.js.map +1 -0
  6. package/lib/ApexParserFactory.d.ts +69 -0
  7. package/lib/ApexParserFactory.js +125 -0
  8. package/lib/ApexParserFactory.js.map +1 -0
  9. package/lib/CaseInsensitiveInputStream.d.ts +11 -13
  10. package/lib/CaseInsensitiveInputStream.js +22 -28
  11. package/lib/CaseInsensitiveInputStream.js.map +1 -1
  12. package/lib/Check.d.ts +36 -0
  13. package/lib/Check.js +212 -0
  14. package/lib/Check.js.map +1 -0
  15. package/lib/{ApexLexer.d.ts → antlr/ApexLexer.d.ts} +11 -18
  16. package/lib/antlr/ApexLexer.js +1575 -0
  17. package/lib/antlr/ApexLexer.js.map +1 -0
  18. package/lib/{ApexParser.d.ts → antlr/ApexParser.d.ts} +1344 -1304
  19. package/lib/antlr/ApexParser.js +20976 -0
  20. package/lib/antlr/ApexParser.js.map +1 -0
  21. package/lib/{ApexParserListener.d.ts → antlr/ApexParserListener.d.ts} +708 -686
  22. package/lib/antlr/ApexParserListener.js +12 -0
  23. package/lib/antlr/ApexParserListener.js.map +1 -0
  24. package/lib/{ApexParserVisitor.d.ts → antlr/ApexParserVisitor.d.ts} +420 -406
  25. package/lib/antlr/ApexParserVisitor.js +15 -0
  26. package/lib/antlr/ApexParserVisitor.js.map +1 -0
  27. package/lib/index.d.ts +8 -24
  28. package/lib/index.js +13 -140
  29. package/lib/index.js.map +1 -1
  30. package/package.json +30 -27
  31. package/lib/ApexLexer.js +0 -1704
  32. package/lib/ApexLexer.js.map +0 -1
  33. package/lib/ApexParser.js +0 -19514
  34. package/lib/ApexParser.js.map +0 -1
  35. package/lib/ApexParserListener.js +0 -4
  36. package/lib/ApexParserListener.js.map +0 -1
  37. package/lib/ApexParserVisitor.js +0 -4
  38. package/lib/ApexParserVisitor.js.map +0 -1
  39. package/lib/ThrowingErrorListener.d.ts +0 -10
  40. package/lib/ThrowingErrorListener.js +0 -18
  41. package/lib/ThrowingErrorListener.js.map +0 -1
  42. package/lib/__tests__/ApexLexerTest.d.ts +0 -1
  43. package/lib/__tests__/ApexLexerTest.js +0 -48
  44. package/lib/__tests__/ApexLexerTest.js.map +0 -1
  45. package/lib/__tests__/ApexListenerTest.d.ts +0 -1
  46. package/lib/__tests__/ApexListenerTest.js +0 -41
  47. package/lib/__tests__/ApexListenerTest.js.map +0 -1
  48. package/lib/__tests__/ApexParserTest.d.ts +0 -1
  49. package/lib/__tests__/ApexParserTest.js +0 -199
  50. package/lib/__tests__/ApexParserTest.js.map +0 -1
  51. package/lib/__tests__/ApexTriggerTest.d.ts +0 -1
  52. package/lib/__tests__/ApexTriggerTest.js +0 -66
  53. package/lib/__tests__/ApexTriggerTest.js.map +0 -1
  54. package/lib/__tests__/ApexVisitorTest.d.ts +0 -1
  55. package/lib/__tests__/ApexVisitorTest.js +0 -46
  56. package/lib/__tests__/ApexVisitorTest.js.map +0 -1
  57. package/lib/__tests__/SOQLParserTest.d.ts +0 -1
  58. package/lib/__tests__/SOQLParserTest.js +0 -121
  59. package/lib/__tests__/SOQLParserTest.js.map +0 -1
  60. package/lib/__tests__/SOSLParserTest.d.ts +0 -1
  61. package/lib/__tests__/SOSLParserTest.js +0 -101
  62. package/lib/__tests__/SOSLParserTest.js.map +0 -1
  63. package/lib/__tests__/SyntaxErrorCounter.d.ts +0 -10
  64. package/lib/__tests__/SyntaxErrorCounter.js +0 -52
  65. package/lib/__tests__/SyntaxErrorCounter.js.map +0 -1
  66. package/lib/__tests__/system/SampleParseSys.d.ts +0 -1
  67. package/lib/__tests__/system/SampleParseSys.js +0 -75
  68. package/lib/__tests__/system/SampleParseSys.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SOQLParserTest.js","sourceRoot":"","sources":["../../src/__tests__/SOQLParserTest.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- /*
4
- Copyright (c) 2021 Kevin Jones, All rights reserved.
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions
7
- are met:
8
- 1. Redistributions of source code must retain the above copyright
9
- notice, this list of conditions and the following disclaimer.
10
- 2. Redistributions in binary form must reproduce the above copyright
11
- notice, this list of conditions and the following disclaimer in the
12
- documentation and/or other materials provided with the distribution.
13
- 3. The name of the author may not be used to endorse or promote products
14
- derived from this software without specific prior written permission.
15
- */
16
- const ApexParser_1 = require("../ApexParser");
17
- const SyntaxErrorCounter_1 = require("./SyntaxErrorCounter");
18
- test('testBasicQuery', () => {
19
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[Find 'something' RETURNING Account]");
20
- const context = parser.soslLiteral();
21
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
22
- expect(errorCounter.getNumErrors()).toEqual(0);
23
- });
24
- test('testEmbeddedQuote', () => {
25
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[Find 'some\\'thing' RETURNING Account]");
26
- const context = parser.soslLiteral();
27
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
28
- expect(errorCounter.getNumErrors()).toEqual(0);
29
- });
30
- test('testBracesFail', () => {
31
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[Find {something} RETURNING Account]");
32
- const context = parser.soslLiteral();
33
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
34
- expect(errorCounter.getNumErrors()).toEqual(1);
35
- });
36
- test('testBracesOnAltFormat', () => {
37
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[Find {something} RETURNING Account]");
38
- const context = parser.soslLiteralAlt();
39
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralAltContext);
40
- expect(errorCounter.getNumErrors()).toEqual(0);
41
- });
42
- test('testQuotesFailOnAltFormat', () => {
43
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[Find 'something' RETURNING Account]");
44
- const context = parser.soslLiteralAlt();
45
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralAltContext);
46
- expect(errorCounter.getNumErrors()).toEqual(1);
47
- });
48
- test('testWithUserModeQuery', () => {
49
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[Find 'something' RETURNING Account WITH USER_MODE WITH METADATA='Labels']");
50
- const context = parser.soslLiteral();
51
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
52
- expect(errorCounter.getNumErrors()).toEqual(0);
53
- });
54
- test('testWithSystemModeQuery', () => {
55
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[Find 'something' RETURNING Account WITH METADATA='Labels' WITH SYSTEM_MODE]");
56
- const context = parser.soslLiteral();
57
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
58
- expect(errorCounter.getNumErrors()).toEqual(0);
59
- });
60
- test('testToLabel', () => {
61
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[FIND :searchTerm IN ALL FIELDS RETURNING Account(Id, toLabel(Name)) LIMIT 10]");
62
- const context = parser.soslLiteral();
63
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
64
- expect(errorCounter.getNumErrors()).toEqual(0);
65
- });
66
- test('testToLabelWithAlias', () => {
67
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[FIND :searchTerm IN ALL FIELDS RETURNING Account(Id, toLabel(Name) AliasName) LIMIT 10]");
68
- const context = parser.soslLiteral();
69
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
70
- expect(errorCounter.getNumErrors()).toEqual(0);
71
- });
72
- test('testConvertCurrency', () => {
73
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)(`[
74
- FIND 'test' RETURNING Opportunity(
75
- Name,
76
- convertCurrency(Amount),
77
- convertCurrency(Amount) AliasCurrency
78
- )
79
- ]`);
80
- const context = parser.soslLiteral();
81
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
82
- expect(errorCounter.getNumErrors()).toEqual(0);
83
- });
84
- test('testConvertCurrencyWithFormat', () => {
85
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)(`[
86
- FIND 'Acme' RETURNING Account(
87
- AnnualRevenue,
88
- FORMAT(convertCurrency(AnnualRevenue)) convertedCurrency
89
- )
90
- ]`);
91
- const context = parser.soslLiteral();
92
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
93
- expect(errorCounter.getNumErrors()).toEqual(0);
94
- });
95
- test('testFormatWithAggregate', () => {
96
- const [parser, errorCounter] = (0, SyntaxErrorCounter_1.createParser)("[ FIND 'Acme' RETURNING Account(AnnualRevenue, FORMAT(MIN(CloseDate))) ]");
97
- const context = parser.soslLiteral();
98
- expect(context).toBeInstanceOf(ApexParser_1.SoslLiteralContext);
99
- expect(errorCounter.getNumErrors()).toEqual(0);
100
- });
101
- //# sourceMappingURL=SOSLParserTest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SOSLParserTest.js","sourceRoot":"","sources":["../../src/__tests__/SOSLParserTest.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { ANTLRErrorListener, RecognitionException, Recognizer, Token } from "antlr4ts";
2
- import { ApexLexer } from "../ApexLexer";
3
- import { ApexParser } from "../ApexParser";
4
- export declare class SyntaxErrorCounter<T = Token> implements ANTLRErrorListener<T> {
5
- numErrors: number;
6
- syntaxError(recognizer: Recognizer<T, any>, offendingSymbol: T, line: number, charPositionInLine: number, msg: string, e: RecognitionException | undefined): any;
7
- getNumErrors(): number;
8
- }
9
- export declare function createLexer(input: string, caseInsensitive?: boolean): [ApexLexer, SyntaxErrorCounter<number>];
10
- export declare function createParser(input: string): [ApexParser, SyntaxErrorCounter];
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createParser = exports.createLexer = exports.SyntaxErrorCounter = void 0;
4
- /*
5
- Copyright (c) 2021 Kevin Jones, All rights reserved.
6
- Redistribution and use in source and binary forms, with or without
7
- modification, are permitted provided that the following conditions
8
- are met:
9
- 1. Redistributions of source code must retain the above copyright
10
- notice, this list of conditions and the following disclaimer.
11
- 2. Redistributions in binary form must reproduce the above copyright
12
- notice, this list of conditions and the following disclaimer in the
13
- documentation and/or other materials provided with the distribution.
14
- 3. The name of the author may not be used to endorse or promote products
15
- derived from this software without specific prior written permission.
16
- */
17
- const antlr4ts_1 = require("antlr4ts");
18
- const ApexLexer_1 = require("../ApexLexer");
19
- const ApexParser_1 = require("../ApexParser");
20
- const CaseInsensitiveInputStream_1 = require("../CaseInsensitiveInputStream");
21
- class SyntaxErrorCounter {
22
- constructor() {
23
- this.numErrors = 0;
24
- }
25
- syntaxError(recognizer, offendingSymbol, line, charPositionInLine, msg, e) {
26
- this.numErrors += 1;
27
- }
28
- getNumErrors() {
29
- return this.numErrors;
30
- }
31
- }
32
- exports.SyntaxErrorCounter = SyntaxErrorCounter;
33
- function createLexer(input, caseInsensitive = true) {
34
- const stream = antlr4ts_1.CharStreams.fromString(input);
35
- const lexer = new ApexLexer_1.ApexLexer(caseInsensitive ? new CaseInsensitiveInputStream_1.CaseInsensitiveInputStream(stream) : stream);
36
- lexer.removeErrorListeners();
37
- const errorCounter = new SyntaxErrorCounter();
38
- lexer.addErrorListener(errorCounter);
39
- return [lexer, errorCounter];
40
- }
41
- exports.createLexer = createLexer;
42
- function createParser(input) {
43
- const lexer = new ApexLexer_1.ApexLexer(new CaseInsensitiveInputStream_1.CaseInsensitiveInputStream(antlr4ts_1.CharStreams.fromString(input)));
44
- const tokens = new antlr4ts_1.CommonTokenStream(lexer);
45
- const parser = new ApexParser_1.ApexParser(tokens);
46
- parser.removeErrorListeners();
47
- const errorCounter = new SyntaxErrorCounter();
48
- parser.addErrorListener(errorCounter);
49
- return [parser, errorCounter];
50
- }
51
- exports.createParser = createParser;
52
- //# sourceMappingURL=SyntaxErrorCounter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SyntaxErrorCounter.js","sourceRoot":"","sources":["../../src/__tests__/SyntaxErrorCounter.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,uCAOkB;AAClB,4CAAyC;AACzC,8CAA2C;AAC3C,8EAA2E;AAE3E,MAAa,kBAAkB;IAA/B;QACI,cAAS,GAAG,CAAC,CAAC;IAgBlB,CAAC;IAdG,WAAW,CACP,UAA8B,EAC9B,eAAkB,EAClB,IAAY,EACZ,kBAA0B,EAC1B,GAAW,EACX,CAAmC;QAEnC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ;AAjBD,gDAiBC;AAED,SAAgB,WAAW,CACvB,KAAa,EACb,kBAA2B,IAAI;IAE/B,MAAM,MAAM,GAAG,sBAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,IAAI,qBAAS,CACvB,eAAe,CAAC,CAAC,CAAC,IAAI,uDAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CACpE,CAAC;IAEF,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,IAAI,kBAAkB,EAAU,CAAC;IACtD,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAErC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACjC,CAAC;AAdD,kCAcC;AAED,SAAgB,YAAY,CAAC,KAAa;IACtC,MAAM,KAAK,GAAG,IAAI,qBAAS,CACvB,IAAI,uDAA0B,CAAC,sBAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAChE,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,4BAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,uBAAU,CAAC,MAAM,CAAC,CAAC;IAEtC,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC9C,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEtC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAClC,CAAC;AAZD,oCAYC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,75 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- /*
13
- * Copyright (c) 2022 FinancialForce.com, inc. All rights reserved.
14
- */
15
- const child_process_1 = require("child_process");
16
- const fs_1 = require("fs");
17
- const path_1 = require("path");
18
- const __1 = require("../..");
19
- describe("Parse samples", () => {
20
- // .each runs first before any hooks like beforeAll
21
- function getSamples() {
22
- if (!process.env.SAMPLES) {
23
- throw new Error("Missing environment variable 'SAMPLES' with path to samples.");
24
- }
25
- const sampleDir = (0, path_1.resolve)(process.env.SAMPLES);
26
- return (0, fs_1.readdirSync)(sampleDir)
27
- .filter(f => !(/(^|\/)\.[^\/\.]/g).test(f)) // not hidden
28
- .map(f => (0, path_1.resolve)(sampleDir, f)) // full path
29
- .filter(f => (0, fs_1.lstatSync)(f).isDirectory())
30
- .map(d => [(0, path_1.basename)(d), d]);
31
- }
32
- // disable jest wrapped logging
33
- const jestConsole = console;
34
- beforeEach(() => {
35
- global.console = require("console");
36
- });
37
- afterEach(() => {
38
- global.console = jestConsole;
39
- });
40
- test.each(getSamples())("Sample: %s", (_name, path) => __awaiter(void 0, void 0, void 0, function* () {
41
- const result = yield (0, __1.checkProject)(path);
42
- expect(result).toMatchSnapshot();
43
- // run the jvm version of check over same dirs
44
- result.forEach(r => {
45
- const jvmCheck = (0, child_process_1.spawnSync)("java", [
46
- "-cp",
47
- "jvm/target/dependency/*:jvm/target/apex-parser.jar",
48
- "io.github.apexdevtools.apexparser.Check",
49
- (0, path_1.resolve)(path, r.path)
50
- ], {
51
- // can only be run from npm dir
52
- cwd: (0, path_1.resolve)(process.cwd(), ".."),
53
- timeout: 10000
54
- });
55
- const errors = [];
56
- const logs = [];
57
- // either >1 or null, truthy check not enough
58
- if (jvmCheck.status || jvmCheck.status == null) {
59
- logs.push(...jvmCheck.stderr.toString("utf8").split("\n"));
60
- }
61
- else {
62
- jvmCheck.stdout
63
- .toString("utf8")
64
- .split("\n")
65
- .forEach(l => (l.startsWith("{") ? errors : logs).push(l));
66
- }
67
- console.log(logs.filter(l => l).map(s => `(JVM) ${s}`).join("\n"));
68
- // catch unexpected failures or timeouts
69
- expect(jvmCheck.status).toEqual(r.status);
70
- // match syntax errors to snapshot value
71
- expect(errors.map(j => JSON.parse(j))).toMatchObject(r.errors);
72
- });
73
- }), 15000);
74
- });
75
- //# sourceMappingURL=SampleParseSys.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SampleParseSys.js","sourceRoot":"","sources":["../../../src/__tests__/system/SampleParseSys.ts"],"names":[],"mappings":"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"}