package Ġio . ipfs . kotlin Ċ Ċ import Ġjava . util . Stack Ċ import Ġkotlin . system . exit Process Ċ Ċ /** Ċ Ġ* ĠExecution Ġ: Ġgradle w Ġrun Ġ-- args ="- ipfs Ġget ĠQ m Tz X 9 1 dh q H Run j Ctr t 4 Ld TE r RE UA 5 Gg 1 w F Mi Jz 1 b Ei Q xp " Ċ Ġ* Ġval Ġmulti hash Ġ= ĠLocal Ip fs (). add . string (" test - string "). Hash Ċ Ġ* Ġval Ġcontent Ġ= ĠLocal Ip fs (). get . cat ( multi hash ) Ċ Ġ* Ġval Ġcommit Ġ= ĠLocal Ip fs (). info . version () !!. Commit Ċ Ġ* ĠAuthor Ġ: ĠEm ile ĠA ch ad de Ġ 2 2 Ġf Ã© v rier Ġ 2 0 2 0 Ġat Ġ 1 5 : 3 2 : 4 4 + 0 1 : 0 0 Ċ Ġ* ĠImprove Ġ: Ġsplit Ġgenerate Module Ġinto Ġstring Ġand Ġwrite ĠĊ Ġ*/ Ċ Ċ fun Ġexecute Generate Of Word List ( wor _ l : ĠList < String >) Ġ{ ĊĠĠĠ Ġval Ġ( here , Ġcaller ) Ġ= Ġmodule Here And Caller () ĊĠĠĠ Ġentering ( here , Ġcaller ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠĠĠĠĠĠ 4 ĠĠĠĠĠĠ 5 ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠELEMENT Ġ ĠA BB RE VI ATION ĠĊĠĠĠ Ġ// ĠEx .: Ġ(- gen ) erate Ġprovider Ġimmutable ĠĠĠ Ġimm ĊĠĠĠĠĊĠĠĠ Ġvar Ġdone Ġ= Ġfalse ĊĠĠĠ Ġif ( is Trace ( here )) Ġprintln Ġ(" $ here : Ġinput Ġwor _ l Ġ'$ wor _ l '") ĊĠĠĠ Ġvar Ġwor _ s Ġ= Ġword Stack Of Word List ( wor _ l ) ĊĠĠĠĠĊĠĠĠ Ġwhile Ġ(! done ) Ġ{ Ċ ĉ try Ġ{ ĊĉĠĠĠ Ġval Ġwor Kin Ġ= Ġwor _ s . pop () ĊĉĠĠĠ Ġval Ġwor _ 3 Ġ= Ġthree First Characters Of String Of Caller ( wor Kin , Ġhere ) ĊĉĠĠĠ Ġif ( is Loop ( here )) Ġprintln ("$ here : Ġwor Kin Ġ'$ wor Kin '") ĊĉĠĠĠĠĊĉĠĠĠ Ġwhen Ġ( wor _ 3 ) Ġ{ Ċĉ ĉ " hel " Ġ-> Ġ{ ĊĉĉĠĠĠ Ġwor _ s . clear () ĊĉĉĠĠĠ Ġprint Help Of String ("- generate Ġ") ĊĠĠĠĠĉ ĉ } Ċĉ ĉ " pro ", Ġ" reg ", Ġ" typ ", Ġ" val " Ġ-> Ġ{ Ġ// (- gen ) erate Ġprovider Ġmodule - name Ġabbre viation ĊĉĉĠĠĠ Ġval Ġmod Nam Ġ= Ġwor _ s . pop () ĊĉĉĠĠĠ Ġval Ġab b Nam Ġ= Ġwor _ s . pop () ĊĊĉĉ ĠĠĠ Ġif ( isDebug ( here )) Ġprintln Ġ(" mod Nam : Ġ'$ mod Nam '") ĊĉĉĠĠĠ Ġif ( isDebug ( here )) Ġprintln Ġ(" abb Nam : Ġ'$ abb Nam '") ĊĉĉĠĠĠ Ġwor _ s . clear () ĊĉĉĠĠĠ Ġgenerate Module Ġ( wor Kin , Ġmod Nam , Ġab b Nam ) Ċĉ ĉ } Ċĉ ĉ else Ġ-> Ġ{ ĊĉĉĠĠĠ Ġfatal Error Print Ġ(" command ĠKind Ġwere Ġone Ġof Ġ' pro ' vider Ġ' reg ' ister Ġ' typ ' e Ġ' val ' ue Ġ' hel ' p "," ' "+ wor Kin +" '", Ġ" Check Ġinput ", Ġhere ) Ċĉ ĉ } Ġ// Ġelse ĊĉĠĠĠ Ġ} Ġ// Ġwhen Ċ ĉ } Ġ// Ġtry Ċ ĉ catch Ġ( e : Ġjava . util . Empty Stack Exception ) Ġ{ done Ġ= Ġtrue } Ġ// Ġcatch ĊĉĊĠĠĠ Ġ} Ġ// Ġwhile ĊĠĠĠ Ġexiting ( here ) Ċ } Ċ Ċ fun Ġgenerate Module ( kin : String , ĠmoduleName : ĠString , Ġabbre viation : ĠString ) Ġ{ ĊĠĠĠ Ġval Ġ( here , Ġcaller ) Ġ= Ġmodule Here And Caller () ĊĠĠĠ Ġentering ( here , Ġcaller ) ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 ĠĠĠĠĠĠĠĠĠ 2 ĠĠĠĠĠĠĠĠĠ 4 ĠĠĠĠĠĠ 5 ĊĠĠĠ Ġ// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠELEMENT Ġ ĠA BB RE VI ATION ĠĊĠĠĠ Ġ// ĠEx .: Ġ(- gen ) erate Ġprovider Ġimmutable ĠĠĠ Ġimm ĊĊĠĠĠ Ġif ( is Trace ( here )) Ġprintln ("$ here : Ġinput Ġkin Ġ'$ kin '") ĊĠĠĠ Ġif ( is Trace ( here )) Ġprintln ("$ here : Ġinput ĠmoduleName Ġ'$ moduleName '") ĊĠĠĠ Ġif ( is Trace ( here )) Ġprintln ("$ here : Ġinput Ġabbre viation Ġ'$ abbre viation '") ĊĊĠĠĠ Ġval Ġkin _ 3 Ġ= Ġkin . substring ( 0 , 3 ) ĊĠĠĠ Ġval Ġkind Ġ= Ġwhen Ġ( kin _ 3 ) Ġ{ Ċ ĉ " pro " Ġ-> Ġ" provider " ĉĊ ĉ " reg " Ġ-> Ġ" register " Ċ ĉ " typ " Ġ-> Ġ" type " ĉĊ ĉ " val " Ġ-> Ġ" value " Ċ ĉ else Ġ-> Ġ{ ĊĉĠĠĠ Ġfatal Error Print Ġ(" Kind Ġof Ġmodule Ġto Ġbe Ġgenerated Ġwere Ġone Ġof Ġ' pro ' vider Ġ' reg ' ister Ġ' typ ' e Ġ' val ' ue "," ' "+ kin +" '", Ġ" Check Ġinput ", Ġhere ) ĊĉĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġval Ġtem Nam Ġ= Ġ"./ generator /" Ġ+ Ġkind Ġ+ Ġ". template " ĊĠĠĠ Ġif ( isDebug ( here )) Ġprintln Ġ(" $ here Ġtemplate Ġfile Ġ'$ tem Nam '") ĊĠĠĠ Ġval Ġstr Ġ= Ġstring Read Of FilePath ( tem Nam ) ĊĠĠĠ Ġif ( isDebug ( here )) Ġprintln Ġ(" $ here Ġstr Ġ'$ str '") ĊĠĠĠ Ġval Ġstr E LE Ġ= Ġstr . replace (" {{ ELEMENT }} ", ĠmoduleName ) ĊĠĠĠ Ġval Ġstr ABB Ġ= Ġstr E LE . replace (" {{ AB BRE VI ATION }} ", Ġabbre viation ) ĊĊĠĠĠ Ġval Ġfil Nam Ġ= Ġ"./ generator /" Ġ+ ĠmoduleName Ġ+ Ġ"." Ġ+ Ġkind Ġ+ Ġ". kt " ĊĠĠĠ Ġif ( isDebug ( here )) Ġprintln Ġ(" $ here : Ġfil Nam Ġ'$ fil Nam '") ĊĠĠĠĠĊĠĠĠ Ġoutput Write Of FilePath ( fil Nam , Ġstr ABB ) ĊĠĠĠĠĊĠĠĠ Ġexiting ( here ) Ċ } ĊĊ