TypeScript を使用してデータベース スキーマを作成したいと考えています。それは非常に単純ですが、キージェネレーターを定義することができないか、その方法がわかりません。ユーザー ガイドでは、たとえば、このようなコード スニペット (JavaScript を使用):
var schema = {
...
indexes: [
{
name: 'name', // index for case in-sensitive sorting
generator: function(obj) {
var name = obj.first + ' ' + obj.last;
return name.toLowerCase();
}
}
],
ライブラリydn.db-1.0.ts (YDN-DB サーバーからダウンロード) またはydn-db.d.ts (DefiniteTyped からダウンロード)を使用して、このジェネレーターを定義できますか?
たとえば、次の ts ファイルを作成しました。
/// <reference path="typings/ydn-db/ydn-db.d.ts" />
module YdnDbTest
{
module DatabaseHelper
{
interface Place
{
Name: string;
Location: string;
}
var AppDbSchema: DatabaseSchemaJson =
{
stores:
[
{
name: "AppDbStore",
keyPath: "Name",
indexes:
[
{
name: "idxLocation",
keyPath: "Location",
unique: true,
}
]
}
]
}
}
、そして、ジェネレーターを書いた場所を希望します。次のようなものを書きたいと思います:
...
indexes:
[
{
name: "idxLocation",
generator: (record: Place): string =>
{ return record.Location.toLowerCase() },
unique: true,
}
]
...
マスターキー(名前)のジェネレーターを書いたように、おそらく不可能です。