quicktype-core 22.0.0 → 23.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.
@@ -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
  }
@@ -540,7 +536,7 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
540
536
  }
541
537
  }
542
538
  emitClassAttributes(_c, _className) {
543
- if (this._options.classStyle === "lombok") {
539
+ if (this._options.lombok) {
544
540
  this.emitLine("@lombok.Data");
545
541
  }
546
542
  }
@@ -581,12 +577,9 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
581
577
  this.emitFileHeader(className, imports);
582
578
  this.emitDescription(this.descriptionForType(c));
583
579
  this.emitClassAttributes(c, className);
584
- if (this._options.classStyle === "java-record") {
585
- return this.emitClassRecordDefinition(c, className);
586
- }
587
580
  this.emitBlock(["public class ", className], () => {
588
581
  this.forEachClassProperty(c, "none", (name, jsonName, p) => {
589
- if (this._options.classStyle === "lombok" && this._options.lombokCopyAnnotations) {
582
+ if (this._options.lombok && this._options.lombokCopyAnnotations) {
590
583
  const getter = this.annotationsForAccessor(c, className, name, jsonName, p, false);
591
584
  const setter = this.annotationsForAccessor(c, className, name, jsonName, p, true);
592
585
  if (getter.length !== 0) {
@@ -598,7 +591,7 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
598
591
  }
599
592
  this.emitLine("private ", this.javaType(false, p.type, true), " ", name, ";");
600
593
  });
601
- if (this._options.classStyle !== "lombok") {
594
+ if (!this._options.lombok) {
602
595
  this.forEachClassProperty(c, "leading-and-interposing", (name, jsonName, p) => {
603
596
  this.emitDescription(this.descriptionForClassProperty(c, jsonName));
604
597
  const [getterName, setterName] = (0, Support_1.defined)(this._gettersAndSettersForPropertyName.get(name));
@@ -612,19 +605,6 @@ class JavaRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
612
605
  });
613
606
  this.finishFile();
614
607
  }
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
608
  unionField(u, t, withIssues = false) {
629
609
  const fieldType = this.javaType(true, t, withIssues);
630
610
  // FIXME: "Value" should be part of the name.
@@ -1011,7 +991,7 @@ class JacksonRenderer extends JavaRenderer {
1011
991
  this.emitCommentLines([
1012
992
  "To use this code, add the following Maven dependency to your project:",
1013
993
  "",
1014
- this._options.classStyle === "lombok" ? " org.projectlombok : lombok : 1.18.2" : "",
994
+ this._options.lombok ? " org.projectlombok : lombok : 1.18.2" : "",
1015
995
  " com.fasterxml.jackson.core : jackson-databind : 2.9.0",
1016
996
  this._options.dateTimeProvider === "java8"
1017
997
  ? " 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.0",
4
4
  "description": "The quicktype engine as a library",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",