🔔

LINQ to Calil を公開しました

2022/01/01に公開

LINQ の実装の勉強も兼ねてカーリルの図書館 API を LINQ ライクに実行するためのライブラリを作成しました。

https://github.com/karamem0/linq-to-calil

とはいっても、現在のバージョン (0.1.1) ではまだ図書館検索しかできません。正式版の 1.0.0 になるまでには蔵書検索や図書館のキーワード検索 (カーリルラボで公開されているもの) にも対応したいと思っています。あと Observer パターンの非同期操作も提供する予定です。

現時点の機能としては codeplex にも掲載していますが以下のようなことができます。

/// <summary>
/// 東京都大田区の図書館を取得してデバッグ情報に出力します。
/// </summary>
public void WriteLibraries()
{
    Calil.GetLibrary("{{application-key}}")
        .Where(x => x.Pref == "東京都")
        .Where(x => x.City == "大田区")
        .AsEnumerable()
        .ToList()
        .ForEach(x => Debug.WriteLine(x));
}

今のところ LGPL ライセンスで提供していますのでコードを改変しなければ商用・非商用問わずお使いいただけます。正式版になったときはもう少し緩いライセンスに変更するかもしれません。

Discussion