@skitter/assistant_md 1.0.2 → 1.0.3
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/dist/assistant_md.d.ts.map +1 -1
- package/dist/{assistant_md.cjs → assistant_md.js} +28 -189
- package/dist/assistant_md.js.map +1 -0
- package/package.json +2 -2
- package/.parcel-cache/07e964bee140377c +0 -0
- package/.parcel-cache/1719bc81d3eb64ad +0 -0
- package/.parcel-cache/35f98d50b52b1932 +0 -0
- package/.parcel-cache/592a5a9a568d8802.txt +0 -4510
- package/.parcel-cache/77ebbc788c6f6994 +0 -0
- package/.parcel-cache/7f3e278da4854454 +0 -0
- package/.parcel-cache/a9ee6204a2a85169 +0 -0
- package/.parcel-cache/b6694c1eefd2b32c +0 -0
- package/.parcel-cache/bd80eeaad5f7aeb5 +0 -0
- package/.parcel-cache/c0e87891cd14f32b.txt +0 -4510
- package/.parcel-cache/cbf39635cd1b2434 +0 -0
- package/.parcel-cache/data.mdb +0 -0
- package/.parcel-cache/ffdc629ccf572e1f +0 -0
- package/.parcel-cache/lock.mdb +0 -0
- package/dist/assistant_md.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAeA,kCAAkC,GAAG,EAAE,MAAM;;;IA2B5C;
|
|
1
|
+
{"mappings":"AAeA,kCAAkC,GAAG,EAAE,MAAM;;;IA2B5C;AAqDD,kBAAkB;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,wBAAwB;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1C,gBAAgB;IACd,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,kBAAkB;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,QAAQ,CAAC;CACzB,CAAC;AAEF,qBAAqB;IACnB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,0BAA0B;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAqB;IACnB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,aAAa,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,cAAc;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB,CAAC;AAEF,sBAAsB;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,cAAc,CAAC;CAC/B,CAAC;AAEF,wBAAwB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC;AAEF,mBAAmB;IACjB,aAAa,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,uBAAuB;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,kBAAkB;IAChB,IAAI,EAAE,eAAe,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,cACI,UAAU,GACV,QAAQ,GACR,UAAU,GACV,aAAa,GACb,aAAa,GACb,cAAc,GACd,gBAAgB,GAChB,UAAU,GACV,WAAW,CAAC;AAEhB,kBAAkB;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA8ErC,oCAAoC,EAAE,MAAM,EAAE,EAAE,UAAU,eAgDzD","sources":["src/src/assistant_md.tsx","src/assistant_md.tsx"],"sourcesContent":[null,"import React from \"react\";\n\nconst URL_REGEX =\n /[(http(s)?):\\/\\/(www\\.)?a-zA-Z0-9@:%._\\+~#=-]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\n\nconst normalStr = (str: string) => ({\n type: \"normal_str\",\n value: str,\n});\n\nconst urlStr = (str: string) => ({\n type: \"url\",\n value: str,\n});\n\nexport function parseUrlAndString(str: string) {\n const results = [];\n let remaining = str;\n while (remaining) {\n let match = remaining.match(URL_REGEX);\n if (!match) {\n results.push(normalStr(remaining));\n break;\n }\n\n if (match.index !== 0) {\n results.push(normalStr(remaining.slice(0, match.index)));\n results.push(\n urlStr(\n remaining.slice(\n match.index,\n match.index && match.index + match[0].length\n )\n )\n );\n remaining = remaining.slice(match.index && match.index + match[0].length);\n continue;\n }\n results.push(urlStr(remaining.slice(0, match[0].length)));\n remaining = remaining.slice(match[0].length);\n }\n return results;\n}\n\nconst DisplayWithSpace = ({ text }: { text: string }) => {\n return <span style={{ whiteSpace: \"pre-wrap\" }}>{text}</span>;\n};\n\nconst DisplayLineBreaks = ({ text }: { text: string }) => {\n let texts = text.split(\"\\n\");\n let lastOne = texts[texts.length - 1];\n let exceptLastOne = texts.slice(0, texts.length - 1);\n return (\n <>\n {exceptLastOne.reduce(\n (arr: (string | JSX.Element)[], text) => [\n ...arr,\n <DisplayWithSpace text={text} />,\n <br key={arr.length} />,\n ],\n []\n )}\n {<DisplayWithSpace text={lastOne} />}\n </>\n );\n};\n\nconst DisplayURL = ({ text }: { text: string }) => {\n const parsed = parseUrlAndString(text);\n return (\n <>\n {parsed.map(({ type, value }, i) =>\n type === \"url\" ? (\n <a href={value} target=\"_blank\" key={i} rel=\"noreferrer\">\n {value}\n </a>\n ) : (\n <DisplayLineBreaks text={value} key={i}></DisplayLineBreaks>\n )\n )}\n </>\n );\n};\n\ntype MdTypes =\n | \"normal_text\"\n | \"bold\"\n | \"italic\"\n | \"underline\"\n | \"hyperlink\"\n | \"ordered_list\"\n | \"unordered_list\"\n | \"newline\"\n | \"join\";\n\ntype NormalText = {\n normal_text: string;\n markdown_text: \"normal_text\";\n};\n\ntype MdValueContainer = { value: MdText };\n\ntype BoldText = {\n bold: MdValueContainer;\n markdown_text: \"bold\";\n};\n\ntype ItalicText = {\n italic: MdValueContainer;\n markdown_text: \"italic\";\n};\n\ntype UnderlineText = {\n underline: MdValueContainer;\n markdown_text: \"underline\";\n};\n\ntype HyperLinkContainer = {\n link: string;\n value: MdText;\n};\n\ntype HyperLinkText = {\n hyperlink: HyperLinkContainer;\n markdown_text: \"hyperlink\";\n};\n\ntype MdList = {\n list: MdText[];\n};\n\ntype OrdredListText = {\n ordered_list: MdList;\n markdown_text: \"ordered_list\";\n};\n\ntype UnOrdredListText = {\n unordered_list: MdList;\n markdown_text: \"unordered_list\";\n};\n\ntype NewlineText = {\n markdown_text: \"newline\";\n};\n\ntype JoinMdContainer = {\n lhs: MdText;\n rhs: MdText;\n};\n\ntype JoinMdText = {\n join: JoinMdContainer;\n markdown_text: \"join\";\n};\n\ntype MdText =\n | NormalText\n | BoldText\n | ItalicText\n | UnderlineText\n | HyperLinkText\n | OrdredListText\n | UnOrdredListText\n | JoinMdText\n | NewlineText;\n\ntype MdTextProp = { mdText: MdText };\n\ntype NormalRenderes = React.FunctionComponent<{ mdText: MdValueContainer }>;\n\ntype ListRenderers = React.FunctionComponent<{ mdText: MdList }>;\n\ntype TextRenderer = React.FunctionComponent<{ mdText: string }>;\n\ntype JoinMdRenderer = React.FunctionComponent<{ mdText: JoinMdContainer }>;\n\ntype HyperLinkRenderer = React.FunctionComponent<{\n mdText: HyperLinkContainer;\n}>;\n\nconst normalWrapper: (TagName: React.ElementType) => NormalRenderes =\n (TagName: React.ElementType) =>\n ({ mdText }) =>\n (\n <TagName>\n <AssistantMd mdText={mdText.value} />\n </TagName>\n );\n\nconst listWrapper: (TagName: React.ElementType) => ListRenderers =\n (TagName) =>\n ({ mdText: { list } }) =>\n (\n <TagName>\n {list.map((mdText) => (\n <li>\n <AssistantMd mdText={mdText} />\n </li>\n ))}\n </TagName>\n );\n\ntype RenderTypes = MdTypes;\n\ntype MdRenderers =\n | NormalRenderes\n | ListRenderers\n | TextRenderer\n | HyperLinkRenderer\n | JoinMdRenderer;\n\n// type RenderMap = Record<RenderTypes, MdRenderers>;\n\nconst NormalTextMd: TextRenderer = ({ mdText }) => {\n return <DisplayURL text={mdText} />;\n};\n\nconst HyperLinkMd: HyperLinkRenderer = ({ mdText }) => (\n <a href={mdText.link} target=\"_blank\">\n <AssistantMd mdText={mdText.value} />\n </a>\n);\n\nconst JoinMd: JoinMdRenderer = ({ mdText: { lhs, rhs } }) => (\n <>\n <AssistantMd mdText={lhs} />\n <AssistantMd mdText={rhs} />\n </>\n);\n\nconst mdTypeRenderers = {\n normal_text: NormalTextMd,\n bold: normalWrapper(\"strong\"),\n italic: normalWrapper(\"em\"),\n underline: normalWrapper(\"u\"),\n hyperlink: HyperLinkMd,\n ordered_list: listWrapper(\"ol\"),\n unordered_list: listWrapper(\"ul\"),\n newline: () => <br />,\n join: JoinMd,\n};\n\nfunction exhaustiveCheck(param: never) {}\n\nexport default function AssistantMd({ mdText }: MdTextProp) {\n switch (mdText.markdown_text) {\n case \"bold\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"italic\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"normal_text\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"underline\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"hyperlink\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"ordered_list\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"unordered_list\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"join\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"newline\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n return <RendenMDElement />;\n }\n }\n exhaustiveCheck(mdText);\n}\n"],"names":[],"version":3,"file":"assistant_md.d.ts.map"}
|
|
@@ -12,8 +12,8 @@ function $parcel$export(e, n, v, s) {
|
|
|
12
12
|
|
|
13
13
|
$parcel$defineInteropFlag(module.exports);
|
|
14
14
|
|
|
15
|
-
$parcel$export(module.exports, "parseUrlAndString", () => $69304f3cd9aa4f81$export$41849f4004f0a2a6
|
|
16
|
-
$parcel$export(module.exports, "default", () => $69304f3cd9aa4f81$export$2e2bcd8739ae039
|
|
15
|
+
$parcel$export(module.exports, "parseUrlAndString", () => $69304f3cd9aa4f81$export$41849f4004f0a2a6);
|
|
16
|
+
$parcel$export(module.exports, "default", () => $69304f3cd9aa4f81$export$2e2bcd8739ae039);
|
|
17
17
|
|
|
18
18
|
const $69304f3cd9aa4f81$var$URL_REGEX = /[(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=-]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/;
|
|
19
19
|
const $69304f3cd9aa4f81$var$normalStr = (str)=>({
|
|
@@ -48,13 +48,7 @@ const $69304f3cd9aa4f81$var$DisplayWithSpace = ({ text: text })=>{
|
|
|
48
48
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement("span", {
|
|
49
49
|
style: {
|
|
50
50
|
whiteSpace: "pre-wrap"
|
|
51
|
-
}
|
|
52
|
-
__source: {
|
|
53
|
-
fileName: "src/assistant_md.tsx",
|
|
54
|
-
lineNumber: 46,
|
|
55
|
-
columnNumber: 10
|
|
56
|
-
},
|
|
57
|
-
__self: undefined
|
|
51
|
+
}
|
|
58
52
|
}, text);
|
|
59
53
|
};
|
|
60
54
|
const $69304f3cd9aa4f81$var$DisplayLineBreaks = ({ text: text1 })=>{
|
|
@@ -64,31 +58,13 @@ const $69304f3cd9aa4f81$var$DisplayLineBreaks = ({ text: text1 })=>{
|
|
|
64
58
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement((0, ($parcel$interopDefault($kmRvl$react))).Fragment, null, exceptLastOne.reduce((arr, text)=>[
|
|
65
59
|
...arr,
|
|
66
60
|
/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$var$DisplayWithSpace, {
|
|
67
|
-
text: text
|
|
68
|
-
__source: {
|
|
69
|
-
fileName: "src/assistant_md.tsx",
|
|
70
|
-
lineNumber: 58,
|
|
71
|
-
columnNumber: 11
|
|
72
|
-
},
|
|
73
|
-
__self: undefined
|
|
61
|
+
text: text
|
|
74
62
|
}),
|
|
75
63
|
/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement("br", {
|
|
76
|
-
key: arr.length
|
|
77
|
-
__source: {
|
|
78
|
-
fileName: "src/assistant_md.tsx",
|
|
79
|
-
lineNumber: 59,
|
|
80
|
-
columnNumber: 11
|
|
81
|
-
},
|
|
82
|
-
__self: undefined
|
|
64
|
+
key: arr.length
|
|
83
65
|
}),
|
|
84
66
|
], []), /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$var$DisplayWithSpace, {
|
|
85
|
-
text: lastOne
|
|
86
|
-
__source: {
|
|
87
|
-
fileName: "src/assistant_md.tsx",
|
|
88
|
-
lineNumber: 63,
|
|
89
|
-
columnNumber: 8
|
|
90
|
-
},
|
|
91
|
-
__self: undefined
|
|
67
|
+
text: lastOne
|
|
92
68
|
}));
|
|
93
69
|
};
|
|
94
70
|
const $69304f3cd9aa4f81$var$DisplayURL = ({ text: text })=>{
|
|
@@ -97,109 +73,34 @@ const $69304f3cd9aa4f81$var$DisplayURL = ({ text: text })=>{
|
|
|
97
73
|
href: value,
|
|
98
74
|
target: "_blank",
|
|
99
75
|
key: i,
|
|
100
|
-
rel: "noreferrer"
|
|
101
|
-
__source: {
|
|
102
|
-
fileName: "src/assistant_md.tsx",
|
|
103
|
-
lineNumber: 74,
|
|
104
|
-
columnNumber: 11
|
|
105
|
-
},
|
|
106
|
-
__self: undefined
|
|
76
|
+
rel: "noreferrer"
|
|
107
77
|
}, value) : /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$var$DisplayLineBreaks, {
|
|
108
78
|
text: value,
|
|
109
|
-
key: i
|
|
110
|
-
__source: {
|
|
111
|
-
fileName: "src/assistant_md.tsx",
|
|
112
|
-
lineNumber: 78,
|
|
113
|
-
columnNumber: 11
|
|
114
|
-
},
|
|
115
|
-
__self: undefined
|
|
79
|
+
key: i
|
|
116
80
|
})));
|
|
117
81
|
};
|
|
118
|
-
const $69304f3cd9aa4f81$var$normalWrapper = (TagName)=>({ mdText: mdText })=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(TagName, {
|
|
119
|
-
|
|
120
|
-
fileName: "src/assistant_md.tsx",
|
|
121
|
-
lineNumber: 185,
|
|
122
|
-
columnNumber: 7
|
|
123
|
-
},
|
|
124
|
-
__self: undefined
|
|
125
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$export$2e2bcd8739ae039, {
|
|
126
|
-
mdText: mdText.value,
|
|
127
|
-
__source: {
|
|
128
|
-
fileName: "src/assistant_md.tsx",
|
|
129
|
-
lineNumber: 186,
|
|
130
|
-
columnNumber: 9
|
|
131
|
-
},
|
|
132
|
-
__self: undefined
|
|
82
|
+
const $69304f3cd9aa4f81$var$normalWrapper = (TagName)=>({ mdText: mdText })=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(TagName, null, /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$export$2e2bcd8739ae039, {
|
|
83
|
+
mdText: mdText.value
|
|
133
84
|
}));
|
|
134
|
-
const $69304f3cd9aa4f81$var$listWrapper = (TagName)=>({ mdText: { list: list } })=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(TagName, {
|
|
135
|
-
|
|
136
|
-
fileName: "src/assistant_md.tsx",
|
|
137
|
-
lineNumber: 194,
|
|
138
|
-
columnNumber: 7
|
|
139
|
-
},
|
|
140
|
-
__self: undefined
|
|
141
|
-
}, list.map((mdText)=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement("li", {
|
|
142
|
-
__source: {
|
|
143
|
-
fileName: "src/assistant_md.tsx",
|
|
144
|
-
lineNumber: 196,
|
|
145
|
-
columnNumber: 11
|
|
146
|
-
},
|
|
147
|
-
__self: undefined
|
|
148
|
-
}, /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$export$2e2bcd8739ae039, {
|
|
149
|
-
mdText: mdText,
|
|
150
|
-
__source: {
|
|
151
|
-
fileName: "src/assistant_md.tsx",
|
|
152
|
-
lineNumber: 197,
|
|
153
|
-
columnNumber: 13
|
|
154
|
-
},
|
|
155
|
-
__self: undefined
|
|
85
|
+
const $69304f3cd9aa4f81$var$listWrapper = (TagName)=>({ mdText: { list: list } })=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(TagName, null, list.map((mdText)=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement("li", null, /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$export$2e2bcd8739ae039, {
|
|
86
|
+
mdText: mdText
|
|
156
87
|
}))));
|
|
157
88
|
// type RenderMap = Record<RenderTypes, MdRenderers>;
|
|
158
89
|
const $69304f3cd9aa4f81$var$NormalTextMd = ({ mdText: mdText })=>{
|
|
159
90
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$var$DisplayURL, {
|
|
160
|
-
text: mdText
|
|
161
|
-
__source: {
|
|
162
|
-
fileName: "src/assistant_md.tsx",
|
|
163
|
-
lineNumber: 215,
|
|
164
|
-
columnNumber: 10
|
|
165
|
-
},
|
|
166
|
-
__self: undefined
|
|
91
|
+
text: mdText
|
|
167
92
|
});
|
|
168
93
|
};
|
|
169
94
|
const $69304f3cd9aa4f81$var$HyperLinkMd = ({ mdText: mdText })=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement("a", {
|
|
170
95
|
href: mdText.link,
|
|
171
|
-
target: "_blank"
|
|
172
|
-
__source: {
|
|
173
|
-
fileName: "src/assistant_md.tsx",
|
|
174
|
-
lineNumber: 219,
|
|
175
|
-
columnNumber: 3
|
|
176
|
-
},
|
|
177
|
-
__self: undefined
|
|
96
|
+
target: "_blank"
|
|
178
97
|
}, /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$export$2e2bcd8739ae039, {
|
|
179
|
-
mdText: mdText.value
|
|
180
|
-
__source: {
|
|
181
|
-
fileName: "src/assistant_md.tsx",
|
|
182
|
-
lineNumber: 220,
|
|
183
|
-
columnNumber: 5
|
|
184
|
-
},
|
|
185
|
-
__self: undefined
|
|
98
|
+
mdText: mdText.value
|
|
186
99
|
}));
|
|
187
100
|
const $69304f3cd9aa4f81$var$JoinMd = ({ mdText: { lhs: lhs , rhs: rhs } })=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement((0, ($parcel$interopDefault($kmRvl$react))).Fragment, null, /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$export$2e2bcd8739ae039, {
|
|
188
|
-
mdText: lhs
|
|
189
|
-
__source: {
|
|
190
|
-
fileName: "src/assistant_md.tsx",
|
|
191
|
-
lineNumber: 226,
|
|
192
|
-
columnNumber: 5
|
|
193
|
-
},
|
|
194
|
-
__self: undefined
|
|
101
|
+
mdText: lhs
|
|
195
102
|
}), /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement($69304f3cd9aa4f81$export$2e2bcd8739ae039, {
|
|
196
|
-
mdText: rhs
|
|
197
|
-
__source: {
|
|
198
|
-
fileName: "src/assistant_md.tsx",
|
|
199
|
-
lineNumber: 227,
|
|
200
|
-
columnNumber: 5
|
|
201
|
-
},
|
|
202
|
-
__self: undefined
|
|
103
|
+
mdText: rhs
|
|
203
104
|
}));
|
|
204
105
|
const $69304f3cd9aa4f81$var$mdTypeRenderers = {
|
|
205
106
|
normal_text: $69304f3cd9aa4f81$var$NormalTextMd,
|
|
@@ -209,14 +110,7 @@ const $69304f3cd9aa4f81$var$mdTypeRenderers = {
|
|
|
209
110
|
hyperlink: $69304f3cd9aa4f81$var$HyperLinkMd,
|
|
210
111
|
ordered_list: $69304f3cd9aa4f81$var$listWrapper("ol"),
|
|
211
112
|
unordered_list: $69304f3cd9aa4f81$var$listWrapper("ul"),
|
|
212
|
-
newline: ()=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement("br",
|
|
213
|
-
__source: {
|
|
214
|
-
fileName: "src/assistant_md.tsx",
|
|
215
|
-
lineNumber: 239,
|
|
216
|
-
columnNumber: 18
|
|
217
|
-
},
|
|
218
|
-
__self: undefined
|
|
219
|
-
}),
|
|
113
|
+
newline: ()=>/*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement("br", null),
|
|
220
114
|
join: $69304f3cd9aa4f81$var$JoinMd
|
|
221
115
|
};
|
|
222
116
|
function $69304f3cd9aa4f81$var$exhaustiveCheck(param) {}
|
|
@@ -227,13 +121,7 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
227
121
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
228
122
|
let container = mdText[mdText.markdown_text];
|
|
229
123
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
230
|
-
mdText: container
|
|
231
|
-
__source: {
|
|
232
|
-
fileName: "src/assistant_md.tsx",
|
|
233
|
-
lineNumber: 250,
|
|
234
|
-
columnNumber: 14
|
|
235
|
-
},
|
|
236
|
-
__self: this
|
|
124
|
+
mdText: container
|
|
237
125
|
});
|
|
238
126
|
}
|
|
239
127
|
case "italic":
|
|
@@ -241,13 +129,7 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
241
129
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
242
130
|
let container = mdText[mdText.markdown_text];
|
|
243
131
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
244
|
-
mdText: container
|
|
245
|
-
__source: {
|
|
246
|
-
fileName: "src/assistant_md.tsx",
|
|
247
|
-
lineNumber: 255,
|
|
248
|
-
columnNumber: 14
|
|
249
|
-
},
|
|
250
|
-
__self: this
|
|
132
|
+
mdText: container
|
|
251
133
|
});
|
|
252
134
|
}
|
|
253
135
|
case "normal_text":
|
|
@@ -255,13 +137,7 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
255
137
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
256
138
|
let container = mdText[mdText.markdown_text];
|
|
257
139
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
258
|
-
mdText: container
|
|
259
|
-
__source: {
|
|
260
|
-
fileName: "src/assistant_md.tsx",
|
|
261
|
-
lineNumber: 260,
|
|
262
|
-
columnNumber: 14
|
|
263
|
-
},
|
|
264
|
-
__self: this
|
|
140
|
+
mdText: container
|
|
265
141
|
});
|
|
266
142
|
}
|
|
267
143
|
case "underline":
|
|
@@ -269,13 +145,7 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
269
145
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
270
146
|
let container = mdText[mdText.markdown_text];
|
|
271
147
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
272
|
-
mdText: container
|
|
273
|
-
__source: {
|
|
274
|
-
fileName: "src/assistant_md.tsx",
|
|
275
|
-
lineNumber: 265,
|
|
276
|
-
columnNumber: 14
|
|
277
|
-
},
|
|
278
|
-
__self: this
|
|
148
|
+
mdText: container
|
|
279
149
|
});
|
|
280
150
|
}
|
|
281
151
|
case "hyperlink":
|
|
@@ -283,13 +153,7 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
283
153
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
284
154
|
let container = mdText[mdText.markdown_text];
|
|
285
155
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
286
|
-
mdText: container
|
|
287
|
-
__source: {
|
|
288
|
-
fileName: "src/assistant_md.tsx",
|
|
289
|
-
lineNumber: 270,
|
|
290
|
-
columnNumber: 14
|
|
291
|
-
},
|
|
292
|
-
__self: this
|
|
156
|
+
mdText: container
|
|
293
157
|
});
|
|
294
158
|
}
|
|
295
159
|
case "ordered_list":
|
|
@@ -297,13 +161,7 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
297
161
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
298
162
|
let container = mdText[mdText.markdown_text];
|
|
299
163
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
300
|
-
mdText: container
|
|
301
|
-
__source: {
|
|
302
|
-
fileName: "src/assistant_md.tsx",
|
|
303
|
-
lineNumber: 275,
|
|
304
|
-
columnNumber: 14
|
|
305
|
-
},
|
|
306
|
-
__self: this
|
|
164
|
+
mdText: container
|
|
307
165
|
});
|
|
308
166
|
}
|
|
309
167
|
case "unordered_list":
|
|
@@ -311,13 +169,7 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
311
169
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
312
170
|
let container = mdText[mdText.markdown_text];
|
|
313
171
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
314
|
-
mdText: container
|
|
315
|
-
__source: {
|
|
316
|
-
fileName: "src/assistant_md.tsx",
|
|
317
|
-
lineNumber: 280,
|
|
318
|
-
columnNumber: 14
|
|
319
|
-
},
|
|
320
|
-
__self: this
|
|
172
|
+
mdText: container
|
|
321
173
|
});
|
|
322
174
|
}
|
|
323
175
|
case "join":
|
|
@@ -325,30 +177,17 @@ function $69304f3cd9aa4f81$export$2e2bcd8739ae039({ mdText: mdText }) {
|
|
|
325
177
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
326
178
|
let container = mdText[mdText.markdown_text];
|
|
327
179
|
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, {
|
|
328
|
-
mdText: container
|
|
329
|
-
__source: {
|
|
330
|
-
fileName: "src/assistant_md.tsx",
|
|
331
|
-
lineNumber: 285,
|
|
332
|
-
columnNumber: 14
|
|
333
|
-
},
|
|
334
|
-
__self: this
|
|
180
|
+
mdText: container
|
|
335
181
|
});
|
|
336
182
|
}
|
|
337
183
|
case "newline":
|
|
338
184
|
{
|
|
339
185
|
let RendenMDElement = $69304f3cd9aa4f81$var$mdTypeRenderers[mdText.markdown_text];
|
|
340
|
-
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement,
|
|
341
|
-
__source: {
|
|
342
|
-
fileName: "src/assistant_md.tsx",
|
|
343
|
-
lineNumber: 289,
|
|
344
|
-
columnNumber: 14
|
|
345
|
-
},
|
|
346
|
-
__self: this
|
|
347
|
-
});
|
|
186
|
+
return /*#__PURE__*/ (0, ($parcel$interopDefault($kmRvl$react))).createElement(RendenMDElement, null);
|
|
348
187
|
}
|
|
349
188
|
}
|
|
350
189
|
$69304f3cd9aa4f81$var$exhaustiveCheck(mdText);
|
|
351
190
|
}
|
|
352
191
|
|
|
353
192
|
|
|
354
|
-
//# sourceMappingURL=assistant_md.
|
|
193
|
+
//# sourceMappingURL=assistant_md.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["src/assistant_md.tsx"],"sourcesContent":["import React from \"react\";\n\nconst URL_REGEX =\n /[(http(s)?):\\/\\/(www\\.)?a-zA-Z0-9@:%._\\+~#=-]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/;\n\nconst normalStr = (str: string) => ({\n type: \"normal_str\",\n value: str,\n});\n\nconst urlStr = (str: string) => ({\n type: \"url\",\n value: str,\n});\n\nexport function parseUrlAndString(str: string) {\n const results = [];\n let remaining = str;\n while (remaining) {\n let match = remaining.match(URL_REGEX);\n if (!match) {\n results.push(normalStr(remaining));\n break;\n }\n\n if (match.index !== 0) {\n results.push(normalStr(remaining.slice(0, match.index)));\n results.push(\n urlStr(\n remaining.slice(\n match.index,\n match.index && match.index + match[0].length\n )\n )\n );\n remaining = remaining.slice(match.index && match.index + match[0].length);\n continue;\n }\n results.push(urlStr(remaining.slice(0, match[0].length)));\n remaining = remaining.slice(match[0].length);\n }\n return results;\n}\n\nconst DisplayWithSpace = ({ text }: { text: string }) => {\n return <span style={{ whiteSpace: \"pre-wrap\" }}>{text}</span>;\n};\n\nconst DisplayLineBreaks = ({ text }: { text: string }) => {\n let texts = text.split(\"\\n\");\n let lastOne = texts[texts.length - 1];\n let exceptLastOne = texts.slice(0, texts.length - 1);\n return (\n <>\n {exceptLastOne.reduce(\n (arr: (string | JSX.Element)[], text) => [\n ...arr,\n <DisplayWithSpace text={text} />,\n <br key={arr.length} />,\n ],\n []\n )}\n {<DisplayWithSpace text={lastOne} />}\n </>\n );\n};\n\nconst DisplayURL = ({ text }: { text: string }) => {\n const parsed = parseUrlAndString(text);\n return (\n <>\n {parsed.map(({ type, value }, i) =>\n type === \"url\" ? (\n <a href={value} target=\"_blank\" key={i} rel=\"noreferrer\">\n {value}\n </a>\n ) : (\n <DisplayLineBreaks text={value} key={i}></DisplayLineBreaks>\n )\n )}\n </>\n );\n};\n\ntype MdTypes =\n | \"normal_text\"\n | \"bold\"\n | \"italic\"\n | \"underline\"\n | \"hyperlink\"\n | \"ordered_list\"\n | \"unordered_list\"\n | \"newline\"\n | \"join\";\n\ntype NormalText = {\n normal_text: string;\n markdown_text: \"normal_text\";\n};\n\ntype MdValueContainer = { value: MdText };\n\ntype BoldText = {\n bold: MdValueContainer;\n markdown_text: \"bold\";\n};\n\ntype ItalicText = {\n italic: MdValueContainer;\n markdown_text: \"italic\";\n};\n\ntype UnderlineText = {\n underline: MdValueContainer;\n markdown_text: \"underline\";\n};\n\ntype HyperLinkContainer = {\n link: string;\n value: MdText;\n};\n\ntype HyperLinkText = {\n hyperlink: HyperLinkContainer;\n markdown_text: \"hyperlink\";\n};\n\ntype MdList = {\n list: MdText[];\n};\n\ntype OrdredListText = {\n ordered_list: MdList;\n markdown_text: \"ordered_list\";\n};\n\ntype UnOrdredListText = {\n unordered_list: MdList;\n markdown_text: \"unordered_list\";\n};\n\ntype NewlineText = {\n markdown_text: \"newline\";\n};\n\ntype JoinMdContainer = {\n lhs: MdText;\n rhs: MdText;\n};\n\ntype JoinMdText = {\n join: JoinMdContainer;\n markdown_text: \"join\";\n};\n\ntype MdText =\n | NormalText\n | BoldText\n | ItalicText\n | UnderlineText\n | HyperLinkText\n | OrdredListText\n | UnOrdredListText\n | JoinMdText\n | NewlineText;\n\ntype MdTextProp = { mdText: MdText };\n\ntype NormalRenderes = React.FunctionComponent<{ mdText: MdValueContainer }>;\n\ntype ListRenderers = React.FunctionComponent<{ mdText: MdList }>;\n\ntype TextRenderer = React.FunctionComponent<{ mdText: string }>;\n\ntype JoinMdRenderer = React.FunctionComponent<{ mdText: JoinMdContainer }>;\n\ntype HyperLinkRenderer = React.FunctionComponent<{\n mdText: HyperLinkContainer;\n}>;\n\nconst normalWrapper: (TagName: React.ElementType) => NormalRenderes =\n (TagName: React.ElementType) =>\n ({ mdText }) =>\n (\n <TagName>\n <AssistantMd mdText={mdText.value} />\n </TagName>\n );\n\nconst listWrapper: (TagName: React.ElementType) => ListRenderers =\n (TagName) =>\n ({ mdText: { list } }) =>\n (\n <TagName>\n {list.map((mdText) => (\n <li>\n <AssistantMd mdText={mdText} />\n </li>\n ))}\n </TagName>\n );\n\ntype RenderTypes = MdTypes;\n\ntype MdRenderers =\n | NormalRenderes\n | ListRenderers\n | TextRenderer\n | HyperLinkRenderer\n | JoinMdRenderer;\n\n// type RenderMap = Record<RenderTypes, MdRenderers>;\n\nconst NormalTextMd: TextRenderer = ({ mdText }) => {\n return <DisplayURL text={mdText} />;\n};\n\nconst HyperLinkMd: HyperLinkRenderer = ({ mdText }) => (\n <a href={mdText.link} target=\"_blank\">\n <AssistantMd mdText={mdText.value} />\n </a>\n);\n\nconst JoinMd: JoinMdRenderer = ({ mdText: { lhs, rhs } }) => (\n <>\n <AssistantMd mdText={lhs} />\n <AssistantMd mdText={rhs} />\n </>\n);\n\nconst mdTypeRenderers = {\n normal_text: NormalTextMd,\n bold: normalWrapper(\"strong\"),\n italic: normalWrapper(\"em\"),\n underline: normalWrapper(\"u\"),\n hyperlink: HyperLinkMd,\n ordered_list: listWrapper(\"ol\"),\n unordered_list: listWrapper(\"ul\"),\n newline: () => <br />,\n join: JoinMd,\n};\n\nfunction exhaustiveCheck(param: never) {}\n\nexport default function AssistantMd({ mdText }: MdTextProp) {\n switch (mdText.markdown_text) {\n case \"bold\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"italic\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"normal_text\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"underline\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"hyperlink\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"ordered_list\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"unordered_list\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"join\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n let container = mdText[mdText.markdown_text];\n return <RendenMDElement mdText={container} />;\n }\n case \"newline\": {\n let RendenMDElement = mdTypeRenderers[mdText.markdown_text];\n return <RendenMDElement />;\n }\n }\n exhaustiveCheck(mdText);\n}\n"],"names":[],"version":3,"file":"assistant_md.js.map"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skitter/assistant_md",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"source": "src/assistant_md.tsx",
|
|
6
|
-
"main": "dist/assistant_md.
|
|
6
|
+
"main": "dist/assistant_md.js",
|
|
7
7
|
"types": "dist/assistant_md.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"watch": "parcel watch",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|