jssm 5.162.24 → 5.162.26

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.
@@ -3880,16 +3880,22 @@ declare function configure(opts: {
3880
3880
  declare function vc(col: string): string;
3881
3881
  /**
3882
3882
  * Escape a string for safe interpolation inside a DOT double-quoted
3883
- * attribute value. Replaces every `"` with `\"` so that group names,
3884
- * state labels, and chip labels containing literal double-quotes produce
3885
- * valid, parseable DOT source.
3883
+ * attribute value. Escapes every `\` and `"` so that group names, state
3884
+ * labels, and chip labels containing either character produce valid,
3885
+ * parseable DOT source.
3886
+ *
3887
+ * Backslash is escaped *first*: a label ending in `\` would otherwise emit
3888
+ * `label="a\"`, whose `\"` escapes the closing quote and corrupts the DOT so
3889
+ * the whole render throws. Escaping `\`→`\\` before `"`→`\"` avoids
3890
+ * double-escaping the backslashes the quote step introduces. StoneCypher/fsl#1951
3886
3891
  *
3887
3892
  * ```typescript
3888
- * doublequote('a"b'); // 'a\\"b'
3889
- * doublequote('safe'); // 'safe'
3893
+ * doublequote('a"b'); // 'a\\"b'
3894
+ * doublequote('a\\'); // 'a\\\\'
3895
+ * doublequote('safe'); // 'safe'
3890
3896
  * ```
3891
3897
  * @param txt Any string that will be placed inside `"…"` in a DOT attribute.
3892
- * @returns The string with every `"` replaced by `\"`.
3898
+ * @returns The string with every `\` and `"` backslash-escaped.
3893
3899
  * @internal
3894
3900
  */
3895
3901
  declare function doublequote(txt: string): string;
package/jssm_viz.es6.d.ts CHANGED
@@ -3880,16 +3880,22 @@ declare function configure(opts: {
3880
3880
  declare function vc(col: string): string;
3881
3881
  /**
3882
3882
  * Escape a string for safe interpolation inside a DOT double-quoted
3883
- * attribute value. Replaces every `"` with `\"` so that group names,
3884
- * state labels, and chip labels containing literal double-quotes produce
3885
- * valid, parseable DOT source.
3883
+ * attribute value. Escapes every `\` and `"` so that group names, state
3884
+ * labels, and chip labels containing either character produce valid,
3885
+ * parseable DOT source.
3886
+ *
3887
+ * Backslash is escaped *first*: a label ending in `\` would otherwise emit
3888
+ * `label="a\"`, whose `\"` escapes the closing quote and corrupts the DOT so
3889
+ * the whole render throws. Escaping `\`→`\\` before `"`→`\"` avoids
3890
+ * double-escaping the backslashes the quote step introduces. StoneCypher/fsl#1951
3886
3891
  *
3887
3892
  * ```typescript
3888
- * doublequote('a"b'); // 'a\\"b'
3889
- * doublequote('safe'); // 'safe'
3893
+ * doublequote('a"b'); // 'a\\"b'
3894
+ * doublequote('a\\'); // 'a\\\\'
3895
+ * doublequote('safe'); // 'safe'
3890
3896
  * ```
3891
3897
  * @param txt Any string that will be placed inside `"…"` in a DOT attribute.
3892
- * @returns The string with every `"` replaced by `\"`.
3898
+ * @returns The string with every `\` and `"` backslash-escaped.
3893
3899
  * @internal
3894
3900
  */
3895
3901
  declare function doublequote(txt: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jssm",
3
- "version": "5.162.24",
3
+ "version": "5.162.26",
4
4
  "engines": {
5
5
  "node": ">=10.0.0"
6
6
  },