Skip to content

Commit b53544a

Browse files
authored
fix(grammar): fix secondary compoments grammar (#91)
"inputs" field is not allowed.
1 parent cc65b1d commit b53544a

5 files changed

Lines changed: 13 additions & 15 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -302,9 +302,9 @@ source-descriptions-reference = 1*CHAR
302302
303303
; Secondary grammar for parsing $components name part
304304
; Format: {field}.{subField}
305-
; Allowed fields: inputs, parameters, successActions, failureActions
305+
; Allowed fields: parameters, successActions, failureActions
306306
components-name = components-field "." components-sub-field
307-
components-field = "inputs" / "parameters" / "successActions" / "failureActions"
307+
components-field = "parameters" / "successActions" / "failureActions"
308308
components-sub-field = 1*(ALPHA / DIGIT / "." / "-" / "_")
309309
310310
; https://datatracker.ietf.org/doc/html/rfc6901#section-3

src/grammar.bnf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ source-descriptions-reference = 1*CHAR
3535

3636
; Secondary grammar for parsing $components name part
3737
; Format: {field}.{subField}
38-
; Allowed fields: inputs, parameters, successActions, failureActions
38+
; Allowed fields: parameters, successActions, failureActions
3939
components-name = components-field "." components-sub-field
40-
components-field = "inputs" / "parameters" / "successActions" / "failureActions"
40+
components-field = "parameters" / "successActions" / "failureActions"
4141
components-sub-field = 1*(ALPHA / DIGIT / "." / "-" / "_")
4242

4343
; https://datatracker.ietf.org/doc/html/rfc6901#section-3

src/grammar.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ export default function grammar(){
77
// SUMMARY
88
// rules = 36
99
// udts = 0
10-
// opcodes = 213
10+
// opcodes = 212
1111
// --- ABNF original opcodes
1212
// ALT = 21
1313
// CAT = 24
1414
// REP = 16
1515
// RNM = 55
16-
// TLS = 73
16+
// TLS = 72
1717
// TBS = 12
1818
// TRG = 12
1919
// --- SABNF superset opcodes
@@ -264,11 +264,10 @@ export default function grammar(){
264264

265265
/* components-field */
266266
this.rules[22].opcodes = [];
267-
this.rules[22].opcodes[0] = { type: 1, children: [1,2,3,4] };// ALT
268-
this.rules[22].opcodes[1] = { type: 7, string: [105,110,112,117,116,115] };// TLS
269-
this.rules[22].opcodes[2] = { type: 7, string: [112,97,114,97,109,101,116,101,114,115] };// TLS
270-
this.rules[22].opcodes[3] = { type: 7, string: [115,117,99,99,101,115,115,97,99,116,105,111,110,115] };// TLS
271-
this.rules[22].opcodes[4] = { type: 7, string: [102,97,105,108,117,114,101,97,99,116,105,111,110,115] };// TLS
267+
this.rules[22].opcodes[0] = { type: 1, children: [1,2,3] };// ALT
268+
this.rules[22].opcodes[1] = { type: 7, string: [112,97,114,97,109,101,116,101,114,115] };// TLS
269+
this.rules[22].opcodes[2] = { type: 7, string: [115,117,99,99,101,115,115,97,99,116,105,111,110,115] };// TLS
270+
this.rules[22].opcodes[3] = { type: 7, string: [102,97,105,108,117,114,101,97,99,116,105,111,110,115] };// TLS
272271

273272
/* components-sub-field */
274273
this.rules[23].opcodes = [];
@@ -429,9 +428,9 @@ export default function grammar(){
429428
str += "\n";
430429
str += "; Secondary grammar for parsing $components name part\n";
431430
str += "; Format: {field}.{subField}\n";
432-
str += "; Allowed fields: inputs, parameters, successActions, failureActions\n";
431+
str += "; Allowed fields: parameters, successActions, failureActions\n";
433432
str += "components-name = components-field \".\" components-sub-field\n";
434-
str += "components-field = \"inputs\" / \"parameters\" / \"successActions\" / \"failureActions\"\n";
433+
str += "components-field = \"parameters\" / \"successActions\" / \"failureActions\"\n";
435434
str += "components-sub-field = 1*(ALPHA / DIGIT / \".\" / \"-\" / \"_\")\n";
436435
str += "\n";
437436
str += "; https://datatracker.ietf.org/doc/html/rfc6901#section-3\n";

test/fixtures/expressions-valid.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ const validExpressions = [
6767
'$sourceDescriptions.externalService.url',
6868

6969
// Components expression
70-
'$components.inputs.username',
7170
'$components.parameters.petId',
7271
'$components.successActions.notifyUser',
7372
'$components.failureActions.logError',

types/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ export interface SourceDescriptionsExpression {
204204
*/
205205
export interface ComponentsExpression {
206206
readonly type: 'ComponentsExpression';
207-
readonly field: 'inputs' | 'parameters' | 'successActions' | 'failureActions';
207+
readonly field: 'parameters' | 'successActions' | 'failureActions';
208208
readonly subField: string;
209209
}
210210

0 commit comments

Comments
 (0)