@mapomodule/utils 1.0.0 → 2.0.0-beta.2
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/README.md +33 -0
- package/dist/debounce.js +19 -0
- package/dist/debounce.js.map +1 -0
- package/dist/deepMerge.js +31 -0
- package/dist/deepMerge.js.map +1 -0
- package/dist/formatDate.js +23 -0
- package/dist/formatDate.js.map +1 -0
- package/dist/formatters.js +43 -0
- package/dist/formatters.js.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/jsonSchema/conditionals.js +326 -0
- package/dist/jsonSchema/conditionals.js.map +1 -0
- package/dist/jsonSchema/index.js +3 -0
- package/dist/jsonSchema/index.js.map +1 -0
- package/dist/jsonSchema/resolve.js +133 -0
- package/dist/jsonSchema/resolve.js.map +1 -0
- package/dist/jsonSchema/types.js +2 -0
- package/dist/jsonSchema/types.js.map +1 -0
- package/dist/menuHelpers.js +56 -0
- package/dist/menuHelpers.js.map +1 -0
- package/dist/nestedValue.js +53 -0
- package/dist/nestedValue.js.map +1 -0
- package/dist/normalizeEndpoint.js +39 -0
- package/dist/normalizeEndpoint.js.map +1 -0
- package/dist/objectDiff.js +58 -0
- package/dist/objectDiff.js.map +1 -0
- package/dist/objectHelpers.js +93 -0
- package/dist/objectHelpers.js.map +1 -0
- package/dist/slotNamespace.js +15 -0
- package/dist/slotNamespace.js.map +1 -0
- package/dist/types/debounce.d.ts +11 -0
- package/dist/types/debounce.d.ts.map +1 -0
- package/dist/types/deepMerge.d.ts +12 -0
- package/dist/types/deepMerge.d.ts.map +1 -0
- package/dist/types/formatDate.d.ts +11 -0
- package/dist/types/formatDate.d.ts.map +1 -0
- package/dist/types/formatters.d.ts +15 -0
- package/dist/types/formatters.d.ts.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/jsonSchema/conditionals.d.ts +40 -0
- package/dist/types/jsonSchema/conditionals.d.ts.map +1 -0
- package/dist/types/jsonSchema/index.d.ts +15 -0
- package/dist/types/jsonSchema/index.d.ts.map +1 -0
- package/dist/types/jsonSchema/resolve.d.ts +41 -0
- package/dist/types/jsonSchema/resolve.d.ts.map +1 -0
- package/dist/types/jsonSchema/types.d.ts +43 -0
- package/dist/types/jsonSchema/types.d.ts.map +1 -0
- package/dist/types/menuHelpers.d.ts +22 -0
- package/dist/types/menuHelpers.d.ts.map +1 -0
- package/dist/types/nestedValue.d.ts +25 -0
- package/dist/types/nestedValue.d.ts.map +1 -0
- package/dist/types/normalizeEndpoint.d.ts +28 -0
- package/dist/types/normalizeEndpoint.d.ts.map +1 -0
- package/dist/types/objectDiff.d.ts +12 -0
- package/dist/types/objectDiff.d.ts.map +1 -0
- package/dist/types/objectHelpers.d.ts +33 -0
- package/dist/types/objectHelpers.d.ts.map +1 -0
- package/dist/types/slotNamespace.d.ts +12 -0
- package/dist/types/slotNamespace.d.ts.map +1 -0
- package/package.json +41 -7
- package/CHANGELOG.md +0 -182
- package/helpers/cssVariables.js +0 -12
- package/helpers/datetime.js +0 -68
- package/helpers/debounce.js +0 -42
- package/helpers/formatters.js +0 -52
- package/helpers/menu.js +0 -15
- package/helpers/objHelpers.js +0 -118
- package/helpers/slots.js +0 -9
- package/index.js +0 -13
- package/loaders/dummy-loader.js +0 -1
- package/plugins/v-draggable-modals.js +0 -39
package/helpers/formatters.js
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
function humanFileSize(bytes, si = false, dp = 1) {
|
|
2
|
-
const thresh = si ? 1000 : 1024;
|
|
3
|
-
|
|
4
|
-
if (Math.abs(bytes) < thresh) {
|
|
5
|
-
return bytes + " B";
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const units = si
|
|
9
|
-
? ["kB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"]
|
|
10
|
-
: ["KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"];
|
|
11
|
-
let u = -1;
|
|
12
|
-
const r = 10 ** dp;
|
|
13
|
-
|
|
14
|
-
do {
|
|
15
|
-
bytes /= thresh;
|
|
16
|
-
++u;
|
|
17
|
-
} while (
|
|
18
|
-
Math.round(Math.abs(bytes) * r) / r >= thresh &&
|
|
19
|
-
u < units.length - 1
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
return bytes.toFixed(dp) + " " + units[u];
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
function slugify(str) {
|
|
26
|
-
str = str || "";
|
|
27
|
-
str = str.replace(/^\s+|\s+$/g, ''); // trim
|
|
28
|
-
str = str.toLowerCase();
|
|
29
|
-
|
|
30
|
-
// remove accents, swap ñ for n, etc
|
|
31
|
-
var from = "àáäâèéëêìíïîòóöôùúüûñç·/_,:;";
|
|
32
|
-
var to = "aaaaeeeeiiiioooouuuunc------";
|
|
33
|
-
for (var i = 0, l = from.length; i < l; i++) {
|
|
34
|
-
str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
|
|
38
|
-
.replace(/\s+/g, '-') // collapse whitespace and replace by -
|
|
39
|
-
.replace(/-+/g, '-'); // collapse dashes
|
|
40
|
-
|
|
41
|
-
return str;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
function titleCase(string) {
|
|
45
|
-
return (string && string[0].toUpperCase() + string.slice(1).toLowerCase()) || "";
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
module.exports = {
|
|
49
|
-
humanFileSize,
|
|
50
|
-
slugify,
|
|
51
|
-
titleCase,
|
|
52
|
-
}
|
package/helpers/menu.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
function calcMaxMenuNestDepth(node, currentDepth = 0) {
|
|
2
|
-
if (!node?.nodes || node?.nodes?.length === 0) {
|
|
3
|
-
return currentDepth;
|
|
4
|
-
}
|
|
5
|
-
let maxDepth = currentDepth;
|
|
6
|
-
for (const childNode of node.nodes) {
|
|
7
|
-
const childDepth = calcMaxMenuNestDepth(childNode, currentDepth + 1);
|
|
8
|
-
maxDepth = Math.max(maxDepth, childDepth);
|
|
9
|
-
}
|
|
10
|
-
return maxDepth;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
module.exports = {
|
|
14
|
-
calcMaxMenuNestDepth
|
|
15
|
-
}
|
package/helpers/objHelpers.js
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
var Vue = require('vue')
|
|
2
|
-
Vue = Vue.default || Vue
|
|
3
|
-
|
|
4
|
-
function deepClone(obj) {
|
|
5
|
-
const clone = obj instanceof Array ? Object.assign([]) : Object.assign({});
|
|
6
|
-
for (const i in obj) {
|
|
7
|
-
if (obj[i] != null && typeof (obj[i]) == 'object' && !(isFileOrBlob(obj[i])) && !(obj[i] instanceof Date)) {
|
|
8
|
-
clone[i] = deepClone(obj[i]);
|
|
9
|
-
} else {
|
|
10
|
-
clone[i] = obj[i];
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
return clone;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function getPointed(obj, kpointed, def) {
|
|
17
|
-
const result = kpointed.split(".").reduce((o, k) => typeof (o) == 'object' ? (o || {})[k] : o, obj)
|
|
18
|
-
return result === undefined ? def : result
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
function setPointed(obj, kpointed, val) {
|
|
22
|
-
const arr = typeof kpointed == 'string' ? kpointed.split(".") : kpointed
|
|
23
|
-
if (arr.length == 1) {
|
|
24
|
-
Vue.set(obj, arr[0], val)
|
|
25
|
-
return obj
|
|
26
|
-
}
|
|
27
|
-
Vue.set(obj, arr[0], obj[arr[0]] || {})
|
|
28
|
-
return setPointed(obj[arr[0]], arr.slice(1), val)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
function filterObj(obj, kpointedArr) {
|
|
32
|
-
return (kpointedArr || []).reduce((acc, kpointed) => {
|
|
33
|
-
setPointed(acc, kpointed, getPointed(obj, kpointed))
|
|
34
|
-
return acc
|
|
35
|
-
}, {})
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function isFileInstance(input) {
|
|
39
|
-
if ('File' in window && input instanceof File)
|
|
40
|
-
return true;
|
|
41
|
-
else return false;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function isBlobInstance(input) {
|
|
45
|
-
if ('Blob' in window && input instanceof Blob)
|
|
46
|
-
return true;
|
|
47
|
-
else return false;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function isFileOrBlob(input) {
|
|
51
|
-
return isFileInstance(input) || isBlobInstance(input)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function filesInObject(obj) {
|
|
55
|
-
return findPropPaths(obj, ({ val }) => isFileOrBlob(val))
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function findPropPaths(obj, predicate) {
|
|
59
|
-
const discoveredObjects = [];
|
|
60
|
-
const path = [];
|
|
61
|
-
const results = [];
|
|
62
|
-
if (!obj && (typeof obj !== "object" || Array.isArray(obj))) {
|
|
63
|
-
throw new TypeError("First argument of findPropPaths is not the correct type Object");
|
|
64
|
-
}
|
|
65
|
-
if (typeof predicate !== "function") {
|
|
66
|
-
throw new TypeError("Predicate is not a function");
|
|
67
|
-
}
|
|
68
|
-
(function find(obj) {
|
|
69
|
-
for (const key in obj) {
|
|
70
|
-
if (predicate({ val: obj[key], obj, path, key }) === true) {
|
|
71
|
-
path.push(key);
|
|
72
|
-
results.push(path.join("."));
|
|
73
|
-
path.pop();
|
|
74
|
-
}
|
|
75
|
-
const o = obj[key];
|
|
76
|
-
if (o && typeof o === "object") {
|
|
77
|
-
if (!discoveredObjects.find(obj => obj === o)) {
|
|
78
|
-
path.push(key);
|
|
79
|
-
discoveredObjects.push(o);
|
|
80
|
-
find(o);
|
|
81
|
-
path.pop();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}(obj));
|
|
86
|
-
return results;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
function diffObjs(obj1, obj2, clone=deepClone) {
|
|
90
|
-
const a = obj1 && clone(obj1) || obj2 && obj2.__proto__.constructor();
|
|
91
|
-
const b = obj2 && clone(obj2) || obj1 && obj1.__proto__.constructor();
|
|
92
|
-
for (const i in b) {
|
|
93
|
-
if (JSON.stringify(a[i]) === JSON.stringify(b[i])) {
|
|
94
|
-
delete b[i];
|
|
95
|
-
} else if (b[i] && !Array.isArray(b[i]) && typeof b[i] == 'object') {
|
|
96
|
-
const diff = diffObjs(a[i], b[i], (v) => v);
|
|
97
|
-
if (diff !== undefined){
|
|
98
|
-
b[i] = diff;
|
|
99
|
-
} else {
|
|
100
|
-
delete b[i];
|
|
101
|
-
};
|
|
102
|
-
};
|
|
103
|
-
}
|
|
104
|
-
return b && Object.keys(b).length ? b : undefined;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
module.exports = {
|
|
108
|
-
deepClone,
|
|
109
|
-
getPointed,
|
|
110
|
-
setPointed,
|
|
111
|
-
filterObj,
|
|
112
|
-
isFileInstance,
|
|
113
|
-
isBlobInstance,
|
|
114
|
-
isFileOrBlob,
|
|
115
|
-
filesInObject,
|
|
116
|
-
findPropPaths,
|
|
117
|
-
diffObjs
|
|
118
|
-
}
|
package/helpers/slots.js
DELETED
package/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
const auth = require('./helpers/auth');
|
|
2
|
-
const debounce = require('./helpers/debounce');
|
|
3
|
-
const formatters = require('./helpers/formatters');
|
|
4
|
-
const objHelpers = require('./helpers/objHelpers');
|
|
5
|
-
const VDraggableModals = require('./plugins/v-draggable-modals');
|
|
6
|
-
|
|
7
|
-
module.exports = {
|
|
8
|
-
auth,
|
|
9
|
-
debounce,
|
|
10
|
-
formatters,
|
|
11
|
-
objHelpers,
|
|
12
|
-
VDraggableModals,
|
|
13
|
-
}
|
package/loaders/dummy-loader.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = function (source, map) { this.callback(null, "export default function (Component) {}", map) }
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
module.exports = function () {
|
|
2
|
-
const d = {};
|
|
3
|
-
document.addEventListener("mousedown", e => {
|
|
4
|
-
const closestDialog = e.target.closest(".v-dialog.v-dialog--active");
|
|
5
|
-
if (e.button === 0 && closestDialog != null && closestDialog.querySelector(".v-card__title")?.contains(e.target)) {
|
|
6
|
-
d.el = closestDialog;
|
|
7
|
-
d.mouseStartX = e.clientX;
|
|
8
|
-
d.mouseStartY = e.clientY;
|
|
9
|
-
d.elStartX = d.el.getBoundingClientRect().left;
|
|
10
|
-
d.elStartY = d.el.getBoundingClientRect().top;
|
|
11
|
-
d.el.style.position = "fixed";
|
|
12
|
-
d.el.style.margin = 0;
|
|
13
|
-
d.oldTransition = d.el.style.transition;
|
|
14
|
-
d.el.style.transition = "none"
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
document.addEventListener("mousemove", e => {
|
|
18
|
-
if (d.el === undefined) return;
|
|
19
|
-
d.el.style.left = Math.min(
|
|
20
|
-
Math.max(d.elStartX + e.clientX - d.mouseStartX, 0),
|
|
21
|
-
window.innerWidth - d.el.getBoundingClientRect().width
|
|
22
|
-
) + "px";
|
|
23
|
-
d.el.style.top = Math.min(
|
|
24
|
-
Math.max(d.elStartY + e.clientY - d.mouseStartY, 0),
|
|
25
|
-
window.innerHeight - d.el.getBoundingClientRect().height
|
|
26
|
-
) + "px";
|
|
27
|
-
});
|
|
28
|
-
document.addEventListener("mouseup", () => {
|
|
29
|
-
if (d.el === undefined) return;
|
|
30
|
-
d.el.style.transition = d.oldTransition;
|
|
31
|
-
d.el = undefined
|
|
32
|
-
});
|
|
33
|
-
setInterval(() => {
|
|
34
|
-
const dialog = document.querySelector(".v-dialog.v-dialog--active");
|
|
35
|
-
if (dialog === null) return;
|
|
36
|
-
dialog.style.left = Math.min(parseInt(dialog.style.left), window.innerWidth - dialog.getBoundingClientRect().width) + "px";
|
|
37
|
-
dialog.style.top = Math.min(parseInt(dialog.style.top), window.innerHeight - dialog.getBoundingClientRect().height) + "px";
|
|
38
|
-
}, 100);
|
|
39
|
-
}
|