如何键入模型以在环回中充当对象?

时间:2019-03-26 17:25:41

标签: typescript loopbackjs

我有一个回送模型,该模型在许多情况下以其本身的原始json形式表示。例如

@model()
class SomeModel extends Entity {
  @property({ type: 'string' })
  id?: string;
}
原始JSON中的

...将是

interface IRawSomeModel {id?: string}

有什么方法可以通过编程方式获取IRawSomeModel吗?

我能想到的一种方法是将两者结合起来,但是要重复所有的事情,例如,这是很多额外的工作。

export interface IRawSomeModel {id?: string}

@model()
export class SomeModel extends Entity implements IRawSomeModel {
  @property({ type: 'string' })
  id?: string;
}

最终,我正在寻找的是RawObjectFormOfModel<SomeModel>

语法

所有这些的重点是能够具有如下代码:

const obj: RawObjectFormOfModel<SomeModel> = {}; // no error about missing class functions
obj.id = "test"

获取模型的原始对象类型表示的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

在lb4中的Entity类中有两种方法可用。 toJSON() toObject()。它们都返回模型类的普通对象表示。您可以将它们用于此目的。

根据dts定义“ model.d.ts”

row_number()

答案 1 :(得分:0)

我能找到的最好的方法是创建一个接口并实现它。

df['output'] = df['H'].apply(lambda x: TextBlob(x)) 

我希望我能找到一种方法来获取装饰器信息,并使用它来生成接口。