Skip to content

Commit 0828f80

Browse files
committed
BridgeJS: Introduce new enum elements naming and Object type and add it to Exports
1 parent f8dcf58 commit 0828f80

17 files changed

+760
-661
lines changed

Plugins/BridgeJS/Sources/BridgeJSLink/BridgeJSLink.swift

Lines changed: 65 additions & 47 deletions
Large diffs are not rendered by default.

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSLinkTests/EnumAssociatedValue.Export.d.ts

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// To update this file, just rebuild your project or run
55
// `swift package bridge-js`.
66

7-
export const APIResult: {
7+
export const APIResultValues: {
88
readonly Tag: {
99
readonly Success: 0;
1010
readonly Failure: 1;
@@ -15,10 +15,10 @@ export const APIResult: {
1515
};
1616
};
1717

18-
export type APIResult =
19-
{ tag: typeof APIResult.Tag.Success; param0: string } | { tag: typeof APIResult.Tag.Failure; param0: number } | { tag: typeof APIResult.Tag.Flag; param0: boolean } | { tag: typeof APIResult.Tag.Rate; param0: number } | { tag: typeof APIResult.Tag.Precise; param0: number } | { tag: typeof APIResult.Tag.Info }
18+
export type APIResultTag =
19+
{ tag: typeof APIResultValues.Tag.Success; param0: string } | { tag: typeof APIResultValues.Tag.Failure; param0: number } | { tag: typeof APIResultValues.Tag.Flag; param0: boolean } | { tag: typeof APIResultValues.Tag.Rate; param0: number } | { tag: typeof APIResultValues.Tag.Precise; param0: number } | { tag: typeof APIResultValues.Tag.Info }
2020

21-
export const ComplexResult: {
21+
export const ComplexResultValues: {
2222
readonly Tag: {
2323
readonly Success: 0;
2424
readonly Error: 1;
@@ -29,58 +29,73 @@ export const ComplexResult: {
2929
};
3030
};
3131

32-
export type ComplexResult =
33-
{ tag: typeof ComplexResult.Tag.Success; param0: string } | { tag: typeof ComplexResult.Tag.Error; param0: string; param1: number } | { tag: typeof ComplexResult.Tag.Status; param0: boolean; param1: number; param2: string } | { tag: typeof ComplexResult.Tag.Coordinates; param0: number; param1: number; param2: number } | { tag: typeof ComplexResult.Tag.Comprehensive; param0: boolean; param1: boolean; param2: number; param3: number; param4: number; param5: number; param6: string; param7: string; param8: string } | { tag: typeof ComplexResult.Tag.Info }
32+
export type ComplexResultTag =
33+
{ tag: typeof ComplexResultValues.Tag.Success; param0: string } | { tag: typeof ComplexResultValues.Tag.Error; param0: string; param1: number } | { tag: typeof ComplexResultValues.Tag.Status; param0: boolean; param1: number; param2: string } | { tag: typeof ComplexResultValues.Tag.Coordinates; param0: number; param1: number; param2: number } | { tag: typeof ComplexResultValues.Tag.Comprehensive; param0: boolean; param1: boolean; param2: number; param3: number; param4: number; param5: number; param6: string; param7: string; param8: string } | { tag: typeof ComplexResultValues.Tag.Info }
3434

35-
export const APIOptionalResult: {
35+
export const APIOptionalResultValues: {
3636
readonly Tag: {
3737
readonly Success: 0;
3838
readonly Failure: 1;
3939
readonly Status: 2;
4040
};
4141
};
4242

43-
export type APIOptionalResult =
44-
{ tag: typeof APIOptionalResult.Tag.Success; param0: string | null } | { tag: typeof APIOptionalResult.Tag.Failure; param0: number | null; param1: boolean | null } | { tag: typeof APIOptionalResult.Tag.Status; param0: boolean | null; param1: number | null; param2: string | null }
43+
export type APIOptionalResultTag =
44+
{ tag: typeof APIOptionalResultValues.Tag.Success; param0: string | null } | { tag: typeof APIOptionalResultValues.Tag.Failure; param0: number | null; param1: boolean | null } | { tag: typeof APIOptionalResultValues.Tag.Status; param0: boolean | null; param1: number | null; param2: string | null }
45+
46+
export type APIResultObject = typeof APIResultValues;
47+
48+
export type ComplexResultObject = typeof ComplexResultValues;
49+
50+
export type ResultObject = typeof ResultValues;
51+
52+
export type NetworkingResultObject = typeof NetworkingResultValues;
53+
54+
export type APIOptionalResultObject = typeof APIOptionalResultValues;
4555

4656
export {};
4757

4858
declare global {
4959
namespace API {
50-
const NetworkingResult: {
60+
const NetworkingResultValues: {
5161
readonly Tag: {
5262
readonly Success: 0;
5363
readonly Failure: 1;
5464
};
5565
};
56-
type NetworkingResult =
57-
{ tag: typeof NetworkingResult.Tag.Success; param0: string } | { tag: typeof NetworkingResult.Tag.Failure; param0: string; param1: number }
66+
type NetworkingResultTag =
67+
{ tag: typeof NetworkingResultValues.Tag.Success; param0: string } | { tag: typeof NetworkingResultValues.Tag.Failure; param0: string; param1: number }
5868
}
5969
namespace Utilities {
60-
const Result: {
70+
const ResultValues: {
6171
readonly Tag: {
6272
readonly Success: 0;
6373
readonly Failure: 1;
6474
readonly Status: 2;
6575
};
6676
};
67-
type Result =
68-
{ tag: typeof Result.Tag.Success; param0: string } | { tag: typeof Result.Tag.Failure; param0: string; param1: number } | { tag: typeof Result.Tag.Status; param0: boolean; param1: number; param2: string }
77+
type ResultTag =
78+
{ tag: typeof ResultValues.Tag.Success; param0: string } | { tag: typeof ResultValues.Tag.Failure; param0: string; param1: number } | { tag: typeof ResultValues.Tag.Status; param0: boolean; param1: number; param2: string }
6979
}
7080
}
7181

7282
export type Exports = {
73-
handle(result: APIResult): void;
74-
getResult(): APIResult;
75-
roundtripAPIResult(result: APIResult): APIResult;
76-
roundTripOptionalAPIResult(result: APIResult | null): APIResult | null;
77-
handleComplex(result: ComplexResult): void;
78-
getComplexResult(): ComplexResult;
79-
roundtripComplexResult(result: ComplexResult): ComplexResult;
80-
roundTripOptionalComplexResult(result: ComplexResult | null): ComplexResult | null;
81-
roundTripOptionalUtilitiesResult(result: Utilities.Result | null): Utilities.Result | null;
82-
roundTripOptionalNetworkingResult(result: NetworkingResult | null): NetworkingResult | null;
83-
roundTripOptionalAPIOptionalResult(result: APIOptionalResult | null): APIOptionalResult | null;
83+
handle(result: APIResultTag): void;
84+
getResult(): APIResultTag;
85+
roundtripAPIResult(result: APIResultTag): APIResultTag;
86+
roundTripOptionalAPIResult(result: APIResultTag | null): APIResultTag | null;
87+
handleComplex(result: ComplexResultTag): void;
88+
getComplexResult(): ComplexResultTag;
89+
roundtripComplexResult(result: ComplexResultTag): ComplexResultTag;
90+
roundTripOptionalComplexResult(result: ComplexResultTag | null): ComplexResultTag | null;
91+
roundTripOptionalUtilitiesResult(result: Utilities.ResultTag | null): Utilities.ResultTag | null;
92+
roundTripOptionalNetworkingResult(result: NetworkingResultTag | null): NetworkingResultTag | null;
93+
roundTripOptionalAPIOptionalResult(result: APIOptionalResultTag | null): APIOptionalResultTag | null;
94+
APIResult: APIResultObject
95+
ComplexResult: ComplexResultObject
96+
Result: ResultObject
97+
NetworkingResult: NetworkingResultObject
98+
APIOptionalResult: APIOptionalResultObject
8499
}
85100
export type Imports = {
86101
}

0 commit comments

Comments
 (0)