polytypo 1.17.3 → 1.17.5

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.
Files changed (47) hide show
  1. package/dist/{chunk-VN74ZZ7T.cjs → chunk-5NNYCXAY.cjs} +6 -6
  2. package/dist/{chunk-VN74ZZ7T.cjs.map → chunk-5NNYCXAY.cjs.map} +1 -1
  3. package/dist/{chunk-Q2Q6RTFR.cjs → chunk-6K24ORC5.cjs} +75 -5
  4. package/dist/chunk-6K24ORC5.cjs.map +1 -0
  5. package/dist/{chunk-YB4Q4CNR.js → chunk-6LD3PNML.js} +2 -2
  6. package/dist/chunk-DY6SB6P5.cjs +34 -0
  7. package/dist/{chunk-GPSJ2LSQ.cjs.map → chunk-DY6SB6P5.cjs.map} +1 -1
  8. package/dist/{chunk-DJBCBD3H.cjs → chunk-GBCWL22D.cjs} +3 -3
  9. package/dist/{chunk-DJBCBD3H.cjs.map → chunk-GBCWL22D.cjs.map} +1 -1
  10. package/dist/{chunk-BF7Y3XOK.js → chunk-GDPTDX27.js} +4 -4
  11. package/dist/{chunk-YORJFKJB.js → chunk-H6XVGE3W.js} +3 -3
  12. package/dist/{chunk-VCSOI5A3.cjs → chunk-J5QSJEEK.cjs} +23 -23
  13. package/dist/{chunk-VCSOI5A3.cjs.map → chunk-J5QSJEEK.cjs.map} +1 -1
  14. package/dist/{chunk-KVNI6H7J.js → chunk-JY3LROUM.js} +2 -2
  15. package/dist/{chunk-5IUMYLJS.cjs → chunk-MNKTURJI.cjs} +4 -4
  16. package/dist/{chunk-5IUMYLJS.cjs.map → chunk-MNKTURJI.cjs.map} +1 -1
  17. package/dist/chunk-O4QRECCM.cjs +36 -0
  18. package/dist/{chunk-7GZ6IBTA.cjs.map → chunk-O4QRECCM.cjs.map} +1 -1
  19. package/dist/{chunk-QSH5HNF5.js → chunk-QDCBN2MY.js} +3 -3
  20. package/dist/{chunk-P73KB7OU.js → chunk-QSGNKUHE.js} +75 -5
  21. package/dist/{chunk-P73KB7OU.js.map → chunk-QSGNKUHE.js.map} +1 -1
  22. package/dist/{chunk-DYZ6NA2E.js → chunk-S3O4HAUT.js} +2 -2
  23. package/dist/chunk-WSJG4QWF.cjs +38 -0
  24. package/dist/{chunk-WVNFMNE7.cjs.map → chunk-WSJG4QWF.cjs.map} +1 -1
  25. package/dist/{chunk-XF4D4XN5.js → chunk-YEV5P25M.js} +2 -2
  26. package/dist/html.cjs +9 -9
  27. package/dist/html.js +4 -4
  28. package/dist/index.cjs +17 -17
  29. package/dist/index.js +7 -7
  30. package/dist/markdown.cjs +10 -10
  31. package/dist/markdown.js +5 -5
  32. package/dist/text.cjs +8 -8
  33. package/dist/text.js +3 -3
  34. package/dist/yaml.cjs +9 -9
  35. package/dist/yaml.js +4 -4
  36. package/package.json +1 -1
  37. package/dist/chunk-7GZ6IBTA.cjs +0 -36
  38. package/dist/chunk-GPSJ2LSQ.cjs +0 -34
  39. package/dist/chunk-Q2Q6RTFR.cjs.map +0 -1
  40. package/dist/chunk-WVNFMNE7.cjs +0 -38
  41. /package/dist/{chunk-YB4Q4CNR.js.map → chunk-6LD3PNML.js.map} +0 -0
  42. /package/dist/{chunk-BF7Y3XOK.js.map → chunk-GDPTDX27.js.map} +0 -0
  43. /package/dist/{chunk-YORJFKJB.js.map → chunk-H6XVGE3W.js.map} +0 -0
  44. /package/dist/{chunk-KVNI6H7J.js.map → chunk-JY3LROUM.js.map} +0 -0
  45. /package/dist/{chunk-QSH5HNF5.js.map → chunk-QDCBN2MY.js.map} +0 -0
  46. /package/dist/{chunk-DYZ6NA2E.js.map → chunk-S3O4HAUT.js.map} +0 -0
  47. /package/dist/{chunk-XF4D4XN5.js.map → chunk-YEV5P25M.js.map} +0 -0
