@mathrunet/masamune 2.2.1 → 2.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/converter/firestore_basic_converter.d.ts +14 -0
  3. package/dist/converter/firestore_basic_converter.js +20 -0
  4. package/dist/converter/firestore_basic_converter.js.map +1 -0
  5. package/dist/converter/firestore_enum_converter.d.ts +14 -0
  6. package/dist/converter/firestore_enum_converter.js +20 -0
  7. package/dist/converter/firestore_enum_converter.js.map +1 -0
  8. package/dist/converter/firestore_model_command_base_converter.d.ts +14 -0
  9. package/dist/converter/firestore_model_command_base_converter.js +33 -0
  10. package/dist/converter/firestore_model_command_base_converter.js.map +1 -0
  11. package/dist/converter/firestore_model_counter_converter.d.ts +14 -0
  12. package/dist/converter/firestore_model_counter_converter.js +73 -0
  13. package/dist/converter/firestore_model_counter_converter.js.map +1 -0
  14. package/dist/converter/firestore_model_date_converter.d.ts +14 -0
  15. package/dist/converter/firestore_model_date_converter.js +90 -0
  16. package/dist/converter/firestore_model_date_converter.js.map +1 -0
  17. package/dist/converter/firestore_model_geo_value_converter.d.ts +14 -0
  18. package/dist/converter/firestore_model_geo_value_converter.js +72 -0
  19. package/dist/converter/firestore_model_geo_value_converter.js.map +1 -0
  20. package/dist/converter/firestore_model_image_uri_converter.d.ts +14 -0
  21. package/dist/converter/firestore_model_image_uri_converter.js +69 -0
  22. package/dist/converter/firestore_model_image_uri_converter.js.map +1 -0
  23. package/dist/converter/firestore_model_locale_converter.d.ts +14 -0
  24. package/dist/converter/firestore_model_locale_converter.js +69 -0
  25. package/dist/converter/firestore_model_locale_converter.js.map +1 -0
  26. package/dist/converter/firestore_model_localized_value_converter.d.ts +14 -0
  27. package/dist/converter/firestore_model_localized_value_converter.js +32 -0
  28. package/dist/converter/firestore_model_localized_value_converter.js.map +1 -0
  29. package/dist/converter/firestore_model_ref_converter.d.ts +14 -0
  30. package/dist/converter/firestore_model_ref_converter.js +54 -0
  31. package/dist/converter/firestore_model_ref_converter.js.map +1 -0
  32. package/dist/converter/firestore_model_search_converter.d.ts +14 -0
  33. package/dist/converter/firestore_model_search_converter.js +31 -0
  34. package/dist/converter/firestore_model_search_converter.js.map +1 -0
  35. package/dist/converter/firestore_model_timestamp_converter.d.ts +14 -0
  36. package/dist/converter/firestore_model_timestamp_converter.js +90 -0
  37. package/dist/converter/firestore_model_timestamp_converter.js.map +1 -0
  38. package/dist/converter/firestore_model_token_converter.d.ts +14 -0
  39. package/dist/converter/firestore_model_token_converter.js +31 -0
  40. package/dist/converter/firestore_model_token_converter.js.map +1 -0
  41. package/dist/converter/firestore_model_uri_converter.d.ts +14 -0
  42. package/dist/converter/firestore_model_uri_converter.js +69 -0
  43. package/dist/converter/firestore_model_uri_converter.js.map +1 -0
  44. package/dist/converter/firestore_model_video_uri_converter.d.ts +14 -0
  45. package/dist/converter/firestore_model_video_uri_converter.js +69 -0
  46. package/dist/converter/firestore_model_video_uri_converter.js.map +1 -0
  47. package/dist/converter/firestore_null_converter.d.ts +14 -0
  48. package/dist/converter/firestore_null_converter.js +20 -0
  49. package/dist/converter/firestore_null_converter.js.map +1 -0
  50. package/dist/functions/algolia.js +37 -4
  51. package/dist/functions/algolia.js.map +1 -1
  52. package/dist/lib/firestore_model_field_value_converter.d.ts +146 -0
  53. package/dist/lib/firestore_model_field_value_converter.js +153 -0
  54. package/dist/lib/firestore_model_field_value_converter.js.map +1 -0
  55. package/dist/lib/utils.d.ts +18 -0
  56. package/dist/lib/utils.js +20 -1
  57. package/dist/lib/utils.js.map +1 -1
  58. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelLocalizedValue].
