关于中国数术的JS第三方库
当运用程序来处理命理、占卜等相关事务时,我们需要使用一些特定的工具和库。其中一个有趣且实用的库就是 fortel-codex
。本文将向您介绍如何安装和使用这个库,以及如何处理其中的各种概念和功能。
安装
首先,我们需要通过 npm 进行安装:
$ npm install --save fortel-codex
基本概念
陰陽 (MoonSun)
在命理学中,"陰" 和 "陽" 是两个重要的概念。在 fortel-codex
中,我们可以使用 MoonSun
对象来表示它们。
const fortelCodex = require('fortel-codex');
const MoonSun = fortelCodex.MoonSun;
var moon = MoonSun.get('陰');
moon = MoonSun.Moon; // 也可以这样获取
console.log('陰:', moon);
var sun = MoonSun.get('陽');
sun = MoonSun.Sun; // 也可以这样获取
console.log('陽:', sun);
五行 (Element)
另一个重要的概念是 "五行",即金、木、水、火、土。fortel-codex
提供了 Element
对象来表示五行。
const Element = fortelCodex.Element;
/* 获取基本五行对象 */
var gold = Element.Gold;
gold = Element.get('金'); // 也可以这样获取
console.log('金: ', gold);
var wood = Element.Wood;
wood = Element.get('木'); // 也可以这样获取
console.log('木: ', wood);
var earth = Element.Earth;
earth = Element.get('土'); // 也可以这样获取
console.log('土: ', earth);
var water = Element.Water;
water = Element.get('水'); // 也可以这样获取
console.log('水: ', water);
var fire = Element.Fire;
fire = Element.get('火'); // 也可以这样获取
console.log('火: ', fire);
天干 (Stem)
在命理学中,"天干" 是一个重要的概念,代表着十个符号。fortel-codex
提供了 Stem
对象来表示天干。
const fortelCodex = require('fortel-codex');
const Stem = fortelCodex.Stem;
/* 获取所有天干对象 */
var items = Stem.items; // 这是一个包含所有天干对象的数组
var output = "";
for(let item of items){
output += item.displayName;
}
console.log(output);
/* 根据索引获取天干对象 */
console.log('0: '+util.inspect(Stem.get(0)));
console.log('1: '+util.inspect(Stem.get(1)));
console.log('......\n');
/* 根据名称获取天干对象 */
console.log('0: '+util.inspect(Stem.get('甲')));
console.log('1: '+util.inspect(Stem.get('乙')));
console.log('......\n');
/* 天干合化 */
console.log('甲己合化' + Stem.get('甲').getSythesisResult(Stem.get('己')).displayName);
console.log('乙庚合化' + Stem.get('乙').getSythesisResult(Stem.get('庚')).displayName);
// ... 其他合化组合
/* 天干相剋 */
console.log('甲剋' + Stem.get('甲').getSuppress().displayName);
console.log('戊被' + Stem.get('戊').getSuppressedBy().displayName + '所剋');
// ... 其他相剋关系
地支 (Branch)
"地支" 表示十二个符号,与生肖有关。fortel-codex
提供了 Branch
对象来表示地支。
const fortelCodex = require('fortel-codex');
const Branch = fortelCodex.Branch;
/* 获取所有地支对象 */
var items = Branch.items; // 这是一个包含所有地支对象的数组
console.log(items.map(item=>item.displayName).join(', '));
/* 根据索引获取地支对象 */
console.log('0: '+util.inspect(Branch.get(0)));
console.log('1: '+util.inspect(Branch.get(1)));
console.log('......\n');
/* 根据名称获取地支对象 */
console.log('0: '+util.inspect(Branch.get('子')));
console.log('1: '+util.inspect(Branch.get('丑')));
console.log('......\n');
/* 地支六合局 */
let combinations = Branch.checkCombinations([Branch.get('子'), Branch.get('丑')]);
console.log("子丑合化"+combinations.sixSythesis[0].element.displayName);
// ... 其他六合组合
/* 地支三合局 */
combinations = Branch.checkCombinations([Branch.get('申'), Branch.get('子'), Branch.get('辰')]);
console.log("申子辰三合"+combinations.threeSythesis[0].combination.element.displayName+"局");
// ... 其他三合组合
/* 地支相沖 */
console.log(Branch.checkOpposite(Branch.get('子'), Branch.get('午')));
console.log(Branch.checkOpposite(Branch.get('子'), Branch.get('亥')));
// ... 其他相沖关系
/* 地支相刑 */
let combinations = Branch.checkCombinations([Branch.get('寅'), Branch.get('巳'), Branch.get('申')]);
console.log(combinations.punishment[0].type);
combinations = Branch.checkCombinations([Branch.get('午'), Branch.get('午')]);
console.log(combinations.punishment[0].type);
// ... 其他相刑关系
/* 地支相害 */
console.log(Branch.checkHarm(Branch.get('子'), Branch.get('未')));
console.log(Branch.checkHarm(Branch.get('子'), Branch.get('丑')));
// ... 其他相害关系
时辰 (BranchHour)
在命理学中,时辰也是一个重要的概念。fortel-codex
提供了 BranchHour
对象来表示时辰。
const fortelCodex = require('fortel-codex');
const BranchHour = fortelCodex.BranchHour;
var items = BranchHour.items; // 这是一个包含所有时辰对象的数组
console.log(items.map(item=>item.displayName).join(', '));
生肖 (Zodiac)
最后,生肖也是命理学中的一个重要概念,表示十二种动物符号。fortel-codex
提供了 Zodiac
对象来表示生肖。
const fortelCodex = require('fortel-codex');
const Zodiac = fortelCodex.Zodiac;
var items = Zodiac.items; // 这是一个包含所有生肖对象的数组
console.log(items.map(item=>item.displayName).join(', '));
总结
通过使用 fortel-codex
这个库,我们可以轻松地处理命理学中涉及的陰陽、五行、天干、地支、时辰和生肖等各种概念。您可以根据您的需求,使用这些对象来进行分析、计算和判断。无论是对于专业的命理学研究还是日常的娱乐,这个库都能为您提供便捷和有趣的工具。
转载自:https://juejin.cn/post/7269757651771473974