@@ -0,0 +1,36 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunk5NNYCXAYcjs = require('./chunk-5NNYCXAY.cjs');
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+ var _chunk6K24ORC5cjs = require('./chunk-6K24ORC5.cjs');
13
+
14
+ // src/engine/yaml-pipeline.ts
15
+ function runYamlPipeline(input, options) {
16
+ const narrowTarget = _chunk6K24ORC5cjs.resolveNarrowTarget.call(void 0, options.narrowNbsp);
17
+ const planned = _chunk6K24ORC5cjs.planRules.call(void 0, options.rules);
18
+ const locale = _chunk6K24ORC5cjs.getLocaleData.call(void 0, options.locale);
19
+ const keys = _chunk5NNYCXAYcjs.resolveYamlKeys.call(void 0, options.keys);
20
+ _chunk6K24ORC5cjs.assertNoProtect.call(void 0, options.protect, "yaml");
21
+ return _chunk6K24ORC5cjs.runOverSpans.call(void 0, input, _chunk5NNYCXAYcjs.yamlSpans.call(void 0, input, keys), planned, locale, "yaml", narrowTarget);
22
+ }
23
+ function analyzeYamlPipeline(input, options) {
24
+ const narrowTarget = _chunk6K24ORC5cjs.resolveNarrowTarget.call(void 0, options.narrowNbsp);
25
+ const planned = _chunk6K24ORC5cjs.planRules.call(void 0, options.rules);
26
+ const locale = _chunk6K24ORC5cjs.getLocaleData.call(void 0, options.locale);
27
+ const keys = _chunk5NNYCXAYcjs.resolveYamlKeys.call(void 0, options.keys);
28
+ _chunk6K24ORC5cjs.assertNoProtect.call(void 0, options.protect, "yaml");
29
+ return _chunk6K24ORC5cjs.analyzeOverSpans.call(void 0, input, _chunk5NNYCXAYcjs.yamlSpans.call(void 0, input, keys), planned, locale, "yaml", narrowTarget);
30
+ }
31
+
32
+
33
+
34
+
35
+ exports.runYamlPipeline = runYamlPipeline; exports.analyzeYamlPipeline = analyzeYamlPipeline;
36
+ //# sourceMappingURL=chunk-O4QRECCM.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/polytypo-js/polytypo-js/dist/chunk-7GZ6IBTA.cjs","../src/engine/yaml-pipeline.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACIO,SAAS,eAAA,CAAgB,KAAA,EAAe,OAAA,EAAmC;AAChF,EAAA,MAAM,aAAA,EAAe,mDAAA,OAAoB,CAAQ,UAAU,CAAA;AAC3D,EAAA,MAAM,QAAA,EAAU,yCAAA,OAAU,CAAQ,KAAK,CAAA;AACvC,EAAA,MAAM,OAAA,EAAS,6CAAA,OAAc,CAAQ,MAAM,CAAA;AAC3C,EAAA,MAAM,KAAA,EAAO,+CAAA,OAAgB,CAAQ,IAAI,CAAA;AACzC,EAAA,+CAAA,OAAgB,CAAQ,OAAA,EAAS,MAAM,CAAA;AACvC,EAAA,OAAO,4CAAA,KAAa,EAAO,yCAAA,KAAU,EAAO,IAAI,CAAA,EAAG,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,YAAY,CAAA;AAC1F;AAGO,SAAS,mBAAA,CAAoB,KAAA,EAAe,OAAA,EAAqC;AACtF,EAAA,MAAM,aAAA,EAAe,mDAAA,OAAoB,CAAQ,UAAU,CAAA;AAC3D,EAAA,MAAM,QAAA,EAAU,yCAAA,OAAU,CAAQ,KAAK,CAAA;AACvC,EAAA,MAAM,OAAA,EAAS,6CAAA,OAAc,CAAQ,MAAM,CAAA;AAC3C,EAAA,MAAM,KAAA,EAAO,+CAAA,OAAgB,CAAQ,IAAI,CAAA;AACzC,EAAA,+CAAA,OAAgB,CAAQ,OAAA,EAAS,MAAM,CAAA;AACvC,EAAA,OAAO,gDAAA,KAAiB,EAAO,yCAAA,KAAU,EAAO,IAAI,CAAA,EAAG,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,YAAY,CAAA;AAC9F;ADJA;AACA;AACE;AACA;AACF,6FAAC","file":"/home/runner/work/polytypo-js/polytypo-js/dist/chunk-7GZ6IBTA.cjs","sourcesContent":[null,"import { yamlSpans } from \"../modes/yaml.js\";\nimport type { Options } from \"../types.js\";\nimport { getLocaleData } from \"./locale.js\";\nimport { resolveNarrowTarget } from \"./narrow-target.js\";\nimport { resolveYamlKeys } from \"./yaml-keys.js\";\nimport { assertNoProtect } from \"./protect.js\";\nimport { planRules } from \"./rule-runner.js\";\nimport { analyzeOverSpans, runOverSpans } from \"./span-runner.js\";\nimport type { Change } from \"./origin.js\";\n\n/**\n * `yaml` mode only, and the only mode pipeline with **no parser dependency at all** — span\n * selection is the specified scan of modes.md 3.8, not a library. There is likewise no\n * `POLYTYPO_MALFORMED_INPUT` counterpart here: with no declared grammar to violate, a file that\n * is not YAML yields few spans or none and comes back byte for byte (modes.md 3.8.3). The only\n * throw this mode adds is `keys`, which is about the call and not the input.\n */\nexport function runYamlPipeline(input: string, options: Partial<Options>): string {\n const narrowTarget = resolveNarrowTarget(options.narrowNbsp);\n const planned = planRules(options.rules);\n const locale = getLocaleData(options.locale);\n const keys = resolveYamlKeys(options.keys);\n assertNoProtect(options.protect, \"yaml\");\n return runOverSpans(input, yamlSpans(input, keys), planned, locale, \"yaml\", narrowTarget);\n}\n\n/** analyze.md §1, `yaml` mode: offsets are into the document, not into a span (analyze.md §6). */\nexport function analyzeYamlPipeline(input: string, options: Partial<Options>): Change[] {\n const narrowTarget = resolveNarrowTarget(options.narrowNbsp);\n const planned = planRules(options.rules);\n const locale = getLocaleData(options.locale);\n const keys = resolveYamlKeys(options.keys);\n assertNoProtect(options.protect, \"yaml\");\n return analyzeOverSpans(input, yamlSpans(input, keys), planned, locale, \"yaml\", narrowTarget);\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/polytypo-js/polytypo-js/dist/chunk-O4QRECCM.cjs","../src/engine/yaml-pipeline.ts"],"names":[],"mappings":"AAAA;AACE;AACA;AACF,wDAA6B;AAC7B;AACE;AACA;AACA;AACA;AACA;AACA;AACF,wDAA6B;AAC7B;AACA;ACIO,SAAS,eAAA,CAAgB,KAAA,EAAe,OAAA,EAAmC;AAChF,EAAA,MAAM,aAAA,EAAe,mDAAA,OAAoB,CAAQ,UAAU,CAAA;AAC3D,EAAA,MAAM,QAAA,EAAU,yCAAA,OAAU,CAAQ,KAAK,CAAA;AACvC,EAAA,MAAM,OAAA,EAAS,6CAAA,OAAc,CAAQ,MAAM,CAAA;AAC3C,EAAA,MAAM,KAAA,EAAO,+CAAA,OAAgB,CAAQ,IAAI,CAAA;AACzC,EAAA,+CAAA,OAAgB,CAAQ,OAAA,EAAS,MAAM,CAAA;AACvC,EAAA,OAAO,4CAAA,KAAa,EAAO,yCAAA,KAAU,EAAO,IAAI,CAAA,EAAG,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,YAAY,CAAA;AAC1F;AAGO,SAAS,mBAAA,CAAoB,KAAA,EAAe,OAAA,EAAqC;AACtF,EAAA,MAAM,aAAA,EAAe,mDAAA,OAAoB,CAAQ,UAAU,CAAA;AAC3D,EAAA,MAAM,QAAA,EAAU,yCAAA,OAAU,CAAQ,KAAK,CAAA;AACvC,EAAA,MAAM,OAAA,EAAS,6CAAA,OAAc,CAAQ,MAAM,CAAA;AAC3C,EAAA,MAAM,KAAA,EAAO,+CAAA,OAAgB,CAAQ,IAAI,CAAA;AACzC,EAAA,+CAAA,OAAgB,CAAQ,OAAA,EAAS,MAAM,CAAA;AACvC,EAAA,OAAO,gDAAA,KAAiB,EAAO,yCAAA,KAAU,EAAO,IAAI,CAAA,EAAG,OAAA,EAAS,MAAA,EAAQ,MAAA,EAAQ,YAAY,CAAA;AAC9F;ADJA;AACA;AACE;AACA;AACF,6FAAC","file":"/home/runner/work/polytypo-js/polytypo-js/dist/chunk-O4QRECCM.cjs","sourcesContent":[null,"import { yamlSpans } from \"../modes/yaml.js\";\nimport type { Options } from \"../types.js\";\nimport { getLocaleData } from \"./locale.js\";\nimport { resolveNarrowTarget } from \"./narrow-target.js\";\nimport { resolveYamlKeys } from \"./yaml-keys.js\";\nimport { assertNoProtect } from \"./protect.js\";\nimport { planRules } from \"./rule-runner.js\";\nimport { analyzeOverSpans, runOverSpans } from \"./span-runner.js\";\nimport type { Change } from \"./origin.js\";\n\n/**\n * `yaml` mode only, and the only mode pipeline with **no parser dependency at all** — span\n * selection is the specified scan of modes.md 3.8, not a library. There is likewise no\n * `POLYTYPO_MALFORMED_INPUT` counterpart here: with no declared grammar to violate, a file that\n * is not YAML yields few spans or none and comes back byte for byte (modes.md 3.8.3). The only\n * throw this mode adds is `keys`, which is about the call and not the input.\n */\nexport function runYamlPipeline(input: string, options: Partial<Options>): string {\n const narrowTarget = resolveNarrowTarget(options.narrowNbsp);\n const planned = planRules(options.rules);\n const locale = getLocaleData(options.locale);\n const keys = resolveYamlKeys(options.keys);\n assertNoProtect(options.protect, \"yaml\");\n return runOverSpans(input, yamlSpans(input, keys), planned, locale, \"yaml\", narrowTarget);\n}\n\n/** analyze.md §1, `yaml` mode: offsets are into the document, not into a span (analyze.md §6). */\nexport function analyzeYamlPipeline(input: string, options: Partial<Options>): Change[] {\n const narrowTarget = resolveNarrowTarget(options.narrowNbsp);\n const planned = planRules(options.rules);\n const locale = getLocaleData(options.locale);\n const keys = resolveYamlKeys(options.keys);\n assertNoProtect(options.protect, \"yaml\");\n return analyzeOverSpans(input, yamlSpans(input, keys), planned, locale, \"yaml\", narrowTarget);\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveYamlKeys,
3
3
  yamlSpans
