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