ajsc 1.0.10 → 2.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"TypescriptProceduresConverter.test.js","sourceRoot":"","sources":["../src/TypescriptProceduresConverter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypescriptProceduresConverter.test.js","sourceRoot":"","sources":["../src/TypescriptProceduresConverter.test.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type IRType = "string" | "number" | "integer" | "boolean" | "object" | "array" | "null" | "enum" | "union" | "intersection" | "literal";
1
+ export type IRType = "string" | "number" | "integer" | "boolean" | "object" | "array" | "null" | "enum" | "union" | "intersection" | "literal" | "any";
2
2
  export interface IRNode {
3
3
  signature?: string;
4
4
  /**
@@ -25,6 +25,10 @@ export interface IRNode {
25
25
  properties?: {
26
26
  [key: string]: IRNode;
27
27
  };
28
+ /**
29
+ * For object types: indicates whether additional properties are allowed and their type if so.
30
+ */
31
+ additionalProperties?: IRNode | boolean;
28
32
  /**
29
33
  * For array types: the IR node representing the type of items in the array.
30
34
  */
@@ -72,6 +76,7 @@ export interface LanguagePlugin {
72
76
  language: string;
73
77
  }
74
78
  export interface ConverterOptions {
79
+ additionalProperties?: boolean;
75
80
  validateSchema?: boolean;
76
81
  transform?: (ir: IRNode) => IRNode;
77
82
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ajsc",
3
- "version": "1.0.10",
3
+ "version": "2.0.0",
4
4
  "description": "Another Json-Schema Converter",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -241,6 +241,93 @@ export class JSONSchemaConverter {
241
241
  }
242
242
  }
243
243
 
244
+ if (schema.additionalProperties) {
245
+ /**
246
+ * Json-schema additionalProperties have unknown keys.
247
+ * @example json-schema
248
+ * {
249
+ * "additionalProperties": {
250
+ * "type": "object",
251
+ * "properties": {
252
+ * "profile": {
253
+ * "type": "string"
254
+ * }
255
+ * },
256
+ * "required": [
257
+ * "profile"
258
+ * ]
259
+ * },
260
+ * "type": "object",
261
+ * "properties": {
262
+ * "id": {
263
+ * "type": "string"
264
+ * }
265
+ * },
266
+ * "required": [
267
+ * "id"
268
+ * ]
269
+ * }
270
+ */
271
+ node.additionalProperties = this.convertSchema(
272
+ schema.additionalProperties,
273
+ {
274
+ // The "*" indicates an any/unknown key
275
+ path: ctx.path ? `${ctx.path}.*` : "*",
276
+ },
277
+ );
278
+ }
279
+
280
+ if (schema.patternProperties) {
281
+ /**
282
+ * Json-schema patternProperties are not directly supported in most languages.
283
+ * We mark each property key as
284
+ * @example json-schema
285
+ * {
286
+ * "type": "object",
287
+ * "patternProperties": {
288
+ * "^(.*)$": {
289
+ * "type": "object",
290
+ * "properties": {
291
+ * "name": {
292
+ * "type": "string"
293
+ * },
294
+ * "email": {
295
+ * "type": "string"
296
+ * }
297
+ * },
298
+ * "required": [
299
+ * "name",
300
+ * "email"
301
+ * ]
302
+ * }
303
+ * }
304
+ * }
305
+ */
306
+ const propertySchemas = Object.values(schema.patternProperties);
307
+
308
+ if (propertySchemas.length > 1) {
309
+ // if multiple patternProperties, treat as a union of the property types.
310
+ node.additionalProperties = this.convertSchema(
311
+ {
312
+ anyOf: propertySchemas,
313
+ },
314
+ {
315
+ // The "*" indicates an any/unknown key
316
+ path: ctx.path ? `${ctx.path}.*` : "*",
317
+ },
318
+ );
319
+ } else {
320
+ // else just convert the single property schema
321
+ node.additionalProperties = this.convertSchema(
322
+ propertySchemas[0],
323
+ {
324
+ // The "*" indicates an any/unknown key
325
+ path: ctx.path ? `${ctx.path}.*` : "*",
326
+ },
327
+ );
328
+ }
329
+ }
330
+
244
331
  node.signature = this.calcObjSignatureOccurrences(
245
332
  schema as JSONSchema7 & {
246
333
  type: "object";
@@ -46,6 +46,39 @@ describe("Typebox to IRNode Test", () => {
46
46
  });
47
47
  });
48
48
 
49
+ it("should convert Record", () => {
50
+ expect(
51
+ new JSONSchemaConverter(
52
+ Type.Record(
53
+ Type.String(),
54
+ Type.Object({
55
+ name: Type.String(),
56
+ email: Type.String(),
57
+ }),
58
+ ),
59
+ ).irNode,
60
+ ).toMatchObject({
61
+ type: "object",
62
+ additionalProperties: {
63
+ type: "object",
64
+ properties: {
65
+ name: {
66
+ type: "string",
67
+ path: "*.name",
68
+ constraints: {},
69
+ required: true,
70
+ },
71
+ email: {
72
+ type: "string",
73
+ path: "*.email",
74
+ constraints: {},
75
+ required: true,
76
+ },
77
+ },
78
+ },
79
+ });
80
+ });
81
+
49
82
  it("should convert unions", () => {
50
83
  expect(
51
84
  new JSONSchemaConverter(Type.Union([Type.String(), Type.Number()]))
@@ -75,19 +108,20 @@ describe("Typebox to IRNode Test", () => {
75
108
 
76
109
  it("should convert intersections", () => {
77
110
  expect(
78
- new JSONSchemaConverter(
79
- Type.Intersect([Type.String(), Type.Number()]),
80
- ).irNode,
111
+ new JSONSchemaConverter(Type.Intersect([Type.String(), Type.Number()]))
112
+ .irNode,
81
113
  ).toMatchObject({
82
114
  type: "intersection",
83
115
  options: [{ type: "string" }, { type: "number" }],
84
116
  });
85
- })
117
+ });
86
118
 
87
- it('should convert arrays', () => {
88
- expect(new JSONSchemaConverter(Type.Array(Type.String())).irNode).toMatchObject({
119
+ it("should convert arrays", () => {
120
+ expect(
121
+ new JSONSchemaConverter(Type.Array(Type.String())).irNode,
122
+ ).toMatchObject({
89
123
  type: "array",
90
124
  items: { type: "string" },
91
125
  });
92
- })
126
+ });
93
127
  });
@@ -84,6 +84,22 @@ export class TypescriptBaseConverter {
84
84
  ir: IRNode,
85
85
  utils: { getReferencedType(ir: IRNode): string | undefined },
86
86
  ): string {
87
+ let generated = ``;
88
+ let generatedAdditionalValues = new Set<string>();
89
+
90
+ if (ir.additionalProperties === true) {
91
+ generatedAdditionalValues.add("unknown");
92
+ } else if (ir.additionalProperties) {
93
+ generatedAdditionalValues.add(
94
+ `Record<string, ${this.generateType(ir.additionalProperties, {
95
+ // additionalProperties should not create further references
96
+ getReferencedType() {
97
+ return undefined;
98
+ },
99
+ })}>`,
100
+ );
101
+ }
102
+
87
103
  if (ir.properties) {
88
104
  const props = Object.keys(ir.properties).map((key) => {
89
105
  const prop = ir.properties![key];
@@ -92,13 +108,26 @@ export class TypescriptBaseConverter {
92
108
  return `${this.isValidIdentifier(key) ? key : `"${key}"`}${optional}: ${this.generateType(prop, utils)};`;
93
109
  });
94
110
 
95
- if (!props.length) {
96
- return "{ [key:string]: unknown }";
111
+ if (!props.length && generatedAdditionalValues.size === 0) {
112
+ generatedAdditionalValues.add("{ [key:string]: unknown }");
113
+ } else if (props.length) {
114
+ generated = `{ ${props.join(" ")} }`;
97
115
  }
116
+ }
98
117
 
99
- return `{ ${props.join(" ")} }`;
118
+ let returnValue = ``;
119
+
120
+ if (generatedAdditionalValues.size > 0) {
121
+ if (generated) {
122
+ returnValue = `(${generated} & (${Array.from(generatedAdditionalValues).join(" & ")}))`;
123
+ } else {
124
+ returnValue = Array.from(generatedAdditionalValues).join(" & ");
125
+ }
126
+ } else {
127
+ returnValue = generated || "{ [key:string]: unknown }";
100
128
  }
101
- return "{ [key:string]: unknown }";
129
+
130
+ return returnValue;
102
131
  }
103
132
 
104
133
  protected isValidIdentifier(name: string): boolean {
@@ -1,7 +1,5 @@
1
1
  import { describe, it, expect } from "vitest";
2
2
  import { TypescriptConverter } from "./TypescriptConverter.js";
3
- import { JSONSchemaConverter } from "./JSONSchemaConverter.js";
4
- import { Type } from "@sinclair/typebox";
5
3
 
6
4
  describe("TypeScriptLanguagePlugin", () => {
7
5
  it("should convert strings", () => {
@@ -55,6 +53,7 @@ describe("TypeScriptLanguagePlugin", () => {
55
53
  expect(
56
54
  new TypescriptConverter(
57
55
  {
56
+ title: "MyArray",
58
57
  type: "array",
59
58
  items: {
60
59
  type: "object",
@@ -272,4 +271,129 @@ describe("TypeScriptLanguagePlugin", () => {
272
271
  ),
273
272
  );
274
273
  });
274
+
275
+ it("should convert JSON schema objects with only additionalProperties to Typescript", async () => {
276
+ expect(
277
+ new TypescriptConverter(
278
+ {
279
+ type: "object",
280
+ properties: {
281
+ metadata: {
282
+ type: "object",
283
+ additionalProperties: { type: "string" },
284
+ },
285
+ },
286
+ required: ["metadata"],
287
+ },
288
+ {
289
+ inlineTypes: true,
290
+ },
291
+ ).code.replace(/\s/g, ""),
292
+ ).toEqual(`{metadata: Record<string, string>; }`.replace(/\s/g, ""));
293
+ });
294
+
295
+ it("should convert JSON schema objects mixed properties & additionalProperties to Typescript", async () => {
296
+ expect(
297
+ new TypescriptConverter(
298
+ {
299
+ type: "object",
300
+ properties: {
301
+ metadata: {
302
+ type: "object",
303
+ additionalProperties: { type: "string" },
304
+ },
305
+ },
306
+ additionalProperties: { type: "string" },
307
+ required: ["metadata"],
308
+ },
309
+ {
310
+ inlineTypes: true,
311
+ },
312
+ ).code.replace(/\s/g, ""),
313
+ ).toEqual(
314
+ `({metadata:Record<string,string>;}&(Record<string,string>))`.replace(
315
+ /\s/g,
316
+ "",
317
+ ),
318
+ );
319
+ });
320
+
321
+ it("should convert JSON schema objects complex additionalProperties to Typescript", async () => {
322
+ expect(
323
+ new TypescriptConverter(
324
+ {
325
+ type: "object",
326
+ properties: {
327
+ specificProp: {
328
+ type: "string",
329
+ },
330
+ },
331
+ additionalProperties: {
332
+ type: "object",
333
+ properties: {
334
+ subAdditionalProp: { type: "string" },
335
+ },
336
+ additionalProperties: { type: "string" },
337
+ },
338
+ required: ["metadata"],
339
+ },
340
+ {
341
+ inlineTypes: true,
342
+ },
343
+ ).code.replace(/\s/g, ""),
344
+ ).toEqual(
345
+ `({specificProp?:string;}&(Record<string,({subAdditionalProp?:string;}&(Record<string,string>))>))`.replace(
346
+ /\s/g,
347
+ "",
348
+ ),
349
+ );
350
+ });
351
+
352
+ it("should convert a JSON schema with pattern properties", () => {
353
+ expect(
354
+ new TypescriptConverter({
355
+ type: "object",
356
+ properties: {
357
+ totalTodo: {
358
+ type: "number",
359
+ },
360
+ totalPastDue: {
361
+ type: "number",
362
+ },
363
+ unassignedTodo: {
364
+ type: "number",
365
+ },
366
+ todoByAssignee: {
367
+ type: "object",
368
+ patternProperties: {
369
+ "^(.*)$": {
370
+ type: "object",
371
+ properties: {
372
+ todo: {
373
+ type: "number",
374
+ },
375
+ pastDue: {
376
+ type: "number",
377
+ },
378
+ },
379
+ required: ["todo", "pastDue"],
380
+ },
381
+ },
382
+ },
383
+ },
384
+ required: [
385
+ "totalTodo",
386
+ "totalPastDue",
387
+ "unassignedTodo",
388
+ "todoByAssignee",
389
+ ],
390
+ title: "Root",
391
+ }).code.replace(/\s/g, ""),
392
+ ).toEqual(
393
+ "export type TodoByAssignee = Record<string, { todo: number; pastDue: number; }>;export type Root = { totalTodo: number; totalPastDue: number; unassignedTodo: number; todoByAssignee: TodoByAssignee; };".replace(
394
+ /\s/g,
395
+ "",
396
+ ),
397
+ );
398
+ });
275
399
  });
@@ -37,19 +37,28 @@ export class TypescriptConverter
37
37
 
38
38
  this.ir = new JSONSchemaConverter(schema);
39
39
 
40
+ if (!this.ir.irNode.name) {
41
+ this.ir.irNode.name = "Root";
42
+ }
43
+
40
44
  const code = this.generateType(this.ir.irNode, {
41
45
  getReferencedType: opts?.inlineTypes
42
46
  ? () => undefined
43
47
  : this.getReferencedType.bind(this),
44
48
  });
45
49
 
46
- const rootName = this.ir.irNode.name ? this.ir.irNode.name : "Root";
50
+ const rootName = this.ir.irNode.name;
47
51
 
48
- this.code = `${this.refTypes
49
- .map(([sig, name, { code }]) => `export type ${name} = ${code}`)
50
- .join("\n")}
52
+ if (!opts?.inlineTypes) {
53
+ this.code = `${this.refTypes
54
+ .map(([sig, name, { code }]) => `export type ${name} = ${code};`)
55
+ .join("\n")}
51
56
 
52
- ${code}`;
57
+ export type ${rootName} = ${code};
58
+ `;
59
+ } else {
60
+ this.code = `${code}`;
61
+ }
53
62
  }
54
63
 
55
64
  private getUniqueRefTypeName(
@@ -58,8 +67,13 @@ export class TypescriptConverter
58
67
  ): RefTypeName {
59
68
  const path = PathUtils.parsePath(nodePath);
60
69
 
70
+ const lastPathItem = nodePath.split(".").slice(-1)[0];
71
+
61
72
  // if the path ends in "0" it's an array item
62
- const isArrayItem = nodePath.split(".").slice(-1)[0] === "0";
73
+ const isArrayItem = lastPathItem === "0";
74
+
75
+ // if the path ends in "*" it's an any/unknown key in an object
76
+ const isAnySymbol = lastPathItem === "*";
63
77
 
64
78
  const postFixes = [
65
79
  "Type",
@@ -67,16 +81,25 @@ export class TypescriptConverter
67
81
  "Schema",
68
82
  "Object",
69
83
  "Shape",
70
- "1",
71
- "2",
72
- "3",
73
- "4",
74
- "5",
75
- "6",
84
+ "Definition",
85
+ "Item",
86
+ "Entry",
87
+ "One",
88
+ "Two",
89
+ "Three",
90
+ "Four",
91
+ "Five",
92
+ "Six",
93
+ "Seven",
94
+ "Eight",
95
+ "Nine",
96
+ "Ten",
76
97
  ];
77
98
 
78
99
  if (isArrayItem) {
79
100
  postFixes.unshift("Item");
101
+ } else if (isAnySymbol) {
102
+ postFixes.unshift("AnyKey", "AnyProperty", "AnyField", "AnyIdentifier");
80
103
  } else {
81
104
  postFixes.unshift("");
82
105
  }
@@ -86,10 +109,15 @@ export class TypescriptConverter
86
109
  let postFixIndexToTry = 0;
87
110
 
88
111
  while (!name) {
89
- const proposedName =
112
+ let proposedName =
90
113
  path.slice(-pathsSegmentsToInclude).map(toPascalCase).join("") +
91
114
  postFixes[postFixIndexToTry];
92
115
 
116
+ if (proposedName[0] === "*") {
117
+ // Prevent names starting with the "*" any/unknown key symbol
118
+ proposedName = proposedName.slice(1);
119
+ }
120
+
93
121
  const foundSignatureMatch = this.refTypes.find(([sig, name]) => {
94
122
  return sig === signature && name === proposedName;
95
123
  });
@@ -16,7 +16,10 @@ import { toPascalCase } from "./utils/to-pascal-case.js";
16
16
  * that is created for each IR node.
17
17
  */
18
18
  export class TypescriptProcedureConverter extends TypescriptBaseConverter {
19
- private ir: { args: JSONSchemaConverter; data: JSONSchemaConverter };
19
+ private ir: {
20
+ args: JSONSchemaConverter | undefined;
21
+ data: JSONSchemaConverter | undefined;
22
+ };
20
23
  private refTypes: RefTypes = [];
21
24
 
22
25
  readonly code: string;
@@ -24,24 +27,32 @@ export class TypescriptProcedureConverter extends TypescriptBaseConverter {
24
27
  constructor(
25
28
  scopeName: string,
26
29
  rpcJsonSchemas: {
27
- args: JSONSchema7Definition;
28
- data: JSONSchema7Definition;
30
+ args: JSONSchema7Definition | undefined;
31
+ data: JSONSchema7Definition | undefined;
29
32
  },
30
33
  ) {
31
34
  super();
32
35
 
33
36
  this.ir = {
34
- args: new JSONSchemaConverter(rpcJsonSchemas.args),
35
- data: new JSONSchemaConverter(rpcJsonSchemas.data),
37
+ args: rpcJsonSchemas.args
38
+ ? new JSONSchemaConverter(rpcJsonSchemas.args)
39
+ : undefined,
40
+ data: rpcJsonSchemas.data
41
+ ? new JSONSchemaConverter(rpcJsonSchemas.data)
42
+ : undefined,
36
43
  };
37
44
 
38
- const argsCode = this.generateType(this.ir.args.irNode, {
39
- getReferencedType: this.getReferencedType.bind(this),
40
- });
45
+ const argsCode = this.ir.args
46
+ ? this.generateType(this.ir.args.irNode, {
47
+ getReferencedType: this.getReferencedType.bind(this),
48
+ })
49
+ : undefined;
41
50
 
42
- const dataCode = this.generateType(this.ir.data.irNode, {
43
- getReferencedType: this.getReferencedType.bind(this),
44
- });
51
+ const dataCode = this.ir.data
52
+ ? this.generateType(this.ir.data.irNode, {
53
+ getReferencedType: this.getReferencedType.bind(this),
54
+ })
55
+ : undefined;
45
56
 
46
57
  // use 'type' instead of 'interface' for the generated types because we can get `{} & {}` or `Record<string,string>`
47
58
  this.code = `export namespace ${scopeName} {
@@ -49,9 +60,9 @@ export class TypescriptProcedureConverter extends TypescriptBaseConverter {
49
60
  .map(([sig, name, { code }]) => `export type ${name} = ${code}`)
50
61
  .join("\n")}
51
62
 
52
- export type Args = ${argsCode}
63
+ export type Args = ${argsCode ? argsCode : "unknown"}
53
64
 
54
- export type Data = ${dataCode}
65
+ export type Data = ${dataCode ? dataCode : "unknown"}
55
66
  }`;
56
67
  }
57
68
 
@@ -47,6 +47,21 @@ describe("TypescriptProceduresPlugin", () => {
47
47
  );
48
48
  });
49
49
 
50
+ it('sets handles undefined args/data types', () => {
51
+ const converter = new TypescriptProcedureConverter("MyScope", {
52
+ args: undefined,
53
+ data: undefined,
54
+ });
55
+ console.log('converter', converter.code)
56
+ expect(converter.code.replace(/\s/g, "")).toMatch(
57
+ `export namespace MyScope {
58
+ export type Args = unknown
59
+
60
+ export type Data = unknown
61
+ }`.replace(/\s/g, ""),
62
+ );
63
+ })
64
+
50
65
  it("complex json-schema", () => {
51
66
  const argsAndData: JSONSchema7Definition = {
52
67
  type: "object",