@goast/typescript 0.3.7 → 0.3.8

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.
@@ -310,7 +310,7 @@ export class RequestBuilder {
310
310
  return value;
311
311
  }
312
312
  if (typeof value === 'object') {
313
- return JSON.stringify(value);
313
+ return new Blob([JSON.stringify(value)], { type: 'application/json' });
314
314
  }
315
315
  return String(value);
316
316
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.instanceType = exports.returnType = exports.parameters = exports.nonNullable = exports.extract = exports.exclude = exports.omit = exports.pick = exports.required = exports.partial = exports.readonly = exports.readonlyArray = exports.promise = exports.set = exports.map = exports.record = exports.array = exports.null_ = exports.undefined_ = exports.object = exports.symbol = exports.bigint = exports.boolean = exports.string = exports.number = exports.never = exports.void_ = exports.unknown = exports.any = void 0;
3
+ exports.blob = exports.instanceType = exports.returnType = exports.parameters = exports.nonNullable = exports.extract = exports.exclude = exports.omit = exports.pick = exports.required = exports.partial = exports.readonly = exports.readonlyArray = exports.promise = exports.set = exports.map = exports.record = exports.array = exports.null_ = exports.undefined_ = exports.object = exports.symbol = exports.bigint = exports.boolean = exports.string = exports.number = exports.never = exports.void_ = exports.unknown = exports.any = void 0;
4
4
  const reference_1 = require("../nodes/reference");
5
5
  exports.any = reference_1.tsReference.factory('any');
6
6
  exports.unknown = reference_1.tsReference.factory('unknown');
@@ -31,3 +31,4 @@ exports.nonNullable = reference_1.tsReference.genericFactory('NonNullable');
31
31
  exports.parameters = reference_1.tsReference.genericFactory('Parameters');
32
32
  exports.returnType = reference_1.tsReference.genericFactory('ReturnType');
33
33
  exports.instanceType = reference_1.tsReference.genericFactory('InstanceType');
34
+ exports.blob = reference_1.tsReference.factory('Blob');
@@ -203,7 +203,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
203
203
  case 'number':
204
204
  return 'number';
205
205
  case 'string':
206
- return 'string';
206
+ return this.getStringType(ctx, schema);
207
207
  case 'null':
208
208
  return 'null';
209
209
  case 'unknown':
@@ -222,6 +222,12 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
222
222
  return this.getAnyType(ctx);
223
223
  }
224
224
  }
225
+ getStringType(ctx, schema) {
226
+ if (schema.format === 'binary') {
227
+ return ast_1.ts.refs.blob();
228
+ }
229
+ return 'string';
230
+ }
225
231
  getArrayType(ctx, schema) {
226
232
  var _a;
227
233
  return ast_1.ts.arrayType((_a = this.getType(ctx, schema.items)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
@@ -290,7 +296,7 @@ class DefaultTypeScriptModelGenerator extends file_generator_1.TypeScriptFileGen
290
296
  return ast_1.ts.unionType(schema.type.map((x) => {
291
297
  switch (x) {
292
298
  case 'string':
293
- return 'string';
299
+ return this.getStringType(ctx, schema);
294
300
  case 'number':
295
301
  case 'integer':
296
302
  return 'number';
@@ -28,3 +28,4 @@ export const nonNullable = tsReference.genericFactory('NonNullable');
28
28
  export const parameters = tsReference.genericFactory('Parameters');
29
29
  export const returnType = tsReference.genericFactory('ReturnType');
30
30
  export const instanceType = tsReference.genericFactory('InstanceType');
31
+ export const blob = tsReference.factory('Blob');
@@ -200,7 +200,7 @@ export class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator {
200
200
  case 'number':
201
201
  return 'number';
202
202
  case 'string':
203
- return 'string';
203
+ return this.getStringType(ctx, schema);
204
204
  case 'null':
205
205
  return 'null';
206
206
  case 'unknown':
@@ -219,6 +219,12 @@ export class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator {
219
219
  return this.getAnyType(ctx);
220
220
  }
221
221
  }
222
+ getStringType(ctx, schema) {
223
+ if (schema.format === 'binary') {
224
+ return ts.refs.blob();
225
+ }
226
+ return 'string';
227
+ }
222
228
  getArrayType(ctx, schema) {
223
229
  var _a;
224
230
  return ts.arrayType((_a = this.getType(ctx, schema.items)) !== null && _a !== void 0 ? _a : this.getAnyType(ctx), {
@@ -287,7 +293,7 @@ export class DefaultTypeScriptModelGenerator extends TypeScriptFileGenerator {
287
293
  return ts.unionType(schema.type.map((x) => {
288
294
  switch (x) {
289
295
  case 'string':
290
- return 'string';
296
+ return this.getStringType(ctx, schema);
291
297
  case 'number':
292
298
  case 'integer':
293
299
  return 'number';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goast/typescript",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "repository": "https://github.com/MaSch0212/goast.git",
5
5
  "description": "Provides gOAst generators for generating TypeScript code from OpenAPI specifications.",
6
6
  "keywords": [
@@ -189,3 +189,9 @@ export declare const instanceType: (<TBuilder extends import("@goast/core").Sour
189
189
  moduleNameOrfilePath: import("@goast/core").Nullable<string>;
190
190
  infer: <TBuilder extends import("@goast/core").SourceBuilder>() => import("../nodes/reference").TsReference<TBuilder, never>;
191
191
  };
192
+ export declare const blob: (<TBuilder extends import("@goast/core").SourceBuilder>(options?: {
193
+ importType?: import("@goast/core").Nullable<import("../../common-results").TypeScriptImportType>;
194
+ }) => import("../nodes/reference").TsReference<TBuilder, never>) & {
195
+ refName: string;
196
+ moduleNameOrfilePath: import("@goast/core").Nullable<string>;
197
+ };
@@ -1,4 +1,4 @@
1
- import { ApiSchema, AppendValueGroup, ArrayLikeApiSchema, CombinedLikeApiSchema, Nullable, ObjectLikeApiSchema } from '@goast/core';
1
+ import { ApiSchema, AppendValueGroup, ArrayLikeApiSchema, CombinedLikeApiSchema, Nullable, ObjectLikeApiSchema, StringLikeApiSchema } from '@goast/core';
2
2
  import { TypeScriptModelGeneratorContext, TypeScriptModelGeneratorOutput } from './models';
3
3
  import { ts } from '../../ast';
4
4
  import { TypeScriptComponentOutputKind } from '../../common-results';
@@ -24,6 +24,7 @@ export declare class DefaultTypeScriptModelGenerator extends TypeScriptFileGener
24
24
  skipSchemas?: boolean;
25
25
  useBaseType?: boolean;
26
26
  }): ts.Type<Builder> | null;
27
+ protected getStringType(ctx: Context, schema: StringLikeApiSchema): ts.Type<Builder>;
27
28
  protected getArrayType(ctx: Context, schema: ArrayLikeApiSchema): ts.Type<Builder>;
28
29
  protected getObjectType(ctx: Context, schema: ObjectLikeApiSchema): ts.Type<Builder>;
29
30
  protected getDiscriminatorType(ctx: Context, schema: ApiSchema): ts.Type<Builder>;