{"version":3,"sources":["jsdelivr-header.js","/npm/country-flags-css@1.1.2/build.js"],"names":[],"mappings":"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","file":"/npm/country-flags-css@1.1.2/build.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/country-flags-css@1.1.2/build.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const fs = require('fs');\r\nconst path = require('path');\r\nconst fx = require('mkdir-recursive');\r\nconst Spritesmith = require('spritesmith');\r\n\r\nconst srcPath = path.join(__dirname, 'src');\r\nconst dstPath = path.join(__dirname, 'dist');\r\nconst sizes = [16, 24, 32, 48, 64];\r\nconst styles = ['flat', 'shiny'];\r\nconst countries = JSON.parse(fs.readFileSync(path.join(\r\n\t__dirname, 'node_modules', 'world-countries', 'dist', 'countries.json'\r\n)));\r\n\r\nfor (let style of styles) {\r\n\tconst styleCss = [];\r\n\tfor (let size of sizes) {\r\n\t\tconsole.log('Copying ' + size + 'px ' + style + ' flags...');\r\n\t\tconst stats = copySubsetImages(style, size);\r\n\t\tconsole.log('Generating ' + size + 'px ' + style + ' css...');\r\n\t\tconst css = generateSubsetCss(style, size, stats.resolved);\r\n\t\tstyleCss.push(css);\r\n\t\tconsole.log('Generating ' + size + 'px ' + style + ' spritesheet...');\r\n\t\tgenerateSpriteSheet(style, size);\r\n\t}\r\n\tconsole.log('Generating ' + style + ' css...');\r\n\tconst filePath = path.join(dstPath, style + '.css');\r\n\tconst data = styleCss.join('\\n');\r\n\tfs.writeFileSync(filePath, data, 'utf8');\r\n}\r\n\r\nfunction generateSpriteSheet(style, size) {\r\n\t// Make it sync\r\n\tconst iter = (function*() {\r\n\t\tyield _generateSpriteSheet(style, size, () => iter.next());\r\n\t})();\r\n\titer.next();\r\n}\r\n\r\nfunction _generateSpriteSheet(style, size, cb) {\r\n\tconst basePath = getSubsetDstPath(style, size);\r\n\tconst sprites = fs.readdirSync(basePath).map(name => path.join(basePath, name));\r\n\tconst dstImageName = style + size + 'sheet.png';\r\n\tconst dstImagePath = path.join(dstPath, dstImageName);\r\n\tconst dstCssPath = path.join(dstPath, style + size + 'sheet.css');\r\n\t// Generate PNG\r\n\tSpritesmith.run({src: sprites}, function(err, result) {\r\n\t\tif (err) {\r\n\t\t\tconsole.error(err);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfs.writeFileSync(dstImagePath, result.image);\r\n\t\t// Generate stylesheet\r\n\t\tconst css = [\r\n\t\t\t'.cf-' + size + '{display:inline-block;vertical-align:middle}',\r\n\t\t\t'.cf-' + size + ':before{content:\"\";display:block;' +\r\n\t\t\t\t'background:url(' + dstImageName + ') no-repeat;' + \r\n\t\t\t\t'width:' + size + 'px;height:' +\r\n\t\t\t\tsize + 'px;}'\r\n\t\t];\r\n\t\tfor (let filePath of Object.keys(result.coordinates)) {\r\n\t\t\tconst chunks = filePath.split(/\\\\|\\//);\r\n\t\t\tconst fileName = chunks[chunks.length - 1];\r\n\t\t\tconst cca2 = fileName.split('.')[0];\r\n\t\t\tconst coords = result.coordinates[filePath];\r\n\t\t\tcss.push(\r\n\t\t\t\t'.cf-' + size + '.cf-' + cca2 + ':before{background-position:' +\r\n\t\t\t\t(-coords.x) + 'px ' + (-coords.y) + 'px}'\r\n\t\t\t);\r\n\t\t}\r\n\t\tfs.writeFileSync(dstCssPath, css.join('\\n'), 'utf8');\r\n\t\tcb();\r\n\t});\r\n}\r\n\r\nfunction generateSubsetCss(style, size, resolved) {\r\n\tconst css = [\r\n\t\t'.cf-' + size + '{display:inline-block;vertical-align:middle}',\r\n\t\t'.cf-' + size + ':before{content:\"\";display:block;' +\r\n\t\t\t'background:no-repeat 50% 50%;background-size:contain;width:' +\r\n\t\t\tsize + 'px;height:' + size + 'px}'\r\n\t];\r\n\tfor (let chunks of resolved) {\r\n\t\tconst cca2 = chunks[0];\r\n\t\tconst ext = chunks[1];\r\n\t\tconst url = style + size + '/' + cca2 + '.' + ext;\r\n\t\tcss.push(\r\n\t\t\t'.cf-' + size + '.cf-' + cca2 + ':before{background-image:url(' +\r\n\t\t\turl + ')}'\r\n\t\t);\r\n\t}\r\n\tconst filePath = path.join(dstPath, style + size + '.css');\r\n\tconst data = css.join('\\n');\r\n\tfs.writeFileSync(filePath, data, 'utf8');\r\n\treturn data;\r\n}\r\n\r\nfunction copySubsetImages(style, size) {\r\n\tconst fileNames = getSubsetSrcFileNames(style, size);\r\n\tconst srcBase = getSubsetSrcPath(style, size);\r\n\tconst dstBase = getSubsetDstPath(style, size);\r\n\tconst stats = {\r\n\t\ttotal: fileNames.length,\r\n\t\tresolved: []\r\n\t};\r\n\tfx.mkdirSync(dstBase);\r\n\tfor (fileName of fileNames) {\r\n\t\tconst chunks = fileName.split('.');\r\n\t\tif (chunks.length !== 2) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tconst baseName = chunks[0];\r\n\t\tconst ext = chunks[1];\r\n\t\tconst cca2 = nameToCCA2(baseName);\r\n\t\tif (!cca2) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tcopyFileSync(\r\n\t\t\tpath.join(srcBase, fileName),\r\n\t\t\tpath.join(dstBase, cca2 + '.' + ext)\r\n\t\t);\r\n\t\tstats.resolved.push([cca2, ext]);\r\n\t}\r\n\treturn stats;\r\n}\r\n\r\n\r\n\r\nfunction copyFileSync(source, target) {\r\n\tconst data = fs.readFileSync(source, {flag: 'r'});\r\n\tfs.writeFileSync(target, data, {flag: 'w'});\r\n}\r\n\r\nfunction nameToCCA2(name) {\r\n\tname = name.replace(/\\-/g, ' ').toLowerCase();\r\n\tfor (country of countries) {\r\n\t\tif (country.name.common.toLowerCase() === name ||\r\n\t\t\tcountry.name.official.toLowerCase() === name)\r\n\t\t\treturn country.cca2.toLowerCase();\r\n\t}\r\n\treturn false;\r\n}\r\n\r\nfunction getSubsetDstPath(style, size) {\r\n\treturn path.join(dstPath, style + size);\r\n}\r\n\r\nfunction getSubsetSrcPath(style, size) {\r\n\treturn path.join(srcPath, 'flags', style+'', size+'');\r\n}\r\n\r\nfunction getSubsetSrcFileNames(style, size) {\r\n\tconst base = getSubsetSrcPath(style, size);\r\n\treturn fs.readdirSync(base);\r\n}\r\n"]}