@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,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelTokenConverter = exports.ModelTokenConverter = 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("@google-cloud/firestore");
7
+ const model_field_value_1 = require("../model_field_value");
8
+ /**
9
+ * ModelToken ModelFieldValueConverter.
10
+ *
11
+ * ModelToken用のModelFieldValueConverter。
12
+ */
13
+ class ModelTokenConverter extends model_field_value_converter_1.ModelFieldValueConverter {
14
+ /**
15
+ * ModelToken ModelFieldValueConverter.
16
+ * ModelToken用のModelFieldValueConverter。
17
+ */
18
+ constructor() {
19
+ super();
20
+ }
21
+ type = "ModelToken";
22
+ convertFrom(key, value, original) {
23
+ if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
24
+ const list = value["@list"] ?? [];
25
+ return {
26
+ [key]: new model_field_value_1.ModelToken(list, "server"),
27
+ };
28
+ }
29
+ return null;
30
+ }
31
+ convertTo(key, value, original) {
32
+ if (value instanceof model_field_value_1.ModelToken) {
33
+ return {
34
+ [key]: {
35
+ "@type": this.type,
36
+ "@list": value["@list"],
37
+ "@source": value["@source"],
38
+ },
39
+ };
40
+ }
41
+ return null;
42
+ }
43
+ }
44
+ exports.ModelTokenConverter = ModelTokenConverter;
45
+ /**
46
+ * FirestoreConverter for [ModelToken].
47
+ *
48
+ * [ModelToken]用のFirestoreConverter。
49
+ */
50
+ class FirestoreModelTokenConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
51
+ /**
52
+ * FirestoreConverter for [ModelToken].
53
+ *
54
+ * [ModelToken]用のFirestoreConverter。
55
+ */
56
+ constructor() {
57
+ super();
58
+ }
59
+ type = "ModelToken";
60
+ convertFrom(key, value, original, firestoreInstance) {
61
+ if (Array.isArray(value)) {
62
+ const targetKey = `#${key}`;
63
+ const targetMap = original[targetKey] ?? {};
64
+ const type = targetMap["@type"] ?? "";
65
+ const list = [];
66
+ for (const item of value) {
67
+ if (typeof item === "string") {
68
+ list.push(item);
69
+ }
70
+ }
71
+ if (type == this.type) {
72
+ return {
73
+ [key]: {
74
+ "@type": this.type,
75
+ "@list": list,
76
+ },
77
+ [targetKey]: null,
78
+ };
79
+ }
80
+ }
81
+ return null;
82
+ }
83
+ convertTo(key, value, original, firestoreInstance) {
84
+ if (value != null && typeof value === "object" && "@type" in value) {
85
+ const type = value["@type"] ?? "";
86
+ if (type === this.type) {
87
+ const fromUser = (value["@source"] ?? "") === "user";
88
+ const val = value["@list"] ?? [];
89
+ const targetKey = `#${key}`;
90
+ // Handle deletion of existing keys similar to Dart implementation
91
+ const keys = {};
92
+ const targetData = original[targetKey];
93
+ const existingKeys = (targetData && targetData["@list"]) ?? {};
94
+ // Mark existing keys for deletion
95
+ for (const existingKey in existingKeys) {
96
+ keys[existingKey] = firestore_1.FieldValue.delete();
97
+ }
98
+ // Set new keys to true
99
+ for (const tokenKey of val) {
100
+ keys[tokenKey] = true;
101
+ }
102
+ const result = {
103
+ [targetKey]: {
104
+ "@type": this.type,
105
+ "@list": keys,
106
+ "@target": key,
107
+ },
108
+ };
109
+ if (fromUser) {
110
+ result[key] = val;
111
+ }
112
+ return result;
113
+ }
114
+ }
115
+ else if (Array.isArray(value)) {
116
+ const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
117
+ if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
118
+ throw new Error("ModelToken cannot be included in a listing or map. It must be placed in the top field.");
119
+ }
120
+ }
121
+ else if ((0, utils_1.isDynamicMap)(value)) {
122
+ const map = {};
123
+ for (const k in value) {
124
+ const v = value[k];
125
+ if (v != null && typeof v === "object" && "@type" in v) {
126
+ map[k] = v;
127
+ }
128
+ }
129
+ if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
130
+ throw new Error("ModelToken cannot be included in a listing or map. It must be placed in the top field.");
131
+ }
132
+ }
133
+ return null;
134
+ }
135
+ }
136
+ exports.FirestoreModelTokenConverter = FirestoreModelTokenConverter;
137
+ //# sourceMappingURL=model_token_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model_token_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/model_token_converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { FirestoreModelFieldValueConverter, ModelFieldValueConverter } from "../model_field_value_converter";
2
+ /**
3
+ * ModelUri ModelFieldValueConverter.
4
+ *
5
+ * ModelUri用のModelFieldValueConverter。
6
+ */
7
+ export declare class ModelUriConverter extends ModelFieldValueConverter {
8
+ /**
9
+ * ModelUri ModelFieldValueConverter.
10
+ *
11
+ * ModelUri用の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 [ModelUri].
28
+ *
29
+ * [ModelUri]用のFirestoreConverter。
30
+ */
31
+ export declare class FirestoreModelUriConverter extends FirestoreModelFieldValueConverter {
32
+ /**
33
+ * FirestoreConverter for [ModelUri].
34
+ *
35
+ * [ModelUri]用の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,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelUriConverter = exports.ModelUriConverter = 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
+ * ModelUri ModelFieldValueConverter.
9
+ *
10
+ * ModelUri用のModelFieldValueConverter。
11
+ */
12
+ class ModelUriConverter extends model_field_value_converter_1.ModelFieldValueConverter {
13
+ /**
14
+ * ModelUri ModelFieldValueConverter.
15
+ *
16
+ * ModelUri用のModelFieldValueConverter。
17
+ */
18
+ constructor() {
19
+ super();
20
+ }
21
+ type = "ModelUri";
22
+ convertFrom(key, value, original) {
23
+ if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
24
+ const uri = value["@uri"] ?? "";
25
+ return {
26
+ [key]: new model_field_value_1.ModelUri(uri, "server"),
27
+ };
28
+ }
29
+ return null;
30
+ }
31
+ convertTo(key, value, original) {
32
+ if (value instanceof model_field_value_1.ModelUri) {
33
+ return {
34
+ [key]: {
35
+ "@type": this.type,
36
+ "@uri": value["@uri"],
37
+ "@source": value["@source"],
38
+ },
39
+ };
40
+ }
41
+ return null;
42
+ }
43
+ }
44
+ exports.ModelUriConverter = ModelUriConverter;
45
+ /**
46
+ * FirestoreConverter for [ModelUri].
47
+ *
48
+ * [ModelUri]用のFirestoreConverter。
49
+ */
50
+ class FirestoreModelUriConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
51
+ /**
52
+ * FirestoreConverter for [ModelUri].
53
+ *
54
+ * [ModelUri]用のFirestoreConverter。
55
+ */
56
+ constructor() {
57
+ super();
58
+ }
59
+ type = "ModelUri";
60
+ convertFrom(key, value, original, firestoreInstance) {
61
+ if (typeof value === "string") {
62
+ const targetKey = `#${key}`;
63
+ const targetMap = original[targetKey] ?? {};
64
+ const type = targetMap["@type"] ?? "";
65
+ if (type == this.type) {
66
+ return {
67
+ [key]: {
68
+ "@type": this.type,
69
+ "@uri": value,
70
+ },
71
+ [targetKey]: null,
72
+ };
73
+ }
74
+ }
75
+ else if (Array.isArray(value)) {
76
+ const targetKey = `#${key}`;
77
+ const targetList = original[targetKey] ?? [];
78
+ if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
79
+ const res = [];
80
+ for (const tmp of value) {
81
+ res.push({
82
+ "@type": this.type,
83
+ "@uri": tmp,
84
+ });
85
+ }
86
+ if (res.length > 0) {
87
+ return {
88
+ [key]: res,
89
+ [targetKey]: null,
90
+ };
91
+ }
92
+ }
93
+ }
94
+ else if ((0, utils_1.isDynamicMap)(value)) {
95
+ const targetKey = `#${key}`;
96
+ const targetMap = original[targetKey] ?? {};
97
+ targetMap;
98
+ if (targetMap != null) {
99
+ const res = {};
100
+ for (const key in value) {
101
+ const val = value[key];
102
+ const mapVal = targetMap[key] ?? {};
103
+ const type = mapVal["@type"] ?? "";
104
+ if (type != this.type) {
105
+ continue;
106
+ }
107
+ res[key] = {
108
+ "@type": this.type,
109
+ "@uri": val,
110
+ };
111
+ }
112
+ if (Object.keys(res).length > 0) {
113
+ return {
114
+ [key]: res,
115
+ [targetKey]: null,
116
+ };
117
+ }
118
+ }
119
+ }
120
+ return null;
121
+ }
122
+ convertTo(key, value, original, firestoreInstance) {
123
+ if ((0, utils_1.isDynamicMap)(value) && value["@type"] !== undefined) {
124
+ const type = value["@type"] || "";
125
+ if (type === this.type) {
126
+ const val = value["@uri"] || "";
127
+ const targetKey = `#${key}`;
128
+ return {
129
+ [targetKey]: {
130
+ "@type": this.type,
131
+ "@uri": val,
132
+ "@target": key,
133
+ },
134
+ [key]: val,
135
+ };
136
+ }
137
+ }
138
+ else if (Array.isArray(value)) {
139
+ const list = value.filter(e => (0, utils_1.isDynamicMap)(e));
140
+ if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
141
+ const target = [];
142
+ const res = [];
143
+ const targetKey = `#${key}`;
144
+ for (const entry of list) {
145
+ const uri = entry["@uri"] || "";
146
+ target.push({
147
+ "@type": this.type,
148
+ "@uri": uri,
149
+ "@target": key,
150
+ });
151
+ res.push(uri);
152
+ }
153
+ return {
154
+ [targetKey]: target,
155
+ [key]: res,
156
+ };
157
+ }
158
+ }
159
+ else if ((0, utils_1.isDynamicMap)(value)) {
160
+ const map = Object.entries(value).filter(([_, v]) => (0, utils_1.isDynamicMap)(v));
161
+ if (map.length > 0 && map.every(([_, v]) => v["@type"] === this.type)) {
162
+ const target = {};
163
+ let res = null;
164
+ const targetKey = `#${key}`;
165
+ for (const [k, v] of map) {
166
+ const uri = v["@uri"] || "";
167
+ target[k] = {
168
+ "@type": this.type,
169
+ "@uri": uri,
170
+ "@target": key,
171
+ };
172
+ res = uri;
173
+ }
174
+ return {
175
+ [targetKey]: target,
176
+ [key]: res,
177
+ };
178
+ }
179
+ }
180
+ return null;
181
+ }
182
+ }
183
+ exports.FirestoreModelUriConverter = FirestoreModelUriConverter;
184
+ //# sourceMappingURL=model_uri_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model_uri_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/model_uri_converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { FirestoreModelFieldValueConverter, ModelFieldValueConverter } from "../model_field_value_converter";
2
+ /**
3
+ * ModelVectorValue ModelFieldValueConverter.
4
+ *
5
+ * ModelVectorValue用のModelFieldValueConverter。
6
+ */
7
+ export declare class ModelVectorValueConverter extends ModelFieldValueConverter {
8
+ /**
9
+ * ModelVectorValue ModelFieldValueConverter.
10
+ *
11
+ * ModelVectorValue用の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 [ModelVectorValue].
28
+ *
29
+ * [ModelVectorValue]用のFirestoreConverter。
30
+ */
31
+ export declare class FirestoreModelVectorValueConverter extends FirestoreModelFieldValueConverter {
32
+ /**
33
+ * FirestoreConverter for [ModelVectorValue].
34
+ *
35
+ * [ModelVectorValue]用の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,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelVectorValueConverter = exports.ModelVectorValueConverter = 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
+ const firebase_admin_1 = require("firebase-admin");
8
+ const firestore_1 = require("@google-cloud/firestore");
9
+ /**
10
+ * ModelVectorValue ModelFieldValueConverter.
11
+ *
12
+ * ModelVectorValue用のModelFieldValueConverter。
13
+ */
14
+ class ModelVectorValueConverter extends model_field_value_converter_1.ModelFieldValueConverter {
15
+ /**
16
+ * ModelVectorValue ModelFieldValueConverter.
17
+ *
18
+ * ModelVectorValue用のModelFieldValueConverter。
19
+ */
20
+ constructor() {
21
+ super();
22
+ }
23
+ type = "ModelVectorValue";
24
+ convertFrom(key, value, original) {
25
+ if (value !== null && typeof value === "object" && "@type" in value && value["@type"] === this.type) {
26
+ const vector = value["@vector"] ?? [];
27
+ return {
28
+ [key]: new model_field_value_1.ModelVectorValue(vector, "server"),
29
+ };
30
+ }
31
+ return null;
32
+ }
33
+ convertTo(key, value, original) {
34
+ if (value instanceof model_field_value_1.ModelVectorValue) {
35
+ return {
36
+ [key]: {
37
+ "@type": this.type,
38
+ "@vector": value["@vector"],
39
+ "@source": value["@source"],
40
+ },
41
+ };
42
+ }
43
+ return null;
44
+ }
45
+ }
46
+ exports.ModelVectorValueConverter = ModelVectorValueConverter;
47
+ /**
48
+ * FirestoreConverter for [ModelVectorValue].
49
+ *
50
+ * [ModelVectorValue]用のFirestoreConverter。
51
+ */
52
+ class FirestoreModelVectorValueConverter extends model_field_value_converter_1.FirestoreModelFieldValueConverter {
53
+ /**
54
+ * FirestoreConverter for [ModelVectorValue].
55
+ *
56
+ * [ModelVectorValue]用のFirestoreConverter。
57
+ */
58
+ constructor() {
59
+ super();
60
+ }
61
+ type = "ModelVectorValue";
62
+ convertFrom(key, value, original, firestoreInstance) {
63
+ if (value instanceof firestore_1.VectorValue) {
64
+ const targetKey = `#${key}`;
65
+ const targetMap = original[targetKey] ?? {};
66
+ const type = targetMap["@type"] ?? "";
67
+ if (type == this.type) {
68
+ const vectorValue = value.toArray();
69
+ const vector = [];
70
+ for (const item of vectorValue) {
71
+ vector.push(Number(item));
72
+ }
73
+ return {
74
+ [key]: {
75
+ "@type": this.type,
76
+ "@vector": vector,
77
+ },
78
+ [targetKey]: null,
79
+ };
80
+ }
81
+ }
82
+ return null;
83
+ }
84
+ convertTo(key, value, original, firestoreInstance) {
85
+ if (value != null && typeof value === "object" && "@type" in value) {
86
+ const type = value["@type"] ?? "";
87
+ if (type === this.type) {
88
+ const fromUser = (value["@source"] ?? "") === "user";
89
+ const val = value["@vector"] ?? [];
90
+ const targetKey = `#${key}`;
91
+ const result = {
92
+ [targetKey]: {
93
+ "@type": this.type,
94
+ "@target": key,
95
+ },
96
+ };
97
+ if (fromUser) {
98
+ result[key] = firebase_admin_1.firestore.FieldValue.vector(val);
99
+ }
100
+ return result;
101
+ }
102
+ }
103
+ else if (Array.isArray(value)) {
104
+ const list = value.filter((e) => e != null && typeof e === "object" && "@type" in e);
105
+ if (list.length > 0 && list.every((e) => e["@type"] === this.type)) {
106
+ throw new Error("ModelVectorValue cannot be included in a listing or map. It must be placed in the top field.");
107
+ }
108
+ }
109
+ else if ((0, utils_1.isDynamicMap)(value)) {
110
+ const map = {};
111
+ for (const k in value) {
112
+ const v = value[k];
113
+ if (v != null && typeof v === "object" && "@type" in v) {
114
+ map[k] = v;
115
+ }
116
+ }
117
+ if (Object.keys(map).length > 0 && Object.values(map).every((e) => e["@type"] === this.type)) {
118
+ throw new Error("ModelVectorValue cannot be included in a listing or map. It must be placed in the top field.");
119
+ }
120
+ }
121
+ return null;
122
+ }
123
+ }
124
+ exports.FirestoreModelVectorValueConverter = FirestoreModelVectorValueConverter;
125
+ //# sourceMappingURL=model_vector_value_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model_vector_value_converter.js","sourceRoot":"","sources":["../../../../src/lib/model_field_value/converters/model_vector_value_converter.ts"],"names":[],"mappings":";;;AAAA,gFAA6G;AAC7G,uCAA2C;AAC3C,4DAAwD;AACxD,mDAA2C;AAC3C,uDAAsD;AAEtD;;;;GAIG;AACH,MAAa,yBAA0B,SAAQ,sDAAwB;IACrE;;;;KAIC;IACD;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IACD,IAAI,GAAW,kBAAkB,CAAC;IAElC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;QAElC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACpG,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAgC,IAAI,EAAE,CAAC;YACrE,OAAO;gBACL,CAAC,GAAG,CAAC,EAAE,IAAI,oCAAgB,CAAC,MAAM,EAAE,QAAQ,CAAC;aAC9C,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CACP,GAAW,EACX,KAAU,EACV,QAAkC;QAElC,IAAI,KAAK,YAAY,oCAAgB,EAAE,CAAC;YACtC,OAAO;gBACL,CAAC,GAAG,CAAC,EAAE;oBACL,OAAO,EAAE,IAAI,CAAC,IAAI;oBAClB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;oBAC3B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;iBAC5B;aACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzCD,8DAyCC;AAED;;;;GAIG;AACH,MAAa,kCAAmC,SAAQ,+DAAiC;IACvF;;;;OAIG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,IAAI,GAAW,kBAAkB,CAAC;IAElC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC,EAClC,iBAA8C;QAE9C,IAAI,KAAK,YAAY,uBAAW,EAAE,CAAC;YACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAgD,IAAI,EAAE,CAAC;YAC3F,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAA8B,IAAI,EAAE,CAAC;YACnE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBACD,OAAO;oBACL,CAAC,GAAG,CAAC,EAAE;wBACL,OAAO,EAAE,IAAI,CAAC,IAAI;wBAClB,SAAS,EAAE,MAAM;qBAClB;oBACD,CAAC,SAAS,CAAC,EAAE,IAAI;iBAClB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CACP,GAAW,EACX,KAAU,EACV,QAAkC,EAClC,iBAA8C;QAE9C,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAA8B,IAAI,EAAE,CAAC;YAC/D,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,SAAS,CAA8B,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;gBAClF,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAgC,IAAI,EAAE,CAAC;gBAClE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;gBAE5B,MAAM,MAAM,GAA6B;oBACvC,CAAC,SAAS,CAAC,EAAE;wBACX,OAAO,EAAE,IAAI,CAAC,IAAI;wBAClB,SAAS,EAAE,GAAG;qBACf;iBACF,CAAC;gBAEF,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,CAAC,GAAG,CAAC,GAAG,0BAAS,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjD,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;aAAM,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACb,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7F,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;YAClH,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AArFD,gFAqFC"}
@@ -0,0 +1,49 @@
1
+ import { FirestoreModelFieldValueConverter, ModelFieldValueConverter } from "../model_field_value_converter";
2
+ /**
3
+ * ModelVideoUri ModelFieldValueConverter.
4
+ *
5
+ * ModelVideoUri用のModelFieldValueConverter。
6
+ */
7
+ export declare class ModelVideoUriConverter extends ModelFieldValueConverter {
8
+ /**
9
+ * ModelVideoUri ModelFieldValueConverter.
10
+ *
11
+ * ModelVideoUri用の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 [ModelVideoUri].
28
+ *
29
+ * [ModelVideoUri]用のFirestoreConverter。
30
+ */
31
+ export declare class FirestoreModelVideoUriConverter extends FirestoreModelFieldValueConverter {
32
+ /**
33
+ * FirestoreConverter for [ModelVideoUri].
34
+ *
35
+ * [ModelVideoUri]用の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
+ }