@automatons/parser 0.0.263 → 1.0.0

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.
Files changed (209) hide show
  1. package/index.d.ts +206 -3
  2. package/index.js +633 -18
  3. package/index.js.map +1 -1
  4. package/package.json +39 -35
  5. package/converters/allOf.d.ts +0 -4
  6. package/converters/allOf.d.ts.map +0 -1
  7. package/converters/allOf.js +0 -11
  8. package/converters/allOf.js.map +0 -1
  9. package/converters/array.d.ts +0 -4
  10. package/converters/array.d.ts.map +0 -1
  11. package/converters/array.js +0 -14
  12. package/converters/array.js.map +0 -1
  13. package/converters/boolean.d.ts +0 -4
  14. package/converters/boolean.d.ts.map +0 -1
  15. package/converters/boolean.js +0 -10
  16. package/converters/boolean.js.map +0 -1
  17. package/converters/map.d.ts +0 -7
  18. package/converters/map.d.ts.map +0 -1
  19. package/converters/map.js +0 -6
  20. package/converters/map.js.map +0 -1
  21. package/converters/model.d.ts +0 -3
  22. package/converters/model.d.ts.map +0 -1
  23. package/converters/model.js +0 -12
  24. package/converters/model.js.map +0 -1
  25. package/converters/number.d.ts +0 -4
  26. package/converters/number.d.ts.map +0 -1
  27. package/converters/number.js +0 -12
  28. package/converters/number.js.map +0 -1
  29. package/converters/object.d.ts +0 -4
  30. package/converters/object.d.ts.map +0 -1
  31. package/converters/object.js +0 -11
  32. package/converters/object.js.map +0 -1
  33. package/converters/oneOf.d.ts +0 -4
  34. package/converters/oneOf.d.ts.map +0 -1
  35. package/converters/oneOf.js +0 -11
  36. package/converters/oneOf.js.map +0 -1
  37. package/converters/schema.d.ts +0 -4
  38. package/converters/schema.d.ts.map +0 -1
  39. package/converters/schema.js +0 -14
  40. package/converters/schema.js.map +0 -1
  41. package/converters/schemaModel.d.ts +0 -4
  42. package/converters/schemaModel.d.ts.map +0 -1
  43. package/converters/schemaModel.js +0 -12
  44. package/converters/schemaModel.js.map +0 -1
  45. package/converters/security.d.ts +0 -4
  46. package/converters/security.d.ts.map +0 -1
  47. package/converters/security.js +0 -19
  48. package/converters/security.js.map +0 -1
  49. package/converters/server.d.ts +0 -4
  50. package/converters/server.d.ts.map +0 -1
  51. package/converters/server.js +0 -12
  52. package/converters/server.js.map +0 -1
  53. package/converters/string.d.ts +0 -4
  54. package/converters/string.d.ts.map +0 -1
  55. package/converters/string.js +0 -12
  56. package/converters/string.js.map +0 -1
  57. package/extractors/index.d.ts +0 -4
  58. package/extractors/index.d.ts.map +0 -1
  59. package/extractors/index.js +0 -20
  60. package/extractors/index.js.map +0 -1
  61. package/extractors/model/allOf.d.ts +0 -4
  62. package/extractors/model/allOf.d.ts.map +0 -1
  63. package/extractors/model/allOf.js +0 -12
  64. package/extractors/model/allOf.js.map +0 -1
  65. package/extractors/model/array.d.ts +0 -4
  66. package/extractors/model/array.d.ts.map +0 -1
  67. package/extractors/model/array.js +0 -16
  68. package/extractors/model/array.js.map +0 -1
  69. package/extractors/model/index.d.ts +0 -4
  70. package/extractors/model/index.d.ts.map +0 -1
  71. package/extractors/model/index.js +0 -42
  72. package/extractors/model/index.js.map +0 -1
  73. package/extractors/model/object.d.ts +0 -4
  74. package/extractors/model/object.d.ts.map +0 -1
  75. package/extractors/model/object.js +0 -23
  76. package/extractors/model/object.js.map +0 -1
  77. package/extractors/model/of.d.ts +0 -8
  78. package/extractors/model/of.d.ts.map +0 -1
  79. package/extractors/model/of.js +0 -15
  80. package/extractors/model/of.js.map +0 -1
  81. package/extractors/model/oneOf.d.ts +0 -6
  82. package/extractors/model/oneOf.d.ts.map +0 -1
  83. package/extractors/model/oneOf.js +0 -12
  84. package/extractors/model/oneOf.js.map +0 -1
  85. package/extractors/model/ref.d.ts +0 -4
  86. package/extractors/model/ref.d.ts.map +0 -1
  87. package/extractors/model/ref.js +0 -14
  88. package/extractors/model/ref.js.map +0 -1
  89. package/extractors/model/type.d.ts +0 -6
  90. package/extractors/model/type.d.ts.map +0 -1
  91. package/extractors/model/type.js +0 -3
  92. package/extractors/model/type.js.map +0 -1
  93. package/extractors/path/index.d.ts +0 -8
  94. package/extractors/path/index.d.ts.map +0 -1
  95. package/extractors/path/index.js +0 -18
  96. package/extractors/path/index.js.map +0 -1
  97. package/extractors/path/mediaType.d.ts +0 -3
  98. package/extractors/path/mediaType.d.ts.map +0 -1
  99. package/extractors/path/mediaType.js +0 -11
  100. package/extractors/path/mediaType.js.map +0 -1
  101. package/extractors/path/method.d.ts +0 -4
  102. package/extractors/path/method.d.ts.map +0 -1
  103. package/extractors/path/method.js +0 -76
  104. package/extractors/path/method.js.map +0 -1
  105. package/extractors/path/parameter.d.ts +0 -4
  106. package/extractors/path/parameter.d.ts.map +0 -1
  107. package/extractors/path/parameter.js +0 -84
  108. package/extractors/path/parameter.js.map +0 -1
  109. package/extractors/path/requestBody.d.ts +0 -8
  110. package/extractors/path/requestBody.d.ts.map +0 -1
  111. package/extractors/path/requestBody.js +0 -35
  112. package/extractors/path/requestBody.js.map +0 -1
  113. package/extractors/path/response.d.ts +0 -5
  114. package/extractors/path/response.d.ts.map +0 -1
  115. package/extractors/path/response.js +0 -20
  116. package/extractors/path/response.js.map +0 -1
  117. package/extractors/path/security.d.ts +0 -4
  118. package/extractors/path/security.d.ts.map +0 -1
  119. package/extractors/path/security.js +0 -11
  120. package/extractors/path/security.js.map +0 -1
  121. package/extractors/path/status.d.ts +0 -3
  122. package/extractors/path/status.d.ts.map +0 -1
  123. package/extractors/path/status.js +0 -12
  124. package/extractors/path/status.js.map +0 -1
  125. package/extractors/path/type.d.ts +0 -20
  126. package/extractors/path/type.d.ts.map +0 -1
  127. package/extractors/path/type.js +0 -3
  128. package/extractors/path/type.js.map +0 -1
  129. package/extractors/schema/allOf.d.ts +0 -7
  130. package/extractors/schema/allOf.d.ts.map +0 -1
  131. package/extractors/schema/allOf.js +0 -17
  132. package/extractors/schema/allOf.js.map +0 -1
  133. package/extractors/schema/array.d.ts +0 -12
  134. package/extractors/schema/array.d.ts.map +0 -1
  135. package/extractors/schema/array.js +0 -31
  136. package/extractors/schema/array.js.map +0 -1
  137. package/extractors/schema/boolean.d.ts +0 -11
  138. package/extractors/schema/boolean.d.ts.map +0 -1
  139. package/extractors/schema/boolean.js +0 -16
  140. package/extractors/schema/boolean.js.map +0 -1
  141. package/extractors/schema/index.d.ts +0 -9
  142. package/extractors/schema/index.d.ts.map +0 -1
  143. package/extractors/schema/index.js +0 -41
  144. package/extractors/schema/index.js.map +0 -1
  145. package/extractors/schema/number.d.ts +0 -11
  146. package/extractors/schema/number.d.ts.map +0 -1
  147. package/extractors/schema/number.js +0 -16
  148. package/extractors/schema/number.js.map +0 -1
  149. package/extractors/schema/object.d.ts +0 -7
  150. package/extractors/schema/object.d.ts.map +0 -1
  151. package/extractors/schema/object.js +0 -17
  152. package/extractors/schema/object.js.map +0 -1
  153. package/extractors/schema/oneOf.d.ts +0 -7
  154. package/extractors/schema/oneOf.d.ts.map +0 -1
  155. package/extractors/schema/oneOf.js +0 -17
  156. package/extractors/schema/oneOf.js.map +0 -1
  157. package/extractors/schema/ref.d.ts +0 -7
  158. package/extractors/schema/ref.d.ts.map +0 -1
  159. package/extractors/schema/ref.js +0 -17
  160. package/extractors/schema/ref.js.map +0 -1
  161. package/extractors/schema/string.d.ts +0 -11
  162. package/extractors/schema/string.d.ts.map +0 -1
  163. package/extractors/schema/string.js +0 -16
  164. package/extractors/schema/string.js.map +0 -1
  165. package/index.d.ts.map +0 -1
  166. package/parser.d.ts +0 -8
  167. package/parser.d.ts.map +0 -1
  168. package/parser.js +0 -16
  169. package/parser.js.map +0 -1
  170. package/parsers/api.d.ts +0 -7
  171. package/parsers/api.d.ts.map +0 -1
  172. package/parsers/api.js +0 -30
  173. package/parsers/api.js.map +0 -1
  174. package/parsers/model.d.ts +0 -4
  175. package/parsers/model.d.ts.map +0 -1
  176. package/parsers/model.js +0 -12
  177. package/parsers/model.js.map +0 -1
  178. package/types/api.d.ts +0 -105
  179. package/types/api.d.ts.map +0 -1
  180. package/types/api.js +0 -3
  181. package/types/api.js.map +0 -1
  182. package/types/index.d.ts +0 -3
  183. package/types/index.d.ts.map +0 -1
  184. package/types/index.js +0 -19
  185. package/types/index.js.map +0 -1
  186. package/types/model.d.ts +0 -94
  187. package/types/model.d.ts.map +0 -1
  188. package/types/model.js +0 -3
  189. package/types/model.js.map +0 -1
  190. package/utils/method.d.ts +0 -4
  191. package/utils/method.d.ts.map +0 -1
  192. package/utils/method.js +0 -6
  193. package/utils/method.js.map +0 -1
  194. package/utils/omitCopy.d.ts +0 -2
  195. package/utils/omitCopy.d.ts.map +0 -1
  196. package/utils/omitCopy.js +0 -7
  197. package/utils/omitCopy.js.map +0 -1
  198. package/utils/overwrite.d.ts +0 -2
  199. package/utils/overwrite.d.ts.map +0 -1
  200. package/utils/overwrite.js +0 -6
  201. package/utils/overwrite.js.map +0 -1
  202. package/utils/sort.d.ts +0 -6
  203. package/utils/sort.d.ts.map +0 -1
  204. package/utils/sort.js +0 -6
  205. package/utils/sort.js.map +0 -1
  206. package/utils/uniq.d.ts +0 -2
  207. package/utils/uniq.d.ts.map +0 -1
  208. package/utils/uniq.js +0 -6
  209. package/utils/uniq.js.map +0 -1
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB"}
1
+ {"version":3,"sources":["../src/converters/security.ts","../src/parsers/api.ts","../src/converters/map.ts","../src/extractors/model/index.ts","../src/converters/schema.ts","../src/converters/boolean.ts","../src/converters/model.ts","../src/converters/number.ts","../src/converters/string.ts","../src/converters/allOf.ts","../src/extractors/schema/index.ts","../src/converters/schemaModel.ts","../src/extractors/schema/number.ts","../src/extractors/schema/array.ts","../src/converters/array.ts","../src/extractors/schema/object.ts","../src/extractors/schema/allOf.ts","../src/extractors/schema/oneOf.ts","../src/extractors/schema/ref.ts","../src/extractors/schema/string.ts","../src/extractors/schema/boolean.ts","../src/extractors/model/of.ts","../src/extractors/model/allOf.ts","../src/extractors/model/array.ts","../src/extractors/model/object.ts","../src/converters/object.ts","../src/converters/oneOf.ts","../src/extractors/model/oneOf.ts","../src/extractors/model/ref.ts","../src/extractors/path/index.ts","../src/extractors/path/method.ts","../src/converters/server.ts","../src/utils/sort.ts","../src/extractors/path/parameter.ts","../src/extractors/path/mediaType.ts","../src/extractors/path/requestBody.ts","../src/extractors/path/response.ts","../src/extractors/path/status.ts","../src/extractors/path/security.ts","../src/utils/omitCopy.ts","../src/utils/uniq.ts","../src/utils/overwrite.ts","../src/parsers/model.ts","../src/parser.ts"],"sourcesContent":["import {OpenapiSecuritySchema} from '@automatons/tools';\nimport {camelCase} from 'change-case';\nimport {Security} from '../types';\n\nexport const convertSecurity =\n (name: string, security: OpenapiSecuritySchema, scopes: string[]): Security | undefined => {\n switch (security.type) {\n case 'apiKey':\n return {...security, name: camelCase(name), key: security.name};\n case 'http':\n return {...security, name: camelCase(name)};\n case 'oauth2':\n case 'openIdConnect':\n return {...security, name: camelCase(name), scopes};\n default:\n return undefined;\n }\n };\n","import {camelCase, pascalCase} from 'change-case';\nimport {convertMap} from '../converters/map';\nimport {extractPath} from '../extractors';\nimport {Api, Model, Path} from '../types';\nimport {uniq} from '../utils/uniq';\nimport {AutomatonContext} from '@automatons/tools';\nimport {overwrite} from '../utils/overwrite';\n\nexport const parseApi = async ({openapi, settings}: AutomatonContext): Promise<{ apis: Api[], models: Model[] }> => {\n const paths = (await Promise.all(convertMap(openapi.paths)\n .map(({key, schema}) => extractPath(schema, {path: key, openapi, settings})))).flat();\n return {\n apis: paths\n .reduce<Api[]>((apis, path) =>\n path.tags.reduce<Api[]>((_apis, tag) => {\n const title = pascalCase([tag, 'Api'].join(' '));\n const api = _apis.find((api) => api.title === title);\n return overwrite(_apis, createApi(title, path.path, path.imports, api), (item) => item.title !== title);\n }, apis), []),\n models: paths.reduce<Model[]>((models, cur) => uniq([...models, ...cur.models], 'title'), []),\n };\n};\n\nconst createApi = (title: string, path: Path, imports: Model[], base?: Api) => ({\n title: pascalCase(title),\n filename: camelCase(title),\n imports: uniq([...base?.imports ?? [], ...imports], 'title'),\n servers: uniq([...base?.servers ?? [], ...path.servers], 'name'),\n paths: [...base?.paths ?? [], path],\n});\n","import type {OpenapiMap} from '@automatons/tools';\n\nexport type ArrayMapItem<T> = {\n key: string;\n schema: T;\n}\n\nexport const convertMap = <T = any>(map: OpenapiMap<T> = {}): Array<ArrayMapItem<T>> =>\n Object.entries(map).map(([key, schema]) => ({key, schema}));\n","import {\n AutomatonContext,\n isSchemaAllOf,\n isSchemaArray,\n isSchemaBoolean,\n isSchemaInteger,\n isSchemaNumber,\n isSchemaObject,\n isSchemaOneOf,\n isSchemaRef,\n isSchemaString,\n OpenapiSchema,\n} from '@automatons/tools';\nimport {convertBoolean} from '../../converters/boolean';\nimport {convertModel} from '../../converters/model';\nimport {convertNumber} from '../../converters/number';\nimport {convertString} from '../../converters/string';\nimport {extractAllOfModel} from './allOf';\nimport {extractArrayModel} from './array';\nimport {extractObjectModel} from './object';\nimport {extractOneOfModel} from './oneOf';\nimport {extractRefModel} from './ref';\nimport {ExtractModel} from './type';\n\nexport const extractModel =\n async (title: string, schema: OpenapiSchema, context: AutomatonContext): Promise<ExtractModel> => {\n if (isSchemaString(schema)) {\n return {model: convertModel(title, convertString(schema)), insides: []};\n } else if (isSchemaNumber(schema) || isSchemaInteger(schema)) {\n return {model: convertModel(title, convertNumber(schema)), insides: []};\n } else if (isSchemaBoolean(schema)) {\n return {model: convertModel(title, convertBoolean(schema)), insides: []};\n } else if (isSchemaArray(schema)) {\n return extractArrayModel(title, schema, context);\n } else if (isSchemaObject(schema)) {\n return extractObjectModel(title, schema, context);\n } else if (isSchemaAllOf(schema)) {\n return extractAllOfModel(title, schema, context);\n } else if (isSchemaOneOf(schema)) {\n return extractOneOfModel(title, schema, context);\n } else if (isSchemaRef(schema)) {\n return extractRefModel(title, schema, context);\n }\n throw new Error(`Unknown type\\n${JSON.stringify(schema, undefined, 2)}`);\n };\n","import type {SchemaCommon} from '../types';\nimport type {OpenapiSchema} from '@automatons/tools';\n\nexport const convertSchema = (schema: OpenapiSchema): SchemaCommon => ({\n description: schema.description,\n nullable: schema.nullable,\n readOnly: schema.readOnly,\n writeOnly: schema.writeOnly,\n deprecated: schema.deprecated,\n example: schema.example,\n defaultValue: schema.default,\n});\n","import type {BooleanSchema} from '../types';\nimport type {OpenapiSchemaBoolean} from '@automatons/tools';\nimport {convertSchema} from './schema';\n\nexport const convertBoolean = (schema: OpenapiSchemaBoolean): BooleanSchema => ({\n type: 'boolean',\n ...convertSchema(schema),\n});\n","import {camelCase, pascalCase} from 'change-case';\nimport type {Model, Schema} from '../types';\n\nexport const convertModel = (title: string, schema: Schema, imports: Model[] = []): Model => ({\n title: pascalCase(title),\n filename: camelCase(title),\n imports,\n schema,\n});\n","import {OpenapiSchemaInteger, OpenapiSchemaNumber} from '@automatons/tools';\nimport {NumberSchema} from '../types';\nimport {convertSchema} from './schema';\n\nexport const convertNumber = (schema: OpenapiSchemaNumber | OpenapiSchemaInteger): NumberSchema => ({\n type: 'number',\n format: schema.format,\n ...convertSchema(schema),\n enum: schema.enum ?? [],\n});\n","import {OpenapiSchemaString} from '@automatons/tools';\nimport {StringSchema} from '../types';\nimport {convertSchema} from './schema';\n\nexport const convertString = (schema: OpenapiSchemaString): StringSchema => ({\n type: 'string',\n format: schema.format,\n enum: schema.enum ?? [],\n ...convertSchema(schema),\n});\n","import type {OpenapiSchemaAllOf} from '@automatons/tools';\nimport type {AllOfSchema, Schema} from '../types';\nimport {convertSchema} from './schema';\n\nexport const convertAllOf = (schema: OpenapiSchemaAllOf, schemas: Schema[]): AllOfSchema => ({\n type: 'allOf',\n ...convertSchema(schema),\n schemas,\n});\n","import {\n AutomatonContext,\n isSchemaAllOf,\n isSchemaArray, isSchemaBoolean,\n isSchemaInteger,\n isSchemaNumber,\n isSchemaObject,\n isSchemaOneOf,\n isSchemaRef,\n isSchemaString,\n OpenapiSchema,\n} from '@automatons/tools';\nimport {Model, Schema} from '../../types';\nimport {extractNumberSchema} from './number';\nimport {extractArraySchema} from './array';\nimport {extractObjectSchema} from './object';\nimport {extractAllOfSchema} from './allOf';\nimport {extractOneOfSchema} from './oneOf';\nimport {extractRefSchema} from './ref';\nimport {extractStringSchema} from './string';\nimport {extractBooleanSchema} from './boolean';\n\nexport type ExtractSchemaResult = { schema: Schema, models: Model[], imports?: Model[] };\n\nexport const extractSchema = async (title: string, schema: OpenapiSchema,\n context: AutomatonContext): Promise<ExtractSchemaResult> => {\n if (isSchemaString(schema)) {\n return extractStringSchema(title, schema);\n } else if (isSchemaNumber(schema) || isSchemaInteger(schema)) {\n return extractNumberSchema(title, schema);\n } else if (isSchemaBoolean(schema)) {\n return extractBooleanSchema(title, schema);\n } else if (isSchemaArray(schema)) {\n return extractArraySchema(title, schema, context);\n } else if (isSchemaObject(schema)) {\n return extractObjectSchema(title, schema, context);\n } else if (isSchemaAllOf(schema)) {\n return extractAllOfSchema(title, schema, context);\n } else if (isSchemaOneOf(schema)) {\n return extractOneOfSchema(title, schema, context);\n } else if (isSchemaRef(schema)) {\n return extractRefSchema(title, schema);\n }\n throw new Error(`Unknown type\\n${JSON.stringify(schema, undefined, 2)}`);\n};\n\n","import {OpenapiSchema} from '@automatons/tools';\nimport {pascalCase} from 'change-case';\nimport {ModelSchema} from '../types';\nimport {convertSchema} from './schema';\n\nexport const convertSchemaModel = (model: string, schema: OpenapiSchema): ModelSchema => ({\n type: 'model',\n name: pascalCase(model),\n ...convertSchema(schema),\n});\n","import {OpenapiSchemaInteger, OpenapiSchemaNumber} from '@automatons/tools';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {convertModel} from '../../converters/model';\nimport {convertNumber} from '../../converters/number';\n\nexport const extractNumberSchema = (title: string, schema: OpenapiSchemaNumber | OpenapiSchemaInteger) => {\n if (schema.title) {\n const modelSchema = convertSchemaModel(title, schema);\n const models = [convertModel(title, convertNumber(schema))];\n return {schema: modelSchema, models, imports: models};\n }\n return {schema: convertNumber(schema), models: []};\n};\n","import {AutomatonContext, OpenapiSchemaArray} from '@automatons/tools';\nimport {Model} from '../../types';\nimport {pascalCase} from 'change-case';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {convertModel} from '../../converters/model';\nimport {convertArray} from '../../converters/array';\nimport {extractSchema} from './index';\n\nexport const extractArraySchema = async (title: string, schema: OpenapiSchemaArray, context: AutomatonContext) => {\n const models: Model[] = [];\n const imports: Model[] = [];\n let itemSchema = undefined;\n if (schema.items) {\n const {schema: shm, models: itemModels, imports: itemImports} =\n await extractSchema(pascalCase([title, 'Item'].join(' ')), schema.items, context);\n itemSchema = shm;\n models.push(...itemModels);\n imports.push(...(itemImports ?? []));\n }\n if (schema.title) {\n const modelSchema = convertSchemaModel(title, schema);\n const model = convertModel(title, convertArray(schema, itemSchema));\n return {schema: modelSchema, models: [model, ...models], imports: [...models]};\n }\n return {\n schema: convertArray(schema, itemSchema),\n models: models,\n imports,\n };\n};\n","import type {OpenapiSchemaArray} from '@automatons/tools';\nimport type {ArraySchema, Schema} from '../types';\nimport {convertSchema} from './schema';\n\nexport const convertArray = (schema: OpenapiSchemaArray, itemSchema?: Schema): ArraySchema => ({\n type: 'array',\n ...convertSchema(schema),\n uniqueItems: schema.uniqueItems,\n minItems: schema.minItems,\n maxItems: schema.maxItems,\n items: itemSchema,\n});\n","import {AutomatonContext, OpenapiSchemaObject} from '@automatons/tools';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {extractModel} from '../model';\nimport {convertModel} from '../../converters/model';\n\nexport const extractObjectSchema = async (title: string, schema: OpenapiSchemaObject, context: AutomatonContext) => {\n const modelSchema = convertSchemaModel(title, schema);\n const {model, insides} = await extractModel(title, schema, context);\n return {\n schema: modelSchema,\n models: [model, ...insides],\n imports: [convertModel(title, modelSchema)],\n };\n};\n","import {AutomatonContext, OpenapiSchemaAllOf} from '@automatons/tools';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {extractModel} from '../model';\nimport {convertModel} from '../../converters/model';\n\nexport const extractAllOfSchema = async (title: string, schema: OpenapiSchemaAllOf, context: AutomatonContext) => {\n const modelSchema = convertSchemaModel(title, schema);\n const {model, insides} = await extractModel(title, schema, context);\n return {\n schema: modelSchema,\n models: [model, ...insides],\n imports: [convertModel(title, modelSchema)],\n };\n};\n","import {AutomatonContext, OpenapiSchemaOneOf} from '@automatons/tools';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {extractModel} from '../model';\nimport {convertModel} from '../../converters/model';\n\nexport const extractOneOfSchema = async (title: string, schema: OpenapiSchemaOneOf, context: AutomatonContext) => {\n const modelSchema = convertSchemaModel(title, schema);\n const {model, insides} = await extractModel(title, schema, context);\n return {\n schema: modelSchema,\n models: [model, ...insides],\n imports: [convertModel(title, modelSchema)],\n };\n};\n","import {OpenapiSchemaReference, referenceTitle} from '@automatons/tools';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {convertModel} from '../../converters/model';\n\nexport const extractRefSchema = (title: string, schema: OpenapiSchemaReference) => {\n const name = referenceTitle(schema) ?? title;\n const modelSchema = convertSchemaModel(name, schema);\n return {\n schema: modelSchema,\n models: [],\n imports: [convertModel(name, modelSchema)],\n };\n};\n","import {OpenapiSchemaString} from '@automatons/tools';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {convertModel} from '../../converters/model';\nimport {convertString} from '../../converters/string';\n\nexport const extractStringSchema = (title: string, schema: OpenapiSchemaString) => {\n if (schema.title) {\n const modelSchema = convertSchemaModel(title, schema);\n const models = [convertModel(title, convertString(schema))];\n return {schema: modelSchema, models, imports: models};\n }\n return {schema: convertString(schema), models: []};\n};\n","import {OpenapiSchemaBoolean} from '@automatons/tools';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {convertModel} from '../../converters/model';\nimport {convertBoolean} from '../../converters/boolean';\n\nexport const extractBooleanSchema = (title: string, schema: OpenapiSchemaBoolean) => {\n if (schema.title) {\n const modelSchema = convertSchemaModel(title, schema);\n const models = [convertModel(title, convertBoolean(schema))];\n return {schema: modelSchema, models, imports: models};\n }\n return {schema: convertBoolean(schema), models: []};\n};\n","import {extractSchema} from '../schema';\nimport {pascalCase} from 'change-case';\nimport {Model, Schema} from '../../types';\nimport {AutomatonContext, OpenapiSchema} from '@automatons/tools';\n\nexport const extractOfModel = (title: string, schemas: OpenapiSchema[], context: AutomatonContext) => {\n return schemas.map((item, index) =>\n extractSchema(pascalCase([title, index].join(' ')), item, context))\n .reduce<Promise<{ schemas: Schema[], models: Model[], imports: Model[] }>>(async (pre, cur) =>\n ({\n schemas: [...(await pre).schemas, (await cur).schema],\n models: [...(await pre).models, ...(await cur).models],\n imports: [...(await pre).imports, ...((await cur).imports ?? [])],\n }), Promise.resolve({schemas: [], models: [], imports: []}));\n};\n","import {AutomatonContext, OpenapiSchemaAllOf} from '@automatons/tools';\nimport {convertAllOf} from '../../converters/allOf';\nimport {convertModel} from '../../converters/model';\nimport {extractOfModel} from './of';\nimport {ExtractModel} from './type';\n\nexport const extractAllOfModel =\n async (title: string, schema: OpenapiSchemaAllOf, context: AutomatonContext): Promise<ExtractModel> => {\n const {models, schemas, imports} = await extractOfModel(title, schema.allOf, context);\n return {model: convertModel(title, convertAllOf(schema, schemas), imports), insides: models};\n };\n","import {AutomatonContext, OpenapiSchemaArray} from '@automatons/tools';\nimport {pascalCase} from 'change-case';\nimport {convertArray} from '../../converters/array';\nimport {convertModel} from '../../converters/model';\nimport {extractSchema} from '../schema';\nimport {ExtractModel} from './type';\n\nexport const extractArrayModel =\n async (title: string, schema: OpenapiSchemaArray, context: AutomatonContext): Promise<ExtractModel> => {\n if (schema.items) {\n const {schema: shm, models, imports} =\n await extractSchema(pascalCase([title, 'Item'].join(' ')), schema.items, context);\n return {model: convertModel(title, convertArray(schema, shm), imports), insides: models};\n }\n return {model: convertModel(title, convertArray(schema)), insides: []};\n };\n","import {AutomatonContext, OpenapiSchemaObject} from '@automatons/tools';\nimport {pascalCase} from 'change-case';\nimport {convertMap} from '../../converters/map';\nimport {convertModel} from '../../converters/model';\nimport {convertObjectSchema} from '../../converters/object';\nimport {Model} from '../../types';\nimport {extractSchema} from '../schema';\nimport {ExtractModel} from './type';\n\nexport const extractObjectModel =\n async (title: string, schema: OpenapiSchemaObject, context: AutomatonContext): Promise<ExtractModel> => {\n const models: Model[] = [];\n const imports: Model[] = [];\n const propertySchemas = schema.properties;\n const properties = await Promise.all(convertMap(propertySchemas)\n .map(async ({key, schema: propertySchema}) => {\n const extractPropertySchema = await extractSchema(pascalCase([title, key].join(' ')), propertySchema, context);\n models.push(...extractPropertySchema.models);\n imports.push(...(extractPropertySchema.imports ?? []));\n return {name: key, required: schema.required?.includes(key) ?? false, schema: extractPropertySchema.schema};\n }));\n return {model: convertModel(title, convertObjectSchema(schema, properties), imports), insides: models};\n };\n","import {OpenapiSchemaObject} from '@automatons/tools';\nimport {ObjectSchema, Property} from '../types';\nimport {convertSchema} from './schema';\n\nexport const convertObjectSchema = (schema: OpenapiSchemaObject, properties?: Property[]): ObjectSchema => ({\n type: 'object',\n ...convertSchema(schema),\n properties,\n});\n","import {OpenapiSchemaOneOf} from '@automatons/tools';\nimport {OneOfSchema, Schema} from '../types';\nimport {convertSchema} from './schema';\n\nexport const convertOneOf = (schema: OpenapiSchemaOneOf, schemas: Schema[]): OneOfSchema => ({\n type: 'oneOf',\n ...convertSchema(schema),\n schemas,\n});\n","import {convertModel} from '../../converters/model';\nimport {convertOneOf} from '../../converters/oneOf';\nimport {extractOfModel} from './of';\nimport {AutomatonContext, OpenapiSchemaOneOf} from '@automatons/tools';\n\nexport const extractOneOfModel = async (title: string, schema: OpenapiSchemaOneOf, context: AutomatonContext) => {\n const {models, schemas, imports} = await extractOfModel(title, schema.oneOf, context);\n return {model: convertModel(title, convertOneOf(schema, schemas), imports), insides: models};\n};\n","import {\n AutomatonContext,\n OpenapiSchema,\n OpenapiSchemaReference,\n referenceSchema,\n referenceTitle,\n} from '@automatons/tools';\nimport {convertModel} from '../../converters/model';\nimport {convertSchemaModel} from '../../converters/schemaModel';\nimport {ExtractModel} from './type';\n\nexport const extractRefModel =\n async (title: string, schema: OpenapiSchemaReference, context: AutomatonContext): Promise<ExtractModel> => {\n const refSchema = await referenceSchema<OpenapiSchema>(schema, context);\n const refTitle = referenceTitle(schema);\n\n const ref = convertSchemaModel(refTitle, refSchema);\n return {model: convertModel(title, ref, [convertModel(refTitle, ref)]), insides: []};\n };\n","import {AutomatonContext, HTTP_METHODS, Method, OpenapiPath, OpenapiPathOperation} from '@automatons/tools';\nimport {PathReturn} from './type';\nimport {extractMethod} from './method';\nimport {isRef, referenceSchema} from '@automatons/tools';\nimport {omitCopy} from '../../utils/omitCopy';\n\ntype PathContext = { path: string } & AutomatonContext;\n\nexport const extractPath =\n async (schema: OpenapiPath, {path, openapi, settings}: PathContext): Promise<PathReturn[]> => {\n const _schema = isRef(schema) ?\n {...await referenceSchema(schema, {openapi, settings}), ...omitCopy(schema, '$ref')} :\n schema;\n return Promise.all(HTTP_METHODS\n .map<{ method: Method, operation: OpenapiPath | undefined }>((method) => ({method, operation: _schema[method]}))\n .filter<{ method: Method, operation: OpenapiPathOperation }>(\n (operation): operation is { method: Method, operation: OpenapiPathOperation } => !!operation.operation)\n .map(({method, operation}) => extractMethod(path, method, operation, _schema, {openapi, settings})));\n };\n","import {AutomatonContext, Method, OpenapiParameter, OpenapiPath, OpenapiPathOperation} from '@automatons/tools';\nimport {camelCase} from 'change-case';\nimport {convertServer} from '../../converters/server';\nimport {\n CookieParameter,\n Form,\n HeaderParameter,\n Model,\n PathParameter,\n QueryParameter,\n Schema,\n Security,\n Server,\n} from '../../types';\nimport {requiredCompare} from '../../utils/sort';\nimport {extractParameter} from './parameter';\nimport {extractRequestBody} from './requestBody';\nimport {extractResponse} from './response';\nimport {extractSecurity} from './security';\nimport {PathReturn} from './type';\n\nconst mergeModels = (main: Models, adding: Models) => {\n main.models.push(...adding.models);\n main.imports.push(...adding.imports);\n};\n\nconst mergeParameter =\n async (parameters: OpenapiParameter[],\n path: string,\n params: Params,\n models: Models,\n {openapi, settings}: AutomatonContext) => {\n const {\n parameters: _parameters,\n queries: _queries,\n headers: _headers,\n cookies: _cookies,\n models: _models,\n imports: _imports,\n } =\n await extractParameter(parameters, {path, openapi, settings});\n params.parameters.push(..._parameters);\n params.queries.push(..._queries);\n params.headers.push(..._headers);\n params.cookies.push(..._cookies);\n mergeModels(models, {models: _models, imports: _imports});\n };\n\ntype Models = {\n models: Model[];\n imports: Model[];\n}\n\ntype Params = {\n parameters: PathParameter[];\n queries: QueryParameter[];\n headers: HeaderParameter[];\n cookies: CookieParameter[];\n};\n\ntype Data = {\n params: Params;\n servers: Server[];\n securities?: Security[];\n forms?: Form[];\n schema?: Schema;\n};\n\nexport const extractMethod = async (path: string, method: Method, operation: OpenapiPathOperation, schema: OpenapiPath,\n {openapi, settings}: AutomatonContext): Promise<PathReturn> => {\n const models: Models = {\n models: [],\n imports: [],\n };\n const params: Params = {\n parameters: [],\n queries: [],\n headers: [],\n cookies: [],\n };\n const data: Data = {\n params,\n servers: (operation.servers || schema.servers || openapi.servers || [])\n .map(convertServer),\n securities: extractSecurity(operation, openapi),\n };\n\n if (schema.parameters) {\n await mergeParameter(schema.parameters, path, params, models, {openapi, settings});\n }\n\n if (operation.parameters) {\n await mergeParameter(operation.parameters, path, params, models, {openapi, settings});\n }\n\n if (operation.requestBody) {\n const bodies: { forms: Form[], models: Model[], imports: Model[]; } =\n await extractRequestBody(operation.requestBody, path, method, {openapi, settings});\n data.forms = bodies.forms;\n mergeModels(models, {models: bodies.models, imports: bodies.imports});\n }\n\n const response = await extractResponse(operation.responses, method, {path, openapi, settings});\n\n if (response) {\n data.schema = response.schema;\n mergeModels(models, {models: response.models, imports: response.imports ?? []});\n }\n\n return convertPath(path, method, operation, data, models);\n};\n\nconst convertPath = (path: string, method: Method, operation: OpenapiPathOperation,\n {params, servers, securities, forms, schema}: Data, models: Models): PathReturn => ({\n tags: operation.tags && operation.tags.length ? operation.tags : ['default'],\n path: {\n name: camelCase(operation.operationId ?? [method, ...path.split('/')].join(' ')),\n path,\n method,\n servers,\n parameters: params.parameters,\n queries: params.queries.sort(requiredCompare),\n headers: params.headers.sort(requiredCompare),\n cookies: params.cookies.sort(requiredCompare),\n ...(securities ? {securities} : {}),\n ...(forms ? {forms} : {}),\n ...(schema ? {schema} : {}),\n },\n ...models,\n});\n\n","import {OpenapiServer} from '@automatons/tools';\nimport {Server} from '../types';\nimport {convertMap} from './map';\nimport {pascalCase} from 'change-case';\n\nexport const convertServer = (schema: OpenapiServer): Server => ({\n name: pascalCase(schema['x-name'] ?? schema.url),\n url: schema.url,\n values: convertMap(schema.variables).map(({key, schema}) =>\n ({name: key, defaultValue: schema.default, enums: schema.enum})),\n});\n","export const requiredCompare = (a: { required?: boolean }, b: { required?: boolean }) =>\n (a.required && b.required) || (!a.required && !b.required) ? 0 : b.required ? 1 : -1;\n","import {\n hasSchema,\n isCookieParam,\n isHeaderParam,\n isPathParam,\n isQueryParam,\n OpenapiParameter,\n referenceSchema,\n} from '@automatons/tools';\nimport {pascalCase} from 'change-case';\nimport {extractSchema} from '../schema';\nimport {extractMediaType} from './mediaType';\nimport {ParameterResult, PathContext} from './type';\n\nexport const extractParameter =\n (schema: OpenapiParameter[], {path, ...context}: PathContext): Promise<ParameterResult> =>\n schema\n .map((param) => referenceSchema(param, context))\n .map(async (param) => {\n const _param = await param;\n const paramSchema = hasSchema(_param) ? _param.schema : Object.keys(_param.content).length ?\n _param.content[extractMediaType(_param.content)]?.schema : undefined;\n if (!paramSchema) return;\n const {schema, models, imports} =\n await extractSchema(pascalCase([path, 'parameter', _param.name].join(' ')),\n paramSchema, context);\n if (isPathParam(_param)) {\n return {\n parameter: {\n name: _param.name,\n schema,\n style: _param.style,\n explode: _param.explode,\n },\n models,\n imports,\n };\n } else if (isQueryParam(_param)) {\n return {\n query: {\n name: _param.name,\n schema,\n style: _param.style,\n required: _param.required,\n explode: _param.explode,\n },\n models,\n imports,\n };\n } else if (isHeaderParam(_param)) {\n return {\n header: {\n name: _param.name,\n schema,\n style: _param.style,\n required: _param.required,\n explode: _param.explode,\n },\n models,\n imports,\n };\n } else if (isCookieParam(_param)) {\n return {\n cookie: {\n name: _param.name,\n schema,\n style: _param.style,\n required: _param.required,\n explode: _param.explode,\n },\n models,\n imports,\n };\n }\n return;\n })\n .reduce<Promise<ParameterResult>>(async (pre, cur) => {\n const previous = await pre;\n const current = await cur;\n return current ? ({\n parameters: current.parameter ? [...previous.parameters, current.parameter] : previous.parameters,\n queries: current.query ? [...previous.queries, current.query] : previous.queries,\n headers: current.header ? [...previous.headers, current.header] : previous.headers,\n cookies: current.cookie ? [...previous.cookies, current.cookie] : previous.cookies,\n models: [...previous.models, ...current.models],\n imports: [...previous.imports, ...current.imports ?? []],\n }) :\n previous;\n }, Promise.resolve({parameters: [], queries: [], headers: [], cookies: [], models: [], imports: []}));\n","import {OpenapiMap, OpenapiPathMedia} from '@automatons/tools';\n\nexport const extractMediaType = (schema: OpenapiMap<OpenapiPathMedia>): keyof OpenapiMap<OpenapiPathMedia> =>\n Object.hasOwn(schema, 'application/json') ?\n 'application/json' :\n Object.hasOwn(schema, 'application/*') ?\n 'application/*' :\n Object.hasOwn(schema, 'default') ?\n 'default' : Object.keys(schema)[0] ?? '';\n","import {\n AutomatonContext,\n OpenapiPathMedia,\n OpenapiPathRequestBody,\n OpenapiReference,\n OpenapiSchema,\n referenceSchema,\n} from '@automatons/tools';\nimport {isDeepStrictEqual} from 'node:util';\nimport {Form, Model} from '../../types';\nimport {extractSchema, ExtractSchemaResult} from '../schema';\n\nexport const extractRequestBody =\n async (schema: OpenapiPathRequestBody | OpenapiReference, path: string, method: any, context: AutomatonContext) => {\n const requestBody = await referenceSchema(schema, context);\n const extracts = await Promise.all(Object.entries(requestBody.content)\n .filter<[string, OpenapiPathMedia & { schema: OpenapiSchema }]>(\n (item): item is [string, OpenapiPathMedia & { schema: OpenapiSchema }] => !!item[1].schema)\n .map<Promise<{ key: string, required?: boolean, extract: ExtractSchemaResult }>>(async ([key, value]) => ({\n key,\n required: requestBody.required,\n extract: await extractSchema([...path.split('/'), method, ...key.split('/'), 'Request'].join(' '), value.schema,\n context),\n })));\n return extracts\n .map<{ form: Form, models: Model[], imports?: Model[] }>(({key, required, extract}) =>\n ({\n form: {types: [key], required, schema: extract.schema},\n models: extract.models,\n imports: extract.imports,\n }))\n .reduce<{ forms: Form[], models: Model[], imports: Model[] }>((pre, cur) => ({\n forms: pre.forms.some((form) => isDeepStrictEqual(form.schema, cur.form.schema)) ? pre.forms.map(\n (form) => isDeepStrictEqual(form.schema, cur.form.schema) ? {\n ...form,\n types: [...form.types, ...cur.form.types],\n } : form) : [...pre.forms, cur.form],\n models: [...pre.models, ...cur.models],\n imports: [...pre.imports, ...cur.imports ?? []],\n }), {forms: [], models: [], imports: []});\n };\n","import {Method, OpenapiMap, OpenapiPathResponse, OpenapiReference, referenceSchema} from '@automatons/tools';\nimport {extractSchema, ExtractSchemaResult} from '../schema';\nimport {extractMediaType} from './mediaType';\nimport {extractStatus} from './status';\nimport {PathContext} from './type';\n\nexport const extractResponse =\n async (schema: OpenapiMap<OpenapiPathResponse | OpenapiReference>,\n method: Method,\n context: PathContext): Promise<ExtractSchemaResult | void> => {\n const status = extractStatus(schema);\n const response = await referenceSchema(schema[status]!, context);\n const content = response.content;\n if (!content || !Object.keys(content).length) return;\n const resSchema = content[extractMediaType(content)]?.schema;\n if (!resSchema) return;\n return extractSchema([...context.path.split('/'), method, 'Response'].join(' '),\n resSchema, context);\n };\n","import {OpenapiMap, OpenapiPathResponse, OpenapiReference} from '@automatons/tools';\n\nexport const extractStatus = (schema: OpenapiMap<OpenapiPathResponse | OpenapiReference>):\n keyof OpenapiMap<OpenapiPathResponse | OpenapiReference> => {\n const statuses = Object.keys(schema);\n return statuses\n .map((status) => Number(status))\n .filter((status) => Number(status) >= 200 && Number(status) < 300)\n .sort()[0] ?? statuses[0] ?? '';\n};\n","import {Security} from '../../types';\nimport {convertSecurity} from '../../converters/security';\nimport {Openapi, OpenapiPathOperation} from '@automatons/tools';\n\nexport const extractSecurity = (operation: OpenapiPathOperation, openapi: Openapi): Security[] | undefined =>\n operation.security && operation.security.map((value) =>\n Object.entries(value)\n .map<Security | undefined>(([name, scopes]): Security | undefined => {\n const security = openapi.components?.securitySchemes?.[name];\n return security ? convertSecurity(name, security, scopes) : undefined;\n }).filter<Security>((value): value is Security => value !== undefined)).flat();\n","export const omitCopy = <T extends object, S extends keyof T>(schema: T, key: S): Omit<T, S> =>\n Object.entries(schema)\n .reduce((pre, [name, value]) =>\n ({...pre, ...(name !== key ? {[name]: value} : {})}), {}) as Omit<T, S>;\n","export const uniq = <T extends object>(items: T[], key: keyof T): T[] => items.reduce<T[]>(\n (pre, cur) => pre.some((item) => cur[key] === item[key]) ? pre : [...pre, cur], []);\n","export const overwrite = <T>(items: T[], item: T, predicate: (item: T) => boolean): T[] =>\n [...(items.filter(predicate)), item];\n","import {pascalCase} from 'change-case';\nimport {convertMap} from '../converters/map';\nimport {extractModel} from '../extractors/model';\nimport {Model} from '../types';\nimport {AutomatonContext} from '@automatons/tools';\n\nexport const parseModel = async (context: AutomatonContext): Promise<Model[]> =>\n (await Promise.all(convertMap(context.openapi.components?.schemas)\n .map(({key, schema}) =>\n ({title: pascalCase(key), schema}))\n .map(async ({title, schema}) => Object.values(await extractModel(title, schema, context)))))\n .flat(2);\n","import {AutomatonSettings, Openapi} from '@automatons/tools';\nimport {convertSecurity} from './converters/security';\nimport {parseApi} from './parsers/api';\nimport {parseModel} from './parsers/model';\nimport {Api, Model, Security} from './types';\n\nexport const parser =\n async (openapi: Openapi, settings: AutomatonSettings):\n Promise<{ models: Model[], apis: Api[], securities: Security[] }> => {\n const {apis, models} = await parseApi({openapi, settings});\n models.push(...await parseModel({openapi, settings}));\n const securities = Object.entries(openapi.components?.securitySchemes ?? {})\n .map(([key, schema]) => convertSecurity(key, schema, []))\n .filter<Security>((value): value is Security => value !== undefined);\n return {models, apis, securities};\n };\n"],"mappings":"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","names":["camelCase","pascalCase","isSchemaAllOf","isSchemaArray","isSchemaBoolean","isSchemaInteger","isSchemaNumber","isSchemaObject","isSchemaOneOf","isSchemaRef","isSchemaString","camelCase","pascalCase","pascalCase","pascalCase","pascalCase","pascalCase","pascalCase","pascalCase","pascalCase","pascalCase","referenceTitle","referenceTitle","isSchemaString","isSchemaNumber","isSchemaInteger","isSchemaBoolean","isSchemaArray","isSchemaObject","isSchemaAllOf","isSchemaOneOf","isSchemaRef","camelCase","pascalCase","schema","referenceSchema","pascalCase","referenceSchema","schema","pascalCase","referenceSchema","referenceSchema","referenceSchema","referenceSchema","value","camelCase","referenceSchema","referenceSchema","pascalCase","api","camelCase","pascalCase","pascalCase"]}
package/package.json CHANGED
@@ -1,54 +1,58 @@
1
1
  {
2
2
  "name": "@automatons/parser",
3
- "version": "0.0.263",
4
- "repository": "git@github.com:openapi-automatons/parser.git",
3
+ "version": "1.0.0",
4
+ "repository": "https://github.com/openapi-automatons/parser.git",
5
5
  "author": "tanmen <yt.prog@gmail.com>",
6
6
  "license": "MIT",
7
+ "packageManager": "yarn@1.22.22",
8
+ "type": "module",
7
9
  "keywords": [
8
10
  "openapi",
9
11
  "openapi-automatons",
10
12
  "automatons"
11
13
  ],
12
14
  "main": "index.js",
15
+ "module": "index.js",
16
+ "types": "index.d.ts",
17
+ "exports": {
18
+ ".": {
19
+ "types": "./index.d.ts",
20
+ "import": "./index.js"
21
+ }
22
+ },
23
+ "engines": {
24
+ "node": ">=22"
25
+ },
13
26
  "scripts": {
14
- "prebuild": "depcheck && node scripts/prebuild.js",
15
- "build": "tsc && cp package.json README.md LICENSE dist",
16
- "lint": "eslint src --ext .ts,.tsx",
17
- "test": "jest",
18
- "postinstall": "husky install && typesync && yarn check --integrity || yarn install --ignore-scripts && yarn-deduplicate",
19
- "postversion": "cp package.json ../package.json"
27
+ "prebuild": "depcheck",
28
+ "build": "tsup && cp package.json README.md LICENSE dist",
29
+ "lint": "eslint src",
30
+ "test": "vitest run",
31
+ "test:watch": "vitest",
32
+ "test:coverage": "vitest run --coverage",
33
+ "prepare": "husky"
20
34
  },
21
35
  "dependencies": {
22
- "@automatons/tools": "^1.0.217",
23
- "change-case": "^4.1.1",
24
- "deep-equal": "^2.2.0",
25
- "fs-extra": "^10.0.0"
36
+ "@automatons/tools": "^2.0.0",
37
+ "change-case": "^5.4.4"
26
38
  },
27
39
  "devDependencies": {
28
- "@commitlint/cli": "^17.4.1",
29
- "@commitlint/config-conventional": "^17.4.0",
30
- "@semantic-release/changelog": "^6.0.2",
40
+ "@commitlint/cli": "^21.0.2",
41
+ "@commitlint/config-conventional": "^21.0.2",
42
+ "@eslint/js": "^9.39.0",
43
+ "@semantic-release/changelog": "^6.0.3",
31
44
  "@semantic-release/git": "^10.0.1",
32
- "@semantic-release/npm": "^9.0.1",
33
- "@types/deep-equal": "^1.0.1",
34
- "@types/eslint": "^8.4.10",
35
- "@types/fs-extra": "^9.0.1",
36
- "@types/jest": "^27.5.0",
37
- "@types/node": "^18.11.18",
38
- "@types/semantic-release": "^17.2.4",
39
- "@typescript-eslint/eslint-plugin": "^5.48.0",
40
- "@typescript-eslint/parser": "^5.48.0",
41
- "depcheck": "^1.4.3",
42
- "eslint": "^8.31.0",
43
- "eslint-config-google": "^0.14.0",
44
- "husky": "^8.0.3",
45
- "jest": "^26.0.1",
46
- "lint-staged": "^13.1.0",
47
- "semantic-release": "^19.0.5",
48
- "ts-jest": "^26.0.0",
49
- "typescript": "^4.7.4",
50
- "typesync": "^0.9.2",
51
- "yarn-deduplicate": "^6.0.1"
45
+ "@types/node": "^24.0.0",
46
+ "@vitest/coverage-v8": "^3.2.0",
47
+ "depcheck": "^1.4.7",
48
+ "eslint": "^9.39.0",
49
+ "husky": "^9.1.7",
50
+ "lint-staged": "^17.0.7",
51
+ "semantic-release": "^25.0.3",
52
+ "tsup": "^8.5.0",
53
+ "typescript": "^6.0.3",
54
+ "typescript-eslint": "^8.46.0",
55
+ "vitest": "^3.2.0"
52
56
  },
53
57
  "publishConfig": {
54
58
  "access": "public"
@@ -1,4 +0,0 @@
1
- import type { OpenapiSchemaAllOf } from '@automatons/tools';
2
- import type { AllOfSchema, Schema } from '../types';
3
- export declare const convertAllOf: (schema: OpenapiSchemaAllOf, schemas: Schema[]) => AllOfSchema;
4
- //# sourceMappingURL=allOf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"allOf.d.ts","sourceRoot":"","sources":["../../src/converters/allOf.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AAGlD,eAAO,MAAM,YAAY,WAAY,kBAAkB,WAAW,MAAM,EAAE,KAAG,WAI3E,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertAllOf = void 0;
4
- const schema_1 = require("./schema");
5
- const convertAllOf = (schema, schemas) => ({
6
- type: 'allOf',
7
- ...(0, schema_1.convertSchema)(schema),
8
- schemas,
9
- });
10
- exports.convertAllOf = convertAllOf;
11
- //# sourceMappingURL=allOf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"allOf.js","sourceRoot":"","sources":["../../src/converters/allOf.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAEhC,MAAM,YAAY,GAAG,CAAC,MAA0B,EAAE,OAAiB,EAAe,EAAE,CAAC,CAAC;IAC3F,IAAI,EAAE,OAAO;IACb,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;IACxB,OAAO;CACR,CAAC,CAAC;AAJU,QAAA,YAAY,gBAItB"}
@@ -1,4 +0,0 @@
1
- import type { OpenapiSchemaArray } from '@automatons/tools';
2
- import type { ArraySchema, Schema } from '../types';
3
- export declare const convertArray: (schema: OpenapiSchemaArray, itemSchema?: Schema) => ArraySchema;
4
- //# sourceMappingURL=array.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/converters/array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AAGlD,eAAO,MAAM,YAAY,WAAY,kBAAkB,eAAe,MAAM,KAAG,WAO7E,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertArray = void 0;
4
- const schema_1 = require("./schema");
5
- const convertArray = (schema, itemSchema) => ({
6
- type: 'array',
7
- ...(0, schema_1.convertSchema)(schema),
8
- uniqueItems: schema.uniqueItems,
9
- minItems: schema.minItems,
10
- maxItems: schema.maxItems,
11
- items: itemSchema,
12
- });
13
- exports.convertArray = convertArray;
14
- //# sourceMappingURL=array.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/converters/array.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAEhC,MAAM,YAAY,GAAG,CAAC,MAA0B,EAAE,UAAmB,EAAe,EAAE,CAAC,CAAC;IAC7F,IAAI,EAAE,OAAO;IACb,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,KAAK,EAAE,UAAU;CAClB,CAAC,CAAC;AAPU,QAAA,YAAY,gBAOtB"}
@@ -1,4 +0,0 @@
1
- import type { BooleanSchema } from '../types';
2
- import type { OpenapiSchemaBoolean } from '@automatons/tools';
3
- export declare const convertBoolean: (schema: OpenapiSchemaBoolean) => BooleanSchema;
4
- //# sourceMappingURL=boolean.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../src/converters/boolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAG5D,eAAO,MAAM,cAAc,WAAY,oBAAoB,KAAG,aAG5D,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertBoolean = void 0;
4
- const schema_1 = require("./schema");
5
- const convertBoolean = (schema) => ({
6
- type: 'boolean',
7
- ...(0, schema_1.convertSchema)(schema),
8
- });
9
- exports.convertBoolean = convertBoolean;
10
- //# sourceMappingURL=boolean.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../src/converters/boolean.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAEhC,MAAM,cAAc,GAAG,CAAC,MAA4B,EAAiB,EAAE,CAAC,CAAC;IAC9E,IAAI,EAAE,SAAS;IACf,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;CACzB,CAAC,CAAC;AAHU,QAAA,cAAc,kBAGxB"}
@@ -1,7 +0,0 @@
1
- import type { OpenapiMap } from '@automatons/tools';
2
- export declare type ArrayMapItem<T> = {
3
- key: string;
4
- schema: T;
5
- };
6
- export declare const convertMap: <T = any>(map?: OpenapiMap<T>) => ArrayMapItem<T>[];
7
- //# sourceMappingURL=map.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/converters/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,oBAAY,YAAY,CAAC,CAAC,IAAI;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,CAAC,CAAC;CACX,CAAA;AAED,eAAO,MAAM,UAAU,qDACmC,CAAC"}
package/converters/map.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertMap = void 0;
4
- const convertMap = (map = {}) => Object.keys(map).map((key) => ({ key, schema: map[key] }));
5
- exports.convertMap = convertMap;
6
- //# sourceMappingURL=map.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/converters/map.ts"],"names":[],"mappings":";;;AAOO,MAAM,UAAU,GAAG,CAAU,MAAqB,EAAE,EAA0B,EAAE,CACrF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,CAAC;AAD9C,QAAA,UAAU,cACoC"}
@@ -1,3 +0,0 @@
1
- import type { Model, Schema } from '../types';
2
- export declare const convertModel: (title: string, schema: Schema, imports?: Model[]) => Model;
3
- //# sourceMappingURL=model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/converters/model.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AAE5C,eAAO,MAAM,YAAY,UAAW,MAAM,UAAU,MAAM,YAAW,KAAK,EAAE,KAAQ,KAKlF,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertModel = void 0;
4
- const change_case_1 = require("change-case");
5
- const convertModel = (title, schema, imports = []) => ({
6
- title: (0, change_case_1.pascalCase)(title),
7
- filename: (0, change_case_1.camelCase)(title),
8
- imports,
9
- schema,
10
- });
11
- exports.convertModel = convertModel;
12
- //# sourceMappingURL=model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/converters/model.ts"],"names":[],"mappings":";;;AAAA,6CAAkD;AAG3C,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,MAAc,EAAE,UAAmB,EAAE,EAAS,EAAE,CAAC,CAAC;IAC5F,KAAK,EAAE,IAAA,wBAAU,EAAC,KAAK,CAAC;IACxB,QAAQ,EAAE,IAAA,uBAAS,EAAC,KAAK,CAAC;IAC1B,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AALU,QAAA,YAAY,gBAKtB"}
@@ -1,4 +0,0 @@
1
- import { OpenapiSchemaInteger, OpenapiSchemaNumber } from '@automatons/tools';
2
- import { NumberSchema } from '../types';
3
- export declare const convertNumber: (schema: OpenapiSchemaNumber | OpenapiSchemaInteger) => NumberSchema;
4
- //# sourceMappingURL=number.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/converters/number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAGtC,eAAO,MAAM,aAAa,WAAY,mBAAmB,GAAG,oBAAoB,KAAG,YAKjF,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertNumber = void 0;
4
- const schema_1 = require("./schema");
5
- const convertNumber = (schema) => ({
6
- type: 'number',
7
- format: schema.format,
8
- ...(0, schema_1.convertSchema)(schema),
9
- enum: schema.enum ?? [],
10
- });
11
- exports.convertNumber = convertNumber;
12
- //# sourceMappingURL=number.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"number.js","sourceRoot":"","sources":["../../src/converters/number.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAEhC,MAAM,aAAa,GAAG,CAAC,MAAkD,EAAgB,EAAE,CAAC,CAAC;IAClG,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;CACxB,CAAC,CAAC;AALU,QAAA,aAAa,iBAKvB"}
@@ -1,4 +0,0 @@
1
- import { OpenapiSchemaObject } from '@automatons/tools';
2
- import { ObjectSchema, Property } from '../types';
3
- export declare const convertObjectSchema: (schema: OpenapiSchemaObject, properties?: Property[]) => ObjectSchema;
4
- //# sourceMappingURL=object.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../src/converters/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAE,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGhD,eAAO,MAAM,mBAAmB,WAAY,mBAAmB,eAAe,QAAQ,EAAE,KAAG,YAIzF,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertObjectSchema = void 0;
4
- const schema_1 = require("./schema");
5
- const convertObjectSchema = (schema, properties) => ({
6
- type: 'object',
7
- ...(0, schema_1.convertSchema)(schema),
8
- properties,
9
- });
10
- exports.convertObjectSchema = convertObjectSchema;
11
- //# sourceMappingURL=object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../src/converters/object.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAEhC,MAAM,mBAAmB,GAAG,CAAC,MAA2B,EAAE,UAAuB,EAAgB,EAAE,CAAC,CAAC;IAC1G,IAAI,EAAE,QAAQ;IACd,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;IACxB,UAAU;CACX,CAAC,CAAC;AAJU,QAAA,mBAAmB,uBAI7B"}
@@ -1,4 +0,0 @@
1
- import { OpenapiSchemaOneOf } from '@automatons/tools';
2
- import { OneOfSchema, Schema } from '../types';
3
- export declare const convertOneOf: (schema: OpenapiSchemaOneOf, schemas: Schema[]) => OneOfSchema;
4
- //# sourceMappingURL=oneOf.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oneOf.d.ts","sourceRoot":"","sources":["../../src/converters/oneOf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,YAAY,WAAY,kBAAkB,WAAW,MAAM,EAAE,KAAG,WAI3E,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertOneOf = void 0;
4
- const schema_1 = require("./schema");
5
- const convertOneOf = (schema, schemas) => ({
6
- type: 'oneOf',
7
- ...(0, schema_1.convertSchema)(schema),
8
- schemas,
9
- });
10
- exports.convertOneOf = convertOneOf;
11
- //# sourceMappingURL=oneOf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oneOf.js","sourceRoot":"","sources":["../../src/converters/oneOf.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAEhC,MAAM,YAAY,GAAG,CAAC,MAA0B,EAAE,OAAiB,EAAe,EAAE,CAAC,CAAC;IAC3F,IAAI,EAAE,OAAO;IACb,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;IACxB,OAAO;CACR,CAAC,CAAC;AAJU,QAAA,YAAY,gBAItB"}
@@ -1,4 +0,0 @@
1
- import type { SchemaCommon } from '../types';
2
- import type { OpenapiSchema } from '@automatons/tools';
3
- export declare const convertSchema: (schema: OpenapiSchema) => SchemaCommon;
4
- //# sourceMappingURL=schema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/converters/schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,aAAa,WAAY,aAAa,KAAG,YAQpD,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertSchema = void 0;
4
- const convertSchema = (schema) => ({
5
- description: schema.description,
6
- nullable: schema.nullable,
7
- readOnly: schema.readOnly,
8
- writeOnly: schema.writeOnly,
9
- deprecated: schema.deprecated,
10
- example: schema.example,
11
- defaultValue: schema.default,
12
- });
13
- exports.convertSchema = convertSchema;
14
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/converters/schema.ts"],"names":[],"mappings":";;;AAGO,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAgB,EAAE,CAAC,CAAC;IACrE,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;IACzB,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,YAAY,EAAE,MAAM,CAAC,OAAO;CAC7B,CAAC,CAAC;AARU,QAAA,aAAa,iBAQvB"}
@@ -1,4 +0,0 @@
1
- import { OpenapiSchema } from '@automatons/tools';
2
- import { ModelSchema } from '../types';
3
- export declare const convertSchemaModel: (model: string, schema: OpenapiSchema) => ModelSchema;
4
- //# sourceMappingURL=schemaModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaModel.d.ts","sourceRoot":"","sources":["../../src/converters/schemaModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAC,WAAW,EAAC,MAAM,UAAU,CAAC;AAGrC,eAAO,MAAM,kBAAkB,UAAW,MAAM,UAAU,aAAa,KAAG,WAIxE,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertSchemaModel = void 0;
4
- const change_case_1 = require("change-case");
5
- const schema_1 = require("./schema");
6
- const convertSchemaModel = (model, schema) => ({
7
- type: 'model',
8
- name: (0, change_case_1.pascalCase)(model),
9
- ...(0, schema_1.convertSchema)(schema),
10
- });
11
- exports.convertSchemaModel = convertSchemaModel;
12
- //# sourceMappingURL=schemaModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaModel.js","sourceRoot":"","sources":["../../src/converters/schemaModel.ts"],"names":[],"mappings":";;;AACA,6CAAuC;AAEvC,qCAAuC;AAEhC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,MAAqB,EAAe,EAAE,CAAC,CAAC;IACxF,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,IAAA,wBAAU,EAAC,KAAK,CAAC;IACvB,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;CACzB,CAAC,CAAC;AAJU,QAAA,kBAAkB,sBAI5B"}
@@ -1,4 +0,0 @@
1
- import { OpenapiSecuritySchema } from '@automatons/tools';
2
- import { Security } from '../types';
3
- export declare const convertSecurity: (name: string, security: OpenapiSecuritySchema, scopes: string[]) => Security | undefined;
4
- //# sourceMappingURL=security.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/converters/security.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,eAAe,SACnB,MAAM,YAAY,qBAAqB,UAAU,MAAM,EAAE,KAAG,QAAQ,GAAG,SAY7E,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertSecurity = void 0;
4
- const change_case_1 = require("change-case");
5
- const convertSecurity = (name, security, scopes) => {
6
- switch (security.type) {
7
- case 'apiKey':
8
- return { ...security, name: (0, change_case_1.camelCase)(name), key: security.name };
9
- case 'http':
10
- return { ...security, name: (0, change_case_1.camelCase)(name) };
11
- case 'oauth2':
12
- case 'openIdConnect':
13
- return { ...security, name: (0, change_case_1.camelCase)(name), scopes };
14
- default:
15
- return undefined;
16
- }
17
- };
18
- exports.convertSecurity = convertSecurity;
19
- //# sourceMappingURL=security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/converters/security.ts"],"names":[],"mappings":";;;AACA,6CAAsC;AAG/B,MAAM,eAAe,GAC1B,CAAC,IAAY,EAAE,QAA+B,EAAE,MAAgB,EAAwB,EAAE;IACxF,QAAQ,QAAQ,CAAC,IAAI,EAAE;QACvB,KAAK,QAAQ;YACX,OAAO,EAAC,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAC,CAAC;QAClE,KAAK,MAAM;YACT,OAAO,EAAC,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAI,CAAC,EAAC,CAAC;QAC9C,KAAK,QAAQ,CAAC;QACd,KAAK,eAAe;YAClB,OAAO,EAAC,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAA,uBAAS,EAAC,IAAI,CAAC,EAAE,MAAM,EAAC,CAAC;QACtD;YACE,OAAO,SAAS,CAAC;KAClB;AACH,CAAC,CAAC;AAbS,QAAA,eAAe,mBAaxB"}
@@ -1,4 +0,0 @@
1
- import { OpenapiServer } from '@automatons/tools';
2
- import { Server } from '../types';
3
- export declare const convertServer: (schema: OpenapiServer) => Server;
4
- //# sourceMappingURL=server.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/converters/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAIhC,eAAO,MAAM,aAAa,WAAY,aAAa,KAAG,MAKpD,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertServer = void 0;
4
- const map_1 = require("./map");
5
- const change_case_1 = require("change-case");
6
- const convertServer = (schema) => ({
7
- name: (0, change_case_1.pascalCase)(schema['x-name'] ?? schema.url),
8
- url: schema.url,
9
- values: (0, map_1.convertMap)(schema.variables).map(({ key, schema }) => ({ name: key, defaultValue: schema.default, enums: schema.enum })),
10
- });
11
- exports.convertServer = convertServer;
12
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/converters/server.ts"],"names":[],"mappings":";;;AAEA,+BAAiC;AACjC,6CAAuC;AAEhC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAU,EAAE,CAAC,CAAC;IAC/D,IAAI,EAAE,IAAA,wBAAU,EAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,MAAM,EAAE,IAAA,gBAAU,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,GAAG,EAAE,MAAM,EAAC,EAAE,EAAE,CACzD,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAC,CAAC,CAAC;CACnE,CAAC,CAAC;AALU,QAAA,aAAa,iBAKvB"}
@@ -1,4 +0,0 @@
1
- import { OpenapiSchemaString } from '@automatons/tools';
2
- import { StringSchema } from '../types';
3
- export declare const convertString: (schema: OpenapiSchemaString) => StringSchema;
4
- //# sourceMappingURL=string.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../src/converters/string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAGtC,eAAO,MAAM,aAAa,WAAY,mBAAmB,KAAG,YAK1D,CAAC"}
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertString = void 0;
4
- const schema_1 = require("./schema");
5
- const convertString = (schema) => ({
6
- type: 'string',
7
- format: schema.format,
8
- enum: schema.enum ?? [],
9
- ...(0, schema_1.convertSchema)(schema),
10
- });
11
- exports.convertString = convertString;
12
- //# sourceMappingURL=string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/converters/string.ts"],"names":[],"mappings":";;;AAEA,qCAAuC;AAEhC,MAAM,aAAa,GAAG,CAAC,MAA2B,EAAgB,EAAE,CAAC,CAAC;IAC3E,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;IACvB,GAAG,IAAA,sBAAa,EAAC,MAAM,CAAC;CACzB,CAAC,CAAC;AALU,QAAA,aAAa,iBAKvB"}
@@ -1,4 +0,0 @@
1
- export * from './model';
2
- export * from './schema';
3
- export * from './path';
4
- //# sourceMappingURL=index.d.ts.map