* Determine if node is of the form Root.ExperimentNames.ExperimentName.NAME, and if so * return NAME as string.
(node)
| 93 | * return NAME as string. |
| 94 | */ |
| 95 | function isExperimentNameReference(node) { |
| 96 | if (node.type !== 'MemberExpression') { |
| 97 | return false; |
| 98 | } |
| 99 | if (node.object.type !== 'MemberExpression' || node.object.property?.name !== 'ExperimentName') { |
| 100 | return false; |
| 101 | } |
| 102 | if (node.object.object.type !== 'MemberExpression' || node.object.object.property?.name !== 'ExperimentNames') { |
| 103 | return false; |
| 104 | } |
| 105 | if (node.object.object.object.type !== 'Identifier' || node.object.object.object.name !== 'Root') { |
| 106 | return false; |
| 107 | } |
| 108 | return node.property.name; |
| 109 | } |
| 110 | |
| 111 | /** |
| 112 | * Gets list of experiments registered in MainImpl.js. |
no outgoing calls
no test coverage detected