4
+ *
5
+ * [ModelLocalizedValue]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelLocalizedValueConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelLocalizedValueConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ /**
6
+ * FirestoreConverter for [ModelLocalizedValue].
7
+ *
8
+ * [ModelLocalizedValue]用のFirestoreConverter。
9
+ */
10
+ class FirestoreModelLocalizedValueConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.type = "ModelLocalizedValue";
14
+ }
15
+ convertFrom(key, value, original) {
16
+ var _a, _b;
17
+ if (Array.isArray(value)) {
18
+ const targetKey = `#${key}`;
19
+ const targetMap = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : {};
20
+ const type = (_b = targetMap["@type"]) !== null && _b !== void 0 ? _b : "";
21
+ if (type == this.type) {
22
+ const splitted = String(value).replace("-", "_").split("_");
23
+ return {
24
+ key: targetMap["@localized"],
25
+ };
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ }
31
+ exports.FirestoreModelLocalizedValueConverter = FirestoreModelLocalizedValueConverter;
32
+ //# sourceMappingURL=firestore_model_localized_value_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_localized_value_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_model_localized_value_converter.ts"],"names":[],"mappings":";;;AAAA,wGAAiG;AAEjG;;;;GAIG;AACH,MAAa,qCAAsC,SAAQ,yEAAiC;IAA5F;;QACE,SAAI,GAAW,qBAAqB,CAAC;IAmBvC,CAAC;IAjBC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAoC,mCAAI,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,CAAkB,mCAAI,EAAE,CAAC;YACvD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5D,OAAO;oBACL,GAAG,EAAE,SAAS,CAAC,YAAY,CAAC;iBAC7B,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AApBD,sFAoBC"}
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelRef].
4
+ *
5
+ * [ModelRef]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelRefConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelRefConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ const utils_1 = require("../lib/utils");
6
+ const firestore_1 = require("firebase-admin/firestore");
7
+ /**
8
+ * FirestoreConverter for [ModelRef].
9
+ *
10
+ * [ModelRef]用のFirestoreConverter。
11
+ */
12
+ class FirestoreModelRefConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.type = "ModelRefBase";
16
+ }
17
+ convertFrom(key, value, original) {
18
+ if (Array.isArray(value)) {
19
+ const res = [];
20
+ for (const tmp of value) {
21
+ if (tmp instanceof firestore_1.DocumentReference) {
22
+ res.push(Object.assign({ "@ref": tmp.path }, this.header()));
23
+ }
24
+ }
25
+ if (res.length > 0) {
26
+ return {
27
+ key: res,
28
+ };
29
+ }
30
+ }
31
+ else if ((0, utils_1.isDynamicMap)(value)) {
32
+ const res = {};
33
+ for (const key in value) {
34
+ const val = value[key];
35
+ if (val instanceof firestore_1.DocumentReference) {
36
+ res[key] = Object.assign({ "@ref": val.path }, this.header());
37
+ }
38
+ }
39
+ if (Object.keys(res).length > 0) {
40
+ return {
41
+ key: res,
42
+ };
43
+ }
44
+ }
45
+ else if (value instanceof firestore_1.DocumentReference) {
46
+ return {
47
+ key: Object.assign({ "@ref": value.path }, this.header()),
48
+ };
49
+ }
50
+ return null;
51
+ }
52
+ }
53
+ exports.FirestoreModelRefConverter = FirestoreModelRefConverter;
54
+ //# sourceMappingURL=firestore_model_ref_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_ref_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_model_ref_converter.ts"],"names":[],"mappings":";;;AAAA,wGAAiG;AACjG,wCAA4C;AAC5C,wDAA6D;AAE7D;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,yEAAiC;IAAjF;;QACE,SAAI,GAAW,cAAc,CAAC;IAiDhC,CAAC;IA/CC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACtB,MAAM,GAAG,GAA+B,EAAE,CAAC;YAC7C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;gBACvB,IAAI,GAAG,YAAY,6BAAiB,EAAE;oBACpC,GAAG,CAAC,IAAI,iBACN,MAAM,EAAE,GAAG,CAAC,IAAI,IACb,IAAI,CAAC,MAAM,EAAE,EAChB,CAAC;iBACJ;aACF;YACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClB,OAAO;oBACL,GAAG,EAAE,GAAG;iBACT,CAAC;aACH;SACF;aAAM,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,GAAG,GAEL,EAAE,CAAC;YACP,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;gBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvB,IAAI,GAAG,YAAY,6BAAiB,EAAE;oBACpC,GAAG,CAAC,GAAG,CAAC,mBACN,MAAM,EAAE,GAAG,CAAC,IAAI,IACb,IAAI,CAAC,MAAM,EAAE,CACjB,CAAC;iBACH;aACF;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,OAAO;oBACL,GAAG,EAAE,GAAG;iBACT,CAAC;aACH;SACF;aAAM,IAAI,KAAK,YAAY,6BAAiB,EAAE;YAC7C,OAAO;gBACL,GAAG,kBACD,MAAM,EAAE,KAAK,CAAC,IAAI,IACf,IAAI,CAAC,MAAM,EAAE,CACjB;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlDD,gEAkDC"}
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelSearch].
4
+ *
5
+ * [ModelSearch]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelSearchConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelSearchConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ /**
6
+ * FirestoreConverter for [ModelSearch].
7
+ *
8
+ * [ModelSearch]用のFirestoreConverter。
9
+ */
10
+ class FirestoreModelSearchConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.type = "ModelSearch";
14
+ }
15
+ convertFrom(key, value, original) {
16
+ var _a, _b;
17
+ if (Array.isArray(value)) {
18
+ const targetKey = `#${key}`;
19
+ const targetMap = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : {};
20
+ const type = (_b = targetMap["@type"]) !== null && _b !== void 0 ? _b : "";
21
+ if (type == this.type) {
22
+ return {
23
+ key: value.map((e) => String(e)),
24
+ };
25
+ }
26
+ }
27
+ return null;
28
+ }
29
+ }
30
+ exports.FirestoreModelSearchConverter = FirestoreModelSearchConverter;
31
+ //# sourceMappingURL=firestore_model_search_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_search_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_model_search_converter.ts"],"names":[],"mappings":";;;AAAA,wGAAiG;AAEjG;;;;GAIG;AACH,MAAa,6BAA8B,SAAQ,yEAAiC;IAApF;;QACE,SAAI,GAAW,aAAa,CAAC;IAkB/B,CAAC;IAhBC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAoC,mCAAI,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,CAAkB,mCAAI,EAAE,CAAC;YACvD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACrB,OAAO;oBACL,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACjC,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnBD,sEAmBC"}
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelTimestamp].
4
+ *
5
+ * [ModelTimestamp]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelTimestampConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelTimestampConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ const utils_1 = require("../lib/utils");
6
+ const firestore_1 = require("firebase-admin/firestore");
7
+ /**
8
+ * FirestoreConverter for [ModelTimestamp].
9
+ *
10
+ * [ModelTimestamp]用のFirestoreConverter。
11
+ */
12
+ class FirestoreModelTimestampConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
13
+ constructor() {
14
+ super(...arguments);
15
+ this.type = "ModelTimestamp";
16
+ }
17
+ convertFrom(key, value, original) {
18
+ var _a, _b, _c, _d, _e, _f, _g;
19
+ if (Array.isArray(value)) {
20
+ const targetKey = `#${key}`;
21
+ const targetList = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : [];
22
+ if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
23
+ const res = [];
24
+ for (const tmp of value) {
25
+ if (typeof tmp === "number") {
26
+ res.push(tmp);
27
+ }
28
+ else if (tmp instanceof firestore_1.Timestamp) {
29
+ res.push(tmp.toMillis());
30
+ }
31
+ }
32
+ if (res.length > 0) {
33
+ return {
34
+ key: res,
35
+ };
36
+ }
37
+ }
38
+ }
39
+ else if ((0, utils_1.isDynamicMap)(value)) {
40
+ const targetKey = `#${key}`;
41
+ const targetMap = (_b = original[targetKey]) !== null && _b !== void 0 ? _b : {};
42
+ targetMap;
43
+ if (targetMap != null) {
44
+ const res = {};
45
+ for (const key in value) {
46
+ const val = value[key];
47
+ const mapVal = targetMap[key];
48
+ const type = (_c = mapVal["@type"]) !== null && _c !== void 0 ? _c : "";
49
+ if (type != this.type) {
50
+ continue;
51
+ }
52
+ if (typeof val === "number") {
53
+ res[key] = val;
54
+ }
55
+ else if (val instanceof firestore_1.Timestamp) {
56
+ res[key] = val.toMillis();
57
+ }
58
+ }
59
+ if (Object.keys(res).length > 0) {
60
+ return {
61
+ key: res,
62
+ };
63
+ }
64
+ }
65
+ }
66
+ else if (typeof value === "number") {
67
+ const targetKey = `#${key}`;
68
+ const targetMap = (_d = original[targetKey]) !== null && _d !== void 0 ? _d : {};
69
+ const type = (_e = targetMap["@type"]) !== null && _e !== void 0 ? _e : "";
70
+ if (type == this.type) {
71
+ return {
72
+ key: value,
73
+ };
74
+ }
75
+ }
76
+ else if (value instanceof firestore_1.Timestamp) {
77
+ const targetKey = `#${key}`;
78
+ const targetMap = (_f = original[targetKey]) !== null && _f !== void 0 ? _f : {};
79
+ const type = (_g = targetMap["@type"]) !== null && _g !== void 0 ? _g : "";
80
+ if (type == this.type) {
81
+ return {
82
+ key: value.toMillis(),
83
+ };
84
+ }
85
+ }
86
+ return null;
87
+ }
88
+ }
89
+ exports.FirestoreModelTimestampConverter = FirestoreModelTimestampConverter;
90
+ //# sourceMappingURL=firestore_model_timestamp_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_timestamp_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_model_timestamp_converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelToken].
4
+ *
5
+ * [ModelToken]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelTokenConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelTokenConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ /**
6
+ * FirestoreConverter for [ModelToken].
7
+ *
8
+ * [ModelToken]用のFirestoreConverter。
9
+ */
10
+ class FirestoreModelTokenConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.type = "ModelToken";
14
+ }
15
+ convertFrom(key, value, original) {
16
+ var _a, _b;
17
+ if (Array.isArray(value)) {
18
+ const targetKey = `#${key}`;
19
+ const targetMap = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : {};
20
+ const type = (_b = targetMap["@type"]) !== null && _b !== void 0 ? _b : "";
21
+ if (type == this.type) {
22
+ return {
23
+ key: value.map((e) => String(e)),
24
+ };
25
+ }
26
+ }
27
+ return null;
28
+ }
29
+ }
30
+ exports.FirestoreModelTokenConverter = FirestoreModelTokenConverter;
31
+ //# sourceMappingURL=firestore_model_token_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_token_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_model_token_converter.ts"],"names":[],"mappings":";;;AAAA,wGAAiG;AAEjG;;;;GAIG;AACH,MAAa,4BAA6B,SAAQ,yEAAiC;IAAnF;;QACE,SAAI,GAAW,YAAY,CAAC;IAkB9B,CAAC;IAhBC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAoC,mCAAI,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,CAAkB,mCAAI,EAAE,CAAC;YACvD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACrB,OAAO;oBACL,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBACjC,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnBD,oEAmBC"}
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelUri].
4
+ *
5
+ * [ModelUri]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelUriConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelUriConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ const utils_1 = require("../lib/utils");
6
+ /**
7
+ * FirestoreConverter for [ModelUri].
8
+ *
9
+ * [ModelUri]用のFirestoreConverter。
10
+ */
11
+ class FirestoreModelUriConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.type = "ModelUri";
15
+ }
16
+ convertFrom(key, value, original) {
17
+ var _a, _b, _c, _d, _e;
18
+ if (Array.isArray(value)) {
19
+ const targetKey = `#${key}`;
20
+ const targetList = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : [];
21
+ if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
22
+ const res = [];
23
+ for (const tmp of value) {
24
+ res.push(String(tmp));
25
+ }
26
+ if (res.length > 0) {
27
+ return {
28
+ key: res,
29
+ };
30
+ }
31
+ }
32
+ }
33
+ else if ((0, utils_1.isDynamicMap)(value)) {
34
+ const targetKey = `#${key}`;
35
+ const targetMap = (_b = original[targetKey]) !== null && _b !== void 0 ? _b : {};
36
+ targetMap;
37
+ if (targetMap != null) {
38
+ const res = {};
39
+ for (const key in value) {
40
+ const val = value[key];
41
+ const mapVal = targetMap[key];
42
+ const type = (_c = mapVal["@type"]) !== null && _c !== void 0 ? _c : "";
43
+ if (type != this.type) {
44
+ continue;
45
+ }
46
+ res[key] = String(val);
47
+ }
48
+ if (Object.keys(res).length > 0) {
49
+ return {
50
+ key: res,
51
+ };
52
+ }
53
+ }
54
+ }
55
+ else if (typeof value === "string") {
56
+ const targetKey = `#${key}`;
57
+ const targetMap = (_d = original[targetKey]) !== null && _d !== void 0 ? _d : {};
58
+ const type = (_e = targetMap["@type"]) !== null && _e !== void 0 ? _e : "";
59
+ if (type == this.type) {
60
+ return {
61
+ key: String(value),
62
+ };
63
+ }
64
+ }
65
+ return null;
66
+ }
67
+ }
68
+ exports.FirestoreModelUriConverter = FirestoreModelUriConverter;
69
+ //# sourceMappingURL=firestore_model_uri_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_uri_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_model_uri_converter.ts"],"names":[],"mappings":";;;AAAA,wGAAiG;AACjG,wCAA4C;AAE5C;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,yEAAiC;IAAjF;;QACE,SAAI,GAAW,UAAU,CAAC;IAuD5B,CAAC;IArDC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAsC,mCAAI,EAAE,CAAC;YAClF,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;gBACpG,MAAM,GAAG,GAAa,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;oBACvB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBACvB;gBACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClB,OAAO;wBACL,GAAG,EAAE,GAAG;qBACT,CAAC;iBACH;aACF;SACF;aAAM,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAyD,mCAAI,EAAE,CAAC;YACpG,SAAS,CAAA;YACT,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,MAAM,GAAG,GAEL,EAAE,CAAC;gBACP,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;oBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACvB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,OAAO,CAAkB,mCAAI,EAAE,CAAC;oBACpD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;wBACrB,SAAS;qBACV;oBACD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;iBACxB;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,OAAO;wBACL,GAAG,EAAE,GAAG;qBACT,CAAC;iBACH;aACF;SACF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAoC,mCAAI,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,CAAkB,mCAAI,EAAE,CAAC;YACvD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACrB,OAAO;oBACL,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;iBACnB,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAxDD,gEAwDC"}
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [ModelVideoUri].
4
+ *
5
+ * [ModelVideoUri]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreModelVideoUriConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreModelVideoUriConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ const utils_1 = require("../lib/utils");
6
+ /**
7
+ * FirestoreConverter for [ModelVideoUri].
8
+ *
9
+ * [ModelVideoUri]用のFirestoreConverter。
10
+ */
11
+ class FirestoreModelVideoUriConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.type = "ModelVideoUri";
15
+ }
16
+ convertFrom(key, value, original) {
17
+ var _a, _b, _c, _d, _e;
18
+ if (Array.isArray(value)) {
19
+ const targetKey = `#${key}`;
20
+ const targetList = (_a = original[targetKey]) !== null && _a !== void 0 ? _a : [];
21
+ if (targetList != null && targetList.length > 0 && targetList.every((e) => e["@type"] === this.type)) {
22
+ const res = [];
23
+ for (const tmp of value) {
24
+ res.push(String(tmp));
25
+ }
26
+ if (res.length > 0) {
27
+ return {
28
+ key: res,
29
+ };
30
+ }
31
+ }
32
+ }
33
+ else if ((0, utils_1.isDynamicMap)(value)) {
34
+ const targetKey = `#${key}`;
35
+ const targetMap = (_b = original[targetKey]) !== null && _b !== void 0 ? _b : {};
36
+ targetMap;
37
+ if (targetMap != null) {
38
+ const res = {};
39
+ for (const key in value) {
40
+ const val = value[key];
41
+ const mapVal = targetMap[key];
42
+ const type = (_c = mapVal["@type"]) !== null && _c !== void 0 ? _c : "";
43
+ if (type != this.type) {
44
+ continue;
45
+ }
46
+ res[key] = String(val);
47
+ }
48
+ if (Object.keys(res).length > 0) {
49
+ return {
50
+ key: res,
51
+ };
52
+ }
53
+ }
54
+ }
55
+ else if (typeof value === "string") {
56
+ const targetKey = `#${key}`;
57
+ const targetMap = (_d = original[targetKey]) !== null && _d !== void 0 ? _d : {};
58
+ const type = (_e = targetMap["@type"]) !== null && _e !== void 0 ? _e : "";
59
+ if (type == this.type) {
60
+ return {
61
+ key: String(value),
62
+ };
63
+ }
64
+ }
65
+ return null;
66
+ }
67
+ }
68
+ exports.FirestoreModelVideoUriConverter = FirestoreModelVideoUriConverter;
69
+ //# sourceMappingURL=firestore_model_video_uri_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_model_video_uri_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_model_video_uri_converter.ts"],"names":[],"mappings":";;;AAAA,wGAAiG;AACjG,wCAA4C;AAE5C;;;;GAIG;AACH,MAAa,+BAAgC,SAAQ,yEAAiC;IAAtF;;QACE,SAAI,GAAW,eAAe,CAAC;IAuDjC,CAAC;IArDC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;;QAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,UAAU,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAsC,mCAAI,EAAE,CAAC;YAClF,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;gBACpG,MAAM,GAAG,GAAa,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;oBACvB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBACvB;gBACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;oBAClB,OAAO;wBACL,GAAG,EAAE,GAAG;qBACT,CAAC;iBACH;aACF;SACF;aAAM,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC,EAAE;YAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAyD,mCAAI,EAAE,CAAC;YACpG,SAAS,CAAA;YACT,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,MAAM,GAAG,GAEL,EAAE,CAAC;gBACP,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;oBACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;oBACvB,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;oBAC9B,MAAM,IAAI,GAAG,MAAA,MAAM,CAAC,OAAO,CAAkB,mCAAI,EAAE,CAAC;oBACpD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;wBACrB,SAAS;qBACV;oBACD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;iBACxB;gBACD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,OAAO;wBACL,GAAG,EAAE,GAAG;qBACT,CAAC;iBACH;aACF;SACF;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAA,QAAQ,CAAC,SAAS,CAAoC,mCAAI,EAAE,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,OAAO,CAAkB,mCAAI,EAAE,CAAC;YACvD,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;gBACrB,OAAO;oBACL,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;iBACnB,CAAC;aACH;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAxDD,0EAwDC"}
@@ -0,0 +1,14 @@
1
+ import { FirestoreModelFieldValueConverter } from "../lib/firestore_model_field_value_converter";
2
+ /**
3
+ * FirestoreConverter for [Null].
4
+ *
5
+ * [Null]用のFirestoreConverter。
6
+ */
7
+ export declare class FirestoreNullConverter extends FirestoreModelFieldValueConverter {
8
+ type: string;
9
+ convertFrom(key: string, value: any, original: {
10
+ [field: string]: any;
11
+ }): {
12
+ [field: string]: any;
13
+ } | null;
14
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreNullConverter = void 0;
4
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
5
+ /**
6
+ * FirestoreConverter for [Null].
7
+ *
8
+ * [Null]用のFirestoreConverter。
9
+ */
10
+ class FirestoreNullConverter extends firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.type = "Null";
14
+ }
15
+ convertFrom(key, value, original) {
16
+ return null;
17
+ }
18
+ }
19
+ exports.FirestoreNullConverter = FirestoreNullConverter;
20
+ //# sourceMappingURL=firestore_null_converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore_null_converter.js","sourceRoot":"","sources":["../../src/converter/firestore_null_converter.ts"],"names":[],"mappings":";;;AAAA,wGAAiG;AAEjG;;;;GAIG;AACH,MAAa,sBAAuB,SAAQ,yEAAiC;IAA7E;;QACE,SAAI,GAAW,MAAM,CAAC;IAQxB,CAAC;IANC,WAAW,CACT,GAAW,EACX,KAAU,EACV,QAAkC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AATD,wDASC"}
@@ -34,6 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  const functions = __importStar(require("firebase-functions/v2"));
36
36
  const algolia = __importStar(require("algoliasearch"));
