@hey-api/openapi-ts 0.90.2 → 0.90.4

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,5 +1,6 @@
1
1
 
2
- import { AnalysisContext, BindingKind, ExportModule, File, FromRef, IProject, ImportModule, Language, NameConflictResolver, Node, NodeName as NodeName$1, NodeNameSanitizer, NodeRelationship, NodeScope, Project, Ref, Refs, RenderContext, Renderer, StructureLocation, Symbol, SymbolIdentifier, SymbolIn, SymbolMeta } from "@hey-api/codegen-core";
2
+ import * as _hey_api_codegen_core0 from "@hey-api/codegen-core";
3
+ import { AnalysisContext, BindingKind, ExportModule, File, FromRef, IProject, ImportModule, Language, NameConflictResolver, Node, NodeName, NodeNameSanitizer, NodeRelationship, NodeScope, Project, Ref, Refs, RenderContext, Renderer, StructureLocation, Symbol, SymbolIdentifier, SymbolIn, SymbolMeta } from "@hey-api/codegen-core";
3
4
  import ts from "typescript";
4
5
  import { RangeOptions, SemVer } from "semver";
5
6
  import { HttpClient, HttpErrorResponse, HttpHeaders, HttpRequest, HttpResponse } from "@angular/common/http";
@@ -173,8 +174,6 @@ type SourceConfig = FeatureToggle & {
173
174
  };
174
175
  //#endregion
175
176
  //#region src/config/output/types.d.ts
176
- type Formatters = 'biome' | 'prettier';
177
- type Linters = 'biome' | 'eslint' | 'oxlint';
178
177
  type ImportFileExtensions = '.js' | '.ts';
179
178
  type Header$1 = MaybeFunc$1<(ctx: RenderContext) => MaybeArray$1<string> | null | undefined>;
