mirror of
https://github.com/gristlabs/grist-core.git
synced 2024-10-27 20:44:07 +00:00
28 lines
783 B
JavaScript
28 lines
783 B
JavaScript
|
/**
|
||
|
* This script converts the timezone data from moment-timezone to marshalled format, for fast
|
||
|
* loading by Python.
|
||
|
*/
|
||
|
const marshal = require('app/common/marshal');
|
||
|
const fse = require('fs-extra');
|
||
|
const moment = require('moment-timezone');
|
||
|
const DEST_FILE = 'sandbox/grist/tzdata.data';
|
||
|
|
||
|
function main() {
|
||
|
const zones = moment.tz.names().map((name) => {
|
||
|
const z = moment.tz.zone(name);
|
||
|
return marshal.wrap('TUPLE', [z.name, z.abbrs, z.offsets, z.untils]);
|
||
|
});
|
||
|
const marshaller = new marshal.Marshaller({version: 2});
|
||
|
marshaller.marshal(zones);
|
||
|
const contents = marshaller.dumpAsBuffer();
|
||
|
|
||
|
return fse.writeFile(DEST_FILE, contents);
|
||
|
}
|
||
|
|
||
|
if (require.main === module) {
|
||
|
main().catch((e) => {
|
||
|
console.log("ERROR", e.message);
|
||
|
process.exit(1);
|
||
|
});
|
||
|
}
|