@diplodoc/transform 4.21.0 → 4.22.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.
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseAttrs = void 0;
4
- const wrapToData = (key) => {
5
- if (key.startsWith('data-')) {
6
- return key;
7
- }
8
- return `data-${key}`;
9
- };
10
- const selectors = {
11
- class(value) {
12
- if (value.startsWith('.')) {
13
- return {
14
- key: 'class',
15
- value: value.slice(1),
16
- };
17
- }
18
- return null;
19
- },
20
- id(value) {
21
- if (value.startsWith('#')) {
22
- return {
23
- key: 'id',
24
- value: value.slice(1),
25
- };
26
- }
27
- return null;
28
- },
29
- attr(value) {
30
- const parts = value.split('=');
31
- if (parts.length === 2) {
32
- return {
33
- key: wrapToData(parts[0]),
34
- value: parts[1],
35
- };
36
- }
37
- return {
38
- key: wrapToData(value),
39
- value: 'true',
40
- };
41
- },
42
- };
43
- const handlers = Object.values(selectors);
44
- function parseAttrs(inputString) {
45
- const validChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .=-_#';
46
- if (!inputString.startsWith('{')) {
47
- return null;
48
- }
49
- for (let i = 1; i < inputString.length; i++) {
50
- const char = inputString[i];
51
- if (char === '}') {
52
- const contentInside = inputString.slice(1, i).trim(); // content excluding { and }
53
- if (!contentInside) {
54
- return null;
55
- }
56
- const parts = contentInside.split(' ');
57
- const attrs = {
58
- class: [],
59
- id: [],
60
- };
61
- parts.forEach((part) => {
62
- const matched = handlers.find((test) => test(part));
63
- if (!matched) {
64
- return;
65
- }
66
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
67
- const { key, value } = matched(part);
68
- if (!attrs[key]) {
69
- attrs[key] = [];
70
- }
71
- attrs[key].push(value);
72
- });
73
- return attrs;
74
- }
75
- if (!validChars.includes(char)) {
76
- return null;
77
- }
78
- }
79
- return null;
80
- }
81
- exports.parseAttrs = parseAttrs;
82
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/transform/plugins/table/utils.ts"],"names":[],"mappings":";;;AAQA,MAAM,UAAU,GAAG,CAAC,GAAW,EAAc,EAAE;IAC3C,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACzB,OAAO,GAAiB,CAAC;KAC5B;IAED,OAAO,QAAQ,GAAG,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG;IACd,KAAK,CAAC,KAAa;QACf,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO;gBACH,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACxB,CAAC;SACL;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,EAAE,CAAC,KAAa;QACZ,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO;gBACH,GAAG,EAAE,IAAI;gBACT,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACxB,CAAC;SACL;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,KAAa;QACd,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACpB,OAAO;gBACH,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAe;gBACvC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aAClB,CAAC;SACL;QAED,OAAO;YACH,GAAG,EAAE,UAAU,CAAC,KAAK,CAAe;YACpC,KAAK,EAAE,MAAM;SAChB,CAAC;IACN,CAAC;CACJ,CAAC;AAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAe,CAAC;AAExD,SAAgB,UAAU,CAAC,WAAmB;IAC1C,MAAM,UAAU,GAAG,4DAA4D,CAAC;IAEhF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC;KACf;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,IAAI,KAAK,GAAG,EAAE;YACd,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,4BAA4B;YAElF,IAAI,CAAC,aAAa,EAAE;gBAChB,OAAO,IAAI,CAAC;aACf;YAED,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEvC,MAAM,KAAK,GAA6B;gBACpC,KAAK,EAAE,EAAE;gBACT,EAAE,EAAE,EAAE;aACT,CAAC;YAEF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEpD,IAAI,CAAC,OAAO,EAAE;oBACV,OAAO;iBACV;gBAED,oEAAoE;gBACpE,MAAM,EAAC,GAAG,EAAE,KAAK,EAAC,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;gBAEpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;oBACb,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;iBACnB;gBAED,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAC5B,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAlDD,gCAkDC"}
@@ -1,107 +0,0 @@
1
- type DatasetKey = `data-${string}`;
2
- type Attrs = 'class' | 'id' | DatasetKey;
3
-
4
- type Selector = (value: string) => {
5
- key: Attrs;
6
- value: string;
7
- } | null;
8
-
9
- const wrapToData = (key: string): DatasetKey => {
10
- if (key.startsWith('data-')) {
11
- return key as DatasetKey;
12
- }
13
-
14
- return `data-${key}`;
15
- };
16
-
17
- const selectors = {
18
- class(value: string) {
19
- if (value.startsWith('.')) {
20
- return {
21
- key: 'class',
22
- value: value.slice(1),
23
- };
24
- }
25
-
26
- return null;
27
- },
28
- id(value: string) {
29
- if (value.startsWith('#')) {
30
- return {
31
- key: 'id',
32
- value: value.slice(1),
33
- };
34
- }
35
-
36
- return null;
37
- },
38
- attr(value: string) {
39
- const parts = value.split('=');
40
-
41
- if (parts.length === 2) {
42
- return {
43
- key: wrapToData(parts[0]) as DatasetKey,
44
- value: parts[1],
45
- };
46
- }
47
-
48
- return {
49
- key: wrapToData(value) as DatasetKey,
50
- value: 'true',
51
- };
52
- },
53
- };
54
-
55
- const handlers = Object.values(selectors) as Selector[];
56
-
57
- export function parseAttrs(inputString: string) {
58
- const validChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ .=-_#';
59
-
60
- if (!inputString.startsWith('{')) {
61
- return null;
62
- }
63
-
64
- for (let i = 1; i < inputString.length; i++) {
65
- const char = inputString[i];
66
-
67
- if (char === '}') {
68
- const contentInside = inputString.slice(1, i).trim(); // content excluding { and }
69
-
70
- if (!contentInside) {
71
- return null;
72
- }
73
-
74
- const parts = contentInside.split(' ');
75
-
76
- const attrs: Record<string, string[]> = {
77
- class: [],
78
- id: [],
79
- };
80
-
81
- parts.forEach((part) => {
82
- const matched = handlers.find((test) => test(part));
83
-
84
- if (!matched) {
85
- return;
86
- }
87
-
88
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
89
- const {key, value} = matched(part)!;
90
-
91
- if (!attrs[key]) {
92
- attrs[key] = [];
93
- }
94
-
95
- attrs[key].push(value);
96
- });
97
-
98
- return attrs;
99
- }
100
-
101
- if (!validChars.includes(char)) {
102
- return null;
103
- }
104
- }
105
-
106
- return null;
107
- }