apikana
Version:
Integrated tools for REST API design - アピ
118 lines (100 loc) • 1.66 kB
text/typescript
import {CompanyInfo, UUID} from "./company";
import {Int} from "apikana/default-types";
// import {Gender} from "acorn/gender";
export interface Users {
count: number
data: User[]
}
var a; //ignore too!
/**
* dfgljfh df lh ölf // ignore!
* @type string
*
*/
export enum Gender {
MALE, FEMALE
}
export interface User {
/**
* the id
*/
id: UUID
/**
* the given name
* @pattern [a-z]
* @asType dfl
* @description afasdfsd
*/
firstName: string // @asType integer
lastName: string // the family name @pattern [A-Z] because
anInt: string // @type integer bla
age?: Int
gender: Gender
birthday: string // @format date-time, hula
parent?: User
company: CompanyInfo
properties?: { [key: string]: Int }
type: string
noRequiredFields: NoRequiredFields
}
/**
* base
*/
export interface Base {
a: Int
}
interface Base2 {
b: Int
}
export interface ExtNix extends Base {
}
/**
* ext
*/
export interface Ext extends Base {
c: Int
}
/**
* ext ext
*/
export interface ExtExt extends Ext {
d: Int
}
export interface Ext2 extends User, Base2 {
e: Int
}
export enum EnumSimple {
A, B
}
/**
* @type integer
*/
export enum EnumSimpleInt {
A, B
}
/**
* @type string
*/
export enum EnumSimpleString {
A, B
}
/**
* @type integer
*/
export enum EnumValueInt {
A = 5, B
}
export enum EnumValueString {
A = "a1" as any,
B = "b2" as any
}
export enum EnumValueMix {
A = 5,
B = "b2" as any
}
/**
* Type with only optional fields.
*/
export interface NoRequiredFields {
optionalField?: string;
}