@temari/digitm
Version:
git commit 规范的 表情emoji 的提交
54 lines (53 loc) • 2.4 kB
JavaScript
;
/*
* @Author: saber
* @Date: 2021-12-27 18:02:18
* @LastEditTime: 2021-12-30 11:56:37
* @LastEditors: saber
* @Description:
*/
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
// @ts-ignore
const node_fetch_1 = __importDefault(require("node-fetch"));
const ora_1 = __importDefault(require("ora"));
const emojisCache_1 = __importDefault(require("./emojisCache"));
// import configurationVault from './configurationVault'
const getGitmojisUrl = 'http://image.parligerly.com/digitm.json';
const getEmojis = (skipCache = false) => __awaiter(void 0, void 0, void 0, function* () {
const emojisFromCache = emojisCache_1.default.getEmojis();
if (emojisCache_1.default.isAvailable() && !skipCache)
return emojisFromCache;
const spinner = (0, ora_1.default)('获取 git commit emojis').start();
try {
const response = yield (0, node_fetch_1.default)(
// configurationVault.getGitmojisUrl(),
// buildFetchOptions()
getGitmojisUrl, {});
const data = yield response.json();
const emojis = data.data;
emojisCache_1.default.createEmojis(emojis);
if (emojis.length === emojisFromCache.length) {
spinner.info('git commit emojis 已经是最新的了');
return [];
}
spinner.succeed('git commit emojis下载成功, 这些是新表情:');
return emojis.filter((emoji) => !emojisFromCache.includes(emoji));
}
catch (error) {
spinner.fail(`Error: ${error}`);
return [];
}
});
exports.default = getEmojis;