nv-random-sentence
Version:
nv-random-sentence ============ - nv-random-sentence - creat random word/sentence for inserting into database - used for test bed - the sentence is meaning-less AND inaccurate(grammar is NOT correct,just a rough match)
105 lines (90 loc) • 2.15 kB
JavaScript
const rnd = require('nv-random-util');
const adj = require("./adj.arr.json");
const adv = require("./adv.arr.json");
const aux = require("./aux.arr.json");
const conj = require("./conj.arr.json");
const interj = require("./interj.arr.json");
const noun = require("./noun.arr.json");
const pl = require("./pl.arr.json");
const pron = require("./pron.arr.json");
const prep = require("./prep.arr.json");
const vi = require("./vi.arr.json");
const vt = require("./vt.arr.json");
const vw = require("./vw.arr.json");
const C = 'C'; //conj
const D = 'D'; //adv
const I = 'I'; //vi
const J = 'J'; //adj
const N = 'N'; //noun
const O = 'O'; //pron
const P = 'P'; //pl
const R = 'R'; //prep
const T = 'T'; //interj
const V = 'V'; //vt
const W = 'W'; //vw
const DB = {
"C": conj,
"D": adv,
"I": vi,
"J": adj,
"N": noun,
"O": pron,
"P": pl,
"R": prep,
"T": interj,
"V": vt,
"W": vw,
conj,adv,vi,adj,noun,pron,pl,prep, interj,vt,vw,
}
const NAMEMD = {
"C": "conj",
"D": "adv",
"I": "vi",
"J": "adj",
"N": "noun",
"O": "pron",
"P": "pl",
"R": "prep",
"T": "interj",
"V": "vt",
"W": "vw",
"conj": "C",
"adv": "D",
"vi": "I",
"adj": "J",
"noun": "N",
"pron": "O",
"pl": "P",
"prep": "R",
"interj": "T",
"vt": "V",
"vw": "W"
}
const creat = (ptrn) => {
ptrn = ptrn.toUpperCase();
let ks = Array.from(ptrn);
let arr = [];
for(let k of ks) {
let db = DB[k];
let word = rnd.rand_from_ary(db);
arr.push(word)
}
return(arr.join("_"))
}
module.exports = {
DB,NAMEMD,
conj,adv,vi,adj,noun,pron,pl,prep, interj,vt,vw,
////
creat,
}
const METHOD_NAMES = [
"C","D","I","J","N","O","P","R","T","V","W",
"JN", "NI",/*S-VI*/ "NW",
"DJN","NVN"/*SVO*/,"NIJ",/*S-VI-C#0*/,"NIN",/*S-VI-C#1*/
"NVNN",/*S-V-IO-DO*/
"NVNC",/*S-V-DO-C*/
]
const OD = Object.defineProperty;
for(let name of METHOD_NAMES) {
OD(module.exports,name+'_',{get:function(){return(creat(name))}})
}