180
179
  type UserOutput = {
@@ -231,6 +230,7 @@ type UserOutput = {
231
230
  * Which formatter to use to process output folder?
232
231
  *
233
232
  * @default null
233
+ * @deprecated Use `postProcess` instead.
234
234
  */
235
235
  format?: Formatters | null;
236
236
  /**
@@ -258,6 +258,7 @@ type UserOutput = {
258
258
  * Which linter to use to process output folder?
259
259
  *
260
260
  * @default null
261
+ * @deprecated Use `postProcess` instead.
261
262
  */
262
263
  lint?: Linters | null;
263
264
  /**
@@ -269,6 +270,18 @@ type UserOutput = {
269
270
  * The absolute path to the output folder.
270
271
  */
271
272
  path: string;
273
+ /**
274
+ * Post-processing commands to run on the output folder, executed in order.
275
+ *
276
+ * Use preset strings for common tools, or provide custom configurations.
277
+ *
278
+ * @example ['biome:lint', 'prettier']
279
+ * @example [{ command: 'dprint', args: ['fmt', '{{path}}'] }]
280
+ * @example ['eslint', { command: 'prettier', args: ['{{path}}', '--write'] }]
281
+ *
282
+ * @default []
283
+ */
284
+ postProcess?: ReadonlyArray<PostProcessorPreset | UserPostProcessor>;
272
285
  /**
273
286
  * Whether `export * from 'module'` should be used when possible
274
287
  * instead of named exports.
@@ -368,6 +381,10 @@ type Output = {
368
381
  * The absolute path to the output folder.
369
382
  */
370
383
  path: string;
384
+ /**
385
+ * Post-processing commands to run on the output folder, executed in order.
386
+ */
387
+ postProcess: ReadonlyArray<PostProcessor>;
371
388
  /**
372
389
  * Whether `export * from 'module'` should be used when possible
373
390
  * instead of named exports.
@@ -395,6 +412,80 @@ type Output = {
395
412
  tsConfigPath: (string & {}) | null | undefined;
396
413
  };
397
414
  //#endregion
415
+ //#region src/config/output/postprocess.d.ts
416
+ /**
417
+ * @deprecated Use `PostProcessorPreset` instead.
418
+ */
419
+ type Formatters = 'biome' | 'prettier';
420
+ /**
421
+ * @deprecated Use `PostProcessorPreset` instead.
422
+ */
423
+ type Linters = 'biome' | 'eslint' | 'oxlint';
424
+ type UserPostProcessor = {
425
+ /**
426
+ * Arguments to pass to the command. Use `{{path}}` as a placeholder
427
+ * for the output directory path.
428
+ *
429
+ * @example ['format', '--write', '{{path}}']
430
+ */
431
+ args: ReadonlyArray<string>;
432
+ /**
433
+ * The command to run (e.g., 'biome', 'prettier', 'eslint').
434
+ */
435
+ command: string;
436
+ /**
437
+ * Display name for logging. Defaults to the command name.
438
+ */
439
+ name?: string;
440
+ };
441
+ type PostProcessor = {
442
+ /**
443
+ * Arguments to pass to the command.
444
+ */
445
+ args: ReadonlyArray<string>;
446
+ /**
447
+ * The command to run.
448
+ */
449
+ command: string;
450
+ /**
451
+ * Display name for logging.
452
+ */
453
+ name: string;
454
+ };
455
+ declare const postProcessors: {
456
+ readonly 'biome:format': {
457
+ readonly args: readonly ["format", "--write", "{{path}}"];
458
+ readonly command: "biome";
459
+ readonly name: "Biome (Format)";
460
+ };
461
+ readonly 'biome:lint': {
462
+ readonly args: readonly ["lint", "--apply", "{{path}}"];
463
+ readonly command: "biome";
464
+ readonly name: "Biome (Lint)";
465
+ };
466
+ readonly eslint: {
467
+ readonly args: readonly ["{{path}}", "--fix"];
468
+ readonly command: "eslint";
469
+ readonly name: "ESLint";
470
+ };
471
+ readonly oxfmt: {
472
+ readonly args: readonly ["{{path}}"];
473
+ readonly command: "oxfmt";
474
+ readonly name: "Oxfmt";
475
+ };
476
+ readonly oxlint: {
477
+ readonly args: readonly ["--fix", "{{path}}"];
478
+ readonly command: "oxlint";
479
+ readonly name: "Oxlint";
480
+ };
481
+ readonly prettier: {
482
+ readonly args: readonly ["--ignore-unknown", "{{path}}", "--write", "--ignore-path", "./.prettierignore"];
483
+ readonly command: "prettier";
484
+ readonly name: "Prettier";
485
+ };
486
+ };
487
+ type PostProcessorPreset = keyof typeof postProcessors;
488
+ //#endregion
398
489
  //#region src/openApi/shared/types/openapi-spec-extensions.d.ts
399
490
  type LinguistLanguages = 'C' | 'C#' | 'C++' | 'CoffeeScript' | 'CSS' | 'Dart' | 'DM' | 'Elixir' | 'Go' | 'Groovy' | 'HTML' | 'Java' | 'JavaScript' | 'Kotlin' | 'Objective-C' | 'Perl' | 'PHP' | 'PowerShell' | 'Python' | 'Ruby' | 'Rust' | 'Scala' | 'Shell' | 'Swift' | 'TypeScript';
400
491
  interface CodeSampleObject {
@@ -3735,7 +3826,7 @@ type DropFirst<T extends Array<any>> = T extends [any, ...infer Rest] ? Rest : n
3735
3826
  type MixinCtor<T extends BaseCtor<any>, K$1> = abstract new (...args: Array<any>) => InstanceType<T> & K$1;
3736
3827
  //#endregion
3737
3828
  //#region src/ts-dsl/mixins/type-args.d.ts
3738
- type Arg$1 = NodeName$1 | MaybeTsDsl<TypeTsDsl>;
3829
+ type Arg$1 = NodeName | MaybeTsDsl<TypeTsDsl>;
3739
3830
  interface TypeArgsMethods extends Node {
3740
3831
  /** Returns the type arguments as an array of ts.TypeNode nodes. */
3741
3832
  $generics(): ReadonlyArray<ts.TypeNode> | undefined;
@@ -3752,8 +3843,8 @@ interface AsMethods extends Node {
3752
3843
  }
3753
3844
  //#endregion
3754
3845
  //#region src/ts-dsl/expr/as.d.ts
3755
- type AsExpr = NodeName$1 | MaybeTsDsl<ts.Expression>;
3756
- type AsType = NodeName$1 | TypeTsDsl;
3846
+ type AsExpr = NodeName | MaybeTsDsl<ts.Expression>;
3847
+ type AsType = NodeName | TypeTsDsl;
3757
3848
  type AsCtor = (expr: AsExpr, type: AsType) => AsTsDsl;
3758
3849
  declare const Mixed$52: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.AsExpression>, ExprMethods>, AsMethods>;
3759
3850
  declare class AsTsDsl extends Mixed$52 {
@@ -3775,7 +3866,7 @@ interface OptionalMethods extends Node {
3775
3866
  }
3776
3867
  //#endregion
3777
3868
  //#region src/ts-dsl/expr/binary.d.ts
3778
- type Expr$3 = NodeName$1 | MaybeTsDsl<ts.Expression>;
3869
+ type Expr$3 = NodeName | MaybeTsDsl<ts.Expression>;
3779
3870
  type Op$1 = Operator | ts.BinaryOperator;
3780
3871
  type Operator = '!=' | '!==' | '&&' | '*' | '+' | '-' | '/' | '<' | '<=' | '=' | '==' | '===' | '>' | '>=' | '??' | '??=' | '||';
3781
3872
  declare const Mixed$51: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.BinaryExpression>, ExprMethods>, AsMethods>;
@@ -3827,7 +3918,7 @@ declare class BinaryTsDsl extends Mixed$51 {
3827
3918
  }
3828
3919
  //#endregion
3829
3920
  //#region src/ts-dsl/mixins/operator.d.ts
3830
- type Expr$2 = NodeName$1 | MaybeTsDsl<ts.Expression>;
3921
+ type Expr$2 = NodeName | MaybeTsDsl<ts.Expression>;
3831
3922
  interface OperatorMethods extends Node {
3832
3923
  /** Logical AND — `this && expr` */
3833
3924
  and(expr: Expr$2): BinaryTsDsl;
@@ -3866,19 +3957,19 @@ interface OperatorMethods extends Node {
3866
3957
  }
3867
3958
  //#endregion
3868
3959
  //#region src/ts-dsl/expr/attr.d.ts
3869
- type AttrLeft = NodeName$1 | MaybeTsDsl<ts.Expression>;
3870
- type AttrCtor = (left: AttrLeft, right: NodeName$1) => AttrTsDsl;
3960
+ type AttrLeft = NodeName | MaybeTsDsl<ts.Expression>;
3961
+ type AttrCtor = (left: AttrLeft, right: NodeName) => AttrTsDsl;
3871
3962
  declare const Mixed$50: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.PropertyAccessExpression | ts.ElementAccessExpression>, OptionalMethods>, OperatorMethods>, ExprMethods>, AsMethods>;
3872
3963
  declare class AttrTsDsl extends Mixed$50 {
3873
3964
  readonly '~dsl' = "AttrTsDsl";
3874
3965
  protected left: Ref<AttrLeft>;
3875
- constructor(left: AttrLeft, right: NodeName$1);
3966
+ constructor(left: AttrLeft, right: NodeName);
3876
3967
  analyze(ctx: AnalysisContext): void;
3877
3968
  toAst(): ts.PropertyAccessExpression | ts.ElementAccessExpression;
3878
3969
  }
3879
3970
  //#endregion
3880
3971
  //#region src/ts-dsl/expr/await.d.ts
3881
- type AwaitExpr = NodeName$1 | MaybeTsDsl<ts.Expression>;
3972
+ type AwaitExpr = NodeName | MaybeTsDsl<ts.Expression>;
3882
3973
  type AwaitCtor = (expr: AwaitExpr) => AwaitTsDsl;
3883
3974
  declare const Mixed$49: MixinCtor<abstract new () => TsDsl<ts.AwaitExpression>, ExprMethods>;
3884
3975
  declare class AwaitTsDsl extends Mixed$49 {
@@ -3890,7 +3981,7 @@ declare class AwaitTsDsl extends Mixed$49 {
3890
3981
  }
3891
3982
  //#endregion
3892
3983
  //#region src/ts-dsl/mixins/args.d.ts
3893
- type Arg = NodeName$1 | MaybeTsDsl<ts.Expression>;
3984
+ type Arg = NodeName | MaybeTsDsl<ts.Expression>;
3894
3985
  interface ArgsMethods extends Node {
3895
3986
  /** Renders the arguments into an array of `Expression`s. */
3896
3987
  $args(): ReadonlyArray<ts.Expression>;
@@ -3902,7 +3993,7 @@ interface ArgsMethods extends Node {
3902
3993
  //#endregion
3903
3994
  //#region src/ts-dsl/expr/new.d.ts
3904
3995
  type NewArgs = ReadonlyArray<NewExpr | undefined>;
3905
- type NewExpr = NodeName$1 | MaybeTsDsl<ts.Expression>;
3996
+ type NewExpr = NodeName | MaybeTsDsl<ts.Expression>;
3906
3997
  type NewCtor = (expr: NewExpr, ...args: NewArgs) => NewTsDsl;
3907
3998
  declare const Mixed$48: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.NewExpression>, TypeArgsMethods>, ExprMethods>, AsMethods>, ArgsMethods>;
3908
3999
  declare class NewTsDsl extends Mixed$48 {
@@ -3926,7 +4017,7 @@ declare class TypeOfExprTsDsl extends Mixed$47 {
3926
4017
  }
3927
4018
  //#endregion
3928
4019
  //#region src/ts-dsl/stmt/return.d.ts
3929
- type ReturnExpr = NodeName$1 | MaybeTsDsl<ts.Expression>;
4020
+ type ReturnExpr = NodeName | MaybeTsDsl<ts.Expression>;
3930
4021
  type ReturnCtor = (expr?: ReturnExpr) => ReturnTsDsl;
3931
4022
  declare const Mixed$46: abstract new () => TsDsl<ts.ReturnStatement>;
3932
4023
  declare class ReturnTsDsl extends Mixed$46 {
@@ -3956,8 +4047,8 @@ interface TypeExprMethods extends Node {
3956
4047
  }
3957
4048
  //#endregion
3958
4049
  //#region src/ts-dsl/type/attr.d.ts
3959
- type Base$1 = NodeName$1 | MaybeTsDsl<ts.EntityName>;
3960
- type Right = NodeName$1 | ts.Identifier;
4050
+ type Base$1 = NodeName | MaybeTsDsl<ts.EntityName>;
4051
+ type Right = NodeName | ts.Identifier;
3961
4052
  declare const Mixed$45: MixinCtor<abstract new () => TsDsl<ts.QualifiedName>, TypeExprMethods>;
3962
4053
  declare class TypeAttrTsDsl extends Mixed$45 {
3963
4054
  readonly '~dsl' = "TypeAttrTsDsl";
@@ -3973,9 +4064,9 @@ declare class TypeAttrTsDsl extends Mixed$45 {
3973
4064
  }
3974
4065
  //#endregion
3975
4066
  //#region src/ts-dsl/type/expr.d.ts
3976
- type TypeExprExpr = NodeName$1 | TypeAttrTsDsl;
4067
+ type TypeExprExpr = NodeName | TypeAttrTsDsl;
3977
4068
  type TypeExprFn = (t: TypeExprTsDsl) => void;
3978
- type TypeExprCtor = (nameOrFn?: NodeName$1 | TypeExprFn, fn?: TypeExprFn) => TypeExprTsDsl;
4069
+ type TypeExprCtor = (nameOrFn?: NodeName | TypeExprFn, fn?: TypeExprFn) => TypeExprTsDsl;
3979
4070
  declare const Mixed$44: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.TypeReferenceNode>, TypeExprMethods>, TypeArgsMethods>;
3980
4071
  declare class TypeExprTsDsl extends Mixed$44 {
3981
4072
  readonly '~dsl' = "TypeExprTsDsl";
@@ -3983,8 +4074,8 @@ declare class TypeExprTsDsl extends Mixed$44 {
3983
4074
  protected _exprInput?: Ref<TypeExprExpr>;
3984
4075
  constructor();
3985
4076
  constructor(fn: TypeExprFn);
3986
- constructor(name: NodeName$1);
3987
- constructor(name: NodeName$1, fn?: TypeExprFn);
4077
+ constructor(name: NodeName);
4078
+ constructor(name: NodeName, fn?: TypeExprFn);
3988
4079
  analyze(ctx: AnalysisContext): void;
3989
4080
  /** Accesses a nested type (e.g. `Foo.Bar`). */
3990
4081
  attr(right: string | ts.Identifier | TypeAttrTsDsl): this;
@@ -4112,7 +4203,7 @@ interface ExprMethods extends Node {
4112
4203
  //#endregion
4113
4204
  //#region src/ts-dsl/expr/call.d.ts
4114
4205
  type CallArgs = ReadonlyArray<CallExpr | undefined>;
4115
- type CallExpr = NodeName$1 | MaybeTsDsl<ts.Expression>;
4206
+ type CallExpr = NodeName | MaybeTsDsl<ts.Expression>;
4116
4207
  type CallCtor = (expr: CallExpr, ...args: CallArgs) => CallTsDsl;
4117
4208
  declare const Mixed$40: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.CallExpression>, TypeArgsMethods>, ExprMethods>, AsMethods>, ArgsMethods>;
4118
4209
  declare class CallTsDsl extends Mixed$40 {
@@ -4205,7 +4296,7 @@ declare abstract class TsDsl<T extends ts.Node = ts.Node> implements Node<T> {
4205
4296
  structuralParents?: Map<TsDsl, NodeRelationship>;
4206
4297
  symbol?: Symbol;
4207
4298
  toAst(): T;
4208
- readonly '~brand': any;
4299
+ readonly '~brand' = "heyapi.node";
4209
4300
  /** Branding property to identify the DSL class at runtime. */
4210
4301
  abstract readonly '~dsl': string & {};
4211
4302
  /** Conditionally applies a callback to this builder. */
@@ -4226,7 +4317,7 @@ declare abstract class TsDsl<T extends ts.Node = ts.Node> implements Node<T> {
4226
4317
  length: number;
4227
4318
  }): TsDsl | undefined;
4228
4319
  protected $maybeId<T extends string | ts.Expression>(expr: T): T extends string ? ts.Identifier : T;
4229
- protected $name(name: Ref<NodeName$1>): string;
4320
+ protected $name(name: Ref<NodeName>): string;
4230
4321
  protected $node<I>(value: I): NodeOfMaybe<I>;
4231
4322
  protected $type<I>(value: I, args?: ReadonlyArray<ts.TypeNode>): TypeOfMaybe<I>;
4232
4323
  private _name?;
@@ -4311,7 +4402,7 @@ declare class LiteralTsDsl extends Mixed$38 {
4311
4402
  protected value: LiteralValue;
4312
4403
  constructor(value: LiteralValue);
4313
4404
  analyze(ctx: AnalysisContext): void;
4314
- toAst(): any;
4405
+ toAst(): ts.BigIntLiteral | ts.TrueLiteral | ts.FalseLiteral | ts.NullLiteral | ts.NumericLiteral | ts.PrefixUnaryExpression | ts.StringLiteral;
4315
4406
  }
4316
4407
  //#endregion
4317
4408
  //#region src/ts-dsl/layout/note.d.ts
@@ -4328,15 +4419,27 @@ declare class NoteTsDsl extends TsDsl<ts.Node> {
4328
4419
  toAst(): ts.Node;
4329
4420
  }
4330
4421
  //#endregion
4422
+ //#region src/ts-dsl/expr/template.d.ts
4423
+ type TemplatePart = NodeName | MaybeTsDsl<ts.Expression>;
4424
+ declare const Mixed$37: abstract new () => TsDsl<ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral>;
4425
+ declare class TemplateTsDsl extends Mixed$37 {
4426
+ readonly '~dsl' = "TemplateTsDsl";
4427
+ protected parts: Array<Ref<TemplatePart>>;
4428
+ constructor(value?: TemplatePart);
4429
+ analyze(ctx: AnalysisContext): void;
4430
+ add(value: TemplatePart): this;
4431
+ toAst(): ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral;
4432
+ }
4433
+ //#endregion
4331
4434
  //#region src/ts-dsl/type/param.d.ts
4332
- type TypeParamExpr = NodeName$1 | boolean | MaybeTsDsl<TypeTsDsl>;
4333
- declare const Mixed$37: abstract new () => TsDsl<ts.TypeParameterDeclaration>;
4334
- declare class TypeParamTsDsl extends Mixed$37 {
4435
+ type TypeParamExpr = NodeName | boolean | MaybeTsDsl<TypeTsDsl>;
4436
+ declare const Mixed$36: abstract new () => TsDsl<ts.TypeParameterDeclaration>;
4437
+ declare class TypeParamTsDsl extends Mixed$36 {
4335
4438
  readonly '~dsl' = "TypeParamTsDsl";
4336
4439
  scope: NodeScope;
4337
4440
  protected constraint?: Ref<TypeParamExpr>;
4338
4441
  protected defaultValue?: Ref<TypeParamExpr>;
4339
- constructor(name?: NodeName$1, fn?: (name: TypeParamTsDsl) => void);
4442
+ constructor(name?: NodeName, fn?: (name: TypeParamTsDsl) => void);
4340
4443
  analyze(ctx: AnalysisContext): void;
4341
4444
  default(value: TypeParamExpr): this;
4342
4445
  extends(constraint: TypeParamExpr): this;
@@ -4350,7 +4453,7 @@ interface TypeParamsMethods extends Node {
4350
4453
  /** Adds a single type parameter (e.g. `T` in `Array<T>`). */
4351
4454
  generic(...args: ConstructorParameters<typeof TypeParamTsDsl>): this;
4352
4455
  /** Adds type parameters (e.g. `Map<string, T>`). */
4353
- generics(...args: ReadonlyArray<NodeName$1 | MaybeTsDsl<TypeParamTsDsl>>): this;
4456
+ generics(...args: ReadonlyArray<NodeName | MaybeTsDsl<TypeParamTsDsl>>): this;
4354
4457
  }
4355
4458
  //#endregion
4356
4459
  //#region src/ts-dsl/mixins/modifiers.d.ts
@@ -4467,7 +4570,7 @@ interface DecoratorMethods extends Node {
4467
4570
  /** Renders the decorators into an array of `ts.Decorator`s. */
4468
4571
  $decorators(): ReadonlyArray<ts.Decorator>;
4469
4572
  /** Adds a decorator (e.g. `@sealed({ in: 'root' })`). */
4470
- decorator(name: NodeName$1 | MaybeTsDsl<ts.Expression>, ...args: ReadonlyArray<string | MaybeTsDsl<ts.Expression>>): this;
4573
+ decorator(name: NodeName | MaybeTsDsl<ts.Expression>, ...args: ReadonlyArray<string | MaybeTsDsl<ts.Expression>>): this;
4471
4574
  }
4472
4575
  //#endregion
4473
4576
  //#region src/ts-dsl/mixins/value.d.ts
@@ -4479,13 +4582,13 @@ interface ValueMethods extends Node {
4479
4582
  }
4480
4583
  //#endregion
4481
4584
  //#region src/ts-dsl/decl/field.d.ts
4482
- type FieldType = NodeName$1 | TypeTsDsl;
4483
- declare const Mixed$36: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.PropertyDeclaration>, ValueMethods>, StaticMethods>, ReadonlyMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, OptionalMethods>, DocMethods>, DecoratorMethods>;
4484
- declare class FieldTsDsl extends Mixed$36 {
4585
+ type FieldType = NodeName | TypeTsDsl;
4586
+ declare const Mixed$35: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.PropertyDeclaration>, ValueMethods>, StaticMethods>, ReadonlyMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, OptionalMethods>, DocMethods>, DecoratorMethods>;
4587
+ declare class FieldTsDsl extends Mixed$35 {
4485
4588
  readonly '~dsl' = "FieldTsDsl";
4486
4589
  readonly nameSanitizer: (name: string) => string;
4487
4590
  protected _type?: TypeTsDsl;
4488
- constructor(name: NodeName$1, fn?: (f: FieldTsDsl) => void);
4591
+ constructor(name: NodeName, fn?: (f: FieldTsDsl) => void);
4489
4592
  analyze(ctx: AnalysisContext): void;
4490
4593
  /** Sets the field type. */
4491
4594
  type(type: FieldType): this;
@@ -4505,12 +4608,12 @@ interface PatternMethods extends Node {
4505
4608
  }
4506
4609
  //#endregion
4507
4610
  //#region src/ts-dsl/decl/param.d.ts
4508
- type ParamCtor = (name: NodeName$1 | ((p: ParamTsDsl) => void), fn?: (p: ParamTsDsl) => void) => ParamTsDsl;
4509
- declare const Mixed$35: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ParameterDeclaration>, ValueMethods>, PatternMethods>, OptionalMethods>, DecoratorMethods>;
4510
- declare class ParamTsDsl extends Mixed$35 {
4611
+ type ParamCtor = (name: NodeName | ((p: ParamTsDsl) => void), fn?: (p: ParamTsDsl) => void) => ParamTsDsl;
4612
+ declare const Mixed$34: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ParameterDeclaration>, ValueMethods>, PatternMethods>, OptionalMethods>, DecoratorMethods>;
4613
+ declare class ParamTsDsl extends Mixed$34 {
4511
4614
  readonly '~dsl' = "ParamTsDsl";
4512
4615
  protected _type?: TypeTsDsl;
4513
- constructor(name: NodeName$1 | ((p: ParamTsDsl) => void), fn?: (p: ParamTsDsl) => void);
4616
+ constructor(name: NodeName | ((p: ParamTsDsl) => void), fn?: (p: ParamTsDsl) => void);
4514
4617
  analyze(ctx: AnalysisContext): void;
4515
4618
  /** Sets the parameter type. */
4516
4619
  type(type: string | TypeTsDsl): this;
@@ -4528,8 +4631,8 @@ interface ParamMethods extends Node {
4528
4631
  }
4529
4632
  //#endregion
4530
4633
  //#region src/ts-dsl/decl/init.d.ts
4531
- declare const Mixed$34: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ConstructorDeclaration>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>;
4532
- declare class InitTsDsl extends Mixed$34 {
4634
+ declare const Mixed$33: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ConstructorDeclaration>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>;
4635
+ declare class InitTsDsl extends Mixed$33 {
4533
4636
  readonly '~dsl' = "InitTsDsl";
4534
4637
  constructor(fn?: (i: InitTsDsl) => void);
4535
4638
  analyze(ctx: AnalysisContext): void;
@@ -4541,41 +4644,41 @@ interface TypeReturnsMethods extends Node {
4541
4644
  /** Returns the return type node. */
4542
4645
  $returns(): ts.TypeNode | undefined;
4543
4646
  /** Sets the return type. */
4544
- returns(type: NodeName$1 | TypeTsDsl): this;
4647
+ returns(type: NodeName | TypeTsDsl): this;
4545
4648
  }
4546
4649
  //#endregion
4547
4650
  //#region src/ts-dsl/decl/method.d.ts
4548
- declare const Mixed$33: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.MethodDeclaration>, TypeReturnsMethods>, TypeParamsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, OptionalMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
4549
- declare class MethodTsDsl extends Mixed$33 {
4651
+ declare const Mixed$32: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.MethodDeclaration>, TypeReturnsMethods>, TypeParamsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, OptionalMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
4652
+ declare class MethodTsDsl extends Mixed$32 {
4550
4653
  readonly '~dsl' = "MethodTsDsl";
4551
4654
  readonly nameSanitizer: (name: string) => string;
4552
- constructor(name: NodeName$1, fn?: (m: MethodTsDsl) => void);
4655
+ constructor(name: NodeName, fn?: (m: MethodTsDsl) => void);
4553
4656
  analyze(ctx: AnalysisContext): void;
4554
4657
  toAst(): ts.MethodDeclaration;
4555
4658
  }
4556
4659
  //#endregion
4557
4660
  //#region src/ts-dsl/decl/class.d.ts
4558
4661
  type Body = Array<MaybeTsDsl<ts.ClassElement | ts.Node>>;
4559
- declare const Mixed$32: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ClassDeclaration>, TypeParamsMethods>, ExportMethods>, DocMethods>, DefaultMethods>, DecoratorMethods>, AbstractMethods>;
4560
- declare class ClassTsDsl extends Mixed$32 {
4662
+ declare const Mixed$31: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ClassDeclaration>, TypeParamsMethods>, ExportMethods>, DocMethods>, DefaultMethods>, DecoratorMethods>, AbstractMethods>;
4663
+ declare class ClassTsDsl extends Mixed$31 {
4561
4664
  readonly '~dsl' = "ClassTsDsl";
4562
4665
  readonly nameSanitizer: (name: string) => string;
4563
- protected baseClass?: Ref<NodeName$1>;
4666
+ protected baseClass?: Ref<NodeName>;
4564
4667
  protected body: Body;
4565
- constructor(name: NodeName$1);
4668
+ constructor(name: NodeName);
4566
4669
  analyze(ctx: AnalysisContext): void;
4567
4670
  /** Returns true if the class has any members. */
4568
4671
  get hasBody(): boolean;
4569
4672
  /** Adds one or more class members (fields, methods, etc.). */
4570
4673
  do(...items: Body): this;
4571
4674
  /** Records a base class to extend from. */
4572
- extends(base?: NodeName$1): this;
4675
+ extends(base?: NodeName): this;
4573
4676
  /** Adds a class field. */
4574
- field(name: NodeName$1, fn?: (f: FieldTsDsl) => void): this;
4677
+ field(name: NodeName, fn?: (f: FieldTsDsl) => void): this;
4575
4678
  /** Adds a class constructor. */
4576
4679
  init(fn?: InitTsDsl | ((i: InitTsDsl) => void)): this;
4577
4680
  /** Adds a class method. */
4578
- method(name: NodeName$1, fn?: (m: MethodTsDsl) => void): this;
4681
+ method(name: NodeName, fn?: (m: MethodTsDsl) => void): this;
4579
4682
  /** Inserts an empty line between members for formatting. */
4580
4683
  newline(): this;
4581
4684
  toAst(): ts.ClassDeclaration;
@@ -4584,11 +4687,11 @@ declare class ClassTsDsl extends Mixed$32 {
4584
4687
  }
4585
4688
  //#endregion
4586
4689
  //#region src/ts-dsl/decl/decorator.d.ts
4587
- declare const Mixed$31: MixinCtor<abstract new () => TsDsl<ts.Decorator>, ArgsMethods>;
4588
- declare class DecoratorTsDsl extends Mixed$31 {
4690
+ declare const Mixed$30: MixinCtor<abstract new () => TsDsl<ts.Decorator>, ArgsMethods>;
4691
+ declare class DecoratorTsDsl extends Mixed$30 {
4589
4692
  readonly '~dsl' = "DecoratorTsDsl";
4590
4693
  readonly nameSanitizer: (name: string) => string;
4591
- constructor(name: NodeName$1, ...args: ReadonlyArray<string | MaybeTsDsl<ts.Expression>>);
4694
+ constructor(name: NodeName, ...args: ReadonlyArray<string | MaybeTsDsl<ts.Expression>>);
4592
4695
  analyze(ctx: AnalysisContext): void;
4593
4696
  toAst(): ts.Decorator;
4594
4697
  }
@@ -4596,11 +4699,11 @@ declare class DecoratorTsDsl extends Mixed$31 {
4596
4699
  //#region src/ts-dsl/decl/member.d.ts
4597
4700
  type Value$2 = string | number | MaybeTsDsl<ts.Expression>;
4598
4701
  type ValueFn$1 = Value$2 | ((m: EnumMemberTsDsl) => void);
4599
- declare const Mixed$30: MixinCtor<abstract new () => TsDsl<ts.EnumMember>, DocMethods>;
4600
- declare class EnumMemberTsDsl extends Mixed$30 {
4702
+ declare const Mixed$29: MixinCtor<abstract new () => TsDsl<ts.EnumMember>, DocMethods>;
4703
+ declare class EnumMemberTsDsl extends Mixed$29 {
4601
4704
  readonly '~dsl' = "EnumMemberTsDsl";
4602
4705
  private _value?;
4603
- constructor(name: NodeName$1, value?: ValueFn$1);
4706
+ constructor(name: NodeName, value?: ValueFn$1);
4604
4707
  analyze(ctx: AnalysisContext): void;
4605
4708
  /** Sets the enum member value. */
4606
4709
  value(value?: Value$2): this;
@@ -4610,12 +4713,12 @@ declare class EnumMemberTsDsl extends Mixed$30 {
4610
4713
  //#region src/ts-dsl/decl/enum.d.ts
4611
4714
  type Value$1 = string | number | MaybeTsDsl<ts.Expression>;
4612
4715
  type ValueFn = Value$1 | ((m: EnumMemberTsDsl) => void);
4613
- declare const Mixed$29: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.EnumDeclaration>, ExportMethods>, DocMethods>, ConstMethods>;
4614
- declare class EnumTsDsl extends Mixed$29 {
4716
+ declare const Mixed$28: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.EnumDeclaration>, ExportMethods>, DocMethods>, ConstMethods>;
4717
+ declare class EnumTsDsl extends Mixed$28 {
4615
4718
  readonly '~dsl' = "EnumTsDsl";
4616
4719
  readonly nameSanitizer: (name: string) => string;
4617
4720
  private _members;
4618
- constructor(name: NodeName$1, fn?: (e: EnumTsDsl) => void);
4721
+ constructor(name: NodeName, fn?: (e: EnumTsDsl) => void);
4619
4722
  analyze(ctx: AnalysisContext): void;
4620
4723
  /** Adds an enum member. */
4621
4724
  member(name: string, value?: ValueFn): this;
@@ -4626,15 +4729,15 @@ declare class EnumTsDsl extends Mixed$29 {
4626
4729
  //#endregion
4627
4730
  //#region src/ts-dsl/decl/func.d.ts
4628
4731
  type FuncMode = 'arrow' | 'decl' | 'expr';
4629
- declare const Mixed$28: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrowFunction>, TypeReturnsMethods>, TypeParamsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AsMethods>, AbstractMethods>;
4630
- declare class ImplFuncTsDsl<M extends FuncMode = 'arrow'> extends Mixed$28 {
4732
+ declare const Mixed$27: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrowFunction>, TypeReturnsMethods>, TypeParamsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AsMethods>, AbstractMethods>;
4733
+ declare class ImplFuncTsDsl<M extends FuncMode = 'arrow'> extends Mixed$27 {
4631
4734
  readonly '~dsl' = "FuncTsDsl";
4632
4735
  readonly nameSanitizer: (name: string) => string;
4633
4736
  protected mode?: FuncMode;
4634
4737
  constructor();
4635
4738
  constructor(fn: (f: ImplFuncTsDsl<'arrow'>) => void);
4636
- constructor(name: NodeName$1);
4637
- constructor(name: NodeName$1, fn: (f: ImplFuncTsDsl<'decl'>) => void);
4739
+ constructor(name: NodeName);
4740
+ constructor(name: NodeName, fn: (f: ImplFuncTsDsl<'decl'>) => void);
4638
4741
  analyze(ctx: AnalysisContext): void;
4639
4742
  /** Switches the function to an arrow function form. */
4640
4743
  arrow(): FuncTsDsl<'arrow'>;
@@ -4647,27 +4750,27 @@ declare class ImplFuncTsDsl<M extends FuncMode = 'arrow'> extends Mixed$28 {
4647
4750
  declare const FuncTsDsl: {
4648
4751
  new (): FuncTsDsl<"arrow">;
4649
4752
  new (fn: (f: FuncTsDsl<"arrow">) => void): FuncTsDsl<"arrow">;
4650
- new (name: NodeName$1): FuncTsDsl<"decl">;
4651
- new (name: NodeName$1, fn: (f: FuncTsDsl<"decl">) => void): FuncTsDsl<"decl">;
4753
+ new (name: NodeName): FuncTsDsl<"decl">;
4754
+ new (name: NodeName, fn: (f: FuncTsDsl<"decl">) => void): FuncTsDsl<"decl">;
4652
4755
  } & typeof ImplFuncTsDsl;
4653
4756
  type FuncTsDsl<M extends FuncMode = 'arrow'> = ImplFuncTsDsl<M>;
4654
4757
  //#endregion
4655
4758
  //#region src/ts-dsl/decl/getter.d.ts
4656
- declare const Mixed$27: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.GetAccessorDeclaration>, TypeReturnsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
4657
- declare class GetterTsDsl extends Mixed$27 {
4759
+ declare const Mixed$26: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.GetAccessorDeclaration>, TypeReturnsMethods>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
4760
+ declare class GetterTsDsl extends Mixed$26 {
4658
4761
  readonly '~dsl' = "GetterTsDsl";
4659
4762
  readonly nameSanitizer: (name: string) => string;
4660
- constructor(name: NodeName$1, fn?: (g: GetterTsDsl) => void);
4763
+ constructor(name: NodeName, fn?: (g: GetterTsDsl) => void);
4661
4764
  analyze(ctx: AnalysisContext): void;
4662
4765
  toAst(): ts.GetAccessorDeclaration;
4663
4766
  }
4664
4767
  //#endregion
4665
4768
  //#region src/ts-dsl/decl/pattern.d.ts
4666
- declare const Mixed$26: abstract new () => TsDsl<ts.BindingName>;
4769
+ declare const Mixed$25: abstract new () => TsDsl<ts.BindingName>;
4667
4770
  /**
4668
4771
  * Builds binding patterns (e.g. `{ foo, bar }`, `[a, b, ...rest]`).
4669
4772
  */
4670
- declare class PatternTsDsl extends Mixed$26 {
4773
+ declare class PatternTsDsl extends Mixed$25 {
4671
4774
  readonly '~dsl' = "PatternTsDsl";
4672
4775
  protected pattern?: {
4673
4776
  kind: 'array';
@@ -4689,11 +4792,11 @@ declare class PatternTsDsl extends Mixed$26 {
4689
4792
  }
4690
4793
  //#endregion
4691
4794
  //#region src/ts-dsl/decl/setter.d.ts
4692
- declare const Mixed$25: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.SetAccessorDeclaration>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
4693
- declare class SetterTsDsl extends Mixed$25 {
4795
+ declare const Mixed$24: MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.SetAccessorDeclaration>, StaticMethods>, PublicMethods>, ProtectedMethods>, PrivateMethods>, ParamMethods>, DocMethods>, DoMethods>, DecoratorMethods>, AsyncMethods>, AbstractMethods>;
4796
+ declare class SetterTsDsl extends Mixed$24 {
4694
4797
  readonly '~dsl' = "SetterTsDsl";
4695
4798
  readonly nameSanitizer: (name: string) => string;
4696
- constructor(name: NodeName$1, fn?: (s: SetterTsDsl) => void);
4799
+ constructor(name: NodeName, fn?: (s: SetterTsDsl) => void);
4697
4800
  analyze(ctx: AnalysisContext): void;
4698
4801
  toAst(): ts.SetAccessorDeclaration;
4699
4802
  }
@@ -4711,8 +4814,8 @@ interface LayoutMethods extends Node {
4711
4814
  }
4712
4815
  //#endregion
4713
4816
  //#region src/ts-dsl/expr/array.d.ts
4714
- declare const Mixed$24: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrayLiteralExpression>, LayoutMethods>, AsMethods>;
4715
- declare class ArrayTsDsl extends Mixed$24 {
4817
+ declare const Mixed$23: MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ArrayLiteralExpression>, LayoutMethods>, AsMethods>;
4818
+ declare class ArrayTsDsl extends Mixed$23 {
4716
4819
  readonly '~dsl' = "ArrayTsDsl";
4717
4820
  protected _elements: Array<{
4718
4821
  expr: MaybeTsDsl<ts.Expression>;
@@ -4733,19 +4836,19 @@ declare class ArrayTsDsl extends Mixed$24 {
4733
4836
  }
4734
4837
  //#endregion
4735
4838
  //#region src/ts-dsl/expr/expr.d.ts
4736
- type Id = NodeName$1 | MaybeTsDsl<ts.Expression>;
4737
- declare const Mixed$23: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Expression>, TypeExprMethods>, OperatorMethods>, ExprMethods>, AsMethods>;
4738
- declare class ExprTsDsl extends Mixed$23 {
4839
+ type Id = NodeName | MaybeTsDsl<ts.Expression>;
4840
+ declare const Mixed$22: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.Expression>, TypeExprMethods>, OperatorMethods>, ExprMethods>, AsMethods>;
4841
+ declare class ExprTsDsl extends Mixed$22 {
4739
4842
  readonly '~dsl' = "ExprTsDsl";
4740
4843
  protected _exprInput: Ref<Id>;
4741
4844
  constructor(id: Id);
4742
4845
  analyze(ctx: AnalysisContext): void;
4743
- toAst(): any;
4846
+ toAst(): ts.Expression;
4744
4847
  }
4745
4848
  //#endregion
4746
4849
  //#region src/ts-dsl/expr/id.d.ts
4747
- declare const Mixed$22: abstract new () => TsDsl<ts.Identifier>;
4748
- declare class IdTsDsl extends Mixed$22 {
4850
+ declare const Mixed$21: abstract new () => TsDsl<ts.Identifier>;
4851
+ declare class IdTsDsl extends Mixed$21 {
4749
4852
  readonly '~dsl' = "IdTsDsl";
4750
4853
  constructor(name: string);
4751
4854
  analyze(ctx: AnalysisContext): void;
@@ -4759,8 +4862,8 @@ interface HintMethods extends Node {
4759
4862
  }
4760
4863
  //#endregion
4761
4864
  //#region src/ts-dsl/expr/prop.d.ts
4762
- type Expr$1 = NodeName$1 | MaybeTsDsl<ts.Expression>;
4763
- type Stmt$1 = NodeName$1 | MaybeTsDsl<ts.Statement>;
4865
+ type Expr$1 = NodeName | MaybeTsDsl<ts.Expression>;
4866
+ type Stmt$1 = NodeName | MaybeTsDsl<ts.Statement>;
4764
4867
  type Kind = 'computed' | 'getter' | 'prop' | 'setter' | 'spread';
4765
4868
  type Meta = {
4766
4869
  kind: 'computed';
@@ -4778,8 +4881,8 @@ type Meta = {
4778
4881
  kind: 'spread';
4779
4882
  name?: undefined;
4780
4883
  };
4781
- declare const Mixed$21: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
4782
- declare class ObjectPropTsDsl extends Mixed$21 {
4884
+ declare const Mixed$20: MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralElementLike>, DocMethods>;
4885
+ declare class ObjectPropTsDsl extends Mixed$20 {
4783
4886
  readonly '~dsl' = "ObjectPropTsDsl";
4784
4887
  protected _value?: Ref<Expr$1 | Stmt$1>;
4785
4888
  protected meta: Meta;
@@ -4788,7 +4891,7 @@ declare class ObjectPropTsDsl extends Mixed$21 {
4788
4891
  /** Returns true when all required builder calls are present. */
4789
4892
  get isValid(): boolean;
4790
4893
  value(value: Expr$1 | Stmt$1 | ((p: ObjectPropTsDsl) => void)): this;
4791
- toAst(): any;
4894
+ toAst(): ts.GetAccessorDeclaration | ts.SetAccessorDeclaration | ts.PropertyAssignment | ts.ShorthandPropertyAssignment | ts.SpreadAssignment;
4792
4895
  $validate(): asserts this is this & {
4793
4896
  _value: Expr$1 | Stmt$1;
4794
4897
  kind: Kind;
@@ -4797,12 +4900,12 @@ declare class ObjectPropTsDsl extends Mixed$21 {
4797
4900
  }
4798
4901
  //#endregion
4799
4902
  //#region src/ts-dsl/expr/object.d.ts
4800
- type Expr = NodeName$1 | MaybeTsDsl<ts.Expression>;
4801
- type Stmt = NodeName$1 | MaybeTsDsl<ts.Statement>;
4903
+ type Expr = NodeName | MaybeTsDsl<ts.Expression>;
4904
+ type Stmt = NodeName | MaybeTsDsl<ts.Statement>;
4802
4905
  type ExprFn = Expr | ((p: ObjectPropTsDsl) => void);
4803
4906
  type StmtFn = Stmt | ((p: ObjectPropTsDsl) => void);
4804
- declare const Mixed$20: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralExpression>, LayoutMethods>, HintMethods>, ExprMethods>, AsMethods>;
4805
- declare class ObjectTsDsl extends Mixed$20 {
4907
+ declare const Mixed$19: MixinCtor<MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.ObjectLiteralExpression>, LayoutMethods>, HintMethods>, ExprMethods>, AsMethods>;
4908
+ declare class ObjectTsDsl extends Mixed$19 {
4806
4909
  readonly '~dsl' = "ObjectTsDsl";
4807
4910
  protected _props: Array<ObjectPropTsDsl>;
4808
4911
  constructor(...props: Array<ObjectPropTsDsl>);
@@ -4827,8 +4930,8 @@ declare class ObjectTsDsl extends Mixed$20 {
4827
4930
  }
4828
4931
  //#endregion
4829
4932
  //#region src/ts-dsl/expr/prefix.d.ts
4830
- declare const Mixed$19: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
4831
- declare class PrefixTsDsl extends Mixed$19 {
4933
+ declare const Mixed$18: abstract new () => TsDsl<ts.PrefixUnaryExpression>;
4934
+ declare class PrefixTsDsl extends Mixed$18 {
4832
4935
  readonly '~dsl' = "PrefixTsDsl";
4833
4936
  protected _expr?: string | MaybeTsDsl<ts.Expression>;
4834
4937
  protected _op?: ts.PrefixUnaryOperator;
@@ -4848,8 +4951,8 @@ declare class PrefixTsDsl extends Mixed$19 {
4848
4951
  //#region src/ts-dsl/expr/regexp.d.ts
4849
4952
  type RegexFlag = 'g' | 'i' | 'm' | 's' | 'u' | 'y';
4850
4953
  type RegexFlags<Avail extends string = RegexFlag> = '' | { [K in Avail]: `${K}${RegexFlags<Exclude<Avail, K>>}` }[Avail];
4851
- declare const Mixed$18: abstract new () => TsDsl<ts.RegularExpressionLiteral>;
4852
- declare class RegExpTsDsl extends Mixed$18 {
4954
+ declare const Mixed$17: abstract new () => TsDsl<ts.RegularExpressionLiteral>;
4955
+ declare class RegExpTsDsl extends Mixed$17 {
4853
4956
  readonly '~dsl' = "RegExpTsDsl";
4854
4957
  protected pattern: string;
4855
4958
  protected flags?: RegexFlags;
@@ -4858,18 +4961,6 @@ declare class RegExpTsDsl extends Mixed$18 {
4858
4961
  toAst(): ts.RegularExpressionLiteral;
4859
4962
  }
4860
4963
  //#endregion
4861
- //#region src/ts-dsl/expr/template.d.ts
4862
- type TemplatePart = NodeName$1 | MaybeTsDsl<ts.Expression>;
4863
- declare const Mixed$17: abstract new () => TsDsl<ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral>;
4864
- declare class TemplateTsDsl extends Mixed$17 {
4865
- readonly '~dsl' = "TemplateTsDsl";
4866
- protected parts: Array<Ref<TemplatePart>>;
4867
- constructor(value?: TemplatePart);
4868
- analyze(ctx: AnalysisContext): void;
4869
- add(value: TemplatePart): this;
4870
- toAst(): ts.TemplateExpression | ts.NoSubstitutionTemplateLiteral;
4871
- }
4872
- //#endregion
4873
4964
  //#region src/ts-dsl/expr/ternary.d.ts
4874
4965
  declare const Mixed$16: abstract new () => TsDsl<ts.ConditionalExpression>;
4875
4966
  declare class TernaryTsDsl extends Mixed$16 {
@@ -4929,13 +5020,13 @@ declare const Mixed$12: abstract new () => TsDsl<ts.TryStatement>;
4929
5020
  declare class TryTsDsl extends Mixed$12 {
4930
5021
  readonly '~dsl' = "TryTsDsl";
4931
5022
  protected _catch?: Array<DoExpr>;
4932
- protected _catchArg?: NodeName$1;
5023
+ protected _catchArg?: NodeName;
4933
5024
  protected _finally?: Array<DoExpr>;
4934
5025
  protected _try?: Array<DoExpr>;
4935
5026
  constructor(...tryBlock: Array<DoExpr>);
4936
5027
  analyze(ctx: AnalysisContext): void;
4937
5028
  catch(...items: Array<DoExpr>): this;
4938
- catchArg(arg: NodeName$1): this;
5029
+ catchArg(arg: NodeName): this;
4939
5030
  finally(...items: Array<DoExpr>): this;
4940
5031
  try(...items: Array<DoExpr>): this;
4941
5032
  toAst(): ts.TryStatement;
@@ -4948,7 +5039,7 @@ declare class VarTsDsl extends Mixed$11 {
4948
5039
  readonly nameSanitizer: (name: string) => string;
4949
5040
  protected kind: ts.NodeFlags;
4950
5041
  protected _type?: TypeTsDsl;
4951
- constructor(name?: NodeName$1);
5042
+ constructor(name?: NodeName);
4952
5043
  analyze(ctx: AnalysisContext): void;
4953
5044
  const(): this;
4954
5045
  let(): this;
@@ -4987,7 +5078,7 @@ declare class TypeAliasTsDsl extends Mixed$10 {
4987
5078
  readonly nameSanitizer: (name: string) => string;
4988
5079
  scope: NodeScope;
4989
5080
  protected value?: Value;
4990
- constructor(name: NodeName$1, fn?: (t: TypeAliasTsDsl) => void);
5081
+ constructor(name: NodeName, fn?: (t: TypeAliasTsDsl) => void);
4991
5082
  analyze(ctx: AnalysisContext): void;
4992
5083
  /** Sets the type expression on the right-hand side of `= ...`. */
4993
5084
  type(node: Value): this;
@@ -4995,7 +5086,7 @@ declare class TypeAliasTsDsl extends Mixed$10 {
4995
5086
  }
4996
5087
  //#endregion
4997
5088
  //#region src/ts-dsl/type/and.d.ts
4998
- type Type$1 = NodeName$1 | ts.TypeNode | TypeTsDsl;
5089
+ type Type$1 = NodeName | ts.TypeNode | TypeTsDsl;
4999
5090
  declare const Mixed$9: abstract new () => TsDsl<ts.IntersectionTypeNode>;
5000
5091
  declare class TypeAndTsDsl extends Mixed$9 {
5001
5092
  readonly '~dsl' = "TypeAndTsDsl";
@@ -5036,7 +5127,7 @@ declare class TypeMappedTsDsl extends Mixed$6 {
5036
5127
  protected readonlyToken?: TokenTsDsl<ts.SyntaxKind.ReadonlyKeyword | ts.SyntaxKind.MinusToken | ts.SyntaxKind.PlusToken>;
5037
5128
  protected _key?: string | MaybeTsDsl<ts.TypeNode>;
5038
5129
  protected _type?: string | MaybeTsDsl<ts.TypeNode>;
5039
- constructor(name?: NodeName$1);
5130
+ constructor(name?: NodeName);
5040
5131
  analyze(ctx: AnalysisContext): void;
5041
5132
  /** Returns true when all required builder calls are present. */
5042
5133
  get isValid(): boolean;
@@ -5068,7 +5159,7 @@ declare class TypeIdxSigTsDsl extends Mixed$5 {
5068
5159
  scope: NodeScope;
5069
5160
  protected _key?: TypeIdxSigType;
5070
5161
  protected _type?: TypeIdxSigType;
5071
- constructor(name: NodeName$1, fn?: (i: TypeIdxSigTsDsl) => void);
5162
+ constructor(name: NodeName, fn?: (i: TypeIdxSigTsDsl) => void);
5072
5163
  analyze(ctx: AnalysisContext): void;
5073
5164
  /** Returns true when all required builder calls are present. */
5074
5165
  get isValid(): boolean;
@@ -5085,13 +5176,13 @@ declare class TypeIdxSigTsDsl extends Mixed$5 {
5085
5176
  }
5086
5177
  //#endregion
5087
5178
  //#region src/ts-dsl/type/prop.d.ts
5088
- type TypePropType = NodeName$1 | MaybeTsDsl<ts.TypeNode>;
5179
+ type TypePropType = NodeName | MaybeTsDsl<ts.TypeNode>;
5089
5180
  declare const Mixed$4: MixinCtor<MixinCtor<MixinCtor<abstract new () => TsDsl<ts.TypeElement>, ReadonlyMethods>, OptionalMethods>, DocMethods>;
5090
5181
  declare class TypePropTsDsl extends Mixed$4 {
5091
5182
  readonly '~dsl' = "TypePropTsDsl";
5092
5183
  scope: NodeScope;
5093
5184
  protected _type?: Ref<TypePropType>;
5094
- constructor(name: NodeName$1, fn: (p: TypePropTsDsl) => void);
5185
+ constructor(name: NodeName, fn: (p: TypePropTsDsl) => void);
5095
5186
  analyze(ctx: AnalysisContext): void;
5096
5187
  /** Sets the property type. */
5097
5188
  type(type: TypePropType): this;
@@ -5117,7 +5208,7 @@ declare class TypeObjectTsDsl extends Mixed$3 {
5117
5208
  }
5118
5209
  //#endregion
5119
5210
  //#region src/ts-dsl/type/or.d.ts
5120
- type Type = NodeName$1 | ts.TypeNode | TypeTsDsl;
5211
+ type Type = NodeName | ts.TypeNode | TypeTsDsl;
5121
5212
  declare const Mixed$2: abstract new () => TsDsl<ts.UnionTypeNode>;
5122
5213
  declare class TypeOrTsDsl extends Mixed$2 {
5123
5214
  readonly '~dsl' = "TypeOrTsDsl";
@@ -5284,35 +5375,35 @@ declare const reserved: {
5284
5375
  };
5285
5376
  //#endregion
5286
5377
  //#region src/ts-dsl/index.d.ts
5287
- declare const $: ((id: any) => ExprTsDsl) & {
5378
+ declare const $: ((id: ts.Expression | TsDsl<ts.Expression> | _hey_api_codegen_core0.NodeName) => ExprTsDsl) & {
5288
5379
  /** Creates an array literal expression (e.g. `[1, 2, 3]`). */
5289
5380
  array: (...args: ConstructorParameters<typeof ArrayTsDsl>) => ArrayTsDsl;
5290
5381
  /** Creates an `as` type assertion expression (e.g. `value as Type`). */
5291
- as: (expr: any, type: any) => AsTsDsl;
5382
+ as: (expr: AsExpr, type: AsType) => AsTsDsl;
5292
5383
  /** Creates a property access expression (e.g. `obj.foo`). */
5293
- attr: (left: any, right: NodeName) => AttrTsDsl;
5384
+ attr: (left: AttrLeft, right: _hey_api_codegen_core0.NodeName) => AttrTsDsl;
5294
5385
  /** Creates an await expression (e.g. `await promise`). */
5295
- await: (expr: any) => AwaitTsDsl;
5386
+ await: (expr: AwaitExpr) => AwaitTsDsl;
5296
5387
  /** Creates a binary expression (e.g. `a + b`). */
5297
- binary: (base: any, op?: (("!=" | "!==" | "&&" | "*" | "+" | "-" | "/" | "<" | "<=" | "=" | "==" | "===" | ">" | ">=" | "??" | "??=" | "||") | ts.BinaryOperator) | undefined, expr?: any) => BinaryTsDsl;
5388
+ binary: (base: ts.Expression | TsDsl<ts.Expression> | _hey_api_codegen_core0.NodeName, op?: (("!=" | "!==" | "&&" | "*" | "+" | "-" | "/" | "<" | "<=" | "=" | "==" | "===" | ">" | ">=" | "??" | "??=" | "||") | ts.BinaryOperator) | undefined, expr?: (ts.Expression | TsDsl<ts.Expression> | _hey_api_codegen_core0.NodeName) | undefined) => BinaryTsDsl;
5298
5389
  /** Creates a statement block (`{ ... }`). */
5299
5390
  block: (...args: ConstructorParameters<typeof BlockTsDsl>) => BlockTsDsl;
5300
5391
  /** Creates a function or method call expression (e.g. `fn(arg)`). */
5301
- call: (expr: any, ...args: any[]) => CallTsDsl;
5392
+ call: (expr: CallExpr, ...args: (CallExpr | undefined)[]) => CallTsDsl;
5302
5393
  /** Creates a class declaration or expression. */
5303
- class: (name: NodeName) => ClassTsDsl;
5394
+ class: (name: _hey_api_codegen_core0.NodeName) => ClassTsDsl;
5304
5395
  /** Creates a constant variable declaration (`const`). */
5305
- const: (name?: any) => VarTsDsl;
5396
+ const: (name?: _hey_api_codegen_core0.NodeName | undefined) => VarTsDsl;
5306
5397
  /** Creates a decorator expression (e.g. `@decorator`). */
5307
- decorator: (name: NodeName, ...args: (string | ts.Expression | TsDsl<ts.Expression>)[]) => DecoratorTsDsl;
5398
+ decorator: (name: _hey_api_codegen_core0.NodeName, ...args: (string | ts.Expression | TsDsl<ts.Expression>)[]) => DecoratorTsDsl;
5308
5399
  /** Creates a JSDoc documentation block. */
5309
5400
  doc: (lines?: DocLines | undefined, fn?: DocFn | undefined) => DocTsDsl;
5310
5401
  /** Creates an enum declaration. */
5311
- enum: (name: NodeName, fn?: ((e: EnumTsDsl) => void) | undefined) => EnumTsDsl;
5402
+ enum: (name: _hey_api_codegen_core0.NodeName, fn?: ((e: EnumTsDsl) => void) | undefined) => EnumTsDsl;
5312
5403
  /** Creates a general expression node. */
5313
- expr: (id: any) => ExprTsDsl;
5404
+ expr: (id: ts.Expression | TsDsl<ts.Expression> | _hey_api_codegen_core0.NodeName) => ExprTsDsl;
5314
5405
  /** Creates a field declaration in a class or object. */
5315
- field: (name: NodeName, fn?: ((f: FieldTsDsl) => void) | undefined) => FieldTsDsl;
5406
+ field: (name: _hey_api_codegen_core0.NodeName, fn?: ((f: FieldTsDsl) => void) | undefined) => FieldTsDsl;
5316
5407
  /** Converts a runtime value into a corresponding expression node. */
5317
5408
  fromValue: (input: unknown, options?: {
5318
5409
  layout?: "pretty";
@@ -5326,7 +5417,7 @@ declare const $: ((id: any) => ExprTsDsl) & {
5326
5417
  (name?: string, fn?: (f: FuncTsDsl<"decl">) => void): FuncTsDsl<"arrow"> | FuncTsDsl<"decl">;
5327
5418
  };
5328
5419
  /** Creates a getter method declaration. */
5329
- getter: (name: NodeName, fn?: ((g: GetterTsDsl) => void) | undefined) => GetterTsDsl;
5420
+ getter: (name: _hey_api_codegen_core0.NodeName, fn?: ((g: GetterTsDsl) => void) | undefined) => GetterTsDsl;
5330
5421
  /** Creates a single-line comment (//). */
5331
5422
  hint: (lines?: HintLines | undefined, fn?: HintFn | undefined) => HintTsDsl;
5332
5423
  /** Creates an identifier (e.g. `foo`). */
@@ -5338,17 +5429,17 @@ declare const $: ((id: any) => ExprTsDsl) & {
5338
5429
  /** Creates a lazy, context-aware node with deferred evaluation. */
5339
5430
  lazy: <T extends ts.Node>(thunk: LazyThunk<T>) => LazyTsDsl<T>;
5340
5431
  /** Creates a let variable declaration (`let`). */
5341
- let: (name?: any) => VarTsDsl;
5432
+ let: (name?: _hey_api_codegen_core0.NodeName | undefined) => VarTsDsl;
5342
5433
  /** Creates a literal value (e.g. string, number, boolean). */
5343
5434
  literal: (value: LiteralValue) => LiteralTsDsl;
5344
5435
  /** Creates an enum member declaration. */
5345
- member: (name: NodeName, value?: ((string | number | ts.Expression | TsDsl<ts.Expression>) | ((m: EnumMemberTsDsl) => void)) | undefined) => EnumMemberTsDsl;
5436
+ member: (name: _hey_api_codegen_core0.NodeName, value?: ((string | number | ts.Expression | TsDsl<ts.Expression>) | ((m: EnumMemberTsDsl) => void)) | undefined) => EnumMemberTsDsl;
5346
5437
  /** Creates a method declaration inside a class or object. */
5347
- method: (name: NodeName, fn?: ((m: MethodTsDsl) => void) | undefined) => MethodTsDsl;
5438
+ method: (name: _hey_api_codegen_core0.NodeName, fn?: ((m: MethodTsDsl) => void) | undefined) => MethodTsDsl;
5348
5439
  /** Creates a negation expression (`-x`). */
5349
5440
  neg: (expr?: string | ts.Expression | TsDsl<ts.Expression> | undefined, op?: ts.PrefixUnaryOperator | undefined) => PrefixTsDsl;
5350
5441
  /** Creates a new expression (e.g. `new ClassName()`). */
5351
- new: (expr: any, ...args: any[]) => NewTsDsl;
5442
+ new: (expr: NewExpr, ...args: (NewExpr | undefined)[]) => NewTsDsl;
5352
5443
  /** Creates a newline (for formatting purposes). */
5353
5444
  newline: () => NewlineTsDsl;
5354
5445
  /** Creates a logical NOT expression (`!x`). */
@@ -5358,7 +5449,7 @@ declare const $: ((id: any) => ExprTsDsl) & {
5358
5449
  /** Creates an object literal expression. */
5359
5450
  object: (...args: ConstructorParameters<typeof ObjectTsDsl>) => ObjectTsDsl;
5360
5451
  /** Creates a parameter declaration for functions or methods. */
5361
- param: (name: any, fn?: ((p: ParamTsDsl) => void) | undefined) => ParamTsDsl;
5452
+ param: (name: _hey_api_codegen_core0.NodeName | ((p: ParamTsDsl) => void), fn?: ((p: ParamTsDsl) => void) | undefined) => ParamTsDsl;
5362
5453
  /** Creates a pattern for destructuring or matching. */
5363
5454
  pattern: () => PatternTsDsl;
5364
5455
  /** Creates a prefix unary expression (e.g. `-x`, `!x`, `~x`). */
@@ -5383,13 +5474,13 @@ declare const $: ((id: any) => ExprTsDsl) & {
5383
5474
  /** Creates a regular expression literal (e.g. `/foo/gi`). */
5384
5475
  regexp: (pattern: string, flags?: ("" | "g" | "i" | "m" | "s" | "u" | "y" | "uy" | "yu" | "su" | "sy" | "suy" | "syu" | "ys" | "us" | "usy" | "uys" | "ysu" | "yus" | "ms" | "mu" | "my" | "muy" | "myu" | "msu" | "msy" | "msuy" | "msyu" | "mys" | "mus" | "musy" | "muys" | "mysu" | "myus" | "ym" | "um" | "umy" | "uym" | "ymu" | "yum" | "sm" | "smu" | "smy" | "smuy" | "smyu" | "sym" | "sum" | "sumy" | "suym" | "symu" | "syum" | "yms" | "ysm" | "ums" | "umsy" | "umys" | "usm" | "usmy" | "usym" | "uyms" | "uysm" | "ymsu" | "ymus" | "ysmu" | "ysum" | "yums" | "yusm" | "im" | "is" | "iu" | "iy" | "iuy" | "iyu" | "isu" | "isy" | "isuy" | "isyu" | "iys" | "ius" | "iusy" | "iuys" | "iysu" | "iyus" | "ims" | "imu" | "imy" | "imuy" | "imyu" | "imsu" | "imsy" | "imsuy" | "imsyu" | "imys" | "imus" | "imusy" | "imuys" | "imysu" | "imyus" | "iym" | "ium" | "iumy" | "iuym" | "iymu" | "iyum" | "ism" | "ismu" | "ismy" | "ismuy" | "ismyu" | "isym" | "isum" | "isumy" | "isuym" | "isymu" | "isyum" | "iyms" | "iysm" | "iums" | "iumsy" | "iumys" | "iusm" | "iusmy" | "iusym" | "iuyms" | "iuysm" | "iymsu" | "iymus" | "iysmu" | "iysum" | "iyums" | "iyusm" | "yi" | "ui" | "uiy" | "uyi" | "yiu" | "yui" | "si" | "siu" | "siy" | "siuy" | "siyu" | "syi" | "sui" | "suiy" | "suyi" | "syiu" | "syui" | "yis" | "ysi" | "uis" | "uisy" | "uiys" | "usi" | "usiy" | "usyi" | "uyis" | "uysi" | "yisu" | "yius" | "ysiu" | "ysui" | "yuis" | "yusi" | "mi" | "mis" | "miu" | "miy" | "miuy" | "miyu" | "misu" | "misy" | "misuy" | "misyu" | "miys" | "mius" | "miusy" | "miuys" | "miysu" | "miyus" | "myi" | "mui" | "muiy" | "muyi" | "myiu" | "myui" | "msi" | "msiu" | "msiy" | "msiuy" | "msiyu" | "msyi" | "msui" | "msuiy" | "msuyi" | "msyiu" | "msyui" | "myis" | "mysi" | "muis" | "muisy" | "muiys" | "musi" | "musiy" | "musyi" | "muyis" | "muysi" | "myisu" | "myius" | "mysiu" | "mysui" | "myuis" | "myusi" | "yim" | "ymi" | "uim" | "uimy" | "uiym" | "umi" | "umiy" | "umyi" | "uyim" | "uymi" | "yimu" | "yium" | "ymiu" | "ymui" | "yuim" | "yumi" | "sim" | "simu" | "simy" | "simuy" | "simyu" | "siym" | "sium" | "siumy" | "siuym" | "siymu" | "siyum" | "smi" | "smiu" | "smiy" | "smiuy" | "smiyu" | "smyi" | "smui" | "smuiy" | "smuyi" | "smyiu" | "smyui" | "syim" | "symi" | "suim" | "suimy" | "suiym" | "sumi" | "sumiy" | "sumyi" | "suyim" | "suymi" | "syimu" | "syium" | "symiu" | "symui" | "syuim" | "syumi" | "yims" | "yism" | "ymis" | "ymsi" | "ysim" | "ysmi" | "uims" | "uimsy" | "uimys" | "uism" | "uismy" | "uisym" | "uiyms" | "uiysm" | "umis" | "umisy" | "umiys" | "umsi" | "umsiy" | "umsyi" | "umyis" | "umysi" | "usim" | "usimy" | "usiym" | "usmi" | "usmiy" | "usmyi" | "usyim" | "usymi" | "uyims" | "uyism" | "uymis" | "uymsi" | "uysim" | "uysmi" | "yimsu" | "yimus" | "yismu" | "yisum" | "yiums" | "yiusm" | "ymisu" | "ymius" | "ymsiu" | "ymsui" | "ymuis" | "ymusi" | "ysimu" | "ysium" | "ysmiu" | "ysmui" | "ysuim" | "ysumi" | "yuims" | "yuism" | "yumis" | "yumsi" | "yusim" | "yusmi" | "gi" | "gm" | "gs" | "gu" | "gy" | "guy" | "gyu" | "gsu" | "gsy" | "gsuy" | "gsyu" | "gys" | "gus" | "gusy" | "guys" | "gysu" | "gyus" | "gms" | "gmu" | "gmy" | "gmuy" | "gmyu" | "gmsu" | "gmsy" | "gmsuy" | "gmsyu" | "gmys" | "gmus" | "gmusy" | "gmuys" | "gmysu" | "gmyus" | "gym" | "gum" | "gumy" | "guym" | "gymu" | "gyum" | "gsm" | "gsmu" | "gsmy" | "gsmuy" | "gsmyu" | "gsym" | "gsum" | "gsumy" | "gsuym" | "gsymu" | "gsyum" | "gyms" | "gysm" | "gums" | "gumsy" | "gumys" | "gusm" | "gusmy" | "gusym" | "guyms" | "guysm" | "gymsu" | "gymus" | "gysmu" | "gysum" | "gyums" | "gyusm" | "gim" | "gis" | "giu" | "giy" | "giuy" | "giyu" | "gisu" | "gisy" | "gisuy" | "gisyu" | "giys" | "gius" | "giusy" | "giuys" | "giysu" | "giyus" | "gims" | "gimu" | "gimy" | "gimuy" | "gimyu" | "gimsu" | "gimsy" | "gimsuy" | "gimsyu" | "gimys" | "gimus" | "gimusy" | "gimuys" | "gimysu" | "gimyus" | "giym" | "gium" | "giumy" | "giuym" | "giymu" | "giyum" | "gism" | "gismu" | "gismy" | "gismuy" | "gismyu" | "gisym" | "gisum" | "gisumy" | "gisuym" | "gisymu" | "gisyum" | "giyms" | "giysm" | "giums" | "giumsy" | "giumys" | "giusm" | "giusmy" | "giusym" | "giuyms" | "giuysm" | "giymsu" | "giymus" | "giysmu" | "giysum" | "giyums" | "giyusm" | "gyi" | "gui" | "guiy" | "guyi" | "gyiu" | "gyui" | "gsi" | "gsiu" | "gsiy" | "gsiuy" | "gsiyu" | "gsyi" | "gsui" | "gsuiy" | "gsuyi" | "gsyiu" | "gsyui" | "gyis" | "gysi" | "guis" | "guisy" | "guiys" | "gusi" | "gusiy" | "gusyi" | "guyis" | "guysi" | "gyisu" | "gyius" | "gysiu" | "gysui" | "gyuis" | "gyusi" | "gmi" | "gmis" | "gmiu" | "gmiy" | "gmiuy" | "gmiyu" | "gmisu" | "gmisy" | "gmisuy" | "gmisyu" | "gmiys" | "gmius" | "gmiusy" | "gmiuys" | "gmiysu" | "gmiyus" | "gmyi" | "gmui" | "gmuiy" | "gmuyi" | "gmyiu" | "gmyui" | "gmsi" | "gmsiu" | "gmsiy" | "gmsiuy" | "gmsiyu" | "gmsyi" | "gmsui" | "gmsuiy" | "gmsuyi" | "gmsyiu" | "gmsyui" | "gmyis" | "gmysi" | "gmuis" | "gmuisy" | "gmuiys" | "gmusi" | "gmusiy" | "gmusyi" | "gmuyis" | "gmuysi" | "gmyisu" | "gmyius" | "gmysiu" | "gmysui" | "gmyuis" | "gmyusi" | "gyim" | "gymi" | "guim" | "guimy" | "guiym" | "gumi" | "gumiy" | "gumyi" | "guyim" | "guymi" | "gyimu" | "gyium" | "gymiu" | "gymui" | "gyuim" | "gyumi" | "gsim" | "gsimu" | "gsimy" | "gsimuy" | "gsimyu" | "gsiym" | "gsium" | "gsiumy" | "gsiuym" | "gsiymu" | "gsiyum" | "gsmi" | "gsmiu" | "gsmiy" | "gsmiuy" | "gsmiyu" | "gsmyi" | "gsmui" | "gsmuiy" | "gsmuyi" | "gsmyiu" | "gsmyui" | "gsyim" | "gsymi" | "gsuim" | "gsuimy" | "gsuiym" | "gsumi" | "gsumiy" | "gsumyi" | "gsuyim" | "gsuymi" | "gsyimu" | "gsyium" | "gsymiu" | "gsymui" | "gsyuim" | "gsyumi" | "gyims" | "gyism" | "gymis" | "gymsi" | "gysim" | "gysmi" | "guims" | "guimsy" | "guimys" | "guism" | "guismy" | "guisym" | "guiyms" | "guiysm" | "gumis" | "gumisy" | "gumiys" | "gumsi" | "gumsiy" | "gumsyi" | "gumyis" | "gumysi" | "gusim" | "gusimy" | "gusiym" | "gusmi" | "gusmiy" | "gusmyi" | "gusyim" | "gusymi" | "guyims" | "guyism" | "guymis" | "guymsi" | "guysim" | "guysmi" | "gyimsu" | "gyimus" | "gyismu" | "gyisum" | "gyiums" | "gyiusm" | "gymisu" | "gymius" | "gymsiu" | "gymsui" | "gymuis" | "gymusi" | "gysimu" | "gysium" | "gysmiu" | "gysmui" | "gysuim" | "gysumi" | "gyuims" | "gyuism" | "gyumis" | "gyumsi" | "gyusim" | "gyusmi" | "yg" | "ug" | "ugy" | "uyg" | "ygu" | "yug" | "sg" | "sgu" | "sgy" | "sguy" | "sgyu" | "syg" | "sug" | "sugy" | "suyg" | "sygu" | "syug" | "ygs" | "ysg" | "ugs" | "ugsy" | "ugys" | "usg" | "usgy" | "usyg" | "uygs" | "uysg" | "ygsu" | "ygus" | "ysgu" | "ysug" | "yugs" | "yusg" | "mg" | "mgs" | "mgu" | "mgy" | "mguy" | "mgyu" | "mgsu" | "mgsy" | "mgsuy" | "mgsyu" | "mgys" | "mgus" | "mgusy" | "mguys" | "mgysu" | "mgyus" | "myg" | "mug" | "mugy" | "muyg" | "mygu" | "myug" | "msg" | "msgu" | "msgy" | "msguy" | "msgyu" | "msyg" | "msug" | "msugy" | "msuyg" | "msygu" | "msyug" | "mygs" | "mysg" | "mugs" | "mugsy" | "mugys" | "musg" | "musgy" | "musyg" | "muygs" | "muysg" | "mygsu" | "mygus" | "mysgu" | "mysug" | "myugs" | "myusg" | "ygm" | "ymg" | "ugm" | "ugmy" | "ugym" | "umg" | "umgy" | "umyg" | "uygm" | "uymg" | "ygmu" | "ygum" | "ymgu" | "ymug" | "yugm" | "yumg" | "sgm" | "sgmu" | "sgmy" | "sgmuy" | "sgmyu" | "sgym" | "sgum" | "sgumy" | "sguym" | "sgymu" | "sgyum" | "smg" | "smgu" | "smgy" | "smguy" | "smgyu" | "smyg" | "smug" | "smugy" | "smuyg" | "smygu" | "smyug" | "sygm" | "symg" | "sugm" | "sugmy" | "sugym" | "sumg" | "sumgy" | "sumyg" | "suygm" | "suymg" | "sygmu" | "sygum" | "symgu" | "symug" | "syugm" | "syumg" | "ygms" | "ygsm" | "ymgs" | "ymsg" | "ysgm" | "ysmg" | "ugms" | "ugmsy" | "ugmys" | "ugsm" | "ugsmy" | "ugsym" | "ugyms" | "ugysm" | "umgs" | "umgsy" | "umgys" | "umsg" | "umsgy" | "umsyg" | "umygs" | "umysg" | "usgm" | "usgmy" | "usgym" | "usmg" | "usmgy" | "usmyg" | "usygm" | "usymg" | "uygms" | "uygsm" | "uymgs" | "uymsg" | "uysgm" | "uysmg" | "ygmsu" | "ygmus" | "ygsmu" | "ygsum" | "ygums" | "ygusm" | "ymgsu" | "ymgus" | "ymsgu" | "ymsug" | "ymugs" | "ymusg" | "ysgmu" | "ysgum" | "ysmgu" | "ysmug" | "ysugm" | "ysumg" | "yugms" | "yugsm" | "yumgs" | "yumsg" | "yusgm" | "yusmg" | "ig" | "igm" | "igs" | "igu" | "igy" | "iguy" | "igyu" | "igsu" | "igsy" | "igsuy" | "igsyu" | "igys" | "igus" | "igusy" | "iguys" | "igysu" | "igyus" | "igms" | "igmu" | "igmy" | "igmuy" | "igmyu" | "igmsu" | "igmsy" | "igmsuy" | "igmsyu" | "igmys" | "igmus" | "igmusy" | "igmuys" | "igmysu" | "igmyus" | "igym" | "igum" | "igumy" | "iguym" | "igymu" | "igyum" | "igsm" | "igsmu" | "igsmy" | "igsmuy" | "igsmyu" | "igsym" | "igsum" | "igsumy" | "igsuym" | "igsymu" | "igsyum" | "igyms" | "igysm" | "igums" | "igumsy" | "igumys" | "igusm" | "igusmy" | "igusym" | "iguyms" | "iguysm" | "igymsu" | "igymus" | "igysmu" | "igysum" | "igyums" | "igyusm" | "iyg" | "iug" | "iugy" | "iuyg" | "iygu" | "iyug" | "isg" | "isgu" | "isgy" | "isguy" | "isgyu" | "isyg" | "isug" | "isugy" | "isuyg" | "isygu" | "isyug" | "iygs" | "iysg" | "iugs" | "iugsy" | "iugys" | "iusg" | "iusgy" | "iusyg" | "iuygs" | "iuysg" | "iygsu" | "iygus" | "iysgu" | "iysug" | "iyugs" | "iyusg" | "img" | "imgs" | "imgu" | "imgy" | "imguy" | "imgyu" | "imgsu" | "imgsy" | "imgsuy" | "imgsyu" | "imgys" | "imgus" | "imgusy" | "imguys" | "imgysu" | "imgyus" | "imyg" | "imug" | "imugy" | "imuyg" | "imygu" | "imyug" | "imsg" | "imsgu" | "imsgy" | "imsguy" | "imsgyu" | "imsyg" | "imsug" | "imsugy" | "imsuyg" | "imsygu" | "imsyug" | "imygs" | "imysg" | "imugs" | "imugsy" | "imugys" | "imusg" | "imusgy" | "imusyg" | "imuygs" | "imuysg" | "imygsu" | "imygus" | "imysgu" | "imysug" | "imyugs" | "imyusg" | "iygm" | "iymg" | "iugm" | "iugmy" | "iugym" | "iumg" | "iumgy" | "iumyg" | "iuygm" | "iuymg" | "iygmu" | "iygum" | "iymgu" | "iymug" | "iyugm" | "iyumg" | "isgm" | "isgmu" | "isgmy" | "isgmuy" | "isgmyu" | "isgym" | "isgum" | "isgumy" | "isguym" | "isgymu" | "isgyum" | "ismg" | "ismgu" | "ismgy" | "ismguy" | "ismgyu" | "ismyg" | "ismug" | "ismugy" | "ismuyg" | "ismygu" | "ismyug" | "isygm" | "isymg" | "isugm" | "isugmy" | "isugym" | "isumg" | "isumgy" | "isumyg" | "isuygm" | "isuymg" | "isygmu" | "isygum" | "isymgu" | "isymug" | "isyugm" | "isyumg" | "iygms" | "iygsm" | "iymgs" | "iymsg" | "iysgm" | "iysmg" | "iugms" | "iugmsy" | "iugmys" | "iugsm" | "iugsmy" | "iugsym" | "iugyms" | "iugysm" | "iumgs" | "iumgsy" | "iumgys" | "iumsg" | "iumsgy" | "iumsyg" | "iumygs" | "iumysg" | "iusgm" | "iusgmy" | "iusgym" | "iusmg" | "iusmgy" | "iusmyg" | "iusygm" | "iusymg" | "iuygms" | "iuygsm" | "iuymgs" | "iuymsg" | "iuysgm" | "iuysmg" | "iygmsu" | "iygmus" | "iygsmu" | "iygsum" | "iygums" | "iygusm" | "iymgsu" | "iymgus" | "iymsgu" | "iymsug" | "iymugs" | "iymusg" | "iysgmu" | "iysgum" | "iysmgu" | "iysmug" | "iysugm" | "iysumg" | "iyugms" | "iyugsm" | "iyumgs" | "iyumsg" | "iyusgm" | "iyusmg" | "ygi" | "yig" | "ugi" | "ugiy" | "ugyi" | "uig" | "uigy" | "uiyg" | "uygi" | "uyig" | "ygiu" | "ygui" | "yigu" | "yiug" | "yugi" | "yuig" | "sgi" | "sgiu" | "sgiy" | "sgiuy" | "sgiyu" | "sgyi" | "sgui" | "sguiy" | "sguyi" | "sgyiu" | "sgyui" | "sig" | "sigu" | "sigy" | "siguy" | "sigyu" | "siyg" | "siug" | "siugy" | "siuyg" | "siygu" | "siyug" | "sygi" | "syig" | "sugi" | "sugiy" | "sugyi" | "suig" | "suigy" | "suiyg" | "suygi" | "suyig" | "sygiu" | "sygui" | "syigu" | "syiug" | "syugi" | "syuig" | "ygis" | "ygsi" | "yigs" | "yisg" | "ysgi" | "ysig" | "ugis" | "ugisy" | "ugiys" | "ugsi" | "ugsiy" | "ugsyi" | "ugyis" | "ugysi" | "uigs" | "uigsy" | "uigys" | "uisg" | "uisgy" | "uisyg" | "uiygs" | "uiysg" | "usgi" | "usgiy" | "usgyi" | "usig" | "usigy" | "usiyg" | "usygi" | "usyig" | "uygis" | "uygsi" | "uyigs" | "uyisg" | "uysgi" | "uysig" | "ygisu" | "ygius" | "ygsiu" | "ygsui" | "yguis" | "ygusi" | "yigsu" | "yigus" | "yisgu" | "yisug" | "yiugs" | "yiusg" | "ysgiu" | "ysgui" | "ysigu" | "ysiug" | "ysugi" | "ysuig" | "yugis" | "yugsi" | "yuigs" | "yuisg" | "yusgi" | "yusig" | "mgi" | "mgis" | "mgiu" | "mgiy" | "mgiuy" | "mgiyu" | "mgisu" | "mgisy" | "mgisuy" | "mgisyu" | "mgiys" | "mgius" | "mgiusy" | "mgiuys" | "mgiysu" | "mgiyus" | "mgyi" | "mgui" | "mguiy" | "mguyi" | "mgyiu" | "mgyui" | "mgsi" | "mgsiu" | "mgsiy" | "mgsiuy" | "mgsiyu" | "mgsyi" | "mgsui" | "mgsuiy" | "mgsuyi" | "mgsyiu" | "mgsyui" | "mgyis" | "mgysi" | "mguis" | "mguisy" | "mguiys" | "mgusi" | "mgusiy" | "mgusyi" | "mguyis" | "mguysi" | "mgyisu" | "mgyius" | "mgysiu" | "mgysui" | "mgyuis" | "mgyusi" | "mig" | "migs" | "migu" | "migy" | "miguy" | "migyu" | "migsu" | "migsy" | "migsuy" | "migsyu" | "migys" | "migus" | "migusy" | "miguys" | "migysu" | "migyus" | "miyg" | "miug" | "miugy" | "miuyg" | "miygu" | "miyug" | "misg" | "misgu" | "misgy" | "misguy" | "misgyu" | "misyg" | "misug" | "misugy" | "misuyg" | "misygu" | "misyug" | "miygs" | "miysg" | "miugs" | "miugsy" | "miugys" | "miusg" | "miusgy" | "miusyg" | "miuygs" | "miuysg" | "miygsu" | "miygus" | "miysgu" | "miysug" | "miyugs" | "miyusg" | "mygi" | "myig" | "mugi" | "mugiy" | "mugyi" | "muig" | "muigy" | "muiyg" | "muygi" | "muyig" | "mygiu" | "mygui" | "myigu" | "myiug" | "myugi" | "myuig" | "msgi" | "msgiu" | "msgiy" | "msgiuy" | "msgiyu" | "msgyi" | "msgui" | "msguiy" | "msguyi" | "msgyiu" | "msgyui" | "msig" | "msigu" | "msigy" | "msiguy" | "msigyu" | "msiyg" | "msiug" | "msiugy" | "msiuyg" | "msiygu" | "msiyug" | "msygi" | "msyig" | "msugi" | "msugiy" | "msugyi" | "msuig" | "msuigy" | "msuiyg" | "msuygi" | "msuyig" | "msygiu" | "msygui" | "msyigu" | "msyiug" | "msyugi" | "msyuig" | "mygis" | "mygsi" | "myigs" | "myisg" | "mysgi" | "mysig" | "mugis" | "mugisy" | "mugiys" | "mugsi" | "mugsiy" | "mugsyi" | "mugyis" | "mugysi" | "muigs" | "muigsy" | "muigys" | "muisg" | "muisgy" | "muisyg" | "muiygs" | "muiysg" | "musgi" | "musgiy" | "musgyi" | "musig" | "musigy" | "musiyg" | "musygi" | "musyig" | "muygis" | "muygsi" | "muyigs" | "muyisg" | "muysgi" | "muysig" | "mygisu" | "mygius" | "mygsiu" | "mygsui" | "myguis" | "mygusi" | "myigsu" | "myigus" | "myisgu" | "myisug" | "myiugs" | "myiusg" | "mysgiu" | "mysgui" | "mysigu" | "mysiug" | "mysugi" | "mysuig" | "myugis" | "myugsi" | "myuigs" | "myuisg" | "myusgi" | "myusig" | "ygim" | "ygmi" | "yigm" | "yimg" | "ymgi" | "ymig" | "ugim" | "ugimy" | "ugiym" | "ugmi" | "ugmiy" | "ugmyi" | "ugyim" | "ugymi" | "uigm" | "uigmy" | "uigym" | "uimg" | "uimgy" | "uimyg" | "uiygm" | "uiymg" | "umgi" | "umgiy" | "umgyi" | "umig" | "umigy" | "umiyg" | "umygi" | "umyig" | "uygim" | "uygmi" | "uyigm" | "uyimg" | "uymgi" | "uymig" | "ygimu" | "ygium" | "ygmiu" | "ygmui" | "yguim" | "ygumi" | "yigmu" | "yigum" | "yimgu" | "yimug" | "yiugm" | "yiumg" | "ymgiu" | "ymgui" | "ymigu" | "ymiug" | "ymugi" | "ymuig" | "yugim" | "yugmi" | "yuigm" | "yuimg" | "yumgi" | "yumig" | "sgim" | "sgimu" | "sgimy" | "sgimuy" | "sgimyu" | "sgiym" | "sgium" | "sgiumy" | "sgiuym" | "sgiymu" | "sgiyum" | "sgmi" | "sgmiu" | "sgmiy" | "sgmiuy" | "sgmiyu" | "sgmyi" | "sgmui" | "sgmuiy" | "sgmuyi" | "sgmyiu" | "sgmyui" | "sgyim" | "sgymi" | "sguim" | "sguimy" | "sguiym" | "sgumi" | "sgumiy" | "sgumyi" | "sguyim" | "sguymi" | "sgyimu" | "sgyium" | "sgymiu" | "sgymui" | "sgyuim" | "sgyumi" | "sigm" | "sigmu" | "sigmy" | "sigmuy" | "sigmyu" | "sigym" | "sigum" | "sigumy" | "siguym" | "sigymu" | "sigyum" | "simg" | "simgu" | "simgy" | "simguy" | "simgyu" | "simyg" | "simug" | "simugy" | "simuyg" | "simygu" | "simyug" | "siygm" | "siymg" | "siugm" | "siugmy" | "siugym" | "siumg" | "siumgy" | "siumyg" | "siuygm" | "siuymg" | "siygmu" | "siygum" | "siymgu" | "siymug" | "siyugm" | "siyumg" | "smgi" | "smgiu" | "smgiy" | "smgiuy" | "smgiyu" | "smgyi" | "smgui" | "smguiy" | "smguyi" | "smgyiu" | "smgyui" | "smig" | "smigu" | "smigy" | "smiguy" | "smigyu" | "smiyg" | "smiug" | "smiugy" | "smiuyg" | "smiygu" | "smiyug" | "smygi" | "smyig" | "smugi" | "smugiy" | "smugyi" | "smuig" | "smuigy" | "smuiyg" | "smuygi" | "smuyig" | "smygiu" | "smygui" | "smyigu" | "smyiug" | "smyugi" | "smyuig" | "sygim" | "sygmi" | "syigm" | "syimg" | "symgi" | "symig" | "sugim" | "sugimy" | "sugiym" | "sugmi" | "sugmiy" | "sugmyi" | "sugyim" | "sugymi" | "suigm" | "suigmy" | "suigym" | "suimg" | "suimgy" | "suimyg" | "suiygm" | "suiymg" | "sumgi" | "sumgiy" | "sumgyi" | "sumig" | "sumigy" | "sumiyg" | "sumygi" | "sumyig" | "suygim" | "suygmi" | "suyigm" | "suyimg" | "suymgi" | "suymig" | "sygimu" | "sygium" | "sygmiu" | "sygmui" | "syguim" | "sygumi" | "syigmu" | "syigum" | "syimgu" | "syimug" | "syiugm" | "syiumg" | "symgiu" | "symgui" | "symigu" | "symiug" | "symugi" | "symuig" | "syugim" | "syugmi" | "syuigm" | "syuimg" | "syumgi" | "syumig" | "ygims" | "ygism" | "ygmis" | "ygmsi" | "ygsim" | "ygsmi" | "yigms" | "yigsm" | "yimgs" | "yimsg" | "yisgm" | "yismg" | "ymgis" | "ymgsi" | "ymigs" | "ymisg" | "ymsgi" | "ymsig" | "ysgim" | "ysgmi" | "ysigm" | "ysimg" | "ysmgi" | "ysmig" | "ugims" | "ugimsy" | "ugimys" | "ugism" | "ugismy" | "ugisym" | "ugiyms" | "ugiysm" | "ugmis" | "ugmisy" | "ugmiys" | "ugmsi" | "ugmsiy" | "ugmsyi" | "ugmyis" | "ugmysi" | "ugsim" | "ugsimy" | "ugsiym" | "ugsmi" | "ugsmiy" | "ugsmyi" | "ugsyim" | "ugsymi" | "ugyims" | "ugyism" | "ugymis" | "ugymsi" | "ugysim" | "ugysmi" | "uigms" | "uigmsy" | "uigmys" | "uigsm" | "uigsmy" | "uigsym" | "uigyms" | "uigysm" | "uimgs" | "uimgsy" | "uimgys" | "uimsg" | "uimsgy" | "uimsyg" | "uimygs" | "uimysg" | "uisgm" | "uisgmy" | "uisgym" | "uismg" | "uismgy" | "uismyg" | "uisygm" | "uisymg" | "uiygms" | "uiygsm" | "uiymgs" | "uiymsg" | "uiysgm" | "uiysmg" | "umgis" | "umgisy" | "umgiys" | "umgsi" | "umgsiy" | "umgsyi" | "umgyis" | "umgysi" | "umigs" | "umigsy" | "umigys" | "umisg" | "umisgy" | "umisyg" | "umiygs" | "umiysg" | "umsgi" | "umsgiy" | "umsgyi" | "umsig" | "umsigy" | "umsiyg" | "umsygi" | "umsyig" | "umygis" | "umygsi" | "umyigs" | "umyisg" | "umysgi" | "umysig" | "usgim" | "usgimy" | "usgiym" | "usgmi" | "usgmiy" | "usgmyi" | "usgyim" | "usgymi" | "usigm" | "usigmy" | "usigym" | "usimg" | "usimgy" | "usimyg" | "usiygm" | "usiymg" | "usmgi" | "usmgiy" | "usmgyi" | "usmig" | "usmigy" | "usmiyg" | "usmygi" | "usmyig" | "usygim" | "usygmi" | "usyigm" | "usyimg" | "usymgi" | "usymig" | "uygims" | "uygism" | "uygmis" | "uygmsi" | "uygsim" | "uygsmi" | "uyigms" | "uyigsm" | "uyimgs" | "uyimsg" | "uyisgm" | "uyismg" | "uymgis" | "uymgsi" | "uymigs" | "uymisg" | "uymsgi" | "uymsig" | "uysgim" | "uysgmi" | "uysigm" | "uysimg" | "uysmgi" | "uysmig" | "ygimsu" | "ygimus" | "ygismu" | "ygisum" | "ygiums" | "ygiusm" | "ygmisu" | "ygmius" | "ygmsiu" | "ygmsui" | "ygmuis" | "ygmusi" | "ygsimu" | "ygsium" | "ygsmiu" | "ygsmui" | "ygsuim" | "ygsumi" | "yguims" | "yguism" | "ygumis" | "ygumsi" | "ygusim" | "ygusmi" | "yigmsu" | "yigmus" | "yigsmu" | "yigsum" | "yigums" | "yigusm" | "yimgsu" | "yimgus" | "yimsgu" | "yimsug" | "yimugs" | "yimusg" | "yisgmu" | "yisgum" | "yismgu" | "yismug" | "yisugm" | "yisumg" | "yiugms" | "yiugsm" | "yiumgs" | "yiumsg" | "yiusgm" | "yiusmg" | "ymgisu" | "ymgius" | "ymgsiu" | "ymgsui" | "ymguis" | "ymgusi" | "ymigsu" | "ymigus" | "ymisgu" | "ymisug" | "ymiugs" | "ymiusg" | "ymsgiu" | "ymsgui" | "ymsigu" | "ymsiug" | "ymsugi" | "ymsuig" | "ymugis" | "ymugsi" | "ymuigs" | "ymuisg" | "ymusgi" | "ymusig" | "ysgimu" | "ysgium" | "ysgmiu" | "ysgmui" | "ysguim" | "ysgumi" | "ysigmu" | "ysigum" | "ysimgu" | "ysimug" | "ysiugm" | "ysiumg" | "ysmgiu" | "ysmgui" | "ysmigu" | "ysmiug" | "ysmugi" | "ysmuig" | "ysugim" | "ysugmi" | "ysuigm" | "ysuimg" | "ysumgi" | "ysumig" | "yugims" | "yugism" | "yugmis" | "yugmsi" | "yugsim" | "yugsmi" | "yuigms" | "yuigsm" | "yuimgs" | "yuimsg" | "yuisgm" | "yuismg" | "yumgis" | "yumgsi" | "yumigs" | "yumisg" | "yumsgi" | "yumsig" | "yusgim" | "yusgmi" | "yusigm" | "yusimg" | "yusmgi" | "yusmig") | undefined) => RegExpTsDsl;
5385
5476
  /** Creates a return statement. */
5386
- return: (expr?: any) => ReturnTsDsl;
5477
+ return: (expr?: ReturnExpr | undefined) => ReturnTsDsl;
5387
5478
  /** Creates a setter method declaration. */
5388
- setter: (name: NodeName, fn?: ((s: SetterTsDsl) => void) | undefined) => SetterTsDsl;
5479
+ setter: (name: _hey_api_codegen_core0.NodeName, fn?: ((s: SetterTsDsl) => void) | undefined) => SetterTsDsl;
5389
5480
  /** Wraps an expression or statement-like value into a `StmtTsDsl`. */
5390
5481
  stmt: (inner: ts.Expression | ts.Statement | TsDsl<any>) => StmtTsDsl;
5391
5482
  /** Creates a template literal expression. */
5392
- template: (value?: any) => TemplateTsDsl;
5483
+ template: (value?: TemplatePart | undefined) => TemplateTsDsl;
5393
5484
  /** Creates a ternary conditional expression (if ? then : else). */
5394
5485
  ternary: (condition?: string | ts.Expression | TsDsl<ts.Expression> | undefined) => TernaryTsDsl;
5395
5486
  /** Creates a throw statement. */
@@ -5399,15 +5490,15 @@ declare const $: ((id: any) => ExprTsDsl) & {
5399
5490
  /** Creates a try/catch/finally statement. */
5400
5491
  try: (...args: ConstructorParameters<typeof TryTsDsl>) => TryTsDsl;
5401
5492
  /** Creates a basic type reference or type expression (e.g. Foo or Foo<T>). */
5402
- type: ((name: NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl) & {
5493
+ type: ((name: _hey_api_codegen_core0.NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl) & {
5403
5494
  /** Creates a type alias declaration (e.g. `type Foo = Bar`). */
5404
- alias: (name: NodeName, fn?: ((t: TypeAliasTsDsl) => void) | undefined) => TypeAliasTsDsl;
5495
+ alias: (name: _hey_api_codegen_core0.NodeName, fn?: ((t: TypeAliasTsDsl) => void) | undefined) => TypeAliasTsDsl;
5405
5496
  /** Creates an intersection type (e.g. `A & B`). */
5406
5497
  and: (...args: ConstructorParameters<typeof TypeAndTsDsl>) => TypeAndTsDsl;
5407
5498
  /** Creates a qualified type reference (e.g. Foo.Bar). */
5408
- attr: (right: any) => TypeAttrTsDsl;
5499
+ attr: (right: _hey_api_codegen_core0.NodeName | ts.Identifier) => TypeAttrTsDsl;
5409
5500
  /** Creates a basic type reference or type expression (e.g. Foo or Foo<T>). */
5410
- expr: (name: NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl;
5501
+ expr: (name: _hey_api_codegen_core0.NodeName, fn?: TypeExprFn | undefined) => TypeExprTsDsl;
5411
5502
  /** Converts a runtime value into a corresponding type expression node. */
5412
5503
  fromValue: (input: unknown) => TsDsl<ts.TypeNode>;
5413
5504
  /** Creates a function type node (e.g. `(a: string) => number`). */
@@ -5417,7 +5508,7 @@ declare const $: ((id: any) => ExprTsDsl) & {
5417
5508
  /** Creates a literal type node (e.g. 'foo', 42, or true). */
5418
5509
  literal: (value: string | number | boolean | null) => TypeLiteralTsDsl;
5419
5510
  /** Creates a mapped type (e.g. `{ [K in keyof T]: U }`). */
5420
- mapped: (name?: any) => TypeMappedTsDsl;
5511
+ mapped: (name?: _hey_api_codegen_core0.NodeName | undefined) => TypeMappedTsDsl;
5421
5512
  /** Creates a type literal node (e.g. { foo: string }). */
5422
5513
  object: () => TypeObjectTsDsl;
5423
5514
  /** Creates a type operator node (e.g. `readonly T`, `keyof T`, `unique T`). */
@@ -5425,7 +5516,7 @@ declare const $: ((id: any) => ExprTsDsl) & {
5425
5516
  /** Represents a union type (e.g. `A | B | C`). */
5426
5517
  or: (...args: ConstructorParameters<typeof TypeOrTsDsl>) => TypeOrTsDsl;
5427
5518
  /** Creates a type parameter (e.g. `<T>`). */
5428
- param: (name?: any, fn?: ((name: TypeParamTsDsl) => void) | undefined) => TypeParamTsDsl;
5519
+ param: (name?: _hey_api_codegen_core0.NodeName | undefined, fn?: ((name: TypeParamTsDsl) => void) | undefined) => TypeParamTsDsl;
5429
5520
  /** Creates a type query node (e.g. `typeof Foo`). */
5430
5521
  query: (expr: TypeQueryExpr) => TypeQueryTsDsl;
5431
5522
  /** Builds a TypeScript template literal *type* (e.g. `${Foo}-${Bar}` as a type). */
@@ -5436,7 +5527,7 @@ declare const $: ((id: any) => ExprTsDsl) & {
5436
5527
  /** Creates a `typeof` expression (e.g. `typeof value`). */
5437
5528
  typeofExpr: (expr: TypeOfExpr) => TypeOfExprTsDsl;
5438
5529
  /** Creates a variable declaration (`var`). */
5439
- var: (name?: any) => VarTsDsl;
5530
+ var: (name?: _hey_api_codegen_core0.NodeName | undefined) => VarTsDsl;
5440
5531
  };
5441
5532
  type DollarTsDsl = {
5442
5533
  /**
@@ -13847,6 +13938,14 @@ type GetIntegerLimit = (format: string | undefined) => IntegerLimit | undefined;
13847
13938
  //#endregion
13848
13939
  //#region src/plugins/valibot/resolvers/types.d.ts
13849
13940
  type Resolvers$1 = Plugin.Resolvers<{
13941
+ /**
13942
+ * Resolver for enum schemas.
13943
+ *
13944
+ * Allows customization of how enum types are rendered.
13945
+ *
13946
+ * Returning `undefined` will execute the default resolver logic.
13947
+ */
13948
+ enum?: (ctx: EnumResolverContext$1) => PipeResult | undefined;
13850
13949
  /**
13851
13950
  * Resolver for number schemas.
13852
13951
  *
@@ -13923,6 +14022,41 @@ interface BaseContext$1 extends DollarTsDsl {
13923
14022
  v: Symbol;
13924
14023
  };
13925
14024
  }
14025
+ interface EnumResolverContext$1 extends BaseContext$1 {
14026
+ /**
14027
+ * Nodes used to build different parts of the enum schema.
14028
+ */
14029
+ nodes: {
14030
+ /**
14031
+ * Returns the base enum expression (v.picklist([...])).
14032
+ */
14033
+ base: (ctx: EnumResolverContext$1) => PipeResult;
14034
+ /**
14035
+ * Returns parsed enum items with metadata about the enum members.
14036
+ */
14037
+ items: (ctx: EnumResolverContext$1) => {
14038
+ /**
14039
+ * String literal values for use with v.picklist([...]).
14040
+ */
14041
+ enumMembers: Array<ReturnType<typeof $.literal>>;
14042
+ /**
14043
+ * Whether the enum includes a null value.
14044
+ */
14045
+ isNullable: boolean;
14046
+ };
14047
+ /**
14048
+ * Returns a nullable wrapper if the enum includes null, undefined otherwise.
14049
+ */
14050
+ nullable: (ctx: EnumResolverContext$1) => PipeResult | undefined;
14051
+ };
14052
+ schema: SchemaWithType<'enum'>;
14053
+ /**
14054
+ * Utility functions for enum schema processing.
14055
+ */
14056
+ utils: {
14057
+ state: Refs<PluginState$1>;
14058
+ };
14059
+ }
13926
14060
  interface NumberResolverContext$1 extends BaseContext$1 {
13927
14061
  /**
13928
14062
  * Nodes used to build different parts of the number schema.
@@ -14218,6 +14352,14 @@ type Chain = ReturnType<typeof $.call | typeof $.expr>;
14218
14352
  //#endregion
14219
14353
  //#region src/plugins/zod/resolvers/types.d.ts
14220
14354
  type Resolvers = Plugin.Resolvers<{
14355
+ /**
14356
+ * Resolver for enum schemas.
14357
+ *
14358
+ * Allows customization of how enum types are rendered.
14359
+ *
14360
+ * Returning `undefined` will execute the default resolver logic.
14361
+ */
14362
+ enum?: (ctx: EnumResolverContext) => Chain | undefined;
14221
14363
  /**
14222
14364
  * Resolver for number schemas.
14223
14365
  *
@@ -14294,6 +14436,50 @@ interface BaseContext extends DollarTsDsl {
14294
14436
  z: Symbol;
14295
14437
  };
14296
14438
  }
14439
+ interface EnumResolverContext extends BaseContext {
14440
+ /**
14441
+ * Nodes used to build different parts of the enum schema.
14442
+ */
14443
+ nodes: {
14444
+ /**
14445
+ * Returns the base enum expression (z.enum([...]) or z.union([...]) for mixed types).
14446
+ */
14447
+ base: (ctx: EnumResolverContext) => Chain;
14448
+ /**
14449
+ * Returns parsed enum items with metadata about the enum members.
14450
+ */
14451
+ items: (ctx: EnumResolverContext) => {
14452
+ /**
14453
+ * Whether all enum items are strings (determines if z.enum can be used).
14454
+ */
14455
+ allStrings: boolean;
14456
+ /**
14457
+ * String literal values for use with z.enum([...]).
14458
+ */
14459
+ enumMembers: Array<ReturnType<typeof $.literal>>;
14460
+ /**
14461
+ * Whether the enum includes a null value.
14462
+ */
14463
+ isNullable: boolean;
14464
+ /**
14465
+ * z.literal(...) expressions for each non-null enum value.
14466
+ */
14467
+ literalMembers: Array<Chain>;
14468
+ };
14469
+ /**
14470
+ * Returns a nullable wrapper if the enum includes null, undefined otherwise.
14471
+ */
14472
+ nullable: (ctx: EnumResolverContext) => Chain | undefined;
14473
+ };
14474
+ schema: SchemaWithType<'enum'>;
14475
+ /**
14476
+ * Utility functions for enum schema processing.
14477
+ */
14478
+ utils: {
14479
+ ast: Partial<Omit<Ast, 'typeName'>>;
14480
+ state: Refs<PluginState>;
14481
+ };
14482
+ }
14297
14483
  interface NumberResolverContext extends BaseContext {
14298
14484
  /**
14299
14485
  * Nodes used to build different parts of the number schema.
@@ -16311,4 +16497,4 @@ type Config = Omit<Required<UserConfig>, 'input' | 'logs' | 'output' | 'parser'
16311
16497
  };
16312
16498
  //#endregion
16313
16499
  export { keywords as A, IR as B, Client$5 as C, reserved as D, DollarTsDsl as E, TsDslContext as F, LazyOrAsync as H, ctx as I, CallArgs as L, TsDsl as M, TypeTsDsl as N, TypeScriptRenderer as O, ExampleOptions as P, OperationPath as R, Client$4 as S, $ as T, MaybeArray$1 as U, Casing as V, Client as _, Plugin as a, Client$2 as b, OpenApiOperationObject as c, OpenApiResponseObject as d, OpenApiSchemaObject as f, ExpressionTransformer as g, TypeTransformer as h, DefinePlugin as i, MaybeTsDsl as j, regexp as k, OpenApiParameterObject as l, Logger as m, UserConfig as n, OpenApi as o, Context as p, Input as r, OpenApiMetaObject as s, Config as t, OpenApiRequestBodyObject as u, PluginHandler as v, Client$6 as w, Client$3 as x, Client$1 as y, OperationStrategy as z };
16314
- //# sourceMappingURL=config-BzR0jtGH.d.mts.map
16500
+ //# sourceMappingURL=config-BY6SQ9vq.d.mts.map