@mathrunet/masamune 3.8.11 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -1
- package/dist/index.d.ts +19 -3
- package/dist/index.js +18 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/api.d.ts +185 -0
- package/dist/lib/api.js +155 -0
- package/dist/lib/api.js.map +1 -0
- package/dist/lib/exntensions/firestore.extension.d.ts +247 -0
- package/dist/lib/exntensions/firestore.extension.js +386 -0
- package/dist/lib/exntensions/firestore.extension.js.map +1 -0
- package/dist/lib/exntensions/string.extension.d.ts +214 -0
- package/dist/lib/exntensions/string.extension.js +223 -0
- package/dist/lib/exntensions/string.extension.js.map +1 -0
- package/dist/lib/model_field_value/converters/basic_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/basic_converter.js +51 -0
- package/dist/lib/model_field_value/converters/basic_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/enum_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/enum_converter.js +51 -0
- package/dist/lib/model_field_value/converters/enum_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_counter_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_counter_converter.js +216 -0
- package/dist/lib/model_field_value/converters/model_counter_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_date_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_date_converter.js +271 -0
- package/dist/lib/model_field_value/converters/model_date_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_date_range_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_date_range_converter.js +225 -0
- package/dist/lib/model_field_value/converters/model_date_range_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_geo_value_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_geo_value_converter.js +215 -0
- package/dist/lib/model_field_value/converters/model_geo_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_image_uri_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_image_uri_converter.js +184 -0
- package/dist/lib/model_field_value/converters/model_image_uri_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_locale_converter.d.ts +51 -0
- package/dist/lib/model_field_value/converters/model_locale_converter.js +228 -0
- package/dist/lib/model_field_value/converters/model_locale_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_localized_value_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_localized_value_converter.js +145 -0
- package/dist/lib/model_field_value/converters/model_localized_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_ref_base_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_ref_base_converter.js +159 -0
- package/dist/lib/model_field_value/converters/model_ref_base_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_search_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_search_converter.js +138 -0
- package/dist/lib/model_field_value/converters/model_search_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_server_command_base_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_server_command_base_converter.js +119 -0
- package/dist/lib/model_field_value/converters/model_server_command_base_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_time_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_time_converter.js +271 -0
- package/dist/lib/model_field_value/converters/model_time_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_time_range_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_time_range_converter.js +225 -0
- package/dist/lib/model_field_value/converters/model_time_range_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_timestamp_converter.d.ts +66 -0
- package/dist/lib/model_field_value/converters/model_timestamp_converter.js +299 -0
- package/dist/lib/model_field_value/converters/model_timestamp_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_timestamp_range_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js +225 -0
- package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_token_converter.d.ts +48 -0
- package/dist/lib/model_field_value/converters/model_token_converter.js +137 -0
- package/dist/lib/model_field_value/converters/model_token_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_uri_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_uri_converter.js +184 -0
- package/dist/lib/model_field_value/converters/model_uri_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_vector_value_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_vector_value_converter.js +125 -0
- package/dist/lib/model_field_value/converters/model_vector_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/model_video_uri_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/model_video_uri_converter.js +184 -0
- package/dist/lib/model_field_value/converters/model_video_uri_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/null_converter.d.ts +49 -0
- package/dist/lib/model_field_value/converters/null_converter.js +72 -0
- package/dist/lib/model_field_value/converters/null_converter.js.map +1 -0
- package/dist/lib/model_field_value/default_model_field_value_converter.d.ts +107 -0
- package/dist/lib/model_field_value/default_model_field_value_converter.js +255 -0
- package/dist/lib/model_field_value/default_model_field_value_converter.js.map +1 -0
- package/dist/lib/model_field_value/model_field_value.d.ts +458 -0
- package/dist/lib/model_field_value/model_field_value.js +583 -0
- package/dist/lib/model_field_value/model_field_value.js.map +1 -0
- package/dist/lib/model_field_value/model_field_value_converter.d.ts +117 -0
- package/dist/lib/model_field_value/model_field_value_converter.js +49 -0
- package/dist/lib/model_field_value/model_field_value_converter.js.map +1 -0
- package/dist/lib/regions.d.ts +6 -0
- package/dist/lib/regions.js +3 -0
- package/dist/lib/regions.js.map +1 -0
- package/dist/lib/src/call_process_function_base.d.ts +39 -0
- package/dist/lib/src/call_process_function_base.js +72 -0
- package/dist/lib/src/call_process_function_base.js.map +1 -0
- package/dist/lib/src/firebase_loader.d.ts +30 -0
- package/dist/lib/src/firebase_loader.js +96 -0
- package/dist/lib/src/firebase_loader.js.map +1 -0
- package/dist/lib/src/firestore_base.d.ts +114 -0
- package/dist/lib/src/firestore_base.js +363 -0
- package/dist/lib/src/firestore_base.js.map +1 -0
- package/dist/lib/src/firestore_triggered_process_function_base.d.ts +40 -0
- package/dist/lib/src/firestore_triggered_process_function_base.js +72 -0
- package/dist/lib/src/firestore_triggered_process_function_base.js.map +1 -0
- package/dist/lib/src/functions_base.d.ts +327 -0
- package/dist/lib/src/functions_base.js +63 -0
- package/dist/lib/src/functions_base.js.map +1 -0
- package/dist/lib/src/functions_data.d.ts +10 -0
- package/dist/lib/src/functions_data.js +19 -0
- package/dist/lib/src/functions_data.js.map +1 -0
- package/dist/lib/src/request_process_function_base.d.ts +39 -0
- package/dist/lib/src/request_process_function_base.js +70 -0
- package/dist/lib/src/request_process_function_base.js.map +1 -0
- package/dist/lib/src/schedule_process_function_base.d.ts +33 -0
- package/dist/lib/src/schedule_process_function_base.js +71 -0
- package/dist/lib/src/schedule_process_function_base.js.map +1 -0
- package/dist/lib/src/sql_api_base.d.ts +185 -0
- package/dist/lib/src/sql_api_base.js +83 -0
- package/dist/lib/src/sql_api_base.js.map +1 -0
- package/dist/lib/utils.d.ts +82 -0
- package/dist/lib/utils.js +141 -0
- package/dist/lib/utils.js.map +1 -0
- package/package.json +1 -2
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FirestoreModelImageUriConverter = exports.ModelImageUriConverter = void 0;
|
|
4
|
+
const model_field_value_converter_1 = require("../model_field_value_converter");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const model_field_value_1 = require("../model_field_value");
|
|
7
|
+
/**
|
|
8
|
+
* ModelImageUri ModelFieldValueConverter.
|
|
9
|
+
*
|
|
10
|
+
* ModelImageUri用のModelFieldValueConverter。
|
|
11
|
+
*/
|
|
12
|
+
class ModelImageUriConverter extends model_field_value_converter_1.ModelFieldValueConverter {
|
|
13
|
+
/**
|
|
14
|
+
* ModelImageUri ModelFieldValueConverter.
|
|
15
|
+
*
|
|
16
|
+
* ModelImageUri用のModelFieldValueConverter。
|
|
17
|
+
*/
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
type = "ModelImageUri";
|
|
22
|
+
convertFrom(key, value, original) {
|
|
23
|
+
if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
|
|
24
|
+
const uri = value["@uri"] ?? "";
|
|
25
|
+
return {
|
|
26
|
+
[key]: new model_field_value_1.ModelImageUri(uri, "server"),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
convertTo(key, value, original) {
|
|
32
|
+
if (value instanceof model_field_value_1.ModelImageUri) {
|
|
33
|
+
return {
|
|
34
|
+
[key]: {
|
|
35
|
+
"@type": this.type,
|
|
36
|
+
"@uri": value["@uri"],
|
|
37
|
+
"@source": value["@source"],
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ModelImageUriConverter = ModelImageUriConverter;
|
|
45
|
+
/**
|
|
46
|
+
* FirestoreConverter for [ModelImageUri].
|
|
47
|
+
*
|
|
48
|
+
* [ModelImageUri]用のFirestoreConverter。
|
|
49
|
+
*/
|
|
50
|
+
class FirestoreModelImageUriConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
|
|
51
|
+
/**
|
|
52
|
+
* FirestoreConverter for [ModelImageUri].
|
|
53
|
+
*
|
|
54
|
+
* [ModelImageUri]用のFirestoreConverter。
|
|
55
|
+
*/
|
|
56
|
+
constructor() {
|
|
57
|
+
super();
|
|
58
|
+
}
|
|
59
|
+
type = "ModelImageUri";
|
|
60
|
+
convertFrom(key, value, original, firestoreInstance) {
|
|
61
|
+
if (typeof value === "string") {
|
|
62
|
+
const targetKey = `#${key}`;
|
|
63
|
+
const targetMap = original[targetKey] ?? {};
|
|
64
|
+
const type = targetMap["@type"] ?? "";
|
|
65
|
+
if (type == this.type) {
|
|
66
|
+
return {
|
|
67
|
+
[key]: {
|
|
68
|
+
"@type": this.type,
|
|
69
|
+
"@uri": value,
|
|
70
|
+
},
|
|
71
|
+
[targetKey]: null,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (Array.isArray(value)) {
|
|
76
|
+
const targetKey = `#${key}`;
|
|
77
|
+
const targetList = original[targetKey] ?? [];
|
|
78
|
+
if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
|
|
79
|
+
const res = [];
|
|
80
|
+
for (const tmp of value) {
|
|
81
|
+
res.push({
|
|
82
|
+
"@type": this.type,
|
|
83
|
+
"@uri": tmp,
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
if (res.length > 0) {
|
|
87
|
+
return {
|
|
88
|
+
[key]: res,
|
|
89
|
+
[targetKey]: null,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
|
95
|
+
const targetKey = `#${key}`;
|
|
96
|
+
const targetMap = original[targetKey] ?? {};
|
|
97
|
+
targetMap;
|
|
98
|
+
if (targetMap != null) {
|
|
99
|
+
const res = {};
|
|
100
|
+
for (const key in value) {
|
|
101
|
+
const val = value[key];
|
|
102
|
+
const mapVal = targetMap[key] ?? {};
|
|
103
|
+
const type = mapVal["@type"] ?? "";
|
|
104
|
+
if (type != this.type) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
res[key] = {
|
|
108
|
+
"@type": this.type,
|
|
109
|
+
"@uri": val,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
if (Object.keys(res).length > 0) {
|
|
113
|
+
return {
|
|
114
|
+
[key]: res,
|
|
115
|
+
[targetKey]: null,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
convertTo(key, value, original, firestoreInstance) {
|
|
123
|
+
if ((0, utils_1.isDynamicMap)(value) && value["@type"] !== undefined) {
|
|
124
|
+
const type = value["@type"] || "";
|
|
125
|
+
if (type === this.type) {
|
|
126
|
+
const val = value["@uri"] || "";
|
|
127
|
+
const targetKey = `#${key}`;
|
|
128
|
+
return {
|
|
129
|
+
[targetKey]: {
|
|
130
|
+
"@type": this.type,
|
|
131
|
+
"@uri": val,
|
|
132
|
+
"@target": key,
|
|
133
|
+
},
|
|
134
|
+
[key]: val,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
else if (Array.isArray(value)) {
|
|
139
|
+
const list = value.filter(e => (0, utils_1.isDynamicMap)(e));
|
|
140
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
|
141
|
+
const target = [];
|
|
142
|
+
const res = [];
|
|
143
|
+
const targetKey = `#${key}`;
|
|
144
|
+
for (const entry of list) {
|
|
145
|
+
const uri = entry["@uri"] || "";
|
|
146
|
+
target.push({
|
|
147
|
+
"@type": this.type,
|
|
148
|
+
"@uri": uri,
|
|
149
|
+
"@target": key,
|
|
150
|
+
});
|
|
151
|
+
res.push(uri);
|
|
152
|
+
}
|
|
153
|
+
return {
|
|
154
|
+
[targetKey]: target,
|
|
155
|
+
[key]: res,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
|
160
|
+
const map = Object.entries(value).filter(([_, v]) => (0, utils_1.isDynamicMap)(v));
|
|
161
|
+
if (map.length > 0 && map.every(([_, v]) => v["@type"] === this.type)) {
|
|
162
|
+
const target = {};
|
|
163
|
+
const res = {};
|
|
164
|
+
const targetKey = `#${key}`;
|
|
165
|
+
for (const [k, v] of map) {
|
|
166
|
+
const uri = v["@uri"] || "";
|
|
167
|
+
target[k] = {
|
|
168
|
+
"@type": this.type,
|
|
169
|
+
"@uri": uri,
|
|
170
|
+
"@target": key,
|
|
171
|
+
};
|
|
172
|
+
res[k] = uri;
|
|
173
|
+
}
|
|
174
|
+
return {
|
|
175
|
+
[targetKey]: target,
|
|
176
|
+
[key]: res,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return null;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
exports.FirestoreModelImageUriConverter = FirestoreModelImageUriConverter;
|
|
184
|
+
//# sourceMappingURL=model_image_uri_converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model_image_uri_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/model_image_uri_converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { FirestoreModelFieldValueConverter, ModelFieldValueConverter } from "../model_field_value_converter";
|
|
2
|
+
/**
|
|
3
|
+
* ModelLocale ModelFieldValueConverter.
|
|
4
|
+
*
|
|
5
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
6
|
+
*/
|
|
7
|
+
export declare class ModelLocaleConverter extends ModelFieldValueConverter {
|
|
8
|
+
/**
|
|
9
|
+
* ModelLocale ModelFieldValueConverter.
|
|
10
|
+
*
|
|
11
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
12
|
+
*/
|
|
13
|
+
constructor();
|
|
14
|
+
type: string;
|
|
15
|
+
convertFrom(key: string, value: any, original: {
|
|
16
|
+
[field: string]: any;
|
|
17
|
+
}): {
|
|
18
|
+
[field: string]: any;
|
|
19
|
+
} | null;
|
|
20
|
+
convertTo(key: string, value: any, original: {
|
|
21
|
+
[field: string]: any;
|
|
22
|
+
}): {
|
|
23
|
+
[field: string]: any;
|
|
24
|
+
} | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* ModelLocale ModelFieldValueConverter.
|
|
28
|
+
*
|
|
29
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
30
|
+
*/
|
|
31
|
+
export declare class FirestoreModelLocaleConverter extends FirestoreModelFieldValueConverter {
|
|
32
|
+
/**
|
|
33
|
+
* ModelLocale ModelFieldValueConverter.
|
|
34
|
+
*
|
|
35
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
36
|
+
*
|
|
37
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
38
|
+
*/
|
|
39
|
+
constructor();
|
|
40
|
+
type: string;
|
|
41
|
+
convertFrom(key: string, value: any, original: {
|
|
42
|
+
[field: string]: any;
|
|
43
|
+
}, firestoreInstance: FirebaseFirestore.Firestore): {
|
|
44
|
+
[field: string]: any;
|
|
45
|
+
} | null;
|
|
46
|
+
convertTo(key: string, value: any, _original: {
|
|
47
|
+
[field: string]: any;
|
|
48
|
+
}, firestoreInstance: FirebaseFirestore.Firestore): {
|
|
49
|
+
[field: string]: any;
|
|
50
|
+
} | null;
|
|
51
|
+
}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FirestoreModelLocaleConverter = exports.ModelLocaleConverter = void 0;
|
|
4
|
+
const model_field_value_converter_1 = require("../model_field_value_converter");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const model_field_value_1 = require("../model_field_value");
|
|
7
|
+
/**
|
|
8
|
+
* ModelLocale ModelFieldValueConverter.
|
|
9
|
+
*
|
|
10
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
11
|
+
*/
|
|
12
|
+
class ModelLocaleConverter extends model_field_value_converter_1.ModelFieldValueConverter {
|
|
13
|
+
/**
|
|
14
|
+
* ModelLocale ModelFieldValueConverter.
|
|
15
|
+
*
|
|
16
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
17
|
+
*/
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
type = "ModelLocale";
|
|
22
|
+
convertFrom(key, value, original) {
|
|
23
|
+
if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
|
|
24
|
+
const language = value["@language"] ?? "en";
|
|
25
|
+
const country = value["@country"];
|
|
26
|
+
return {
|
|
27
|
+
[key]: new model_field_value_1.ModelLocale(language, country, "server"),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
convertTo(key, value, original) {
|
|
33
|
+
if (value instanceof model_field_value_1.ModelLocale) {
|
|
34
|
+
return {
|
|
35
|
+
[key]: {
|
|
36
|
+
"@type": this.type,
|
|
37
|
+
"@language": value["@language"],
|
|
38
|
+
"@country": value["@country"],
|
|
39
|
+
"@source": value["@source"],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.ModelLocaleConverter = ModelLocaleConverter;
|
|
47
|
+
/**
|
|
48
|
+
* ModelLocale ModelFieldValueConverter.
|
|
49
|
+
*
|
|
50
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
51
|
+
*/
|
|
52
|
+
class FirestoreModelLocaleConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
|
|
53
|
+
/**
|
|
54
|
+
* ModelLocale ModelFieldValueConverter.
|
|
55
|
+
*
|
|
56
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
57
|
+
*
|
|
58
|
+
* ModelLocale用のModelFieldValueConverter。
|
|
59
|
+
*/
|
|
60
|
+
constructor() {
|
|
61
|
+
super();
|
|
62
|
+
}
|
|
63
|
+
type = "ModelLocale";
|
|
64
|
+
convertFrom(key, value, original, firestoreInstance) {
|
|
65
|
+
if (typeof value === "string") {
|
|
66
|
+
const targetKey = `#${key}`;
|
|
67
|
+
const targetMap = original[targetKey] ?? {};
|
|
68
|
+
const type = targetMap["@type"] ?? "";
|
|
69
|
+
if (type == this.type) {
|
|
70
|
+
const split = value.split("_");
|
|
71
|
+
const language = split[0];
|
|
72
|
+
const country = split.length > 1 ? split[1] : undefined;
|
|
73
|
+
return {
|
|
74
|
+
[key]: {
|
|
75
|
+
"@type": this.type,
|
|
76
|
+
"@language": language,
|
|
77
|
+
"@country": country,
|
|
78
|
+
},
|
|
79
|
+
[targetKey]: null,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
else if (Array.isArray(value)) {
|
|
84
|
+
const targetKey = `#${key}`;
|
|
85
|
+
const targetList = original[targetKey] ?? [];
|
|
86
|
+
if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
|
|
87
|
+
const res = [];
|
|
88
|
+
for (const tmp of value) {
|
|
89
|
+
const split = tmp.split("_");
|
|
90
|
+
const language = split[0];
|
|
91
|
+
const country = split.length > 1 ? split[1] : undefined;
|
|
92
|
+
res.push({
|
|
93
|
+
"@type": this.type,
|
|
94
|
+
"@language": language,
|
|
95
|
+
"@country": country,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if (res.length > 0) {
|
|
99
|
+
return {
|
|
100
|
+
[key]: res,
|
|
101
|
+
[targetKey]: null,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
|
107
|
+
const targetKey = `#${key}`;
|
|
108
|
+
const targetMap = original[targetKey] ?? {};
|
|
109
|
+
targetMap;
|
|
110
|
+
if (targetMap != null) {
|
|
111
|
+
const res = {};
|
|
112
|
+
for (const key in value) {
|
|
113
|
+
const val = value[key];
|
|
114
|
+
const mapVal = targetMap[key] ?? {};
|
|
115
|
+
const type = mapVal["@type"] ?? "";
|
|
116
|
+
if (type != this.type) {
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
119
|
+
const split = val.split("_");
|
|
120
|
+
const language = split[0];
|
|
121
|
+
const country = split.length > 1 ? split[1] : undefined;
|
|
122
|
+
res[key] = {
|
|
123
|
+
"@type": this.type,
|
|
124
|
+
"@language": language,
|
|
125
|
+
"@country": country,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
if (Object.keys(res).length > 0) {
|
|
129
|
+
return {
|
|
130
|
+
[key]: res,
|
|
131
|
+
[targetKey]: null,
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
convertTo(key, value, _original, firestoreInstance) {
|
|
139
|
+
if (value != null && typeof value === "object" && "@type" in value) {
|
|
140
|
+
const type = value["@type"] ?? "";
|
|
141
|
+
if (type === this.type) {
|
|
142
|
+
const language = value["@language"] ?? "";
|
|
143
|
+
const country = value["@country"] ?? "";
|
|
144
|
+
const targetKey = `#${key}`;
|
|
145
|
+
const result = {
|
|
146
|
+
[targetKey]: {
|
|
147
|
+
"@type": this.type,
|
|
148
|
+
"@language": language,
|
|
149
|
+
"@country": country,
|
|
150
|
+
"@target": key,
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
if (country) {
|
|
154
|
+
result[key] = `${language}_${country}`;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
result[key] = language;
|
|
158
|
+
}
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else if (Array.isArray(value)) {
|
|
163
|
+
const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
|
|
164
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
|
165
|
+
const target = [];
|
|
166
|
+
const res = [];
|
|
167
|
+
const targetKey = `#${key}`;
|
|
168
|
+
for (const entry of list) {
|
|
169
|
+
const language = entry["@language"] ?? "";
|
|
170
|
+
const country = entry["@country"] ?? "";
|
|
171
|
+
target.push({
|
|
172
|
+
"@type": this.type,
|
|
173
|
+
"@language": language,
|
|
174
|
+
"@country": country,
|
|
175
|
+
"@target": key,
|
|
176
|
+
});
|
|
177
|
+
if (country) {
|
|
178
|
+
res.push(`${language}_${country}`);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
res.push(language);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
[targetKey]: target,
|
|
186
|
+
[key]: res,
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
|
191
|
+
const map = {};
|
|
192
|
+
for (const k in value) {
|
|
193
|
+
const v = value[k];
|
|
194
|
+
if (v != null && typeof v === "object" && "@type" in v) {
|
|
195
|
+
map[k] = v;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
|
|
199
|
+
const target = {};
|
|
200
|
+
const res = {};
|
|
201
|
+
const targetKey = `#${key}`;
|
|
202
|
+
for (const [k, entry] of Object.entries(map)) {
|
|
203
|
+
const language = entry["@language"] ?? "";
|
|
204
|
+
const country = entry["@country"] ?? "";
|
|
205
|
+
target[k] = {
|
|
206
|
+
"@type": this.type,
|
|
207
|
+
"@language": language,
|
|
208
|
+
"@country": country,
|
|
209
|
+
"@target": key,
|
|
210
|
+
};
|
|
211
|
+
if (country) {
|
|
212
|
+
res[k] = `${language}_${country}`;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
res[k] = language;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return {
|
|
219
|
+
[targetKey]: target,
|
|
220
|
+
[key]: res,
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return null;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
exports.FirestoreModelLocaleConverter = FirestoreModelLocaleConverter;
|
|
228
|
+
//# sourceMappingURL=model_locale_converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model_locale_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/model_locale_converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { FirestoreModelFieldValueConverter, ModelFieldValueConverter } from "../model_field_value_converter";
|
|
2
|
+
/**
|
|
3
|
+
* ModelLocalizedValue ModelFieldValueConverter.
|
|
4
|
+
*
|
|
5
|
+
* ModelLocalizedValue用のModelFieldValueConverter。
|
|
6
|
+
*/
|
|
7
|
+
export declare class ModelLocalizedValueConverter extends ModelFieldValueConverter {
|
|
8
|
+
/**
|
|
9
|
+
* ModelLocalizedValue ModelFieldValueConverter.
|
|
10
|
+
*
|
|
11
|
+
* ModelLocalizedValue用のModelFieldValueConverter。
|
|
12
|
+
*/
|
|
13
|
+
constructor();
|
|
14
|
+
type: string;
|
|
15
|
+
convertFrom(key: string, value: any, original: {
|
|
16
|
+
[field: string]: any;
|
|
17
|
+
}): {
|
|
18
|
+
[field: string]: any;
|
|
19
|
+
} | null;
|
|
20
|
+
convertTo(key: string, value: any, original: {
|
|
21
|
+
[field: string]: any;
|
|
22
|
+
}): {
|
|
23
|
+
[field: string]: any;
|
|
24
|
+
} | null;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* FirestoreConverter for [ModelLocalizedValue].
|
|
28
|
+
*
|
|
29
|
+
* [ModelLocalizedValue]用のFirestoreConverter。
|
|
30
|
+
*/
|
|
31
|
+
export declare class FirestoreModelLocalizedValueConverter extends FirestoreModelFieldValueConverter {
|
|
32
|
+
/**
|
|
33
|
+
* FirestoreConverter for [ModelLocalizedValue].
|
|
34
|
+
*
|
|
35
|
+
* [ModelLocalizedValue]用のFirestoreConverter。
|
|
36
|
+
*/
|
|
37
|
+
constructor();
|
|
38
|
+
type: string;
|
|
39
|
+
convertFrom(key: string, value: any, original: {
|
|
40
|
+
[field: string]: any;
|
|
41
|
+
}, firestoreInstance: FirebaseFirestore.Firestore): {
|
|
42
|
+
[field: string]: any;
|
|
43
|
+
} | null;
|
|
44
|
+
convertTo(key: string, value: any, original: {
|
|
45
|
+
[field: string]: any;
|
|
46
|
+
}, firestoreInstance: FirebaseFirestore.Firestore): {
|
|
47
|
+
[field: string]: any;
|
|
48
|
+
} | null;
|
|
49
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FirestoreModelLocalizedValueConverter = exports.ModelLocalizedValueConverter = void 0;
|
|
4
|
+
const model_field_value_converter_1 = require("../model_field_value_converter");
|
|
5
|
+
const utils_1 = require("../../utils");
|
|
6
|
+
const model_field_value_1 = require("../model_field_value");
|
|
7
|
+
/**
|
|
8
|
+
* ModelLocalizedValue ModelFieldValueConverter.
|
|
9
|
+
*
|
|
10
|
+
* ModelLocalizedValue用のModelFieldValueConverter。
|
|
11
|
+
*/
|
|
12
|
+
class ModelLocalizedValueConverter extends model_field_value_converter_1.ModelFieldValueConverter {
|
|
13
|
+
/**
|
|
14
|
+
* ModelLocalizedValue ModelFieldValueConverter.
|
|
15
|
+
*
|
|
16
|
+
* ModelLocalizedValue用のModelFieldValueConverter。
|
|
17
|
+
*/
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
type = "ModelLocalizedValue";
|
|
22
|
+
convertFrom(key, value, original) {
|
|
23
|
+
if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
|
|
24
|
+
const localized = value["@localized"] ?? {};
|
|
25
|
+
const localizedValues = [];
|
|
26
|
+
for (const locale in localized) {
|
|
27
|
+
const split = locale.split("_");
|
|
28
|
+
const language = split[0];
|
|
29
|
+
const country = split.length > 1 ? split[1] : undefined;
|
|
30
|
+
localizedValues.push(new model_field_value_1.ModelLocalizedLocaleVaue({
|
|
31
|
+
language: language,
|
|
32
|
+
country: country,
|
|
33
|
+
value: localized[locale],
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
[key]: new model_field_value_1.ModelLocalizedValue(localizedValues, "server"),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
convertTo(key, value, original) {
|
|
43
|
+
if (value instanceof model_field_value_1.ModelLocalizedValue) {
|
|
44
|
+
const loalizedMap = {};
|
|
45
|
+
for (const locale of value["@localized"]) {
|
|
46
|
+
loalizedMap[`${locale.language}${locale.country ? `_${locale.country}` : ""}`] = locale.value;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
[key]: {
|
|
50
|
+
"@type": this.type,
|
|
51
|
+
"@localized": loalizedMap,
|
|
52
|
+
"@source": value["@source"],
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.ModelLocalizedValueConverter = ModelLocalizedValueConverter;
|
|
60
|
+
/**
|
|
61
|
+
* FirestoreConverter for [ModelLocalizedValue].
|
|
62
|
+
*
|
|
63
|
+
* [ModelLocalizedValue]用のFirestoreConverter。
|
|
64
|
+
*/
|
|
65
|
+
class FirestoreModelLocalizedValueConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
|
|
66
|
+
/**
|
|
67
|
+
* FirestoreConverter for [ModelLocalizedValue].
|
|
68
|
+
*
|
|
69
|
+
* [ModelLocalizedValue]用のFirestoreConverter。
|
|
70
|
+
*/
|
|
71
|
+
constructor() {
|
|
72
|
+
super();
|
|
73
|
+
}
|
|
74
|
+
type = "ModelLocalizedValue";
|
|
75
|
+
convertFrom(key, value, original, firestoreInstance) {
|
|
76
|
+
if (Array.isArray(value)) {
|
|
77
|
+
const targetKey = `#${key}`;
|
|
78
|
+
const targetMap = original[targetKey] ?? {};
|
|
79
|
+
const type = targetMap["@type"] ?? "";
|
|
80
|
+
if (type == this.type) {
|
|
81
|
+
const val = targetMap["@localized"] ?? {};
|
|
82
|
+
return {
|
|
83
|
+
[key]: {
|
|
84
|
+
"@type": this.type,
|
|
85
|
+
"@localized": val,
|
|
86
|
+
},
|
|
87
|
+
[targetKey]: null,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
convertTo(key, value, original, firestoreInstance) {
|
|
94
|
+
if (value != null && typeof value === "object" && "@type" in value) {
|
|
95
|
+
const type = value["@type"] ?? "";
|
|
96
|
+
if (type === this.type) {
|
|
97
|
+
const fromUser = (value["@source"] ?? "") === "user";
|
|
98
|
+
const val = value["@localized"] ?? {};
|
|
99
|
+
const targetKey = `#${key}`;
|
|
100
|
+
const localizedMap = {};
|
|
101
|
+
for (const locale in val) {
|
|
102
|
+
localizedMap[locale] = val[locale];
|
|
103
|
+
}
|
|
104
|
+
const result = {
|
|
105
|
+
[targetKey]: {
|
|
106
|
+
"@type": this.type,
|
|
107
|
+
"@localized": localizedMap,
|
|
108
|
+
"@target": key,
|
|
109
|
+
},
|
|
110
|
+
[key]: val,
|
|
111
|
+
};
|
|
112
|
+
if (fromUser) {
|
|
113
|
+
// Convert to array format expected by Firestore for localized values
|
|
114
|
+
const localizedArray = [];
|
|
115
|
+
for (const locale in val) {
|
|
116
|
+
localizedArray.push(`${locale}:${val[locale]}`);
|
|
117
|
+
}
|
|
118
|
+
result[key] = localizedArray;
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
else if (Array.isArray(value)) {
|
|
124
|
+
const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
|
|
125
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
|
126
|
+
throw new Error("ModelLocalizedValue cannot be included in a listing or map. It must be placed in the top field.");
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
|
130
|
+
const map = {};
|
|
131
|
+
for (const k in value) {
|
|
132
|
+
const v = value[k];
|
|
133
|
+
if (v != null && typeof v === "object" && "@type" in v) {
|
|
134
|
+
map[k] = v;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
|
|
138
|
+
throw new Error("ModelLocalizedValue cannot be included in a listing or map. It must be placed in the top field.");
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.FirestoreModelLocalizedValueConverter = FirestoreModelLocalizedValueConverter;
|
|
145
|
+
//# sourceMappingURL=model_localized_value_converter.js.map
|