Skip to content
This repository was archived by the owner on Nov 25, 2025. It is now read-only.

Commit ef19437

Browse files
author
Martynas Žilinskas
authored
Merge pull request #91 from SimplrJS/dev
v4.0.0-beta.6
2 parents 4b6f1ee + b85d50f commit ef19437

5 files changed

Lines changed: 13 additions & 18 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ts-extractor",
3-
"version": "4.0.0-beta.5",
3+
"version": "4.0.0-beta.6",
44
"description": "TypeScript AST extractor to useful JSON structure.",
55
"keywords": [
66
"typescript",
Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import { ApiBaseItemDto } from "../api-base-item-dto";
21
import { AccessModifier } from "../access-modifier";
3-
import { ApiItemReference } from "../api-item-reference";
42
import { ApiItemKinds } from "../api-item-kinds";
3+
import { ApiCallableDto } from "../api-callable-dto";
54

6-
export interface ApiClassConstructorDto extends ApiBaseItemDto {
5+
export interface ApiClassConstructorDto extends ApiCallableDto {
76
ApiKind: ApiItemKinds.ClassConstructor;
8-
IsOverloadBase: boolean;
9-
Parameters: ApiItemReference[];
107
AccessModifier: AccessModifier;
118
}

src/definitions/api-class-constructor.ts

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
11
import * as ts from "typescript";
2-
import { ApiItem } from "../abstractions/api-item";
32

3+
import { ApiCallableBase } from "../abstractions/api-callable-base";
44
import { ApiHelpers } from "../api-helpers";
55
import { ApiClassConstructorDto } from "../contracts/definitions/api-class-constructor-dto";
6-
import { ApiItemReference } from "../contracts/api-item-reference";
76
import { ApiItemKinds } from "../contracts/api-item-kinds";
87
import { AccessModifier } from "../contracts/access-modifier";
98

109
import { ApiMetadataDto } from "../contracts/api-metadata-dto";
1110
import { ApiItemLocationDto } from "../contracts/api-item-location-dto";
1211

13-
export class ApiClassConstructor extends ApiItem<ts.ConstructorDeclaration, ApiClassConstructorDto> {
14-
private isOverloadBase: boolean;
15-
private parameters: ApiItemReference[] = [];
12+
export class ApiClassConstructor extends ApiCallableBase<ts.ConstructorDeclaration, ApiClassConstructorDto> {
1613
private accessModifier: AccessModifier;
1714

1815
protected OnGatherData(): void {
19-
// Overload
20-
this.isOverloadBase = this.TypeChecker.isImplementationOfOverload(this.Declaration) || false;
21-
22-
// Parameters
23-
this.parameters = ApiHelpers.GetItemsIdsFromDeclarations(this.Declaration.parameters, this.Options);
16+
super.OnGatherData();
2417

2518
// Modifiers
2619
this.accessModifier = ApiHelpers.ResolveAccessModifierFromModifiers(this.Declaration.modifiers);
@@ -37,9 +30,10 @@ export class ApiClassConstructor extends ApiItem<ts.ConstructorDeclaration, ApiC
3730
ParentId: parentId,
3831
Metadata: metadata,
3932
Location: location,
40-
IsOverloadBase: this.isOverloadBase,
41-
Parameters: this.parameters,
33+
IsOverloadBase: this.IsOverloadBase,
34+
Parameters: this.Parameters,
4235
AccessModifier: this.accessModifier,
36+
TypeParameters: this.TypeParameters,
4337
_ts: this.GetTsDebugInfo()
4438
};
4539
}

tests/cases/__tests__/__snapshots__/ClassDeclaration10.test.ts.snap

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/cases/__tests__/__snapshots__/InterfaceSubtyping.test.ts.snap

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)