quicktype-core 24.0.1 → 25.0.0-pre1
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.
- package/dist/ConvenienceRenderer.d.ts +1 -3
- package/dist/ConvenienceRenderer.js +4 -4
- package/dist/CycleBreaker.js +0 -1
- package/dist/DateTime.js +11 -2
- package/dist/DeclarationIR.js +0 -1
- package/dist/MakeTransformations.js +1 -1
- package/dist/MarkovChain.js +4 -3
- package/dist/Messages.d.ts +14 -14
- package/dist/Messages.js +1 -1
- package/dist/Renderer.js +3 -2
- package/dist/RendererOptions/index.js +2 -8
- package/dist/Run.js +1 -1
- package/dist/Source.js +8 -5
- package/dist/Transformers.js +1 -3
- package/dist/Type/Type.js +2 -4
- package/dist/Type/TypeBuilder.js +7 -5
- package/dist/Type/TypeGraph.d.ts +1 -1
- package/dist/Type/TypeUtils.js +5 -11
- package/dist/UnifyClasses.js +4 -6
- package/dist/UnionBuilder.js +1 -1
- package/dist/attributes/Constraints.d.ts +2 -2
- package/dist/attributes/Constraints.js +2 -2
- package/dist/attributes/TypeAttributes.js +2 -4
- package/dist/esm/ConvenienceRenderer.d.ts +1 -3
- package/dist/esm/ConvenienceRenderer.js +4 -4
- package/dist/esm/CycleBreaker.js +0 -1
- package/dist/esm/DateTime.js +11 -2
- package/dist/esm/DeclarationIR.js +0 -1
- package/dist/esm/MakeTransformations.js +1 -1
- package/dist/esm/MarkovChain.js +4 -3
- package/dist/esm/Messages.d.ts +14 -14
- package/dist/esm/Messages.js +1 -1
- package/dist/esm/Renderer.js +3 -2
- package/dist/esm/RendererOptions/index.js +2 -8
- package/dist/esm/Run.js +1 -1
- package/dist/esm/Source.js +8 -5
- package/dist/esm/Transformers.js +1 -3
- package/dist/esm/Type/TransformedStringType.js +1 -1
- package/dist/esm/Type/Type.js +2 -4
- package/dist/esm/Type/TypeBuilder.js +7 -5
- package/dist/esm/Type/TypeGraph.d.ts +1 -1
- package/dist/esm/Type/TypeUtils.js +5 -11
- package/dist/esm/UnifyClasses.js +4 -6
- package/dist/esm/UnionBuilder.js +1 -1
- package/dist/esm/attributes/Constraints.d.ts +2 -2
- package/dist/esm/attributes/Constraints.js +2 -2
- package/dist/esm/attributes/TypeAttributes.js +2 -4
- package/dist/esm/input/CompressedJSON.d.ts +5 -5
- package/dist/esm/input/CompressedJSON.js +2 -1
- package/dist/esm/input/Inference.js +3 -1
- package/dist/esm/input/Inputs.js +1 -1
- package/dist/esm/input/JSONSchemaInput.d.ts +1 -1
- package/dist/esm/input/JSONSchemaInput.js +14 -12
- package/dist/esm/input/JSONSchemaStore.js +1 -1
- package/dist/esm/input/PostmanCollection.js +2 -2
- package/dist/esm/input/io/get-stream/buffer-stream.js +2 -0
- package/dist/esm/input/io/get-stream/index.js +3 -2
- package/dist/esm/language/All.d.ts +23 -0
- package/dist/esm/language/All.js +24 -0
- package/dist/esm/language/CJSON/CJSONRenderer.d.ts +1 -1
- package/dist/esm/language/CJSON/CJSONRenderer.js +131 -152
- package/dist/esm/language/CJSON/language.d.ts +6 -6
- package/dist/esm/language/CPlusPlus/CPlusPlusRenderer.js +7 -11
- package/dist/esm/language/CPlusPlus/language.d.ts +10 -7
- package/dist/esm/language/CPlusPlus/language.js +1 -0
- package/dist/esm/language/CPlusPlus/utils.d.ts +1 -1
- package/dist/esm/language/CPlusPlus/utils.js +2 -2
- package/dist/esm/language/CSharp/CSharpRenderer.js +7 -13
- package/dist/esm/language/CSharp/NewtonSoftCSharpRenderer.js +1 -3
- package/dist/esm/language/CSharp/SystemTextJsonCSharpRenderer.js +15 -17
- package/dist/esm/language/CSharp/language.d.ts +33 -33
- package/dist/esm/language/CSharp/language.js +2 -2
- package/dist/esm/language/Crystal/CrystalRenderer.d.ts +0 -3
- package/dist/esm/language/Crystal/CrystalRenderer.js +0 -4
- package/dist/esm/language/Crystal/language.d.ts +1 -1
- package/dist/esm/language/Crystal/utils.js +2 -2
- package/dist/esm/language/Dart/DartRenderer.js +6 -4
- package/dist/esm/language/Elixir/ElixirRenderer.js +8 -9
- package/dist/esm/language/Elm/ElmRenderer.js +2 -2
- package/dist/esm/language/Golang/GolangRenderer.js +4 -2
- package/dist/esm/language/JSONSchema/JSONSchemaRenderer.js +1 -0
- package/dist/esm/language/JSONSchema/language.d.ts +1 -1
- package/dist/esm/language/Java/JavaJacksonRenderer.d.ts +0 -5
- package/dist/esm/language/Java/JavaJacksonRenderer.js +11 -5
- package/dist/esm/language/Java/JavaRenderer.js +21 -8
- package/dist/esm/language/JavaScript/JavaScriptRenderer.js +5 -9
- package/dist/esm/language/JavaScriptPropTypes/JavaScriptPropTypesRenderer.js +13 -13
- package/dist/esm/language/Kotlin/KotlinJacksonRenderer.d.ts +0 -5
- package/dist/esm/language/Kotlin/KotlinJacksonRenderer.js +0 -3
- package/dist/esm/language/Kotlin/KotlinKlaxonRenderer.d.ts +0 -5
- package/dist/esm/language/Kotlin/KotlinKlaxonRenderer.js +0 -3
- package/dist/esm/language/Kotlin/KotlinXRenderer.d.ts +0 -5
- package/dist/esm/language/Kotlin/KotlinXRenderer.js +0 -3
- package/dist/esm/language/Kotlin/language.d.ts +1 -1
- package/dist/esm/language/Kotlin/utils.js +1 -1
- package/dist/esm/language/Objective-C/ObjectiveCRenderer.js +1 -1
- package/dist/esm/language/Objective-C/language.d.ts +1 -1
- package/dist/esm/language/Php/PhpRenderer.js +19 -19
- package/dist/esm/language/Pike/language.d.ts +1 -1
- package/dist/esm/language/Python/JSONPythonRenderer.js +6 -0
- package/dist/esm/language/Python/PythonRenderer.js +4 -10
- package/dist/esm/language/Ruby/RubyRenderer.js +7 -9
- package/dist/esm/language/Ruby/language.d.ts +1 -1
- package/dist/esm/language/Ruby/utils.d.ts +1 -1
- package/dist/esm/language/Ruby/utils.js +2 -2
- package/dist/esm/language/Rust/language.d.ts +2 -2
- package/dist/esm/language/Rust/utils.js +9 -7
- package/dist/esm/language/Scala3/CirceRenderer.d.ts +1 -1
- package/dist/esm/language/Scala3/CirceRenderer.js +1 -1
- package/dist/esm/language/Scala3/Scala3Renderer.js +2 -2
- package/dist/esm/language/Scala3/constants.d.ts +1 -1
- package/dist/esm/language/Scala3/language.d.ts +1 -1
- package/dist/esm/language/Scala3/utils.js +3 -3
- package/dist/esm/language/Smithy4s/Smithy4sRenderer.js +5 -9
- package/dist/esm/language/Smithy4s/constants.d.ts +1 -1
- package/dist/esm/language/Smithy4s/utils.js +2 -2
- package/dist/esm/language/Swift/SwiftRenderer.js +12 -16
- package/dist/esm/language/Swift/language.d.ts +3 -3
- package/dist/esm/language/Swift/utils.js +1 -1
- package/dist/esm/language/TypeScriptEffectSchema/TypeScriptEffectSchemaRenderer.d.ts +1 -1
- package/dist/esm/language/TypeScriptEffectSchema/TypeScriptEffectSchemaRenderer.js +5 -1
- package/dist/esm/language/TypeScriptEffectSchema/language.d.ts +1 -1
- package/dist/esm/language/TypeScriptFlow/TypeScriptFlowBaseRenderer.js +0 -1
- package/dist/esm/language/TypeScriptFlow/TypeScriptRenderer.js +1 -3
- package/dist/esm/language/TypeScriptFlow/language.d.ts +0 -1
- package/dist/esm/language/TypeScriptFlow/language.js +1 -9
- package/dist/esm/language/TypeScriptZod/TypeScriptZodRenderer.js +9 -6
- package/dist/esm/language/TypeScriptZod/language.d.ts +1 -1
- package/dist/esm/language/types.d.ts +9 -0
- package/dist/esm/rewrites/CombineClasses.js +4 -6
- package/dist/esm/rewrites/InferMaps.js +4 -4
- package/dist/esm/support/Strings.d.ts +1 -1
- package/dist/esm/support/Strings.js +38 -25
- package/dist/esm/support/Support.js +3 -3
- package/dist/input/CompressedJSON.d.ts +5 -5
- package/dist/input/CompressedJSON.js +2 -1
- package/dist/input/Inference.js +3 -1
- package/dist/input/Inputs.js +1 -1
- package/dist/input/JSONSchemaInput.d.ts +1 -1
- package/dist/input/JSONSchemaInput.js +13 -11
- package/dist/input/JSONSchemaStore.js +1 -1
- package/dist/input/PostmanCollection.js +2 -2
- package/dist/input/io/get-stream/buffer-stream.js +2 -0
- package/dist/input/io/get-stream/index.js +3 -2
- package/dist/language/All.d.ts +23 -0
- package/dist/language/All.js +24 -0
- package/dist/language/CJSON/CJSONRenderer.d.ts +1 -1
- package/dist/language/CJSON/CJSONRenderer.js +131 -152
- package/dist/language/CJSON/language.d.ts +6 -6
- package/dist/language/CPlusPlus/CPlusPlusRenderer.js +7 -11
- package/dist/language/CPlusPlus/language.d.ts +10 -7
- package/dist/language/CPlusPlus/language.js +1 -0
- package/dist/language/CPlusPlus/utils.d.ts +1 -1
- package/dist/language/CPlusPlus/utils.js +2 -2
- package/dist/language/CSharp/CSharpRenderer.js +7 -13
- package/dist/language/CSharp/NewtonSoftCSharpRenderer.js +1 -3
- package/dist/language/CSharp/SystemTextJsonCSharpRenderer.js +15 -17
- package/dist/language/CSharp/language.d.ts +33 -33
- package/dist/language/CSharp/language.js +2 -2
- package/dist/language/Crystal/CrystalRenderer.d.ts +0 -3
- package/dist/language/Crystal/CrystalRenderer.js +0 -4
- package/dist/language/Crystal/language.d.ts +1 -1
- package/dist/language/Crystal/utils.js +2 -2
- package/dist/language/Dart/DartRenderer.js +6 -4
- package/dist/language/Elixir/ElixirRenderer.js +8 -9
- package/dist/language/Elm/ElmRenderer.js +2 -2
- package/dist/language/Golang/GolangRenderer.js +4 -2
- package/dist/language/JSONSchema/JSONSchemaRenderer.js +1 -0
- package/dist/language/JSONSchema/language.d.ts +1 -1
- package/dist/language/Java/JavaJacksonRenderer.d.ts +0 -5
- package/dist/language/Java/JavaJacksonRenderer.js +11 -5
- package/dist/language/Java/JavaRenderer.js +21 -8
- package/dist/language/JavaScript/JavaScriptRenderer.js +5 -9
- package/dist/language/JavaScriptPropTypes/JavaScriptPropTypesRenderer.js +13 -13
- package/dist/language/Kotlin/KotlinJacksonRenderer.d.ts +0 -5
- package/dist/language/Kotlin/KotlinJacksonRenderer.js +0 -3
- package/dist/language/Kotlin/KotlinKlaxonRenderer.d.ts +0 -5
- package/dist/language/Kotlin/KotlinKlaxonRenderer.js +0 -3
- package/dist/language/Kotlin/KotlinXRenderer.d.ts +0 -5
- package/dist/language/Kotlin/KotlinXRenderer.js +0 -3
- package/dist/language/Kotlin/language.d.ts +1 -1
- package/dist/language/Kotlin/utils.js +1 -1
- package/dist/language/Objective-C/ObjectiveCRenderer.js +1 -1
- package/dist/language/Objective-C/language.d.ts +1 -1
- package/dist/language/Php/PhpRenderer.js +19 -19
- package/dist/language/Pike/language.d.ts +1 -1
- package/dist/language/Python/JSONPythonRenderer.js +6 -0
- package/dist/language/Python/PythonRenderer.js +4 -10
- package/dist/language/Ruby/RubyRenderer.js +7 -9
- package/dist/language/Ruby/language.d.ts +1 -1
- package/dist/language/Ruby/utils.d.ts +1 -1
- package/dist/language/Ruby/utils.js +2 -2
- package/dist/language/Rust/language.d.ts +2 -2
- package/dist/language/Rust/utils.js +9 -7
- package/dist/language/Scala3/CirceRenderer.d.ts +1 -1
- package/dist/language/Scala3/CirceRenderer.js +1 -1
- package/dist/language/Scala3/Scala3Renderer.js +2 -2
- package/dist/language/Scala3/constants.d.ts +1 -1
- package/dist/language/Scala3/language.d.ts +1 -1
- package/dist/language/Scala3/utils.js +3 -3
- package/dist/language/Smithy4s/Smithy4sRenderer.js +5 -9
- package/dist/language/Smithy4s/constants.d.ts +1 -1
- package/dist/language/Smithy4s/utils.js +2 -2
- package/dist/language/Swift/SwiftRenderer.js +12 -16
- package/dist/language/Swift/language.d.ts +3 -3
- package/dist/language/Swift/utils.js +1 -1
- package/dist/language/TypeScriptEffectSchema/TypeScriptEffectSchemaRenderer.d.ts +1 -1
- package/dist/language/TypeScriptEffectSchema/TypeScriptEffectSchemaRenderer.js +5 -1
- package/dist/language/TypeScriptEffectSchema/language.d.ts +1 -1
- package/dist/language/TypeScriptFlow/TypeScriptFlowBaseRenderer.js +0 -1
- package/dist/language/TypeScriptFlow/TypeScriptRenderer.js +1 -3
- package/dist/language/TypeScriptFlow/language.d.ts +0 -1
- package/dist/language/TypeScriptFlow/language.js +1 -9
- package/dist/language/TypeScriptZod/TypeScriptZodRenderer.js +9 -6
- package/dist/language/TypeScriptZod/language.d.ts +1 -1
- package/dist/language/types.d.ts +9 -0
- package/dist/rewrites/CombineClasses.js +4 -6
- package/dist/rewrites/InferMaps.js +4 -4
- package/dist/support/Strings.d.ts +1 -1
- package/dist/support/Strings.js +38 -25
- package/dist/support/Support.js +3 -6
- package/package.json +4 -5
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { type Declaration } from "./DeclarationIR.js";
|
|
2
2
|
import { DependencyName, type Name, type Namer, Namespace } from "./Naming.js";
|
|
3
|
-
import { type BlankLineConfig, type ForEachPosition,
|
|
3
|
+
import { type BlankLineConfig, type ForEachPosition, Renderer } from "./Renderer.js";
|
|
4
4
|
import { type Sourcelike } from "./Source.js";
|
|
5
5
|
import { type Comment, type CommentOptions } from "./support/Comments.js";
|
|
6
|
-
import type { TargetLanguage } from "./TargetLanguage.js";
|
|
7
6
|
import { type Transformation } from "./Transformers.js";
|
|
8
7
|
import { type ClassProperty, ClassType, EnumType, ObjectType, type Type, type TypeKind, UnionType } from "./Type/index.js";
|
|
9
8
|
export declare const topLevelNameOrder = 1;
|
|
@@ -34,7 +33,6 @@ export declare abstract class ConvenienceRenderer extends Renderer {
|
|
|
34
33
|
private _haveOptionalProperties;
|
|
35
34
|
private _cycleBreakerTypes?;
|
|
36
35
|
private _alphabetizeProperties;
|
|
37
|
-
constructor(targetLanguage: TargetLanguage, renderContext: RenderContext);
|
|
38
36
|
get topLevels(): ReadonlyMap<string, Type>;
|
|
39
37
|
/**
|
|
40
38
|
* Return an array of strings which are not allowed as names in the global
|
|
@@ -50,8 +50,8 @@ const assignedPropertyNamesAttributeKind = new TypeAttributes_js_1.TypeAttribute
|
|
|
50
50
|
const assignedMemberNamesAttributeKind = new TypeAttributes_js_1.TypeAttributeKind("assignedMemberNames");
|
|
51
51
|
const assignedCaseNamesAttributeKind = new TypeAttributes_js_1.TypeAttributeKind("assignedCaseNames");
|
|
52
52
|
class ConvenienceRenderer extends Renderer_js_1.Renderer {
|
|
53
|
-
constructor(
|
|
54
|
-
super(
|
|
53
|
+
constructor() {
|
|
54
|
+
super(...arguments);
|
|
55
55
|
this._alphabetizeProperties = false;
|
|
56
56
|
}
|
|
57
57
|
get topLevels() {
|
|
@@ -425,7 +425,7 @@ class ConvenienceRenderer extends Renderer_js_1.Renderer {
|
|
|
425
425
|
}
|
|
426
426
|
const typeNameForUnionMember = (t) => (0, TypeUtils_js_1.matchTypeExhaustive)(t, (_noneType) => {
|
|
427
427
|
return (0, Support_js_1.panic)("none type should have been replaced");
|
|
428
|
-
}, (_anyType) => "anything", (_nullType) => "null", (_boolType) => "bool", (_integerType) => "integer", (_doubleType) => "double", (_stringType) => "string", (arrayType) => typeNameForUnionMember(arrayType.items)
|
|
428
|
+
}, (_anyType) => "anything", (_nullType) => "null", (_boolType) => "bool", (_integerType) => "integer", (_doubleType) => "double", (_stringType) => "string", (arrayType) => `${typeNameForUnionMember(arrayType.items)}_array`, (classType) => lookup(this.nameForNamedType(classType)), (mapType) => `${typeNameForUnionMember(mapType.values)}_map`, (objectType) => {
|
|
429
429
|
(0, Support_js_1.assert)(this.targetLanguage.supportsFullObjectType, "Object type should have been replaced in `replaceObjectType`");
|
|
430
430
|
return lookup(this.nameForNamedType(objectType));
|
|
431
431
|
}, (_enumType) => "enum", (_unionType) => "union", (transformedType) => transformedType.kind.replace("-", "_"));
|
|
@@ -660,7 +660,7 @@ class ConvenienceRenderer extends Renderer_js_1.Renderer {
|
|
|
660
660
|
// A quote at the end of the line would merge with a closing
|
|
661
661
|
// `"""` emitted right after it. The quote needs escaping iff
|
|
662
662
|
// it's preceded by an even number of backslashes.
|
|
663
|
-
if (lineEnd
|
|
663
|
+
if (lineEnd === null || lineEnd === void 0 ? void 0 : lineEnd.startsWith('"')) {
|
|
664
664
|
const trailing = /(\\*)"$/.exec(escaped);
|
|
665
665
|
if (trailing !== null && trailing[1].length % 2 === 0) {
|
|
666
666
|
escaped = `${escaped.slice(0, -1)}\\"`;
|
package/dist/CycleBreaker.js
CHANGED
package/dist/DateTime.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable */
|
|
3
|
+
// Adapted from ajv:
|
|
3
4
|
// https://github.com/epoberezkin/ajv/blob/4d76c6fb813b136b6ec4fe74990bc97233d75dea/lib/compile/formats.js
|
|
5
|
+
//
|
|
6
|
+
// We deviate from ajv in that we recognize only strict RFC 3339 date-times:
|
|
7
|
+
// the date/time separator must be "T" (or "t"), not a space, and times must
|
|
8
|
+
// carry a timezone offset ("Z"/"z" or "+hh:mm"/"-hh:mm"). ajv accepted the
|
|
9
|
+
// lenient forms, which meant we inferred "date-time" for strings like
|
|
10
|
+
// "2013-06-15 21:10:28" that most target languages' date parsers reject.
|
|
4
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
12
|
exports.DefaultDateTimeRecognizer = void 0;
|
|
6
13
|
/*
|
|
@@ -28,8 +35,10 @@ SOFTWARE.
|
|
|
28
35
|
*/
|
|
29
36
|
const DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/;
|
|
30
37
|
const DAYS = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
31
|
-
|
|
32
|
-
const
|
|
38
|
+
// RFC 3339 full-time: the timezone offset is mandatory.
|
|
39
|
+
const TIME = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)$/i;
|
|
40
|
+
// RFC 3339 date-time: the separator must be "T" or "t", never a space.
|
|
41
|
+
const DATE_TIME_SEPARATOR = /t/i;
|
|
33
42
|
class DefaultDateTimeRecognizer {
|
|
34
43
|
isDate(str) {
|
|
35
44
|
// full-date from http://tools.ietf.org/html/rfc3339#section-5.6
|
package/dist/DeclarationIR.js
CHANGED
|
@@ -70,7 +70,7 @@ function replaceUnion(union, builder, forwardingRef, transformedTypes, debugPrin
|
|
|
70
70
|
const memberTypeRef = memberForKind(kind);
|
|
71
71
|
return new Transformers_js_1.DecodingTransformer(graph, memberTypeRef, consumer(memberTypeRef));
|
|
72
72
|
}
|
|
73
|
-
let maybeStringType
|
|
73
|
+
let maybeStringType;
|
|
74
74
|
function getStringType() {
|
|
75
75
|
if (maybeStringType === undefined) {
|
|
76
76
|
maybeStringType = builder.getStringType(TypeAttributes_js_1.emptyTypeAttributes, StringTypes_js_1.StringTypes.unrestricted);
|
package/dist/MarkovChain.js
CHANGED
|
@@ -56,7 +56,8 @@ function increment(t, seq, i) {
|
|
|
56
56
|
}
|
|
57
57
|
let st = t.arr[first];
|
|
58
58
|
if (st === null) {
|
|
59
|
-
|
|
59
|
+
st = makeTrie();
|
|
60
|
+
t.arr[first] = st;
|
|
60
61
|
}
|
|
61
62
|
if (typeof st !== "object") {
|
|
62
63
|
return (0, Support_js_1.panic)("Malformed trie");
|
|
@@ -91,9 +92,9 @@ function evaluateFull(mc, word) {
|
|
|
91
92
|
cp = 0.0001;
|
|
92
93
|
}
|
|
93
94
|
scores.push(cp);
|
|
94
|
-
p
|
|
95
|
+
p *= cp;
|
|
95
96
|
}
|
|
96
|
-
return [Math.pow(p, 1 / (word.length - depth + 1)), scores];
|
|
97
|
+
return [Math.pow(p, (1 / (word.length - depth + 1))), scores];
|
|
97
98
|
}
|
|
98
99
|
function evaluate(mc, word) {
|
|
99
100
|
return evaluateFull(mc, word)[0];
|
package/dist/Messages.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export type ErrorProperties = {
|
|
|
20
20
|
};
|
|
21
21
|
} | {
|
|
22
22
|
kind: "MiscUnicodeHighSurrogateWithoutLowSurrogate";
|
|
23
|
-
properties:
|
|
23
|
+
properties: Record<string, never>;
|
|
24
24
|
} | {
|
|
25
25
|
kind: "MiscInvalidMinMaxConstraint";
|
|
26
26
|
properties: {
|
|
@@ -93,30 +93,30 @@ export type ErrorProperties = {
|
|
|
93
93
|
} | {
|
|
94
94
|
kind: "SchemaRequiredMustBeStringOrStringArray";
|
|
95
95
|
properties: {
|
|
96
|
-
actual:
|
|
96
|
+
actual: unknown;
|
|
97
97
|
ref: Ref;
|
|
98
98
|
};
|
|
99
99
|
} | {
|
|
100
100
|
kind: "SchemaRequiredElementMustBeString";
|
|
101
101
|
properties: {
|
|
102
|
-
element:
|
|
102
|
+
element: unknown;
|
|
103
103
|
ref: Ref;
|
|
104
104
|
};
|
|
105
105
|
} | {
|
|
106
106
|
kind: "SchemaTypeMustBeStringOrStringArray";
|
|
107
107
|
properties: {
|
|
108
|
-
actual:
|
|
108
|
+
actual: unknown;
|
|
109
109
|
};
|
|
110
110
|
} | {
|
|
111
111
|
kind: "SchemaTypeElementMustBeString";
|
|
112
112
|
properties: {
|
|
113
|
-
element:
|
|
113
|
+
element: unknown;
|
|
114
114
|
ref: Ref;
|
|
115
115
|
};
|
|
116
116
|
} | {
|
|
117
117
|
kind: "SchemaArrayItemsMustBeStringOrArray";
|
|
118
118
|
properties: {
|
|
119
|
-
actual:
|
|
119
|
+
actual: unknown;
|
|
120
120
|
ref: Ref;
|
|
121
121
|
};
|
|
122
122
|
} | {
|
|
@@ -134,7 +134,7 @@ export type ErrorProperties = {
|
|
|
134
134
|
} | {
|
|
135
135
|
kind: "SchemaSetOperationCasesIsNotArray";
|
|
136
136
|
properties: {
|
|
137
|
-
cases:
|
|
137
|
+
cases: unknown;
|
|
138
138
|
operation: string;
|
|
139
139
|
ref: Ref;
|
|
140
140
|
};
|
|
@@ -184,7 +184,7 @@ export type ErrorProperties = {
|
|
|
184
184
|
};
|
|
185
185
|
} | {
|
|
186
186
|
kind: "GraphQLNoQueriesDefined";
|
|
187
|
-
properties:
|
|
187
|
+
properties: Record<string, never>;
|
|
188
188
|
} | {
|
|
189
189
|
kind: "DriverUnknownSourceLanguage";
|
|
190
190
|
properties: {
|
|
@@ -207,7 +207,7 @@ export type ErrorProperties = {
|
|
|
207
207
|
};
|
|
208
208
|
} | {
|
|
209
209
|
kind: "DriverNoGraphQLQueryGiven";
|
|
210
|
-
properties:
|
|
210
|
+
properties: Record<string, never>;
|
|
211
211
|
} | {
|
|
212
212
|
kind: "DriverNoGraphQLSchemaInDir";
|
|
213
213
|
properties: {
|
|
@@ -220,10 +220,10 @@ export type ErrorProperties = {
|
|
|
220
220
|
};
|
|
221
221
|
} | {
|
|
222
222
|
kind: "DriverSourceLangMustBeGraphQL";
|
|
223
|
-
properties:
|
|
223
|
+
properties: Record<string, never>;
|
|
224
224
|
} | {
|
|
225
225
|
kind: "DriverGraphQLSchemaNeeded";
|
|
226
|
-
properties:
|
|
226
|
+
properties: Record<string, never>;
|
|
227
227
|
} | {
|
|
228
228
|
kind: "DriverInputFileDoesNotExist";
|
|
229
229
|
properties: {
|
|
@@ -246,7 +246,7 @@ export type ErrorProperties = {
|
|
|
246
246
|
};
|
|
247
247
|
} | {
|
|
248
248
|
kind: "DriverNoLanguageOrExtension";
|
|
249
|
-
properties:
|
|
249
|
+
properties: Record<string, never>;
|
|
250
250
|
} | {
|
|
251
251
|
kind: "DriverCLIOptionParsingFailed";
|
|
252
252
|
properties: {
|
|
@@ -254,7 +254,7 @@ export type ErrorProperties = {
|
|
|
254
254
|
};
|
|
255
255
|
} | {
|
|
256
256
|
kind: "IRNoForwardDeclarableTypeInCycle";
|
|
257
|
-
properties:
|
|
257
|
+
properties: Record<string, never>;
|
|
258
258
|
} | {
|
|
259
259
|
kind: "IRTypeAttributesNotPropagated";
|
|
260
260
|
properties: {
|
|
@@ -263,7 +263,7 @@ export type ErrorProperties = {
|
|
|
263
263
|
};
|
|
264
264
|
} | {
|
|
265
265
|
kind: "IRNoEmptyUnions";
|
|
266
|
-
properties:
|
|
266
|
+
properties: Record<string, never>;
|
|
267
267
|
} | {
|
|
268
268
|
kind: "RendererUnknownOptionValue";
|
|
269
269
|
properties: {
|
package/dist/Messages.js
CHANGED
|
@@ -95,7 +95,7 @@ function messageError(kind, properties) {
|
|
|
95
95
|
else {
|
|
96
96
|
valueString = value;
|
|
97
97
|
}
|
|
98
|
-
userMessage = userMessage.replace(
|
|
98
|
+
userMessage = userMessage.replace(`\${${name}}`, valueString);
|
|
99
99
|
}
|
|
100
100
|
throw new QuickTypeError(message, kind, userMessage, properties);
|
|
101
101
|
}
|
package/dist/Renderer.js
CHANGED
|
@@ -24,14 +24,15 @@ function lineIndentation(line) {
|
|
|
24
24
|
indent = (indent / 4 + 1) * 4;
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
return { indent, text: line.
|
|
27
|
+
return { indent, text: line.slice(i) };
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
return { indent: 0, text: null };
|
|
31
31
|
}
|
|
32
32
|
class EmitContext {
|
|
33
33
|
constructor() {
|
|
34
|
-
this.
|
|
34
|
+
this._emitted = [];
|
|
35
|
+
this._currentEmitTarget = this._emitted;
|
|
35
36
|
this._numBlankLinesNeeded = 0;
|
|
36
37
|
this._preventBlankLine = true; // no blank lines at start of file
|
|
37
38
|
}
|
|
@@ -73,14 +73,8 @@ class BooleanOption extends Option {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
get cliDefinitions() {
|
|
76
|
-
const negated = Object.assign({}, this.definition, {
|
|
77
|
-
|
|
78
|
-
defaultValue: !this.definition.defaultValue,
|
|
79
|
-
});
|
|
80
|
-
const display = Object.assign({}, this.definition, {
|
|
81
|
-
name: `[no-]${this.name}`,
|
|
82
|
-
description: `${this.definition.description} (${this.definition.defaultValue ? "on" : "off"} by default)`,
|
|
83
|
-
});
|
|
76
|
+
const negated = Object.assign(Object.assign({}, this.definition), { name: `no-${this.name}`, defaultValue: !this.definition.defaultValue });
|
|
77
|
+
const display = Object.assign(Object.assign({}, this.definition), { name: `[no-]${this.name}`, description: `${this.definition.description} (${this.definition.defaultValue ? "on" : "off"} by default)` });
|
|
84
78
|
return {
|
|
85
79
|
display: [display],
|
|
86
80
|
actual: [this.definition, negated],
|
package/dist/Run.js
CHANGED
|
@@ -101,7 +101,7 @@ class Run {
|
|
|
101
101
|
constructor(options) {
|
|
102
102
|
// We must not overwrite defaults with undefined values, which
|
|
103
103
|
// we sometimes get.
|
|
104
|
-
this._options = Object.fromEntries(Object.entries(Object.assign({}, defaultOptions, Inference_js_1.defaultInferenceFlags)).map(([k, v]) => { var _a; return [k, (_a = options[k]) !== null && _a !== void 0 ? _a : v]; }));
|
|
104
|
+
this._options = Object.fromEntries(Object.entries(Object.assign(Object.assign({}, defaultOptions), Inference_js_1.defaultInferenceFlags)).map(([k, v]) => { var _a; return [k, (_a = options[k]) !== null && _a !== void 0 ? _a : v]; }));
|
|
105
105
|
}
|
|
106
106
|
get stringTypeMapping() {
|
|
107
107
|
const targetLanguage = getTargetLanguage(this._options.lang);
|
package/dist/Source.js
CHANGED
|
@@ -19,7 +19,7 @@ function newline() {
|
|
|
19
19
|
return { kind: "newline", indentationChange: 0 };
|
|
20
20
|
}
|
|
21
21
|
function sourcelikeToSource(sl) {
|
|
22
|
-
if (sl
|
|
22
|
+
if (Array.isArray(sl)) {
|
|
23
23
|
return {
|
|
24
24
|
kind: "sequence",
|
|
25
25
|
sequence: sl.map(sourcelikeToSource),
|
|
@@ -123,7 +123,7 @@ function serializeRenderResult(rootSource, names, indentation) {
|
|
|
123
123
|
serializeToStringArray(s);
|
|
124
124
|
}
|
|
125
125
|
break;
|
|
126
|
-
case "table":
|
|
126
|
+
case "table": {
|
|
127
127
|
const t = source.table;
|
|
128
128
|
const numRows = t.length;
|
|
129
129
|
if (numRows === 0)
|
|
@@ -158,7 +158,8 @@ function serializeRenderResult(rootSource, names, indentation) {
|
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
break;
|
|
161
|
-
|
|
161
|
+
}
|
|
162
|
+
case "annotated": {
|
|
162
163
|
const start = currentLocation();
|
|
163
164
|
serializeToStringArray(source.source);
|
|
164
165
|
const end = currentLocation();
|
|
@@ -167,24 +168,26 @@ function serializeRenderResult(rootSource, names, indentation) {
|
|
|
167
168
|
span: { start, end },
|
|
168
169
|
});
|
|
169
170
|
break;
|
|
171
|
+
}
|
|
170
172
|
case "name":
|
|
171
173
|
(0, Support_js_1.assert)(names.has(source.named), "No name for Named");
|
|
172
174
|
indentIfNeeded();
|
|
173
175
|
currentLine.push((0, Support_js_1.defined)(names.get(source.named)));
|
|
174
176
|
break;
|
|
175
|
-
case "modified":
|
|
177
|
+
case "modified": {
|
|
176
178
|
indentIfNeeded();
|
|
177
179
|
const serialized = serializeRenderResult(source.source, names, indentation).lines;
|
|
178
180
|
(0, Support_js_1.assert)(serialized.length === 1, "Cannot modify more than one line.");
|
|
179
181
|
currentLine.push(source.modifier(serialized[0]));
|
|
180
182
|
break;
|
|
183
|
+
}
|
|
181
184
|
default:
|
|
182
185
|
return (0, Support_js_1.assertNever)(source);
|
|
183
186
|
}
|
|
184
187
|
}
|
|
185
188
|
serializeToStringArray(rootSource);
|
|
186
189
|
finishLine();
|
|
187
|
-
return { lines, annotations
|
|
190
|
+
return { lines, annotations };
|
|
188
191
|
}
|
|
189
192
|
function singleWord(...source) {
|
|
190
193
|
return { source, needsParens: false };
|
package/dist/Transformers.js
CHANGED
|
@@ -43,9 +43,7 @@ class Transformer {
|
|
|
43
43
|
debugDescription() {
|
|
44
44
|
return `${debugStringForType(this.sourceType)} -> ${this.kind}`;
|
|
45
45
|
}
|
|
46
|
-
debugPrintContinuations(_indent) {
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
46
|
+
debugPrintContinuations(_indent) { }
|
|
49
47
|
debugPrint(indent) {
|
|
50
48
|
console.log((0, Support_js_1.indentationString)(indent) + this.debugDescription());
|
|
51
49
|
this.debugPrintContinuations(indent + 1);
|
package/dist/Type/Type.js
CHANGED
|
@@ -517,10 +517,8 @@ function setOperationCasesEqual(typesA, typesB, conflateNumbers, membersEqual) {
|
|
|
517
517
|
return false;
|
|
518
518
|
return (0, collection_utils_1.iterableEvery)(ma, (ta) => {
|
|
519
519
|
const tb = (0, collection_utils_1.iterableFind)(mb, (t) => t.kind === ta.kind);
|
|
520
|
-
if (tb !== undefined)
|
|
521
|
-
|
|
522
|
-
return true;
|
|
523
|
-
}
|
|
520
|
+
if (tb !== undefined && membersEqual(ta, tb))
|
|
521
|
+
return true;
|
|
524
522
|
if (conflateNumbers) {
|
|
525
523
|
if (ta.kind === "integer" &&
|
|
526
524
|
(0, collection_utils_1.iterableSome)(mb, (t) => t.kind === "double"))
|
package/dist/Type/TypeBuilder.js
CHANGED
|
@@ -56,7 +56,9 @@ class TypeBuilder {
|
|
|
56
56
|
assertTypeRefSetGraph(trefs) {
|
|
57
57
|
if (trefs === undefined)
|
|
58
58
|
return;
|
|
59
|
-
trefs.forEach((tref) =>
|
|
59
|
+
trefs.forEach((tref) => {
|
|
60
|
+
this.assertTypeRefGraph(tref);
|
|
61
|
+
});
|
|
60
62
|
}
|
|
61
63
|
filterTypeAttributes(t, attributes) {
|
|
62
64
|
const filtered = (0, collection_utils_1.mapFilter)(attributes, (_, k) => k.appliesToTypeKind(t.kind));
|
|
@@ -238,7 +240,9 @@ class TypeBuilder {
|
|
|
238
240
|
this.registerType(type);
|
|
239
241
|
}
|
|
240
242
|
modifyPropertiesIfNecessary(properties) {
|
|
241
|
-
properties.forEach((p) =>
|
|
243
|
+
properties.forEach((p) => {
|
|
244
|
+
this.assertTypeRefGraph(p.typeRef);
|
|
245
|
+
});
|
|
242
246
|
if (this.canonicalOrder) {
|
|
243
247
|
properties = (0, collection_utils_1.mapSortByKey)(properties);
|
|
244
248
|
}
|
|
@@ -284,8 +288,6 @@ class TypeBuilder {
|
|
|
284
288
|
type.setMembers(members);
|
|
285
289
|
this.registerType(type);
|
|
286
290
|
}
|
|
287
|
-
setLostTypeAttributes() {
|
|
288
|
-
return;
|
|
289
|
-
}
|
|
291
|
+
setLostTypeAttributes() { }
|
|
290
292
|
}
|
|
291
293
|
exports.TypeBuilder = TypeBuilder;
|
package/dist/Type/TypeGraph.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { type TypeRef } from "./TypeRef.js";
|
|
|
8
8
|
import { type SeparatedNamedTypes } from "./TypeUtils.js";
|
|
9
9
|
export declare class TypeAttributeStore {
|
|
10
10
|
private readonly _typeGraph;
|
|
11
|
-
private _values;
|
|
11
|
+
private readonly _values;
|
|
12
12
|
private readonly _topLevelValues;
|
|
13
13
|
constructor(_typeGraph: TypeGraph, _values: Array<TypeAttributes | undefined>);
|
|
14
14
|
private getTypeIndex;
|
package/dist/Type/TypeUtils.js
CHANGED
|
@@ -60,10 +60,8 @@ function setOperationMembersRecursively(oneOrMany, combinationKind) {
|
|
|
60
60
|
else if (includeAny || t.kind !== "any") {
|
|
61
61
|
members.add(t);
|
|
62
62
|
}
|
|
63
|
-
else {
|
|
64
|
-
|
|
65
|
-
attributes = (0, TypeAttributes_js_1.combineTypeAttributes)(combinationKind, attributes, t.getAttributes());
|
|
66
|
-
}
|
|
63
|
+
else if (combinationKind !== undefined) {
|
|
64
|
+
attributes = (0, TypeAttributes_js_1.combineTypeAttributes)(combinationKind, attributes, t.getAttributes());
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
67
|
for (const so of setOperations) {
|
|
@@ -77,10 +75,8 @@ function makeGroupsToFlatten(setOperations, include) {
|
|
|
77
75
|
// FIXME: We shouldn't have to make a new set here once we got rid
|
|
78
76
|
// of immutable.
|
|
79
77
|
const members = new Set(setOperationMembersRecursively(u, undefined)[0]);
|
|
80
|
-
if (include !== undefined)
|
|
81
|
-
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
78
|
+
if (include !== undefined && !include(members))
|
|
79
|
+
continue;
|
|
84
80
|
let maybeSet = typeGroups.get(members);
|
|
85
81
|
if (maybeSet === undefined) {
|
|
86
82
|
maybeSet = new Set();
|
|
@@ -224,8 +220,6 @@ function matchType(type, anyType, nullType, boolType, integerType, doubleType, s
|
|
|
224
220
|
return matchTypeExhaustive(type, typeNotSupported, anyType, nullType, boolType, integerType, doubleType, stringType, arrayType, classType, mapType, typeNotSupported, enumType, unionType, transformedStringType !== null && transformedStringType !== void 0 ? transformedStringType : typeNotSupported);
|
|
225
221
|
}
|
|
226
222
|
function matchCompoundType(t, arrayType, classType, mapType, objectType, unionType) {
|
|
227
|
-
function ignore(_) {
|
|
228
|
-
return;
|
|
229
|
-
}
|
|
223
|
+
function ignore(_) { }
|
|
230
224
|
matchTypeExhaustive(t, ignore, ignore, ignore, ignore, ignore, ignore, ignore, arrayType, classType, mapType, objectType, ignore, unionType, ignore);
|
|
231
225
|
}
|
package/dist/UnifyClasses.js
CHANGED
|
@@ -17,7 +17,7 @@ function getCliqueProperties(clique, builder, makePropertyType) {
|
|
|
17
17
|
(0, collection_utils_1.setUnionInto)(propertyNames, o.getProperties().keys());
|
|
18
18
|
}
|
|
19
19
|
const properties = Array.from(propertyNames).map((name) => [name, new Set(), false]);
|
|
20
|
-
let additionalProperties
|
|
20
|
+
let additionalProperties;
|
|
21
21
|
for (const o of clique) {
|
|
22
22
|
const additional = o.getAdditionalProperties();
|
|
23
23
|
if (additional !== undefined) {
|
|
@@ -28,10 +28,8 @@ function getCliqueProperties(clique, builder, makePropertyType) {
|
|
|
28
28
|
additionalProperties.add(additional);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
for (let i = 0; i < properties.length; i++) {
|
|
34
|
-
let [name, types, isOptional] = properties[i];
|
|
31
|
+
for (const property of properties) {
|
|
32
|
+
let [name, types, isOptional] = property;
|
|
35
33
|
const maybeProperty = o.getProperties().get(name);
|
|
36
34
|
if (maybeProperty === undefined) {
|
|
37
35
|
isOptional = true;
|
|
@@ -45,7 +43,7 @@ function getCliqueProperties(clique, builder, makePropertyType) {
|
|
|
45
43
|
}
|
|
46
44
|
types.add(maybeProperty.type);
|
|
47
45
|
}
|
|
48
|
-
|
|
46
|
+
property[2] = isOptional;
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
49
|
const unifiedAdditionalProperties = additionalProperties === undefined
|
package/dist/UnionBuilder.js
CHANGED
|
@@ -60,7 +60,7 @@ class UnionAccumulator {
|
|
|
60
60
|
addAttributesToBuilder(this._nonStringTypeAttributes, kind, attributes);
|
|
61
61
|
}
|
|
62
62
|
addFullStringType(attributes, stringTypes) {
|
|
63
|
-
let stringTypesAttributes
|
|
63
|
+
let stringTypesAttributes;
|
|
64
64
|
if (stringTypes === undefined) {
|
|
65
65
|
stringTypes =
|
|
66
66
|
StringTypes_js_1.stringTypesTypeAttributeKind.tryGetInAttributes(attributes);
|
|
@@ -5,8 +5,8 @@ import { TypeAttributeKind } from "./TypeAttributes.js";
|
|
|
5
5
|
export type MinMaxConstraint = [number | undefined, number | undefined];
|
|
6
6
|
export declare class MinMaxConstraintTypeAttributeKind extends TypeAttributeKind<MinMaxConstraint> {
|
|
7
7
|
private readonly _typeKinds;
|
|
8
|
-
private _minSchemaProperty;
|
|
9
|
-
private _maxSchemaProperty;
|
|
8
|
+
private readonly _minSchemaProperty;
|
|
9
|
+
private readonly _maxSchemaProperty;
|
|
10
10
|
constructor(name: string, _typeKinds: Set<TypeKind>, _minSchemaProperty: string, _maxSchemaProperty: string);
|
|
11
11
|
get inIdentity(): boolean;
|
|
12
12
|
combine(arr: MinMaxConstraint[]): MinMaxConstraint | undefined;
|
|
@@ -94,8 +94,8 @@ exports.minMaxLengthTypeAttributeKind = new MinMaxConstraintTypeAttributeKind("m
|
|
|
94
94
|
function producer(schema, minProperty, maxProperty) {
|
|
95
95
|
if (!(typeof schema === "object"))
|
|
96
96
|
return undefined;
|
|
97
|
-
let min
|
|
98
|
-
let max
|
|
97
|
+
let min;
|
|
98
|
+
let max;
|
|
99
99
|
if (typeof schema[minProperty] === "number") {
|
|
100
100
|
min = schema[minProperty];
|
|
101
101
|
}
|
|
@@ -25,9 +25,7 @@ class TypeAttributeKind {
|
|
|
25
25
|
increaseDistance(attrs) {
|
|
26
26
|
return attrs;
|
|
27
27
|
}
|
|
28
|
-
addToSchema(_schema, _t, _attrs) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
28
|
+
addToSchema(_schema, _t, _attrs) { }
|
|
31
29
|
children(_) {
|
|
32
30
|
return new Set();
|
|
33
31
|
}
|
|
@@ -98,7 +96,7 @@ function combineTypeAttributes(combinationKind, firstOrArray, second) {
|
|
|
98
96
|
}
|
|
99
97
|
const attributesByKind = (0, collection_utils_1.mapTranspose)(attributeArray);
|
|
100
98
|
// FIXME: strongly type this
|
|
101
|
-
//
|
|
99
|
+
// biome-ignore lint/suspicious/noExplicitAny: heterogeneous by design; attribute values are typed by their kind
|
|
102
100
|
function combine(attrs, kind) {
|
|
103
101
|
(0, Support_js_1.assert)(attrs.length > 0, "Cannot combine zero type attributes");
|
|
104
102
|
if (attrs.length === 1)
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { type Declaration } from "./DeclarationIR.js";
|
|
2
2
|
import { DependencyName, type Name, type Namer, Namespace } from "./Naming.js";
|
|
3
|
-
import { type BlankLineConfig, type ForEachPosition,
|
|
3
|
+
import { type BlankLineConfig, type ForEachPosition, Renderer } from "./Renderer.js";
|
|
4
4
|
import { type Sourcelike } from "./Source.js";
|
|
5
5
|
import { type Comment, type CommentOptions } from "./support/Comments.js";
|
|
6
|
-
import type { TargetLanguage } from "./TargetLanguage.js";
|
|
7
6
|
import { type Transformation } from "./Transformers.js";
|
|
8
7
|
import { type ClassProperty, ClassType, EnumType, ObjectType, type Type, type TypeKind, UnionType } from "./Type/index.js";
|
|
9
8
|
export declare const topLevelNameOrder = 1;
|
|
@@ -34,7 +33,6 @@ export declare abstract class ConvenienceRenderer extends Renderer {
|
|
|
34
33
|
private _haveOptionalProperties;
|
|
35
34
|
private _cycleBreakerTypes?;
|
|
36
35
|
private _alphabetizeProperties;
|
|
37
|
-
constructor(targetLanguage: TargetLanguage, renderContext: RenderContext);
|
|
38
36
|
get topLevels(): ReadonlyMap<string, Type>;
|
|
39
37
|
/**
|
|
40
38
|
* Return an array of strings which are not allowed as names in the global
|
|
@@ -44,8 +44,8 @@ const assignedPropertyNamesAttributeKind = new TypeAttributeKind("assignedProper
|
|
|
44
44
|
const assignedMemberNamesAttributeKind = new TypeAttributeKind("assignedMemberNames");
|
|
45
45
|
const assignedCaseNamesAttributeKind = new TypeAttributeKind("assignedCaseNames");
|
|
46
46
|
export class ConvenienceRenderer extends Renderer {
|
|
47
|
-
constructor(
|
|
48
|
-
super(
|
|
47
|
+
constructor() {
|
|
48
|
+
super(...arguments);
|
|
49
49
|
this._alphabetizeProperties = false;
|
|
50
50
|
}
|
|
51
51
|
get topLevels() {
|
|
@@ -419,7 +419,7 @@ export class ConvenienceRenderer extends Renderer {
|
|
|
419
419
|
}
|
|
420
420
|
const typeNameForUnionMember = (t) => matchTypeExhaustive(t, (_noneType) => {
|
|
421
421
|
return panic("none type should have been replaced");
|
|
422
|
-
}, (_anyType) => "anything", (_nullType) => "null", (_boolType) => "bool", (_integerType) => "integer", (_doubleType) => "double", (_stringType) => "string", (arrayType) => typeNameForUnionMember(arrayType.items)
|
|
422
|
+
}, (_anyType) => "anything", (_nullType) => "null", (_boolType) => "bool", (_integerType) => "integer", (_doubleType) => "double", (_stringType) => "string", (arrayType) => `${typeNameForUnionMember(arrayType.items)}_array`, (classType) => lookup(this.nameForNamedType(classType)), (mapType) => `${typeNameForUnionMember(mapType.values)}_map`, (objectType) => {
|
|
423
423
|
assert(this.targetLanguage.supportsFullObjectType, "Object type should have been replaced in `replaceObjectType`");
|
|
424
424
|
return lookup(this.nameForNamedType(objectType));
|
|
425
425
|
}, (_enumType) => "enum", (_unionType) => "union", (transformedType) => transformedType.kind.replace("-", "_"));
|
|
@@ -654,7 +654,7 @@ export class ConvenienceRenderer extends Renderer {
|
|
|
654
654
|
// A quote at the end of the line would merge with a closing
|
|
655
655
|
// `"""` emitted right after it. The quote needs escaping iff
|
|
656
656
|
// it's preceded by an even number of backslashes.
|
|
657
|
-
if (lineEnd
|
|
657
|
+
if (lineEnd === null || lineEnd === void 0 ? void 0 : lineEnd.startsWith('"')) {
|
|
658
658
|
const trailing = /(\\*)"$/.exec(escaped);
|
|
659
659
|
if (trailing !== null && trailing[1].length % 2 === 0) {
|
|
660
660
|
escaped = `${escaped.slice(0, -1)}\\"`;
|
package/dist/esm/CycleBreaker.js
CHANGED
package/dist/esm/DateTime.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
/* eslint-disable */
|
|
2
|
+
// Adapted from ajv:
|
|
2
3
|
// https://github.com/epoberezkin/ajv/blob/4d76c6fb813b136b6ec4fe74990bc97233d75dea/lib/compile/formats.js
|
|
4
|
+
//
|
|
5
|
+
// We deviate from ajv in that we recognize only strict RFC 3339 date-times:
|
|
6
|
+
// the date/time separator must be "T" (or "t"), not a space, and times must
|
|
7
|
+
// carry a timezone offset ("Z"/"z" or "+hh:mm"/"-hh:mm"). ajv accepted the
|
|
8
|
+
// lenient forms, which meant we inferred "date-time" for strings like
|
|
9
|
+
// "2013-06-15 21:10:28" that most target languages' date parsers reject.
|
|
3
10
|
/*
|
|
4
11
|
The MIT License (MIT)
|
|
5
12
|
|
|
@@ -25,8 +32,10 @@ SOFTWARE.
|
|
|
25
32
|
*/
|
|
26
33
|
const DATE = /^(\d\d\d\d)-(\d\d)-(\d\d)$/;
|
|
27
34
|
const DAYS = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
|
|
28
|
-
|
|
29
|
-
const
|
|
35
|
+
// RFC 3339 full-time: the timezone offset is mandatory.
|
|
36
|
+
const TIME = /^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d:\d\d)$/i;
|
|
37
|
+
// RFC 3339 date-time: the separator must be "T" or "t", never a space.
|
|
38
|
+
const DATE_TIME_SEPARATOR = /t/i;
|
|
30
39
|
export class DefaultDateTimeRecognizer {
|
|
31
40
|
isDate(str) {
|
|
32
41
|
// full-date from http://tools.ietf.org/html/rfc3339#section-5.6
|
|
@@ -67,7 +67,7 @@ function replaceUnion(union, builder, forwardingRef, transformedTypes, debugPrin
|
|
|
67
67
|
const memberTypeRef = memberForKind(kind);
|
|
68
68
|
return new DecodingTransformer(graph, memberTypeRef, consumer(memberTypeRef));
|
|
69
69
|
}
|
|
70
|
-
let maybeStringType
|
|
70
|
+
let maybeStringType;
|
|
71
71
|
function getStringType() {
|
|
72
72
|
if (maybeStringType === undefined) {
|
|
73
73
|
maybeStringType = builder.getStringType(emptyTypeAttributes, StringTypes.unrestricted);
|