Skip to content

Commit

Permalink
chore(dandi/model-builder): use localTokenFactory
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielSchaffer committed Feb 18, 2020
1 parent ae207b5 commit 3ccb202
Show file tree
Hide file tree
Showing 6 changed files with 10 additions and 17 deletions.
Empty file.
11 changes: 2 additions & 9 deletions packages/dandi/model-builder/src/local-token.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
import { InjectionOptions, InjectionToken, OpinionatedToken, SymbolToken } from '@dandi/core'
import { localTokenFactory } from '@dandi/core'

export const PKG = '@dandi/model-builder'

export function localSymbolToken<T>(target: string): InjectionToken<T> {
return SymbolToken.local<T>(PKG, target)
}
export function localOpinionatedToken<T>(target: string, options: InjectionOptions): InjectionToken<T> {
return OpinionatedToken.local<T>(PKG, target, options)
}
export const localToken = localTokenFactory('@dandi/model-builder')
4 changes: 2 additions & 2 deletions packages/dandi/model-builder/src/model-builder.module.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { ModuleBuilder, Registerable } from '@dandi/core'

import { PKG } from './local-token'
import { localToken } from './local-token'
import { MetadataModelBuilder } from './metadata-model-builder'
import { TypeConverters } from './type-converters'

export class ModelBuilderModuleBuilder extends ModuleBuilder<ModelBuilderModuleBuilder> {
constructor(...entries: Registerable[]) {
super(ModelBuilderModuleBuilder, PKG, ...entries)
super(ModelBuilderModuleBuilder, localToken.PKG, ...entries)
}
}

Expand Down
4 changes: 2 additions & 2 deletions packages/dandi/model-builder/src/model-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { MemberMetadata } from '@dandi/model'

import { DataTransformer } from './data-transformer'
import { KeyTransformFn } from './key-transformer'
import { localOpinionatedToken } from './local-token'
import { localToken } from './local-token'
import { ModelValidator } from './model-validator'

export interface MemberBuilderOptions {
Expand All @@ -30,6 +30,6 @@ export interface ModelBuilder {
constructMember(metadata: MemberMetadata, key: string, value: any, options?: ModelBuilderOptions): any
}

export const ModelBuilder: InjectionToken<ModelBuilder> = localOpinionatedToken<ModelBuilder>('ModelBuilder', {
export const ModelBuilder: InjectionToken<ModelBuilder> = localToken.opinionated<ModelBuilder>('ModelBuilder', {
multi: false,
})
4 changes: 2 additions & 2 deletions packages/dandi/model-builder/src/model-validator.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { InjectionToken } from '@dandi/core'
import { MemberMetadata } from '@dandi/model'

import { localOpinionatedToken } from './local-token'
import { localToken } from './local-token'

export interface ModelValidator {
validateMember(metadata: MemberMetadata, key: string, value: any): void
}

export const ModelValidator: InjectionToken<ModelValidator> = localOpinionatedToken('ModelValidator', {
export const ModelValidator: InjectionToken<ModelValidator> = localToken.opinionated('ModelValidator', {
multi: true,
})
4 changes: 2 additions & 2 deletions packages/dandi/model-builder/src/type-converter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { AppError, Constructor, PrimitiveConstructor } from '@dandi/common'
import { InjectionToken } from '@dandi/core'
import { MemberMetadata } from '@dandi/model'

import { localOpinionatedToken } from './local-token'
import { localToken } from './local-token'

export interface TypeConverter<T> {
convert(value: any, metadata?: MemberMetadata): T
Expand All @@ -11,7 +11,7 @@ export interface TypeConverter<T> {

export type ConvertedType = Constructor | ((...args: any[]) => ParameterDecorator)

export const TypeConverter: InjectionToken<TypeConverter<any>> = localOpinionatedToken('TypeConverter', {
export const TypeConverter: InjectionToken<TypeConverter<any>> = localToken.opinionated<TypeConverter<any>>('TypeConverter', {
multi: true,
})

Expand Down

0 comments on commit 3ccb202

Please sign in to comment.