@mathrunet/masamune 3.8.11 → 3.9.3

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.
Files changed (124) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/dist/functions/test.js +2 -2
  3. package/dist/functions/test.js.map +1 -1
  4. package/dist/functions.d.ts +3 -2
  5. package/dist/functions.js +2 -35
  6. package/dist/functions.js.map +1 -1
  7. package/dist/index.d.ts +19 -3
  8. package/dist/index.js +18 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/api.d.ts +185 -0
  11. package/dist/lib/api.js +155 -0
  12. package/dist/lib/api.js.map +1 -0
  13. package/dist/lib/exntensions/firestore.extension.d.ts +247 -0
  14. package/dist/lib/exntensions/firestore.extension.js +386 -0
  15. package/dist/lib/exntensions/firestore.extension.js.map +1 -0
  16. package/dist/lib/exntensions/string.extension.d.ts +214 -0
  17. package/dist/lib/exntensions/string.extension.js +223 -0
  18. package/dist/lib/exntensions/string.extension.js.map +1 -0
  19. package/dist/lib/model_field_value/converters/basic_converter.d.ts +49 -0
  20. package/dist/lib/model_field_value/converters/basic_converter.js +51 -0
  21. package/dist/lib/model_field_value/converters/basic_converter.js.map +1 -0
  22. package/dist/lib/model_field_value/converters/enum_converter.d.ts +49 -0
  23. package/dist/lib/model_field_value/converters/enum_converter.js +51 -0
  24. package/dist/lib/model_field_value/converters/enum_converter.js.map +1 -0
  25. package/dist/lib/model_field_value/converters/model_counter_converter.d.ts +49 -0
  26. package/dist/lib/model_field_value/converters/model_counter_converter.js +216 -0
  27. package/dist/lib/model_field_value/converters/model_counter_converter.js.map +1 -0
  28. package/dist/lib/model_field_value/converters/model_date_converter.d.ts +49 -0
  29. package/dist/lib/model_field_value/converters/model_date_converter.js +271 -0
  30. package/dist/lib/model_field_value/converters/model_date_converter.js.map +1 -0
  31. package/dist/lib/model_field_value/converters/model_date_range_converter.d.ts +49 -0
  32. package/dist/lib/model_field_value/converters/model_date_range_converter.js +225 -0
  33. package/dist/lib/model_field_value/converters/model_date_range_converter.js.map +1 -0
  34. package/dist/lib/model_field_value/converters/model_geo_value_converter.d.ts +49 -0
  35. package/dist/lib/model_field_value/converters/model_geo_value_converter.js +215 -0
  36. package/dist/lib/model_field_value/converters/model_geo_value_converter.js.map +1 -0
  37. package/dist/lib/model_field_value/converters/model_image_uri_converter.d.ts +49 -0
  38. package/dist/lib/model_field_value/converters/model_image_uri_converter.js +184 -0
  39. package/dist/lib/model_field_value/converters/model_image_uri_converter.js.map +1 -0
  40. package/dist/lib/model_field_value/converters/model_locale_converter.d.ts +51 -0
  41. package/dist/lib/model_field_value/converters/model_locale_converter.js +228 -0
  42. package/dist/lib/model_field_value/converters/model_locale_converter.js.map +1 -0
  43. package/dist/lib/model_field_value/converters/model_localized_value_converter.d.ts +49 -0
  44. package/dist/lib/model_field_value/converters/model_localized_value_converter.js +145 -0
  45. package/dist/lib/model_field_value/converters/model_localized_value_converter.js.map +1 -0
  46. package/dist/lib/model_field_value/converters/model_ref_base_converter.d.ts +49 -0
  47. package/dist/lib/model_field_value/converters/model_ref_base_converter.js +159 -0
  48. package/dist/lib/model_field_value/converters/model_ref_base_converter.js.map +1 -0
  49. package/dist/lib/model_field_value/converters/model_search_converter.d.ts +49 -0
  50. package/dist/lib/model_field_value/converters/model_search_converter.js +138 -0
  51. package/dist/lib/model_field_value/converters/model_search_converter.js.map +1 -0
  52. package/dist/lib/model_field_value/converters/model_server_command_base_converter.d.ts +49 -0
  53. package/dist/lib/model_field_value/converters/model_server_command_base_converter.js +119 -0
  54. package/dist/lib/model_field_value/converters/model_server_command_base_converter.js.map +1 -0
  55. package/dist/lib/model_field_value/converters/model_time_converter.d.ts +49 -0
  56. package/dist/lib/model_field_value/converters/model_time_converter.js +271 -0
  57. package/dist/lib/model_field_value/converters/model_time_converter.js.map +1 -0
  58. package/dist/lib/model_field_value/converters/model_time_range_converter.d.ts +49 -0
  59. package/dist/lib/model_field_value/converters/model_time_range_converter.js +225 -0
  60. package/dist/lib/model_field_value/converters/model_time_range_converter.js.map +1 -0
  61. package/dist/lib/model_field_value/converters/model_timestamp_converter.d.ts +66 -0
  62. package/dist/lib/model_field_value/converters/model_timestamp_converter.js +299 -0
  63. package/dist/lib/model_field_value/converters/model_timestamp_converter.js.map +1 -0
  64. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.d.ts +49 -0
  65. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js +225 -0
  66. package/dist/lib/model_field_value/converters/model_timestamp_range_converter.js.map +1 -0
  67. package/dist/lib/model_field_value/converters/model_token_converter.d.ts +48 -0
  68. package/dist/lib/model_field_value/converters/model_token_converter.js +137 -0
  69. package/dist/lib/model_field_value/converters/model_token_converter.js.map +1 -0
  70. package/dist/lib/model_field_value/converters/model_uri_converter.d.ts +49 -0
  71. package/dist/lib/model_field_value/converters/model_uri_converter.js +184 -0
  72. package/dist/lib/model_field_value/converters/model_uri_converter.js.map +1 -0
  73. package/dist/lib/model_field_value/converters/model_vector_value_converter.d.ts +49 -0
  74. package/dist/lib/model_field_value/converters/model_vector_value_converter.js +125 -0
  75. package/dist/lib/model_field_value/converters/model_vector_value_converter.js.map +1 -0
  76. package/dist/lib/model_field_value/converters/model_video_uri_converter.d.ts +49 -0
  77. package/dist/lib/model_field_value/converters/model_video_uri_converter.js +184 -0
  78. package/dist/lib/model_field_value/converters/model_video_uri_converter.js.map +1 -0
  79. package/dist/lib/model_field_value/converters/null_converter.d.ts +49 -0
  80. package/dist/lib/model_field_value/converters/null_converter.js +72 -0
  81. package/dist/lib/model_field_value/converters/null_converter.js.map +1 -0
  82. package/dist/lib/model_field_value/default_model_field_value_converter.d.ts +107 -0
  83. package/dist/lib/model_field_value/default_model_field_value_converter.js +255 -0
  84. package/dist/lib/model_field_value/default_model_field_value_converter.js.map +1 -0
  85. package/dist/lib/model_field_value/model_field_value.d.ts +458 -0
  86. package/dist/lib/model_field_value/model_field_value.js +583 -0
  87. package/dist/lib/model_field_value/model_field_value.js.map +1 -0
  88. package/dist/lib/model_field_value/model_field_value_converter.d.ts +117 -0
  89. package/dist/lib/model_field_value/model_field_value_converter.js +49 -0
  90. package/dist/lib/model_field_value/model_field_value_converter.js.map +1 -0
  91. package/dist/lib/regions.d.ts +6 -0
  92. package/dist/lib/regions.js +3 -0
  93. package/dist/lib/regions.js.map +1 -0
  94. package/dist/lib/src/call_process_function_base.d.ts +39 -0
  95. package/dist/lib/src/call_process_function_base.js +72 -0
  96. package/dist/lib/src/call_process_function_base.js.map +1 -0
  97. package/dist/lib/src/firebase_loader.d.ts +30 -0
  98. package/dist/lib/src/firebase_loader.js +96 -0
  99. package/dist/lib/src/firebase_loader.js.map +1 -0
  100. package/dist/lib/src/firestore_base.d.ts +114 -0
  101. package/dist/lib/src/firestore_base.js +363 -0
  102. package/dist/lib/src/firestore_base.js.map +1 -0
  103. package/dist/lib/src/firestore_triggered_process_function_base.d.ts +40 -0
  104. package/dist/lib/src/firestore_triggered_process_function_base.js +72 -0
  105. package/dist/lib/src/firestore_triggered_process_function_base.js.map +1 -0
  106. package/dist/lib/src/functions_base.d.ts +327 -0
  107. package/dist/lib/src/functions_base.js +63 -0
  108. package/dist/lib/src/functions_base.js.map +1 -0
  109. package/dist/lib/src/functions_data.d.ts +10 -0
  110. package/dist/lib/src/functions_data.js +19 -0
  111. package/dist/lib/src/functions_data.js.map +1 -0
  112. package/dist/lib/src/request_process_function_base.d.ts +39 -0
  113. package/dist/lib/src/request_process_function_base.js +70 -0
  114. package/dist/lib/src/request_process_function_base.js.map +1 -0
  115. package/dist/lib/src/schedule_process_function_base.d.ts +33 -0
  116. package/dist/lib/src/schedule_process_function_base.js +71 -0
  117. package/dist/lib/src/schedule_process_function_base.js.map +1 -0
  118. package/dist/lib/src/sql_api_base.d.ts +185 -0
  119. package/dist/lib/src/sql_api_base.js +83 -0
  120. package/dist/lib/src/sql_api_base.js.map +1 -0
  121. package/dist/lib/utils.d.ts +82 -0
  122. package/dist/lib/utils.js +141 -0
  123. package/dist/lib/utils.js.map +1 -0
  124. package/package.json +1 -2
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelTimestampConverter = exports.ModelTimestampConverter = void 0;
4
+ exports.createTimestampFromMicroseconds = createTimestampFromMicroseconds;
5
+ const model_field_value_converter_1 = require("../model_field_value_converter");
6
+ const utils_1 = require("../../utils");
7
+ const firestore_1 = require("firebase-admin/firestore");
8
+ const firestore_2 = require("@google-cloud/firestore");
9
+ const model_field_value_1 = require("../model_field_value");
10
+ /**
11
+ * ModelTimestamp ModelFieldValueConverter.
12
+ *
13
+ * ModelTimestamp用のModelFieldValueConverter。
14
+ */
15
+ class ModelTimestampConverter extends model_field_value_converter_1.ModelFieldValueConverter {
16
+ /**
17
+ * ModelTimestamp ModelFieldValueConverter.
18
+ *
19
+ * ModelTimestamp用のModelFieldValueConverter。
20
+ */
21
+ constructor() {
22
+ super();
23
+ }
24
+ type = "ModelTimestamp";
25
+ convertFrom(key, value, original) {
26
+ if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
27
+ const time = value["@time"] ?? 0;
28
+ return {
29
+ [key]: new model_field_value_1.ModelTimestamp(new Date(time / 1000.0), "server"),
30
+ };
31
+ }
32
+ return null;
33
+ }
34
+ convertTo(key, value, original) {
35
+ if (value instanceof model_field_value_1.ModelTimestamp) {
36
+ return {
37
+ [key]: {
38
+ "@type": this.type,
39
+ "@time": value["@time"] * 1000,
40
+ "@source": value["@source"],
41
+ },
42
+ };
43
+ }
44
+ return null;
45
+ }
46
+ }
47
+ exports.ModelTimestampConverter = ModelTimestampConverter;
48
+ /**
49
+ * Create Timestamp from microseconds.
50
+ *
51
+ * マイクロ秒からTimestampを作成します。
52
+ *
53
+ * @param microseconds
54
+ * Microseconds.
55
+ *
56
+ * マイクロ秒。
57
+ *
58
+ * @returns {Timestamp}
59
+ * Timestamp.
60
+ *
61
+ * Timestamp。
62
+ */
63
+ function createTimestampFromMicroseconds(microseconds) {
64
+ if (microseconds >= 0) {
65
+ return firestore_1.Timestamp.fromMillis(microseconds / 1000);
66
+ }
67
+ const seconds = Math.floor(microseconds / 1000000);
68
+ const remainingMicros = microseconds - (seconds * 1000000);
69
+ const nanoseconds = remainingMicros * 1000;
70
+ if (nanoseconds < 0) {
71
+ return new firestore_1.Timestamp(seconds - 1, nanoseconds + 1000000000);
72
+ }
73
+ return new firestore_1.Timestamp(seconds, nanoseconds);
74
+ }
75
+ /**
76
+ * FirestoreConverter for [ModelTimestamp].
77
+ *
78
+ * [ModelTimestamp]用のFirestoreConverter。
79
+ */
80
+ class FirestoreModelTimestampConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
81
+ /**
82
+ * FirestoreConverter for [ModelTimestamp].
83
+ *
84
+ * [ModelTimestamp]用のFirestoreConverter。
85
+ */
86
+ constructor() {
87
+ super();
88
+ }
89
+ type = "ModelTimestamp";
90
+ convertFrom(key, value, original, firestoreInstance) {
91
+ if (typeof value === "number") {
92
+ const targetKey = `#${key}`;
93
+ const targetMap = original[targetKey] ?? {};
94
+ const type = targetMap["@type"] ?? "";
95
+ if (type == this.type) {
96
+ return {
97
+ [key]: {
98
+ "@type": this.type,
99
+ "@time": value * 1000, // Convert milliseconds to microseconds
100
+ "@now": false,
101
+ "@source": "server"
102
+ },
103
+ [targetKey]: null,
104
+ };
105
+ }
106
+ }
107
+ else if (value instanceof firestore_1.Timestamp) {
108
+ const targetKey = `#${key}`;
109
+ const targetMap = original[targetKey] ?? {};
110
+ const type = targetMap["@type"] ?? "";
111
+ if (type == this.type) {
112
+ return {
113
+ [key]: {
114
+ "@type": this.type,
115
+ "@time": value.toMillis() * 1000, // Convert milliseconds to microseconds
116
+ "@now": false,
117
+ "@source": "server"
118
+ },
119
+ [targetKey]: null,
120
+ };
121
+ }
122
+ }
123
+ else if (Array.isArray(value)) {
124
+ const targetKey = `#${key}`;
125
+ const targetList = original[targetKey] ?? [];
126
+ if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
127
+ const res = [];
128
+ for (const tmp of value) {
129
+ if (typeof tmp === "number") {
130
+ res.push({
131
+ "@type": this.type,
132
+ "@time": tmp * 1000, // Convert milliseconds to microseconds
133
+ "@now": false,
134
+ "@source": "server"
135
+ });
136
+ }
137
+ else if (tmp instanceof firestore_1.Timestamp) {
138
+ res.push({
139
+ "@type": this.type,
140
+ "@time": tmp.toMillis() * 1000, // Convert milliseconds to microseconds
141
+ "@now": false,
142
+ "@source": "server"
143
+ });
144
+ }
145
+ }
146
+ if (res.length > 0) {
147
+ return {
148
+ [key]: res,
149
+ [targetKey]: null,
150
+ };
151
+ }
152
+ }
153
+ }
154
+ else if ((0, utils_1.isDynamicMap)(value)) {
155
+ const targetKey = `#${key}`;
156
+ const targetMap = original[targetKey] ?? {};
157
+ targetMap;
158
+ if (targetMap != null) {
159
+ const res = {};
160
+ for (const key in value) {
161
+ const val = value[key];
162
+ const mapVal = targetMap[key] ?? {};
163
+ const type = mapVal["@type"] ?? "";
164
+ if (type != this.type) {
165
+ continue;
166
+ }
167
+ if (typeof val === "number") {
168
+ res[key] = {
169
+ "@type": this.type,
170
+ "@time": val * 1000, // Convert milliseconds to microseconds
171
+ "@now": false,
172
+ "@source": "server"
173
+ };
174
+ }
175
+ else if (val instanceof firestore_1.Timestamp) {
176
+ res[key] = {
177
+ "@type": this.type,
178
+ "@time": val.toMillis() * 1000, // Convert milliseconds to microseconds
179
+ "@now": false,
180
+ "@source": "server"
181
+ };
182
+ }
183
+ }
184
+ if (Object.keys(res).length > 0) {
185
+ return {
186
+ [key]: res,
187
+ [targetKey]: null,
188
+ };
189
+ }
190
+ }
191
+ }
192
+ return null;
193
+ }
194
+ convertTo(key, value, _original, firestoreInstance) {
195
+ if (value !== null && typeof value === "object" && "@type" in value) {
196
+ const type = value["@type"] ?? "";
197
+ if (type === this.type) {
198
+ const fromUser = (value["@source"] ?? "") === "user";
199
+ const val = value["@time"] ?? 0;
200
+ const useNow = value["@now"] ?? false;
201
+ const targetKey = `#${key}`;
202
+ const result = {
203
+ [targetKey]: {
204
+ "@type": this.type,
205
+ "@time": val,
206
+ "@target": key,
207
+ },
208
+ };
209
+ if (fromUser) {
210
+ if (useNow) {
211
+ result[key] = firestore_2.FieldValue.serverTimestamp();
212
+ }
213
+ else {
214
+ result[key] = createTimestampFromMicroseconds(val);
215
+ }
216
+ }
217
+ else {
218
+ result[key] = createTimestampFromMicroseconds(val);
219
+ }
220
+ return result;
221
+ }
222
+ }
223
+ else if (Array.isArray(value)) {
224
+ const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
225
+ if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
226
+ const target = [];
227
+ const res = [];
228
+ const targetKey = `#${key}`;
229
+ for (const entry of list) {
230
+ const fromUser = (entry["@source"] ?? "") === "user";
231
+ const time = entry["@time"] ?? 0;
232
+ const useNow = entry["@now"] ?? false;
233
+ target.push({
234
+ "@type": this.type,
235
+ "@time": time,
236
+ "@target": key,
237
+ });
238
+ if (fromUser) {
239
+ if (useNow) {
240
+ res.push(firestore_2.FieldValue.serverTimestamp());
241
+ }
242
+ else {
243
+ res.push(createTimestampFromMicroseconds(time));
244
+ }
245
+ }
246
+ else {
247
+ res.push(createTimestampFromMicroseconds(time));
248
+ }
249
+ }
250
+ return {
251
+ [targetKey]: target,
252
+ [key]: res,
253
+ };
254
+ }
255
+ }
256
+ else if ((0, utils_1.isDynamicMap)(value)) {
257
+ const map = {};
258
+ for (const k in value) {
259
+ const v = value[k];
260
+ if (v != null && typeof v === "object" && "@type" in v) {
261
+ map[k] = v;
262
+ }
263
+ }
264
+ if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
265
+ const target = {};
266
+ const res = {};
267
+ const targetKey = `#${key}`;
268
+ for (const [k, entry] of Object.entries(map)) {
269
+ const fromUser = (entry["@source"] ?? "") === "user";
270
+ const time = entry["@time"] ?? 0;
271
+ const useNow = entry["@now"] ?? false;
272
+ target[k] = {
273
+ "@type": this.type,
274
+ "@time": time,
275
+ "@target": key,
276
+ };
277
+ if (fromUser) {
278
+ if (useNow) {
279
+ res[k] = firestore_2.FieldValue.serverTimestamp();
280
+ }
281
+ else {
282
+ res[k] = createTimestampFromMicroseconds(time);
283
+ }
284
+ }
285
+ else {
286
+ res[k] = createTimestampFromMicroseconds(time);
287
+ }
288
+ }
289
+ return {
290
+ [targetKey]: target,
291
+ [key]: res,
292
+ };
293
+ }
294
+ }
295
+ return null;
296
+ }
297
+ }
298
+ exports.FirestoreModelTimestampConverter = FirestoreModelTimestampConverter;
299
+ //# sourceMappingURL=model_timestamp_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model_timestamp_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/model_timestamp_converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { FirestoreModelFieldValueConverter, ModelFieldValueConverter } from "../model_field_value_converter";
2
+ /**
3
+ * ModelTimestampRange ModelFieldValueConverter.
4
+ *
5
+ * ModelTimestampRange用のModelFieldValueConverter。
6
+ */
7
+ export declare class ModelTimestampRangeConverter extends ModelFieldValueConverter {
8
+ /**
9
+ * ModelTimestampRange ModelFieldValueConverter.
10
+ *
11
+ * ModelTimestampRange用の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 [ModelTimestampRange].
28
+ *
29
+ * [ModelTimestampRange]用のFirestoreConverter。
30
+ */
31
+ export declare class FirestoreModelTimestampRangeConverter extends FirestoreModelFieldValueConverter {
32
+ /**
33
+ * FirestoreConverter for [ModelTimestampRange].
34
+ *
35
+ * [ModelTimestampRange]用の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,225 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelTimestampRangeConverter = exports.ModelTimestampRangeConverter = 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
+ * ModelTimestampRange ModelFieldValueConverter.
9
+ *
10
+ * ModelTimestampRange用のModelFieldValueConverter。
11
+ */
12
+ class ModelTimestampRangeConverter extends model_field_value_converter_1.ModelFieldValueConverter {
13
+ /**
14
+ * ModelTimestampRange ModelFieldValueConverter.
15
+ *
16
+ * ModelTimestampRange用のModelFieldValueConverter。
17
+ */
18
+ constructor() {
19
+ super();
20
+ }
21
+ type = "ModelTimestampRange";
22
+ convertFrom(key, value, original) {
23
+ if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
24
+ const start = value["@start"] ?? 0;
25
+ const end = value["@end"] ?? 0;
26
+ return {
27
+ [key]: new model_field_value_1.ModelTimestampRange(new Date(start / 1000.0), new Date(end / 1000.0), "server"),
28
+ };
29
+ }
30
+ return null;
31
+ }
32
+ convertTo(key, value, original) {
33
+ if (value instanceof model_field_value_1.ModelTimestampRange) {
34
+ return {
35
+ [key]: {
36
+ "@type": this.type,
37
+ "@start": value["@start"] * 1000,
38
+ "@end": value["@end"] * 1000,
39
+ "@source": value["@source"],
40
+ },
41
+ };
42
+ }
43
+ return null;
44
+ }
45
+ }
46
+ exports.ModelTimestampRangeConverter = ModelTimestampRangeConverter;
47
+ /**
48
+ * FirestoreConverter for [ModelTimestampRange].
49
+ *
50
+ * [ModelTimestampRange]用のFirestoreConverter。
51
+ */
52
+ class FirestoreModelTimestampRangeConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
53
+ /**
54
+ * FirestoreConverter for [ModelTimestampRange].
55
+ *
56
+ * [ModelTimestampRange]用のFirestoreConverter。
57
+ */
58
+ constructor() {
59
+ super();
60
+ }
61
+ type = "ModelTimestampRange";
62
+ convertFrom(key, value, original, firestoreInstance) {
63
+ if (typeof value === "string") {
64
+ const targetKey = `#${key}`;
65
+ const targetMap = original[targetKey] ?? {};
66
+ const type = targetMap["@type"] ?? "";
67
+ if (type == this.type) {
68
+ const splitted = value.split("|");
69
+ if (splitted.length === 2) {
70
+ const start = new Date(splitted[0]);
71
+ const end = new Date(splitted[1]);
72
+ if (!isNaN(start.getTime()) && !isNaN(end.getTime())) {
73
+ return {
74
+ [key]: {
75
+ "@type": this.type,
76
+ "@start": start.getTime() * 1000,
77
+ "@end": end.getTime() * 1000,
78
+ },
79
+ [targetKey]: null,
80
+ };
81
+ }
82
+ }
83
+ }
84
+ }
85
+ else if (Array.isArray(value)) {
86
+ const targetKey = `#${key}`;
87
+ const targetList = original[targetKey] ?? [];
88
+ if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
89
+ const res = [];
90
+ for (const tmp of value) {
91
+ if (typeof tmp === "string") {
92
+ const splitted = tmp.split("|");
93
+ if (splitted.length === 2) {
94
+ const start = new Date(splitted[0]);
95
+ const end = new Date(splitted[1]);
96
+ if (!isNaN(start.getTime()) && !isNaN(end.getTime())) {
97
+ res.push({
98
+ "@type": this.type,
99
+ "@start": start.getTime() * 1000,
100
+ "@end": end.getTime() * 1000,
101
+ });
102
+ }
103
+ }
104
+ }
105
+ }
106
+ if (res.length > 0) {
107
+ return {
108
+ [key]: res,
109
+ [targetKey]: null,
110
+ };
111
+ }
112
+ }
113
+ }
114
+ else if ((0, utils_1.isDynamicMap)(value)) {
115
+ const targetKey = `#${key}`;
116
+ const targetMap = original[targetKey] ?? {};
117
+ if (targetMap != null) {
118
+ const res = {};
119
+ for (const k in value) {
120
+ const val = value[k];
121
+ const mapVal = targetMap[k] ?? {};
122
+ const type = mapVal["@type"] ?? "";
123
+ if (type != this.type) {
124
+ continue;
125
+ }
126
+ if (typeof val === "string") {
127
+ const splitted = val.split("|");
128
+ if (splitted.length === 2) {
129
+ const start = new Date(splitted[0]);
130
+ const end = new Date(splitted[1]);
131
+ if (!isNaN(start.getTime()) && !isNaN(end.getTime())) {
132
+ res[k] = {
133
+ "@type": this.type,
134
+ "@start": start.getTime() * 1000,
135
+ "@end": end.getTime() * 1000,
136
+ };
137
+ }
138
+ }
139
+ }
140
+ }
141
+ if (Object.keys(res).length > 0) {
142
+ return {
143
+ [key]: res,
144
+ [targetKey]: null,
145
+ };
146
+ }
147
+ }
148
+ }
149
+ return null;
150
+ }
151
+ convertTo(key, value, _original, firestoreInstance) {
152
+ if (value != null && typeof value === "object" && "@type" in value) {
153
+ const type = value["@type"] ?? "";
154
+ if (type === this.type) {
155
+ const start = value["@start"] ?? 0;
156
+ const end = value["@end"] ?? 0;
157
+ const targetKey = `#${key}`;
158
+ return {
159
+ [targetKey]: {
160
+ "@type": this.type,
161
+ "@start": start,
162
+ "@end": end,
163
+ "@target": key,
164
+ },
165
+ [key]: `${new Date(start / 1000.0).toISOString()}|${new Date(end / 1000.0).toISOString()}`,
166
+ };
167
+ }
168
+ }
169
+ else if (Array.isArray(value)) {
170
+ const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
171
+ if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
172
+ const target = [];
173
+ const res = [];
174
+ const targetKey = `#${key}`;
175
+ for (const entry of list) {
176
+ const start = entry["@start"] ?? 0;
177
+ const end = entry["@end"] ?? 0;
178
+ target.push({
179
+ "@type": this.type,
180
+ "@start": start,
181
+ "@end": end,
182
+ "@target": key,
183
+ });
184
+ res.push(`${new Date(start / 1000.0).toISOString()}|${new Date(end / 1000.0).toISOString()}`);
185
+ }
186
+ return {
187
+ [targetKey]: target,
188
+ [key]: res,
189
+ };
190
+ }
191
+ }
192
+ else if ((0, utils_1.isDynamicMap)(value)) {
193
+ const map = {};
194
+ for (const k in value) {
195
+ const v = value[k];
196
+ if (v != null && typeof v === "object" && "@type" in v) {
197
+ map[k] = v;
198
+ }
199
+ }
200
+ if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
201
+ const target = {};
202
+ const res = {};
203
+ const targetKey = `#${key}`;
204
+ for (const [k, entry] of Object.entries(map)) {
205
+ const start = entry["@start"] ?? 0;
206
+ const end = entry["@end"] ?? 0;
207
+ target[k] = {
208
+ "@type": this.type,
209
+ "@start": start,
210
+ "@end": end,
211
+ "@target": key,
212
+ };
213
+ res[k] = `${new Date(start / 1000.0).toISOString()}|${new Date(end / 1000.0).toISOString()}`;
214
+ }
215
+ return {
216
+ [targetKey]: target,
217
+ [key]: res,
218
+ };
219
+ }
220
+ }
221
+ return null;
222
+ }
223
+ }
224
+ exports.FirestoreModelTimestampRangeConverter = FirestoreModelTimestampRangeConverter;
225
+ //# sourceMappingURL=model_timestamp_range_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model_timestamp_range_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/model_timestamp_range_converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { FirestoreModelFieldValueConverter, ModelFieldValueConverter } from "../model_field_value_converter";
2
+ /**
3
+ * ModelToken ModelFieldValueConverter.
4
+ *
5
+ * ModelToken用のModelFieldValueConverter。
6
+ */
7
+ export declare class ModelTokenConverter extends ModelFieldValueConverter {
8
+ /**
9
+ * ModelToken ModelFieldValueConverter.
10
+ * ModelToken用のModelFieldValueConverter。
11
+ */
12
+ constructor();
13
+ type: string;
14
+ convertFrom(key: string, value: any, original: {
15
+ [field: string]: any;
16
+ }): {
17
+ [field: string]: any;
18
+ } | null;
19
+ convertTo(key: string, value: any, original: {
20
+ [field: string]: any;
21
+ }): {
22
+ [field: string]: any;
23
+ } | null;
24
+ }
25
+ /**
26
+ * FirestoreConverter for [ModelToken].
27
+ *
28
+ * [ModelToken]用のFirestoreConverter。
29
+ */
30
+ export declare class FirestoreModelTokenConverter extends FirestoreModelFieldValueConverter {
31
+ /**
32
+ * FirestoreConverter for [ModelToken].
33
+ *
34
+ * [ModelToken]用のFirestoreConverter。
35
+ */
36
+ constructor();
37
+ type: string;
38
+ convertFrom(key: string, value: any, original: {
39
+ [field: string]: any;
40
+ }, firestoreInstance: FirebaseFirestore.Firestore): {
41
+ [field: string]: any;
42
+ } | null;
43
+ convertTo(key: string, value: any, original: {
44
+ [field: string]: any;
45
+ }, firestoreInstance: FirebaseFirestore.Firestore): {
46
+ [field: string]: any;
47
+ } | null;
48
+ }