@mathrunet/masamune 3.4.3 → 3.4.5
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/.claude/settings.local.json +4 -1
- package/CHANGELOG.md +26 -0
- package/dist/functions/algolia.js +2 -26
- package/dist/functions/algolia.js.map +1 -1
- package/dist/functions/collection_model_firestore.js +4 -7
- package/dist/functions/collection_model_firestore.js.map +1 -1
- package/dist/functions/document_model_firestore.js +6 -9
- package/dist/functions/document_model_firestore.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_basic_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_basic_converter.js +3 -0
- package/dist/lib/model_field_value/converters/firestore_basic_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_enum_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_enum_converter.js +3 -0
- package/dist/lib/model_field_value/converters/firestore_enum_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js +20 -0
- package/dist/lib/model_field_value/converters/firestore_model_command_base_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_counter_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js +77 -0
- package/dist/lib/model_field_value/converters/firestore_model_counter_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_date_converter.d.ts +6 -0
- package/dist/lib/model_field_value/converters/firestore_model_date_converter.js +79 -0
- package/dist/lib/model_field_value/converters/firestore_model_date_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.d.ts +25 -0
- package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.js +183 -0
- package/dist/lib/model_field_value/converters/firestore_model_date_range_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js +86 -0
- package/dist/lib/model_field_value/converters/firestore_model_geo_value_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js +60 -0
- package/dist/lib/model_field_value/converters/firestore_model_image_uri_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_locale_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js +89 -0
- package/dist/lib/model_field_value/converters/firestore_model_locale_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js +47 -0
- package/dist/lib/model_field_value/converters/firestore_model_localized_value_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_ref_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js +47 -0
- package/dist/lib/model_field_value/converters/firestore_model_ref_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_search_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_search_converter.js +55 -0
- package/dist/lib/model_field_value/converters/firestore_model_search_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_time_converter.d.ts +26 -0
- package/dist/lib/model_field_value/converters/firestore_model_time_converter.js +191 -0
- package/dist/lib/model_field_value/converters/firestore_model_time_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.d.ts +25 -0
- package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.js +183 -0
- package/dist/lib/model_field_value/converters/firestore_model_time_range_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.d.ts +6 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js +117 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.d.ts +25 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.js +183 -0
- package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.js.map +1 -0
- package/dist/lib/model_field_value/converters/firestore_model_token_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_token_converter.js +55 -0
- package/dist/lib/model_field_value/converters/firestore_model_token_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_uri_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js +60 -0
- package/dist/lib/model_field_value/converters/firestore_model_uri_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js +60 -0
- package/dist/lib/model_field_value/converters/firestore_model_video_uri_converter.js.map +1 -1
- package/dist/lib/model_field_value/converters/firestore_null_converter.d.ts +5 -0
- package/dist/lib/model_field_value/converters/firestore_null_converter.js +20 -0
- package/dist/lib/model_field_value/converters/firestore_null_converter.js.map +1 -1
- package/dist/lib/model_field_value/default_firestore_model_field_value_converter.d.ts +47 -0
- package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js +95 -1
- package/dist/lib/model_field_value/default_firestore_model_field_value_converter.js.map +1 -1
- package/dist/lib/model_field_value/firestore_model_field_value_converter.d.ts +18 -4
- package/dist/lib/model_field_value/firestore_model_field_value_converter.js.map +1 -1
- package/package.json +1 -1
@@ -4,12 +4,25 @@ exports.FirestoreModelTimestampConverter = void 0;
|
|
4
4
|
const firestore_model_field_value_converter_1 = require("../firestore_model_field_value_converter");
|
5
5
|
const utils_1 = require("../../utils");
|
6
6
|
const firestore_1 = require("firebase-admin/firestore");
|
7
|
+
const firestore_2 = require("@google-cloud/firestore");
|
7
8
|
/**
|
8
9
|
* FirestoreConverter for [ModelTimestamp].
|
9
10
|
*
|
10
11
|
* [ModelTimestamp]用のFirestoreConverter。
|
11
12
|
*/
|
12
13
|
class FirestoreModelTimestampConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
|
14
|
+
static _createTimestampFromMicroseconds(microseconds) {
|
15
|
+
if (microseconds >= 0) {
|
16
|
+
return firestore_1.Timestamp.fromMillis(microseconds / 1000);
|
17
|
+
}
|
18
|
+
const seconds = Math.floor(microseconds / 1000000);
|
19
|
+
const remainingMicros = microseconds - (seconds * 1000000);
|
20
|
+
const nanoseconds = remainingMicros * 1000;
|
21
|
+
if (nanoseconds < 0) {
|
22
|
+
return new firestore_1.Timestamp(seconds - 1, nanoseconds + 1000000000);
|
23
|
+
}
|
24
|
+
return new firestore_1.Timestamp(seconds, nanoseconds);
|
25
|
+
}
|
13
26
|
/**
|
14
27
|
* FirestoreConverter for [ModelTimestamp].
|
15
28
|
*
|
@@ -90,6 +103,110 @@ class FirestoreModelTimestampConverter extends firestore_model_field_value_conve
|
|
90
103
|
}
|
91
104
|
return null;
|
92
105
|
}
|
106
|
+
convertTo(key, value, _original) {
|
107
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
108
|
+
if (value != null && typeof value === "object" && "@type" in value) {
|
109
|
+
const type = (_a = value["@type"]) !== null && _a !== void 0 ? _a : "";
|
110
|
+
if (type === this.type) {
|
111
|
+
const fromUser = ((_b = value["@source"]) !== null && _b !== void 0 ? _b : "") === "user";
|
112
|
+
const val = (_c = value["@timestamp"]) !== null && _c !== void 0 ? _c : 0;
|
113
|
+
const useNow = (_d = value["@now"]) !== null && _d !== void 0 ? _d : false;
|
114
|
+
const targetKey = `#${key}`;
|
115
|
+
const result = {
|
116
|
+
[targetKey]: {
|
117
|
+
"@type": this.type,
|
118
|
+
"@timestamp": val,
|
119
|
+
"@target": key,
|
120
|
+
},
|
121
|
+
};
|
122
|
+
if (fromUser) {
|
123
|
+
if (useNow) {
|
124
|
+
result[key] = firestore_2.FieldValue.serverTimestamp();
|
125
|
+
}
|
126
|
+
else {
|
127
|
+
result[key] = FirestoreModelTimestampConverter._createTimestampFromMicroseconds(val);
|
128
|
+
}
|
129
|
+
}
|
130
|
+
else {
|
131
|
+
result[key] = FirestoreModelTimestampConverter._createTimestampFromMicroseconds(val);
|
132
|
+
}
|
133
|
+
return result;
|
134
|
+
}
|
135
|
+
}
|
136
|
+
else if (Array.isArray(value)) {
|
137
|
+
const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
|
138
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
139
|
+
const target = [];
|
140
|
+
const res = [];
|
141
|
+
const targetKey = `#${key}`;
|
142
|
+
for (const entry of list) {
|
143
|
+
const fromUser = ((_e = entry["@source"]) !== null && _e !== void 0 ? _e : "") === "user";
|
144
|
+
const time = (_f = entry["@timestamp"]) !== null && _f !== void 0 ? _f : 0;
|
145
|
+
const useNow = (_g = entry["@now"]) !== null && _g !== void 0 ? _g : false;
|
146
|
+
target.push({
|
147
|
+
"@type": this.type,
|
148
|
+
"@timestamp": time,
|
149
|
+
"@target": key,
|
150
|
+
});
|
151
|
+
if (fromUser) {
|
152
|
+
if (useNow) {
|
153
|
+
res.push(firestore_2.FieldValue.serverTimestamp());
|
154
|
+
}
|
155
|
+
else {
|
156
|
+
res.push(FirestoreModelTimestampConverter._createTimestampFromMicroseconds(time));
|
157
|
+
}
|
158
|
+
}
|
159
|
+
else {
|
160
|
+
res.push(FirestoreModelTimestampConverter._createTimestampFromMicroseconds(time));
|
161
|
+
}
|
162
|
+
}
|
163
|
+
return {
|
164
|
+
[targetKey]: target,
|
165
|
+
[key]: res,
|
166
|
+
};
|
167
|
+
}
|
168
|
+
}
|
169
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
170
|
+
const map = {};
|
171
|
+
for (const k in value) {
|
172
|
+
const v = value[k];
|
173
|
+
if (v != null && typeof v === "object" && "@type" in v) {
|
174
|
+
map[k] = v;
|
175
|
+
}
|
176
|
+
}
|
177
|
+
if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
|
178
|
+
const target = {};
|
179
|
+
const res = {};
|
180
|
+
const targetKey = `#${key}`;
|
181
|
+
for (const [k, entry] of Object.entries(map)) {
|
182
|
+
const fromUser = ((_h = entry["@source"]) !== null && _h !== void 0 ? _h : "") === "user";
|
183
|
+
const time = (_j = entry["@timestamp"]) !== null && _j !== void 0 ? _j : 0;
|
184
|
+
const useNow = (_k = entry["@now"]) !== null && _k !== void 0 ? _k : false;
|
185
|
+
target[k] = {
|
186
|
+
"@type": this.type,
|
187
|
+
"@timestamp": time,
|
188
|
+
"@target": key,
|
189
|
+
};
|
190
|
+
if (fromUser) {
|
191
|
+
if (useNow) {
|
192
|
+
res[k] = firestore_2.FieldValue.serverTimestamp();
|
193
|
+
}
|
194
|
+
else {
|
195
|
+
res[k] = FirestoreModelTimestampConverter._createTimestampFromMicroseconds(time);
|
196
|
+
}
|
197
|
+
}
|
198
|
+
else {
|
199
|
+
res[k] = FirestoreModelTimestampConverter._createTimestampFromMicroseconds(time);
|
200
|
+
}
|
201
|
+
}
|
202
|
+
return {
|
203
|
+
[targetKey]: target,
|
204
|
+
[key]: res,
|
205
|
+
};
|
206
|
+
}
|
207
|
+
}
|
208
|
+
return null;
|
209
|
+
}
|
93
210
|
}
|
94
211
|
exports.FirestoreModelTimestampConverter = FirestoreModelTimestampConverter;
|
95
212
|
//# sourceMappingURL=firestore_model_timestamp_converter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"firestore_model_timestamp_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_timestamp_converter.ts"],"names":[],"mappings":";;;AAAA,oGAA6F;AAC7F,uCAA2C;AAC3C,wDAAqD;AAErD;;;;GAIG;AACH,MAAa,gCAAiC,SAAQ,yEAAiC;
|
1
|
+
{"version":3,"file":"firestore_model_timestamp_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_timestamp_converter.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { FirestoreModelFieldValueConverter } from "../firestore_model_field_value_converter";
|
2
|
+
/**
|
3
|
+
* FirestoreConverter for [ModelTimestampRange].
|
4
|
+
*
|
5
|
+
* [ModelTimestampRange]用のFirestoreConverter。
|
6
|
+
*/
|
7
|
+
export declare class FirestoreModelTimestampRangeConverter extends FirestoreModelFieldValueConverter {
|
8
|
+
/**
|
9
|
+
* FirestoreConverter for [ModelTimestampRange].
|
10
|
+
*
|
11
|
+
* [ModelTimestampRange]用のFirestoreConverter。
|
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
|
+
}
|
@@ -0,0 +1,183 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FirestoreModelTimestampRangeConverter = void 0;
|
4
|
+
const firestore_model_field_value_converter_1 = require("../firestore_model_field_value_converter");
|
5
|
+
const utils_1 = require("../../utils");
|
6
|
+
/**
|
7
|
+
* FirestoreConverter for [ModelTimestampRange].
|
8
|
+
*
|
9
|
+
* [ModelTimestampRange]用のFirestoreConverter。
|
10
|
+
*/
|
11
|
+
class FirestoreModelTimestampRangeConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
|
12
|
+
/**
|
13
|
+
* FirestoreConverter for [ModelTimestampRange].
|
14
|
+
*
|
15
|
+
* [ModelTimestampRange]用のFirestoreConverter。
|
16
|
+
*/
|
17
|
+
constructor() {
|
18
|
+
super();
|
19
|
+
this.type = "ModelTimestampRange";
|
20
|
+
}
|
21
|
+
convertFrom(key, value, original) {
|
22
|
+
var _a, _b, _c, _d, _e, _f;
|
23
|
+
if (typeof value === "string") {
|
24
|
+
const targetKey = `#${key}`;
|
25
|
+
const targetMap = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : {};
|
26
|
+
const type = (_b = targetMap["@type"]) !== null && _b !== void 0 ? _b : "";
|
27
|
+
if (type == this.type) {
|
28
|
+
const splitted = value.split("|");
|
29
|
+
if (splitted.length === 2) {
|
30
|
+
const start = new Date(splitted[0]);
|
31
|
+
const end = new Date(splitted[1]);
|
32
|
+
if (!isNaN(start.getTime()) && !isNaN(end.getTime())) {
|
33
|
+
return {
|
34
|
+
[key]: {
|
35
|
+
"@type": this.type,
|
36
|
+
"@start": start.getTime() * 1000,
|
37
|
+
"@end": end.getTime() * 1000,
|
38
|
+
},
|
39
|
+
};
|
40
|
+
}
|
41
|
+
}
|
42
|
+
}
|
43
|
+
}
|
44
|
+
else if (Array.isArray(value)) {
|
45
|
+
const targetKey = `#${key}`;
|
46
|
+
const targetList = (_c = original[targetKey]) !== null && _c !== void 0 ? _c : [];
|
47
|
+
if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
|
48
|
+
const res = [];
|
49
|
+
for (const tmp of value) {
|
50
|
+
if (typeof tmp === "string") {
|
51
|
+
const splitted = tmp.split("|");
|
52
|
+
if (splitted.length === 2) {
|
53
|
+
const start = new Date(splitted[0]);
|
54
|
+
const end = new Date(splitted[1]);
|
55
|
+
if (!isNaN(start.getTime()) && !isNaN(end.getTime())) {
|
56
|
+
res.push({
|
57
|
+
"@type": this.type,
|
58
|
+
"@start": start.getTime() * 1000,
|
59
|
+
"@end": end.getTime() * 1000,
|
60
|
+
});
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
64
|
+
}
|
65
|
+
if (res.length > 0) {
|
66
|
+
return {
|
67
|
+
[key]: res,
|
68
|
+
};
|
69
|
+
}
|
70
|
+
}
|
71
|
+
}
|
72
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
73
|
+
const targetKey = `#${key}`;
|
74
|
+
const targetMap = (_d = original[targetKey]) !== null && _d !== void 0 ? _d : {};
|
75
|
+
if (targetMap != null) {
|
76
|
+
const res = {};
|
77
|
+
for (const k in value) {
|
78
|
+
const val = value[k];
|
79
|
+
const mapVal = (_e = targetMap[k]) !== null && _e !== void 0 ? _e : {};
|
80
|
+
const type = (_f = mapVal["@type"]) !== null && _f !== void 0 ? _f : "";
|
81
|
+
if (type != this.type) {
|
82
|
+
continue;
|
83
|
+
}
|
84
|
+
if (typeof val === "string") {
|
85
|
+
const splitted = val.split("|");
|
86
|
+
if (splitted.length === 2) {
|
87
|
+
const start = new Date(splitted[0]);
|
88
|
+
const end = new Date(splitted[1]);
|
89
|
+
if (!isNaN(start.getTime()) && !isNaN(end.getTime())) {
|
90
|
+
res[k] = {
|
91
|
+
"@type": this.type,
|
92
|
+
"@start": start.getTime() * 1000,
|
93
|
+
"@end": end.getTime() * 1000,
|
94
|
+
};
|
95
|
+
}
|
96
|
+
}
|
97
|
+
}
|
98
|
+
}
|
99
|
+
if (Object.keys(res).length > 0) {
|
100
|
+
return {
|
101
|
+
[key]: res,
|
102
|
+
};
|
103
|
+
}
|
104
|
+
}
|
105
|
+
}
|
106
|
+
return null;
|
107
|
+
}
|
108
|
+
convertTo(key, value, _original) {
|
109
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
110
|
+
if (value != null && typeof value === "object" && "@type" in value) {
|
111
|
+
const type = (_a = value["@type"]) !== null && _a !== void 0 ? _a : "";
|
112
|
+
if (type === this.type) {
|
113
|
+
const start = (_b = value["@start"]) !== null && _b !== void 0 ? _b : 0;
|
114
|
+
const end = (_c = value["@end"]) !== null && _c !== void 0 ? _c : 0;
|
115
|
+
const targetKey = `#${key}`;
|
116
|
+
return {
|
117
|
+
[targetKey]: {
|
118
|
+
"@type": this.type,
|
119
|
+
"@start": start,
|
120
|
+
"@end": end,
|
121
|
+
"@target": key,
|
122
|
+
},
|
123
|
+
[key]: `${new Date(start / 1000).toISOString()}|${new Date(end / 1000).toISOString()}`,
|
124
|
+
};
|
125
|
+
}
|
126
|
+
}
|
127
|
+
else if (Array.isArray(value)) {
|
128
|
+
const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
|
129
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
130
|
+
const target = [];
|
131
|
+
const res = [];
|
132
|
+
const targetKey = `#${key}`;
|
133
|
+
for (const entry of list) {
|
134
|
+
const start = (_d = entry["@start"]) !== null && _d !== void 0 ? _d : 0;
|
135
|
+
const end = (_e = entry["@end"]) !== null && _e !== void 0 ? _e : 0;
|
136
|
+
target.push({
|
137
|
+
"@type": this.type,
|
138
|
+
"@start": start,
|
139
|
+
"@end": end,
|
140
|
+
"@target": key,
|
141
|
+
});
|
142
|
+
res.push(`${new Date(start / 1000).toISOString()}|${new Date(end / 1000).toISOString()}`);
|
143
|
+
}
|
144
|
+
return {
|
145
|
+
[targetKey]: target,
|
146
|
+
[key]: res,
|
147
|
+
};
|
148
|
+
}
|
149
|
+
}
|
150
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
151
|
+
const map = {};
|
152
|
+
for (const k in value) {
|
153
|
+
const v = value[k];
|
154
|
+
if (v != null && typeof v === "object" && "@type" in v) {
|
155
|
+
map[k] = v;
|
156
|
+
}
|
157
|
+
}
|
158
|
+
if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
|
159
|
+
const target = {};
|
160
|
+
const res = {};
|
161
|
+
const targetKey = `#${key}`;
|
162
|
+
for (const [k, entry] of Object.entries(map)) {
|
163
|
+
const start = (_f = entry["@start"]) !== null && _f !== void 0 ? _f : 0;
|
164
|
+
const end = (_g = entry["@end"]) !== null && _g !== void 0 ? _g : 0;
|
165
|
+
target[k] = {
|
166
|
+
"@type": this.type,
|
167
|
+
"@start": start,
|
168
|
+
"@end": end,
|
169
|
+
"@target": key,
|
170
|
+
};
|
171
|
+
res[k] = `${new Date(start / 1000).toISOString()}|${new Date(end / 1000).toISOString()}`;
|
172
|
+
}
|
173
|
+
return {
|
174
|
+
[targetKey]: target,
|
175
|
+
[key]: res,
|
176
|
+
};
|
177
|
+
}
|
178
|
+
}
|
179
|
+
return null;
|
180
|
+
}
|
181
|
+
}
|
182
|
+
exports.FirestoreModelTimestampRangeConverter = FirestoreModelTimestampRangeConverter;
|
183
|
+
//# sourceMappingURL=firestore_model_timestamp_range_converter.js.map
|
package/dist/lib/model_field_value/converters/firestore_model_timestamp_range_converter.js.map
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"firestore_model_timestamp_range_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_timestamp_range_converter.ts"],"names":[],"mappings":"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"}
|
@@ -2,6 +2,8 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.FirestoreModelTokenConverter = void 0;
|
4
4
|
const firestore_model_field_value_converter_1 = require("../firestore_model_field_value_converter");
|
5
|
+
const utils_1 = require("../../utils");
|
6
|
+
const firestore_1 = require("@google-cloud/firestore");
|
5
7
|
/**
|
6
8
|
* FirestoreConverter for [ModelToken].
|
7
9
|
*
|
@@ -31,6 +33,59 @@ class FirestoreModelTokenConverter extends firestore_model_field_value_converter
|
|
31
33
|
}
|
32
34
|
return null;
|
33
35
|
}
|
36
|
+
convertTo(key, value, original) {
|
37
|
+
var _a, _b, _c, _d;
|
38
|
+
if (value != null && typeof value === "object" && "@type" in value) {
|
39
|
+
const type = (_a = value["@type"]) !== null && _a !== void 0 ? _a : "";
|
40
|
+
if (type === this.type) {
|
41
|
+
const fromUser = ((_b = value["@source"]) !== null && _b !== void 0 ? _b : "") === "user";
|
42
|
+
const val = (_c = value["@list"]) !== null && _c !== void 0 ? _c : [];
|
43
|
+
const targetKey = `#${key}`;
|
44
|
+
// Handle deletion of existing keys similar to Dart implementation
|
45
|
+
const keys = {};
|
46
|
+
const targetData = original[targetKey];
|
47
|
+
const existingKeys = (_d = (targetData && targetData["@list"])) !== null && _d !== void 0 ? _d : {};
|
48
|
+
// Mark existing keys for deletion
|
49
|
+
for (const existingKey in existingKeys) {
|
50
|
+
keys[existingKey] = firestore_1.FieldValue.delete();
|
51
|
+
}
|
52
|
+
// Set new keys to true
|
53
|
+
for (const tokenKey of val) {
|
54
|
+
keys[tokenKey] = true;
|
55
|
+
}
|
56
|
+
const result = {
|
57
|
+
[targetKey]: {
|
58
|
+
"@type": this.type,
|
59
|
+
"@list": keys,
|
60
|
+
"@target": key,
|
61
|
+
},
|
62
|
+
};
|
63
|
+
if (fromUser) {
|
64
|
+
result[key] = val;
|
65
|
+
}
|
66
|
+
return result;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
else if (Array.isArray(value)) {
|
70
|
+
const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
|
71
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
72
|
+
throw new Error("ModelToken cannot be included in a listing or map. It must be placed in the top field.");
|
73
|
+
}
|
74
|
+
}
|
75
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
76
|
+
const map = {};
|
77
|
+
for (const k in value) {
|
78
|
+
const v = value[k];
|
79
|
+
if (v != null && typeof v === "object" && "@type" in v) {
|
80
|
+
map[k] = v;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
|
84
|
+
throw new Error("ModelToken cannot be included in a listing or map. It must be placed in the top field.");
|
85
|
+
}
|
86
|
+
}
|
87
|
+
return null;
|
88
|
+
}
|
34
89
|
}
|
35
90
|
exports.FirestoreModelTokenConverter = FirestoreModelTokenConverter;
|
36
91
|
//# sourceMappingURL=firestore_model_token_converter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"firestore_model_token_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_token_converter.ts"],"names":[],"mappings":";;;AAAA,oGAA6F;
|
1
|
+
{"version":3,"file":"firestore_model_token_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_token_converter.ts"],"names":[],"mappings":"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"}
|
@@ -69,6 +69,66 @@ class FirestoreModelUriConverter extends firestore_model_field_value_converter_1
|
|
69
69
|
}
|
70
70
|
return null;
|
71
71
|
}
|
72
|
+
convertTo(key, value, original) {
|
73
|
+
if ((0, utils_1.isDynamicMap)(value) && value["@type"] !== undefined) {
|
74
|
+
const type = value["@type"] || "";
|
75
|
+
if (type === this.type) {
|
76
|
+
const val = value["@uri"] || "";
|
77
|
+
const targetKey = `#${key}`;
|
78
|
+
return {
|
79
|
+
[targetKey]: {
|
80
|
+
"@type": this.type,
|
81
|
+
"@uri": val,
|
82
|
+
"@target": key,
|
83
|
+
},
|
84
|
+
[key]: val,
|
85
|
+
};
|
86
|
+
}
|
87
|
+
}
|
88
|
+
else if (Array.isArray(value)) {
|
89
|
+
const list = value.filter(e => (0, utils_1.isDynamicMap)(e));
|
90
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
91
|
+
const target = [];
|
92
|
+
const res = [];
|
93
|
+
const targetKey = `#${key}`;
|
94
|
+
for (const entry of list) {
|
95
|
+
const uri = entry["@uri"] || "";
|
96
|
+
target.push({
|
97
|
+
"@type": this.type,
|
98
|
+
"@uri": uri,
|
99
|
+
"@target": key,
|
100
|
+
});
|
101
|
+
res.push(uri);
|
102
|
+
}
|
103
|
+
return {
|
104
|
+
[targetKey]: target,
|
105
|
+
[key]: res,
|
106
|
+
};
|
107
|
+
}
|
108
|
+
}
|
109
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
110
|
+
const map = Object.entries(value).filter(([_, v]) => (0, utils_1.isDynamicMap)(v));
|
111
|
+
if (map.length > 0 && map.every(([_, v]) => v["@type"] === this.type)) {
|
112
|
+
const target = {};
|
113
|
+
const res = {};
|
114
|
+
const targetKey = `#${key}`;
|
115
|
+
for (const [k, v] of map) {
|
116
|
+
const uri = v["@uri"] || "";
|
117
|
+
target[k] = {
|
118
|
+
"@type": this.type,
|
119
|
+
"@uri": uri,
|
120
|
+
"@target": key,
|
121
|
+
};
|
122
|
+
res[k] = uri;
|
123
|
+
}
|
124
|
+
return {
|
125
|
+
[targetKey]: target,
|
126
|
+
[key]: res,
|
127
|
+
};
|
128
|
+
}
|
129
|
+
}
|
130
|
+
return null;
|
131
|
+
}
|
72
132
|
}
|
73
133
|
exports.FirestoreModelUriConverter = FirestoreModelUriConverter;
|
74
134
|
//# sourceMappingURL=firestore_model_uri_converter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"firestore_model_uri_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_uri_converter.ts"],"names":[],"mappings":";;;AAAA,oGAA6F;AAC7F,uCAA2C;AAE3C;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,yEAAiC;IAC/E;;;;OAIG;IACH;QACE,KAAK,EAAE,CAAC;QAGV,SAAI,GAAW,UAAU,CAAC;IAF1B,CAAC;IAID,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAgD,mCAAI,EAAE,CAAC;YAC3F,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,CAA8B,mCAAI,EAAE,CAAC;YACnE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,OAAO;oBACL,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAkD,mCAAI,EAAE,CAAC;YAC9F,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrG,MAAM,GAAG,GAAa,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBACxB,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnB,OAAO;wBACL,CAAC,GAAG,CAAC,EAAE,GAAG;qBACX,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAqE,mCAAI,EAAE,CAAC;YAChH,SAAS,CAAA;YACT,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,GAAG,GAEL,EAAE,CAAC;gBACP,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACvB,MAAM,MAAM,GAAG,MAAA,SAAS,CAAC,GAAG,CAAgD,mCAAI,EAAE,CAAC;oBACnF,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,OAAO,CAA8B,mCAAI,EAAE,CAAC;oBAChE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;oBACD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,OAAO;wBACL,CAAC,GAAG,CAAC,EAAE,GAAG;qBACX,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;
|
1
|
+
{"version":3,"file":"firestore_model_uri_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/firestore_model_uri_converter.ts"],"names":[],"mappings":"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"}
|
@@ -69,6 +69,66 @@ class FirestoreModelVideoUriConverter extends firestore_model_field_value_conver
|
|
69
69
|
}
|
70
70
|
return null;
|
71
71
|
}
|
72
|
+
convertTo(key, value, original) {
|
73
|
+
if ((0, utils_1.isDynamicMap)(value) && value["@type"] !== undefined) {
|
74
|
+
const type = value["@type"] || "";
|
75
|
+
if (type === this.type) {
|
76
|
+
const val = value["@uri"] || "";
|
77
|
+
const targetKey = `#${key}`;
|
78
|
+
return {
|
79
|
+
[targetKey]: {
|
80
|
+
"@type": this.type,
|
81
|
+
"@uri": val,
|
82
|
+
"@target": key,
|
83
|
+
},
|
84
|
+
[key]: val,
|
85
|
+
};
|
86
|
+
}
|
87
|
+
}
|
88
|
+
else if (Array.isArray(value)) {
|
89
|
+
const list = value.filter(e => (0, utils_1.isDynamicMap)(e));
|
90
|
+
if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
|
91
|
+
const target = [];
|
92
|
+
const res = [];
|
93
|
+
const targetKey = `#${key}`;
|
94
|
+
for (const entry of list) {
|
95
|
+
const uri = entry["@uri"] || "";
|
96
|
+
target.push({
|
97
|
+
"@type": this.type,
|
98
|
+
"@uri": uri,
|
99
|
+
"@target": key,
|
100
|
+
});
|
101
|
+
res.push(uri);
|
102
|
+
}
|
103
|
+
return {
|
104
|
+
[targetKey]: target,
|
105
|
+
[key]: res,
|
106
|
+
};
|
107
|
+
}
|
108
|
+
}
|
109
|
+
else if ((0, utils_1.isDynamicMap)(value)) {
|
110
|
+
const map = Object.entries(value).filter(([_, v]) => (0, utils_1.isDynamicMap)(v));
|
111
|
+
if (map.length > 0 && map.every(([_, v]) => v["@type"] === this.type)) {
|
112
|
+
const target = {};
|
113
|
+
const res = {};
|
114
|
+
const targetKey = `#${key}`;
|
115
|
+
for (const [k, v] of map) {
|
116
|
+
const uri = v["@uri"] || "";
|
117
|
+
target[k] = {
|
118
|
+
"@type": this.type,
|
119
|
+
"@uri": uri,
|
120
|
+
"@target": key,
|
121
|
+
};
|
122
|
+
res[k] = uri;
|
123
|
+
}
|
124
|
+
return {
|
125
|
+
[targetKey]: target,
|
126
|
+
[key]: res,
|
127
|
+
};
|
128
|
+
}
|
129
|
+
}
|
130
|
+
return null;
|
131
|
+
}
|
72
132
|
}
|
73
133
|
exports.FirestoreModelVideoUriConverter = FirestoreModelVideoUriConverter;
|
74
134
|
//# sourceMappingURL=firestore_model_video_uri_converter.js.map
|