UNPKG

@haechi-labs/henesis-cli

Version:

🚀 Command Line Interface tool to Utilize henesis

53 lines • 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const class_transformer_1 = require("class-transformer"); const wretch_1 = require("../wretch"); const url_1 = require("./url"); const utils_1 = require("../../utils"); const types_1 = require("../../types"); const url_2 = require("./url"); const dayjs_1 = tslib_1.__importDefault(require("dayjs")); const utc_1 = tslib_1.__importDefault(require("dayjs/plugin/utc")); class NFTRpc { constructor(server, version) { this.server = server + '/nft/' + version + '/stats'; this.rpcVersion = version; } async dailyUsage() { const clientId = utils_1.getUserProperty('clientId'); // Date Setting dayjs_1.default.extend(utc_1.default); let now = dayjs_1.default().utc(); const startDate = now .startOf('month') .add(1, 'day') .format('YYYY-MM-DD'); const nowDate = now.format('YYYY-MM-DD'); const json = await wretch_1.getWretcher() .url(`${this.server}/jsonRpcDailyStats?clientId=${clientId}&start=${startDate}&end=${nowDate}&size=31&page=0&order_by=date&order_direction=DESC`) .get() .error(401, err => { throw new Error('You are not registered at NFT API.'); }) .error(404, err => { if (err.json.error.message === 'stats does not exist') { return { data: [], }; } }) .json() .catch((err) => { throw err; }); if (!Array.isArray(json['data'])) { throw new Error(`Expected dailyUsage to return an array but it returned ${json['data']}`); } return class_transformer_1.plainToClass(types_1.NFTDailyStat, json['data']); } } exports.NFTRpc = NFTRpc; const url = url_2.nftBaseUrl(); exports.default = new NFTRpc(url, url_1.rpcVersion); //# sourceMappingURL=nft.js.map