MCPcopy
hub / github.com/formatjs/formatjs / objToTSNode

Function objToTSNode

packages/ts-transformer/transform.ts:60–80  ·  view source on GitHub ↗
(factory: typescript.NodeFactory, obj: object)

Source from the content-addressed store, hash-verified

58}
59
60function objToTSNode(factory: typescript.NodeFactory, obj: object) {
61 if (typeof obj === 'object' && !obj) {
62 return factory.createNull()
63 }
64 const props: typescript.PropertyAssignment[] = Object.entries(obj)
65 .filter(([_, v]) => typeof v !== 'undefined')
66 .map(([k, v]) =>
67 factory.createPropertyAssignment(
68 isValidIdentifier(k) ? k : factory.createStringLiteral(k),
69 primitiveToTSNode(factory, v) ||
70 (Array.isArray(v)
71 ? factory.createArrayLiteralExpression(
72 v
73 .filter(n => typeof n !== 'undefined')
74 .map(n => objToTSNode(factory, n))
75 )
76 : objToTSNode(factory, v))
77 )
78 )
79 return factory.createObjectLiteralExpression(props)
80}
81
82function messageASTToTSNode(
83 factory: typescript.NodeFactory,

Callers 1

messageASTToTSNodeFunction · 0.85

Calls 2

primitiveToTSNodeFunction · 0.85
isValidIdentifierFunction · 0.70

Tested by

no test coverage detected