4
- } from "./chunk-KVNI6H7J.js";
4
+ } from "./chunk-JY3LROUM.js";
5
5
  import {
6
6
  analyzeOverSpans,
7
7
  assertNoProtect,
@@ -9,7 +9,7 @@ import {
9
9
  planRules,
10
10
  resolveNarrowTarget,
11
11
  runOverSpans
12
- } from "./chunk-P73KB7OU.js";
12
+ } from "./chunk-QSGNKUHE.js";
13
13
 
14
14
  // src/engine/yaml-pipeline.ts
15
15
  function runYamlPipeline(input, options) {
@@ -33,4 +33,4 @@ export {
33
33
  runYamlPipeline,
34
34
  analyzeYamlPipeline
35
35
  };
36
- //# sourceMappingURL=chunk-QSH5HNF5.js.map
36
+ //# sourceMappingURL=chunk-QDCBN2MY.js.map
@@ -5933,7 +5933,72 @@ function changesDelimiterFlank(cp, p, q, w) {
5933
5933
  }
5934
5934
  return false;
5935
5935
  }
5936
- function filterBoundaryEdits(cp, edits, ranges, delimiterNeighbours = false, guarded = []) {
5936
+ function isAsciiPunctuation(c) {
5937
+ if (c === void 0) return false;
5938
+ return c >= 33 && c <= 47 || c >= 58 && c <= 64 || c >= 91 && c <= 96 || c >= 123 && c <= 126;
5939
+ }
5940
+ function isAsciiAlphanumeric2(c) {
5941
+ if (c === void 0) return false;
5942
+ return c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122;
5943
+ }
5944
+ function createsEscape(cp, p, q, w) {
5945
+ if (p - 1 < 0 || cp[p - 1] !== 92) return false;
5946
+ const before = cp[p];
5947
+ const after = w.length > 0 ? w[0] : cp[q + 1];
5948
+ return isAsciiPunctuation(before) !== isAsciiPunctuation(after);
5949
+ }
5950
+ function createsReference(cp, p, q, w) {
5951
+ if (w.length !== 0 || p - 1 < 0 || q + 1 >= cp.length) return false;
5952
+ let left = p - 1;
5953
+ let alnum = 0;
5954
+ while (left >= 0 && isAsciiAlphanumeric2(cp[left])) {
5955
+ left -= 1;
5956
+ alnum += 1;
5957
+ }
5958
+ let right = q + 1;
5959
+ if (cp[left] === 38 && cp[right] === 35 && alnum === 0) right += 1;
5960
+ while (right < cp.length && isAsciiAlphanumeric2(cp[right])) {
5961
+ right += 1;
5962
+ alnum += 1;
5963
+ }
5964
+ if (cp[right] !== 59 || alnum === 0) return false;
5965
+ if (left >= 0 && cp[left] === 35) left -= 1;
5966
+ return left >= 0 && cp[left] === 38;
5967
+ }
5968
+ var SPACE_CP = 32;
5969
+ var BRACKET_OPEN = 91;
5970
+ var BRACKET_CLOSE = 93;
5971
+ var CARET2 = 94;
5972
+ function isX(c) {
5973
+ return c === 120 || c === 88;
5974
+ }
5975
+ function isLabelCharacter(c) {
5976
+ return c !== void 0 && c >= 0 && c !== SPACE_CP && c !== BRACKET_OPEN && c !== BRACKET_CLOSE;
5977
+ }
5978
+ function skipSpaces(cp, i, step) {
5979
+ let k = i;
5980
+ while (k >= 0 && k < cp.length && cp[k] === SPACE_CP) k += step;
5981
+ return k;
5982
+ }
5983
+ function createsBracketShape(cp, p, q, w) {
5984
+ const isCollapse = w.length === 1 && w[0] === SPACE_CP;
5985
+ if (w.length !== 0 && !isCollapse) return false;
5986
+ const a = skipSpaces(cp, p - 1, -1);
5987
+ const b = skipSpaces(cp, q + 1, 1);
5988
+ if (isCollapse) return cp[a] === BRACKET_OPEN && cp[b] === BRACKET_CLOSE;
5989
+ if (cp[a] === BRACKET_OPEN && cp[b] === BRACKET_CLOSE) return true;
5990
+ if (cp[a] === BRACKET_OPEN) {
5991
+ if (cp[b] === CARET2) return true;
5992
+ return isX(cp[b]) && cp[skipSpaces(cp, b + 1, 1)] === BRACKET_CLOSE;
5993
+ }
5994
+ if (cp[b] !== BRACKET_CLOSE) return false;
5995
+ if (isX(cp[a]) && cp[skipSpaces(cp, a - 1, -1)] === BRACKET_OPEN) return true;
5996
+ let run = a;
5997
+ while (run >= 0 && isLabelCharacter(cp[run])) run -= 1;
5998
+ const first = run + 1;
5999
+ return a - first >= 1 && cp[first] === CARET2 && cp[skipSpaces(cp, run, -1)] === BRACKET_OPEN;
6000
+ }
6001
+ function filterBoundaryEdits(cp, edits, ranges, mode = void 0, guarded = []) {
5937
6002
  const out = [];
5938
6003
  for (const edit of edits) {
5939
6004
  let containsMarker = false;
@@ -5948,7 +6013,12 @@ function filterBoundaryEdits(cp, edits, ranges, delimiterNeighbours = false, gua
5948
6013
  const q = edit.end - 1;
5949
6014
  const d = edit.end - edit.start;
5950
6015
  const r = edit.replacement.length;
5951
- if (delimiterNeighbours && changesDelimiterFlank(cp, p, q, edit.replacement)) continue;
6016
+ if (mode === "markdown" && changesDelimiterFlank(cp, p, q, edit.replacement)) continue;
6017
+ if (mode === "markdown" && createsEscape(cp, p, q, edit.replacement)) continue;
6018
+ if (mode === "markdown" && createsBracketShape(cp, p, q, edit.replacement)) continue;
6019
+ if ((mode === "markdown" || mode === "html") && createsReference(cp, p, q, edit.replacement)) {
6020
+ continue;
6021
+ }
5952
6022
  const span = spanContaining(ranges, p);
5953
6023
  if (span !== void 0 && p === span.first && guarded[ranges.indexOf(span)] === true) {
5954
6024
  if (edit.replacement.length === 0 || edit.replacement[0] !== SPACE5) continue;
@@ -6014,7 +6084,7 @@ function runRulesOverSpans(cp, planned, locale, mode, narrowTarget, guarded = []
6014
6084
  const edits = rule.apply({ cp: current, locale, mode, narrowTarget });
6015
6085
  current = applyEdits(
6016
6086
  current,
6017
- filterBoundaryEdits(current, edits, spanRangesOf(current), mode === "markdown", guarded),
6087
+ filterBoundaryEdits(current, edits, spanRangesOf(current), mode, guarded),
6018
6088
  id
6019
6089
  );
6020
6090
  }
@@ -6070,7 +6140,7 @@ function analyzeOverSpans(source, spans, planned, locale, mode, narrowTarget) {
6070
6140
  current,
6071
6141
  edits,
6072
6142
  spanRangesOf(current),
6073
- mode === "markdown",
6143
+ mode,
6074
6144
  normalized.map((span) => span.urlTail === true)
6075
6145
  )
6076
6146
  );
@@ -6209,4 +6279,4 @@ export {
6209
6279
  runProtected,
6210
6280
  analyzeProtected
6211
6281
  };
6212
- //# sourceMappingURL=chunk-P73KB7OU.js.map
6282
+ //# sourceMappingURL=chunk-QSGNKUHE.js.map