@bigbinary/neeto-commons-frontend 4.0.2 → 4.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.
- package/cjs/utils/buildNestedAttributesPayload.js +41 -0
- package/cjs/utils/buildNestedAttributesPayload.js.map +1 -0
- package/cjs/utils/index.js +11 -0
- package/cjs/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/utils/buildNestedAttributesPayload.js +33 -0
- package/utils/buildNestedAttributesPayload.js.map +1 -0
- package/utils/index.js +1 -0
- package/utils/index.js.map +1 -1
- package/utils.d.ts +54 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.buildNestedAttributesPayload = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _neetoCist = require("@bigbinary/neeto-cist");
|
|
11
|
+
var _ramda = require("ramda");
|
|
12
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14
|
+
var buildNestedAttributesPayload = function buildNestedAttributesPayload(_ref) {
|
|
15
|
+
var modifiedValues = _ref.modifiedValues,
|
|
16
|
+
initialValues = _ref.initialValues,
|
|
17
|
+
nestedKeyToModify = _ref.nestedKeyToModify,
|
|
18
|
+
nestedAttributeKeyInPayload = _ref.nestedAttributeKeyInPayload,
|
|
19
|
+
nestedAttributesForArrayKey = _ref.nestedAttributesForArrayKey;
|
|
20
|
+
var itemsToDestroy = initialValues[nestedKeyToModify].filter(function (initialItem) {
|
|
21
|
+
return (0, _neetoCist.isNotPresent)((0, _neetoCist.findBy)({
|
|
22
|
+
value: initialItem[nestedAttributeKeyInPayload]
|
|
23
|
+
}, modifiedValues[nestedKeyToModify]));
|
|
24
|
+
});
|
|
25
|
+
var itemsToDestroyAttrs = itemsToDestroy.map(function (item) {
|
|
26
|
+
var _ref2;
|
|
27
|
+
return _ref2 = {
|
|
28
|
+
id: item.id
|
|
29
|
+
}, (0, _defineProperty2["default"])(_ref2, nestedAttributeKeyInPayload, item[nestedAttributeKeyInPayload]), (0, _defineProperty2["default"])(_ref2, "_destroy", true), _ref2;
|
|
30
|
+
});
|
|
31
|
+
var itemsToBeCreated = modifiedValues[nestedKeyToModify].filter(function (modifiedItem) {
|
|
32
|
+
return (0, _neetoCist.isNotPresent)((0, _neetoCist.findBy)((0, _defineProperty2["default"])({}, nestedAttributeKeyInPayload, modifiedItem.value.toLowerCase()), initialValues[nestedKeyToModify]));
|
|
33
|
+
});
|
|
34
|
+
var itemsToCreateAttrs = itemsToBeCreated.map(function (item) {
|
|
35
|
+
return (0, _defineProperty2["default"])({}, nestedAttributeKeyInPayload, item.value);
|
|
36
|
+
});
|
|
37
|
+
var nestedAttributes = [].concat((0, _toConsumableArray2["default"])(itemsToCreateAttrs), (0, _toConsumableArray2["default"])(itemsToDestroyAttrs));
|
|
38
|
+
return _objectSpread(_objectSpread({}, (0, _ramda.omit)([nestedKeyToModify], modifiedValues)), {}, (0, _defineProperty2["default"])({}, nestedAttributesForArrayKey, nestedAttributes));
|
|
39
|
+
};
|
|
40
|
+
exports.buildNestedAttributesPayload = buildNestedAttributesPayload;
|
|
41
|
+
//# sourceMappingURL=buildNestedAttributesPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildNestedAttributesPayload.js","names":["_neetoCist","require","_ramda","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","buildNestedAttributesPayload","_ref","modifiedValues","initialValues","nestedKeyToModify","nestedAttributeKeyInPayload","nestedAttributesForArrayKey","itemsToDestroy","initialItem","isNotPresent","findBy","value","itemsToDestroyAttrs","map","item","_ref2","id","itemsToBeCreated","modifiedItem","toLowerCase","itemsToCreateAttrs","nestedAttributes","concat","_toConsumableArray2","omit","exports"],"sources":["../../../src/utils/buildNestedAttributesPayload.js"],"sourcesContent":["import { findBy, isNotPresent } from \"neetocist\";\nimport { omit } from \"ramda\";\n\nexport const buildNestedAttributesPayload = ({\n modifiedValues,\n initialValues,\n nestedKeyToModify,\n nestedAttributeKeyInPayload,\n nestedAttributesForArrayKey,\n}) => {\n const itemsToDestroy = initialValues[nestedKeyToModify].filter(initialItem =>\n isNotPresent(\n findBy(\n { value: initialItem[nestedAttributeKeyInPayload] },\n modifiedValues[nestedKeyToModify]\n )\n )\n );\n\n const itemsToDestroyAttrs = itemsToDestroy.map(item => ({\n id: item.id,\n [nestedAttributeKeyInPayload]: item[nestedAttributeKeyInPayload],\n _destroy: true,\n }));\n\n const itemsToBeCreated = modifiedValues[nestedKeyToModify].filter(\n modifiedItem =>\n isNotPresent(\n findBy(\n { [nestedAttributeKeyInPayload]: modifiedItem.value.toLowerCase() },\n initialValues[nestedKeyToModify]\n )\n )\n );\n\n const itemsToCreateAttrs = itemsToBeCreated.map(item => ({\n [nestedAttributeKeyInPayload]: item.value,\n }));\n\n const nestedAttributes = [...itemsToCreateAttrs, ...itemsToDestroyAttrs];\n\n return {\n ...omit([nestedKeyToModify], modifiedValues),\n [nestedAttributesForArrayKey]: nestedAttributes,\n };\n};\n"],"mappings":"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"}
|
package/cjs/utils/index.js
CHANGED
|
@@ -102,4 +102,15 @@ Object.keys(_captureAnalyticsPageView).forEach(function (key) {
|
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
|
+
var _buildNestedAttributesPayload = require("./buildNestedAttributesPayload");
|
|
106
|
+
Object.keys(_buildNestedAttributesPayload).forEach(function (key) {
|
|
107
|
+
if (key === "default" || key === "__esModule") return;
|
|
108
|
+
if (key in exports && exports[key] === _buildNestedAttributesPayload[key]) return;
|
|
109
|
+
Object.defineProperty(exports, key, {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
get: function get() {
|
|
112
|
+
return _buildNestedAttributesPayload[key];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
105
116
|
//# sourceMappingURL=index.js.map
|
package/cjs/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_axios","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_general","_datetime","_permissions","_createSubscription","_currencyFormat","_validators","_captureAnalyticsEvent","_captureAnalyticsPageView"],"sources":["../../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\nexport * from \"./validators\";\nexport * from \"./captureAnalyticsEvent\";\nexport * from \"./captureAnalyticsPageView\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_axios","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_general","_datetime","_permissions","_createSubscription","_currencyFormat","_validators","_captureAnalyticsEvent","_captureAnalyticsPageView","_buildNestedAttributesPayload"],"sources":["../../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\nexport * from \"./validators\";\nexport * from \"./captureAnalyticsEvent\";\nexport * from \"./captureAnalyticsPageView\";\nexport * from \"./buildNestedAttributesPayload\";\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-frontend",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
import { findBy, isNotPresent } from "@bigbinary/neeto-cist";
|
|
6
|
+
import { omit } from "ramda";
|
|
7
|
+
export var buildNestedAttributesPayload = function buildNestedAttributesPayload(_ref) {
|
|
8
|
+
var modifiedValues = _ref.modifiedValues,
|
|
9
|
+
initialValues = _ref.initialValues,
|
|
10
|
+
nestedKeyToModify = _ref.nestedKeyToModify,
|
|
11
|
+
nestedAttributeKeyInPayload = _ref.nestedAttributeKeyInPayload,
|
|
12
|
+
nestedAttributesForArrayKey = _ref.nestedAttributesForArrayKey;
|
|
13
|
+
var itemsToDestroy = initialValues[nestedKeyToModify].filter(function (initialItem) {
|
|
14
|
+
return isNotPresent(findBy({
|
|
15
|
+
value: initialItem[nestedAttributeKeyInPayload]
|
|
16
|
+
}, modifiedValues[nestedKeyToModify]));
|
|
17
|
+
});
|
|
18
|
+
var itemsToDestroyAttrs = itemsToDestroy.map(function (item) {
|
|
19
|
+
var _ref2;
|
|
20
|
+
return _ref2 = {
|
|
21
|
+
id: item.id
|
|
22
|
+
}, _defineProperty(_ref2, nestedAttributeKeyInPayload, item[nestedAttributeKeyInPayload]), _defineProperty(_ref2, "_destroy", true), _ref2;
|
|
23
|
+
});
|
|
24
|
+
var itemsToBeCreated = modifiedValues[nestedKeyToModify].filter(function (modifiedItem) {
|
|
25
|
+
return isNotPresent(findBy(_defineProperty({}, nestedAttributeKeyInPayload, modifiedItem.value.toLowerCase()), initialValues[nestedKeyToModify]));
|
|
26
|
+
});
|
|
27
|
+
var itemsToCreateAttrs = itemsToBeCreated.map(function (item) {
|
|
28
|
+
return _defineProperty({}, nestedAttributeKeyInPayload, item.value);
|
|
29
|
+
});
|
|
30
|
+
var nestedAttributes = [].concat(_toConsumableArray(itemsToCreateAttrs), _toConsumableArray(itemsToDestroyAttrs));
|
|
31
|
+
return _objectSpread(_objectSpread({}, omit([nestedKeyToModify], modifiedValues)), {}, _defineProperty({}, nestedAttributesForArrayKey, nestedAttributes));
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=buildNestedAttributesPayload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildNestedAttributesPayload.js","names":["findBy","isNotPresent","omit","buildNestedAttributesPayload","_ref","modifiedValues","initialValues","nestedKeyToModify","nestedAttributeKeyInPayload","nestedAttributesForArrayKey","itemsToDestroy","filter","initialItem","value","itemsToDestroyAttrs","map","item","_ref2","id","_defineProperty","itemsToBeCreated","modifiedItem","toLowerCase","itemsToCreateAttrs","nestedAttributes","concat","_toConsumableArray","_objectSpread"],"sources":["../../src/utils/buildNestedAttributesPayload.js"],"sourcesContent":["import { findBy, isNotPresent } from \"neetocist\";\nimport { omit } from \"ramda\";\n\nexport const buildNestedAttributesPayload = ({\n modifiedValues,\n initialValues,\n nestedKeyToModify,\n nestedAttributeKeyInPayload,\n nestedAttributesForArrayKey,\n}) => {\n const itemsToDestroy = initialValues[nestedKeyToModify].filter(initialItem =>\n isNotPresent(\n findBy(\n { value: initialItem[nestedAttributeKeyInPayload] },\n modifiedValues[nestedKeyToModify]\n )\n )\n );\n\n const itemsToDestroyAttrs = itemsToDestroy.map(item => ({\n id: item.id,\n [nestedAttributeKeyInPayload]: item[nestedAttributeKeyInPayload],\n _destroy: true,\n }));\n\n const itemsToBeCreated = modifiedValues[nestedKeyToModify].filter(\n modifiedItem =>\n isNotPresent(\n findBy(\n { [nestedAttributeKeyInPayload]: modifiedItem.value.toLowerCase() },\n initialValues[nestedKeyToModify]\n )\n )\n );\n\n const itemsToCreateAttrs = itemsToBeCreated.map(item => ({\n [nestedAttributeKeyInPayload]: item.value,\n }));\n\n const nestedAttributes = [...itemsToCreateAttrs, ...itemsToDestroyAttrs];\n\n return {\n ...omit([nestedKeyToModify], modifiedValues),\n [nestedAttributesForArrayKey]: nestedAttributes,\n };\n};\n"],"mappings":";;;;AAAA,SAASA,MAAM,EAAEC,YAAY;AAC7B,SAASC,IAAI,QAAQ,OAAO;AAE5B,OAAO,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAAC,IAAA,EAMnC;EAAA,IALJC,cAAc,GAAAD,IAAA,CAAdC,cAAc;IACdC,aAAa,GAAAF,IAAA,CAAbE,aAAa;IACbC,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;IACjBC,2BAA2B,GAAAJ,IAAA,CAA3BI,2BAA2B;IAC3BC,2BAA2B,GAAAL,IAAA,CAA3BK,2BAA2B;EAE3B,IAAMC,cAAc,GAAGJ,aAAa,CAACC,iBAAiB,CAAC,CAACI,MAAM,CAAC,UAAAC,WAAW;IAAA,OACxEX,YAAY,CACVD,MAAM,CACJ;MAAEa,KAAK,EAAED,WAAW,CAACJ,2BAA2B;IAAE,CAAC,EACnDH,cAAc,CAACE,iBAAiB,CAAC,CAClC,CACF;EAAA,EACF;EAED,IAAMO,mBAAmB,GAAGJ,cAAc,CAACK,GAAG,CAAC,UAAAC,IAAI;IAAA,IAAAC,KAAA;IAAA,OAAAA,KAAA;MACjDC,EAAE,EAAEF,IAAI,CAACE;IAAE,GAAAC,eAAA,CAAAF,KAAA,EACVT,2BAA2B,EAAGQ,IAAI,CAACR,2BAA2B,CAAC,GAAAW,eAAA,CAAAF,KAAA,cACtD,IAAI,GAAAA,KAAA;EAAA,CACd,CAAC;EAEH,IAAMG,gBAAgB,GAAGf,cAAc,CAACE,iBAAiB,CAAC,CAACI,MAAM,CAC/D,UAAAU,YAAY;IAAA,OACVpB,YAAY,CACVD,MAAM,CAAAmB,eAAA,KACDX,2BAA2B,EAAGa,YAAY,CAACR,KAAK,CAACS,WAAW,EAAE,GACjEhB,aAAa,CAACC,iBAAiB,CAAC,CACjC,CACF;EAAA,EACJ;EAED,IAAMgB,kBAAkB,GAAGH,gBAAgB,CAACL,GAAG,CAAC,UAAAC,IAAI;IAAA,OAAAG,eAAA,KACjDX,2BAA2B,EAAGQ,IAAI,CAACH,KAAK;EAAA,CACzC,CAAC;EAEH,IAAMW,gBAAgB,MAAAC,MAAA,CAAAC,kBAAA,CAAOH,kBAAkB,GAAAG,kBAAA,CAAKZ,mBAAmB,EAAC;EAExE,OAAAa,aAAA,CAAAA,aAAA,KACKzB,IAAI,CAAC,CAACK,iBAAiB,CAAC,EAAEF,cAAc,CAAC,OAAAc,eAAA,KAC3CV,2BAA2B,EAAGe,gBAAgB;AAEnD,CAAC"}
|
package/utils/index.js
CHANGED
package/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\nexport * from \"./validators\";\nexport * from \"./captureAnalyticsEvent\";\nexport * from \"./captureAnalyticsPageView\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\nexport * from \"./validators\";\nexport * from \"./captureAnalyticsEvent\";\nexport * from \"./captureAnalyticsPageView\";\nexport * from \"./buildNestedAttributesPayload\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
package/utils.d.ts
CHANGED
|
@@ -576,4 +576,57 @@ export function captureAnalyticsEvent(name: string, properties?: {
|
|
|
576
576
|
*/
|
|
577
577
|
export function captureAnalyticsPageView(page: string, properties?: {
|
|
578
578
|
[key: string]: string;
|
|
579
|
-
}): void;
|
|
579
|
+
}): void;
|
|
580
|
+
/**
|
|
581
|
+
*
|
|
582
|
+
* The buildNestedAttributesPayload function is a utility designed to
|
|
583
|
+
*
|
|
584
|
+
* create payloads for Rails' Active Record Nested Attributes. This function
|
|
585
|
+
*
|
|
586
|
+
* simplifies the process of handling nested forms by generating the correct
|
|
587
|
+
*
|
|
588
|
+
* payload structure, which includes the necessary attributes for creating and
|
|
589
|
+
*
|
|
590
|
+
* destroying nested records.
|
|
591
|
+
*
|
|
592
|
+
* @example
|
|
593
|
+
*
|
|
594
|
+
* import { buildNestedAttributesPayload } from "@bigbinary/neeto-commons-frontend/utils";
|
|
595
|
+
*
|
|
596
|
+
* // Example initial and modified values
|
|
597
|
+
* const initialValues = {
|
|
598
|
+
* emails: [
|
|
599
|
+
* { id: 1, email: "test1@example.com" },
|
|
600
|
+
* { id: 2, email: "test2@example.com" },
|
|
601
|
+
* ],
|
|
602
|
+
* };
|
|
603
|
+
*
|
|
604
|
+
* const modifiedValues = {
|
|
605
|
+
* emails: [{ value: "test2@example.com" }, { value: "test3@example.com" }],
|
|
606
|
+
* };
|
|
607
|
+
*
|
|
608
|
+
* const payload = buildNestedAttributesPayload({
|
|
609
|
+
* initialValues,
|
|
610
|
+
* modifiedValues,
|
|
611
|
+
* nestedKeyToModify: "emails",
|
|
612
|
+
* nestedAttributeKeyInPayload: "email",
|
|
613
|
+
* nestedAttributesForArrayKey: "whitelistedEmailsAttributes",
|
|
614
|
+
* });
|
|
615
|
+
*
|
|
616
|
+
* console.log(payload);
|
|
617
|
+
* // Output:
|
|
618
|
+
* // {
|
|
619
|
+
* // whitelistedEmailsAttributes: [
|
|
620
|
+
* // { email: "test3@example.com" },
|
|
621
|
+
* // { id: 1, email: "test1@example.com", _destroy: true }
|
|
622
|
+
* // ]
|
|
623
|
+
* // }
|
|
624
|
+
* @endexample
|
|
625
|
+
*/
|
|
626
|
+
export function buildNestedAttributesPayload(modifiedValues: {
|
|
627
|
+
[key: string]: any;
|
|
628
|
+
}, initialValues: {
|
|
629
|
+
[key: string]: any;
|
|
630
|
+
}, nestedKeyToModify: string, nestedAttributeKeyInPayload: string, nestedAttributesForArrayKey: string): {
|
|
631
|
+
[key: string]: any;
|
|
632
|
+
};
|