@diplodoc/transform 4.48.3 → 4.49.0

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/lib/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import type { OptionsType, OutputType, RootCollectorOptions } from './typings';
2
- declare type TransformFunction = {
3
- (originInput: string, options?: OptionsType): OutputType;
4
- collect: (input: string, options: RootCollectorOptions<any>) => string;
1
+ import type Token from 'markdown-it/lib/token';
2
+ import type { OptionsType, OutputType } from './typings';
3
+ declare type TokensOptionsType = OptionsType & {
4
+ tokens: true;
5
5
  };
6
- declare const transform: TransformFunction;
6
+ declare function transform(originInput: string, options: TokensOptionsType): Token[];
7
+ declare function transform(originInput: string, options?: OptionsType): OutputType;
7
8
  export = transform;
8
9
  declare namespace transform {
9
10
  type Options = OptionsType;
package/lib/index.js CHANGED
@@ -22,35 +22,19 @@ function emitResult(html, env) {
22
22
  logs: log_1.log.get(),
23
23
  };
24
24
  }
25
- // eslint-disable-next-line consistent-return
26
- const transform = (originInput, options = {}) => {
25
+ function transform(originInput, options = {}) {
27
26
  const input = applyLiquid(originInput, options);
28
27
  const { parse, compile, env } = (0, md_1.default)(options);
29
28
  try {
30
- return emitResult(compile(parse(input)), env);
29
+ const tokens = parse(input);
30
+ if (options.tokens === true) {
31
+ return tokens;
32
+ }
33
+ return emitResult(compile(tokens), env);
31
34
  }
32
35
  catch (error) {
33
36
  handleError(error, options.path);
34
37
  }
35
- };
36
- transform.collect = (input,
37
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
- { mdItInitOptions, pluginCollectOptions, parserPluginsOverride }) => {
39
- var _a;
40
- const maybeLiquidedInput = applyLiquid(input, mdItInitOptions);
41
- const { parse } = (0, md_1.default)(Object.assign(Object.assign({}, mdItInitOptions), { plugins: parserPluginsOverride !== null && parserPluginsOverride !== void 0 ? parserPluginsOverride : mdItInitOptions.plugins }));
42
- const plugins = (_a = mdItInitOptions.plugins) !== null && _a !== void 0 ? _a : [];
43
- try {
44
- const tokenStream = parse(maybeLiquidedInput);
45
- return plugins.reduce((collected, plugin) => {
46
- var _a;
47
- const collectOutput = (_a = plugin.collect) === null || _a === void 0 ? void 0 : _a.call(plugin, collected, Object.assign(Object.assign({}, pluginCollectOptions), { tokenStream }));
48
- return collectOutput !== null && collectOutput !== void 0 ? collectOutput : collected;
49
- }, maybeLiquidedInput);
50
- }
51
- catch (error) {
52
- handleError(error, mdItInitOptions.path);
53
- }
54
- };
38
+ }
55
39
  module.exports = transform;
56
40
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/transform/index.ts"],"names":[],"mappings":";;;;AAEA,iCAA2B;AAE3B,+BAA0B;AAC1B,sDAAsC;AACtC,8CAAkC;AAElC,SAAS,WAAW,CAAC,KAAa,EAAE,OAAoB;IACpD,MAAM,EACF,IAAI,GAAG,EAAE,EACT,IAAI,EACJ,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,KAAK,GACrB,GAAG,OAAO,CAAC;IAEZ,OAAO,aAAa,IAAI,UAAU;QAC9B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAA,gBAAc,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,gBAAgB,EAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAC9C,SAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9D,MAAM,KAAK,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,GAAY;IAC1C,OAAO;QACH,MAAM,kCAAM,GAAG,KAAE,IAAI,GAAC;QACtB,IAAI,EAAE,SAAG,CAAC,GAAG,EAAE;KAClB,CAAC;AACN,CAAC;AAQD,6CAA6C;AAC7C,MAAM,SAAS,GAAsB,CAAC,WAAmB,EAAE,UAAuB,EAAE,EAAE,EAAE;IACpF,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,IAAA,YAAc,EAAC,OAAO,CAAC,CAAC;IAEtD,IAAI;QACA,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KACjD;IAAC,OAAO,KAAK,EAAE;QACZ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACpC;AACL,CAAC,CAAC;AAEF,SAAS,CAAC,OAAO,GAAG,CAChB,KAAa;AACb,8DAA8D;AAC9D,EAAC,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAA4B,EAC3F,EAAE;;IACA,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAC/D,MAAM,EAAC,KAAK,EAAC,GAAG,IAAA,YAAc,kCACvB,eAAe,KAClB,OAAO,EAAE,qBAAqB,aAArB,qBAAqB,cAArB,qBAAqB,GAAI,eAAe,CAAC,OAAO,IAC3D,CAAC;IAEH,MAAM,OAAO,GAAG,MAAA,eAAe,CAAC,OAAO,mCAAI,EAAE,CAAC;IAE9C,IAAI;QACA,MAAM,WAAW,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;;YACxC,MAAM,aAAa,GAAG,MAAA,MAAM,CAAC,OAAO,uDAAG,SAAS,kCACzC,oBAAoB,KACvB,WAAW,IACb,CAAC;YAEH,OAAO,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,SAAS,CAAC;QACtC,CAAC,EAAE,kBAAkB,CAAC,CAAC;KAC1B;IAAC,OAAO,KAAK,EAAE;QACZ,WAAW,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;KAC5C;AACL,CAAC,CAAC;AAEF,iBAAS,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/transform/index.ts"],"names":[],"mappings":";;;;AAGA,iCAA2B;AAE3B,+BAA0B;AAC1B,sDAAsC;AACtC,8CAAkC;AAElC,SAAS,WAAW,CAAC,KAAa,EAAE,OAAoB;IACpD,MAAM,EACF,IAAI,GAAG,EAAE,EACT,IAAI,EACJ,gBAAgB,GAAG,KAAK,EACxB,aAAa,GAAG,KAAK,EACrB,UAAU,GAAG,KAAK,GACrB,GAAG,OAAO,CAAC;IAEZ,OAAO,aAAa,IAAI,UAAU;QAC9B,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAA,gBAAc,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,gBAAgB,EAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,IAAa;IAC9C,SAAG,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC,OAAO,IAAA,YAAI,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9D,MAAM,KAAK,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,GAAY;IAC1C,OAAO;QACH,MAAM,kCAAM,GAAG,KAAE,IAAI,GAAC;QACtB,IAAI,EAAE,SAAG,CAAC,GAAG,EAAE;KAClB,CAAC;AACN,CAAC;AAMD,SAAS,SAAS,CAAC,WAAmB,EAAE,UAAuB,EAAE;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,IAAA,YAAc,EAAC,OAAO,CAAC,CAAC;IAEtD,IAAI;QACA,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE;YACzB,OAAO,MAAM,CAAC;SACjB;QAED,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;KAC3C;IAAC,OAAO,KAAK,EAAE;QACZ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;KACpC;AACL,CAAC;AAED,iBAAS,SAAS,CAAC"}
package/lib/typings.d.ts CHANGED
@@ -23,6 +23,7 @@ export declare type Heading = {
23
23
  items?: Heading[];
24
24
  };
25
25
  export interface OptionsType {
26
+ tokens?: boolean;
26
27
  vars?: Record<string, string>;
27
28
  path?: string;
28
29
  extractTitle?: boolean;
@@ -89,11 +90,6 @@ export declare type IntrinsicCollectOptions = {
89
90
  export declare type ExtendedPluginWithCollect<PluginRegularOptions extends {} = {}, PluginCollectOptions = {}> = MarkdownItPluginCb<PluginRegularOptions> & {
90
91
  collect?: (input: string, options: PluginCollectOptions & IntrinsicCollectOptions) => string | void;
91
92
  };
92
- export declare type RootCollectorOptions<PluginCollectOptions> = {
93
- mdItInitOptions: OptionsType;
94
- pluginCollectOptions: PluginCollectOptions;
95
- parserPluginsOverride?: ExtendedPluginWithCollect<any, any>[];
96
- };
97
93
  export declare type MarkdownItPreprocessorCb<T extends unknown = {}> = {
98
94
  (input: string, opts: T & Partial<MarkdownItPluginOpts>, md?: MarkdownIt): string;
99
95
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/transform",
3
- "version": "4.48.3",
3
+ "version": "4.49.0",
4
4
  "description": "A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML",
5
5
  "keywords": [
6
6
  "markdown",
@@ -136,6 +136,7 @@
136
136
  table,
137
137
  pre {
138
138
  margin-block: var(--yfm-text-block-margin-block, 0 15px);
139
+ margin-inline: var(--yfm-text-block-margin-inline, 0);
139
140
  }
140
141
 
141
142
  ul,
@@ -1,4 +1,5 @@
1
- import type {EnvType, OptionsType, OutputType, RootCollectorOptions} from './typings';
1
+ import type Token from 'markdown-it/lib/token';
2
+ import type {EnvType, OptionsType, OutputType} from './typings';
2
3
 
3
4
  import {bold} from 'chalk';
4
5
 
@@ -33,52 +34,25 @@ function emitResult(html: string, env: EnvType): OutputType {
33
34
  };
34
35
  }
35
36
 
36
- type TransformFunction = {
37
- (originInput: string, options?: OptionsType): OutputType;
38
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
39
- collect: (input: string, options: RootCollectorOptions<any>) => string;
40
- };
37
+ type TokensOptionsType = OptionsType & {tokens: true};
41
38
 
42
- // eslint-disable-next-line consistent-return
43
- const transform: TransformFunction = (originInput: string, options: OptionsType = {}) => {
39
+ function transform(originInput: string, options: TokensOptionsType): Token[];
40
+ function transform(originInput: string, options?: OptionsType): OutputType;
41
+ function transform(originInput: string, options: OptionsType = {}): OutputType | Token[] {
44
42
  const input = applyLiquid(originInput, options);
45
43
  const {parse, compile, env} = initMarkdownIt(options);
46
44
 
47
45
  try {
48
- return emitResult(compile(parse(input)), env);
49
- } catch (error) {
50
- handleError(error, options.path);
51
- }
52
- };
53
-
54
- transform.collect = (
55
- input: string,
56
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
57
- {mdItInitOptions, pluginCollectOptions, parserPluginsOverride}: RootCollectorOptions<any>,
58
- ) => {
59
- const maybeLiquidedInput = applyLiquid(input, mdItInitOptions);
60
- const {parse} = initMarkdownIt({
61
- ...mdItInitOptions,
62
- plugins: parserPluginsOverride ?? mdItInitOptions.plugins,
63
- });
64
-
65
- const plugins = mdItInitOptions.plugins ?? [];
46
+ const tokens = parse(input);
47
+ if (options.tokens === true) {
48
+ return tokens;
49
+ }
66
50
 
67
- try {
68
- const tokenStream = parse(maybeLiquidedInput);
69
-
70
- return plugins.reduce((collected, plugin) => {
71
- const collectOutput = plugin.collect?.(collected, {
72
- ...pluginCollectOptions,
73
- tokenStream,
74
- });
75
-
76
- return collectOutput ?? collected;
77
- }, maybeLiquidedInput);
51
+ return emitResult(compile(tokens), env);
78
52
  } catch (error) {
79
- handleError(error, mdItInitOptions.path);
53
+ handleError(error, options.path);
80
54
  }
81
- };
55
+ }
82
56
 
83
57
  export = transform;
84
58
 
@@ -30,6 +30,7 @@ export type Heading = {
30
30
  };
31
31
 
32
32
  export interface OptionsType {
33
+ tokens?: boolean;
33
34
  vars?: Record<string, string>;
34
35
  path?: string;
35
36
  extractTitle?: boolean;
@@ -111,13 +112,6 @@ export type ExtendedPluginWithCollect<
111
112
  ) => string | void;
112
113
  };
113
114
 
114
- export type RootCollectorOptions<PluginCollectOptions> = {
115
- mdItInitOptions: OptionsType;
116
- pluginCollectOptions: PluginCollectOptions;
117
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
118
- parserPluginsOverride?: ExtendedPluginWithCollect<any, any>[];
119
- };
120
-
121
115
  export type MarkdownItPreprocessorCb<T extends unknown = {}> = {
122
116
  (input: string, opts: T & Partial<MarkdownItPluginOpts>, md?: MarkdownIt): string;
123
117
  };