@rokkit/core 1.0.0-next.37 → 1.0.0-next.38
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/package.json +2 -4
- package/src/constants.js +4 -4
- package/src/mapping.js +46 -0
- package/src/utils.js +5 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rokkit/core",
|
|
3
|
-
"version": "1.0.0-next.
|
|
3
|
+
"version": "1.0.0-next.38",
|
|
4
4
|
"description": "Core components, actions and stores for svelte apps.",
|
|
5
5
|
"author": "Jerry Thomas <me@jerrythomas.name>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -15,8 +15,6 @@
|
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@sveltejs/vite-plugin-svelte": "^2.4.3",
|
|
17
17
|
"@testing-library/svelte": "^4.0.3",
|
|
18
|
-
"@vitest/coverage-c8": "^0.33.0",
|
|
19
|
-
"@vitest/coverage-istanbul": "^0.33.0",
|
|
20
18
|
"@vitest/coverage-v8": "^0.33.0",
|
|
21
19
|
"@vitest/ui": "~0.33.0",
|
|
22
20
|
"jsdom": "^22.1.0",
|
|
@@ -25,7 +23,7 @@
|
|
|
25
23
|
"validators": "latest",
|
|
26
24
|
"vite": "^4.4.7",
|
|
27
25
|
"vitest": "~0.33.0",
|
|
28
|
-
"shared-config": "1.0.0-next.
|
|
26
|
+
"shared-config": "1.0.0-next.38"
|
|
29
27
|
},
|
|
30
28
|
"files": [
|
|
31
29
|
"src/**/*.js",
|
package/src/constants.js
CHANGED
|
@@ -52,10 +52,10 @@ export const defaultIcons = [
|
|
|
52
52
|
'state-success',
|
|
53
53
|
'state-info',
|
|
54
54
|
'state-unknown',
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
58
|
-
'
|
|
55
|
+
'badge-fail',
|
|
56
|
+
'badge-warn',
|
|
57
|
+
'badge-pass',
|
|
58
|
+
'badge-unknown'
|
|
59
59
|
]
|
|
60
60
|
|
|
61
61
|
export const defaultOptions = {
|
package/src/mapping.js
CHANGED
|
@@ -38,3 +38,49 @@ export function getValue(node, fields = defaultFields) {
|
|
|
38
38
|
export function getText(node, fields = defaultFields) {
|
|
39
39
|
return typeof node === 'object' && node !== null ? node[fields.text] : node
|
|
40
40
|
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Check if the current item is a parent
|
|
44
|
+
*
|
|
45
|
+
* @param {*} item
|
|
46
|
+
* @param {import('./types').FieldMapping} fields
|
|
47
|
+
* @returns {boolean}
|
|
48
|
+
*/
|
|
49
|
+
export function hasChildren(item, fields) {
|
|
50
|
+
return (
|
|
51
|
+
item != null &&
|
|
52
|
+
typeof item === 'object' &&
|
|
53
|
+
fields.children in item &&
|
|
54
|
+
Array.isArray(item[fields.children])
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Check if the current item is a parent and is expanded
|
|
60
|
+
*
|
|
61
|
+
* @param {*} item
|
|
62
|
+
* @param {import('./types').FieldMapping} fields
|
|
63
|
+
* @returns {boolean}
|
|
64
|
+
*/
|
|
65
|
+
export function isExpanded(item, fields) {
|
|
66
|
+
if (item == null) return false
|
|
67
|
+
if (!hasChildren(item, fields)) return false
|
|
68
|
+
if (fields.isOpen in item) {
|
|
69
|
+
return item[fields.isOpen]
|
|
70
|
+
}
|
|
71
|
+
return false
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Verify if at least one item has children
|
|
76
|
+
*
|
|
77
|
+
* @param {Array<*>} items
|
|
78
|
+
* @param {import('./types').FieldMapping} fields
|
|
79
|
+
* @returns {boolean}
|
|
80
|
+
*/
|
|
81
|
+
export function isNested(items, fields) {
|
|
82
|
+
for (let i = 0; i < items.length; i++) {
|
|
83
|
+
if (hasChildren(items[i], fields)) return true
|
|
84
|
+
}
|
|
85
|
+
return false
|
|
86
|
+
}
|
package/src/utils.js
CHANGED