MCPcopy Index your code
hub / github.com/alibaba/lowcode-engine / transformItem

Function transformItem

modules/material-parser/src/parse/transform.ts:253–306  ·  view source on GitHub ↗
(name: string, item: any)

Source from the content-addressed store, hash-verified

251}
252
253export function transformItem(name: string, item: any) {
254 const {
255 description,
256 flowType,
257 tsType,
258 type = tsType || flowType,
259 optional,
260 required = optional,
261 defaultValue,
262 ...others
263 } = item;
264 const result: any = {
265 name,
266 };
267
268 if (type) {
269 result.propType = transformType({
270 ...type,
271 ...omit(others, ['name']),
272 required: !!required,
273 });
274 }
275 if (description) {
276 if (description.includes('\n')) {
277 result.description = description.split('\n')[0];
278 } else {
279 result.description = description;
280 }
281 }
282 if (!isNil(defaultValue) && typeof defaultValue === 'object' && isEvaluable(defaultValue)) {
283 if (defaultValue === null) {
284 result.defaultValue = defaultValue;
285 } else if ('computed' in defaultValue) {
286 // parsed data from react-docgen
287 try {
288 if (isEvaluable(defaultValue.value)) {
289 result.defaultValue = safeEval(defaultValue.value);
290 } else {
291 result.defaultValue = defaultValue.value;
292 }
293 } catch (e) {
294 log(e);
295 }
296 } else {
297 // parsed data from react-docgen-typescript
298 result.defaultValue = defaultValue.value;
299 }
300 }
301 if (result.propType === undefined) {
302 delete result.propType;
303 }
304
305 return result;
306}

Callers 4

parseTSFunction · 0.90
parseFunction · 0.90
index.tsFile · 0.90
transformTypeFunction · 0.85

Calls 4

isEvaluableFunction · 0.90
safeEvalFunction · 0.90
transformTypeFunction · 0.85
isNilFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…