UNPKG

dragonbones-runtime

Version:

the tools to build dragonbones file for diffrent framework

75 lines (74 loc) 2.36 kB
Object.defineProperty(exports, "__esModule", { value: true }); var FS = require("fs"); var file = require("../lib/FileUtil"); var DirectoryState = (function () { function DirectoryState() { } DirectoryState.prototype.init = function () { this.lastStates = updateMTime(this.path); }; DirectoryState.prototype.checkChanges = function () { var lastStates = this.lastStates; var currentStates = updateMTime(this.path); var lastFiles = Object.keys(lastStates); var currentFiles = Object.keys(currentStates); var fileChanges = []; currentFiles.forEach(function (path, index) { var lastState = lastStates[path]; if (lastState) { var currentState = currentStates[path]; if (currentState.mtime != lastState.mtime || currentState.size != lastState.size) { fileChanges.push({ fileName: path, type: "modified" }); } } else { fileChanges.push({ fileName: path, type: "added" }); } }); lastFiles.forEach(function (path) { if (!currentStates[path]) { fileChanges.push({ fileName: path, type: "removed" }); } }); this.lastStates = currentStates; globals.log(1310); console.log(fileChanges); return fileChanges; }; return DirectoryState; }()); exports.DirectoryState = DirectoryState; function updateMTime(filePath, states) { if (states === void 0) { states = {}; } var files = FS.readdirSync(filePath); var length = files.length; for (var i = 0; i < length; i++) { if (files[i].charAt(0) == ".") { continue; } if (files[i] == "bin-debug") { continue; } var path = file.joinPath(filePath, files[i]); var stat = FS.statSync(path); if (stat.isDirectory()) { updateMTime(path, states); } else { states[path] = { mtime: stat.mtime.getTime(), size: stat.size }; } } return states; }