repository-provider 33.0.0 → 33.0.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/package.json +7 -7
- package/src/attribute.mjs +106 -46
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "repository-provider",
|
|
3
|
-
"version": "33.0.
|
|
3
|
+
"version": "33.0.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"license": "BSD-2-Clause",
|
|
22
22
|
"scripts": {
|
|
23
23
|
"test": "npm run test:browser-ava && npm run test:ava",
|
|
24
|
-
"test:ava": "ava --timeout 2m tests/*-ava.mjs tests/*-ava-node.mjs",
|
|
24
|
+
"test:ava": "ava --timeout 2m tests/*-ava.mjs tests/*-ava-node.mjs && ava --timeout 4m tests/*-ava.mjs tests/*-ava-node.mjs",
|
|
25
25
|
"test:browser-ava": "browser-ava --headless --no-keep-open tests/*-ava.mjs tests/*-ava-browser.mjs",
|
|
26
|
-
"cover": "c8 -x 'tests/**/*' --temp-directory build/tmp ava --timeout
|
|
26
|
+
"cover": "c8 -x 'tests/**/*' --temp-directory build/tmp ava --timeout 4m tests/*-ava.mjs tests/*-ava-node.mjs && c8 report -r lcov -o build/coverage --temp-directory build/tmp",
|
|
27
27
|
"docs": "documentation readme --section=API ./src/**/*.mjs",
|
|
28
28
|
"lint": "npm run lint:docs && npm run lint:tsc",
|
|
29
29
|
"lint:docs": "documentation lint ./src/**/*.mjs",
|
|
@@ -34,15 +34,15 @@
|
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"ava": "^5.3.1",
|
|
37
|
-
"browser-ava": "^1.3.
|
|
37
|
+
"browser-ava": "^1.3.60",
|
|
38
38
|
"c8": "^8.0.1",
|
|
39
39
|
"documentation": "^14.0.2",
|
|
40
|
-
"repository-provider-test-support": "^2.4.
|
|
41
|
-
"semantic-release": "^
|
|
40
|
+
"repository-provider-test-support": "^2.4.3",
|
|
41
|
+
"semantic-release": "^22.0.5",
|
|
42
42
|
"typescript": "^5.2.2"
|
|
43
43
|
},
|
|
44
44
|
"engines": {
|
|
45
|
-
"node": ">=18.
|
|
45
|
+
"node": ">=18.18.0"
|
|
46
46
|
},
|
|
47
47
|
"repository": {
|
|
48
48
|
"type": "git",
|
package/src/attribute.mjs
CHANGED
|
@@ -20,54 +20,87 @@
|
|
|
20
20
|
* @yields {string}
|
|
21
21
|
*/
|
|
22
22
|
export function* tokens(string) {
|
|
23
|
-
let
|
|
24
|
-
let identifier = "";
|
|
25
|
-
let last;
|
|
23
|
+
let state, buffer;
|
|
26
24
|
|
|
27
25
|
for (const c of string) {
|
|
28
26
|
switch (c) {
|
|
29
27
|
case "\t":
|
|
30
28
|
case " ":
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
29
|
+
switch (state) {
|
|
30
|
+
case undefined:
|
|
31
|
+
break;
|
|
32
|
+
case "string":
|
|
33
|
+
buffer += c;
|
|
34
|
+
break;
|
|
35
|
+
case "identifier":
|
|
36
|
+
yield buffer;
|
|
37
|
+
buffer = "";
|
|
38
|
+
state = undefined;
|
|
39
|
+
break;
|
|
40
|
+
default:
|
|
41
|
+
yield state;
|
|
42
|
+
state = undefined;
|
|
42
43
|
}
|
|
43
44
|
break;
|
|
44
45
|
|
|
45
46
|
case '"':
|
|
46
47
|
case "'":
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
switch (state) {
|
|
49
|
+
case undefined:
|
|
50
|
+
buffer = "";
|
|
51
|
+
state = "string";
|
|
52
|
+
break;
|
|
53
|
+
case "string":
|
|
54
|
+
yield buffer;
|
|
55
|
+
state = undefined;
|
|
56
|
+
break;
|
|
57
|
+
case "identifier":
|
|
58
|
+
yield buffer;
|
|
59
|
+
buffer = "";
|
|
60
|
+
state = "string";
|
|
61
|
+
break;
|
|
62
|
+
default:
|
|
63
|
+
yield state;
|
|
64
|
+
buffer = "";
|
|
65
|
+
state = "string";
|
|
53
66
|
}
|
|
54
67
|
break;
|
|
55
68
|
case "!":
|
|
56
69
|
case ">":
|
|
57
70
|
case "<":
|
|
58
|
-
|
|
59
|
-
|
|
71
|
+
switch (state) {
|
|
72
|
+
case undefined:
|
|
73
|
+
state = c;
|
|
74
|
+
break;
|
|
75
|
+
case "string":
|
|
76
|
+
buffer += c;
|
|
77
|
+
break;
|
|
78
|
+
case "identifier":
|
|
79
|
+
yield buffer;
|
|
80
|
+
state = c;
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
yield state;
|
|
84
|
+
state = c;
|
|
60
85
|
}
|
|
61
|
-
last = c;
|
|
62
86
|
break;
|
|
63
87
|
|
|
64
88
|
case "=":
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
89
|
+
switch (state) {
|
|
90
|
+
case undefined:
|
|
91
|
+
state = c;
|
|
92
|
+
break;
|
|
93
|
+
case "string":
|
|
94
|
+
buffer += c;
|
|
95
|
+
break;
|
|
96
|
+
case "identifier":
|
|
97
|
+
yield buffer;
|
|
98
|
+
state = c;
|
|
99
|
+
break;
|
|
100
|
+
default:
|
|
101
|
+
state += c;
|
|
69
102
|
}
|
|
70
|
-
|
|
103
|
+
break;
|
|
71
104
|
case ".":
|
|
72
105
|
case "+":
|
|
73
106
|
case "-":
|
|
@@ -77,30 +110,57 @@ export function* tokens(string) {
|
|
|
77
110
|
case ")":
|
|
78
111
|
case "[":
|
|
79
112
|
case "]":
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
113
|
+
switch (state) {
|
|
114
|
+
case undefined:
|
|
115
|
+
state = c;
|
|
116
|
+
break;
|
|
117
|
+
case "string":
|
|
118
|
+
buffer += c;
|
|
119
|
+
break;
|
|
120
|
+
case "identifier":
|
|
121
|
+
yield buffer;
|
|
122
|
+
state = c;
|
|
123
|
+
break;
|
|
124
|
+
default:
|
|
125
|
+
yield state;
|
|
126
|
+
state = c;
|
|
87
127
|
}
|
|
88
|
-
yield c;
|
|
89
128
|
break;
|
|
90
129
|
default:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
130
|
+
switch (state) {
|
|
131
|
+
case undefined:
|
|
132
|
+
buffer = c;
|
|
133
|
+
state = "identifier";
|
|
134
|
+
break;
|
|
135
|
+
case "string":
|
|
136
|
+
case "identifier":
|
|
137
|
+
buffer += c;
|
|
138
|
+
break;
|
|
139
|
+
default:
|
|
140
|
+
if (
|
|
141
|
+
(c >= "a" && c <= "z") ||
|
|
142
|
+
(c >= "A" && c <= "Z") ||
|
|
143
|
+
(c >= "0" && c <= "9") || c === '_'
|
|
144
|
+
) {
|
|
145
|
+
yield state;
|
|
146
|
+
state = "identifier";
|
|
147
|
+
buffer = c;
|
|
148
|
+
} else {
|
|
149
|
+
state += c;
|
|
150
|
+
}
|
|
94
151
|
}
|
|
95
|
-
identifier += c;
|
|
96
152
|
}
|
|
97
153
|
}
|
|
98
154
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
155
|
+
switch (state) {
|
|
156
|
+
case undefined:
|
|
157
|
+
break;
|
|
158
|
+
case "string":
|
|
159
|
+
case "identifier":
|
|
160
|
+
yield buffer;
|
|
161
|
+
break;
|
|
162
|
+
default:
|
|
163
|
+
yield state;
|
|
104
164
|
}
|
|
105
165
|
}
|
|
106
166
|
|
|
@@ -143,7 +203,7 @@ export function setAttribute(object, name, value) {
|
|
|
143
203
|
|
|
144
204
|
/**
|
|
145
205
|
* Deliver attribute value.
|
|
146
|
-
* The name may be a property path like 'a.b.c'
|
|
206
|
+
* The name may be a property path like 'a.b.c' or a[2]
|
|
147
207
|
* @param {Object} object
|
|
148
208
|
* @param {string} name
|
|
149
209
|
* @returns {any} value associated with the given property name
|