@declaro/core 2.0.0-y.0 → 2.1.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 (266) hide show
  1. package/{LICENSE → LICENSE.md} +1 -1
  2. package/README.md +203 -0
  3. package/dist/browser/index.js +28 -0
  4. package/dist/browser/index.js.map +133 -0
  5. package/dist/browser/scope/index.js +3 -0
  6. package/dist/browser/scope/index.js.map +9 -0
  7. package/dist/bun/index.js +19011 -0
  8. package/dist/bun/index.js.map +132 -0
  9. package/dist/bun/scope/index.js +4 -0
  10. package/dist/bun/scope/index.js.map +9 -0
  11. package/dist/node/index.cjs +19039 -0
  12. package/dist/node/index.cjs.map +132 -0
  13. package/dist/node/index.js +19010 -0
  14. package/dist/node/index.js.map +132 -0
  15. package/dist/node/scope/index.cjs +69 -0
  16. package/dist/node/scope/index.cjs.map +9 -0
  17. package/dist/node/scope/index.js +3 -0
  18. package/dist/node/scope/index.js.map +9 -0
  19. package/dist/ts/app/app-context.d.ts +9 -0
  20. package/dist/ts/app/app-context.d.ts.map +1 -0
  21. package/dist/ts/app/app-lifecycle.d.ts +6 -0
  22. package/dist/ts/app/app-lifecycle.d.ts.map +1 -0
  23. package/dist/ts/app/app.d.ts +24 -0
  24. package/dist/ts/app/app.d.ts.map +1 -0
  25. package/dist/{app → ts/app}/index.d.ts +1 -0
  26. package/dist/ts/app/index.d.ts.map +1 -0
  27. package/dist/ts/application/create-request-context.d.ts +4 -0
  28. package/dist/ts/application/create-request-context.d.ts.map +1 -0
  29. package/dist/ts/application/create-request-context.test.d.ts +2 -0
  30. package/dist/ts/application/create-request-context.test.d.ts.map +1 -0
  31. package/dist/ts/application/use-declaro.d.ts +3 -0
  32. package/dist/ts/application/use-declaro.d.ts.map +1 -0
  33. package/dist/{auth → ts/auth}/permission-validator.d.ts +1 -0
  34. package/dist/ts/auth/permission-validator.d.ts.map +1 -0
  35. package/dist/ts/auth/permission-validator.test.d.ts +2 -0
  36. package/dist/ts/auth/permission-validator.test.d.ts.map +1 -0
  37. package/dist/ts/context/async-context.d.ts +54 -0
  38. package/dist/ts/context/async-context.d.ts.map +1 -0
  39. package/dist/ts/context/async-context.test.d.ts +2 -0
  40. package/dist/ts/context/async-context.test.d.ts.map +1 -0
  41. package/dist/{context → ts/context}/context-consumer.d.ts +4 -0
  42. package/dist/ts/context/context-consumer.d.ts.map +1 -0
  43. package/dist/ts/context/context.circular-deps.test.d.ts +2 -0
  44. package/dist/ts/context/context.circular-deps.test.d.ts.map +1 -0
  45. package/dist/ts/context/context.d.ts +452 -0
  46. package/dist/ts/context/context.d.ts.map +1 -0
  47. package/dist/ts/context/context.test.d.ts +2 -0
  48. package/dist/ts/context/context.test.d.ts.map +1 -0
  49. package/dist/ts/context/legacy-context.test.d.ts +2 -0
  50. package/dist/ts/context/legacy-context.test.d.ts.map +1 -0
  51. package/dist/{context → ts/context}/validators.d.ts +2 -1
  52. package/dist/ts/context/validators.d.ts.map +1 -0
  53. package/dist/ts/dataflow/index.d.ts +2 -0
  54. package/dist/ts/dataflow/index.d.ts.map +1 -0
  55. package/dist/ts/dataflow/objects.d.ts +7 -0
  56. package/dist/ts/dataflow/objects.d.ts.map +1 -0
  57. package/dist/ts/dataflow/objects.test.d.ts +2 -0
  58. package/dist/ts/dataflow/objects.test.d.ts.map +1 -0
  59. package/dist/{errors → ts/errors}/errors.d.ts +16 -3
  60. package/dist/ts/errors/errors.d.ts.map +1 -0
  61. package/dist/ts/events/event-manager.d.ts +19 -0
  62. package/dist/ts/events/event-manager.d.ts.map +1 -0
  63. package/dist/ts/events/event-manager.spec.d.ts +2 -0
  64. package/dist/ts/events/event-manager.spec.d.ts.map +1 -0
  65. package/dist/ts/events/index.d.ts +2 -0
  66. package/dist/ts/events/index.d.ts.map +1 -0
  67. package/dist/ts/http/headers.d.ts +21 -0
  68. package/dist/ts/http/headers.d.ts.map +1 -0
  69. package/dist/ts/http/headers.spec.d.ts +2 -0
  70. package/dist/ts/http/headers.spec.d.ts.map +1 -0
  71. package/dist/ts/http/request-context.d.ts +17 -0
  72. package/dist/ts/http/request-context.d.ts.map +1 -0
  73. package/dist/ts/http/request-context.spec.d.ts +2 -0
  74. package/dist/ts/http/request-context.spec.d.ts.map +1 -0
  75. package/dist/ts/http/request.d.ts +31 -0
  76. package/dist/ts/http/request.d.ts.map +1 -0
  77. package/dist/ts/http/request.spec.d.ts +2 -0
  78. package/dist/ts/http/request.spec.d.ts.map +1 -0
  79. package/dist/{http → ts/http}/url.d.ts +5 -4
  80. package/dist/ts/http/url.d.ts.map +1 -0
  81. package/dist/ts/http/url.spec.d.ts +2 -0
  82. package/dist/ts/http/url.spec.d.ts.map +1 -0
  83. package/dist/ts/index.d.ts +47 -0
  84. package/dist/ts/index.d.ts.map +1 -0
  85. package/dist/{pipelines → ts/pipelines}/index.d.ts +1 -0
  86. package/dist/ts/pipelines/index.d.ts.map +1 -0
  87. package/dist/{pipelines → ts/pipelines}/pipeline-action.d.ts +1 -0
  88. package/dist/ts/pipelines/pipeline-action.d.ts.map +1 -0
  89. package/dist/ts/pipelines/pipeline-action.test.d.ts +2 -0
  90. package/dist/ts/pipelines/pipeline-action.test.d.ts.map +1 -0
  91. package/dist/{pipelines → ts/pipelines}/pipeline.d.ts +3 -2
  92. package/dist/ts/pipelines/pipeline.d.ts.map +1 -0
  93. package/dist/ts/pipelines/pipeline.test.d.ts +2 -0
  94. package/dist/ts/pipelines/pipeline.test.d.ts.map +1 -0
  95. package/dist/ts/schema/json-schema.d.ts +12 -0
  96. package/dist/ts/schema/json-schema.d.ts.map +1 -0
  97. package/dist/ts/schema/labels.d.ts +14 -0
  98. package/dist/ts/schema/labels.d.ts.map +1 -0
  99. package/dist/ts/schema/model-schema.d.ts +75 -0
  100. package/dist/ts/schema/model-schema.d.ts.map +1 -0
  101. package/dist/ts/schema/model-schema.test.d.ts +2 -0
  102. package/dist/ts/schema/model-schema.test.d.ts.map +1 -0
  103. package/dist/ts/schema/model.d.ts +35 -0
  104. package/dist/ts/schema/model.d.ts.map +1 -0
  105. package/dist/ts/schema/schema-mixin.d.ts +24 -0
  106. package/dist/ts/schema/schema-mixin.d.ts.map +1 -0
  107. package/dist/ts/schema/test/mock-model.d.ts +8 -0
  108. package/dist/ts/schema/test/mock-model.d.ts.map +1 -0
  109. package/dist/ts/scope/index.d.ts +34 -0
  110. package/dist/ts/scope/index.d.ts.map +1 -0
  111. package/dist/ts/shared/utils/action-descriptor.d.ts +28 -0
  112. package/dist/ts/shared/utils/action-descriptor.d.ts.map +1 -0
  113. package/dist/ts/shared/utils/action-descriptor.test.d.ts +2 -0
  114. package/dist/ts/shared/utils/action-descriptor.test.d.ts.map +1 -0
  115. package/dist/ts/shared/utils/schema-utils.d.ts +3 -0
  116. package/dist/ts/shared/utils/schema-utils.d.ts.map +1 -0
  117. package/dist/ts/shared/utils/schema-utils.test.d.ts +2 -0
  118. package/dist/ts/shared/utils/schema-utils.test.d.ts.map +1 -0
  119. package/dist/ts/shims/async-local-storage.d.ts +36 -0
  120. package/dist/ts/shims/async-local-storage.d.ts.map +1 -0
  121. package/dist/ts/shims/async-local-storage.test.d.ts +2 -0
  122. package/dist/ts/shims/async-local-storage.test.d.ts.map +1 -0
  123. package/dist/{timing.d.ts → ts/timing.d.ts} +1 -0
  124. package/dist/ts/timing.d.ts.map +1 -0
  125. package/dist/{typescript → ts/typescript}/arrays.d.ts +1 -0
  126. package/dist/ts/typescript/arrays.d.ts.map +1 -0
  127. package/dist/{typescript → ts/typescript}/baseModel.d.ts +1 -0
  128. package/dist/ts/typescript/baseModel.d.ts.map +1 -0
  129. package/dist/{typescript → ts/typescript}/classes.d.ts +1 -0
  130. package/dist/ts/typescript/classes.d.ts.map +1 -0
  131. package/dist/{typescript → ts/typescript}/constant-manipulation/snake-case.d.ts +1 -0
  132. package/dist/ts/typescript/constant-manipulation/snake-case.d.ts.map +1 -0
  133. package/dist/{typescript → ts/typescript}/errors.d.ts +1 -0
  134. package/dist/ts/typescript/errors.d.ts.map +1 -0
  135. package/dist/ts/typescript/fetch.d.ts +3 -0
  136. package/dist/ts/typescript/fetch.d.ts.map +1 -0
  137. package/dist/{typescript → ts/typescript}/generics.d.ts +1 -0
  138. package/dist/ts/typescript/generics.d.ts.map +1 -0
  139. package/dist/{typescript → ts/typescript}/index.d.ts +1 -0
  140. package/dist/ts/typescript/index.d.ts.map +1 -0
  141. package/dist/ts/typescript/objects.d.ts +26 -0
  142. package/dist/ts/typescript/objects.d.ts.map +1 -0
  143. package/dist/{typescript → ts/typescript}/promises.d.ts +1 -0
  144. package/dist/ts/typescript/promises.d.ts.map +1 -0
  145. package/dist/{validation → ts/validation}/index.d.ts +1 -0
  146. package/dist/ts/validation/index.d.ts.map +1 -0
  147. package/dist/{validation → ts/validation}/validation.d.ts +1 -0
  148. package/dist/ts/validation/validation.d.ts.map +1 -0
  149. package/dist/{validation → ts/validation}/validator.d.ts +1 -0
  150. package/dist/ts/validation/validator.d.ts.map +1 -0
  151. package/dist/ts/validation/validator.test.d.ts +2 -0
  152. package/dist/ts/validation/validator.test.d.ts.map +1 -0
  153. package/package.json +46 -13
  154. package/src/app/app-context.ts +4 -5
  155. package/src/app/app-lifecycle.ts +4 -3
  156. package/src/app/app.ts +7 -5
  157. package/src/application/create-request-context.test.ts +345 -0
  158. package/src/application/create-request-context.ts +19 -0
  159. package/src/application/use-declaro.ts +27 -0
  160. package/src/auth/permission-validator.test.ts +238 -2
  161. package/src/auth/permission-validator.ts +3 -3
  162. package/src/context/async-context.test.ts +348 -0
  163. package/src/context/async-context.ts +129 -0
  164. package/src/context/context-consumer.ts +4 -4
  165. package/src/context/context.circular-deps.test.ts +1047 -0
  166. package/src/context/context.test.ts +420 -3
  167. package/src/context/context.ts +590 -87
  168. package/src/context/legacy-context.test.ts +9 -9
  169. package/src/dataflow/objects.test.ts +7 -7
  170. package/src/dataflow/objects.ts +10 -9
  171. package/src/errors/errors.ts +19 -3
  172. package/src/events/event-manager.spec.ts +129 -0
  173. package/src/events/event-manager.ts +25 -14
  174. package/src/http/headers.ts +17 -2
  175. package/src/http/request-context.ts +24 -15
  176. package/src/http/request.ts +27 -6
  177. package/src/http/url.ts +3 -3
  178. package/src/index.ts +34 -3
  179. package/src/pipelines/pipeline.test.ts +11 -9
  180. package/src/schema/json-schema.ts +16 -0
  181. package/src/schema/labels.ts +23 -23
  182. package/src/schema/model-schema.test.ts +282 -0
  183. package/src/schema/model-schema.ts +197 -0
  184. package/src/schema/model.ts +143 -0
  185. package/src/schema/schema-mixin.ts +51 -0
  186. package/src/schema/test/mock-model.ts +19 -0
  187. package/src/scope/index.ts +33 -0
  188. package/src/shared/utils/action-descriptor.test.ts +182 -0
  189. package/src/shared/utils/action-descriptor.ts +102 -0
  190. package/src/shared/utils/schema-utils.test.ts +33 -0
  191. package/src/shared/utils/schema-utils.ts +17 -0
  192. package/src/shims/async-local-storage.test.ts +258 -0
  193. package/src/shims/async-local-storage.ts +82 -0
  194. package/src/typescript/objects.ts +32 -1
  195. package/src/validation/validator.test.ts +12 -20
  196. package/dist/app/app-context.d.ts +0 -8
  197. package/dist/app/app-lifecycle.d.ts +0 -4
  198. package/dist/app/app.d.ts +0 -22
  199. package/dist/auth/permission-validator.test.d.ts +0 -1
  200. package/dist/context/context.d.ts +0 -161
  201. package/dist/context/context.test.d.ts +0 -1
  202. package/dist/context/legacy-context.test.d.ts +0 -1
  203. package/dist/dataflow/index.d.ts +0 -1
  204. package/dist/dataflow/objects.d.ts +0 -5
  205. package/dist/dataflow/objects.test.d.ts +0 -1
  206. package/dist/events/event-manager.d.ts +0 -16
  207. package/dist/events/event-manager.spec.d.ts +0 -1
  208. package/dist/events/index.d.ts +0 -1
  209. package/dist/helpers/index.d.ts +0 -1
  210. package/dist/helpers/ucfirst.d.ts +0 -1
  211. package/dist/http/headers.d.ts +0 -4
  212. package/dist/http/headers.spec.d.ts +0 -1
  213. package/dist/http/request-context.d.ts +0 -12
  214. package/dist/http/request-context.spec.d.ts +0 -1
  215. package/dist/http/request.d.ts +0 -8
  216. package/dist/http/request.spec.d.ts +0 -1
  217. package/dist/http/url.spec.d.ts +0 -1
  218. package/dist/index.d.ts +0 -19
  219. package/dist/pipelines/pipeline-action.test.d.ts +0 -1
  220. package/dist/pipelines/pipeline.test.d.ts +0 -1
  221. package/dist/pkg.cjs +0 -30
  222. package/dist/pkg.mjs +0 -56612
  223. package/dist/schema/application.d.ts +0 -83
  224. package/dist/schema/application.test.d.ts +0 -1
  225. package/dist/schema/define-model.d.ts +0 -10
  226. package/dist/schema/define-model.test.d.ts +0 -1
  227. package/dist/schema/formats.d.ts +0 -10
  228. package/dist/schema/index.d.ts +0 -10
  229. package/dist/schema/labels.d.ts +0 -13
  230. package/dist/schema/labels.test.d.ts +0 -1
  231. package/dist/schema/module.d.ts +0 -7
  232. package/dist/schema/module.test.d.ts +0 -1
  233. package/dist/schema/properties.d.ts +0 -19
  234. package/dist/schema/response.d.ts +0 -31
  235. package/dist/schema/response.test.d.ts +0 -1
  236. package/dist/schema/supported-types.d.ts +0 -12
  237. package/dist/schema/supported-types.test.d.ts +0 -1
  238. package/dist/schema/transform-model.d.ts +0 -4
  239. package/dist/schema/transform-model.test.d.ts +0 -1
  240. package/dist/schema/types.d.ts +0 -95
  241. package/dist/schema/types.test.d.ts +0 -1
  242. package/dist/typescript/fetch.d.ts +0 -2
  243. package/dist/typescript/objects.d.ts +0 -12
  244. package/dist/validation/validator.test.d.ts +0 -1
  245. package/src/helpers/index.ts +0 -1
  246. package/src/helpers/ucfirst.ts +0 -3
  247. package/src/schema/application.test.ts +0 -286
  248. package/src/schema/application.ts +0 -150
  249. package/src/schema/define-model.test.ts +0 -81
  250. package/src/schema/define-model.ts +0 -50
  251. package/src/schema/formats.ts +0 -23
  252. package/src/schema/index.ts +0 -10
  253. package/src/schema/labels.test.ts +0 -60
  254. package/src/schema/module.test.ts +0 -39
  255. package/src/schema/module.ts +0 -6
  256. package/src/schema/properties.ts +0 -40
  257. package/src/schema/response.test.ts +0 -101
  258. package/src/schema/response.ts +0 -93
  259. package/src/schema/supported-types.test.ts +0 -20
  260. package/src/schema/supported-types.ts +0 -15
  261. package/src/schema/transform-model.test.ts +0 -31
  262. package/src/schema/transform-model.ts +0 -24
  263. package/src/schema/types.test.ts +0 -28
  264. package/src/schema/types.ts +0 -163
  265. package/tsconfig.json +0 -11
  266. package/vite.config.ts +0 -24
