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