我是GraphQL的新手,我不知道如何将TypeScript type
传递给ReturnTypeFunction
装饰器的@Field
。
我的代码如下:
export type WorokingHours = [number, number];
// [ [ 8, 13 ], [ 16, 22 ] ]
@Field(() => [WorokingHours], {
nullable: true,
description: storeWorkingHours
})
@prop()
workingHours?: WorokingHours[];
,我将收到此错误消息:
'WorokingHours' only refers to a type, but is being used as a value here.ts(2693)
如何解决此错误?
您是否有计划在数据库中实施我的商店处于活动状态的持续时间?
答案 0 :(得分:1)
GraphQL规范不支持元组,因此您需要使用列表[Number]
或显式对象类型{ one: number, two: number }
。
答案 1 :(得分:0)
很简单,您已经定义了一个type
,它仅在打字稿编译时存在,而在运行时不存在
对于typegoose,您仍然需要手动设置数组类型,对于您而言(在7.2.0上),这将是prop选项{ type: Number, dim: 2 }
对于GraphQL,我猜应该是() => [[Number]]