UNPKG

@mathrunet/masamune

Version:

Manages packages for the server portion (NodeJS) of the Masamune framework.

127 lines 3.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FirestoreModelFieldValue = exports.FirestoreModelFieldValueConverter = void 0; /** * Base class for converting [ModelFieldValue] for use in Firestore. * * Firestoreで利用するための[ModelFieldValue]の変換を行うベースクラス。 */ class FirestoreModelFieldValueConverter { /** * Base class for converting [ModelFieldValue] for use in Firestore. * * Firestoreで利用するための[ModelFieldValue]の変換を行うベースクラス。 */ constructor() { } /** * Generate a header for ModelFieldValue. * * ModelFieldValue用のヘッダーを生成します。 * * @returns { { [field: string]: any } } * Header for ModelFieldValue. * * ModelFieldValue用のヘッダー。 */ header() { return { "@source": "server", "@type": this.type, }; } ; } exports.FirestoreModelFieldValueConverter = FirestoreModelFieldValueConverter; /** * Class for generating values for `ModelFieldValue` for Firestore. * * Firestore用の`ModelFieldValue`用の値を生成するためのクラス。 */ class FirestoreModelFieldValue { /** * Generate data for `ModelRef`. * * `ModelRef`用のデータを生成します。 * * @param {string} key * Data key. * * データのキー。 * * @param {DocumentReference} ref * Document reference data. * * ドキュメントのリファレンスデータ。 * * @returns { [key: string]: any } * Data for `ModelRef`. * * `ModelRef`用のデータ。 */ static documentReferenceToModelRef({ key, ref, }) { const res = {}; res[key] = { "@ref": ref.path, "@type": "ModelRefBase", }; return res; } /** * Generate data for `ModelTimestamp`. * * `ModelTimestamp`用のデータを生成します。 * * @param {string} key * Data key. * * データのキー。 * * @param {Timestamp} timestamp * Time stamp data. * * タイムスタンプデータ。 * * @returns { [key: string]: any } * Data for `ModelTimestamp`. * * `ModelTimestamp`用のデータ。 */ static timestampToModelTimestamp({ key, timestamp, }) { const res = {}; res[key] = { "@timestamp": timestamp.toMillis(), "@type": "ModelTimestamp", }; return res; } /** * Generate data for `ModelGeoValue`. * * `ModelGeoValue`用のデータを生成します。 * * @param {string} key * Data key. * * データのキー。 * * @param {Timestamp} timestamp * Time stamp data. * * タイムスタンプデータ。 * * @returns { [key: string]: any } * Data for `ModelGeoValue`. * * `ModelGeoValue`用のデータ。 */ static geoPointToModelGeoValue({ key, timestamp, }) { const res = {}; res[key] = { "@timestamp": timestamp.toMillis(), "@type": "ModelTimestamp", }; return res; } } exports.FirestoreModelFieldValue = FirestoreModelFieldValue; //# sourceMappingURL=firestore_model_field_value_converter.js.map