New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hepburn

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hepburn - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

.travis.yml

62

lib/hepburn.js

@@ -1,2 +0,2 @@

var map1 = {
var hiraganaMonographs = {
"あ": "A", "い": "I", "う": "U", "え": "E", "お": "O",

@@ -11,3 +11,3 @@ "か": "KA", "き": "KI", "く": "KU", "け": "KE", "こ": "KO",

"ら": "RA", "り": "RI", "る": "RU", "れ": "RE", "ろ": "RO",
"わ": "WA", "ゐ": "I", "'ゑ": "E", "を": "O", "ん": "N",
"わ": "WA", "ゐ": "I", "ゑ": "E", "を": "O", "ん": "N",
"が": "GA", "ぎ": "GI", "ぐ": "GU", "げ": "GE", "ご": "GO",

@@ -20,3 +20,3 @@ "ざ": "ZA", "じ": "JI", "ず": "ZU", "ぜ": "ZE", "ぞ": "ZO",

var map2 = {
var hiraganaDigraphs = {
"きゃ": "KYA", "きゅ": "KYU", "きょ": "KYO",

@@ -35,10 +35,49 @@ "しゃ": "SHA", "しゅ": "SHU", "しょ": "SHO",

exports.fromHiragana = function(str) {
var katakanaMonographs = {
"ア": "A", "イ": "I", "ウ": "U", "エ": "E", "オ": "O",
"カ": "KA", "キ": "KI", "ク": "KU", "ケ": "KE", "コ": "KO",
"サ": "SA", "シ": "SHI", "ス": "SU", "セ": "SE", "ソ": "SO",
"タ": "TA", "チ": "CHI", "ツ": "TSU", "テ": "TE", "ト": "TO",
"ナ": "NA", "ニ": "NI", "ヌ": "NU", "ネ": "NE", "ノ": "NO",
"ハ": "HA", "ヒ": "HI", "フ": "FU", "ヘ": "HE", "ホ": "HO",
"マ": "MA", "ミ": "MI", "ム": "MU", "メ": "ME", "モ": "MO",
"ヤ": "YA", "ユ": "YU", "ヨ": "YO",
"ラ": "RA", "リ": "RI", "ル": "RU", "レ": "RE", "ロ": "RO",
"ワ": "WA", "ヰ": "I", "ヱ": "E", "ヲ": "O", "ン": "N",
"ガ": "GA", "ギ": "GI", "グ": "GU", "ゲ": "GE", "ゴ": "GO",
"ザ": "ZA", "ジ": "JI", "ズ": "ZU", "ゼ": "ZE", "ゾ": "ZO",
"ダ": "DA", "ヂ": "JI", "ヅ": "ZU", "デ": "DE", "ド": "DO",
"バ": "BA", "ビ": "BI", "ブ": "BU", "ベ": "BE", "ボ": "BO",
"パ": "PA", "ピ": "PI", "プ": "PU", "ペ": "PE", "ポ": "PO"
};
var katakanaDigraphs = {
"キャ": "KYA", "キュ": "KYU", "キョ": "KYO",
"シャ": "SHA", "シュ": "SHU", "ショ": "SHO",
"チャ": "CHA", "チュ": "CHU", "チョ": "CHO",
"ニャ": "NYA", "ニュ": "NYU", "ニョ": "NYO",
"ヒャ": "HYA", "ヒュ": "HYU", "ヒョ": "HYO",
"ミャ": "MYA", "ミュ": "MYU", "ミョ": "MYO",
"リャ": "RYA", "リュ": "RYU", "リョ": "RYO",
"ギャ": "GYA", "ギュ": "GYU", "ギョ": "GYO",
"ジャ": "JA", "ジュ": "JU", "ジョ": "JO",
"ビャ": "BYA", "ビュ": "BYU", "ビョ": "BYO",
"ピャ": "PYA", "ピュ": "PYU", "ピョ": "PYO"
};
exports.fromKana = function(str) {
// Initial transliteration
for (var key2 in map2) {
str = str.replace(new RegExp(key2, "g"), map2[key2]);
var key;
for (key in hiraganaDigraphs) {
str = str.replace(new RegExp(key, "g"), hiraganaDigraphs[key]);
}
for (var key1 in map1) {
str = str.replace(new RegExp(key1, "g"), map1[key1]);
for (key in katakanaDigraphs) {
str = str.replace(new RegExp(key, "g"), katakanaDigraphs[key]);
}
for (key in hiraganaMonographs) {
str = str.replace(new RegExp(key, "g"), hiraganaMonographs[key]);
}
for (key in katakanaMonographs) {
str = str.replace(new RegExp(key, "g"), katakanaMonographs[key]);
}
// Correct use of sokuon

@@ -49,3 +88,8 @@ str = str.replace(/っC/g, "TC").replace(/っ(.)/g, "$1$1");

// Correct long vowels
return str.replace(/O[OU]/g, "O").replace(/UU/g, "U");
str = str.replace(/O[OU]/g, "O").replace(/UU/g, "U");
// Ignore use of choonpu and tsu
return str.replace(/[ーッ]/g, "");
};
// fromHiragana method deprecated in v0.1.1 and will be removed in v0.2.0
exports.fromHiragana = exports.fromKana;

7

package.json
{
"name": "hepburn",
"version": "0.1.0",
"version": "0.1.1",
"main": "./lib/hepburn",
"description": "Convert Japanese Hiragana to romaji using Hepburn romanisation",
"description": "Convert Japanese Hiragana and Katakana script to Romaji using Hepburn romanisation",
"repository": {

@@ -22,3 +22,4 @@ "type": "git",

"hiragana",
"katakana"
"katakana",
"romaji"
],

@@ -25,0 +26,0 @@ "author": "Lovell Fuller",

@@ -1,26 +0,30 @@

hepburn
=======
# Hepburn
Node.js module for converting Japanese Hiragana to romaji using [Hepburn romanisation](http://en.wikipedia.org/wiki/Hepburn_romanization).
<a href="http://www.flickr.com/photos/fpcorazza/366135465/" target="_blank"><img src="https://farm1.staticflickr.com/151/366135465_38a9464f5a_m.jpg" title="Illustration &copy; Fabio Paiva Corazza 2007" align="right"></a>
Based on Takaaki Komura's [kana2hepburn](https://github.com/emon/kana2hepburn) written in Ruby.
Node.js module for converting Japanese Hiragana and Katakana script to Romaji using [Hepburn romanisation](http://en.wikipedia.org/wiki/Hepburn_romanization).
# Install
Based partly on Takaaki Komura's [kana2hepburn](https://github.com/emon/kana2hepburn).
> `npm install hepburn`
## Install
# Usage
npm install hepburn
> `var hepburn = require("hepburn");
> var text = hepburn.fromHiragana("ひらがな");`
## Usage
In this example `text` will have the value `HIRAGANA`.
```javascript
var hepburn = require("hepburn");
var hirigana = hepburn.fromKana("ひらがな");
var katakana = hepburn.fromKana("カタカナ");
```
# Testing
In this example `hirigana` will have the value `HIRAGANA` and `katakana` will have the value `KATAKANA`.
## Testing [![Build Status](https://travis-ci.org/lovell/hepburn.png?branch=master)](https://travis-ci.org/lovell/hepburn)
Run the unit tests with:
> `node tests/all`
node tests/all
# Licence
## Licence

@@ -27,0 +31,0 @@ Copyright 2013 Lovell Fuller

var assert = require("assert");
var hepburn = require("../lib/hepburn");
var tests = {
var hiraganaTests = {
"ひらがな": "HIRAGANA",

@@ -23,7 +23,19 @@ "あいうえお かきくけこ": "AIUEO KAKIKUKEKO",

"とおる": "TORU",
"さいとう": "SAITO"
"さいとう": "SAITO",
"こんにちは": "KONNICHIHA"
};
for (var hiragana in tests) {
assert.equal(hepburn.fromHiragana(hiragana), tests[hiragana], "Conversion failed");
var katakanaTests = {
"カタカナ": "KATAKANA",
"チャーシュー": "CHASHU",
"ちぢむ": "CHIJIMU",
"マッモト": "MAMOTO"
};
for (var hiragana in hiraganaTests) {
assert.equal(hepburn.fromKana(hiragana), hiraganaTests[hiragana], "Hirigana conversion failed");
}
for (var katakana in katakanaTests) {
assert.equal(hepburn.fromKana(katakana), katakanaTests[katakana], "Katakana conversion failed");
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc