jsii-reflect 1.35.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/README.md +189 -0
- package/bin/jsii-tree +2 -0
- package/bin/jsii-tree.d.ts +1 -0
- package/bin/jsii-tree.js +99 -0
- package/lib/assembly.d.ts +118 -0
- package/lib/assembly.js +285 -0
- package/lib/callable.d.ts +43 -0
- package/lib/callable.js +61 -0
- package/lib/class.d.ts +52 -0
- package/lib/class.js +110 -0
- package/lib/dependency.d.ts +8 -0
- package/lib/dependency.js +15 -0
- package/lib/docs.d.ts +53 -0
- package/lib/docs.js +107 -0
- package/lib/enum.d.ts +21 -0
- package/lib/enum.js +36 -0
- package/lib/index.d.ts +22 -0
- package/lib/index.js +35 -0
- package/lib/initializer.d.ts +11 -0
- package/lib/initializer.js +18 -0
- package/lib/interface.d.ts +43 -0
- package/lib/interface.js +85 -0
- package/lib/method.d.ts +42 -0
- package/lib/method.js +59 -0
- package/lib/module-like.d.ts +26 -0
- package/lib/module-like.js +50 -0
- package/lib/optional-value.d.ts +12 -0
- package/lib/optional-value.js +30 -0
- package/lib/overridable.d.ts +10 -0
- package/lib/overridable.js +3 -0
- package/lib/parameter.d.ts +22 -0
- package/lib/parameter.js +32 -0
- package/lib/property.d.ts +54 -0
- package/lib/property.js +82 -0
- package/lib/reference-type.d.ts +57 -0
- package/lib/reference-type.js +52 -0
- package/lib/source.d.ts +37 -0
- package/lib/source.js +43 -0
- package/lib/submodule.d.ts +24 -0
- package/lib/submodule.js +29 -0
- package/lib/tree.d.ts +51 -0
- package/lib/tree.js +281 -0
- package/lib/type-member.d.ts +18 -0
- package/lib/type-member.js +22 -0
- package/lib/type-ref.d.ts +17 -0
- package/lib/type-ref.js +78 -0
- package/lib/type-system.d.ts +93 -0
- package/lib/type-system.js +287 -0
- package/lib/type.d.ts +84 -0
- package/lib/type.js +139 -0
- package/lib/util.d.ts +3 -0
- package/lib/util.js +12 -0
- package/package.json +57 -0
- package/test/__snapshots__/jsii-tree.test.ts.snap +5625 -0
- package/test/__snapshots__/tree.test.ts.snap +3773 -0
- package/test/__snapshots__/type-system.test.ts.snap +194 -0
- package/test/independent.test.d.ts +1 -0
- package/test/independent.test.js +25 -0
- package/test/jsii-tree.test.d.ts +1 -0
- package/test/jsii-tree.test.js +28 -0
- package/test/tree.test.d.ts +1 -0
- package/test/tree.test.js +56 -0
- package/test/type-system.test.d.ts +1 -0
- package/test/type-system.test.js +344 -0
- package/test/util.d.ts +2 -0
- package/test/util.js +13 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleLike = void 0;
|
|
4
|
+
const class_1 = require("./class");
|
|
5
|
+
const enum_1 = require("./enum");
|
|
6
|
+
const interface_1 = require("./interface");
|
|
7
|
+
class ModuleLike {
|
|
8
|
+
constructor(system) {
|
|
9
|
+
this.system = system;
|
|
10
|
+
}
|
|
11
|
+
get submodules() {
|
|
12
|
+
return Object.values(this.submoduleMap);
|
|
13
|
+
}
|
|
14
|
+
get types() {
|
|
15
|
+
return Object.values(this.typeMap);
|
|
16
|
+
}
|
|
17
|
+
get classes() {
|
|
18
|
+
return this.types
|
|
19
|
+
.filter((t) => t instanceof class_1.ClassType)
|
|
20
|
+
.map((t) => t);
|
|
21
|
+
}
|
|
22
|
+
get interfaces() {
|
|
23
|
+
return this.types
|
|
24
|
+
.filter((t) => t instanceof interface_1.InterfaceType)
|
|
25
|
+
.map((t) => t);
|
|
26
|
+
}
|
|
27
|
+
get enums() {
|
|
28
|
+
return this.types
|
|
29
|
+
.filter((t) => t instanceof enum_1.EnumType)
|
|
30
|
+
.map((t) => t);
|
|
31
|
+
}
|
|
32
|
+
tryFindType(fqn) {
|
|
33
|
+
const ownType = this.typeMap[fqn];
|
|
34
|
+
if (ownType != null) {
|
|
35
|
+
return ownType;
|
|
36
|
+
}
|
|
37
|
+
if (!fqn.startsWith(`${this.fqn}.`)) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
const myFqnLength = this.fqn.split('.').length;
|
|
41
|
+
const subFqn = fqn
|
|
42
|
+
.split('.')
|
|
43
|
+
.slice(0, myFqnLength + 1)
|
|
44
|
+
.join('.');
|
|
45
|
+
const sub = this.submoduleMap[subFqn];
|
|
46
|
+
return sub === null || sub === void 0 ? void 0 : sub.tryFindType(fqn);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.ModuleLike = ModuleLike;
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLWxpa2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtb2R1bGUtbGlrZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxtQ0FBb0M7QUFDcEMsaUNBQWtDO0FBQ2xDLDJDQUE0QztBQUs1QyxNQUFzQixVQUFVO0lBZTlCLFlBQXNDLE1BQWtCO1FBQWxCLFdBQU0sR0FBTixNQUFNLENBQVk7SUFBRyxDQUFDO0lBRTVELElBQVcsVUFBVTtRQUNuQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxJQUFXLEtBQUs7UUFDZCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSzthQUNkLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLGlCQUFTLENBQUM7YUFDckMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFjLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSx5QkFBYSxDQUFDO2FBQ3pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBa0IsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksZUFBUSxDQUFDO2FBQ3BDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBYSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1lBQ25CLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNuQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMvQyxNQUFNLE1BQU0sR0FBRyxHQUFHO2FBQ2YsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUNWLEtBQUssQ0FBQyxDQUFDLEVBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQzthQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDYixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sR0FBRyxhQUFILEdBQUcsdUJBQUgsR0FBRyxDQUFFLFdBQVcsQ0FBQyxHQUFHLEVBQUU7SUFDL0IsQ0FBQztDQUNGO0FBNURELGdDQTREQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGpzaWkgZnJvbSAnQGpzaWkvc3BlYyc7XG5cbmltcG9ydCB7IENsYXNzVHlwZSB9IGZyb20gJy4vY2xhc3MnO1xuaW1wb3J0IHsgRW51bVR5cGUgfSBmcm9tICcuL2VudW0nO1xuaW1wb3J0IHsgSW50ZXJmYWNlVHlwZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1Ym1vZHVsZSB9IGZyb20gJy4vc3VibW9kdWxlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICcuL3R5cGUnO1xuaW1wb3J0IHsgVHlwZVN5c3RlbSB9IGZyb20gJy4vdHlwZS1zeXN0ZW0nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9kdWxlTGlrZSB7XG4gIHB1YmxpYyBkZWNsYXJlIGFic3RyYWN0IHJlYWRvbmx5IGZxbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiB0YXJnZXQgbmFtZSB0byBjb25maWd1cmF0aW9uLCB3aGljaCBpcyB1c2VkIHdoZW4gZ2VuZXJhdGluZyBwYWNrYWdlcyBmb3JcbiAgICogdmFyaW91cyBsYW5ndWFnZXMuXG4gICAqL1xuICBwdWJsaWMgZGVjbGFyZSBhYnN0cmFjdCByZWFkb25seSB0YXJnZXRzPzoganNpaS5Bc3NlbWJseVRhcmdldHM7XG4gIHB1YmxpYyBkZWNsYXJlIGFic3RyYWN0IHJlYWRvbmx5IHJlYWRtZT86IGpzaWkuUmVhZE1lO1xuXG4gIHByb3RlY3RlZCBkZWNsYXJlIGFic3RyYWN0IHJlYWRvbmx5IHN1Ym1vZHVsZU1hcDogUmVhZG9ubHk8XG4gICAgUmVjb3JkPHN0cmluZywgU3VibW9kdWxlPlxuICA+O1xuICBwcm90ZWN0ZWQgZGVjbGFyZSBhYnN0cmFjdCByZWFkb25seSB0eXBlTWFwOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBUeXBlPj47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBzeXN0ZW06IFR5cGVTeXN0ZW0pIHt9XG5cbiAgcHVibGljIGdldCBzdWJtb2R1bGVzKCk6IHJlYWRvbmx5IFN1Ym1vZHVsZVtdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnN1Ym1vZHVsZU1hcCk7XG4gIH1cbiAgcHVibGljIGdldCB0eXBlcygpOiByZWFkb25seSBUeXBlW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMudHlwZU1hcCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNsYXNzZXMoKTogcmVhZG9ubHkgQ2xhc3NUeXBlW10ge1xuICAgIHJldHVybiB0aGlzLnR5cGVzXG4gICAgICAuZmlsdGVyKCh0KSA9PiB0IGluc3RhbmNlb2YgQ2xhc3NUeXBlKVxuICAgICAgLm1hcCgodCkgPT4gdCBhcyBDbGFzc1R5cGUpO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnRlcmZhY2VzKCk6IHJlYWRvbmx5IEludGVyZmFjZVR5cGVbXSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZXNcbiAgICAgIC5maWx0ZXIoKHQpID0+IHQgaW5zdGFuY2VvZiBJbnRlcmZhY2VUeXBlKVxuICAgICAgLm1hcCgodCkgPT4gdCBhcyBJbnRlcmZhY2VUeXBlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW51bXMoKTogcmVhZG9ubHkgRW51bVR5cGVbXSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZXNcbiAgICAgIC5maWx0ZXIoKHQpID0+IHQgaW5zdGFuY2VvZiBFbnVtVHlwZSlcbiAgICAgIC5tYXAoKHQpID0+IHQgYXMgRW51bVR5cGUpO1xuICB9XG5cbiAgcHVibGljIHRyeUZpbmRUeXBlKGZxbjogc3RyaW5nKTogVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgb3duVHlwZSA9IHRoaXMudHlwZU1hcFtmcW5dO1xuICAgIGlmIChvd25UeXBlICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBvd25UeXBlO1xuICAgIH1cblxuICAgIGlmICghZnFuLnN0YXJ0c1dpdGgoYCR7dGhpcy5mcW59LmApKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IG15RnFuTGVuZ3RoID0gdGhpcy5mcW4uc3BsaXQoJy4nKS5sZW5ndGg7XG4gICAgY29uc3Qgc3ViRnFuID0gZnFuXG4gICAgICAuc3BsaXQoJy4nKVxuICAgICAgLnNsaWNlKDAsIG15RnFuTGVuZ3RoICsgMSlcbiAgICAgIC5qb2luKCcuJyk7XG4gICAgY29uc3Qgc3ViID0gdGhpcy5zdWJtb2R1bGVNYXBbc3ViRnFuXTtcbiAgICByZXR1cm4gc3ViPy50cnlGaW5kVHlwZShmcW4pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as jsii from '@jsii/spec';
|
|
2
|
+
import { TypeReference } from './type-ref';
|
|
3
|
+
import { TypeSystem } from './type-system';
|
|
4
|
+
export declare class OptionalValue {
|
|
5
|
+
readonly system: TypeSystem;
|
|
6
|
+
readonly spec?: jsii.OptionalValue | undefined;
|
|
7
|
+
static describe(optionalValue: OptionalValue): string;
|
|
8
|
+
constructor(system: TypeSystem, spec?: jsii.OptionalValue | undefined);
|
|
9
|
+
toString(): string;
|
|
10
|
+
get type(): TypeReference;
|
|
11
|
+
get optional(): boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OptionalValue = void 0;
|
|
4
|
+
const type_ref_1 = require("./type-ref");
|
|
5
|
+
class OptionalValue {
|
|
6
|
+
constructor(system, spec) {
|
|
7
|
+
this.system = system;
|
|
8
|
+
this.spec = spec;
|
|
9
|
+
}
|
|
10
|
+
static describe(optionalValue) {
|
|
11
|
+
let description = optionalValue.type.toString();
|
|
12
|
+
if (optionalValue.optional && !optionalValue.type.isAny) {
|
|
13
|
+
description = `Optional<${description}>`;
|
|
14
|
+
}
|
|
15
|
+
return description;
|
|
16
|
+
}
|
|
17
|
+
toString() {
|
|
18
|
+
return OptionalValue.describe(this);
|
|
19
|
+
}
|
|
20
|
+
get type() {
|
|
21
|
+
var _a;
|
|
22
|
+
return new type_ref_1.TypeReference(this.system, (_a = this.spec) === null || _a === void 0 ? void 0 : _a.type);
|
|
23
|
+
}
|
|
24
|
+
get optional() {
|
|
25
|
+
var _a;
|
|
26
|
+
return !!((_a = this.spec) === null || _a === void 0 ? void 0 : _a.optional);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.OptionalValue = OptionalValue;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uYWwtdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvcHRpb25hbC12YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx5Q0FBMkM7QUFHM0MsTUFBYSxhQUFhO0lBV3hCLFlBQ2tCLE1BQWtCLEVBQ2xCLElBQXlCO1FBRHpCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBcUI7SUFDeEMsQ0FBQztJQWJHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBNEI7UUFDakQsSUFBSSxXQUFXLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVoRCxJQUFJLGFBQWEsQ0FBQyxRQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN2RCxXQUFXLEdBQUcsWUFBWSxXQUFXLEdBQUcsQ0FBQztTQUMxQztRQUVELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFPTSxRQUFRO1FBQ2IsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLElBQUk7O1FBQ2IsT0FBTyxJQUFJLHdCQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sUUFBRSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxRQUFROztRQUNqQixPQUFPLENBQUMsUUFBQyxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLENBQUEsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUEzQkQsc0NBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMganNpaSBmcm9tICdAanNpaS9zcGVjJztcblxuaW1wb3J0IHsgVHlwZVJlZmVyZW5jZSB9IGZyb20gJy4vdHlwZS1yZWYnO1xuaW1wb3J0IHsgVHlwZVN5c3RlbSB9IGZyb20gJy4vdHlwZS1zeXN0ZW0nO1xuXG5leHBvcnQgY2xhc3MgT3B0aW9uYWxWYWx1ZSB7XG4gIHB1YmxpYyBzdGF0aWMgZGVzY3JpYmUob3B0aW9uYWxWYWx1ZTogT3B0aW9uYWxWYWx1ZSk6IHN0cmluZyB7XG4gICAgbGV0IGRlc2NyaXB0aW9uID0gb3B0aW9uYWxWYWx1ZS50eXBlLnRvU3RyaW5nKCk7XG5cbiAgICBpZiAob3B0aW9uYWxWYWx1ZS5vcHRpb25hbCAmJiAhb3B0aW9uYWxWYWx1ZS50eXBlLmlzQW55KSB7XG4gICAgICBkZXNjcmlwdGlvbiA9IGBPcHRpb25hbDwke2Rlc2NyaXB0aW9ufT5gO1xuICAgIH1cblxuICAgIHJldHVybiBkZXNjcmlwdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3lzdGVtOiBUeXBlU3lzdGVtLFxuICAgIHB1YmxpYyByZWFkb25seSBzcGVjPzoganNpaS5PcHRpb25hbFZhbHVlLFxuICApIHt9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIE9wdGlvbmFsVmFsdWUuZGVzY3JpYmUodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogVHlwZVJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIG5ldyBUeXBlUmVmZXJlbmNlKHRoaXMuc3lzdGVtLCB0aGlzLnNwZWM/LnR5cGUpO1xuICB9XG5cbiAgcHVibGljIGdldCBvcHRpb25hbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnNwZWM/Lm9wdGlvbmFsO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Type } from './type';
|
|
2
|
+
export interface Overridable {
|
|
3
|
+
/**
|
|
4
|
+
* The name of the parent type (class or interface) that this entity overrides or implements. If undefined, then
|
|
5
|
+
* this entity is the first in it's hierarchy to declare this entity.
|
|
6
|
+
*
|
|
7
|
+
* @default undefined
|
|
8
|
+
*/
|
|
9
|
+
overrides?: Type;
|
|
10
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvdmVycmlkYWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gJy4vdHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcnJpZGFibGUge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBhcmVudCB0eXBlIChjbGFzcyBvciBpbnRlcmZhY2UpIHRoYXQgdGhpcyBlbnRpdHkgb3ZlcnJpZGVzIG9yIGltcGxlbWVudHMuIElmIHVuZGVmaW5lZCwgdGhlblxuICAgKiB0aGlzIGVudGl0eSBpcyB0aGUgZmlyc3QgaW4gaXQncyBoaWVyYXJjaHkgdG8gZGVjbGFyZSB0aGlzIGVudGl0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBvdmVycmlkZXM/OiBUeXBlO1xufVxuIl19
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as jsii from '@jsii/spec';
|
|
2
|
+
import { Callable } from './callable';
|
|
3
|
+
import { Docs, Documentable } from './docs';
|
|
4
|
+
import { OptionalValue } from './optional-value';
|
|
5
|
+
import { Type } from './type';
|
|
6
|
+
import { TypeSystem } from './type-system';
|
|
7
|
+
export declare class Parameter extends OptionalValue implements Documentable {
|
|
8
|
+
readonly parentType: Type;
|
|
9
|
+
readonly method: Callable;
|
|
10
|
+
readonly spec: jsii.Parameter;
|
|
11
|
+
constructor(system: TypeSystem, parentType: Type, method: Callable, spec: jsii.Parameter);
|
|
12
|
+
/**
|
|
13
|
+
* The name of the parameter.
|
|
14
|
+
*/
|
|
15
|
+
get name(): string;
|
|
16
|
+
/**
|
|
17
|
+
* Whether this argument is the "rest" of a variadic signature.
|
|
18
|
+
* The ``#type`` is that of every individual argument of the variadic list.
|
|
19
|
+
*/
|
|
20
|
+
get variadic(): boolean;
|
|
21
|
+
get docs(): Docs;
|
|
22
|
+
}
|
package/lib/parameter.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Parameter = void 0;
|
|
4
|
+
const docs_1 = require("./docs");
|
|
5
|
+
const optional_value_1 = require("./optional-value");
|
|
6
|
+
class Parameter extends optional_value_1.OptionalValue {
|
|
7
|
+
constructor(system, parentType, method, spec) {
|
|
8
|
+
super(system, spec);
|
|
9
|
+
this.parentType = parentType;
|
|
10
|
+
this.method = method;
|
|
11
|
+
this.spec = spec;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The name of the parameter.
|
|
15
|
+
*/
|
|
16
|
+
get name() {
|
|
17
|
+
return this.spec.name;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Whether this argument is the "rest" of a variadic signature.
|
|
21
|
+
* The ``#type`` is that of every individual argument of the variadic list.
|
|
22
|
+
*/
|
|
23
|
+
get variadic() {
|
|
24
|
+
return !!this.spec.variadic;
|
|
25
|
+
}
|
|
26
|
+
get docs() {
|
|
27
|
+
var _a;
|
|
28
|
+
return new docs_1.Docs(this.system, this, (_a = this.spec.docs) !== null && _a !== void 0 ? _a : {});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.Parameter = Parameter;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGFyYW1ldGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLGlDQUE0QztBQUM1QyxxREFBaUQ7QUFJakQsTUFBYSxTQUFVLFNBQVEsOEJBQWE7SUFDMUMsWUFDRSxNQUFrQixFQUNGLFVBQWdCLEVBQ2hCLE1BQWdCLEVBQ2hCLElBQW9CO1FBRXBDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFKSixlQUFVLEdBQVYsVUFBVSxDQUFNO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQVU7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7SUFHdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFXLElBQUk7O1FBQ2IsT0FBTyxJQUFJLFdBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksUUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksbUNBQUksRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGO0FBNUJELDhCQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGpzaWkgZnJvbSAnQGpzaWkvc3BlYyc7XG5cbmltcG9ydCB7IENhbGxhYmxlIH0gZnJvbSAnLi9jYWxsYWJsZSc7XG5pbXBvcnQgeyBEb2NzLCBEb2N1bWVudGFibGUgfSBmcm9tICcuL2RvY3MnO1xuaW1wb3J0IHsgT3B0aW9uYWxWYWx1ZSB9IGZyb20gJy4vb3B0aW9uYWwtdmFsdWUnO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJy4vdHlwZSc7XG5pbXBvcnQgeyBUeXBlU3lzdGVtIH0gZnJvbSAnLi90eXBlLXN5c3RlbSc7XG5cbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXIgZXh0ZW5kcyBPcHRpb25hbFZhbHVlIGltcGxlbWVudHMgRG9jdW1lbnRhYmxlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHN5c3RlbTogVHlwZVN5c3RlbSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFyZW50VHlwZTogVHlwZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWV0aG9kOiBDYWxsYWJsZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3BlYzoganNpaS5QYXJhbWV0ZXIsXG4gICkge1xuICAgIHN1cGVyKHN5c3RlbSwgc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlci5cbiAgICovXG4gIHB1YmxpYyBnZXQgbmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNwZWMubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYXJndW1lbnQgaXMgdGhlIFwicmVzdFwiIG9mIGEgdmFyaWFkaWMgc2lnbmF0dXJlLlxuICAgKiBUaGUgYGAjdHlwZWBgIGlzIHRoYXQgb2YgZXZlcnkgaW5kaXZpZHVhbCBhcmd1bWVudCBvZiB0aGUgdmFyaWFkaWMgbGlzdC5cbiAgICovXG4gIHB1YmxpYyBnZXQgdmFyaWFkaWMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zcGVjLnZhcmlhZGljO1xuICB9XG5cbiAgcHVibGljIGdldCBkb2NzKCk6IERvY3Mge1xuICAgIHJldHVybiBuZXcgRG9jcyh0aGlzLnN5c3RlbSwgdGhpcywgdGhpcy5zcGVjLmRvY3MgPz8ge30pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as jsii from '@jsii/spec';
|
|
2
|
+
import { Assembly } from './assembly';
|
|
3
|
+
import { Docs, Documentable } from './docs';
|
|
4
|
+
import { OptionalValue } from './optional-value';
|
|
5
|
+
import { Overridable } from './overridable';
|
|
6
|
+
import { SourceLocatable, SourceLocation } from './source';
|
|
7
|
+
import { Type } from './type';
|
|
8
|
+
import { MemberKind, TypeMember } from './type-member';
|
|
9
|
+
import { TypeSystem } from './type-system';
|
|
10
|
+
export declare class Property extends OptionalValue implements Documentable, Overridable, TypeMember, SourceLocatable {
|
|
11
|
+
readonly assembly: Assembly;
|
|
12
|
+
readonly parentType: Type;
|
|
13
|
+
readonly definingType: Type;
|
|
14
|
+
readonly spec: jsii.Property;
|
|
15
|
+
readonly kind = MemberKind.Property;
|
|
16
|
+
constructor(system: TypeSystem, assembly: Assembly, parentType: Type, definingType: Type, spec: jsii.Property);
|
|
17
|
+
toString(): string;
|
|
18
|
+
/**
|
|
19
|
+
* The name of the property.
|
|
20
|
+
*/
|
|
21
|
+
get name(): string;
|
|
22
|
+
/**
|
|
23
|
+
* Indicates if this property only has a getter (immutable).
|
|
24
|
+
*/
|
|
25
|
+
get immutable(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Indicates if this property is protected (otherwise it is public)
|
|
28
|
+
*/
|
|
29
|
+
get protected(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Indicates if this property is abstract
|
|
32
|
+
*/
|
|
33
|
+
get abstract(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Indicates if this is a static property.
|
|
36
|
+
*/
|
|
37
|
+
get static(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* A hint that indicates that this static, immutable property is initialized
|
|
40
|
+
* during startup. This allows emitting "const" idioms in different target languages.
|
|
41
|
+
* Implies `static` and `immutable`.
|
|
42
|
+
*/
|
|
43
|
+
get const(): boolean;
|
|
44
|
+
get overrides(): Type | undefined;
|
|
45
|
+
get docs(): Docs;
|
|
46
|
+
/**
|
|
47
|
+
* Return the location in the module
|
|
48
|
+
*/
|
|
49
|
+
get locationInModule(): SourceLocation | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Return the location in the repository
|
|
52
|
+
*/
|
|
53
|
+
get locationInRepository(): SourceLocation | undefined;
|
|
54
|
+
}
|
package/lib/property.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Property = void 0;
|
|
4
|
+
const docs_1 = require("./docs");
|
|
5
|
+
const optional_value_1 = require("./optional-value");
|
|
6
|
+
const source_1 = require("./source");
|
|
7
|
+
const type_member_1 = require("./type-member");
|
|
8
|
+
class Property extends optional_value_1.OptionalValue {
|
|
9
|
+
constructor(system, assembly, parentType, definingType, spec) {
|
|
10
|
+
super(system, spec);
|
|
11
|
+
this.assembly = assembly;
|
|
12
|
+
this.parentType = parentType;
|
|
13
|
+
this.definingType = definingType;
|
|
14
|
+
this.spec = spec;
|
|
15
|
+
this.kind = type_member_1.MemberKind.Property;
|
|
16
|
+
}
|
|
17
|
+
toString() {
|
|
18
|
+
return `property:${this.parentType.fqn}.${this.name}`;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The name of the property.
|
|
22
|
+
*/
|
|
23
|
+
get name() {
|
|
24
|
+
return this.spec.name;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Indicates if this property only has a getter (immutable).
|
|
28
|
+
*/
|
|
29
|
+
get immutable() {
|
|
30
|
+
return !!this.spec.immutable;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Indicates if this property is protected (otherwise it is public)
|
|
34
|
+
*/
|
|
35
|
+
get protected() {
|
|
36
|
+
return !!this.spec.protected;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Indicates if this property is abstract
|
|
40
|
+
*/
|
|
41
|
+
get abstract() {
|
|
42
|
+
return !!this.spec.abstract;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Indicates if this is a static property.
|
|
46
|
+
*/
|
|
47
|
+
get static() {
|
|
48
|
+
return !!this.spec.static;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* A hint that indicates that this static, immutable property is initialized
|
|
52
|
+
* during startup. This allows emitting "const" idioms in different target languages.
|
|
53
|
+
* Implies `static` and `immutable`.
|
|
54
|
+
*/
|
|
55
|
+
get const() {
|
|
56
|
+
return !!this.spec.const;
|
|
57
|
+
}
|
|
58
|
+
get overrides() {
|
|
59
|
+
if (!this.spec.overrides) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return this.system.findFqn(this.spec.overrides);
|
|
63
|
+
}
|
|
64
|
+
get docs() {
|
|
65
|
+
var _a;
|
|
66
|
+
return new docs_1.Docs(this.system, this, (_a = this.spec.docs) !== null && _a !== void 0 ? _a : {}, this.parentType.docs);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Return the location in the module
|
|
70
|
+
*/
|
|
71
|
+
get locationInModule() {
|
|
72
|
+
return this.spec.locationInModule;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Return the location in the repository
|
|
76
|
+
*/
|
|
77
|
+
get locationInRepository() {
|
|
78
|
+
return source_1.locationInRepository(this);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.Property = Property;
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxpQ0FBNEM7QUFDNUMscURBQWlEO0FBRWpELHFDQUlrQjtBQUVsQiwrQ0FBdUQ7QUFHdkQsTUFBYSxRQUNYLFNBQVEsOEJBQWE7SUFLckIsWUFDRSxNQUFrQixFQUNGLFFBQWtCLEVBQ2xCLFVBQWdCLEVBQ2hCLFlBQWtCLEVBQ2xCLElBQW1CO1FBRW5DLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFMSixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLGVBQVUsR0FBVixVQUFVLENBQU07UUFDaEIsaUJBQVksR0FBWixZQUFZLENBQU07UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQVByQixTQUFJLEdBQUcsd0JBQVUsQ0FBQyxRQUFRLENBQUM7SUFVM0MsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLFlBQVksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsU0FBUztRQUNsQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDOUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLEtBQUs7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN4QixPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBVyxJQUFJOztRQUNiLE9BQU8sSUFBSSxXQUFJLENBQ2IsSUFBSSxDQUFDLE1BQU0sRUFDWCxJQUFJLFFBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLG1DQUFJLEVBQUUsRUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyw2QkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0Y7QUE5RkQsNEJBOEZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMganNpaSBmcm9tICdAanNpaS9zcGVjJztcblxuaW1wb3J0IHsgQXNzZW1ibHkgfSBmcm9tICcuL2Fzc2VtYmx5JztcbmltcG9ydCB7IERvY3MsIERvY3VtZW50YWJsZSB9IGZyb20gJy4vZG9jcyc7XG5pbXBvcnQgeyBPcHRpb25hbFZhbHVlIH0gZnJvbSAnLi9vcHRpb25hbC12YWx1ZSc7XG5pbXBvcnQgeyBPdmVycmlkYWJsZSB9IGZyb20gJy4vb3ZlcnJpZGFibGUnO1xuaW1wb3J0IHtcbiAgbG9jYXRpb25JblJlcG9zaXRvcnksXG4gIFNvdXJjZUxvY2F0YWJsZSxcbiAgU291cmNlTG9jYXRpb24sXG59IGZyb20gJy4vc291cmNlJztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICcuL3R5cGUnO1xuaW1wb3J0IHsgTWVtYmVyS2luZCwgVHlwZU1lbWJlciB9IGZyb20gJy4vdHlwZS1tZW1iZXInO1xuaW1wb3J0IHsgVHlwZVN5c3RlbSB9IGZyb20gJy4vdHlwZS1zeXN0ZW0nO1xuXG5leHBvcnQgY2xhc3MgUHJvcGVydHlcbiAgZXh0ZW5kcyBPcHRpb25hbFZhbHVlXG4gIGltcGxlbWVudHMgRG9jdW1lbnRhYmxlLCBPdmVycmlkYWJsZSwgVHlwZU1lbWJlciwgU291cmNlTG9jYXRhYmxlXG57XG4gIHB1YmxpYyByZWFkb25seSBraW5kID0gTWVtYmVyS2luZC5Qcm9wZXJ0eTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgc3lzdGVtOiBUeXBlU3lzdGVtLFxuICAgIHB1YmxpYyByZWFkb25seSBhc3NlbWJseTogQXNzZW1ibHksXG4gICAgcHVibGljIHJlYWRvbmx5IHBhcmVudFR5cGU6IFR5cGUsXG4gICAgcHVibGljIHJlYWRvbmx5IGRlZmluaW5nVHlwZTogVHlwZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3BlYzoganNpaS5Qcm9wZXJ0eSxcbiAgKSB7XG4gICAgc3VwZXIoc3lzdGVtLCBzcGVjKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gYHByb3BlcnR5OiR7dGhpcy5wYXJlbnRUeXBlLmZxbn0uJHt0aGlzLm5hbWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zcGVjLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoaXMgcHJvcGVydHkgb25seSBoYXMgYSBnZXR0ZXIgKGltbXV0YWJsZSkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGltbXV0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnNwZWMuaW1tdXRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGlzIHByb3BlcnR5IGlzIHByb3RlY3RlZCAob3RoZXJ3aXNlIGl0IGlzIHB1YmxpYylcbiAgICovXG4gIHB1YmxpYyBnZXQgcHJvdGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuc3BlYy5wcm90ZWN0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoaXMgcHJvcGVydHkgaXMgYWJzdHJhY3RcbiAgICovXG4gIHB1YmxpYyBnZXQgYWJzdHJhY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zcGVjLmFic3RyYWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyBpZiB0aGlzIGlzIGEgc3RhdGljIHByb3BlcnR5LlxuICAgKi9cbiAgcHVibGljIGdldCBzdGF0aWMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zcGVjLnN0YXRpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGhpbnQgdGhhdCBpbmRpY2F0ZXMgdGhhdCB0aGlzIHN0YXRpYywgaW1tdXRhYmxlIHByb3BlcnR5IGlzIGluaXRpYWxpemVkXG4gICAqIGR1cmluZyBzdGFydHVwLiBUaGlzIGFsbG93cyBlbWl0dGluZyBcImNvbnN0XCIgaWRpb21zIGluIGRpZmZlcmVudCB0YXJnZXQgbGFuZ3VhZ2VzLlxuICAgKiBJbXBsaWVzIGBzdGF0aWNgIGFuZCBgaW1tdXRhYmxlYC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY29uc3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zcGVjLmNvbnN0O1xuICB9XG5cbiAgcHVibGljIGdldCBvdmVycmlkZXMoKTogVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLnNwZWMub3ZlcnJpZGVzKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnN5c3RlbS5maW5kRnFuKHRoaXMuc3BlYy5vdmVycmlkZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBkb2NzKCk6IERvY3Mge1xuICAgIHJldHVybiBuZXcgRG9jcyhcbiAgICAgIHRoaXMuc3lzdGVtLFxuICAgICAgdGhpcyxcbiAgICAgIHRoaXMuc3BlYy5kb2NzID8/IHt9LFxuICAgICAgdGhpcy5wYXJlbnRUeXBlLmRvY3MsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGxvY2F0aW9uIGluIHRoZSBtb2R1bGVcbiAgICovXG4gIHB1YmxpYyBnZXQgbG9jYXRpb25Jbk1vZHVsZSgpOiBTb3VyY2VMb2NhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuc3BlYy5sb2NhdGlvbkluTW9kdWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbG9jYXRpb24gaW4gdGhlIHJlcG9zaXRvcnlcbiAgICovXG4gIHB1YmxpYyBnZXQgbG9jYXRpb25JblJlcG9zaXRvcnkoKTogU291cmNlTG9jYXRpb24gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBsb2NhdGlvbkluUmVwb3NpdG9yeSh0aGlzKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as jsii from '@jsii/spec';
|
|
2
|
+
import { Assembly } from './assembly';
|
|
3
|
+
import { InterfaceType } from './interface';
|
|
4
|
+
import { Method } from './method';
|
|
5
|
+
import { Property } from './property';
|
|
6
|
+
import { Type } from './type';
|
|
7
|
+
import { TypeMember } from './type-member';
|
|
8
|
+
import { TypeSystem } from './type-system';
|
|
9
|
+
export declare abstract class ReferenceType extends Type {
|
|
10
|
+
system: TypeSystem;
|
|
11
|
+
assembly: Assembly;
|
|
12
|
+
constructor(system: TypeSystem, assembly: Assembly, spec: jsii.Type);
|
|
13
|
+
/**
|
|
14
|
+
* All the base interfaces that this interface extends.
|
|
15
|
+
*/
|
|
16
|
+
get interfaces(): InterfaceType[];
|
|
17
|
+
/**
|
|
18
|
+
* List of methods (without inherited methods).
|
|
19
|
+
*/
|
|
20
|
+
get ownMethods(): Method[];
|
|
21
|
+
/**
|
|
22
|
+
* List of own and inherited methods
|
|
23
|
+
*/
|
|
24
|
+
get allMethods(): Method[];
|
|
25
|
+
/**
|
|
26
|
+
* List of properties.
|
|
27
|
+
*/
|
|
28
|
+
get ownProperties(): Property[];
|
|
29
|
+
/**
|
|
30
|
+
* List of own and inherited methods
|
|
31
|
+
*/
|
|
32
|
+
get allProperties(): Property[];
|
|
33
|
+
get ownMembers(): TypeMember[];
|
|
34
|
+
get allMembers(): TypeMember[];
|
|
35
|
+
getMembers(inherited?: boolean): {
|
|
36
|
+
[name: string]: TypeMember;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Lists all interfaces this interface extends.
|
|
40
|
+
* @param inherited include all interfaces implemented by all super interfaces (default: false)
|
|
41
|
+
*/
|
|
42
|
+
abstract getInterfaces(inherited?: boolean): InterfaceType[];
|
|
43
|
+
/**
|
|
44
|
+
* Lists all properties in this class.
|
|
45
|
+
* @param inherited include all properties inherited from base classes (default: false)
|
|
46
|
+
*/
|
|
47
|
+
abstract getProperties(inherited?: boolean): {
|
|
48
|
+
[name: string]: Property;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* List all methods in this class.
|
|
52
|
+
* @param inherited include all methods inherited from base classes (default: false)
|
|
53
|
+
*/
|
|
54
|
+
abstract getMethods(inherited?: boolean): {
|
|
55
|
+
[name: string]: Method;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReferenceType = void 0;
|
|
4
|
+
const type_1 = require("./type");
|
|
5
|
+
class ReferenceType extends type_1.Type {
|
|
6
|
+
constructor(system, assembly, spec) {
|
|
7
|
+
super(system, assembly, spec);
|
|
8
|
+
this.system = system;
|
|
9
|
+
this.assembly = assembly;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* All the base interfaces that this interface extends.
|
|
13
|
+
*/
|
|
14
|
+
get interfaces() {
|
|
15
|
+
return this.getInterfaces();
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* List of methods (without inherited methods).
|
|
19
|
+
*/
|
|
20
|
+
get ownMethods() {
|
|
21
|
+
return Object.values(this.getMethods(false));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* List of own and inherited methods
|
|
25
|
+
*/
|
|
26
|
+
get allMethods() {
|
|
27
|
+
return Object.values(this.getMethods(true));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* List of properties.
|
|
31
|
+
*/
|
|
32
|
+
get ownProperties() {
|
|
33
|
+
return Object.values(this.getProperties());
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* List of own and inherited methods
|
|
37
|
+
*/
|
|
38
|
+
get allProperties() {
|
|
39
|
+
return Object.values(this.getProperties(true));
|
|
40
|
+
}
|
|
41
|
+
get ownMembers() {
|
|
42
|
+
return Object.values(this.getMembers(false));
|
|
43
|
+
}
|
|
44
|
+
get allMembers() {
|
|
45
|
+
return Object.values(this.getMembers(true));
|
|
46
|
+
}
|
|
47
|
+
getMembers(inherited = false) {
|
|
48
|
+
return Object.assign(this.getMethods(inherited), this.getProperties(inherited));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.ReferenceType = ReferenceType;
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWZlcmVuY2UtdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxpQ0FBOEI7QUFJOUIsTUFBc0IsYUFBYyxTQUFRLFdBQUk7SUFDOUMsWUFDUyxNQUFrQixFQUNsQixRQUFrQixFQUN6QixJQUFlO1FBRWYsS0FBSyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFKdkIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBSTNCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUN0QixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxTQUFTLEdBQUcsS0FBSztRQUNqQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQzFCLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQzlCLENBQUM7SUFDSixDQUFDO0NBcUJGO0FBOUVELHNDQThFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGpzaWkgZnJvbSAnQGpzaWkvc3BlYyc7XG5cbmltcG9ydCB7IEFzc2VtYmx5IH0gZnJvbSAnLi9hc3NlbWJseSc7XG5pbXBvcnQgeyBJbnRlcmZhY2VUeXBlIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWV0aG9kIH0gZnJvbSAnLi9tZXRob2QnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuL3Byb3BlcnR5JztcbmltcG9ydCB7IFR5cGUgfSBmcm9tICcuL3R5cGUnO1xuaW1wb3J0IHsgVHlwZU1lbWJlciB9IGZyb20gJy4vdHlwZS1tZW1iZXInO1xuaW1wb3J0IHsgVHlwZVN5c3RlbSB9IGZyb20gJy4vdHlwZS1zeXN0ZW0nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVmZXJlbmNlVHlwZSBleHRlbmRzIFR5cGUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHN5c3RlbTogVHlwZVN5c3RlbSxcbiAgICBwdWJsaWMgYXNzZW1ibHk6IEFzc2VtYmx5LFxuICAgIHNwZWM6IGpzaWkuVHlwZSxcbiAgKSB7XG4gICAgc3VwZXIoc3lzdGVtLCBhc3NlbWJseSwgc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogQWxsIHRoZSBiYXNlIGludGVyZmFjZXMgdGhhdCB0aGlzIGludGVyZmFjZSBleHRlbmRzLlxuICAgKi9cbiAgcHVibGljIGdldCBpbnRlcmZhY2VzKCk6IEludGVyZmFjZVR5cGVbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0SW50ZXJmYWNlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgbWV0aG9kcyAod2l0aG91dCBpbmhlcml0ZWQgbWV0aG9kcykuXG4gICAqL1xuICBwdWJsaWMgZ2V0IG93bk1ldGhvZHMoKTogTWV0aG9kW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZ2V0TWV0aG9kcyhmYWxzZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3Qgb2Ygb3duIGFuZCBpbmhlcml0ZWQgbWV0aG9kc1xuICAgKi9cbiAgcHVibGljIGdldCBhbGxNZXRob2RzKCk6IE1ldGhvZFtdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmdldE1ldGhvZHModHJ1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBnZXQgb3duUHJvcGVydGllcygpOiBQcm9wZXJ0eVtdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLmdldFByb3BlcnRpZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCBvZiBvd24gYW5kIGluaGVyaXRlZCBtZXRob2RzXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFsbFByb3BlcnRpZXMoKTogUHJvcGVydHlbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5nZXRQcm9wZXJ0aWVzKHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3duTWVtYmVycygpOiBUeXBlTWVtYmVyW10ge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuZ2V0TWVtYmVycyhmYWxzZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBhbGxNZW1iZXJzKCk6IFR5cGVNZW1iZXJbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5nZXRNZW1iZXJzKHRydWUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZW1iZXJzKGluaGVyaXRlZCA9IGZhbHNlKTogeyBbbmFtZTogc3RyaW5nXTogVHlwZU1lbWJlciB9IHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihcbiAgICAgIHRoaXMuZ2V0TWV0aG9kcyhpbmhlcml0ZWQpLFxuICAgICAgdGhpcy5nZXRQcm9wZXJ0aWVzKGluaGVyaXRlZCksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0cyBhbGwgaW50ZXJmYWNlcyB0aGlzIGludGVyZmFjZSBleHRlbmRzLlxuICAgKiBAcGFyYW0gaW5oZXJpdGVkIGluY2x1ZGUgYWxsIGludGVyZmFjZXMgaW1wbGVtZW50ZWQgYnkgYWxsIHN1cGVyIGludGVyZmFjZXMgKGRlZmF1bHQ6IGZhbHNlKVxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGdldEludGVyZmFjZXMoaW5oZXJpdGVkPzogYm9vbGVhbik6IEludGVyZmFjZVR5cGVbXTtcblxuICAvKipcbiAgICogTGlzdHMgYWxsIHByb3BlcnRpZXMgaW4gdGhpcyBjbGFzcy5cbiAgICogQHBhcmFtIGluaGVyaXRlZCBpbmNsdWRlIGFsbCBwcm9wZXJ0aWVzIGluaGVyaXRlZCBmcm9tIGJhc2UgY2xhc3NlcyAoZGVmYXVsdDogZmFsc2UpXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0UHJvcGVydGllcyhpbmhlcml0ZWQ/OiBib29sZWFuKToge1xuICAgIFtuYW1lOiBzdHJpbmddOiBQcm9wZXJ0eTtcbiAgfTtcblxuICAvKipcbiAgICogTGlzdCBhbGwgbWV0aG9kcyBpbiB0aGlzIGNsYXNzLlxuICAgKiBAcGFyYW0gaW5oZXJpdGVkIGluY2x1ZGUgYWxsIG1ldGhvZHMgaW5oZXJpdGVkIGZyb20gYmFzZSBjbGFzc2VzIChkZWZhdWx0OiBmYWxzZSlcbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXRNZXRob2RzKGluaGVyaXRlZD86IGJvb2xlYW4pOiB7IFtuYW1lOiBzdHJpbmddOiBNZXRob2QgfTtcbn1cbiJdfQ==
|
package/lib/source.d.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Assembly } from './assembly';
|
|
2
|
+
/**
|
|
3
|
+
* Describes a source location in a file
|
|
4
|
+
*/
|
|
5
|
+
export interface SourceLocation {
|
|
6
|
+
/**
|
|
7
|
+
* The file name
|
|
8
|
+
*/
|
|
9
|
+
filename: string;
|
|
10
|
+
/**
|
|
11
|
+
* The 1-based line inside the file
|
|
12
|
+
*/
|
|
13
|
+
line: number;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Interface for API items that can be queried for a source location
|
|
17
|
+
*/
|
|
18
|
+
export interface SourceLocatable {
|
|
19
|
+
/**
|
|
20
|
+
* The assembly the API item is defined in
|
|
21
|
+
*/
|
|
22
|
+
readonly assembly: Assembly;
|
|
23
|
+
/**
|
|
24
|
+
* Source location relative to the assembly root
|
|
25
|
+
*/
|
|
26
|
+
readonly locationInModule?: SourceLocation;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Return the repository location for the given API item
|
|
30
|
+
*/
|
|
31
|
+
export declare function locationInRepository(item: SourceLocatable): SourceLocation | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Return a URL for this item into the source repository, if available
|
|
34
|
+
*
|
|
35
|
+
* (Currently only supports GitHub URLs)
|
|
36
|
+
*/
|
|
37
|
+
export declare function repositoryUrl(item: SourceLocatable, ref?: string): string | undefined;
|
package/lib/source.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.repositoryUrl = exports.locationInRepository = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Return the repository location for the given API item
|
|
6
|
+
*/
|
|
7
|
+
function locationInRepository(item) {
|
|
8
|
+
const moduleLoc = item.locationInModule;
|
|
9
|
+
if (!moduleLoc) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
const moduleDir = item.assembly.repository.directory;
|
|
13
|
+
if (!moduleDir) {
|
|
14
|
+
return moduleLoc;
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
filename: `${moduleDir}/${moduleLoc.filename}`,
|
|
18
|
+
line: moduleLoc.line,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.locationInRepository = locationInRepository;
|
|
22
|
+
/**
|
|
23
|
+
* Return a URL for this item into the source repository, if available
|
|
24
|
+
*
|
|
25
|
+
* (Currently only supports GitHub URLs)
|
|
26
|
+
*/
|
|
27
|
+
function repositoryUrl(item, ref = 'master') {
|
|
28
|
+
const loc = locationInRepository(item);
|
|
29
|
+
if (!loc) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const repo = item.assembly.repository;
|
|
33
|
+
if (!repo.url.startsWith('https://') ||
|
|
34
|
+
!repo.url.includes('github.com') ||
|
|
35
|
+
!repo.url.endsWith('.git')) {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
// Turn https://github.com/awslabs/aws-cdk.git -> https://github.com/awslabs/aws-cdk/blob/REF/filename#L<number>
|
|
39
|
+
const prefix = repo.url.substr(0, repo.url.length - 4);
|
|
40
|
+
return `${prefix}/blob/${ref}/${loc.filename}#L${loc.line}`;
|
|
41
|
+
}
|
|
42
|
+
exports.repositoryUrl = repositoryUrl;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQWdDQTs7R0FFRztBQUNILFNBQWdCLG9CQUFvQixDQUNsQyxJQUFxQjtJQUVyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDeEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNkLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQ3JELElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE9BQU87UUFDTCxRQUFRLEVBQUUsR0FBRyxTQUFTLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRTtRQUM5QyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDckIsQ0FBQztBQUNKLENBQUM7QUFqQkQsb0RBaUJDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLGFBQWEsQ0FDM0IsSUFBcUIsRUFDckIsR0FBRyxHQUFHLFFBQVE7SUFFZCxNQUFNLEdBQUcsR0FBRyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUN0QyxJQUNFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQ2hDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDO1FBQ2hDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzFCO1FBQ0EsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFFRCxpSEFBaUg7SUFFakgsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXZELE9BQU8sR0FBRyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxRQUFRLEtBQUssR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzlELENBQUM7QUF2QkQsc0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNzZW1ibHkgfSBmcm9tICcuL2Fzc2VtYmx5JztcblxuLyoqXG4gKiBEZXNjcmliZXMgYSBzb3VyY2UgbG9jYXRpb24gaW4gYSBmaWxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU291cmNlTG9jYXRpb24ge1xuICAvKipcbiAgICogVGhlIGZpbGUgbmFtZVxuICAgKi9cbiAgZmlsZW5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIDEtYmFzZWQgbGluZSBpbnNpZGUgdGhlIGZpbGVcbiAgICovXG4gIGxpbmU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIEFQSSBpdGVtcyB0aGF0IGNhbiBiZSBxdWVyaWVkIGZvciBhIHNvdXJjZSBsb2NhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvdXJjZUxvY2F0YWJsZSB7XG4gIC8qKlxuICAgKiBUaGUgYXNzZW1ibHkgdGhlIEFQSSBpdGVtIGlzIGRlZmluZWQgaW5cbiAgICovXG4gIHJlYWRvbmx5IGFzc2VtYmx5OiBBc3NlbWJseTtcblxuICAvKipcbiAgICogU291cmNlIGxvY2F0aW9uIHJlbGF0aXZlIHRvIHRoZSBhc3NlbWJseSByb290XG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbkluTW9kdWxlPzogU291cmNlTG9jYXRpb247XG59XG5cbi8qKlxuICogUmV0dXJuIHRoZSByZXBvc2l0b3J5IGxvY2F0aW9uIGZvciB0aGUgZ2l2ZW4gQVBJIGl0ZW1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvY2F0aW9uSW5SZXBvc2l0b3J5KFxuICBpdGVtOiBTb3VyY2VMb2NhdGFibGUsXG4pOiBTb3VyY2VMb2NhdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IG1vZHVsZUxvYyA9IGl0ZW0ubG9jYXRpb25Jbk1vZHVsZTtcbiAgaWYgKCFtb2R1bGVMb2MpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgbW9kdWxlRGlyID0gaXRlbS5hc3NlbWJseS5yZXBvc2l0b3J5LmRpcmVjdG9yeTtcbiAgaWYgKCFtb2R1bGVEaXIpIHtcbiAgICByZXR1cm4gbW9kdWxlTG9jO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmaWxlbmFtZTogYCR7bW9kdWxlRGlyfS8ke21vZHVsZUxvYy5maWxlbmFtZX1gLFxuICAgIGxpbmU6IG1vZHVsZUxvYy5saW5lLFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybiBhIFVSTCBmb3IgdGhpcyBpdGVtIGludG8gdGhlIHNvdXJjZSByZXBvc2l0b3J5LCBpZiBhdmFpbGFibGVcbiAqXG4gKiAoQ3VycmVudGx5IG9ubHkgc3VwcG9ydHMgR2l0SHViIFVSTHMpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBvc2l0b3J5VXJsKFxuICBpdGVtOiBTb3VyY2VMb2NhdGFibGUsXG4gIHJlZiA9ICdtYXN0ZXInLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbG9jID0gbG9jYXRpb25JblJlcG9zaXRvcnkoaXRlbSk7XG4gIGlmICghbG9jKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHJlcG8gPSBpdGVtLmFzc2VtYmx5LnJlcG9zaXRvcnk7XG4gIGlmIChcbiAgICAhcmVwby51cmwuc3RhcnRzV2l0aCgnaHR0cHM6Ly8nKSB8fFxuICAgICFyZXBvLnVybC5pbmNsdWRlcygnZ2l0aHViLmNvbScpIHx8XG4gICAgIXJlcG8udXJsLmVuZHNXaXRoKCcuZ2l0JylcbiAgKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIFR1cm4gaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWNkay5naXQgLT4gIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1jZGsvYmxvYi9SRUYvZmlsZW5hbWUjTDxudW1iZXI+XG5cbiAgY29uc3QgcHJlZml4ID0gcmVwby51cmwuc3Vic3RyKDAsIHJlcG8udXJsLmxlbmd0aCAtIDQpO1xuXG4gIHJldHVybiBgJHtwcmVmaXh9L2Jsb2IvJHtyZWZ9LyR7bG9jLmZpbGVuYW1lfSNMJHtsb2MubGluZX1gO1xufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as jsii from '@jsii/spec';
|
|
2
|
+
import { ModuleLike } from './module-like';
|
|
3
|
+
import { Type } from './type';
|
|
4
|
+
import { TypeSystem } from './type-system';
|
|
5
|
+
export declare class Submodule extends ModuleLike {
|
|
6
|
+
readonly spec: jsii.Submodule;
|
|
7
|
+
readonly fqn: string;
|
|
8
|
+
protected readonly submoduleMap: Readonly<Record<string, Submodule>>;
|
|
9
|
+
protected readonly typeMap: Readonly<Record<string, Type>>;
|
|
10
|
+
/**
|
|
11
|
+
* The simple name of the submodule (the last segment of the `fullName`).
|
|
12
|
+
*/
|
|
13
|
+
readonly name: string;
|
|
14
|
+
constructor(system: TypeSystem, spec: jsii.Submodule, fqn: string, submoduleMap: Readonly<Record<string, Submodule>>, typeMap: Readonly<Record<string, Type>>);
|
|
15
|
+
/**
|
|
16
|
+
* A map of target name to configuration, which is used when generating packages for
|
|
17
|
+
* various languages.
|
|
18
|
+
*/
|
|
19
|
+
get targets(): jsii.AssemblyTargets | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* The top-level readme document for this assembly (if any).
|
|
22
|
+
*/
|
|
23
|
+
get readme(): jsii.ReadMe | undefined;
|
|
24
|
+
}
|
package/lib/submodule.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Submodule = void 0;
|
|
4
|
+
const module_like_1 = require("./module-like");
|
|
5
|
+
class Submodule extends module_like_1.ModuleLike {
|
|
6
|
+
constructor(system, spec, fqn, submoduleMap, typeMap) {
|
|
7
|
+
super(system);
|
|
8
|
+
this.spec = spec;
|
|
9
|
+
this.fqn = fqn;
|
|
10
|
+
this.submoduleMap = submoduleMap;
|
|
11
|
+
this.typeMap = typeMap;
|
|
12
|
+
this.name = fqn.split('.').pop();
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A map of target name to configuration, which is used when generating packages for
|
|
16
|
+
* various languages.
|
|
17
|
+
*/
|
|
18
|
+
get targets() {
|
|
19
|
+
return this.spec.targets;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The top-level readme document for this assembly (if any).
|
|
23
|
+
*/
|
|
24
|
+
get readme() {
|
|
25
|
+
return this.spec.readme;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.Submodule = Submodule;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3VibW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtDQUEyQztBQUkzQyxNQUFhLFNBQVUsU0FBUSx3QkFBVTtJQU12QyxZQUNFLE1BQWtCLEVBQ0YsSUFBb0IsRUFDcEIsR0FBVyxFQUNSLFlBQWlELEVBQ2pELE9BQXVDO1FBRTFELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUxFLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ3BCLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDUixpQkFBWSxHQUFaLFlBQVksQ0FBcUM7UUFDakQsWUFBTyxHQUFQLE9BQU8sQ0FBZ0M7UUFJMUQsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzFCLENBQUM7Q0FDRjtBQWhDRCw4QkFnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBqc2lpIGZyb20gJ0Bqc2lpL3NwZWMnO1xuXG5pbXBvcnQgeyBNb2R1bGVMaWtlIH0gZnJvbSAnLi9tb2R1bGUtbGlrZSc7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnLi90eXBlJztcbmltcG9ydCB7IFR5cGVTeXN0ZW0gfSBmcm9tICcuL3R5cGUtc3lzdGVtJztcblxuZXhwb3J0IGNsYXNzIFN1Ym1vZHVsZSBleHRlbmRzIE1vZHVsZUxpa2Uge1xuICAvKipcbiAgICogVGhlIHNpbXBsZSBuYW1lIG9mIHRoZSBzdWJtb2R1bGUgKHRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIGBmdWxsTmFtZWApLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgc3lzdGVtOiBUeXBlU3lzdGVtLFxuICAgIHB1YmxpYyByZWFkb25seSBzcGVjOiBqc2lpLlN1Ym1vZHVsZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgZnFuOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHN1Ym1vZHVsZU1hcDogUmVhZG9ubHk8UmVjb3JkPHN0cmluZywgU3VibW9kdWxlPj4sXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHR5cGVNYXA6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIFR5cGU+PixcbiAgKSB7XG4gICAgc3VwZXIoc3lzdGVtKTtcblxuICAgIHRoaXMubmFtZSA9IGZxbi5zcGxpdCgnLicpLnBvcCgpITtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1hcCBvZiB0YXJnZXQgbmFtZSB0byBjb25maWd1cmF0aW9uLCB3aGljaCBpcyB1c2VkIHdoZW4gZ2VuZXJhdGluZyBwYWNrYWdlcyBmb3JcbiAgICogdmFyaW91cyBsYW5ndWFnZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRhcmdldHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3BlYy50YXJnZXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0b3AtbGV2ZWwgcmVhZG1lIGRvY3VtZW50IGZvciB0aGlzIGFzc2VtYmx5IChpZiBhbnkpLlxuICAgKi9cbiAgcHVibGljIGdldCByZWFkbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3BlYy5yZWFkbWU7XG4gIH1cbn1cbiJdfQ==
|
package/lib/tree.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { AsciiTree } from 'oo-ascii-tree';
|
|
2
|
+
import { TypeSystem } from './type-system';
|
|
3
|
+
export interface TypeSystemTreeOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Show all entity types (supersedes other options)
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
showAll?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Show type members (methods, properties)
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
members?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Show dependencies
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
dependencies?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Show inheritance information (base classes, interfaces)
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
inheritance?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Show types
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
types?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Show method signatures.
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
signatures?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Output with ANSI colors
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
colors?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Show stabilities
|
|
41
|
+
*
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
stabilities?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Visualizes a `TypeSystem` as an ASCII tree.
|
|
48
|
+
*/
|
|
49
|
+
export declare class TypeSystemTree extends AsciiTree {
|
|
50
|
+
constructor(typesys: TypeSystem, options?: TypeSystemTreeOptions);
|
|
51
|
+
}
|