@@ -1,15 +0,0 @@
1
- export const TypescriptMap = {
2
- string: 'string',
3
- text: 'string',
4
-
5
- integer: 'number',
6
- number: 'number',
7
- float: 'number',
8
- double: 'number',
9
-
10
- boolean: 'boolean',
11
-
12
- date: 'Date',
13
- datetime: 'Date',
14
- time: 'Date',
15
- }
@@ -1,31 +0,0 @@
1
- import { describe, expect, it } from 'vitest'
2
- import { defineModel } from '.'
3
- import { transformModel } from './transform-model'
4
-
5
- describe('Transform models', async () => {
6
- it('should transform a model to typescript', async () => {
7
- const movie = defineModel('Movie', {
8
- type: 'object',
9
- properties: {
10
- title: {
11
- type: 'string',
12
- },
13
- year: {
14
- type: 'integer',
15
-
16
- format: 'int32',
17
- },
18
- },
19
- required: ['title'],
20
- })
21
-
22
- const typescript = transformModel(movie).toTypescript()
23
-
24
- expect(typescript).toBe(
25
- `export class Movie {
26
- title: string;
27
- year: number;
28
- }`,
29
- )
30
- })
31
- })
@@ -1,24 +0,0 @@
1
- import type { Model } from '.'
2
- import { TypescriptMap } from './supported-types'
3
-
4
- export function transformModel(model: Model<any>) {
5
- return {
6
- toTypescript() {
7
- return [
8
- `export class ${model.name} {`,
9
- ...Object.entries(model.schema.properties)
10
- .map(([name, prop]) => {
11
- const type = prop['type']
12
- const tsType = TypescriptMap[type]
13
- if (typeof prop['type'] === 'string') {
14
- return ` ${name}: ${tsType};`
15
- } else {
16
- return undefined
17
- }
18
- })
19
- .filter(Boolean),
20
- '}',
21
- ].join('\n')
22
- },
23
- }
24
- }
@@ -1,28 +0,0 @@
1
- import { describe, it } from 'vitest'
2
- import { defineModel } from './define-model'
3
- import type { DeclaroSchema } from './types'
4
- import { t } from './properties'
5
-
6
- describe('Type tests', () => {
7
- it('should infer payload types', () => {
8
- const model = defineModel('Test', {
9
- type: 'object',
10
- properties: {
11
- foo: t.string(),
12
- bar: t.object({
13
- properties: {
14
- baz: t.integer(),
15
- },
16
- }),
17
- },
18
- })
19
-
20
- const bazModel = defineModel('Baz', {
21
- properties: {
22
- baz: {
23
- type: 'integer',
24
- },
25
- },
26
- })
27
- })
28
- })
@@ -1,163 +0,0 @@
1
- import type { OpenAPIV3_1 } from 'openapi-types'
2
- /// @ts-ignore This import is optional - it should be defined by your project's build settings (@declaro/build).
3
- import type { ModelNames } from '$models/reference'
4
- import type { EntityLabels } from './labels'
5
-
6
- export declare namespace DeclaroSchema {
7
- type Modify<T, R> = Omit<T, keyof R> & R
8
-
9
- export type NonArraySchemaObjectType = OpenAPIV3_1.NonArraySchemaObjectType
10
- export type ArraySchemaObjectType = OpenAPIV3_1.ArraySchemaObjectType
11
- export type AnySchemaObjectType = NonArraySchemaObjectType | ArraySchemaObjectType
12
-
13
- export type AnyObjectProperties = {
14
- [name: string]: SchemaObject<any> | ReferenceObject
15
- }
16
-
17
- export type AnyObjectParameters = {
18
- [name: string]: Omit<DeclaroSchema.ParameterObject, 'name'>
19
- }
20
-
21
- export interface BaseSchemaObject<T extends AnyObjectProperties, N extends ModelNames = ModelNames>
22
- extends OpenAPIV3_1.BaseSchemaObject {
23
- $schema?: N
24
- propertyName?: string
25
- additionalProperties?: boolean | ReferenceObject | SchemaObject<T>
26
- properties?: T
27
- labels?: EntityLabels
28
- not?: ReferenceObject | SchemaObject<T>
29
- allOf?: (ReferenceObject | SchemaObject<T>)[]
30
- anyOf?: (ReferenceObject | SchemaObject<T>)[]
31
- oneOf?: (ReferenceObject | SchemaObject<T>)[]
32
- }
33
-
34
- export interface NonArraySchemaObject<T extends AnyObjectProperties, N extends ModelNames>
35
- extends BaseSchemaObject<T, N> {
36
- type?: NonArraySchemaObjectType
37
- labels?: EntityLabels
38
- }
39
-
40
- export interface ArraySchemaObject<T extends AnyObjectProperties, N extends ModelNames>
41
- extends BaseSchemaObject<T> {
42
- type: ArraySchemaObjectType
43
- items: ReferenceObject | SchemaObject<T, N>
44
- }
45
-
46
- // Open API supports mixed schema objects, but we strategically don't yet.
47
- // This is because mixed schema objects are hard to introspect and type correctly, and can usually be described in other ways.
48
- // interface MixedSchemaObject extends BaseSchemaObject {
49
- // type?: (ArraySchemaObjectType | NonArraySchemaObjectType)[]
50
- // items?: ReferenceObject | SchemaObject
51
- // }
52
-
53
- export type SchemaObject<T extends AnyObjectProperties, N extends string = string> =
54
- | ArraySchemaObject<T, N>
55
- | NonArraySchemaObject<T, N>
56
-
57
- export type PropertyType<T extends SchemaObject<any>> = T['type'] extends 'string'
58
- ? string
59
- : T['type'] extends 'boolean'
60
- ? boolean
61
- : T['type'] extends 'number'
62
- ? number
63
- : T['type'] extends 'integer'
64
- ? number
65
- : T['type'] extends 'object'
66
- ? ObjectPayload<T['properties']>
67
- : T['type'] extends 'array'
68
- ? ObjectPayload<T['properties']>[]
69
- : any
70
-
71
- export type OperationInput<T extends AnyObjectParameters> = {
72
- [K in keyof T]: PropertyType<T[K]['schema']>
73
- }
74
-
75
- export type ObjectPayload<T extends AnyObjectProperties> = {
76
- [K in keyof T]: PropertyType<T[K]>
77
- }
78
-
79
- export type Payload<T extends AnyObjectProperties, TSchema extends SchemaObject<T>> = any
80
-
81
- export interface ReferenceObject {
82
- $ref: ModelNames
83
- format?: string
84
- }
85
-
86
- export type InfoObject = OpenAPIV3_1.InfoObject
87
-
88
- export type TagObject = OpenAPIV3_1.TagObject
89
-
90
- export type ExampleObject = OpenAPIV3_1.ExampleObject
91
- export type MediaTypeObject<T extends AnyObjectProperties> = Modify<
92
- OpenAPIV3_1.MediaTypeObject,
93
- {
94
- schema?: SchemaObject<T> | ReferenceObject
95
- examples?: Record<string, ReferenceObject | ExampleObject>
96
- }
97
- >
98
- export type ServerObject = OpenAPIV3_1.ServerObject
99
- export type LinkObject = Modify<
100
- OpenAPIV3_1.LinkObject,
101
- {
102
- server?: ServerObject
103
- }
104
- >
105
-
106
- export type ResponseObject = Modify<
107
- OpenAPIV3_1.ResponseObject,
108
- {
109
- headers?: {
110
- [header: string]: ReferenceObject | HeaderObject
111
- }
112
- content?: {
113
- [media: string]: MediaTypeObject<any>
114
- }
115
- links?: {
116
- [link: string]: ReferenceObject | LinkObject
117
- }
118
- }
119
- >
120
- export type ResponsesObject = OpenAPIV3_1.ResponsesObject
121
-
122
- export type HeaderObject = OpenAPIV3_1.HeaderObject
123
- export type HttpMethods = OpenAPIV3_1.HttpMethods
124
-
125
- // export type ParameterObject = OpenAPIV3_1.ParameterObject
126
- export type ParameterObject = Modify<
127
- OpenAPIV3_1.ParameterObject,
128
- {
129
- in: 'query' | 'header' | 'path' | 'cookie'
130
- schema?: SchemaObject<any> | ReferenceObject
131
- }
132
- >
133
-
134
- export type RequestBodyObject<T extends AnyObjectProperties> = Modify<
135
- OpenAPIV3_1.RequestBodyObject,
136
- {
137
- content: {
138
- [media: string]: MediaTypeObject<T>
139
- }
140
- }
141
- >
142
- export type CallbackObject = Record<string, PathItemObject | ReferenceObject>
143
- export type PathItemObject<T extends {} = {}> = Modify<
144
- OpenAPIV3_1.PathItemObject<T>,
145
- {
146
- servers?: ServerObject[]
147
- parameters?: (ReferenceObject | ParameterObject)[]
148
- }
149
- > & {
150
- [method in HttpMethods]?: OperationObject<T>
151
- }
152
- export type OperationObject<T extends {} = {}> = Modify<
153
- OpenAPIV3_1.OperationObject<T>,
154
- {
155
- parameters?: ParameterObject[]
156
- requestBody?: ReferenceObject | RequestBodyObject<T>
157
- responses?: ResponsesObject
158
- callbacks?: Record<string, ReferenceObject | CallbackObject>
159
- servers?: ServerObject[]
160
- }
161
- > &
162
- T
163
- }
package/tsconfig.json DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "extends": ["../../tsconfig.json"],
3
- "compilerOptions": {
4
- "esModuleInterop": true,
5
- "allowSyntheticDefaultImports": true
6
- },
7
- "include": ["src/*.ts", "src/**/*.ts", "src/**/*.d.ts"],
8
- "buildOptions": {
9
- "outDir": "dist"
10
- }
11
- }
package/vite.config.ts DELETED
@@ -1,24 +0,0 @@
1
- import { resolve } from 'path'
2
- import { defineConfig } from 'vitest/config'
3
- import dts from 'vite-plugin-dts'
4
-
5
- const extensions = {
6
- es: 'mjs',
7
- cjs: 'cjs',
8
- }
9
-
10
- export default defineConfig({
11
- build: {
12
- lib: {
13
- entry: resolve(__dirname, 'src/index.ts'),
14
- name: 'Declaro',
15
- formats: ['es', 'cjs'],
16
- fileName: (format) => `pkg.${extensions[format]}`,
17
- },
18
- write: true,
19
- },
20
- plugins: [dts() as any],
21
- optimizeDeps: {
22
- include: ['src/**/*'],
23
- },
24
- })