そのため、Kendo UI ライブラリの一部を TypeScript に変換する作業を行っていますが、Model クラスに行き詰まっています。問題は、フィールドの指定方法です。
次の配列があるとします。
function someModelFields() {
return {
Id: { editable: false, nullable: false, defaultValue: emptyGuid },
ScenarioId: { editable: false, nullable: false, defaultValue: emptyGuid },
UnitId: { editable: false, nullable: false },
UnitNumber: { type: "string", editable: false },
SquareFootage: { type: "number", editable: false }
};
};
...これを TypeScript でモデル化するにはどうすればよいでしょうか。プロパティ名は何でもかまいませんが、プロパティの型はわかっています。これが私がこれまでに持っているものです:
export module Kendo {
export module Data {
export class FieldTypeEnum {
static string: string;
static number: string;
static boolean: string;
static date: string;
}
export class ValidationDefinition {
required: bool;
}
export class FieldDefinition {
defaultValue: string;
editable: bool;
nullable: bool;
parse: () => any;
type: FieldTypeEnum;
validation: ValidationDefinition;
}
export class ModelDefinition {
id: string;
fields: any[];
}
「フィールド」の定義が間違っていることはわかっています。また、ModelDefinition.fields と FieldDefinition 型の動的プロパティ名の間に型がないこともわかっています。
アイデア?前もって感謝します!