@adea-ai/themes 0.4.1 → 0.4.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.
|
@@ -104,14 +104,5 @@ export declare function toBase24(theme: AdeaTheme, options?: {
|
|
|
104
104
|
}): Base24Scheme;
|
|
105
105
|
/** Serialises a scheme to the YAML dialect Base24 schemes are published in. */
|
|
106
106
|
export declare function formatBase24Scheme(scheme: Base24Scheme): string;
|
|
107
|
-
/**
|
|
108
|
-
* Reads the YAML dialect Base24 schemes are published in.
|
|
109
|
-
*
|
|
110
|
-
* Hand-written rather than pulled from a YAML library: the format is a fixed set
|
|
111
|
-
* of scalar keys, the package has no runtime dependencies and no build-time
|
|
112
|
-
* dependencies beyond the TypeScript compiler, and a general parser would accept
|
|
113
|
-
* documents this bridge cannot actually honour. Anything outside the specification
|
|
114
|
-
* is rejected loudly instead of being parsed into a half-scheme.
|
|
115
|
-
*/
|
|
116
107
|
export declare function parseBase24Scheme(source: string): Base24Scheme;
|
|
117
108
|
//# sourceMappingURL=base24.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base24.d.ts","sourceRoot":"","sources":["../../src/adapters/base24.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAY,SAAS,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAGrC,+EAA+E;AAC/E,eAAO,MAAM,YAAY,2PAyBf,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,uFAAuF;AACvF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;AAEhE,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IACzB,OAAO,EAAE,aAAa,CAAA;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAyBnE,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;EAasC,CAAA;AAEjE,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAI/D,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC,CAmBxF,CAAA;AAEJ,8EAA8E;AAC9E,qBAAa,gBAAiB,SAAQ,KAAK;IAGvC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADrB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM;CAKxB;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAcpF;AAcD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,YAAY,CAgDd;AAQD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAU/D;
|
|
1
|
+
{"version":3,"file":"base24.d.ts","sourceRoot":"","sources":["../../src/adapters/base24.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAY,SAAS,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACrE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAGrC,+EAA+E;AAC/E,eAAO,MAAM,YAAY,2PAyBf,CAAA;AAEV,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAA;AAEtD,uFAAuF;AACvF,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAA;AAEhE,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,QAAQ,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,OAAO,CAAA;IACzB,OAAO,EAAE,aAAa,CAAA;CACvB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAyBnE,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;EAasC,CAAA;AAEjE,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAI/D,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,eAAe,EAAE,UAAU,GAAG,SAAS,CAAC,CAmBxF,CAAA;AAEJ,8EAA8E;AAC9E,qBAAa,gBAAiB,SAAQ,KAAK;IAGvC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADrB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM;CAKxB;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAcpF;AAcD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,YAAY,CAgDd;AAQD,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAU/D;AAmCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAwD9D"}
|
package/dist/adapters/base24.js
CHANGED
|
@@ -256,6 +256,31 @@ export function formatBase24Scheme(scheme) {
|
|
|
256
256
|
* documents this bridge cannot actually honour. Anything outside the specification
|
|
257
257
|
* is rejected loudly instead of being parsed into a half-scheme.
|
|
258
258
|
*/
|
|
259
|
+
/**
|
|
260
|
+
* A line with its trailing `#` comment removed.
|
|
261
|
+
*
|
|
262
|
+
* Written as a scan rather than `replace(/\s+#.*$/, '')`, which is what it was: that
|
|
263
|
+
* pattern is a quantified `\s+` followed by `.*`, so on a line with many spaces and no
|
|
264
|
+
* `#` the engine retries every split of the run at every start position — quadratic
|
|
265
|
+
* in the line length, on input this function does not control. CodeQL reports it as
|
|
266
|
+
* `js/polynomial-redos`, which is how it was found.
|
|
267
|
+
*
|
|
268
|
+
* The semantics are the ones the pattern had, including the part that is easy to get
|
|
269
|
+
* wrong when rewriting: a `#` is only a comment marker when **whitespace precedes
|
|
270
|
+
* it**, so a line that *begins* with `#` is not stripped here. Those lines are
|
|
271
|
+
* skipped later, by the `separator === -1` check — a leading `#` has no `:` to split
|
|
272
|
+
* on — so the outcome is the same and this stays a faithful replacement.
|
|
273
|
+
*/
|
|
274
|
+
function stripTrailingComment(line) {
|
|
275
|
+
for (let index = 1; index < line.length; index += 1) {
|
|
276
|
+
if (line[index] !== '#')
|
|
277
|
+
continue;
|
|
278
|
+
// A single-character test, so there is nothing to backtrack over.
|
|
279
|
+
if (/\s/.test(line[index - 1]))
|
|
280
|
+
return line.slice(0, index);
|
|
281
|
+
}
|
|
282
|
+
return line;
|
|
283
|
+
}
|
|
259
284
|
export function parseBase24Scheme(source) {
|
|
260
285
|
const scalars = new Map();
|
|
261
286
|
const palette = new Map();
|
|
@@ -263,7 +288,7 @@ export function parseBase24Scheme(source) {
|
|
|
263
288
|
for (const rawLine of source.split('\n')) {
|
|
264
289
|
// Strip comments before trimming so the dataset's provenance comments, which
|
|
265
290
|
// sit on the same line as a value, do not end up inside the colour string.
|
|
266
|
-
const line = rawLine
|
|
291
|
+
const line = stripTrailingComment(rawLine).trimEnd();
|
|
267
292
|
if (line.trim().length === 0)
|
|
268
293
|
continue;
|
|
269
294
|
const indented = /^\s/.test(line);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base24.js","sourceRoot":"","sources":["../../src/adapters/base24.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAIH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAElD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAA;AAgBV;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAyC,MAAM,CAAC,MAAM,CAAC;IACrF,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,gDAAgD;IACxD,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,+BAA+B;IACvC,MAAM,EAAE,uCAAuC;IAC/C,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,mCAAmC;IAC3C,MAAM,EAAE,oCAAoC;IAC5C,MAAM,EAAE,0CAA0C;IAClD,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,mCAAmC;IAC3C,MAAM,EAAE,8BAA8B;IACtC,MAAM,EAAE,6BAA6B;IACrC,MAAM,EAAE,2BAA2B;IACnC,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,gBAAgB;CACzB,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,QAAQ;IACjB,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,QAAQ;IACtB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,QAAQ;CACuC,CAAC,CAAA;AAEjE,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAAyC,MAAM,CAAC,MAAM,CAC/E,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACrC,CAChC,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,eAAe,GAC1B,MAAM,CAAC,MAAM,CAAC;IACZ,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,SAAS;IAC1B,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,MAAM,EAAE,SAAS;IACjB,WAAW,EAAE,SAAS;IACtB,IAAI,EAAE,QAAQ;IACd,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE,QAAQ;IACpB,MAAM,EAAE,QAAQ;IAChB,gBAAgB,EAAE,SAAS;IAC3B,OAAO,EAAE,QAAQ;IACjB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,QAAQ;CACf,CAAC,CAAA;AAEJ,8EAA8E;AAC9E,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAG9B;IAFX,YACE,OAAe,EACN,IAAY;QAErB,KAAK,CAAC,OAAO,CAAC,CAAA;QAFL,SAAI,GAAJ,IAAI,CAAQ;QAGrB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF;AAED,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,MAAM,MAAM,GAAG,EAA+B,CAAA;IAC9C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,gBAAgB,CAAC,eAAe,IAAI,aAAa,EAAE,IAAI,CAAC,CAAA;QACpE,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,gBAAgB,CAAC,eAAe,IAAI,qBAAqB,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACzF,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;IACtB,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,KAAY,EAAE,OAAe;IAC9C,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAA;AACzD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,KAAgB,EAChB,UAA8C,EAAE;IAEhD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACtE,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAEpD,MAAM,OAAO,GAA+B;QAC1C,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;QACxB,MAAM,EAAE,KAAK,CAAC,SAAS;QACvB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;QAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;QACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG;QACtB,4EAA4E;QAC5E,4CAA4C;QAC5C,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;QACzB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK;QACxB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACvB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;QACvB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO;QAC1B,MAAM,EAAE,WAAW,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,WAAW,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3E,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS;QAC5B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY;QAC/B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW;QAC9B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;QAC7B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;QAC7B,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa;KACjC,CAAA;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,4EAA4E;IAC5E,cAAc;IACd,KAAK,IAAI,CAAA;IAET,OAAO;QACL,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI;QAChC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,MAAM;QAChC,OAAO,EAAE,KAAK,CAAC,UAAU;QACzB,OAAO;KACR,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,IAAY;IAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,qBAAqB,KAAK,EAAE,CAAC,CAAA;IAC3E,OAAO,KAAK,CAAA;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,KAAK,GAAG;QACZ,kBAAkB;QAClB,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACtC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC1C,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAC5C,UAAU;QACV,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;KACpF,CAAA;IACD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IACzC,IAAI,SAAS,GAAG,KAAK,CAAA;IAErB,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,6EAA6E;QAC7E,2EAA2E;QAC3E,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"base24.js","sourceRoot":"","sources":["../../src/adapters/base24.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/adapters/base24.ts
CHANGED
|
@@ -296,6 +296,30 @@ export function formatBase24Scheme(scheme: Base24Scheme): string {
|
|
|
296
296
|
* documents this bridge cannot actually honour. Anything outside the specification
|
|
297
297
|
* is rejected loudly instead of being parsed into a half-scheme.
|
|
298
298
|
*/
|
|
299
|
+
/**
|
|
300
|
+
* A line with its trailing `#` comment removed.
|
|
301
|
+
*
|
|
302
|
+
* Written as a scan rather than `replace(/\s+#.*$/, '')`, which is what it was: that
|
|
303
|
+
* pattern is a quantified `\s+` followed by `.*`, so on a line with many spaces and no
|
|
304
|
+
* `#` the engine retries every split of the run at every start position — quadratic
|
|
305
|
+
* in the line length, on input this function does not control. CodeQL reports it as
|
|
306
|
+
* `js/polynomial-redos`, which is how it was found.
|
|
307
|
+
*
|
|
308
|
+
* The semantics are the ones the pattern had, including the part that is easy to get
|
|
309
|
+
* wrong when rewriting: a `#` is only a comment marker when **whitespace precedes
|
|
310
|
+
* it**, so a line that *begins* with `#` is not stripped here. Those lines are
|
|
311
|
+
* skipped later, by the `separator === -1` check — a leading `#` has no `:` to split
|
|
312
|
+
* on — so the outcome is the same and this stays a faithful replacement.
|
|
313
|
+
*/
|
|
314
|
+
function stripTrailingComment(line: string): string {
|
|
315
|
+
for (let index = 1; index < line.length; index += 1) {
|
|
316
|
+
if (line[index] !== '#') continue
|
|
317
|
+
// A single-character test, so there is nothing to backtrack over.
|
|
318
|
+
if (/\s/.test(line[index - 1]!)) return line.slice(0, index)
|
|
319
|
+
}
|
|
320
|
+
return line
|
|
321
|
+
}
|
|
322
|
+
|
|
299
323
|
export function parseBase24Scheme(source: string): Base24Scheme {
|
|
300
324
|
const scalars = new Map<string, string>()
|
|
301
325
|
const palette = new Map<string, string>()
|
|
@@ -304,7 +328,7 @@ export function parseBase24Scheme(source: string): Base24Scheme {
|
|
|
304
328
|
for (const rawLine of source.split('\n')) {
|
|
305
329
|
// Strip comments before trimming so the dataset's provenance comments, which
|
|
306
330
|
// sit on the same line as a value, do not end up inside the colour string.
|
|
307
|
-
const line = rawLine
|
|
331
|
+
const line = stripTrailingComment(rawLine).trimEnd()
|
|
308
332
|
if (line.trim().length === 0) continue
|
|
309
333
|
|
|
310
334
|
const indented = /^\s/.test(line)
|