@webiny/api-headless-cms-ddb 5.32.0-beta.0 → 5.33.0-beta.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.
package/dynamoDb/index.js CHANGED
@@ -1,22 +1,20 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = void 0;
9
7
 
10
- var _richText = _interopRequireDefault(require("./storage/richText"));
8
+ var _richText = require("./storage/richText");
11
9
 
12
- var _longText = _interopRequireDefault(require("./storage/longText"));
10
+ var _longText = require("./storage/longText");
13
11
 
14
- var _date = _interopRequireDefault(require("./storage/date"));
12
+ var _date = require("./storage/date");
15
13
 
16
14
  var _plainObject = require("./path/plainObject");
17
15
 
18
- var _datetime = _interopRequireDefault(require("./transformValue/datetime"));
16
+ var _datetime = require("./transformValue/datetime");
19
17
 
20
- var _default = () => [(0, _richText.default)(), (0, _longText.default)(), (0, _date.default)(), (0, _plainObject.createPlainObjectPathPlugin)(), (0, _datetime.default)()];
18
+ var _default = () => [(0, _richText.createRichTextStorageTransformPlugin)(), (0, _longText.createLongTextStorageTransformPlugin)(), (0, _date.createDateStorageTransformPlugin)(), (0, _plainObject.createPlainObjectPathPlugin)(), (0, _datetime.createDatetimeTransformValuePlugin)()];
21
19
 