37
+ const firestore_model_field_value_converter_1 = require("../lib/firestore_model_field_value_converter");
37
38
  /**
38
39
  * Synchronize data to Algolia.
39
40
  *
@@ -84,9 +85,15 @@ module.exports = (regions, options, data) => {
84
85
  if (!key || !data) {
85
86
  return;
86
87
  }
87
- const algoliaObject = Object.assign(Object.assign({}, data), { "@uid": key, objectID: key });
88
+ const update = {};
89
+ for (const k in data) {
90
+ const v = data[k];
91
+ update[k] = _convert(v);
92
+ }
93
+ update["@uid"] = key;
94
+ update["objectID"] = key;
88
95
  const index = client.initIndex(indexName);
89
- yield index.saveObject(algoliaObject);
96
+ yield index.saveObject(update);
90
97
  // update
91
98
  }
92
99
  else if (beforeExists && afterExists) {
@@ -96,9 +103,15 @@ module.exports = (regions, options, data) => {
96
103
  if (!key || !data) {
97
104
  return;
98
105
  }
99
- const algoliaObject = Object.assign(Object.assign({}, data), { "@uid": key, objectID: key });
106
+ const update = {};
107
+ for (const k in data) {
108
+ const v = data[k];
109
+ update[k] = _convert(v);
110
+ }
111
+ update["@uid"] = key;
112
+ update["objectID"] = key;
100
113
  const index = client.initIndex(indexName);
101
- yield index.saveObject(algoliaObject);
114
+ yield index.saveObject(update);
102
115
  // delete
103
116
  }
104
117
  else if (beforeExists && !afterExists) {
@@ -117,4 +130,24 @@ module.exports = (regions, options, data) => {
117
130
  }
118
131
  }));
119
132
  };
133
+ function _convert(data) {
134
+ var update = {};
135
+ var replaced = null;
136
+ for (const key in data) {
137
+ const val = data[key];
138
+ for (const converter of firestore_model_field_value_converter_1.FirestoreModelFieldValueConverter.defaultConverters) {
139
+ replaced = converter.convertFrom(key, val, data);
140
+ if (replaced != null) {
141
+ break;
142
+ }
143
+ }
144
+ if (replaced != null) {
145
+ update = Object.assign(Object.assign({}, update), replaced);
146
+ }
147
+ else {
148
+ update[key] = val;
149
+ }
150
+ }
151
+ return update;
152
+ }
120
153
  //# sourceMappingURL=algolia.js.map