UNPKG

@shaynekasai/namegen

Version:

SQLite random name generator based on US census data

35 lines (26 loc) 1.16 kB
'use strict'; // Initializers var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database('./namegen.db', sqlite3.OPEN_READONLY); // Public API module.exports = { findRandomSurname: function(callback) { db.get('SELECT name FROM surnames ORDER BY RANDOM() LIMIT 1', callback); }, findRandomMaleName: function(callback) { db.get('SELECT (SELECT name FROM forenames_male ORDER BY RANDOM() LIMIT 1) AS forename, (SELECT name FROM surnames ORDER BY RANDOM() LIMIT 1) AS surname', callback); }, findRandomFemaleName: function(callback) { db.get('SELECT (SELECT name FROM forenames_female ORDER BY RANDOM() LIMIT 1) AS forename, (SELECT name FROM surnames ORDER BY RANDOM() LIMIT 1) AS surname', callback); }, findRandomMaleForename: function(callback) { db.get('SELECT name FROM forenames_male ORDER BY RANDOM() LIMIT 1', callback); }, findRandomFemaleForename: function(callback) { db.get('SELECT name FROM forenames_female ORDER BY RANDOM() LIMIT 1', callback); }, // Returns db handler. Use only as last resort. _getDB:function() { return db; } };