fix(core): constrain event schema services
This commit is contained in:
parent
595cc91ddc
commit
1b91b5df34
1 changed files with 8 additions and 3 deletions
|
|
@ -19,6 +19,11 @@ export const ID = Schema.String.check(Schema.isStartsWith("evt_")).pipe(
|
|||
)
|
||||
export type ID = typeof ID.Type
|
||||
|
||||
type ServiceFreeSchema = Schema.Top & {
|
||||
readonly DecodingServices: never
|
||||
readonly EncodingServices: never
|
||||
}
|
||||
|
||||
export type Definition<Type extends string = string, DataSchema extends Schema.Top = Schema.Top> = {
|
||||
readonly type: Type
|
||||
readonly durable?: {
|
||||
|
|
@ -75,10 +80,10 @@ export function versionedType(type: string, version: number) {
|
|||
return `${type}.${version}`
|
||||
}
|
||||
|
||||
export const registry = new Map<string, Definition>()
|
||||
const durableRegistry = new Map<string, Definition>()
|
||||
export const registry = new Map<string, Definition<string, ServiceFreeSchema>>()
|
||||
const durableRegistry = new Map<string, Definition<string, ServiceFreeSchema>>()
|
||||
|
||||
export function define<const Type extends string, Fields extends Schema.Struct.Fields>(input: {
|
||||
export function define<const Type extends string, Fields extends Record<PropertyKey, ServiceFreeSchema>>(input: {
|
||||
readonly type: Type
|
||||
readonly durable?: {
|
||||
readonly version: number
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue