@swaggerexpert/arazzo-runtime-expression 1.0.0
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/LICENSE +202 -0
- package/NOTICE +10 -0
- package/README.md +290 -0
- package/SECURITY.md +15 -0
- package/cjs/apg-lite.cjs +1221 -0
- package/cjs/extract.cjs +21 -0
- package/cjs/index.cjs +13 -0
- package/cjs/parse/callbacks/body-reference.cjs +14 -0
- package/cjs/parse/callbacks/expression.cjs +15 -0
- package/cjs/parse/callbacks/header-reference.cjs +14 -0
- package/cjs/parse/callbacks/json-pointer.cjs +14 -0
- package/cjs/parse/callbacks/name.cjs +14 -0
- package/cjs/parse/callbacks/parameter-name.cjs +14 -0
- package/cjs/parse/callbacks/path-reference.cjs +14 -0
- package/cjs/parse/callbacks/query-reference.cjs +14 -0
- package/cjs/parse/callbacks/reference-token.cjs +14 -0
- package/cjs/parse/callbacks/source.cjs +14 -0
- package/cjs/parse/callbacks/token.cjs +15 -0
- package/cjs/parse/index.cjs +40 -0
- package/cjs/runtime-expression.cjs +779 -0
- package/cjs/test.cjs +15 -0
- package/es/extract.mjs +17 -0
- package/es/index.mjs +4 -0
- package/es/parse/callbacks/body-reference.mjs +10 -0
- package/es/parse/callbacks/expression.mjs +11 -0
- package/es/parse/callbacks/header-reference.mjs +10 -0
- package/es/parse/callbacks/json-pointer.mjs +10 -0
- package/es/parse/callbacks/name.mjs +10 -0
- package/es/parse/callbacks/parameter-name.mjs +10 -0
- package/es/parse/callbacks/path-reference.mjs +10 -0
- package/es/parse/callbacks/query-reference.mjs +10 -0
- package/es/parse/callbacks/reference-token.mjs +10 -0
- package/es/parse/callbacks/source.mjs +10 -0
- package/es/parse/callbacks/token.mjs +10 -0
- package/es/parse/index.mjs +35 -0
- package/es/runtime-expression.mjs +775 -0
- package/es/test.mjs +10 -0
- package/package.json +82 -0
- package/types/index.d.ts +54 -0
package/cjs/extract.cjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
/**
|
|
6
|
+
* This function is used for extracting the expression from Arazzo Runtime Expression notation.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
*
|
|
10
|
+
* extract('{$url}'); // => '$url'
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const extract = arazzoRuntimeExpression => {
|
|
14
|
+
var _match$groups$express, _match$groups;
|
|
15
|
+
if (typeof arazzoRuntimeExpression !== 'string') {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const match = arazzoRuntimeExpression.match(/^{(?<expression>.+)}$/);
|
|
19
|
+
return (_match$groups$express = match == null || (_match$groups = match.groups) == null ? void 0 : _match$groups.expression) != null ? _match$groups$express : null;
|
|
20
|
+
};
|
|
21
|
+
var _default = exports.default = extract;
|
package/cjs/index.cjs
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.test = exports.parse = exports.extract = exports.Grammar = void 0;
|
|
5
|
+
var _runtimeExpression = _interopRequireDefault(require("./runtime-expression.cjs"));
|
|
6
|
+
exports.Grammar = _runtimeExpression.default;
|
|
7
|
+
var _extract = _interopRequireDefault(require("./extract.cjs"));
|
|
8
|
+
exports.extract = _extract.default;
|
|
9
|
+
var _test = _interopRequireDefault(require("./test.cjs"));
|
|
10
|
+
exports.test = _test.default;
|
|
11
|
+
var _index = _interopRequireDefault(require("./parse/index.cjs"));
|
|
12
|
+
exports.parse = _index.default;
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const bodyReference = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['body-reference', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = bodyReference;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const expression = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
if (Array.isArray(data) === false) {
|
|
9
|
+
throw new Error("parser's user data must be an array");
|
|
10
|
+
}
|
|
11
|
+
data.push(['expression', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
12
|
+
}
|
|
13
|
+
return _apgLite.identifiers.SEM_OK;
|
|
14
|
+
};
|
|
15
|
+
var _default = exports.default = expression;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const headerReference = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['header-reference', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = headerReference;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const jsonPointer = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['json-pointer', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = jsonPointer;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const name = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['name', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = name;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const parameterName = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['parameter-name', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = parameterName;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const pathReference = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['path-reference', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = pathReference;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const queryReference = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['query-reference', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = queryReference;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const referenceToken = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['reference-token', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = referenceToken;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const source = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['source', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
var _default = exports.default = source;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.token = exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../../apg-lite.cjs");
|
|
6
|
+
const token = (state, chars, phraseIndex, phraseLength, data) => {
|
|
7
|
+
if (state === _apgLite.identifiers.SEM_PRE) {
|
|
8
|
+
data.push(['token', _apgLite.utilities.charsToString(chars, phraseIndex, phraseLength)]);
|
|
9
|
+
} else if (state === _apgLite.identifiers.SEM_POST) {
|
|
10
|
+
/* not used in this example */
|
|
11
|
+
}
|
|
12
|
+
return _apgLite.identifiers.SEM_OK;
|
|
13
|
+
};
|
|
14
|
+
exports.token = token;
|
|
15
|
+
var _default = exports.default = token;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.default = void 0;
|
|
5
|
+
var _apgLite = require("../apg-lite.cjs");
|
|
6
|
+
var _runtimeExpression = _interopRequireDefault(require("../runtime-expression.cjs"));
|
|
7
|
+
var _expression = _interopRequireDefault(require("./callbacks/expression.cjs"));
|
|
8
|
+
var _parameterName = _interopRequireDefault(require("./callbacks/parameter-name.cjs"));
|
|
9
|
+
var _source = _interopRequireDefault(require("./callbacks/source.cjs"));
|
|
10
|
+
var _headerReference = _interopRequireDefault(require("./callbacks/header-reference.cjs"));
|
|
11
|
+
var _queryReference = _interopRequireDefault(require("./callbacks/query-reference.cjs"));
|
|
12
|
+
var _pathReference = _interopRequireDefault(require("./callbacks/path-reference.cjs"));
|
|
13
|
+
var _bodyReference = _interopRequireDefault(require("./callbacks/body-reference.cjs"));
|
|
14
|
+
var _jsonPointer = _interopRequireDefault(require("./callbacks/json-pointer.cjs"));
|
|
15
|
+
var _referenceToken = _interopRequireDefault(require("./callbacks/reference-token.cjs"));
|
|
16
|
+
var _name = _interopRequireDefault(require("./callbacks/name.cjs"));
|
|
17
|
+
var _token = _interopRequireDefault(require("./callbacks/token.cjs"));
|
|
18
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
+
const grammar = new _runtimeExpression.default();
|
|
20
|
+
const parse = runtimeExpression => {
|
|
21
|
+
const parser = new _apgLite.Parser();
|
|
22
|
+
parser.ast = new _apgLite.Ast();
|
|
23
|
+
parser.ast.callbacks.expression = _expression.default;
|
|
24
|
+
parser.ast.callbacks['parameter-name'] = _parameterName.default;
|
|
25
|
+
parser.ast.callbacks.source = _source.default;
|
|
26
|
+
parser.ast.callbacks['header-reference'] = _headerReference.default;
|
|
27
|
+
parser.ast.callbacks['query-reference'] = _queryReference.default;
|
|
28
|
+
parser.ast.callbacks['path-reference'] = _pathReference.default;
|
|
29
|
+
parser.ast.callbacks['body-reference'] = _bodyReference.default;
|
|
30
|
+
parser.ast.callbacks['json-pointer'] = _jsonPointer.default;
|
|
31
|
+
parser.ast.callbacks['reference-token'] = _referenceToken.default;
|
|
32
|
+
parser.ast.callbacks.name = _name.default;
|
|
33
|
+
parser.ast.callbacks.token = _token.default;
|
|
34
|
+
const result = parser.parse(grammar, 'expression', runtimeExpression);
|
|
35
|
+
return {
|
|
36
|
+
result,
|
|
37
|
+
ast: parser.ast
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
var _default = exports.default = parse;
|