UNPKG

@dschu012/casclib

Version:
44 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const addon = require('../build/Release/casclib-native'); exports.LOCALES = Object.keys(addon.locales); function localeMaskToList(localeMask) { return Object.entries(addon.locales) .filter(([name, mask]) => name !== 'ALL' && (localeMask & mask) !== 0) .map(([name, mask]) => name); } function localesToMask(locales) { let mask = 0; locales.forEach(name => mask |= addon.locales[name]); return mask; } function openStorageSync(path, locales = ['ALL']) { return addon.openCascStorageSync(path, localesToMask(locales)); } exports.openStorageSync = openStorageSync; function openStorage(path, localesOrCallback = ['ALL'], callback) { let locales = ['ALL']; if (Array.isArray(localesOrCallback)) { locales = localesOrCallback; } else { callback = localesOrCallback; } return addon.openCascStorage(path, localesToMask(locales), callback); } exports.openStorage = openStorage; function getStorageInfo(storageHandle) { const info = addon.getCascStorageInfo(storageHandle); return { fileCount: info.fileCount, gameName: info.gameName, gameBuild: info.gameBuild, installedLocales: localeMaskToList(info.installedLocales), }; } exports.getStorageInfo = getStorageInfo; function closeStorage(storageHandle) { addon.closeCascStorage(storageHandle); } exports.closeStorage = closeStorage; //# sourceMappingURL=storage.js.map