const express = require('express');
const sizeOf = require('image-size')
var fs = require('fs');
const app = express()
const port = 3000
function walkSync(currentDirPath, callback) {
var fs = require('fs'),
path = require('path');
fs.readdirSync(currentDirPath, { withFileTypes: true }).forEach(function (dirent) {
var filePath = path.join(currentDirPath, dirent.name);
if (dirent.isFile()) {
callback(filePath, dirent);
} else if (dirent.isDirectory()) {
walkSync(filePath, callback);
}
});
}
let sprites = [];
function category(type) {
switch (type) {
case 'text':
return '1'; break;
case 'variety':
return '2'; break;
case 'ribbon':
return '3'; break;
case 'emoticons':
return '4'; break;
case 'cartoon':
return '5'; break;
case 'animal':
return '6'; break;
case 'food':
return '7'; break;
case 'instruct':
return '8'; break;
case 'paint':
return '9'; break;
case 'graffiti':
return '10'; break;
}
}
walkSync('spritesImg', function (filePath, stat) {
const split = filePath.split('/');
if (split[2] && split[2] !== '.DS_Store') {
const dimensions = sizeOf(filePath);
console.log(dimensions.width, dimensions.height)
const temp = {
name: split[2],
category: category(split[1]),
file: `https://**/${split[1]}/${split[2]}`,
thumbUrl: `https://**/${split[1]}/${split[2]}`,
type: 'image',
width: dimensions.width,
height: dimensions.height
}
sprites.push(temp);
}
});
fs.writeFile('./sprites.json', JSON.stringify(sprites), function (err) {
if (err) { res.status(500).send('Server is error...') }
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})