UNPKG

@mathrunet/masamune

Version:

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

255 lines 10.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.defaultConverters = exports.FirestoreModelFieldValueConverterUtils = exports.ModelFieldValueConverterUtils = void 0; const model_server_command_base_converter_1 = require("./converters/model_server_command_base_converter"); const model_counter_converter_1 = require("./converters/model_counter_converter"); const model_timestamp_converter_1 = require("./converters/model_timestamp_converter"); const model_date_converter_1 = require("./converters/model_date_converter"); const model_locale_converter_1 = require("./converters/model_locale_converter"); const model_localized_value_converter_1 = require("./converters/model_localized_value_converter"); const model_uri_converter_1 = require("./converters/model_uri_converter"); const model_image_uri_converter_1 = require("./converters/model_image_uri_converter"); const basic_converter_1 = require("./converters/basic_converter"); const enum_converter_1 = require("./converters/enum_converter"); const model_geo_value_converter_1 = require("./converters/model_geo_value_converter"); const model_vector_value_converter_1 = require("./converters/model_vector_value_converter"); const model_ref_base_converter_1 = require("./converters/model_ref_base_converter"); const model_search_converter_1 = require("./converters/model_search_converter"); const model_token_converter_1 = require("./converters/model_token_converter"); const model_video_uri_converter_1 = require("./converters/model_video_uri_converter"); const null_converter_1 = require("./converters/null_converter"); const model_time_converter_1 = require("./converters/model_time_converter"); const model_time_range_converter_1 = require("./converters/model_time_range_converter"); const model_timestamp_range_converter_1 = require("./converters/model_timestamp_range_converter"); const model_date_range_converter_1 = require("./converters/model_date_range_converter"); /** * List of converters for converting [ModelFieldValue] to Firestore manageable type. * * [ModelFieldValue]をFirestoreで管理可能な型に変換するためのコンバーター一覧。 */ const defaultConverters = [ new model_server_command_base_converter_1.ModelServerCommandBaseConverter(), new model_counter_converter_1.ModelCounterConverter(), new model_timestamp_converter_1.ModelTimestampConverter(), new model_timestamp_range_converter_1.ModelTimestampRangeConverter(), new model_date_converter_1.ModelDateConverter(), new model_date_range_converter_1.ModelDateRangeConverter(), new model_time_converter_1.ModelTimeConverter(), new model_time_range_converter_1.ModelTimeRangeConverter(), new model_locale_converter_1.ModelLocaleConverter(), new model_localized_value_converter_1.ModelLocalizedValueConverter(), new model_uri_converter_1.ModelUriConverter(), new model_image_uri_converter_1.ModelImageUriConverter(), new model_video_uri_converter_1.ModelVideoUriConverter(), new model_search_converter_1.ModelSearchConverter(), new model_token_converter_1.ModelTokenConverter(), new model_geo_value_converter_1.ModelGeoValueConverter(), new model_vector_value_converter_1.ModelVectorValueConverter(), new model_ref_base_converter_1.ModelRefBaseConverter(), new enum_converter_1.ModelEnumConverter(), new null_converter_1.ModelNullConverter(), new basic_converter_1.ModelBasicConverter(), ]; /** * List of converters for converting Firestore values. * * Firestoreの値を変換するためのコンバーター一覧。 */ const defaultFirestoreConverters = [ new model_server_command_base_converter_1.FirestoreModelServerCommandBaseConverter(), new model_counter_converter_1.FirestoreModelCounterConverter(), new model_timestamp_converter_1.FirestoreModelTimestampConverter(), new model_timestamp_range_converter_1.FirestoreModelTimestampRangeConverter(), new model_date_converter_1.FirestoreModelDateConverter(), new model_date_range_converter_1.FirestoreModelDateRangeConverter(), new model_time_converter_1.FirestoreModelTimeConverter(), new model_time_range_converter_1.FirestoreModelTimeRangeConverter(), new model_locale_converter_1.FirestoreModelLocaleConverter(), new model_localized_value_converter_1.FirestoreModelLocalizedValueConverter(), new model_uri_converter_1.FirestoreModelUriConverter(), new model_image_uri_converter_1.FirestoreModelImageUriConverter(), new model_video_uri_converter_1.FirestoreModelVideoUriConverter(), new model_search_converter_1.FirestoreModelSearchConverter(), new model_token_converter_1.FirestoreModelTokenConverter(), new model_geo_value_converter_1.FirestoreModelGeoValueConverter(), new model_vector_value_converter_1.FirestoreModelVectorValueConverter(), new model_ref_base_converter_1.FirestoreModelRefBaseConverter(), new enum_converter_1.FirestoreEnumConverter(), new null_converter_1.FirestoreNullConverter(), new basic_converter_1.FirestoreBasicConverter(), ]; exports.defaultConverters = defaultFirestoreConverters; class ModelFieldValueConverterUtils { /** * Convert data to [ModelFieldValue]. * * データを[ModelFieldValue]に変換します。 * * @param data * Data to convert. * * 変換するデータ。 * * @returns { [field: string]: any } * Data converted to [ModelFieldValue]. * * [ModelFieldValue]に変換されたデータ。 */ static convertFrom({ data }) { const update = {}; var replaced = null; for (const key in data) { const val = data[key]; for (const converter of defaultConverters) { replaced = converter.convertFrom(key, val, data); if (replaced !== null) { // console.log(`ConvertFrom(${converter.type}): ${key} : ${val} to ${replaced}`); break; } } if (replaced !== null) { for (const k in replaced) { const v = replaced[k]; if (k.startsWith("#") && !v) { continue; } update[k] = v; } } else { if (key.startsWith("#") && !val) { continue; } update[key] = val; } } return update; } /** * Convert data to Firestore manageable type. * * データをFirestoreで管理可能な型に変換します。 * * @param data * Data to convert. * * 変換するデータ。 * * @returns { [field: string]: any } * Data converted to Firestore manageable type. * * Firestoreで管理可能な型に変換されたデータ。 */ static convertTo({ data }) { const update = {}; var replaced = null; for (const key in data) { const val = data[key]; for (const converter of defaultConverters) { replaced = converter.convertTo(key, val, data); if (replaced !== null) { // console.log(`ConvertTo(${converter.type}): ${key} : ${val} to ${replaced}`); break; } } if (replaced !== null) { for (const k in replaced) { const v = replaced[k]; update[k] = v; } } else { update[key] = val; } } return update; } } exports.ModelFieldValueConverterUtils = ModelFieldValueConverterUtils; /** * Utility class for converting data using default converters. * * デフォルトのコンバーターを使用してデータを変換するユーティリティクラス。 */ class FirestoreModelFieldValueConverterUtils { /** * Convert data to [ModelFieldValue]. * * データを[ModelFieldValue]に変換します。 * * @param data * Data to convert. * * 変換するデータ。 * * @returns { [field: string]: any } * Data converted to [ModelFieldValue]. * * [ModelFieldValue]に変換されたデータ。 */ static convertFrom({ data, firestoreInstance }) { const update = {}; var replaced = null; for (const key in data) { const val = data[key]; for (const converter of defaultFirestoreConverters) { replaced = converter.convertFrom(key, val, data, firestoreInstance); if (replaced !== null) { // console.log(`FirestoreConvertFrom(${converter.type}): ${key} : ${val} to ${replaced}`); break; } } if (replaced !== null) { for (const k in replaced) { const v = replaced[k]; update[k] = v; } } else { update[key] = val; } } return update; } /** * Convert data to Firestore manageable type. * * データをFirestoreで管理可能な型に変換します。 * * @param data * Data to convert. * * 変換するデータ。 * * @returns { [field: string]: any } * Data converted to Firestore manageable type. * * Firestoreで管理可能な型に変換されたデータ。 */ static convertTo({ data, firestoreInstance }) { const update = {}; var replaced = null; for (const key in data) { const val = data[key]; for (const converter of defaultFirestoreConverters) { replaced = converter.convertTo(key, val, data, firestoreInstance); if (replaced !== null) { // console.log(`FirestoreConvertTo(${converter.type}): ${key} : ${val} to ${replaced}`); break; } } if (replaced !== null) { for (const k in replaced) { const v = replaced[k]; update[k] = v; } } else { update[key] = val; } } return update; } } exports.FirestoreModelFieldValueConverterUtils = FirestoreModelFieldValueConverterUtils; //# sourceMappingURL=default_model_field_value_converter.js.map