svelte-common 4.21.27 → 4.21.29
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 +2 -2
- package/package.json +5 -5
- package/src/attribute.mjs +104 -0
- package/src/filter.mjs +1 -1
- package/src/sorting.mjs +1 -1
- package/src/util.mjs +0 -62
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ or the [live example](https://arlac77.github.io/components/svelte-common/example
|
|
|
45
45
|
|
|
46
46
|
## filter
|
|
47
47
|
|
|
48
|
-
Generate filter function
|
|
48
|
+
Generate filter function.
|
|
49
49
|
|
|
50
50
|
### Parameters
|
|
51
51
|
|
|
@@ -114,7 +114,7 @@ Returns **WriteableStore** 
|
|
|
114
114
|
|
|
115
115
|
## tokens
|
|
116
116
|
|
|
117
|
-
Split property path into tokens
|
|
117
|
+
Split property path into tokens.
|
|
118
118
|
|
|
119
119
|
### Parameters
|
|
120
120
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-common",
|
|
3
|
-
"version": "4.21.
|
|
3
|
+
"version": "4.21.29",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"prepare": "vite build",
|
|
24
24
|
"start": "vite",
|
|
25
25
|
"test": "npm run test:ava && npm run test:cafe",
|
|
26
|
-
"test:cafe": "testcafe $BROWSER:headless tests/cafe/*.js -s build/test --page-request-timeout
|
|
26
|
+
"test:cafe": "testcafe $BROWSER:headless tests/cafe/*.js -s build/test --page-request-timeout 6000 --app-init-delay 10000 --app \"vite\"",
|
|
27
27
|
"test:ava": "ava --timeout 2m tests/*-ava.mjs tests/*-ava-node.mjs",
|
|
28
28
|
"cover": "c8 -x 'tests/**/*' --temp-directory build/tmp ava --timeout 2m tests/*-ava.mjs tests/*-ava-node.mjs && c8 report -r lcov -o build/coverage --temp-directory build/tmp",
|
|
29
29
|
"docs": "documentation readme --section=API ./src/**/*.mjs",
|
|
@@ -45,17 +45,17 @@
|
|
|
45
45
|
"c8": "^7.12.0",
|
|
46
46
|
"documentation": "^14.0.1",
|
|
47
47
|
"mf-styling": "^1.7.42",
|
|
48
|
-
"npm-pkgbuild": "^11.1.
|
|
48
|
+
"npm-pkgbuild": "^11.1.14",
|
|
49
49
|
"semantic-release": "^20.1.0",
|
|
50
50
|
"stylelint": "^14.16.1",
|
|
51
51
|
"stylelint-config-standard": "^29.0.0",
|
|
52
52
|
"svelte": "^3.55.1",
|
|
53
|
-
"testcafe": "^2.
|
|
53
|
+
"testcafe": "^2.3.0",
|
|
54
54
|
"vite": "^4.0.4"
|
|
55
55
|
},
|
|
56
56
|
"optionalDependencies": {
|
|
57
57
|
"mf-hosting-cloudflare": "^1.0.5",
|
|
58
|
-
"mf-hosting-frontend": "^1.6.
|
|
58
|
+
"mf-hosting-frontend": "^1.6.2"
|
|
59
59
|
},
|
|
60
60
|
"repository": {
|
|
61
61
|
"type": "git",
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* Split property path into tokens
|
|
4
|
+
* @param {string} string
|
|
5
|
+
* @return {Iterator<string>}
|
|
6
|
+
*/
|
|
7
|
+
function* tokens(string) {
|
|
8
|
+
let identifier = "";
|
|
9
|
+
|
|
10
|
+
for (const c of string) {
|
|
11
|
+
switch (c) {
|
|
12
|
+
case "\t":
|
|
13
|
+
case " ":
|
|
14
|
+
break;
|
|
15
|
+
|
|
16
|
+
case ">":
|
|
17
|
+
case "<":
|
|
18
|
+
|
|
19
|
+
case ".":
|
|
20
|
+
case "[":
|
|
21
|
+
case "]":
|
|
22
|
+
if (identifier.length) {
|
|
23
|
+
yield identifier;
|
|
24
|
+
identifier = "";
|
|
25
|
+
}
|
|
26
|
+
yield c;
|
|
27
|
+
break;
|
|
28
|
+
default:
|
|
29
|
+
identifier += c;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (identifier.length) {
|
|
34
|
+
yield identifier;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Set Object attribute.
|
|
40
|
+
* The name may be a property path like 'a.b.c'.
|
|
41
|
+
* @param {Object} object
|
|
42
|
+
* @param {string} name
|
|
43
|
+
* @param {any} value
|
|
44
|
+
*/
|
|
45
|
+
export function setAttribute(object, name, value) {
|
|
46
|
+
let lastObject = object;
|
|
47
|
+
let lastKey;
|
|
48
|
+
|
|
49
|
+
for (const token of tokens(name)) {
|
|
50
|
+
switch (token) {
|
|
51
|
+
case ">":
|
|
52
|
+
case "<":
|
|
53
|
+
case ".":
|
|
54
|
+
case "[":
|
|
55
|
+
case "]":
|
|
56
|
+
break;
|
|
57
|
+
|
|
58
|
+
default:
|
|
59
|
+
if (object[token] === undefined || typeof object[token] !== "object") {
|
|
60
|
+
object[token] = {};
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
lastObject = object;
|
|
64
|
+
lastKey = token;
|
|
65
|
+
|
|
66
|
+
object = object[token];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
lastObject[lastKey] = value;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Deliver attribute value.
|
|
75
|
+
* The name may be a property path like 'a.b.c'.
|
|
76
|
+
* @param {Object} object
|
|
77
|
+
* @param {string} name
|
|
78
|
+
* @returns {any} value associated with the given property name
|
|
79
|
+
*/
|
|
80
|
+
export function getAttribute(object, name) {
|
|
81
|
+
if (object && object[name] !== undefined) {
|
|
82
|
+
return object[name];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
for (const token of tokens(name)) {
|
|
86
|
+
switch (token) {
|
|
87
|
+
case ">":
|
|
88
|
+
case "<":
|
|
89
|
+
case ".":
|
|
90
|
+
case "[":
|
|
91
|
+
case "]":
|
|
92
|
+
break;
|
|
93
|
+
|
|
94
|
+
default:
|
|
95
|
+
if (object === undefined) {
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
object = object[token];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return object;
|
|
104
|
+
}
|
package/src/filter.mjs
CHANGED
package/src/sorting.mjs
CHANGED
package/src/util.mjs
CHANGED
|
@@ -164,65 +164,3 @@ export function keyPrefixStore(store, prefix) {
|
|
|
164
164
|
}
|
|
165
165
|
};
|
|
166
166
|
}
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
* Split property path into tokens.
|
|
170
|
-
* @param {string} string
|
|
171
|
-
* @return {Iterator<string>}
|
|
172
|
-
*/
|
|
173
|
-
function* tokens(string) {
|
|
174
|
-
let identifier = "";
|
|
175
|
-
|
|
176
|
-
for (const c of string) {
|
|
177
|
-
switch (c) {
|
|
178
|
-
case "\t":
|
|
179
|
-
case " ": break;
|
|
180
|
-
case ".":
|
|
181
|
-
case "[":
|
|
182
|
-
case "]":
|
|
183
|
-
if (identifier.length) {
|
|
184
|
-
yield identifier;
|
|
185
|
-
identifier = "";
|
|
186
|
-
}
|
|
187
|
-
yield c;
|
|
188
|
-
break;
|
|
189
|
-
default:
|
|
190
|
-
identifier += c;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (identifier.length) {
|
|
195
|
-
yield identifier;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
/**
|
|
200
|
-
* Deliver attribute value.
|
|
201
|
-
* The name may be a property path like 'a.b.c'.
|
|
202
|
-
* @param {Object} object
|
|
203
|
-
* @param {string} name
|
|
204
|
-
* @returns {any} value associated with the given property name
|
|
205
|
-
*/
|
|
206
|
-
export function getAttribute(object, name) {
|
|
207
|
-
if (object && object[name] !== undefined) {
|
|
208
|
-
return object[name];
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
for (const token of tokens(name)) {
|
|
212
|
-
switch (token) {
|
|
213
|
-
case ".":
|
|
214
|
-
case "[":
|
|
215
|
-
case "]":
|
|
216
|
-
break;
|
|
217
|
-
|
|
218
|
-
default:
|
|
219
|
-
if (object === undefined) {
|
|
220
|
-
break;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
object = object[token];
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
return object;
|
|
228
|
-
}
|