@declaro/core 2.0.0-y.0 → 2.1.1
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.
- package/{LICENSE → LICENSE.md} +1 -1
- package/README.md +203 -0
- package/dist/browser/index.js +28 -0
- package/dist/browser/index.js.map +133 -0
- package/dist/browser/scope/index.js +3 -0
- package/dist/browser/scope/index.js.map +9 -0
- package/dist/bun/index.js +19011 -0
- package/dist/bun/index.js.map +132 -0
- package/dist/bun/scope/index.js +4 -0
- package/dist/bun/scope/index.js.map +9 -0
- package/dist/node/index.cjs +19039 -0
- package/dist/node/index.cjs.map +132 -0
- package/dist/node/index.js +19010 -0
- package/dist/node/index.js.map +132 -0
- package/dist/node/scope/index.cjs +69 -0
- package/dist/node/scope/index.cjs.map +9 -0
- package/dist/node/scope/index.js +3 -0
- package/dist/node/scope/index.js.map +9 -0
- package/dist/ts/app/app-context.d.ts +9 -0
- package/dist/ts/app/app-context.d.ts.map +1 -0
- package/dist/ts/app/app-lifecycle.d.ts +6 -0
- package/dist/ts/app/app-lifecycle.d.ts.map +1 -0
- package/dist/ts/app/app.d.ts +24 -0
- package/dist/ts/app/app.d.ts.map +1 -0
- package/dist/{app → ts/app}/index.d.ts +1 -0
- package/dist/ts/app/index.d.ts.map +1 -0
- package/dist/ts/application/create-request-context.d.ts +4 -0
- package/dist/ts/application/create-request-context.d.ts.map +1 -0
- package/dist/ts/application/create-request-context.test.d.ts +2 -0
- package/dist/ts/application/create-request-context.test.d.ts.map +1 -0
- package/dist/ts/application/use-declaro.d.ts +3 -0
- package/dist/ts/application/use-declaro.d.ts.map +1 -0
- package/dist/{auth → ts/auth}/permission-validator.d.ts +1 -0
- package/dist/ts/auth/permission-validator.d.ts.map +1 -0
- package/dist/ts/auth/permission-validator.test.d.ts +2 -0
- package/dist/ts/auth/permission-validator.test.d.ts.map +1 -0
- package/dist/ts/context/async-context.d.ts +54 -0
- package/dist/ts/context/async-context.d.ts.map +1 -0
- package/dist/ts/context/async-context.test.d.ts +2 -0
- package/dist/ts/context/async-context.test.d.ts.map +1 -0
- package/dist/{context → ts/context}/context-consumer.d.ts +4 -0
- package/dist/ts/context/context-consumer.d.ts.map +1 -0
- package/dist/ts/context/context.circular-deps.test.d.ts +2 -0
- package/dist/ts/context/context.circular-deps.test.d.ts.map +1 -0
- package/dist/ts/context/context.d.ts +452 -0
- package/dist/ts/context/context.d.ts.map +1 -0
- package/dist/ts/context/context.test.d.ts +2 -0
- package/dist/ts/context/context.test.d.ts.map +1 -0
- package/dist/ts/context/legacy-context.test.d.ts +2 -0
- package/dist/ts/context/legacy-context.test.d.ts.map +1 -0
- package/dist/{context → ts/context}/validators.d.ts +2 -1
- package/dist/ts/context/validators.d.ts.map +1 -0
- package/dist/ts/dataflow/index.d.ts +2 -0
- package/dist/ts/dataflow/index.d.ts.map +1 -0
- package/dist/ts/dataflow/objects.d.ts +7 -0
- package/dist/ts/dataflow/objects.d.ts.map +1 -0
- package/dist/ts/dataflow/objects.test.d.ts +2 -0
- package/dist/ts/dataflow/objects.test.d.ts.map +1 -0
- package/dist/{errors → ts/errors}/errors.d.ts +16 -3
- package/dist/ts/errors/errors.d.ts.map +1 -0
- package/dist/ts/events/event-manager.d.ts +19 -0
- package/dist/ts/events/event-manager.d.ts.map +1 -0
- package/dist/ts/events/event-manager.spec.d.ts +2 -0
- package/dist/ts/events/event-manager.spec.d.ts.map +1 -0
- package/dist/ts/events/index.d.ts +2 -0
- package/dist/ts/events/index.d.ts.map +1 -0
- package/dist/ts/http/headers.d.ts +21 -0
- package/dist/ts/http/headers.d.ts.map +1 -0
- package/dist/ts/http/headers.spec.d.ts +2 -0
- package/dist/ts/http/headers.spec.d.ts.map +1 -0
- package/dist/ts/http/request-context.d.ts +17 -0
- package/dist/ts/http/request-context.d.ts.map +1 -0
- package/dist/ts/http/request-context.spec.d.ts +2 -0
- package/dist/ts/http/request-context.spec.d.ts.map +1 -0
- package/dist/ts/http/request.d.ts +31 -0
- package/dist/ts/http/request.d.ts.map +1 -0
- package/dist/ts/http/request.spec.d.ts +2 -0
- package/dist/ts/http/request.spec.d.ts.map +1 -0
- package/dist/{http → ts/http}/url.d.ts +5 -4
- package/dist/ts/http/url.d.ts.map +1 -0
- package/dist/ts/http/url.spec.d.ts +2 -0
- package/dist/ts/http/url.spec.d.ts.map +1 -0
- package/dist/ts/index.d.ts +47 -0
- package/dist/ts/index.d.ts.map +1 -0
- package/dist/{pipelines → ts/pipelines}/index.d.ts +1 -0
- package/dist/ts/pipelines/index.d.ts.map +1 -0
- package/dist/{pipelines → ts/pipelines}/pipeline-action.d.ts +1 -0
- package/dist/ts/pipelines/pipeline-action.d.ts.map +1 -0
- package/dist/ts/pipelines/pipeline-action.test.d.ts +2 -0
- package/dist/ts/pipelines/pipeline-action.test.d.ts.map +1 -0
- package/dist/{pipelines → ts/pipelines}/pipeline.d.ts +3 -2
- package/dist/ts/pipelines/pipeline.d.ts.map +1 -0
- package/dist/ts/pipelines/pipeline.test.d.ts +2 -0
- package/dist/ts/pipelines/pipeline.test.d.ts.map +1 -0
- package/dist/ts/schema/json-schema.d.ts +12 -0
- package/dist/ts/schema/json-schema.d.ts.map +1 -0
- package/dist/ts/schema/labels.d.ts +14 -0
- package/dist/ts/schema/labels.d.ts.map +1 -0
- package/dist/ts/schema/model-schema.d.ts +75 -0
- package/dist/ts/schema/model-schema.d.ts.map +1 -0
- package/dist/ts/schema/model-schema.test.d.ts +2 -0
- package/dist/ts/schema/model-schema.test.d.ts.map +1 -0
- package/dist/ts/schema/model.d.ts +35 -0
- package/dist/ts/schema/model.d.ts.map +1 -0
- package/dist/ts/schema/schema-mixin.d.ts +24 -0
- package/dist/ts/schema/schema-mixin.d.ts.map +1 -0
- package/dist/ts/schema/test/mock-model.d.ts +8 -0
- package/dist/ts/schema/test/mock-model.d.ts.map +1 -0
- package/dist/ts/scope/index.d.ts +34 -0
- package/dist/ts/scope/index.d.ts.map +1 -0
- package/dist/ts/shared/utils/action-descriptor.d.ts +28 -0
- package/dist/ts/shared/utils/action-descriptor.d.ts.map +1 -0
- package/dist/ts/shared/utils/action-descriptor.test.d.ts +2 -0
- package/dist/ts/shared/utils/action-descriptor.test.d.ts.map +1 -0
- package/dist/ts/shared/utils/schema-utils.d.ts +3 -0
- package/dist/ts/shared/utils/schema-utils.d.ts.map +1 -0
- package/dist/ts/shared/utils/schema-utils.test.d.ts +2 -0
- package/dist/ts/shared/utils/schema-utils.test.d.ts.map +1 -0
- package/dist/ts/shims/async-local-storage.d.ts +36 -0
- package/dist/ts/shims/async-local-storage.d.ts.map +1 -0
- package/dist/ts/shims/async-local-storage.test.d.ts +2 -0
- package/dist/ts/shims/async-local-storage.test.d.ts.map +1 -0
- package/dist/{timing.d.ts → ts/timing.d.ts} +1 -0
- package/dist/ts/timing.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/arrays.d.ts +1 -0
- package/dist/ts/typescript/arrays.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/baseModel.d.ts +1 -0
- package/dist/ts/typescript/baseModel.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/classes.d.ts +1 -0
- package/dist/ts/typescript/classes.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/constant-manipulation/snake-case.d.ts +1 -0
- package/dist/ts/typescript/constant-manipulation/snake-case.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/errors.d.ts +1 -0
- package/dist/ts/typescript/errors.d.ts.map +1 -0
- package/dist/ts/typescript/fetch.d.ts +3 -0
- package/dist/ts/typescript/fetch.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/generics.d.ts +1 -0
- package/dist/ts/typescript/generics.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/index.d.ts +1 -0
- package/dist/ts/typescript/index.d.ts.map +1 -0
- package/dist/ts/typescript/objects.d.ts +26 -0
- package/dist/ts/typescript/objects.d.ts.map +1 -0
- package/dist/{typescript → ts/typescript}/promises.d.ts +1 -0
- package/dist/ts/typescript/promises.d.ts.map +1 -0
- package/dist/{validation → ts/validation}/index.d.ts +1 -0
- package/dist/ts/validation/index.d.ts.map +1 -0
- package/dist/{validation → ts/validation}/validation.d.ts +1 -0
- package/dist/ts/validation/validation.d.ts.map +1 -0
- package/dist/{validation → ts/validation}/validator.d.ts +1 -0
- package/dist/ts/validation/validator.d.ts.map +1 -0
- package/dist/ts/validation/validator.test.d.ts +2 -0
- package/dist/ts/validation/validator.test.d.ts.map +1 -0
- package/package.json +46 -13
- package/src/app/app-context.ts +4 -5
- package/src/app/app-lifecycle.ts +4 -3
- package/src/app/app.ts +7 -5
- package/src/application/create-request-context.test.ts +345 -0
- package/src/application/create-request-context.ts +19 -0
- package/src/application/use-declaro.ts +27 -0
- package/src/auth/permission-validator.test.ts +238 -2
- package/src/auth/permission-validator.ts +3 -3
- package/src/context/async-context.test.ts +348 -0
- package/src/context/async-context.ts +129 -0
- package/src/context/context-consumer.ts +4 -4
- package/src/context/context.circular-deps.test.ts +1047 -0
- package/src/context/context.test.ts +420 -3
- package/src/context/context.ts +590 -87
- package/src/context/legacy-context.test.ts +9 -9
- package/src/dataflow/objects.test.ts +7 -7
- package/src/dataflow/objects.ts +10 -9
- package/src/errors/errors.ts +19 -3
- package/src/events/event-manager.spec.ts +129 -0
- package/src/events/event-manager.ts +25 -14
- package/src/http/headers.ts +17 -2
- package/src/http/request-context.ts +24 -15
- package/src/http/request.ts +27 -6
- package/src/http/url.ts +3 -3
- package/src/index.ts +34 -3
- package/src/pipelines/pipeline.test.ts +11 -9
- package/src/schema/json-schema.ts +16 -0
- package/src/schema/labels.ts +23 -23
- package/src/schema/model-schema.test.ts +282 -0
- package/src/schema/model-schema.ts +197 -0
- package/src/schema/model.ts +143 -0
- package/src/schema/schema-mixin.ts +51 -0
- package/src/schema/test/mock-model.ts +19 -0
- package/src/scope/index.ts +33 -0
- package/src/shared/utils/action-descriptor.test.ts +182 -0
- package/src/shared/utils/action-descriptor.ts +102 -0
- package/src/shared/utils/schema-utils.test.ts +33 -0
- package/src/shared/utils/schema-utils.ts +17 -0
- package/src/shims/async-local-storage.test.ts +258 -0
- package/src/shims/async-local-storage.ts +82 -0
- package/src/typescript/objects.ts +32 -1
- package/src/validation/validator.test.ts +12 -20
- package/dist/app/app-context.d.ts +0 -8
- package/dist/app/app-lifecycle.d.ts +0 -4
- package/dist/app/app.d.ts +0 -22
- package/dist/auth/permission-validator.test.d.ts +0 -1
- package/dist/context/context.d.ts +0 -161
- package/dist/context/context.test.d.ts +0 -1
- package/dist/context/legacy-context.test.d.ts +0 -1
- package/dist/dataflow/index.d.ts +0 -1
- package/dist/dataflow/objects.d.ts +0 -5
- package/dist/dataflow/objects.test.d.ts +0 -1
- package/dist/events/event-manager.d.ts +0 -16
- package/dist/events/event-manager.spec.d.ts +0 -1
- package/dist/events/index.d.ts +0 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/ucfirst.d.ts +0 -1
- package/dist/http/headers.d.ts +0 -4
- package/dist/http/headers.spec.d.ts +0 -1
- package/dist/http/request-context.d.ts +0 -12
- package/dist/http/request-context.spec.d.ts +0 -1
- package/dist/http/request.d.ts +0 -8
- package/dist/http/request.spec.d.ts +0 -1
- package/dist/http/url.spec.d.ts +0 -1
- package/dist/index.d.ts +0 -19
- package/dist/pipelines/pipeline-action.test.d.ts +0 -1
- package/dist/pipelines/pipeline.test.d.ts +0 -1
- package/dist/pkg.cjs +0 -30
- package/dist/pkg.mjs +0 -56612
- package/dist/schema/application.d.ts +0 -83
- package/dist/schema/application.test.d.ts +0 -1
- package/dist/schema/define-model.d.ts +0 -10
- package/dist/schema/define-model.test.d.ts +0 -1
- package/dist/schema/formats.d.ts +0 -10
- package/dist/schema/index.d.ts +0 -10
- package/dist/schema/labels.d.ts +0 -13
- package/dist/schema/labels.test.d.ts +0 -1
- package/dist/schema/module.d.ts +0 -7
- package/dist/schema/module.test.d.ts +0 -1
- package/dist/schema/properties.d.ts +0 -19
- package/dist/schema/response.d.ts +0 -31
- package/dist/schema/response.test.d.ts +0 -1
- package/dist/schema/supported-types.d.ts +0 -12
- package/dist/schema/supported-types.test.d.ts +0 -1
- package/dist/schema/transform-model.d.ts +0 -4
- package/dist/schema/transform-model.test.d.ts +0 -1
- package/dist/schema/types.d.ts +0 -95
- package/dist/schema/types.test.d.ts +0 -1
- package/dist/typescript/fetch.d.ts +0 -2
- package/dist/typescript/objects.d.ts +0 -12
- package/dist/validation/validator.test.d.ts +0 -1
- package/src/helpers/index.ts +0 -1
- package/src/helpers/ucfirst.ts +0 -3
- package/src/schema/application.test.ts +0 -286
- package/src/schema/application.ts +0 -150
- package/src/schema/define-model.test.ts +0 -81
- package/src/schema/define-model.ts +0 -50
- package/src/schema/formats.ts +0 -23
- package/src/schema/index.ts +0 -10
- package/src/schema/labels.test.ts +0 -60
- package/src/schema/module.test.ts +0 -39
- package/src/schema/module.ts +0 -6
- package/src/schema/properties.ts +0 -40
- package/src/schema/response.test.ts +0 -101
- package/src/schema/response.ts +0 -93
- package/src/schema/supported-types.test.ts +0 -20
- package/src/schema/supported-types.ts +0 -15
- package/src/schema/transform-model.test.ts +0 -31
- package/src/schema/transform-model.ts +0 -24
- package/src/schema/types.test.ts +0 -28
- package/src/schema/types.ts +0 -163
- package/tsconfig.json +0 -11
- package/vite.config.ts +0 -24
|
@@ -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
|
-
}
|
package/src/schema/types.test.ts
DELETED
|
@@ -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
|
-
})
|
package/src/schema/types.ts
DELETED
|
@@ -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
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
|
-
})
|