quicktype-core 23.0.10 → 23.0.12

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.
@@ -18,6 +18,7 @@ export declare const rustOptions: {
18
18
  density: EnumOption<Density>;
19
19
  visibility: EnumOption<Visibility>;
20
20
  deriveDebug: BooleanOption;
21
+ deriveClone: BooleanOption;
21
22
  edition2018: BooleanOption;
22
23
  leadingComments: BooleanOption;
23
24
  };
@@ -33,6 +33,7 @@ exports.rustOptions = {
33
33
  ["public", Visibility.Public]
34
34
  ]),
35
35
  deriveDebug: new RendererOptions_1.BooleanOption("derive-debug", "Derive Debug impl", false),
36
+ deriveClone: new RendererOptions_1.BooleanOption("derive-clone", "Derive Clone impl", false),
36
37
  edition2018: new RendererOptions_1.BooleanOption("edition-2018", "Edition 2018", true),
37
38
  leadingComments: new RendererOptions_1.BooleanOption("leading-comments", "Leading Comments", true)
38
39
  };
@@ -48,6 +49,7 @@ class RustTargetLanguage extends TargetLanguage_1.TargetLanguage {
48
49
  exports.rustOptions.density,
49
50
  exports.rustOptions.visibility,
50
51
  exports.rustOptions.deriveDebug,
52
+ exports.rustOptions.deriveClone,
51
53
  exports.rustOptions.edition2018,
52
54
  exports.rustOptions.leadingComments
53
55
  ];
@@ -227,7 +229,7 @@ class RustRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
227
229
  }
228
230
  emitStructDefinition(c, className) {
229
231
  this.emitDescription(this.descriptionForType(c));
230
- this.emitLine("#[derive(", this._options.deriveDebug ? "Debug, " : "", "Serialize, Deserialize)]");
232
+ this.emitLine("#[derive(", this._options.deriveDebug ? "Debug, " : "", this._options.deriveClone ? "Clone, " : "", "Serialize, Deserialize)]");
231
233
  const blankLines = this._options.density === Density.Dense ? "none" : "interposing";
232
234
  const structBody = () => this.forEachClassProperty(c, blankLines, (name, jsonName, prop) => {
233
235
  this.emitDescription(this.descriptionForClassProperty(c, jsonName));
@@ -247,7 +249,7 @@ class RustRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
247
249
  return;
248
250
  }
249
251
  this.emitDescription(this.descriptionForType(u));
250
- this.emitLine("#[derive(", this._options.deriveDebug ? "Debug, " : "", "Serialize, Deserialize)]");
252
+ this.emitLine("#[derive(", this._options.deriveDebug ? "Debug, " : "", this._options.deriveClone ? "Clone, " : "", "Serialize, Deserialize)]");
251
253
  this.emitLine("#[serde(untagged)]");
252
254
  const [, nonNulls] = (0, TypeUtils_1.removeNullFromUnion)(u);
253
255
  const blankLines = this._options.density === Density.Dense ? "none" : "interposing";
@@ -258,7 +260,7 @@ class RustRenderer extends ConvenienceRenderer_1.ConvenienceRenderer {
258
260
  }
259
261
  emitEnumDefinition(e, enumName) {
260
262
  this.emitDescription(this.descriptionForType(e));
261
- this.emitLine("#[derive(", this._options.deriveDebug ? "Debug, " : "", "Serialize, Deserialize)]");
263
+ this.emitLine("#[derive(", this._options.deriveDebug ? "Debug, " : "", this._options.deriveClone ? "Clone, " : "", "Serialize, Deserialize)]");
262
264
  const blankLines = this._options.density === Density.Dense ? "none" : "interposing";
263
265
  this.emitBlock(["pub enum ", enumName], () => this.forEachEnumCase(e, blankLines, (name, jsonName) => {
264
266
  this.emitRenameAttribute(name, jsonName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quicktype-core",
3
- "version": "23.0.10",
3
+ "version": "23.0.12",
4
4
  "description": "The quicktype engine as a library",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",