-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStrapiExtenderUtils.js
43 lines (36 loc) · 1.22 KB
/
StrapiExtenderUtils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _StrapiExtenderUtils$;
/**
* Methode who create Array and sort it by order.
* @param {*} dz Object corresponding to the Dynamic Zone
* @returns Array of data, ordered by `order`
*/
StrapiExtenderUtils.objectToArray = function (dz) {
var dzSanitized = [];
Object.keys(dz).forEach(function (key) {
if (dz[key]) {
Object.keys(dz[key]).forEach(function (microKey) {
dz[key][microKey] ? dzSanitized.push(dz[key][microKey]) : '';
});
}
});
dzSanitized.sort(function (a, b) {
return a.order - b.order;
});
return dzSanitized;
};
function StrapiExtenderUtils() {
throw 'Do not use directly, use helper methods.';
}
StrapiExtenderUtils.objectToArray.propTypes = (_StrapiExtenderUtils$ = {
dz: _propTypes.default.object.isRequired
}, _StrapiExtenderUtils$["dz"] = _propTypes.default.shape({
order: _propTypes.default.number.isRequired,
__typename: _propTypes.default.string.isRequired
}), _StrapiExtenderUtils$);
var _default = StrapiExtenderUtils;
exports.default = _default;