oolib 2.17.16 → 2.18.1
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/dist/components/ActionMenu/index.d.ts +2 -1
- package/dist/components/ActionMenu/index.js +5 -4
- package/dist/components/BlockLabel/index.js +3 -1
- package/dist/components/InlineAlert/index.d.ts +7 -1
- package/dist/components/InlineAlert/index.js +2 -2
- package/dist/components/Loader/index.d.ts +5 -1
- package/dist/components/Loader/index.js +13 -31
- package/dist/components/Loader/styled.js +4 -4
- package/dist/components/Loader/utils/index.d.ts +5 -0
- package/dist/components/Loader/utils/index.js +17 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/index.js +1 -0
- package/dist/utils/_EXPORTS/index.d.ts +5 -0
- package/dist/utils/_EXPORTS/index.js +15 -0
- package/dist/utils/getterSetterDeleter/deleteVal.d.ts +1 -0
- package/dist/utils/getterSetterDeleter/deleteVal.js +8 -0
- package/dist/utils/getterSetterDeleter/getVal.d.ts +1 -0
- package/dist/utils/getterSetterDeleter/getVal.js +102 -0
- package/dist/utils/getterSetterDeleter/setVal.d.ts +1 -0
- package/dist/utils/getterSetterDeleter/setVal.js +8 -0
- package/dist/utils/getterSetterDeleter/utils/flattenArrayOfArrays.d.ts +5 -0
- package/dist/utils/getterSetterDeleter/utils/flattenArrayOfArrays.js +31 -0
- package/dist/utils/getterSetterDeleter/utils/set_deleteVal.d.ts +1 -0
- package/dist/utils/getterSetterDeleter/utils/set_deleteVal.js +61 -0
- package/package.json +1 -1
- package/dist/utils/_EXPORTS.d.ts +0 -2
- package/dist/utils/_EXPORTS.js +0 -7
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export function ActionMenu({ icon, invert, actions, align, iconSize }: {
|
|
1
|
+
export function ActionMenu({ icon, invert, actions, align, iconSize, ButtonComp: _ButtonComp }: {
|
|
2
2
|
icon?: string;
|
|
3
3
|
invert: any;
|
|
4
4
|
actions: any;
|
|
5
5
|
align?: string;
|
|
6
6
|
iconSize?: string;
|
|
7
|
+
ButtonComp?: string;
|
|
7
8
|
}): JSX.Element;
|
|
@@ -36,23 +36,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
exports.ActionMenu = void 0;
|
|
38
38
|
var react_1 = __importStar(require("react"));
|
|
39
|
-
var
|
|
39
|
+
var ButtonComps = __importStar(require("../Buttons"));
|
|
40
40
|
var Typo_1 = require("../Typo");
|
|
41
41
|
var utils_1 = require("./utils");
|
|
42
42
|
var styled_1 = require("./styled");
|
|
43
43
|
var ActionMenu = function (_a) {
|
|
44
44
|
var _b, _c;
|
|
45
45
|
var _d = _a.icon, icon = _d === void 0 ? 'DotsThree' : _d, //most likely will never change
|
|
46
|
-
invert = _a.invert, actions = _a.actions, _e = _a.align, align = _e === void 0 ? 'right' : _e, _f = _a.iconSize, iconSize = _f === void 0 ? 'S' : _f;
|
|
46
|
+
invert = _a.invert, actions = _a.actions, _e = _a.align, align = _e === void 0 ? 'right' : _e, _f = _a.iconSize, iconSize = _f === void 0 ? 'S' : _f, _g = _a.ButtonComp, _ButtonComp = _g === void 0 ? 'ButtonGhost' : _g;
|
|
47
47
|
var actionMenuRef = (0, react_1.useRef)(null);
|
|
48
48
|
var optionsWrapperRef = (0, react_1.useRef)(null);
|
|
49
|
-
var
|
|
49
|
+
var _h = (0, react_1.useState)(false), showActions = _h[0], setShowActions = _h[1];
|
|
50
50
|
(0, utils_1.useTrackFocus)(actionMenuRef, setShowActions);
|
|
51
51
|
if (!actions || actions.length === 0)
|
|
52
52
|
return null;
|
|
53
53
|
var getOpsRect = function () { var _a; return (_a = optionsWrapperRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect(); };
|
|
54
|
+
var ButtonComp = ButtonComps[_ButtonComp];
|
|
54
55
|
return (react_1.default.createElement(styled_1.StyledActionMenu, { ref: actionMenuRef },
|
|
55
|
-
react_1.default.createElement(
|
|
56
|
+
react_1.default.createElement(ButtonComp, { icon: icon, iconSize: iconSize, invert: invert, onClick: function (e) {
|
|
56
57
|
e.stopPropagation();
|
|
57
58
|
setShowActions(!showActions);
|
|
58
59
|
}, active: showActions }),
|
|
@@ -22,7 +22,9 @@ var BlockLabel = function (props) {
|
|
|
22
22
|
var errText = errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.map(function (er) { return (typeof er === "object" ? er.text : er); }).join(", ");
|
|
23
23
|
//next 2 vars is for 'test link' usecase
|
|
24
24
|
var errLink = (errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.length) !== 1 ? undefined : errorMsgs[0].link;
|
|
25
|
-
var errType = (errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.length) !== 1
|
|
25
|
+
var errType = (errorMsgs === null || errorMsgs === void 0 ? void 0 : errorMsgs.length) !== 1 //this first condition seems like a proper hack..
|
|
26
|
+
? "danger"
|
|
27
|
+
: errorMsgs[0].type || "danger";
|
|
26
28
|
return (shouldCompRender && (react_1.default.createElement(index_styled_1.StyledBlockLabel, { style: style, className: className },
|
|
27
29
|
react_1.default.createElement("div", { style: { display: "flex", gap: "1rem" } },
|
|
28
30
|
(label || inputOnlyLabel) && (react_1.default.createElement(Typo_1.SANS_3, { invert: invert, bold: true, capitalize: true }, label || inputOnlyLabel)),
|
|
@@ -19,8 +19,8 @@ var react_1 = __importDefault(require("react"));
|
|
|
19
19
|
var colors_1 = require("../../themes/colors");
|
|
20
20
|
var utilsOolib_1 = require("../../utilsOolib");
|
|
21
21
|
var red = colors_1.colors.red, white = colors_1.colors.white, green = colors_1.colors.green, black = colors_1.colors.black, darkGrey = colors_1.colors.darkGrey, greyColor100 = colors_1.colors.greyColor100;
|
|
22
|
-
var InlineAlert = function (
|
|
23
|
-
var text =
|
|
22
|
+
var InlineAlert = function (_a) {
|
|
23
|
+
var text = _a.text, link = _a.link, _b = _a.type, type = _b === void 0 ? 'neutral' : _b, style = _a.style, invert = _a.invert;
|
|
24
24
|
var localize = (0, utilsOolib_1.useLocale)();
|
|
25
25
|
var typeColor = {
|
|
26
26
|
success: green,
|
|
@@ -27,40 +27,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
28
|
exports.Loader = void 0;
|
|
29
29
|
var react_1 = __importDefault(require("react"));
|
|
30
|
-
var Typo_1 = require("../Typo");
|
|
31
|
-
var colors_1 = require("../../themes/colors");
|
|
32
30
|
var styled_components_1 = require("styled-components");
|
|
33
|
-
var
|
|
31
|
+
var utils_1 = require("./utils");
|
|
34
32
|
var styled_1 = require("./styled");
|
|
33
|
+
function Loader(_a) {
|
|
34
|
+
var _b = _a.isBlock, isBlock = _b === void 0 ? true : _b, _c = _a.blockHeight, blockHeight = _c === void 0 ? '100%' : _c, L = _a.L, S = _a.S, M = _a.M, props = __rest(_a, ["isBlock", "blockHeight", "L", "S", "M"]);
|
|
35
|
+
var size = L ? 'L' : S ? 'S' : 'M'; //defaults to M if no L or S, so techinically, the M prop isnt really required..
|
|
36
|
+
var renderLoaderDiv = function () { return react_1.default.createElement(LoaderDiv, __assign({}, __assign(__assign({}, props), { isBlock: isBlock, size: size }))); };
|
|
37
|
+
return !isBlock ? (renderLoaderDiv()) : (react_1.default.createElement(styled_1.StyledLoaderOverlay, { blockHeight: blockHeight }, renderLoaderDiv()));
|
|
38
|
+
}
|
|
39
|
+
exports.Loader = Loader;
|
|
35
40
|
var LoaderDiv = function (_a) {
|
|
36
|
-
var
|
|
41
|
+
var size = _a.size, children = _a.children, _text = _a.text, debug = _a.debug, invert = _a.invert, isBlock = _a.isBlock;
|
|
37
42
|
var theme = (0, styled_components_1.useTheme)();
|
|
38
43
|
var text = _text || children;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
case L:
|
|
44
|
-
return { TypoComp: Typo_1.SANS_4_5, trackSize: 10, size: 70 };
|
|
45
|
-
case S:
|
|
46
|
-
return { TypoComp: Typo_1.SANS_2, trackSize: 3.65, size: 21.35 };
|
|
47
|
-
case M:
|
|
48
|
-
default:
|
|
49
|
-
return { TypoComp: Typo_1.SANS_3, trackSize: 7, size: 43 };
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
var _c = getTypoSizeAndTrackSize({ L: L, M: M, S: S }), TypoComp = _c.TypoComp, trackSize = _c.trackSize, size = _c.size;
|
|
53
|
-
return (react_1.default.createElement(styled_1.StyledLoaderWrapper, __assign({}, { isBlock: isBlock }),
|
|
54
|
-
react_1.default.createElement(styled_1.StyledLoader, __assign({}, { size: size, trackSize: trackSize, invert: invert })),
|
|
55
|
-
(text || ((theme === null || theme === void 0 ? void 0 : theme._Branch) === "dev" && debug)) && (react_1.default.createElement(TypoComp, __assign({ invert: invert }, (L ? { bold: true } : { semibold: true })), "".concat((theme === null || theme === void 0 ? void 0 : theme._Branch) === "dev" && debug ? "".concat(debug, " ") : "").concat(text || '')))));
|
|
44
|
+
var _b = (0, utils_1.getTypoAndLoaderDimensions)(size), TypoComp = _b.TypoComp, trackThickness = _b.trackThickness, diameter = _b.diameter;
|
|
45
|
+
return (react_1.default.createElement(styled_1.StyledLoaderWrapper, { isBlock: isBlock },
|
|
46
|
+
react_1.default.createElement(styled_1.StyledLoader, __assign({}, { diameter: diameter, trackThickness: trackThickness, invert: invert })),
|
|
47
|
+
(text || ((theme === null || theme === void 0 ? void 0 : theme.ENV) === "dev" && debug)) && (react_1.default.createElement(TypoComp, __assign({ invert: invert }, (size === 'L' ? { bold: true } : { semibold: true })), "".concat((theme === null || theme === void 0 ? void 0 : theme.ENV) === "dev" && debug ? "".concat(debug, " ") : "").concat(text || '')))));
|
|
56
48
|
};
|
|
57
|
-
// still dont think we need to have this overlay thing,
|
|
58
|
-
// but lets consult with design and make a decision on this
|
|
59
|
-
//also i think the gap between loader and text should also be modified dynamically based on
|
|
60
|
-
//size L, M or S
|
|
61
|
-
function Loader(_a) {
|
|
62
|
-
var _b = _a.isBlock, isBlock = _b === void 0 ? true : _b, props = __rest(_a, ["isBlock"]);
|
|
63
|
-
var renderLoaderDiv = function () { return react_1.default.createElement(LoaderDiv, __assign({}, __assign(__assign({}, props), { isBlock: isBlock }))); };
|
|
64
|
-
return !isBlock ? (renderLoaderDiv()) : (react_1.default.createElement(styled_1.StyledLoaderOverlay, __assign({}, { blockHeight: props.blockHeight }), renderLoaderDiv()));
|
|
65
|
-
}
|
|
66
|
-
exports.Loader = Loader;
|
|
@@ -31,11 +31,11 @@ exports.StyledLoader = exports.StyledLoaderWrapper = exports.StyledLoaderOverlay
|
|
|
31
31
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
32
32
|
var colors_1 = require("../../themes/colors");
|
|
33
33
|
var utilsOolib_1 = require("../../utilsOolib");
|
|
34
|
-
var greyColor10 = colors_1.colors.greyColor10, greyColor70 = colors_1.colors.greyColor70,
|
|
34
|
+
var greyColor10 = colors_1.colors.greyColor10, greyColor70 = colors_1.colors.greyColor70, white = colors_1.colors.white;
|
|
35
35
|
var spin = (0, styled_components_1.keyframes)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n"], ["\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n"])));
|
|
36
36
|
var StyledLoader = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex-shrink: 0;\n display: inline-block;\n animation: ", " 1.2s linear infinite;\n border-radius: 50%;\n ", "\n"], ["\n flex-shrink: 0;\n display: inline-block;\n animation: ", " 1.2s linear infinite;\n border-radius: 50%;\n ", "\n"])), spin, function (_a) {
|
|
37
|
-
var
|
|
38
|
-
return (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: ", "px;\n height: ", "px;\n border-style: solid;\n border-width: ", "px;\n border-color: ", ";\n border-top-color: ", ";\n "], ["\n width: ", "px;\n height: ", "px;\n border-style: solid;\n border-width: ", "px;\n border-color: ", ";\n border-top-color: ", ";\n "])),
|
|
37
|
+
var diameter = _a.diameter, trackThickness = _a.trackThickness, invert = _a.invert, colors = _a.theme.colors;
|
|
38
|
+
return (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: ", "px;\n height: ", "px;\n border-style: solid;\n border-width: ", "px;\n border-color: ", ";\n border-top-color: ", ";\n "], ["\n width: ", "px;\n height: ", "px;\n border-style: solid;\n border-width: ", "px;\n border-color: ", ";\n border-top-color: ", ";\n "])), diameter, diameter, trackThickness, invert ? greyColor70 : greyColor10, invert ? white : (0, utilsOolib_1.getPrimaryColor100)(colors));
|
|
39
39
|
});
|
|
40
40
|
exports.StyledLoader = StyledLoader;
|
|
41
41
|
var StyledLoaderWrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n\n ", ";\n"], ["\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 1rem;\n\n ", ";\n"])), function (_a) {
|
|
@@ -45,7 +45,7 @@ var StyledLoaderWrapper = styled_components_1.default.div(templateObject_5 || (t
|
|
|
45
45
|
exports.StyledLoaderWrapper = StyledLoaderWrapper;
|
|
46
46
|
var StyledLoaderOverlay = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n background-color: transparent;\n width: 100%;\n height: ", ";\n display: grid;\n place-items: center;\n"], ["\n background-color: transparent;\n width: 100%;\n height: ", ";\n display: grid;\n place-items: center;\n"])), function (_a) {
|
|
47
47
|
var blockHeight = _a.blockHeight;
|
|
48
|
-
return blockHeight
|
|
48
|
+
return blockHeight;
|
|
49
49
|
});
|
|
50
50
|
exports.StyledLoaderOverlay = StyledLoaderOverlay;
|
|
51
51
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTypoAndLoaderDimensions = void 0;
|
|
4
|
+
var Typo_1 = require("../../Typo");
|
|
5
|
+
//defaults to M if neither are specified
|
|
6
|
+
var getTypoAndLoaderDimensions = function (size) {
|
|
7
|
+
switch (size) {
|
|
8
|
+
case 'L':
|
|
9
|
+
return { TypoComp: Typo_1.SANS_4_5, trackThickness: 10, diameter: 70 };
|
|
10
|
+
case 'S':
|
|
11
|
+
return { TypoComp: Typo_1.SANS_2, trackThickness: 3.65, diameter: 21.35 };
|
|
12
|
+
case 'M':
|
|
13
|
+
default:
|
|
14
|
+
return { TypoComp: Typo_1.SANS_3, trackThickness: 7, diameter: 43 };
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
exports.getTypoAndLoaderDimensions = getTypoAndLoaderDimensions;
|
package/dist/icons/index.d.ts
CHANGED
|
@@ -35,6 +35,7 @@ export namespace icons {
|
|
|
35
35
|
export { Checks };
|
|
36
36
|
export { Check };
|
|
37
37
|
export { ArrowClockwise };
|
|
38
|
+
export { ArrowsClockwise };
|
|
38
39
|
export { ArrowsIn };
|
|
39
40
|
export { ArrowsOut };
|
|
40
41
|
export { MapPin };
|
|
@@ -121,6 +122,7 @@ import { Envelope } from "phosphor-react";
|
|
|
121
122
|
import { Checks } from "phosphor-react";
|
|
122
123
|
import { Check } from "phosphor-react";
|
|
123
124
|
import { ArrowClockwise } from "phosphor-react";
|
|
125
|
+
import { ArrowsClockwise } from "phosphor-react";
|
|
124
126
|
import { ArrowsIn } from "phosphor-react";
|
|
125
127
|
import { ArrowsOut } from "phosphor-react";
|
|
126
128
|
import { MapPin } from "phosphor-react";
|
package/dist/icons/index.js
CHANGED
|
@@ -40,6 +40,7 @@ exports.icons = {
|
|
|
40
40
|
Checks: phosphor_react_1.Checks,
|
|
41
41
|
Check: phosphor_react_1.Check,
|
|
42
42
|
ArrowClockwise: phosphor_react_1.ArrowClockwise,
|
|
43
|
+
ArrowsClockwise: phosphor_react_1.ArrowsClockwise,
|
|
43
44
|
ArrowsIn: phosphor_react_1.ArrowsIn,
|
|
44
45
|
ArrowsOut: phosphor_react_1.ArrowsOut,
|
|
45
46
|
MapPin: phosphor_react_1.MapPin,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { getVal } from "../getterSetterDeleter/getVal";
|
|
2
|
+
export { setVal } from "../getterSetterDeleter/setVal";
|
|
3
|
+
export { deleteVal } from "../getterSetterDeleter/deleteVal";
|
|
4
|
+
export { getBlockLabelProps } from "../getBlockLabelProps";
|
|
5
|
+
export { injectHttps } from "../injectHttps";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.injectHttps = exports.getBlockLabelProps = exports.deleteVal = exports.setVal = exports.getVal = void 0;
|
|
4
|
+
//the holy setter, getter & deleter
|
|
5
|
+
var getVal_1 = require("../getterSetterDeleter/getVal");
|
|
6
|
+
Object.defineProperty(exports, "getVal", { enumerable: true, get: function () { return getVal_1.getVal; } });
|
|
7
|
+
var setVal_1 = require("../getterSetterDeleter/setVal");
|
|
8
|
+
Object.defineProperty(exports, "setVal", { enumerable: true, get: function () { return setVal_1.setVal; } });
|
|
9
|
+
var deleteVal_1 = require("../getterSetterDeleter/deleteVal");
|
|
10
|
+
Object.defineProperty(exports, "deleteVal", { enumerable: true, get: function () { return deleteVal_1.deleteVal; } });
|
|
11
|
+
//the others
|
|
12
|
+
var getBlockLabelProps_1 = require("../getBlockLabelProps");
|
|
13
|
+
Object.defineProperty(exports, "getBlockLabelProps", { enumerable: true, get: function () { return getBlockLabelProps_1.getBlockLabelProps; } });
|
|
14
|
+
var injectHttps_1 = require("../injectHttps");
|
|
15
|
+
Object.defineProperty(exports, "injectHttps", { enumerable: true, get: function () { return injectHttps_1.injectHttps; } });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function deleteVal(data: any, valuePath: any): any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteVal = void 0;
|
|
4
|
+
var set_deleteVal_1 = require("./utils/set_deleteVal");
|
|
5
|
+
var deleteVal = function (data, valuePath) {
|
|
6
|
+
return (0, set_deleteVal_1.set_deleteVal)('delete', data, valuePath);
|
|
7
|
+
};
|
|
8
|
+
exports.deleteVal = deleteVal;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function getVal(data: any, valuePath: any, options?: {}, depthIdx?: number): any;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVal = void 0;
|
|
4
|
+
var flattenArrayOfArrays_1 = require("./utils/flattenArrayOfArrays");
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @param {*} data
|
|
8
|
+
* @param {*} valuePath
|
|
9
|
+
* @returns
|
|
10
|
+
* - if target value is an array found inside an array, it will flatten them out so that there is a single array
|
|
11
|
+
* - if target value is an array NOT found inside an array, that will be returned as is.
|
|
12
|
+
* - if target value is a string/object/number/boolean found inside an array of arrays, then the inner arrays will be flattened so that there is a single array
|
|
13
|
+
* - if target value is a string/object/number/boolean NOT found inside an array, it will be returned as is.
|
|
14
|
+
*/
|
|
15
|
+
var getVal = function (data, valuePath, options, depthIdx) {
|
|
16
|
+
if (options === void 0) { options = {}; }
|
|
17
|
+
if (depthIdx === void 0) { depthIdx = 0; }
|
|
18
|
+
var value = null;
|
|
19
|
+
var getFinalVal = function (data, valuePath, options, depthIdx) {
|
|
20
|
+
/**
|
|
21
|
+
* sometimes the data passed only is an array,
|
|
22
|
+
* especially via table config this happens.
|
|
23
|
+
*/
|
|
24
|
+
return Array.isArray(data)
|
|
25
|
+
? data.map(function (R) { return getValV2_getter(R, valuePath, options, depthIdx); })
|
|
26
|
+
: getValV2_getter(data, valuePath, options, depthIdx);
|
|
27
|
+
};
|
|
28
|
+
if (Array.isArray(valuePath)) {
|
|
29
|
+
for (var i = 0; i < valuePath.length; i++) {
|
|
30
|
+
value = getFinalVal(data, valuePath[i], options, depthIdx);
|
|
31
|
+
if (value)
|
|
32
|
+
break;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
value = getFinalVal(data, valuePath, options, depthIdx);
|
|
37
|
+
}
|
|
38
|
+
return value;
|
|
39
|
+
};
|
|
40
|
+
exports.getVal = getVal;
|
|
41
|
+
var getValV2_getter = function (data, valuePath, options, depthIdx) {
|
|
42
|
+
/**
|
|
43
|
+
* if final value is an array inside of an array, (check out CASE 3 sample obj in getVal_caseExamples.js)
|
|
44
|
+
* then flatten.. = true means we get one single returned array
|
|
45
|
+
* else if flatten.. = false means we get an array inside of an array
|
|
46
|
+
*/
|
|
47
|
+
var _a = options.flattenIfValueIsArray, flattenIfValueIsArray = _a === void 0 ? true : _a; //have to default to true, to not break older code. ideal would have been if this defaulted to false.
|
|
48
|
+
if (valuePath === null)
|
|
49
|
+
return data;
|
|
50
|
+
var dataRef = data; // a moving reference to internal objects within data
|
|
51
|
+
var keysArray = valuePath.split('.');
|
|
52
|
+
var len = keysArray.length;
|
|
53
|
+
var valIsUndefined = false;
|
|
54
|
+
var thisIterationFoundAry = false;
|
|
55
|
+
var _loop_1 = function (i) {
|
|
56
|
+
var key = keysArray[i];
|
|
57
|
+
if (!thisIterationFoundAry) { // did not find
|
|
58
|
+
if (!dataRef[key]) {
|
|
59
|
+
valIsUndefined = true;
|
|
60
|
+
return "break";
|
|
61
|
+
}
|
|
62
|
+
//else
|
|
63
|
+
dataRef = dataRef[key];
|
|
64
|
+
}
|
|
65
|
+
else { // this iteration found ary. so dataRef is currently an array
|
|
66
|
+
var nestedAryResponse = dataRef.map(function (dataRefItem) {
|
|
67
|
+
var remainingValuePath = keysArray.filter(function (dd, ii) { return ii >= i; }).join('.');
|
|
68
|
+
return (0, exports.getVal)(dataRefItem, remainingValuePath, options, depthIdx + 1);
|
|
69
|
+
});
|
|
70
|
+
return { value: (0, flattenArrayOfArrays_1.flattenArrayOfArrays)({
|
|
71
|
+
array: nestedAryResponse,
|
|
72
|
+
flattenLastArray: (depthIdx === 0 && flattenIfValueIsArray === false)
|
|
73
|
+
? false
|
|
74
|
+
: true
|
|
75
|
+
}) };
|
|
76
|
+
}
|
|
77
|
+
if (Array.isArray(dataRef) &&
|
|
78
|
+
Number.isNaN(parseInt(keysArray[i + 1]))
|
|
79
|
+
//because if it is, an explicit call is being made to a particular index in array
|
|
80
|
+
//so dont do our ary magic. the requester knows exactly what they want.
|
|
81
|
+
)
|
|
82
|
+
thisIterationFoundAry = true;
|
|
83
|
+
};
|
|
84
|
+
for (var i = 0; i < len - 1; i++) {
|
|
85
|
+
var state_1 = _loop_1(i);
|
|
86
|
+
if (typeof state_1 === "object")
|
|
87
|
+
return state_1.value;
|
|
88
|
+
if (state_1 === "break")
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
if (valIsUndefined)
|
|
92
|
+
return undefined; //if the loop above is broken because we didnt find anything at one of the keys, then return undefined;
|
|
93
|
+
//else
|
|
94
|
+
if (thisIterationFoundAry) { // e.g [ { lastKey: 'xx' }, { lastKey: 'yy' } ] => returned => ['xx', 'yy']
|
|
95
|
+
var toReturn = dataRef.map(function (d) { return d[keysArray[len - 1]]; });
|
|
96
|
+
return (0, flattenArrayOfArrays_1.flattenArrayOfArrays)({
|
|
97
|
+
array: toReturn,
|
|
98
|
+
flattenLastArray: flattenIfValueIsArray
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return dataRef[keysArray[len - 1]];
|
|
102
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function setVal(data: any, valuePath: any, value: any): any;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setVal = void 0;
|
|
4
|
+
var set_deleteVal_1 = require("./utils/set_deleteVal");
|
|
5
|
+
var setVal = function (data, valuePath, value) {
|
|
6
|
+
return (0, set_deleteVal_1.set_deleteVal)('set', data, valuePath, value);
|
|
7
|
+
};
|
|
8
|
+
exports.setVal = setVal;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.flattenArrayOfArrays = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* recursive. doesnt matter how many arrays exist inside.
|
|
6
|
+
* array.flat(Infinity) does the same thing
|
|
7
|
+
*/
|
|
8
|
+
var flattenArrayOfArrays = function (_a) {
|
|
9
|
+
var array = _a.array, _b = _a.flattenLastArray, flattenLastArray = _b === void 0 ? true : _b, _c = _a.toReturn, toReturn = _c === void 0 ? [] : _c;
|
|
10
|
+
array.map(function (ary) {
|
|
11
|
+
if (Array.isArray(ary)) {
|
|
12
|
+
if (flattenLastArray === true) {
|
|
13
|
+
//check if this is the last array.
|
|
14
|
+
if (ary.some(function (childAry) { return !Array.isArray(childAry); })) { //if one of its children is NOT an array, then we consider this the last array
|
|
15
|
+
toReturn.push(ary);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
(0, exports.flattenArrayOfArrays)({ array: ary, flattenLastArray: flattenLastArray, toReturn: toReturn });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
else { //flatten last ary is true, so continue as normal
|
|
22
|
+
(0, exports.flattenArrayOfArrays)({ array: ary, flattenLastArray: flattenLastArray, toReturn: toReturn });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
toReturn.push(ary);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return toReturn;
|
|
30
|
+
};
|
|
31
|
+
exports.flattenArrayOfArrays = flattenArrayOfArrays;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export function set_deleteVal(action: any, data: any, valuePath: any, value: any): any;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.set_deleteVal = void 0;
|
|
4
|
+
//can be only set or delete, since the get in this is deprecated
|
|
5
|
+
var set_deleteVal = function (action, data, valuePath, value) {
|
|
6
|
+
if (valuePath === undefined)
|
|
7
|
+
return;
|
|
8
|
+
if (valuePath === null && action === 'set') {
|
|
9
|
+
data = value;
|
|
10
|
+
return data;
|
|
11
|
+
}
|
|
12
|
+
var dataRef = data; // a moving reference to internal objects within data
|
|
13
|
+
var keysArray = valuePath.split('.');
|
|
14
|
+
// var keysArray = valuePath;
|
|
15
|
+
var len = keysArray.length;
|
|
16
|
+
var valIsUndefined = false;
|
|
17
|
+
for (var i = 0; i < len - 1; i++) {
|
|
18
|
+
var key = keysArray[i];
|
|
19
|
+
/**
|
|
20
|
+
* maybe another check is needed here to see if dataRef[key] is a string,
|
|
21
|
+
* cuz if it is, we must reset it to an object. cuz for sure, once this loop is
|
|
22
|
+
* over, there IS another key, that will be attached to the dataRef.
|
|
23
|
+
*/
|
|
24
|
+
if (!dataRef[key]) {
|
|
25
|
+
if (action === 'set') {
|
|
26
|
+
var nextKey = keysArray[i + 1];
|
|
27
|
+
/**
|
|
28
|
+
* very important:
|
|
29
|
+
* what this does is,
|
|
30
|
+
* - here, we are in a situation where some key along the valuePath trail doesnt seem to exist
|
|
31
|
+
* - so against that key, we need to now create an object or an array
|
|
32
|
+
* - how do we decide?
|
|
33
|
+
* - by checking if the next key is a number or not
|
|
34
|
+
*/
|
|
35
|
+
if (nextKey && !isNaN(parseInt(nextKey))) { //next key IS a number then..
|
|
36
|
+
dataRef[key] = [];
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
dataRef[key] = {};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
//action === get
|
|
44
|
+
valIsUndefined = true;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
dataRef = dataRef[key]; //if key is a number (as a string) the code recognizes it as an ary idx; so arrays also work with this func. !
|
|
49
|
+
}
|
|
50
|
+
if (valIsUndefined)
|
|
51
|
+
return undefined; //if the loop above is broken because we didnt find anything at one of the keys, then return undefined;
|
|
52
|
+
if (action === 'set') {
|
|
53
|
+
dataRef[keysArray[len - 1]] = value;
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
56
|
+
else if (action === 'delete') {
|
|
57
|
+
delete dataRef[keysArray[len - 1]];
|
|
58
|
+
return data;
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
exports.set_deleteVal = set_deleteVal;
|
package/package.json
CHANGED
package/dist/utils/_EXPORTS.d.ts
DELETED
package/dist/utils/_EXPORTS.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.injectHttps = exports.getBlockLabelProps = void 0;
|
|
4
|
-
var getBlockLabelProps_1 = require("./getBlockLabelProps");
|
|
5
|
-
Object.defineProperty(exports, "getBlockLabelProps", { enumerable: true, get: function () { return getBlockLabelProps_1.getBlockLabelProps; } });
|
|
6
|
-
var injectHttps_js_1 = require("./injectHttps.js");
|
|
7
|
-
Object.defineProperty(exports, "injectHttps", { enumerable: true, get: function () { return injectHttps_js_1.injectHttps; } });
|