Пример #1
0
 ts.visitNodes(args[0].properties, (node) => {
     if (!ts.isPropertyAssignment(node) || ts.isComputedPropertyName(node.name)) {
         return node;
     }
     const name = node.name.text;
     switch (name) {
         case 'templateUrl':
             const url = replace_resources_1.getResourceUrl(node.initializer);
             if (url) {
                 resources.push(url);
             }
             break;
         case 'styleUrls':
             if (!ts.isArrayLiteralExpression(node.initializer)) {
                 return node;
             }
             ts.visitNodes(node.initializer.elements, (node) => {
                 const url = replace_resources_1.getResourceUrl(node);
                 if (url) {
                     resources.push(url);
                 }
                 return node;
             });
             break;
     }
     return node;
 });
Пример #2
0
 componentArg.properties.forEach(function (prop) {
     if (!ts.isPropertyAssignment(prop) || ts.isComputedPropertyName(prop.name)) {
         newProperties.push(prop);
         return;
     }
     switch (prop.name.text) {
         case 'styles':
             if (!ts.isArrayLiteralExpression(prop.initializer)) {
                 throw new Error('styles takes an array argument');
             }
             newStyleExprs.push.apply(newStyleExprs, tslib_1.__spread(prop.initializer.elements));
             break;
         case 'styleUrls':
             if (!ts.isArrayLiteralExpression(prop.initializer)) {
                 throw new Error('styleUrls takes an array argument');
             }
             newStyleExprs.push.apply(newStyleExprs, tslib_1.__spread(prop.initializer.elements.map(function (expr) {
                 if (!ts.isStringLiteral(expr) && !ts.isNoSubstitutionTemplateLiteral(expr)) {
                     throw new Error('Can only accept string literal arguments to styleUrls. ' + PRECONDITIONS_TEXT);
                 }
                 var styles = loader.get(expr.text);
                 return ts.createLiteral(styles);
             })));
             break;
         case 'templateUrl':
             if (!ts.isStringLiteral(prop.initializer) &&
                 !ts.isNoSubstitutionTemplateLiteral(prop.initializer)) {
                 throw new Error('Can only accept a string literal argument to templateUrl. ' + PRECONDITIONS_TEXT);
             }
             var template = loader.get(prop.initializer.text);
             newProperties.push(ts.updatePropertyAssignment(prop, ts.createIdentifier('template'), ts.createLiteral(template)));
             break;
         default:
             newProperties.push(prop);
     }
 });