ajsc 1.0.6 → 1.0.7
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.
|
@@ -22,14 +22,15 @@ export class TypescriptProcedureConverter extends TypescriptBaseConverter {
|
|
|
22
22
|
const dataCode = this.generateObjectType(this.ir.data.irNode, {
|
|
23
23
|
getReferencedType: this.getReferencedType.bind(this),
|
|
24
24
|
});
|
|
25
|
+
// use 'type' instead of 'interface' for the generated types because we can get `{} & {}` or `Record<string,string>`
|
|
25
26
|
this.code = `export namespace ${scopeName} {
|
|
26
27
|
${this.refTypes
|
|
27
28
|
.map(([sig, name, { code }]) => `export type ${name} = ${code}`)
|
|
28
29
|
.join("\n")}
|
|
29
30
|
|
|
30
|
-
export
|
|
31
|
+
export type Args = ${argsCode}
|
|
31
32
|
|
|
32
|
-
export
|
|
33
|
+
export type Data = ${dataCode}
|
|
33
34
|
}`;
|
|
34
35
|
}
|
|
35
36
|
getUniqueRefTypeName(signature, nodePath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypescriptProcedureConverter.js","sourceRoot":"","sources":["../src/TypescriptProcedureConverter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAGL,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,uBAAuB;IAMvE,YACE,SAAiB,EACjB,cAGC;QAED,KAAK,EAAE,CAAC;QAXF,aAAQ,GAAa,EAAE,CAAC;QAa9B,IAAI,CAAC,EAAE,GAAG;YACR,IAAI,EAAE,IAAI,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC;YAClD,IAAI,EAAE,IAAI,mBAAmB,CAAC,cAAc,CAAC,IAAI,CAAC;SACnD,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;YAC5D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SACrD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;YAC5D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,oBAAoB,SAAS;UACnC,IAAI,CAAC,QAAQ;aACZ,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,IAAI,MAAM,IAAI,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC;;
|
|
1
|
+
{"version":3,"file":"TypescriptProcedureConverter.js","sourceRoot":"","sources":["../src/TypescriptProcedureConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,9 +7,9 @@ describe("TypescriptProceduresPlugin", () => {
|
|
|
7
7
|
data: {},
|
|
8
8
|
});
|
|
9
9
|
expect(converter.code.replace(/\s/g, "")).toMatch(`export namespace MyScope {
|
|
10
|
-
export
|
|
10
|
+
export type Args = { [key:string]: unknown }
|
|
11
11
|
|
|
12
|
-
export
|
|
12
|
+
export type Data = { [key:string]: unknown }
|
|
13
13
|
}`.replace(/\s/g, ""));
|
|
14
14
|
});
|
|
15
15
|
it("complex json-schema", () => {
|
|
@@ -952,9 +952,9 @@ export type StripeMetadata = { activeUsersUsageSubscriptionItemIds: Array<string
|
|
|
952
952
|
export type Card = { brand: string; exp_month: number; exp_year: number; last4: number; }
|
|
953
953
|
export type Contact = { email: string; name: string; phone: string; }
|
|
954
954
|
|
|
955
|
-
export
|
|
955
|
+
export type Args = { pagination?: Pagination; organizations: Array<OrganizationItem>; }
|
|
956
956
|
|
|
957
|
-
export
|
|
957
|
+
export type Data = { pagination?: Pagination; organizations: Array<OrganizationItem>; }
|
|
958
958
|
}`.replace(/\s/g, ""));
|
|
959
959
|
});
|
|
960
960
|
});
|
package/package.json
CHANGED
|
@@ -42,14 +42,15 @@ export class TypescriptProcedureConverter extends TypescriptBaseConverter {
|
|
|
42
42
|
getReferencedType: this.getReferencedType.bind(this),
|
|
43
43
|
});
|
|
44
44
|
|
|
45
|
+
// use 'type' instead of 'interface' for the generated types because we can get `{} & {}` or `Record<string,string>`
|
|
45
46
|
this.code = `export namespace ${scopeName} {
|
|
46
47
|
${this.refTypes
|
|
47
48
|
.map(([sig, name, { code }]) => `export type ${name} = ${code}`)
|
|
48
49
|
.join("\n")}
|
|
49
50
|
|
|
50
|
-
export
|
|
51
|
+
export type Args = ${argsCode}
|
|
51
52
|
|
|
52
|
-
export
|
|
53
|
+
export type Data = ${dataCode}
|
|
53
54
|
}`;
|
|
54
55
|
}
|
|
55
56
|
|
|
@@ -11,9 +11,9 @@ describe("TypescriptProceduresPlugin", () => {
|
|
|
11
11
|
|
|
12
12
|
expect(converter.code.replace(/\s/g, "")).toMatch(
|
|
13
13
|
`export namespace MyScope {
|
|
14
|
-
export
|
|
14
|
+
export type Args = { [key:string]: unknown }
|
|
15
15
|
|
|
16
|
-
export
|
|
16
|
+
export type Data = { [key:string]: unknown }
|
|
17
17
|
}`.replace(/\s/g, ""),
|
|
18
18
|
);
|
|
19
19
|
});
|
|
@@ -960,9 +960,9 @@ export type StripeMetadata = { activeUsersUsageSubscriptionItemIds: Array<string
|
|
|
960
960
|
export type Card = { brand: string; exp_month: number; exp_year: number; last4: number; }
|
|
961
961
|
export type Contact = { email: string; name: string; phone: string; }
|
|
962
962
|
|
|
963
|
-
export
|
|
963
|
+
export type Args = { pagination?: Pagination; organizations: Array<OrganizationItem>; }
|
|
964
964
|
|
|
965
|
-
export
|
|
965
|
+
export type Data = { pagination?: Pagination; organizations: Array<OrganizationItem>; }
|
|
966
966
|
}`.replace(/\s/g, ""),
|
|
967
967
|
);
|
|
968
968
|
});
|