quicktype-core 22.0.0 → 23.0.1

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.
@@ -8,12 +8,12 @@ import { TargetLanguage } from "../TargetLanguage";
8
8
  import { ClassProperty, ClassType, EnumType, Type, UnionType } from "../Type";
9
9
  import { StringTypeMapping } from "..";
10
10
  export declare const javaOptions: {
11
- classStyle: EnumOption<"java" | "java-record" | "lombok">;
12
11
  useList: EnumOption<boolean>;
13
12
  justTypes: BooleanOption;
14
- dateTimeProvider: EnumOption<"java8" | "legacy">;
13
+ dateTimeProvider: EnumOption<string>;
15
14
  acronymStyle: EnumOption<AcronymStyleOptions>;
16
15
  packageName: StringOption;
16
+ lombok: BooleanOption;
17
17
  lombokCopyAnnotations: BooleanOption;
18
18
  };
19
19
  export declare class JavaTargetLanguage extends TargetLanguage {
@@ -96,7 +96,6 @@ export declare class JavaRenderer extends ConvenienceRenderer {
96
96
  protected importsForClass(c: ClassType): string[];
97
97
  protected importsForUnionMembers(u: UnionType): string[];
98
98
  protected emitClassDefinition(c: ClassType, className: Name): void;
99
- private emitClassRecordDefinition;
100
99
  protected unionField(u: UnionType, t: Type, withIssues?: boolean): {
101
100
  fieldType: Sourcelike;
102
101
  fieldName: Sourcelike;
@@ -13,11 +13,6 @@ const TargetLanguage_1 = require("../TargetLanguage");
13
13
  const Type_1 = require("../Type");
14
14
  const TypeUtils_1 = require("../TypeUtils");
15
15
  exports.javaOptions = {
16
- classStyle: new RendererOptions_1.EnumOption("class-style", "Style of generated Java classes", [
17
- ["java", "java"],
18
- ["java-record", "java-record"],
19
- ["lombok", "lombok"]
20
- ], "java"),
21
16
  useList: new RendererOptions_1.EnumOption("array-type", "Use T[] or List<T>", [
22
17
  ["array", false],
23
18
  ["list", true]
@@ -30,6 +25,7 @@ exports.javaOptions = {
30
25
  acronymStyle: (0, Acronyms_1.acronymOption)(Acronyms_1.AcronymStyleOptions.Pascal),
31
26
  // FIXME: Do this via a configurable named eventually.
32
27
  packageName: new RendererOptions_1.StringOption("package", "Generated package name", "NAME", "io.quicktype"),
28
+ lombok: new RendererOptions_1.BooleanOption("lombok", "Use lombok", false, "primary"),
33
29
  lombokCopyAnnotations: new RendererOptions_1.BooleanOption("lombok-copy-annotations", "Copy accessor annotations", true, "secondary")
34
30
  };
35
31
  class JavaTargetLanguage extends TargetLanguage_1.TargetLanguage {
@@ -38,12 +34,12 @@ class JavaTargetLanguage extends TargetLanguage_1.TargetLanguage {
38
34
  }
39
35
  getOptions() {
40
36
  return [
41
- exports.javaOptions.classStyle,
42
37
  exports.javaOptions.useList,
43
38
  exports.javaOptions.justTypes,
44
39
  exports.javaOptions.dateTimeProvider,
45
40
  exports.javaOptions.acronymStyle,
46
41
  exports.javaOptions.packageName,
42
+ exports.javaOptions.lombok,
47
43
  exports.javaOptions.lombokCopyAnnotations
48
44
  ];
49
45
  }
@@ -68,6 +64,7 @@ class JavaTargetLanguage extends TargetLanguage_1.TargetLanguage {
68
64
  }
69
65
  exports.JavaTargetLanguage = JavaTargetLanguage;
70
66
  const javaKeywords = [
67
+ "_",
71
68
  "Object",
72
69
  "Class",
73
70
  "System",
@@ -540,7 +537,7 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
540
537
  }
541
538
  }
542
539
  emitClassAttributes(_c, _className) {
543
- if (this._options.classStyle === "lombok") {
540
+ if (this._options.lombok) {
544
541
  this.emitLine("@lombok.Data");
545
542
  }
546
543
  }
@@ -581,12 +578,9 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
581
578
  this.emitFileHeader(className, imports);
582
579
  this.emitDescription(this.descriptionForType(c));
583
580
  this.emitClassAttributes(c, className);
584
- if (this._options.classStyle === "java-record") {
585
- return this.emitClassRecordDefinition(c, className);
586
- }
587
581
  this.emitBlock(["public class ", className], () => {
588
582
  this.forEachClassProperty(c, "none", (name, jsonName, p) => {
589
- if (this._options.classStyle === "lombok" && this._options.lombokCopyAnnotations) {
583
+ if (this._options.lombok && this._options.lombokCopyAnnotations) {
590
584
  const getter = this.annotationsForAccessor(c, className, name, jsonName, p, false);
591
585
  const setter = this.annotationsForAccessor(c, className, name, jsonName, p, true);
592
586
  if (getter.length !== 0) {
@@ -598,7 +592,7 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
598
592
  }
599
593
  this.emitLine("private ", this.javaType(false, p.type, true), " ", name, ";");
600
594
  });
601
- if (this._options.classStyle !== "lombok") {
595
+ if (!this._options.lombok) {
602
596
  this.forEachClassProperty(c, "leading-and-interposing", (name, jsonName, p) => {
603
597
  this.emitDescription(this.descriptionForClassProperty(c, jsonName));
604
598
  const [getterName, setterName] = (0, Support_1.defined)(this._gettersAndSettersForPropertyName.get(name));
@@ -612,19 +606,6 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
612
606
  });
613
607
  this.finishFile();
614
608
  }
615
- emitClassRecordDefinition(c, className) {
616
- this.emitLine("public record ", className, " (");
617
- this.indent(() => {
618
- this.forEachClassProperty(c, "leading-and-interposing", (name, jsonName, p, position) => {
619
- this.annotationsForAccessor(c, className, name, jsonName, p, false).forEach(annotation => this.emitLine(annotation));
620
- const rendered = this.javaType(false, p.type);
621
- const comma = position === "first" || position === "middle" ? "," : [];
622
- this.emitLine(rendered, " ", name, comma);
623
- });
624
- });
625
- this.emitLine(") {}");
626
- this.finishFile();
627
- }
628
609
  unionField(u, t, withIssues = false) {
629
610
  const fieldType = this.javaType(true, t, withIssues);
630
611
  // FIXME: "Value" should be part of the name.
@@ -1011,7 +992,7 @@ class JacksonRenderer extends JavaRenderer {
1011
992
  this.emitCommentLines([
1012
993
  "To use this code, add the following Maven dependency to your project:",
1013
994
  "",
1014
- this._options.classStyle === "lombok" ? " org.projectlombok : lombok : 1.18.2" : "",
995
+ this._options.lombok ? " org.projectlombok : lombok : 1.18.2" : "",
1015
996
  " com.fasterxml.jackson.core : jackson-databind : 2.9.0",
1016
997
  this._options.dateTimeProvider === "java8"
1017
998
  ? " com.fasterxml.jackson.datatype : jackson-datatype-jsr310 : 2.9.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quicktype-core",
3
- "version": "22.0.0",
3
+ "version": "23.0.1",
4
4
  "description": "The quicktype engine as a library",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",