The statistic library for JSer.info.
JSer.infoのItemとPostを元にした統計処理やその前処理を行うライブラリです。
npm install @jser/stat
- See README.md on project root
Automatically load rawItems
and rawPosts
in Node.js.
import { JSerStat } from "@jser/stat";
import { fetchItems, fetchPosts } from "@jser/data-fetcher";
Promise.all([fetchItems(), fetchPosts()]).then(([items, posts]) => {
const stat = new JSerStat(items, posts);
const startTime = Date.now();
const firstWeek = stat.findJSerWeek(1);
const weeks = stat.findJSerWeeksBetween(new Date("2013-01-31T15:00:00.000Z"), new Date("2015-06-01T13:22:37.167Z"));
const theItem = stat.findItemWithURL("http://d.hatena.ne.jp/brazil/20110131/1296419283");
console.log(theItem);
/*
JSerItem {
title: '実行間隔を調整する - はてなダイアリー - 無料で簡単。広告のないシンプルなブログをはじめよう!',
url: 'http://d.hatena.ne.jp/brazil/20110131/1296419283',
content: '一定間隔内で一度のみ実行する throttle、\n一定間隔に呼び出され無ければ実行する debounce についての解説。\nそれぞれ用途や図解も付いていて大変わかりやすい。',
tags: [],
date: Sat Jan 01 2011 00:00:00 GMT+0900 (JST),
relatedLinks: [] }
*/
});
jser-stat has these model.
- src/models/JSerItem.js from jser/source-data
- src/models/JSerItemRelatedLink.js is sub model of JSerItem.
- src/models/JSerPost.js from jser/jser.github.io
- src/models/JSerWeek.js is JSerItem + JSerPost
return JSerItems between two dates
return all JSerWeeks
return JSerWeeks between two dates
number start with 1.
return JSerWeek at the number.
return JSerWeek contain the itemObject.
return JSerItem match the URL
.
npm test
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
MIT