22
20
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["richTextStorage","longTextStorage","dateStorage","createPlainObjectPathPlugin","datetimeTransformValue"],"sources":["index.ts"],"sourcesContent":["import richTextStorage from \"./storage/richText\";\nimport longTextStorage from \"./storage/longText\";\nimport dateStorage from \"./storage/date\";\nimport { createPlainObjectPathPlugin } from \"./path/plainObject\";\nimport datetimeTransformValue from \"./transformValue/datetime\";\n\nexport default () => [\n richTextStorage(),\n longTextStorage(),\n dateStorage(),\n createPlainObjectPathPlugin(),\n datetimeTransformValue()\n];\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CACjB,IAAAA,iBAAA,GADiB,EAEjB,IAAAC,iBAAA,GAFiB,EAGjB,IAAAC,aAAA,GAHiB,EAIjB,IAAAC,wCAAA,GAJiB,EAKjB,IAAAC,iBAAA,GALiB,C"}
1
+ {"version":3,"names":["createRichTextStorageTransformPlugin","createLongTextStorageTransformPlugin","createDateStorageTransformPlugin","createPlainObjectPathPlugin","createDatetimeTransformValuePlugin"],"sources":["index.ts"],"sourcesContent":["import { createRichTextStorageTransformPlugin } from \"./storage/richText\";\nimport { createLongTextStorageTransformPlugin } from \"./storage/longText\";\nimport { createDateStorageTransformPlugin } from \"./storage/date\";\nimport { createPlainObjectPathPlugin } from \"./path/plainObject\";\nimport { createDatetimeTransformValuePlugin } from \"./transformValue/datetime\";\n\nexport default () => [\n createRichTextStorageTransformPlugin(),\n createLongTextStorageTransformPlugin(),\n createDateStorageTransformPlugin(),\n createPlainObjectPathPlugin(),\n createDatetimeTransformValuePlugin()\n];\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;eAEe,MAAM,CACjB,IAAAA,8CAAA,GADiB,EAEjB,IAAAC,8CAAA,GAFiB,EAGjB,IAAAC,sCAAA,GAHiB,EAIjB,IAAAC,wCAAA,GAJiB,EAKjB,IAAAC,4CAAA,GALiB,C"}
@@ -11,6 +11,9 @@ var _error = _interopRequireDefault(require("@webiny/error"));
11
11
 
12
12
  var _CmsEntryFieldFilterPathPlugin = require("../../plugins/CmsEntryFieldFilterPathPlugin");
13
13
 
14
+ /**
15
+ * File is @internal
16
+ */
14
17
  const createPath = ({
15
18
  field
16
19
  }) => {
@@ -1 +1 @@
1
- {"version":3,"names":["createPath","field","path","settings","WebinyError","createPlainObjectPathPlugin","CmsEntryFieldFilterPathPlugin","fieldType"],"sources":["plainObject.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport {\n CmsEntryFieldFilterPathPlugin,\n CreatePathCallable\n} from \"~/plugins/CmsEntryFieldFilterPathPlugin\";\n\nconst createPath: CreatePathCallable = ({ field }) => {\n const { path } = field.settings || {};\n if (!path) {\n throw new WebinyError(\"Missing path settings value.\", \"FIELD_SETTINGS_ERROR\", {\n field\n });\n }\n return path;\n};\n\nexport const createPlainObjectPathPlugin = (): CmsEntryFieldFilterPathPlugin => {\n return new CmsEntryFieldFilterPathPlugin({\n fieldType: \"plainObject\",\n path: createPath\n });\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAKA,MAAMA,UAA8B,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAe;EAClD,MAAM;IAAEC;EAAF,IAAWD,KAAK,CAACE,QAAN,IAAkB,EAAnC;;EACA,IAAI,CAACD,IAAL,EAAW;IACP,MAAM,IAAIE,cAAJ,CAAgB,8BAAhB,EAAgD,sBAAhD,EAAwE;MAC1EH;IAD0E,CAAxE,CAAN;EAGH;;EACD,OAAOC,IAAP;AACH,CARD;;AAUO,MAAMG,2BAA2B,GAAG,MAAqC;EAC5E,OAAO,IAAIC,4DAAJ,CAAkC;IACrCC,SAAS,EAAE,aAD0B;IAErCL,IAAI,EAAEF;EAF+B,CAAlC,CAAP;AAIH,CALM"}
1
+ {"version":3,"names":["createPath","field","path","settings","WebinyError","createPlainObjectPathPlugin","CmsEntryFieldFilterPathPlugin","fieldType"],"sources":["plainObject.ts"],"sourcesContent":["/**\n * File is @internal\n */\nimport WebinyError from \"@webiny/error\";\nimport {\n CmsEntryFieldFilterPathPlugin,\n CreatePathCallable\n} from \"~/plugins/CmsEntryFieldFilterPathPlugin\";\n\nconst createPath: CreatePathCallable = ({ field }) => {\n const { path } = field.settings || {};\n if (!path) {\n throw new WebinyError(\"Missing path settings value.\", \"FIELD_SETTINGS_ERROR\", {\n field\n });\n }\n return path;\n};\n\nexport const createPlainObjectPathPlugin = (): CmsEntryFieldFilterPathPlugin => {\n return new CmsEntryFieldFilterPathPlugin({\n fieldType: \"plainObject\",\n path: createPath\n });\n};\n"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAOA,MAAMA,UAA8B,GAAG,CAAC;EAAEC;AAAF,CAAD,KAAe;EAClD,MAAM;IAAEC;EAAF,IAAWD,KAAK,CAACE,QAAN,IAAkB,EAAnC;;EACA,IAAI,CAACD,IAAL,EAAW;IACP,MAAM,IAAIE,cAAJ,CAAgB,8BAAhB,EAAgD,sBAAhD,EAAwE;MAC1EH;IAD0E,CAAxE,CAAN;EAGH;;EACD,OAAOC,IAAP;AACH,CARD;;AAUO,MAAMG,2BAA2B,GAAG,MAAqC;EAC5E,OAAO,IAAIC,4DAAJ,CAAkC;IACrCC,SAAS,EAAE,aAD0B;IAErCL,IAAI,EAAEF;EAF+B,CAAlC,CAAP;AAIH,CALM"}
@@ -1,3 +1,2 @@
1
1
  import { StorageTransformPlugin } from "@webiny/api-headless-cms";
2
- declare const _default: () => StorageTransformPlugin<any, any>;
3
- export default _default;
2
+ export declare const createDateStorageTransformPlugin: () => StorageTransformPlugin<any, any>;
@@ -5,61 +5,95 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.createDateStorageTransformPlugin = void 0;
9
9
 
10
10
  var _error = _interopRequireDefault(require("@webiny/error"));
11
11
 
12
12
  var _apiHeadlessCms = require("@webiny/api-headless-cms");
13
13
 
14
+ /**
15
+ * File is @internal
16
+ */
14
17
  const excludeTypes = ["time", "dateTimeWithTimezone"];
15
- const plugin = new _apiHeadlessCms.StorageTransformPlugin({
16
- fieldType: "datetime",
17
- fromStorage: async ({
18
- value,
19
- field
20
- }) => {
21
- const {
22
- type
23
- } = field.settings || {};
24
-
25
- if (!value || !type || excludeTypes.includes(type)) {
26
- return value;
27
- }
28
18
 
29
- try {
30
- return new Date(value);
31
- } catch {
32
- console.log(`Could not transform from storage for field type`);
33
- return value;
34
- }
35
- },
36
- toStorage: async ({
37
- value,
38
- field
39
- }) => {
40
- const {
41
- type
42
- } = field.settings || {};
43
-
44
- if (!value || !type || excludeTypes.includes(type)) {
45
- return value;
19
+ const convertFromStorage = (field, value) => {
20
+ try {
21
+ if (field.multipleValues) {
22
+ return (value || []).filter(v => !!v).map(v => {
23
+ return new Date(v);
24
+ });
46
25
  }
47
26
 
48
- if (value.toISOString) {
49
- return value.toISOString();
50
- } else if (typeof value === "string") {
51
- return value;
52
- }
27
+ return new Date(value);
28
+ } catch {
29
+ console.log(`Could not transform from storage for field type`);
30
+ return value;
31
+ }
32
+ };
53
33
 
54
- throw new _error.default("Error converting value to a storage type.", "TO_STORAGE_ERROR", {
55
- value,
56
- fieldId: field.fieldId
57
- });
34
+ const convertValueToStorage = (field, value) => {
35
+ if (value.toISOString) {
36
+ return value.toISOString();
37
+ } else if (typeof value === "string") {
38
+ return value;
58
39
  }
59
- });
60
40
 
61
- var _default = () => {
62
- return plugin;
41
+ throw new _error.default("Error converting value to a storage type.", "TO_STORAGE_ERROR", {
42
+ value: value,
43
+ fieldId: field.fieldId,
44
+ storageId: field.storageId
45
+ });
46
+ };
47
+
48
+ const createDateStorageTransformPlugin = () => {
49
+ return new _apiHeadlessCms.StorageTransformPlugin({
50
+ fieldType: "datetime",
51
+ fromStorage: async ({
52
+ value,
53
+ field
54
+ }) => {
55
+ const {
56
+ type
57
+ } = field.settings || {};
58
+
59
+ if (!value || !type || excludeTypes.includes(type)) {
60
+ return value;
61
+ }
62
+
63
+ return convertFromStorage(field, value);
64
+ },
65
+ toStorage: async ({
66
+ value,
67
+ field
68
+ }) => {
69
+ const {
70
+ type
71
+ } = field.settings || {};
72
+
73
+ if (!value || !type || excludeTypes.includes(type)) {
74
+ return value;
75
+ }
76
+
77
+ if (field.multipleValues) {
78
+ const multipleValues = value;
79
+ return (multipleValues || []).filter(v => !!v).map(v => {
80
+ return convertValueToStorage(field, v);
81
+ });
82
+ }
83
+
84
+ if (value.toISOString) {
85
+ return value.toISOString();
86
+ } else if (typeof value === "string") {
87
+ return value;
88
+ }
89
+
90
+ throw new _error.default("Error converting value to a storage type.", "TO_STORAGE_ERROR", {
91
+ value,
92
+ fieldId: field.fieldId,
93
+ storageId: field.storageId
94
+ });
95
+ }
96
+ });
63
97
  };
64
98
 
65
- exports.default = _default;
99
+ exports.createDateStorageTransformPlugin = createDateStorageTransformPlugin;
@@ -1 +1 @@
1
- {"version":3,"names":["excludeTypes","plugin","StorageTransformPlugin","fieldType","fromStorage","value","field","type","settings","includes","Date","console","log","toStorage","toISOString","WebinyError","fieldId"],"sources":["date.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { StorageTransformPlugin } from \"@webiny/api-headless-cms\";\n\nconst excludeTypes = [\"time\", \"dateTimeWithTimezone\"];\n\nconst plugin = new StorageTransformPlugin({\n fieldType: \"datetime\",\n fromStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n }\n try {\n return new Date(value);\n } catch {\n console.log(`Could not transform from storage for field type`);\n return value;\n }\n },\n toStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n }\n if ((value as any).toISOString) {\n return (value as Date).toISOString();\n } else if (typeof value === \"string\") {\n return value as string;\n }\n throw new WebinyError(\"Error converting value to a storage type.\", \"TO_STORAGE_ERROR\", {\n value,\n fieldId: field.fieldId\n });\n }\n});\n\nexport default () => {\n return plugin;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,MAAMA,YAAY,GAAG,CAAC,MAAD,EAAS,sBAAT,CAArB;AAEA,MAAMC,MAAM,GAAG,IAAIC,sCAAJ,CAA2B;EACtCC,SAAS,EAAE,UAD2B;EAEtCC,WAAW,EAAE,OAAO;IAAEC,KAAF;IAASC;EAAT,CAAP,KAA4B;IACrC,MAAM;MAAEC;IAAF,IAAWD,KAAK,CAACE,QAAN,IAAkB,EAAnC;;IACA,IAAI,CAACH,KAAD,IAAU,CAACE,IAAX,IAAmBP,YAAY,CAACS,QAAb,CAAsBF,IAAtB,CAAvB,EAAoD;MAChD,OAAOF,KAAP;IACH;;IACD,IAAI;MACA,OAAO,IAAIK,IAAJ,CAASL,KAAT,CAAP;IACH,CAFD,CAEE,MAAM;MACJM,OAAO,CAACC,GAAR,CAAa,iDAAb;MACA,OAAOP,KAAP;IACH;EACJ,CAbqC;EActCQ,SAAS,EAAE,OAAO;IAAER,KAAF;IAASC;EAAT,CAAP,KAA4B;IACnC,MAAM;MAAEC;IAAF,IAAWD,KAAK,CAACE,QAAN,IAAkB,EAAnC;;IACA,IAAI,CAACH,KAAD,IAAU,CAACE,IAAX,IAAmBP,YAAY,CAACS,QAAb,CAAsBF,IAAtB,CAAvB,EAAoD;MAChD,OAAOF,KAAP;IACH;;IACD,IAAKA,KAAD,CAAeS,WAAnB,EAAgC;MAC5B,OAAQT,KAAD,CAAgBS,WAAhB,EAAP;IACH,CAFD,MAEO,IAAI,OAAOT,KAAP,KAAiB,QAArB,EAA+B;MAClC,OAAOA,KAAP;IACH;;IACD,MAAM,IAAIU,cAAJ,CAAgB,2CAAhB,EAA6D,kBAA7D,EAAiF;MACnFV,KADmF;MAEnFW,OAAO,EAAEV,KAAK,CAACU;IAFoE,CAAjF,CAAN;EAIH;AA5BqC,CAA3B,CAAf;;eA+Be,MAAM;EACjB,OAAOf,MAAP;AACH,C"}
1
+ {"version":3,"names":["excludeTypes","convertFromStorage","field","value","multipleValues","filter","v","map","Date","console","log","convertValueToStorage","toISOString","WebinyError","fieldId","storageId","createDateStorageTransformPlugin","StorageTransformPlugin","fieldType","fromStorage","type","settings","includes","toStorage"],"sources":["date.ts"],"sourcesContent":["/**\n * File is @internal\n */\nimport WebinyError from \"@webiny/error\";\nimport { StorageTransformPlugin } from \"@webiny/api-headless-cms\";\nimport { CmsModelField } from \"@webiny/api-headless-cms/types\";\n\nconst excludeTypes = [\"time\", \"dateTimeWithTimezone\"];\n\nconst convertFromStorage = (field: CmsModelField, value: string | string[]) => {\n try {\n if (field.multipleValues) {\n return ((value as string[]) || [])\n .filter(v => !!v)\n .map((v: string) => {\n return new Date(v);\n });\n }\n return new Date(value as string);\n } catch {\n console.log(`Could not transform from storage for field type`);\n return value;\n }\n};\n\nconst convertValueToStorage = (field: CmsModelField, value: any): any => {\n if ((value as any).toISOString) {\n return (value as Date).toISOString();\n } else if (typeof value === \"string\") {\n return value as string;\n }\n throw new WebinyError(\"Error converting value to a storage type.\", \"TO_STORAGE_ERROR\", {\n value: value,\n fieldId: field.fieldId,\n storageId: field.storageId\n });\n};\n\nexport const createDateStorageTransformPlugin = () => {\n return new StorageTransformPlugin({\n fieldType: \"datetime\",\n fromStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n }\n return convertFromStorage(field, value);\n },\n toStorage: async ({ value, field }) => {\n const { type } = field.settings || {};\n if (!value || !type || excludeTypes.includes(type)) {\n return value;\n }\n if (field.multipleValues) {\n const multipleValues = value as (string | Date | null | undefined)[];\n return (multipleValues || [])\n .filter(v => !!v)\n .map(v => {\n return convertValueToStorage(field, v);\n });\n }\n if ((value as any).toISOString) {\n return (value as Date).toISOString();\n } else if (typeof value === \"string\") {\n return value as string;\n }\n throw new WebinyError(\"Error converting value to a storage type.\", \"TO_STORAGE_ERROR\", {\n value,\n fieldId: field.fieldId,\n storageId: field.storageId\n });\n }\n });\n};\n"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAKA,MAAMA,YAAY,GAAG,CAAC,MAAD,EAAS,sBAAT,CAArB;;AAEA,MAAMC,kBAAkB,GAAG,CAACC,KAAD,EAAuBC,KAAvB,KAAoD;EAC3E,IAAI;IACA,IAAID,KAAK,CAACE,cAAV,EAA0B;MACtB,OAAO,CAAED,KAAD,IAAuB,EAAxB,EACFE,MADE,CACKC,CAAC,IAAI,CAAC,CAACA,CADZ,EAEFC,GAFE,CAEGD,CAAD,IAAe;QAChB,OAAO,IAAIE,IAAJ,CAASF,CAAT,CAAP;MACH,CAJE,CAAP;IAKH;;IACD,OAAO,IAAIE,IAAJ,CAASL,KAAT,CAAP;EACH,CATD,CASE,MAAM;IACJM,OAAO,CAACC,GAAR,CAAa,iDAAb;IACA,OAAOP,KAAP;EACH;AACJ,CAdD;;AAgBA,MAAMQ,qBAAqB,GAAG,CAACT,KAAD,EAAuBC,KAAvB,KAA2C;EACrE,IAAKA,KAAD,CAAeS,WAAnB,EAAgC;IAC5B,OAAQT,KAAD,CAAgBS,WAAhB,EAAP;EACH,CAFD,MAEO,IAAI,OAAOT,KAAP,KAAiB,QAArB,EAA+B;IAClC,OAAOA,KAAP;EACH;;EACD,MAAM,IAAIU,cAAJ,CAAgB,2CAAhB,EAA6D,kBAA7D,EAAiF;IACnFV,KAAK,EAAEA,KAD4E;IAEnFW,OAAO,EAAEZ,KAAK,CAACY,OAFoE;IAGnFC,SAAS,EAAEb,KAAK,CAACa;EAHkE,CAAjF,CAAN;AAKH,CAXD;;AAaO,MAAMC,gCAAgC,GAAG,MAAM;EAClD,OAAO,IAAIC,sCAAJ,CAA2B;IAC9BC,SAAS,EAAE,UADmB;IAE9BC,WAAW,EAAE,OAAO;MAAEhB,KAAF;MAASD;IAAT,CAAP,KAA4B;MACrC,MAAM;QAAEkB;MAAF,IAAWlB,KAAK,CAACmB,QAAN,IAAkB,EAAnC;;MACA,IAAI,CAAClB,KAAD,IAAU,CAACiB,IAAX,IAAmBpB,YAAY,CAACsB,QAAb,CAAsBF,IAAtB,CAAvB,EAAoD;QAChD,OAAOjB,KAAP;MACH;;MACD,OAAOF,kBAAkB,CAACC,KAAD,EAAQC,KAAR,CAAzB;IACH,CAR6B;IAS9BoB,SAAS,EAAE,OAAO;MAAEpB,KAAF;MAASD;IAAT,CAAP,KAA4B;MACnC,MAAM;QAAEkB;MAAF,IAAWlB,KAAK,CAACmB,QAAN,IAAkB,EAAnC;;MACA,IAAI,CAAClB,KAAD,IAAU,CAACiB,IAAX,IAAmBpB,YAAY,CAACsB,QAAb,CAAsBF,IAAtB,CAAvB,EAAoD;QAChD,OAAOjB,KAAP;MACH;;MACD,IAAID,KAAK,CAACE,cAAV,EAA0B;QACtB,MAAMA,cAAc,GAAGD,KAAvB;QACA,OAAO,CAACC,cAAc,IAAI,EAAnB,EACFC,MADE,CACKC,CAAC,IAAI,CAAC,CAACA,CADZ,EAEFC,GAFE,CAEED,CAAC,IAAI;UACN,OAAOK,qBAAqB,CAACT,KAAD,EAAQI,CAAR,CAA5B;QACH,CAJE,CAAP;MAKH;;MACD,IAAKH,KAAD,CAAeS,WAAnB,EAAgC;QAC5B,OAAQT,KAAD,CAAgBS,WAAhB,EAAP;MACH,CAFD,MAEO,IAAI,OAAOT,KAAP,KAAiB,QAArB,EAA+B;QAClC,OAAOA,KAAP;MACH;;MACD,MAAM,IAAIU,cAAJ,CAAgB,2CAAhB,EAA6D,kBAA7D,EAAiF;QACnFV,KADmF;QAEnFW,OAAO,EAAEZ,KAAK,CAACY,OAFoE;QAGnFC,SAAS,EAAEb,KAAK,CAACa;MAHkE,CAAjF,CAAN;IAKH;EAhC6B,CAA3B,CAAP;AAkCH,CAnCM"}
@@ -1,7 +1,10 @@
1
+ /**
2
+ * File is @internal
3
+ */
1
4
  import { StorageTransformPlugin } from "@webiny/api-headless-cms";
2
5
  export interface StorageValue {
3
6
  compression: string;
4
7
  value: string;
8
+ isArray?: boolean;
5
9
  }
6
- declare const _default: () => StorageTransformPlugin<string, StorageValue>;
7
- export default _default;
10
+ export declare const createLongTextStorageTransformPlugin: () => StorageTransformPlugin<string | string[], StorageValue>;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.createLongTextStorageTransformPlugin = void 0;
9
9
 
10
10
  var _error = _interopRequireDefault(require("@webiny/error"));
11
11
 
@@ -13,6 +13,9 @@ var _gzip = require("@webiny/utils/compression/gzip");
13
13
 
14
14
  var _apiHeadlessCms = require("@webiny/api-headless-cms");
15
15
 
16
+ /**
17
+ * File is @internal
18
+ */
16
19
  const GZIP = "gzip";
17
20
  const TO_STORAGE_ENCODING = "base64";
18
21
  const FROM_STORAGE_ENCODING = "utf8";
@@ -25,60 +28,74 @@ const convertToBuffer = value => {
25
28
  return value;
26
29
  };
27
30
 
28
- const plugin = new _apiHeadlessCms.StorageTransformPlugin({
29
- fieldType: "long-text",
30
- fromStorage: async ({
31
- field,
32
- value: storageValue
33
- }) => {
34
- const typeOf = typeof storageValue;
35
-
36
- if (!storageValue || typeOf === "string" || typeOf === "number") {
37
- return storageValue;
38
- } else if (typeof storageValue !== "object") {
39
- throw new _error.default(`LongText value received in "fromStorage" function is not an object in field "${field.fieldId}".`);
40
- }
31
+ const createLongTextStorageTransformPlugin = () => {
32
+ return new _apiHeadlessCms.StorageTransformPlugin({
33
+ fieldType: "long-text",
34
+ fromStorage: async ({
35
+ field,
36
+ value: storageValue
37
+ }) => {
38
+ const typeOf = typeof storageValue;
41
39
 
42
- const {
43
- compression,
44
- value
45
- } = storageValue;
46
- /**
47
- * Check if possibly undefined, null, empty...
48
- */
49
-
50
- if (!compression) {
51
- throw new _error.default(`Missing compression in "fromStorage" function in field "${field.fieldId}": ${JSON.stringify(storageValue)}.`, "MISSING_COMPRESSION", {
52
- value: storageValue
53
- });
54
- } else if (compression !== GZIP) {
55
- throw new _error.default(`This plugin cannot transform something not compressed with "GZIP".`, "WRONG_COMPRESSION", {
56
- compression
57
- });
58
- }
40
+ if (!storageValue || typeOf === "string" || typeOf === "number" || Array.isArray(storageValue) === true) {
41
+ return storageValue;
42
+ } else if (typeOf !== "object") {
43
+ throw new _error.default(`LongText value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
44
+ }
59
45
 
60
- try {
61
- const buf = await (0, _gzip.decompress)(convertToBuffer(value));
62
- return buf.toString(FROM_STORAGE_ENCODING);
63
- } catch (ex) {
64
- console.log("Error while transforming long-text.");
65
- console.log(ex.message);
66
- return "";
67
- }
68
- },
69
- toStorage: async ({
70
- value
71
- }) => {
72
- const compressedValue = await (0, _gzip.compress)(value);
73
- return {
74
- compression: GZIP,
75
- value: compressedValue.toString(TO_STORAGE_ENCODING)
76
- };
77
- }
78
- });
46
+ const {
47
+ compression,
48
+ value,
49
+ isArray
50
+ } = storageValue;
51
+ /**
52
+ * Check if possibly undefined, null, empty...
53
+ */
54
+
55
+ if (!compression) {
56
+ throw new _error.default(`Missing compression in "fromStorage" function in field "${field.storageId}" - ${field.fieldId}.": ${JSON.stringify(storageValue)}.`, "MISSING_COMPRESSION", {
57
+ value: storageValue
58
+ });
59
+ } else if (compression !== GZIP) {
60
+ throw new _error.default(`This plugin cannot transform something not compressed with "GZIP".`, "WRONG_COMPRESSION", {
61
+ compression
62
+ });
63
+ }
79
64
 
80
- var _default = () => {
81
- return plugin;
65
+ try {
66
+ const buf = await (0, _gzip.decompress)(convertToBuffer(value));
67
+ const result = buf.toString(FROM_STORAGE_ENCODING);
68
+
69
+ if (!isArray) {
70
+ return result;
71
+ }
72
+
73
+ return JSON.parse(result);
74
+ } catch (ex) {
75
+ console.log("Error while transforming long-text.");
76
+ console.log(ex.message);
77
+ return "";
78
+ }
79
+ },
80
+ toStorage: async ({
81
+ value: initialValue
82
+ }) => {
83
+ const isArray = Array.isArray(initialValue);
84
+ const value = isArray ? JSON.stringify(initialValue) : initialValue;
85
+ const compressedValue = await (0, _gzip.compress)(value);
86
+ const result = {
87
+ compression: GZIP,
88
+ value: compressedValue.toString(TO_STORAGE_ENCODING)
89
+ };
90
+
91
+ if (!isArray) {
92
+ return result;
93
+ }
94
+
95
+ result.isArray = isArray;
96
+ return result;
97
+ }
98
+ });
82
99
  };
83
100
 
84
- exports.default = _default;
101
+ exports.createLongTextStorageTransformPlugin = createLongTextStorageTransformPlugin;
@@ -1 +1 @@
1
- {"version":3,"names":["GZIP","TO_STORAGE_ENCODING","FROM_STORAGE_ENCODING","convertToBuffer","value","Buffer","from","plugin","StorageTransformPlugin","fieldType","fromStorage","field","storageValue","typeOf","WebinyError","fieldId","compression","JSON","stringify","buf","ungzip","toString","ex","console","log","message","toStorage","compressedValue","gzip"],"sources":["longText.ts"],"sourcesContent":["import WebinyError from \"@webiny/error\";\nimport { compress as gzip, decompress as ungzip } from \"@webiny/utils/compression/gzip\";\nimport { StorageTransformPlugin } from \"@webiny/api-headless-cms\";\n\nconst GZIP = \"gzip\";\nconst TO_STORAGE_ENCODING = \"base64\";\nconst FROM_STORAGE_ENCODING = \"utf8\";\n\nconst convertToBuffer = (value: string | Buffer): Buffer => {\n if (typeof value === \"string\") {\n return Buffer.from(value, TO_STORAGE_ENCODING);\n }\n return value;\n};\n\nexport interface StorageValue {\n compression: string;\n value: string;\n}\n\nconst plugin = new StorageTransformPlugin<string, StorageValue>({\n fieldType: \"long-text\",\n fromStorage: async ({ field, value: storageValue }) => {\n const typeOf = typeof storageValue;\n if (!storageValue || typeOf === \"string\" || typeOf === \"number\") {\n return storageValue as unknown as string;\n } else if (typeof storageValue !== \"object\") {\n throw new WebinyError(\n `LongText value received in \"fromStorage\" function is not an object in field \"${field.fieldId}\".`\n );\n }\n const { compression, value } = storageValue;\n /**\n * Check if possibly undefined, null, empty...\n */\n if (!compression) {\n throw new WebinyError(\n `Missing compression in \"fromStorage\" function in field \"${\n field.fieldId\n }\": ${JSON.stringify(storageValue)}.`,\n \"MISSING_COMPRESSION\",\n {\n value: storageValue\n }\n );\n } else if (compression !== GZIP) {\n throw new WebinyError(\n `This plugin cannot transform something not compressed with \"GZIP\".`,\n \"WRONG_COMPRESSION\",\n {\n compression\n }\n );\n }\n try {\n const buf = await ungzip(convertToBuffer(value));\n return buf.toString(FROM_STORAGE_ENCODING);\n } catch (ex) {\n console.log(\"Error while transforming long-text.\");\n console.log(ex.message);\n return \"\";\n }\n },\n toStorage: async ({ value }) => {\n const compressedValue = await gzip(value);\n\n return {\n compression: GZIP,\n value: compressedValue.toString(TO_STORAGE_ENCODING)\n };\n }\n});\n\nexport default () => {\n return plugin;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,MAAMA,IAAI,GAAG,MAAb;AACA,MAAMC,mBAAmB,GAAG,QAA5B;AACA,MAAMC,qBAAqB,GAAG,MAA9B;;AAEA,MAAMC,eAAe,GAAIC,KAAD,IAAoC;EACxD,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3B,OAAOC,MAAM,CAACC,IAAP,CAAYF,KAAZ,EAAmBH,mBAAnB,CAAP;EACH;;EACD,OAAOG,KAAP;AACH,CALD;;AAYA,MAAMG,MAAM,GAAG,IAAIC,sCAAJ,CAAiD;EAC5DC,SAAS,EAAE,WADiD;EAE5DC,WAAW,EAAE,OAAO;IAAEC,KAAF;IAASP,KAAK,EAAEQ;EAAhB,CAAP,KAA0C;IACnD,MAAMC,MAAM,GAAG,OAAOD,YAAtB;;IACA,IAAI,CAACA,YAAD,IAAiBC,MAAM,KAAK,QAA5B,IAAwCA,MAAM,KAAK,QAAvD,EAAiE;MAC7D,OAAOD,YAAP;IACH,CAFD,MAEO,IAAI,OAAOA,YAAP,KAAwB,QAA5B,EAAsC;MACzC,MAAM,IAAIE,cAAJ,CACD,gFAA+EH,KAAK,CAACI,OAAQ,IAD5F,CAAN;IAGH;;IACD,MAAM;MAAEC,WAAF;MAAeZ;IAAf,IAAyBQ,YAA/B;IACA;AACR;AACA;;IACQ,IAAI,CAACI,WAAL,EAAkB;MACd,MAAM,IAAIF,cAAJ,CACD,2DACGH,KAAK,CAACI,OACT,MAAKE,IAAI,CAACC,SAAL,CAAeN,YAAf,CAA6B,GAHjC,EAIF,qBAJE,EAKF;QACIR,KAAK,EAAEQ;MADX,CALE,CAAN;IASH,CAVD,MAUO,IAAII,WAAW,KAAKhB,IAApB,EAA0B;MAC7B,MAAM,IAAIc,cAAJ,CACD,oEADC,EAEF,mBAFE,EAGF;QACIE;MADJ,CAHE,CAAN;IAOH;;IACD,IAAI;MACA,MAAMG,GAAG,GAAG,MAAM,IAAAC,gBAAA,EAAOjB,eAAe,CAACC,KAAD,CAAtB,CAAlB;MACA,OAAOe,GAAG,CAACE,QAAJ,CAAanB,qBAAb,CAAP;IACH,CAHD,CAGE,OAAOoB,EAAP,EAAW;MACTC,OAAO,CAACC,GAAR,CAAY,qCAAZ;MACAD,OAAO,CAACC,GAAR,CAAYF,EAAE,CAACG,OAAf;MACA,OAAO,EAAP;IACH;EACJ,CA1C2D;EA2C5DC,SAAS,EAAE,OAAO;IAAEtB;EAAF,CAAP,KAAqB;IAC5B,MAAMuB,eAAe,GAAG,MAAM,IAAAC,cAAA,EAAKxB,KAAL,CAA9B;IAEA,OAAO;MACHY,WAAW,EAAEhB,IADV;MAEHI,KAAK,EAAEuB,eAAe,CAACN,QAAhB,CAAyBpB,mBAAzB;IAFJ,CAAP;EAIH;AAlD2D,CAAjD,CAAf;;eAqDe,MAAM;EACjB,OAAOM,MAAP;AACH,C"}
1
+ {"version":3,"names":["GZIP","TO_STORAGE_ENCODING","FROM_STORAGE_ENCODING","convertToBuffer","value","Buffer","from","createLongTextStorageTransformPlugin","StorageTransformPlugin","fieldType","fromStorage","field","storageValue","typeOf","Array","isArray","WebinyError","storageId","fieldId","compression","JSON","stringify","buf","ungzip","result","toString","parse","ex","console","log","message","toStorage","initialValue","compressedValue","gzip"],"sources":["longText.ts"],"sourcesContent":["/**\n * File is @internal\n */\n\nimport WebinyError from \"@webiny/error\";\nimport { compress as gzip, decompress as ungzip } from \"@webiny/utils/compression/gzip\";\nimport { StorageTransformPlugin } from \"@webiny/api-headless-cms\";\n\nconst GZIP = \"gzip\";\nconst TO_STORAGE_ENCODING = \"base64\";\nconst FROM_STORAGE_ENCODING = \"utf8\";\n\nconst convertToBuffer = (value: string | Buffer): Buffer => {\n if (typeof value === \"string\") {\n return Buffer.from(value, TO_STORAGE_ENCODING);\n }\n return value;\n};\n\nexport interface StorageValue {\n compression: string;\n value: string;\n isArray?: boolean;\n}\n\nexport const createLongTextStorageTransformPlugin = () => {\n return new StorageTransformPlugin<string | string[], StorageValue>({\n fieldType: \"long-text\",\n fromStorage: async ({ field, value: storageValue }) => {\n const typeOf = typeof storageValue;\n if (\n !storageValue ||\n typeOf === \"string\" ||\n typeOf === \"number\" ||\n Array.isArray(storageValue) === true\n ) {\n return storageValue as unknown as string | string[];\n } else if (typeOf !== \"object\") {\n throw new WebinyError(\n `LongText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n const { compression, value, isArray } = storageValue;\n /**\n * Check if possibly undefined, null, empty...\n */\n if (!compression) {\n throw new WebinyError(\n `Missing compression in \"fromStorage\" function in field \"${\n field.storageId\n }\" - ${field.fieldId}.\": ${JSON.stringify(storageValue)}.`,\n \"MISSING_COMPRESSION\",\n {\n value: storageValue\n }\n );\n } else if (compression !== GZIP) {\n throw new WebinyError(\n `This plugin cannot transform something not compressed with \"GZIP\".`,\n \"WRONG_COMPRESSION\",\n {\n compression\n }\n );\n }\n try {\n const buf = await ungzip(convertToBuffer(value));\n const result = buf.toString(FROM_STORAGE_ENCODING);\n if (!isArray) {\n return result;\n }\n return JSON.parse(result);\n } catch (ex) {\n console.log(\"Error while transforming long-text.\");\n console.log(ex.message);\n return \"\";\n }\n },\n toStorage: async ({ value: initialValue }) => {\n const isArray = Array.isArray(initialValue);\n const value = isArray ? JSON.stringify(initialValue) : initialValue;\n const compressedValue = await gzip(value);\n\n const result: StorageValue = {\n compression: GZIP,\n value: compressedValue.toString(TO_STORAGE_ENCODING)\n };\n if (!isArray) {\n return result;\n }\n result.isArray = isArray;\n return result;\n }\n });\n};\n"],"mappings":";;;;;;;;;AAIA;;AACA;;AACA;;AANA;AACA;AACA;AAMA,MAAMA,IAAI,GAAG,MAAb;AACA,MAAMC,mBAAmB,GAAG,QAA5B;AACA,MAAMC,qBAAqB,GAAG,MAA9B;;AAEA,MAAMC,eAAe,GAAIC,KAAD,IAAoC;EACxD,IAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;IAC3B,OAAOC,MAAM,CAACC,IAAP,CAAYF,KAAZ,EAAmBH,mBAAnB,CAAP;EACH;;EACD,OAAOG,KAAP;AACH,CALD;;AAaO,MAAMG,oCAAoC,GAAG,MAAM;EACtD,OAAO,IAAIC,sCAAJ,CAA4D;IAC/DC,SAAS,EAAE,WADoD;IAE/DC,WAAW,EAAE,OAAO;MAAEC,KAAF;MAASP,KAAK,EAAEQ;IAAhB,CAAP,KAA0C;MACnD,MAAMC,MAAM,GAAG,OAAOD,YAAtB;;MACA,IACI,CAACA,YAAD,IACAC,MAAM,KAAK,QADX,IAEAA,MAAM,KAAK,QAFX,IAGAC,KAAK,CAACC,OAAN,CAAcH,YAAd,MAAgC,IAJpC,EAKE;QACE,OAAOA,YAAP;MACH,CAPD,MAOO,IAAIC,MAAM,KAAK,QAAf,EAAyB;QAC5B,MAAM,IAAIG,cAAJ,CACD,gFAA+EL,KAAK,CAACM,SAAU,OAAMN,KAAK,CAACO,OAAQ,GADlH,CAAN;MAGH;;MACD,MAAM;QAAEC,WAAF;QAAef,KAAf;QAAsBW;MAAtB,IAAkCH,YAAxC;MACA;AACZ;AACA;;MACY,IAAI,CAACO,WAAL,EAAkB;QACd,MAAM,IAAIH,cAAJ,CACD,2DACGL,KAAK,CAACM,SACT,OAAMN,KAAK,CAACO,OAAQ,OAAME,IAAI,CAACC,SAAL,CAAeT,YAAf,CAA6B,GAHtD,EAIF,qBAJE,EAKF;UACIR,KAAK,EAAEQ;QADX,CALE,CAAN;MASH,CAVD,MAUO,IAAIO,WAAW,KAAKnB,IAApB,EAA0B;QAC7B,MAAM,IAAIgB,cAAJ,CACD,oEADC,EAEF,mBAFE,EAGF;UACIG;QADJ,CAHE,CAAN;MAOH;;MACD,IAAI;QACA,MAAMG,GAAG,GAAG,MAAM,IAAAC,gBAAA,EAAOpB,eAAe,CAACC,KAAD,CAAtB,CAAlB;QACA,MAAMoB,MAAM,GAAGF,GAAG,CAACG,QAAJ,CAAavB,qBAAb,CAAf;;QACA,IAAI,CAACa,OAAL,EAAc;UACV,OAAOS,MAAP;QACH;;QACD,OAAOJ,IAAI,CAACM,KAAL,CAAWF,MAAX,CAAP;MACH,CAPD,CAOE,OAAOG,EAAP,EAAW;QACTC,OAAO,CAACC,GAAR,CAAY,qCAAZ;QACAD,OAAO,CAACC,GAAR,CAAYF,EAAE,CAACG,OAAf;QACA,OAAO,EAAP;MACH;IACJ,CAnD8D;IAoD/DC,SAAS,EAAE,OAAO;MAAE3B,KAAK,EAAE4B;IAAT,CAAP,KAAmC;MAC1C,MAAMjB,OAAO,GAAGD,KAAK,CAACC,OAAN,CAAciB,YAAd,CAAhB;MACA,MAAM5B,KAAK,GAAGW,OAAO,GAAGK,IAAI,CAACC,SAAL,CAAeW,YAAf,CAAH,GAAkCA,YAAvD;MACA,MAAMC,eAAe,GAAG,MAAM,IAAAC,cAAA,EAAK9B,KAAL,CAA9B;MAEA,MAAMoB,MAAoB,GAAG;QACzBL,WAAW,EAAEnB,IADY;QAEzBI,KAAK,EAAE6B,eAAe,CAACR,QAAhB,CAAyBxB,mBAAzB;MAFkB,CAA7B;;MAIA,IAAI,CAACc,OAAL,EAAc;QACV,OAAOS,MAAP;MACH;;MACDA,MAAM,CAACT,OAAP,GAAiBA,OAAjB;MACA,OAAOS,MAAP;IACH;EAlE8D,CAA5D,CAAP;AAoEH,CArEM"}
@@ -1,3 +1,2 @@
1
1
  import { StorageTransformPlugin } from "@webiny/api-headless-cms";
2
- declare const _default: () => StorageTransformPlugin<any, any>;
3
- export default _default;
2
+ export declare const createRichTextStorageTransformPlugin: () => StorageTransformPlugin<any, any>;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = void 0;
8
+ exports.createRichTextStorageTransformPlugin = void 0;
9
9
 
10
10
  var _jsonpack = _interopRequireDefault(require("jsonpack"));
11
11
 
@@ -13,6 +13,10 @@ var _error = _interopRequireDefault(require("@webiny/error"));
13
13
 
14
14
  var _apiHeadlessCms = require("@webiny/api-headless-cms");
15
15
 
16
+ /**
17
+ * File is @internal
18
+ */
19
+
16
20
  /**
17
21
  * Remove when jsonpack gets PR with a fix merged
18
22
  * https://github.com/rgcl/jsonpack/pull/25/files
@@ -41,71 +45,69 @@ const transformArray = value => {
41
45
  return value;
42
46
  };
43
47
 
44
- const plugin = new _apiHeadlessCms.StorageTransformPlugin({
45
- fieldType: "rich-text",
46
- fromStorage: async ({
47
- field,
48
- value: storageValue
49
- }) => {
50
- if (!storageValue) {
51
- return storageValue;
52
- } else if (typeof storageValue !== "object") {
53
- throw new _error.default(`RichText value received in "fromStorage" function is not an object in field "${field.fieldId}".`);
54
- }
55
- /**
56
- * This is to circumvent a bug introduced with 5.8.0 storage operations.
57
- * Do not remove.
58
- */
59
-
60
-
61
- if (storageValue.hasOwnProperty("compression") === false) {
62
- return storageValue;
63
- }
64
-
65
- const {
66
- compression,
48
+ const createRichTextStorageTransformPlugin = () => {
49
+ return new _apiHeadlessCms.StorageTransformPlugin({
50
+ fieldType: "rich-text",
51
+ fromStorage: async ({
52
+ field,
53
+ value: storageValue
54
+ }) => {
55
+ if (!storageValue) {
56
+ return storageValue;
57
+ } else if (typeof storageValue !== "object") {
58
+ throw new _error.default(`RichText value received in "fromStorage" function is not an object in field "${field.storageId}" - ${field.fieldId}.`);
59
+ }
60
+ /**
61
+ * This is to circumvent a bug introduced with 5.8.0 storage operations.
62
+ * Do not remove.
63
+ */
64
+
65
+
66
+ if (storageValue.hasOwnProperty("compression") === false) {
67
+ return storageValue;
68
+ }
69
+
70
+ const {
71
+ compression,
72
+ value
73
+ } = storageValue;
74
+
75
+ if (!compression) {
76
+ throw new _error.default(`Missing compression in "fromStorage" function in field "${field.fieldId}": ${JSON.stringify(storageValue)}.`, "MISSING_COMPRESSION", {
77
+ value: storageValue
78
+ });
79
+ }
80
+
81
+ if (compression !== "jsonpack") {
82
+ throw new _error.default(`This plugin cannot transform something not packed with "jsonpack".`, "WRONG_COMPRESSION", {
83
+ compression
84
+ });
85
+ }
86
+
87
+ try {
88
+ return _jsonpack.default.unpack(value);
89
+ } catch {
90
+ return null;
91
+ }
92
+ },
93
+ toStorage: async ({
67
94
  value
68
- } = storageValue;
69
-
70
- if (!compression) {
71
- throw new _error.default(`Missing compression in "fromStorage" function in field "${field.fieldId}": ${JSON.stringify(storageValue)}.`, "MISSING_COMPRESSION", {
72
- value: storageValue
73
- });
95
+ }) => {
96
+ /**
97
+ * There is a possibility that we are trying to compress already compressed value.
98
+ * Introduced a bug with 5.8.0 storage operations, so just return the value to correct it.
99
+ */
100
+ if (value && value.hasOwnProperty("compression") === true) {
101
+ return value;
102
+ }
103
+
104
+ value = transformArray(value);
105
+ return {
106
+ compression: "jsonpack",
107
+ value: value ? _jsonpack.default.pack(value) : value
108
+ };
74
109
  }
75
-
76
- if (compression !== "jsonpack") {
77
- throw new _error.default(`This plugin cannot transform something not packed with "jsonpack".`, "WRONG_COMPRESSION", {
78
- compression
79
- });
80
- }
81
-
82
- try {
83
- return _jsonpack.default.unpack(value);
84
- } catch {
85
- return null;
86
- }
87
- },
88
- toStorage: async ({
89
- value
90
- }) => {
91
- /**
92
- * There is a possibility that we are trying to compress already compressed value.
93
- * Introduced a bug with 5.8.0 storage operations, so just return the value to correct it.
94
- */
95
- if (value && value.hasOwnProperty("compression") === true) {
96
- return value;
97
- }
98
-
99
- value = transformArray(value);
100
- return {
101
- compression: "jsonpack",
102
- value: value ? _jsonpack.default.pack(value) : value
103
- };
104
- }
105
- });
106
-
107
- var _default = () => {
108
- return plugin;
110
+ });
109
111
  };
110
112
 
111
- exports.default = _default;
113
+ exports.createRichTextStorageTransformPlugin = createRichTextStorageTransformPlugin;
@@ -1 +1 @@
1
- {"version":3,"names":["transformArray","value","isArray","Array","shouldBeArray","from","k","plugin","StorageTransformPlugin","fieldType","fromStorage","field","storageValue","WebinyError","fieldId","hasOwnProperty","compression","JSON","stringify","jsonpack","unpack","toStorage","pack"],"sources":["richText.ts"],"sourcesContent":["import jsonpack from \"jsonpack\";\nimport WebinyError from \"@webiny/error\";\nimport { StorageTransformPlugin } from \"@webiny/api-headless-cms\";\n\n/**\n * Remove when jsonpack gets PR with a fix merged\n * https://github.com/rgcl/jsonpack/pull/25/files\n * NOTE 2021-07-28: it seems PR is not going to be merged so keep this.\n */\n// TODO @ts-refactor figure better type\nconst transformArray = (value: any) => {\n if (!value) {\n return value;\n }\n let isArray = Array.isArray(value);\n const shouldBeArray = value instanceof Array === false && isArray;\n if (shouldBeArray) {\n value = Array.from(value as any);\n isArray = true;\n }\n if (typeof value === \"object\" || isArray) {\n for (const k in value) {\n value[k] = transformArray(value[k]);\n }\n }\n return value;\n};\n\nconst plugin = new StorageTransformPlugin({\n fieldType: \"rich-text\",\n fromStorage: async ({ field, value: storageValue }) => {\n if (!storageValue) {\n return storageValue;\n } else if (typeof storageValue !== \"object\") {\n throw new WebinyError(\n `RichText value received in \"fromStorage\" function is not an object in field \"${field.fieldId}\".`\n );\n }\n /**\n * This is to circumvent a bug introduced with 5.8.0 storage operations.\n * Do not remove.\n */\n if (storageValue.hasOwnProperty(\"compression\") === false) {\n return storageValue;\n }\n const { compression, value } = storageValue;\n if (!compression) {\n throw new WebinyError(\n `Missing compression in \"fromStorage\" function in field \"${\n field.fieldId\n }\": ${JSON.stringify(storageValue)}.`,\n \"MISSING_COMPRESSION\",\n {\n value: storageValue\n }\n );\n }\n if (compression !== \"jsonpack\") {\n throw new WebinyError(\n `This plugin cannot transform something not packed with \"jsonpack\".`,\n \"WRONG_COMPRESSION\",\n {\n compression\n }\n );\n }\n try {\n return jsonpack.unpack(value);\n } catch {\n return null;\n }\n },\n toStorage: async ({ value }) => {\n /**\n * There is a possibility that we are trying to compress already compressed value.\n * Introduced a bug with 5.8.0 storage operations, so just return the value to correct it.\n */\n if (value && value.hasOwnProperty(\"compression\") === true) {\n return value as any;\n }\n value = transformArray(value);\n return {\n compression: \"jsonpack\",\n value: value ? jsonpack.pack(value) : value\n };\n }\n});\n\nexport default () => {\n return plugin;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAIC,KAAD,IAAgB;EACnC,IAAI,CAACA,KAAL,EAAY;IACR,OAAOA,KAAP;EACH;;EACD,IAAIC,OAAO,GAAGC,KAAK,CAACD,OAAN,CAAcD,KAAd,CAAd;EACA,MAAMG,aAAa,GAAGH,KAAK,YAAYE,KAAjB,KAA2B,KAA3B,IAAoCD,OAA1D;;EACA,IAAIE,aAAJ,EAAmB;IACfH,KAAK,GAAGE,KAAK,CAACE,IAAN,CAAWJ,KAAX,CAAR;IACAC,OAAO,GAAG,IAAV;EACH;;EACD,IAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6BC,OAAjC,EAA0C;IACtC,KAAK,MAAMI,CAAX,IAAgBL,KAAhB,EAAuB;MACnBA,KAAK,CAACK,CAAD,CAAL,GAAWN,cAAc,CAACC,KAAK,CAACK,CAAD,CAAN,CAAzB;IACH;EACJ;;EACD,OAAOL,KAAP;AACH,CAhBD;;AAkBA,MAAMM,MAAM,GAAG,IAAIC,sCAAJ,CAA2B;EACtCC,SAAS,EAAE,WAD2B;EAEtCC,WAAW,EAAE,OAAO;IAAEC,KAAF;IAASV,KAAK,EAAEW;EAAhB,CAAP,KAA0C;IACnD,IAAI,CAACA,YAAL,EAAmB;MACf,OAAOA,YAAP;IACH,CAFD,MAEO,IAAI,OAAOA,YAAP,KAAwB,QAA5B,EAAsC;MACzC,MAAM,IAAIC,cAAJ,CACD,gFAA+EF,KAAK,CAACG,OAAQ,IAD5F,CAAN;IAGH;IACD;AACR;AACA;AACA;;;IACQ,IAAIF,YAAY,CAACG,cAAb,CAA4B,aAA5B,MAA+C,KAAnD,EAA0D;MACtD,OAAOH,YAAP;IACH;;IACD,MAAM;MAAEI,WAAF;MAAef;IAAf,IAAyBW,YAA/B;;IACA,IAAI,CAACI,WAAL,EAAkB;MACd,MAAM,IAAIH,cAAJ,CACD,2DACGF,KAAK,CAACG,OACT,MAAKG,IAAI,CAACC,SAAL,CAAeN,YAAf,CAA6B,GAHjC,EAIF,qBAJE,EAKF;QACIX,KAAK,EAAEW;MADX,CALE,CAAN;IASH;;IACD,IAAII,WAAW,KAAK,UAApB,EAAgC;MAC5B,MAAM,IAAIH,cAAJ,CACD,oEADC,EAEF,mBAFE,EAGF;QACIG;MADJ,CAHE,CAAN;IAOH;;IACD,IAAI;MACA,OAAOG,iBAAA,CAASC,MAAT,CAAgBnB,KAAhB,CAAP;IACH,CAFD,CAEE,MAAM;MACJ,OAAO,IAAP;IACH;EACJ,CA3CqC;EA4CtCoB,SAAS,EAAE,OAAO;IAAEpB;EAAF,CAAP,KAAqB;IAC5B;AACR;AACA;AACA;IACQ,IAAIA,KAAK,IAAIA,KAAK,CAACc,cAAN,CAAqB,aAArB,MAAwC,IAArD,EAA2D;MACvD,OAAOd,KAAP;IACH;;IACDA,KAAK,GAAGD,cAAc,CAACC,KAAD,CAAtB;IACA,OAAO;MACHe,WAAW,EAAE,UADV;MAEHf,KAAK,EAAEA,KAAK,GAAGkB,iBAAA,CAASG,IAAT,CAAcrB,KAAd,CAAH,GAA0BA;IAFnC,CAAP;EAIH;AAzDqC,CAA3B,CAAf;;eA4De,MAAM;EACjB,OAAOM,MAAP;AACH,C"}
1
+ {"version":3,"names":["transformArray","value","isArray","Array","shouldBeArray","from","k","createRichTextStorageTransformPlugin","StorageTransformPlugin","fieldType","fromStorage","field","storageValue","WebinyError","storageId","fieldId","hasOwnProperty","compression","JSON","stringify","jsonpack","unpack","toStorage","pack"],"sources":["richText.ts"],"sourcesContent":["/**\n * File is @internal\n */\nimport jsonpack from \"jsonpack\";\nimport WebinyError from \"@webiny/error\";\nimport { StorageTransformPlugin } from \"@webiny/api-headless-cms\";\n\n/**\n * Remove when jsonpack gets PR with a fix merged\n * https://github.com/rgcl/jsonpack/pull/25/files\n * NOTE 2021-07-28: it seems PR is not going to be merged so keep this.\n */\n// TODO @ts-refactor figure better type\nconst transformArray = (value: any) => {\n if (!value) {\n return value;\n }\n let isArray = Array.isArray(value);\n const shouldBeArray = value instanceof Array === false && isArray;\n if (shouldBeArray) {\n value = Array.from(value as any);\n isArray = true;\n }\n if (typeof value === \"object\" || isArray) {\n for (const k in value) {\n value[k] = transformArray(value[k]);\n }\n }\n return value;\n};\n\nexport const createRichTextStorageTransformPlugin = () => {\n return new StorageTransformPlugin({\n fieldType: \"rich-text\",\n fromStorage: async ({ field, value: storageValue }) => {\n if (!storageValue) {\n return storageValue;\n } else if (typeof storageValue !== \"object\") {\n throw new WebinyError(\n `RichText value received in \"fromStorage\" function is not an object in field \"${field.storageId}\" - ${field.fieldId}.`\n );\n }\n /**\n * This is to circumvent a bug introduced with 5.8.0 storage operations.\n * Do not remove.\n */\n if (storageValue.hasOwnProperty(\"compression\") === false) {\n return storageValue;\n }\n const { compression, value } = storageValue;\n if (!compression) {\n throw new WebinyError(\n `Missing compression in \"fromStorage\" function in field \"${\n field.fieldId\n }\": ${JSON.stringify(storageValue)}.`,\n \"MISSING_COMPRESSION\",\n {\n value: storageValue\n }\n );\n }\n if (compression !== \"jsonpack\") {\n throw new WebinyError(\n `This plugin cannot transform something not packed with \"jsonpack\".`,\n \"WRONG_COMPRESSION\",\n {\n compression\n }\n );\n }\n try {\n return jsonpack.unpack(value);\n } catch {\n return null;\n }\n },\n toStorage: async ({ value }) => {\n /**\n * There is a possibility that we are trying to compress already compressed value.\n * Introduced a bug with 5.8.0 storage operations, so just return the value to correct it.\n */\n if (value && value.hasOwnProperty(\"compression\") === true) {\n return value as any;\n }\n value = transformArray(value);\n return {\n compression: \"jsonpack\",\n value: value ? jsonpack.pack(value) : value\n };\n }\n });\n};\n"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,cAAc,GAAIC,KAAD,IAAgB;EACnC,IAAI,CAACA,KAAL,EAAY;IACR,OAAOA,KAAP;EACH;;EACD,IAAIC,OAAO,GAAGC,KAAK,CAACD,OAAN,CAAcD,KAAd,CAAd;EACA,MAAMG,aAAa,GAAGH,KAAK,YAAYE,KAAjB,KAA2B,KAA3B,IAAoCD,OAA1D;;EACA,IAAIE,aAAJ,EAAmB;IACfH,KAAK,GAAGE,KAAK,CAACE,IAAN,CAAWJ,KAAX,CAAR;IACAC,OAAO,GAAG,IAAV;EACH;;EACD,IAAI,OAAOD,KAAP,KAAiB,QAAjB,IAA6BC,OAAjC,EAA0C;IACtC,KAAK,MAAMI,CAAX,IAAgBL,KAAhB,EAAuB;MACnBA,KAAK,CAACK,CAAD,CAAL,GAAWN,cAAc,CAACC,KAAK,CAACK,CAAD,CAAN,CAAzB;IACH;EACJ;;EACD,OAAOL,KAAP;AACH,CAhBD;;AAkBO,MAAMM,oCAAoC,GAAG,MAAM;EACtD,OAAO,IAAIC,sCAAJ,CAA2B;IAC9BC,SAAS,EAAE,WADmB;IAE9BC,WAAW,EAAE,OAAO;MAAEC,KAAF;MAASV,KAAK,EAAEW;IAAhB,CAAP,KAA0C;MACnD,IAAI,CAACA,YAAL,EAAmB;QACf,OAAOA,YAAP;MACH,CAFD,MAEO,IAAI,OAAOA,YAAP,KAAwB,QAA5B,EAAsC;QACzC,MAAM,IAAIC,cAAJ,CACD,gFAA+EF,KAAK,CAACG,SAAU,OAAMH,KAAK,CAACI,OAAQ,GADlH,CAAN;MAGH;MACD;AACZ;AACA;AACA;;;MACY,IAAIH,YAAY,CAACI,cAAb,CAA4B,aAA5B,MAA+C,KAAnD,EAA0D;QACtD,OAAOJ,YAAP;MACH;;MACD,MAAM;QAAEK,WAAF;QAAehB;MAAf,IAAyBW,YAA/B;;MACA,IAAI,CAACK,WAAL,EAAkB;QACd,MAAM,IAAIJ,cAAJ,CACD,2DACGF,KAAK,CAACI,OACT,MAAKG,IAAI,CAACC,SAAL,CAAeP,YAAf,CAA6B,GAHjC,EAIF,qBAJE,EAKF;UACIX,KAAK,EAAEW;QADX,CALE,CAAN;MASH;;MACD,IAAIK,WAAW,KAAK,UAApB,EAAgC;QAC5B,MAAM,IAAIJ,cAAJ,CACD,oEADC,EAEF,mBAFE,EAGF;UACII;QADJ,CAHE,CAAN;MAOH;;MACD,IAAI;QACA,OAAOG,iBAAA,CAASC,MAAT,CAAgBpB,KAAhB,CAAP;MACH,CAFD,CAEE,MAAM;QACJ,OAAO,IAAP;MACH;IACJ,CA3C6B;IA4C9BqB,SAAS,EAAE,OAAO;MAAErB;IAAF,CAAP,KAAqB;MAC5B;AACZ;AACA;AACA;MACY,IAAIA,KAAK,IAAIA,KAAK,CAACe,cAAN,CAAqB,aAArB,MAAwC,IAArD,EAA2D;QACvD,OAAOf,KAAP;MACH;;MACDA,KAAK,GAAGD,cAAc,CAACC,KAAD,CAAtB;MACA,OAAO;QACHgB,WAAW,EAAE,UADV;QAEHhB,KAAK,EAAEA,KAAK,GAAGmB,iBAAA,CAASG,IAAT,CAActB,KAAd,CAAH,GAA0BA;MAFnC,CAAP;IAIH;EAzD6B,CAA3B,CAAP;AA2DH,CA5DM"}
@@ -1,3 +1,5 @@
1
+ /**
2
+ * File is @internal
3
+ */
1
4
  import { CmsFieldFilterValueTransformPlugin } from "../../types";
2
- declare const _default: () => CmsFieldFilterValueTransformPlugin;
3
- export default _default;
5
+ export declare const createDatetimeTransformValuePlugin: () => CmsFieldFilterValueTransformPlugin;