@sap-ux/cds-annotation-parser 0.1.1
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 +201 -0
- package/README.md +74 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +10 -0
- package/dist/constants.js.map +1 -0
- package/dist/find-annotation-node.d.ts +40 -0
- package/dist/find-annotation-node.d.ts.map +1 -0
- package/dist/find-annotation-node.js +135 -0
- package/dist/find-annotation-node.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +52 -0
- package/dist/index.js.map +1 -0
- package/dist/parser/factory.d.ts +6 -0
- package/dist/parser/factory.d.ts.map +1 -0
- package/dist/parser/factory.js +13 -0
- package/dist/parser/factory.js.map +1 -0
- package/dist/parser/index.d.ts +11 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +17 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/parser/parser.d.ts +242 -0
- package/dist/parser/parser.d.ts.map +1 -0
- package/dist/parser/parser.js +385 -0
- package/dist/parser/parser.js.map +1 -0
- package/dist/parser/tokens.d.ts +103 -0
- package/dist/parser/tokens.d.ts.map +1 -0
- package/dist/parser/tokens.js +287 -0
- package/dist/parser/tokens.js.map +1 -0
- package/dist/transformer/annotation-ast-nodes.d.ts +178 -0
- package/dist/transformer/annotation-ast-nodes.d.ts.map +1 -0
- package/dist/transformer/annotation-ast-nodes.js +69 -0
- package/dist/transformer/annotation-ast-nodes.js.map +1 -0
- package/dist/transformer/ast.d.ts +6 -0
- package/dist/transformer/ast.d.ts.map +1 -0
- package/dist/transformer/ast.js +1227 -0
- package/dist/transformer/ast.js.map +1 -0
- package/dist/transformer/expressions.d.ts +87 -0
- package/dist/transformer/expressions.d.ts.map +1 -0
- package/dist/transformer/expressions.js +548 -0
- package/dist/transformer/expressions.js.map +1 -0
- package/dist/transformer/index.d.ts +5 -0
- package/dist/transformer/index.d.ts.map +1 -0
- package/dist/transformer/index.js +42 -0
- package/dist/transformer/index.js.map +1 -0
- package/dist/transformer/range.d.ts +20 -0
- package/dist/transformer/range.d.ts.map +1 -0
- package/dist/transformer/range.js +31 -0
- package/dist/transformer/range.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Position, Range } from 'vscode-languageserver-types';
|
|
2
|
+
/**
|
|
3
|
+
* Checks if given positions are equal.
|
|
4
|
+
*
|
|
5
|
+
* @param a Position 1
|
|
6
|
+
* @param b Position 2
|
|
7
|
+
* @returns True if positions are equal
|
|
8
|
+
*/
|
|
9
|
+
export declare function arePositionsEqual(a: Position, b: Position): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Checks if given ranges are equal.
|
|
12
|
+
*
|
|
13
|
+
* @param a Range 1
|
|
14
|
+
* @param b Range 2
|
|
15
|
+
* @returns True if ranges are equal
|
|
16
|
+
*/
|
|
17
|
+
export declare function areRangesEqual(a: Range, b: Range): boolean;
|
|
18
|
+
export declare const copyPosition: (position: Position) => Position;
|
|
19
|
+
export declare const copyRange: (range: Range) => Range;
|
|
20
|
+
//# sourceMappingURL=range.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.d.ts","sourceRoot":"","sources":["../../src/transformer/range.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAEnE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,OAAO,CAE1D;AAED,eAAO,MAAM,YAAY,aAAc,QAAQ,KAAG,QAA8D,CAAC;AAEjH,eAAO,MAAM,SAAS,UAAW,KAAK,KAAG,KAAyE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.copyRange = exports.copyPosition = exports.areRangesEqual = exports.arePositionsEqual = void 0;
|
|
4
|
+
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
5
|
+
/**
|
|
6
|
+
* Checks if given positions are equal.
|
|
7
|
+
*
|
|
8
|
+
* @param a Position 1
|
|
9
|
+
* @param b Position 2
|
|
10
|
+
* @returns True if positions are equal
|
|
11
|
+
*/
|
|
12
|
+
function arePositionsEqual(a, b) {
|
|
13
|
+
return a.line === b.line && a.character === b.character;
|
|
14
|
+
}
|
|
15
|
+
exports.arePositionsEqual = arePositionsEqual;
|
|
16
|
+
/**
|
|
17
|
+
* Checks if given ranges are equal.
|
|
18
|
+
*
|
|
19
|
+
* @param a Range 1
|
|
20
|
+
* @param b Range 2
|
|
21
|
+
* @returns True if ranges are equal
|
|
22
|
+
*/
|
|
23
|
+
function areRangesEqual(a, b) {
|
|
24
|
+
return arePositionsEqual(a.start, b.start) && arePositionsEqual(a.end, b.end);
|
|
25
|
+
}
|
|
26
|
+
exports.areRangesEqual = areRangesEqual;
|
|
27
|
+
const copyPosition = (position) => vscode_languageserver_types_1.Position.create(position.line, position.character);
|
|
28
|
+
exports.copyPosition = copyPosition;
|
|
29
|
+
const copyRange = (range) => vscode_languageserver_types_1.Range.create((0, exports.copyPosition)(range.start), (0, exports.copyPosition)(range.end));
|
|
30
|
+
exports.copyRange = copyRange;
|
|
31
|
+
//# sourceMappingURL=range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range.js","sourceRoot":"","sources":["../../src/transformer/range.ts"],"names":[],"mappings":";;;AAAA,6EAA8D;AAE9D;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,CAAW,EAAE,CAAW;IACtD,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC;AAC5D,CAAC;AAFD,8CAEC;AAED;;;;;;GAMG;AACH,SAAgB,cAAc,CAAC,CAAQ,EAAE,CAAQ;IAC7C,OAAO,iBAAiB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAClF,CAAC;AAFD,wCAEC;AAEM,MAAM,YAAY,GAAG,CAAC,QAAkB,EAAY,EAAE,CAAC,sCAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;AAApG,QAAA,YAAY,gBAAwF;AAE1G,MAAM,SAAS,GAAG,CAAC,KAAY,EAAS,EAAE,CAAC,mCAAK,CAAC,MAAM,CAAC,IAAA,oBAAY,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAA,oBAAY,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAAtG,QAAA,SAAS,aAA6F"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const hasNaNOrUndefined: (value: undefined | number) => boolean;
|
|
2
|
+
export declare const isDefined: <T>(value: T | undefined) => value is T;
|
|
3
|
+
export declare const hasItems: <T>(array: T[] | undefined, minItemCount?: number) => array is T[];
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,UAAW,SAAS,GAAG,MAAM,KAAG,OAK7D,CAAC;AACF,eAAO,MAAM,SAAS,yCAErB,CAAC;AACF,eAAO,MAAM,QAAQ,oEACmC,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.hasItems = exports.isDefined = exports.hasNaNOrUndefined = void 0;
|
|
4
|
+
const hasNaNOrUndefined = (value) => {
|
|
5
|
+
if (value === undefined) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
return isNaN(value);
|
|
9
|
+
};
|
|
10
|
+
exports.hasNaNOrUndefined = hasNaNOrUndefined;
|
|
11
|
+
const isDefined = (value) => {
|
|
12
|
+
return value !== undefined;
|
|
13
|
+
};
|
|
14
|
+
exports.isDefined = isDefined;
|
|
15
|
+
const hasItems = (array, minItemCount = 1) => Array.isArray(array) && array.length >= minItemCount;
|
|
16
|
+
exports.hasItems = hasItems;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAO,MAAM,iBAAiB,GAAG,CAAC,KAAyB,EAAW,EAAE;IACpE,IAAI,KAAK,KAAK,SAAS,EAAE;QACrB,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B;AACK,MAAM,SAAS,GAAG,CAAI,KAAoB,EAAc,EAAE;IAC7D,OAAO,KAAK,KAAK,SAAS,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,SAAS,aAEpB;AACK,MAAM,QAAQ,GAAG,CAAI,KAA2B,EAAE,YAAY,GAAG,CAAC,EAAgB,EAAE,CACvF,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,YAAY,CAAC;AAD5C,QAAA,QAAQ,YACoC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sap-ux/cds-annotation-parser",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Annotation Parser for CDS",
|
|
5
|
+
"publisher": "SAPSE",
|
|
6
|
+
"author": "SAP SE",
|
|
7
|
+
"license": "Apache-2.0",
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"chevrotain": "7.1.1",
|
|
11
|
+
"vscode-languageserver-types": "3.17.2",
|
|
12
|
+
"@sap-ux/odata-annotation-core": "0.1.6",
|
|
13
|
+
"@sap-ux/odata-vocabularies": "0.2.0",
|
|
14
|
+
"@sap-ux/odata-entity-model": "0.1.1"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"typescript": "4.9.5",
|
|
18
|
+
"npm-run-all": "4.1.5"
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"dist/"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "npm-run-all clean compile",
|
|
25
|
+
"compile": "tsc --build ./tsconfig.build.json",
|
|
26
|
+
"clean:dist": "rimraf ./dist *.tsbuildinfo",
|
|
27
|
+
"clean": "rimraf ./reports",
|
|
28
|
+
"format:fix": "prettier --write --loglevel silent --ignore-path ../../../.prettierignore",
|
|
29
|
+
"format:fix:all": "prettier --write '**/*.{css,scss,html,js,json,ts,tsx,yaml,yml}' '!**/{out,dist,typings,node_modules}/**' '!**/*.{svg,png,xml}' --ignore-path ../../../.prettierignore",
|
|
30
|
+
"lint": "eslint . --ext .ts,.tsx",
|
|
31
|
+
"lint:fix": "eslint . --ext .ts --fix",
|
|
32
|
+
"lint:fix:all": "eslint . --ext .ts,.tsx --fix",
|
|
33
|
+
"test": "jest --maxWorkers=2",
|
|
34
|
+
"test:update": "node scripts/updateTestData.js",
|
|
35
|
+
"test:create": "node scripts/createTestData.js",
|
|
36
|
+
"watch": "tsc --build ./ -watch"
|
|
37
|
+
}
|
|
38
|
+
}
|