Skip to content

Commit

Permalink
fix: break out Parameter into separate types
Browse files Browse the repository at this point in the history
  • Loading branch information
mikewuu committed Aug 29, 2024
1 parent 16865c1 commit 5409bcf
Showing 1 changed file with 53 additions and 3 deletions.
56 changes: 53 additions & 3 deletions src/lib/blueprint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,17 +50,67 @@ export interface Endpoint {
codeSamples: CodeSample[]
}

export interface Parameter {
interface BaseParameter {
name: string
isRequired: boolean
isUndocumented: boolean
isDeprecated: boolean
deprecationMessage: string
description: string
jsonType: string
format: string
}

interface StringParameter extends BaseParameter {
format: 'string'
jsonType: 'string'
}

interface EnumParameter extends BaseParameter {
format: 'enum'
jsonType: 'string'
values: EnumValue[]
}

interface RecordParameter extends BaseParameter {
format: 'record'
jsonType: 'object'
}

interface ListParameter extends BaseParameter {
format: 'list'
jsonType: 'array'
}

interface BooleanParameter extends BaseParameter {
format: 'boolean'
jsonType: 'boolean'
}

interface ObjectParameter extends BaseParameter {
format: 'object'
jsonType: 'object'
properties: Parameter[]
}

interface DatetimeParameter extends BaseParameter {
format: 'datetime'
jsonType: 'string'
}

interface IdParameter extends BaseParameter {
format: 'id'
jsonType: 'string'
}

export type Parameter =
| StringParameter
| EnumParameter
| RecordParameter
| ListParameter
| BooleanParameter
| ObjectParameter
| DatetimeParameter
| IdParameter

export interface Request {
methods: Method[]
semanticMethod: Method
Expand Down

0 comments on commit 5409bcf

Please sign in to comment.