UNPKG

sdin

Version:

JavaScript package builder.

2 lines 2.12 kB
import{visitEachChild as t,isImportDeclaration as o,isExportDeclaration as i,isStringLiteral as c,NodeFlags as y,SyntaxKind as s,isNamespaceExport as l,isNamedExports as p}from"typescript";let f=/\.(css|sass|scss)$/;function e(){return r=>{let a=e=>o(e)?d(e,r):i(e)?n(e,r):t(e,a,r);return{transformBundle:e=>e,transformSourceFile:e=>t(e,a,r)}}}function d(e,r){var a=e.moduleSpecifier,t=e.importClause;return c(a)&&f.test(a.text)?(a=r.factory,t&&t.name?(r=a.createVariableDeclaration(t.name,void 0,a.createTypeReferenceNode("Record",[a.createKeywordTypeNode(s.StringKeyword),a.createUnionTypeNode([a.createKeywordTypeNode(s.StringKeyword),a.createKeywordTypeNode(s.UndefinedKeyword)])])),a.createVariableStatement([a.createModifier(s.DeclareKeyword)],a.createVariableDeclarationList([r],y.Const))):[]):e}function n(e,r){var a=e.moduleSpecifier,t=e.exportClause;if(!a||!c(a)||!f.test(a.text))return e;var o=r.factory;if(t&&l(t)&&t.name)return a=o.createVariableDeclaration(t.name,void 0,o.createTypeReferenceNode("Record",[o.createKeywordTypeNode(s.StringKeyword),o.createUnionTypeNode([o.createKeywordTypeNode(s.StringKeyword),o.createKeywordTypeNode(s.UndefinedKeyword)])])),o.createVariableStatement([o.createModifier(s.ExportKeyword),o.createModifier(s.DeclareKeyword)],o.createVariableDeclarationList([a],y.Const));if(t&&p(t)&&0<t.elements.length){var i,d,n=[];for(i of t.elements)"default"===(null==(d=i.propertyName)?void 0:d.escapedText)?n.push(o.createVariableDeclaration(i.name,void 0,o.createTypeReferenceNode("Record",[o.createKeywordTypeNode(s.StringKeyword),o.createUnionTypeNode([o.createKeywordTypeNode(s.StringKeyword),o.createKeywordTypeNode(s.UndefinedKeyword)])]))):n.push(o.createVariableDeclaration(i.name,void 0,o.createUnionTypeNode([o.createKeywordTypeNode(s.StringKeyword),o.createKeywordTypeNode(s.UndefinedKeyword)])));return o.createVariableStatement([o.createModifier(s.ExportKeyword),o.createModifier(s.DeclareKeyword)],o.createVariableDeclarationList(n,y.Const))}return[]}export{e as createStyleModuleTypescriptTransformer}; //# sourceMappingURL=typescript-transformer-style-module.js.map