UNPKG

stratic-date-in-path

Version:

Make a Vinyl file's path include the date based on Stratic metadata

40 lines (30 loc) 1.27 kB
/* This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ 'use strict'; var through2 = require('through2'); var moment = require('moment'); var path = require('path'); module.exports = function(data) { return through2.obj(function(file, enc, callback) { var that = this; var date = moment.unix(file.data.time.epoch); var offset = Number(file.data.time.utcoffset.slice(3)); date.utcOffset(offset); var year = date.year().toString(); var month = date.month() + 1; month = month < 10 ? '0' + month.toString() : month.toString(); file.path = path.join(file.base, year, month, file.relative); that.push(file); callback(); }); };