repository-provider 33.0.1 → 33.0.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 CHANGED
@@ -482,7 +482,7 @@ The name may be a property path like 'a.b.c'.
482
482
  ## getAttribute
483
483
 
484
484
  Deliver attribute value.
485
- The name may be a property path like 'a.b.c'.
485
+ The name may be a property path like 'a.b.c' or a\[2]
486
486
 
487
487
  ### Parameters
488
488
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repository-provider",
3
- "version": "33.0.1",
3
+ "version": "33.0.2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/src/attribute.mjs CHANGED
@@ -23,6 +23,21 @@ export function* tokens(string) {
23
23
  let state, buffer;
24
24
 
25
25
  for (const c of string) {
26
+ switch (state) {
27
+ case "string-escaping":
28
+ const esc = {
29
+ "\\": "\\",
30
+ t: "\t",
31
+ b: "\b",
32
+ r: "\r",
33
+ n: "\n",
34
+ f: "\f"
35
+ };
36
+ buffer += esc[c];
37
+ state = "string";
38
+ continue;
39
+ }
40
+
26
41
  switch (c) {
27
42
  case "\t":
28
43
  case " ":
@@ -43,6 +58,13 @@ export function* tokens(string) {
43
58
  }
44
59
  break;
45
60
 
61
+ case "\\":
62
+ switch (state) {
63
+ case "string":
64
+ state = "string-escaping";
65
+ break;
66
+ }
67
+ break;
46
68
  case '"':
47
69
  case "'":
48
70
  switch (state) {
@@ -140,7 +162,8 @@ export function* tokens(string) {
140
162
  if (
141
163
  (c >= "a" && c <= "z") ||
142
164
  (c >= "A" && c <= "Z") ||
143
- (c >= "0" && c <= "9") || c === '_'
165
+ (c >= "0" && c <= "9") ||
166
+ c === "_"
144
167
  ) {
145
168
  yield state;
146
169
  state = "identifier";
@@ -156,6 +179,7 @@ export function* tokens(string) {
156
179
  case undefined:
157
180
  break;
158
181
  case "string":
182
+ throw new Error("unterminated string");
159
183
  case "identifier":
160
184
  yield buffer;
161
185
  break;