UNPKG

articles

Version:

Utility to determine the indirect article (in English) for a given word, using the method described at http://stackoverflow.com/questions/1288291/how-can-i-correctly-prefix-a-word-with-a-and-an/1288473#1288473 and the data provided at http://home.nerbonne

3,390 lines (3,382 loc) 43.4 kB
// Generated by CoffeeScript 1.10.0 (function() { var a, articlize, arts, find, n, slice = [].slice; a = 'a'; n = 'an'; arts = { 0: { 8: { _: n }, 9: { _: n }, "-": { 1: { 1: { _: n } }, 4: { " ": { _: a }, _: n }, 6: { "-": { _: n } }, 8: { _: n } } }, 1: { 1: { 0: { _: a }, 1: { _: a }, 2: { _: a }, 3: { _: a }, 4: { _: a }, 5: { _: a }, 6: { _: a }, 7: { _: a }, 8: { _: a }, 9: { _: a }, _: n, ".": { 4: { _: a } } }, 8: { 0: { 0: { _: n }, 1: { _: n }, 2: { _: n }, 3: { _: n }, 4: { _: n }, 5: { _: n }, 6: { _: n }, 7: { _: n }, 8: { _: n }, 9: { _: n }, _: a }, 1: { "-": { _: a }, " ": { _: a } }, 2: { "-": { _: a }, " ": { _: a } }, 3: { "-": { _: a }, " ": { _: a } }, 4: { "-": { _: a }, " ": { _: a } }, 5: { "-": { _: a }, " ": { _: a } }, 6: { "-": { _: a }, " ": { _: a } }, 7: { "-": { _: a }, " ": { _: a } }, 8: { "-": { _: a }, " ": { _: a } }, 9: { "-": { _: a }, " ": { _: a } }, _: n } }, 8: { 0: { 0: { x: { _: a } } }, 9: { 0: { _: a } }, _: n, ",": { 1: { _: a } } }, "`": { a: { _: n } }, "£": { 8: { _: n } }, "∞": { _: n }, a: { " ": { _: a }, b: { o: { u: { t: { "-": { _: n } }, _: a } } }, g: { a: { i: { _: a } } }, l: { "-": { I: { _: a } }, g: { u: { _: a } }, t: { h: { _: a } } }, m: { o: { n: { _: a } } }, n: { " ": { _: a }, d: { a: { _: n }, e: { _: n }, r: { _: n }, _: a }, o: { t: { _: a } }, y: { w: { _: a } } }, p: { r: { e: { _: a } } }, r: { e: { " ": { _: a }, ":": { _: a } }, t: { "í": { _: a } } }, _: n }, A: { $: { _: a }, A: { A: { _: a } }, n: { d: { a: { l: { u: { c: { _: a } } } } } }, r: { m: { a: { t: { _: a } } } }, s: { t: { u: { r: { i: { a: { s: { _: a } } } } } } }, t: { h: { l: { e: { t: { i: { _: n } } }, o: { _: n }, _: a } } }, U: { $: { _: a }, D: { _: a }, S: { C: { _: a } } }, _: n }, "Á": { _: n }, "á": { ";": { _: n } }, "à": { _: n }, "Ä": { _: n }, "ā": { _: n }, "Å": { _: n }, "æ": { _: n }, "Æ": { n: { _: a }, _: n }, D: { "ú": { n: { _: a } } }, e: { ".": { g: { _: a } }, a: { c: { h: { " ": { _: a } } } }, i: { t: { h: { e: { r: { " ": { _: a }, ".": { _: a } } } } } }, l: { "-": { _: a }, l: { a: { _: a } } }, m: { p: { e: { z: { _: a } } } }, n: { o: { u: { g: { _: a } } } }, u: { p: { " ": { _: n } }, _: a }, w: { _: a }, x: { i: { s: { t: { s: { _: a } } } } }, _: n }, E: { m: { p: { e: { z: { _: a } } } }, n: { a: { m: { _: a } } }, s: { p: { a: { d: { _: n } }, e: { _: n }, o: { _: n }, _: a } }, u: { l: { _: n }, _: a }, U: { R: { _: a } }, _: n }, "é": { g: { _: a }, t: { a: { _: n }, u: { _: n }, _: a }, _: n }, "É": { _: n }, f: { "-": { _: n }, " ": { _: n }, "/": { _: n }, M: { _: n }, p: { _: n }, t: { _: n } }, F: { 0: { _: n }, 1: { _: n }, 2: { _: n }, 3: { _: n }, 4: { _: n }, 5: { _: n }, 6: { _: n }, 9: { _: n }, "'": { _: n }, "-": { _: n }, " ": { _: n }, "\"": { _: n }, "#": { _: n }, ",": { _: n }, ".": { _: n }, "/": { _: n }, "”": { _: n }, A: { C: { _: a }, D: { _: a }, I: { R: { _: a } }, L: { _: a }, M: { _: a }, N: { _: a }, P: { _: a }, Q: { _: a }, R: { _: a }, S: { _: a }, T: { _: a }, _: n }, B: { _: n }, C: { _: n }, c: { _: n }, D: { _: n }, E: { C: { _: n }, I: { _: n } }, F: { " ": { _: a }, _: n }, f: { _: n }, h: { _: n }, H: { _: n }, I: { A: { T: { _: a }, _: n }, D: { " ": { _: n } }, R: { " ": { _: n } }, S: { " ": { _: n } } }, K: { _: n }, L: { C: { _: n }, N: { _: n }, P: { _: n } }, M: { R: { _: a }, _: n }, O: { " ": { _: n }, I: { " ": { _: n } } }, P: { ".": { _: a }, "?": { _: a }, C: { "?": { _: a } }, _: n }, R: { C: { _: n }, S: { _: n } }, S: { _: n }, T: { S: { _: a }, T: { _: a }, _: n }, U: { " ": { _: n }, ",": { _: n }, ".": { _: n } }, V: { _: n }, W: { D: { _: a }, _: n }, X: { _: n }, Y: { _: n }, "σ": { _: n } }, G: { h: { a: { e: { _: n }, i: { _: n } } } }, h: { "'": { _: n }, "-": { U: { _: a }, _: n }, " ": { _: n }, "\"": { _: n }, ",": { _: n }, C: { _: n }, e: { i: { r: { a: { _: a }, _: n } } }, i: { m: { s: { _: n } }, s: { t: { o: { r: { i: { c: { _: a } } } } } } }, o: { m: { a: { _: n }, m: { _: n } }, n: { e: { y: { _: a } }, k: { _: a }, v: { _: a }, _: n }, r: { s: { " ": { _: n } } }, u: { r: { _: n } } }, t: { t: { p: { " ": { _: n } }, _: a }, _: n } }, H: { 1: { _: n }, 2: { _: n }, 3: { _: n }, 4: { _: n }, 5: { _: n }, "'": { _: n }, "-": { _: n }, " ": { _: n }, "\"": { _: n }, "&": { _: n }, ",": { _: n }, ".": { A: { _: a }, _: n }, "+": { _: n }, a: { b: { i: { l: { i: { t: { a: { t: { i: { o: { n: { s: { _: n } } } } } } } } } } } }, B: { _: n }, C: { _: n }, D: { B: { _: a }, _: n }, e: { i: { r: { _: n } } }, F: { _: n }, G: { _: n }, H: { _: n }, I: { D: { _: a }, G: { _: a }, M: { _: a }, P: { _: a }, _: n }, L: { A: { "-": { D: { _: a } } }, _: n }, M: { _: n }, N: { _: n }, o: { n: { d: { _: a }, e: { s: { _: n }, _: a }, g: { _: a }, k: { _: a }, o: { l: { _: a } }, _: n }, u: { r: { _: n } } }, O: { " ": { _: n }, V: { _: n } }, P: { _: n }, Q: { _: n }, R: { T: { _: a }, _: n }, S: { " ": { _: a }, R: { _: a }, T: { _: a }, _: n }, T: { P: { _: a }, _: n }, V: { _: n }, W: { T: { _: n } } }, i: { ".": { e: { _: a } }, b: { n: { _: a } }, f: { " ": { _: a } }, i: { _: a }, n: { c: { l: { u: { d: { i: { _: a } } } } }, d: { i: { c: { a: { t: { e: { s: { _: a } } } } } } }, s: { t: { e: { a: { d: { "?": { _: n } }, _: a } } } } }, s: { " ": { _: a }, ".": { _: a } }, t: { " ": { _: a } }, u: { _: a }, _: n }, I: { "-": { A: { _: a }, I: { _: a } }, I: { I: { _: a } }, l: { b: { _: a } }, M: { H: { _: a } }, m: { a: { m: { s: { _: a } } } }, R: { "£": { _: a } }, s: { l: { a: { m: { " ": { _: a }, ",": { _: a }, ".": { _: a } }, n: { d: { s: { _: a } } } } } }, _: n }, "İ": { _: n }, J: { i: { a: { n: { _: a }, _: n } } }, k: { u: { " ": { _: n } } }, l: { " ": { _: n }, "\"": { _: n }, p: { _: n } }, L: { 1: { _: n }, 2: { _: n }, 3: { _: n }, 5: { _: n }, "'": { A: { _: a }, _: n }, "-": { a: { _: a }, _: n }, " ": { _: n }, "\"": { _: n }, "&": { _: n }, ",": { _: n }, ".": { _: n }, "/": { _: n }, a: { e: { _: n }, o: { i: { g: { _: n } } } }, A: { " ": { _: n }, L: { _: n }, P: { _: n } }, B: { _: n }, C: { _: n }, D: { _: n }, E: { A: { _: a }, E: { _: a }, G: { _: a }, O: { _: a }, P: { _: a }, T: { _: a }, _: n }, F: { _: n }, G: { _: n }, H: { _: n }, I: { R: { _: n } }, L: { _: n }, M: { X: { _: a }, _: n }, N: { _: n }, o: { c: { h: { a: { _: n } } } }, O: { E: { _: n } }, P: { _: n }, R: { _: n }, S: { _: n }, T: { _: n }, U: { " ": { _: n } }, V: { _: n }, X: { _: n }, Z: { _: n } }, m: { "-": { _: n }, " ": { _: n }, "\"": { _: n }, "&": { _: n }, a: { k: { e: { s: { " ": { _: n } } } } }, b: { _: n }, e: { i: { n: { _: n } }, n: { t: { i: { o: { n: { s: { _: n } } } } } } }, f: { _: n }, p: { _: n }, R: { _: n }, t: { _: n } }, M: { 1: { 9: { 0: { _: n }, _: a }, _: n }, 2: { _: n }, 3: { _: n }, 4: { _: n }, 5: { _: n }, 6: { _: n }, 7: { _: n }, 8: { _: n }, 9: { _: n }, "'": { _: n }, "-": { t: { _: a }, _: n }, " ": { _: n }, "\"": { _: n }, "&": { _: n }, ",": { _: n }, ".": { A: { ".": { S: { _: a } } }, _: n }, "/": { _: n }, A: { C: { _: a }, D: { _: a }, F: { _: a }, G: { _: a }, J: { _: a }, L: { _: a }, M: { _: a }, N: { _: a }, P: { _: a }, R: { _: a }, S: { _: a }, T: { _: a }, X: { _: a }, Y: { _: a }, _: n }, B: { _: n }, C: { _: n }, D: { _: n }, e: { "-": { _: n } }, E: { d: { _: n }, n: { _: n }, P: { _: n } }, F: { _: n }, f: { _: n }, G: { _: n }, H: { _: n }, h: { _: n }, i: { e: { _: n } }, I: { 5: { _: n }, 6: { _: n }, " ": { _: n }, A: { _: n }, T: { _: n } }, K: { _: n }, L: { _: n }, M: { T: { _: a }, _: n }, N: { _: n }, o: { U: { _: n } }, O: { " ": { _: n }, T: { " ": { _: n } }, U: { _: n } }, P: { _: n }, R: { _: n }, S: { _: n }, s: { c: { _: n } }, T: { R: { _: a }, _: n }, U: { V: { _: n } }, V: { _: n }, X: { _: n } }, N: { 4: { _: n }, 6: { _: n }, "'": { _: n }, "-": { a: { _: a }, S: { _: a }, _: n }, " ": { _: n }, "\"": { _: n }, ",": { _: n }, ".": { Y: { _: a }, _: n }, "=": { _: n }, "²": { _: n }, a: { o: { _: n } }, A: { " ": { _: n }, A: { F: { _: a }, _: n }, I: { _: n }, S: { L: { _: n } } }, B: { _: n }, C: { _: n }, D: { _: n }, E: { A: { _: n }, H: { _: n }, S: { " ": { _: n } } }, F: { _: n }, G: { _: n }, H: { _: n }, I: { C: { _: a }, L: { _: a }, M: { H: { _: n }, _: a }, N: { _: a }, S: { _: a }, _: n }, J: { C: { _: n } }, K: { _: n }, L: { S: { _: a }, _: n }, M: { _: n }, N: { R: { _: n }, T: { _: n } }, P: { O: { V: { "-": { _: n } }, _: a }, _: n }, R: { J: { _: a }, T: { _: a }, _: n }, S: { W: { _: a }, _: n }, T: { $: { _: a }, _: n }, U: { S: { _: n } }, V: { _: n }, v: { _: n }, W: { A: { _: n } }, X: { _: n }, Y: { P: { _: n }, U: { _: n } } }, n: { "-": { _: n }, "−": { _: n }, " ": { _: n }, "\"": { _: n }, "&": { _: n }, ",": { _: n }, "+": { _: n }, "×": { _: n }, d: { a: { _: n } }, p: { a: { _: n } }, t: { _: n }, V: { _: n }, W: { _: n } }, o: { b: { r: { _: a } }, c: { c: { u: { r: { s: { _: a } } } }, h: { o: { _: a } } }, f: { " ": { _: a } }, n: { "-": { _: n }, "/": { _: n }, b: { _: n }, c: { o: { _: n } }, d: { _: n }, e: { r: { _: n } }, g: { _: n }, i: { _: n }, l: { _: n }, m: { _: n }, o: { _: n }, r: { _: n }, s: { _: n }, t: { _: n }, u: { _: n }, w: { _: n }, y: { _: n }, _: a }, r: { " ": { _: a }, ",": { _: a } }, u: { i: { _: a } }, _: n }, O: { b: { e: { r: { s: { t: { " ": { _: n }, l: { _: n } }, _: a } } } }, l: { v: { _: a } }, n: { e: { i: { _: n }, _: a } }, N: { E: { _: a } }, o: { p: { _: a } }, u: { i: { _: a } }, _: n }, "Ó": { _: n }, "Ö": { _: n }, "ö": { _: n }, "Ō": { _: n }, "ō": { _: n }, P: { h: { o: { b: { _: n }, i: { _: n } } } }, r: { "'": { _: n }, "-": { _: n }, " ": { _: n }, "\"": { _: n }, "&": { _: n }, ".": { _: n }, e: { f: { e: { r: { s: { _: n } } } } }, f: { _: n }, m: { _: n }, s: { _: n } }, R: { 1: { 0: { _: a }, _: n }, 2: { _: n }, 3: { _: n }, 4: { _: n }, 5: { _: n }, 6: { _: n }, "'": { _: n }, "-": { _: n }, " ": { _: n }, "\"": { _: n }, "&": { _: n }, ",": { _: n }, ".": { C: { _: a }, _: n }, "/": { _: n }, A: { " ": { _: n }, F: { _: n } }, B: { _: n }, C: { _: n }, D: { _: n }, E: { " ": { _: n }, R: { _: n } }, F: { _: n }, f: { _: n }, G: { _: n }, H: { S: { _: n } }, I: { A: { _: n }, C: { " ": { _: n } } }, J: { _: n }, K: { _: n }, L: { " ": { _: a }, _: n }, M: { 1: { _: a }, _: n }, N: { G: { _: a }, _: n }, O: { T: { _: n } }, P: { _: n }, Q: { _: n }, R: { _: n }, S: { " ": { _: a }, ")": { _: a }, ",": { _: a }, ".": { _: a }, "?": { _: a }, T: { _: a }, _: n }, T: { _: n }, U: { _: n }, V: { _: n }, X: { _: n } }, s: { "-": { _: n }, "\"": { _: n }, ")": { _: n }, ",": { _: n }, ".": { _: n }, a: { y: { s: { _: n } } }, i: { c: { h: { _: n } } }, p: { 3: { _: n }, r: { o: { t: { _: n } } } }, s: { h: { _: n } }, t: { a: { t: { e: { s: { " ": { _: n }, ":": { _: n } } } } } }, v: { a: { _: a }, e: { _: a }, _: n } }, S: { 1: { _: n }, 2: { _: n }, 3: { _: n }, 4: { _: n }, 5: { _: n }, 6: { _: n }, "'": { _: n }, "-": { _: n }, " ": { _: n }, "\"": { _: n }, "&": { W: { _: a }, _: n }, ",": { _: n }, ".": { B: { _: n }, M: { _: n }, O: { _: n } }, "”": { _: n }, A: { "-": { 1: { _: a }, _: n }, " ": { _: n }, C: { D: { _: n } }, E: { _: n }, S: { E: { _: a }, _: n }, T: { " ": { _: n }, B: { _: n } } }, B: { _: n }, C: { A: { " ": { _: n } }, C: { _: n }, M: { _: n }, O: { " ": { _: n } }, R: { A: { _: a }, _: n }, T: { _: n } }, D: { _: n }, E: { " ": { _: n }, C: { O: { _: a }, R: { _: a }, _: n }, I: { _: n }, O: { _: n } }, F: { _: n }, G: { _: n }, H: { 2: { _: n }, 3: { _: n }, "-": { _: n } }, I: { " ": { _: n } }, J: { _: n }, K: { _: n }, L: { A: { _: a }, I: { _: a }, O: { _: a }, _: n }, M: { A: { _: a }, E: { " ": { _: n }, _: a }, I: { _: a }, _: n }, N: { A: { _: a }, E: { _: a }, O: { _: a }, _: n }, O: { "(": { _: n }, A: { " ": { _: n }, I: { _: n } }, E: { _: n }, I: { _: n }, S: { _: n }, V: { _: n } }, P: { A: { C: { _: a }, D: { _: a }, M: { _: a }, N: { _: a }, R: { _: a } }, E: { " ": { _: n }, _: a }, I: { C: { _: a } }, O: { _: a }, U: { _: a }, _: n }, R: { _: n }, S: { _: n }, T: { "-": { _: n }, A: { " ": { _: n } }, B: { _: n }, C: { _: n }, D: { _: n }, F: { _: n }, L: { _: n }, M: { _: n }, S: { _: n }, V: { _: n } }, u: { r: { a: { " ": { _: n } } } }, U: { B: { _: a }, L: { _: a }, N: { _: a }, P: { _: a }, S: { _: a }, _: n }, V: { _: n }, W: { F: { _: n }, P: { _: n }, R: { _: n } }, X: { S: { _: a }, _: n } }, t: { "-": { S: { _: n } }, S: { _: n } }, T: { a: { v: { e: { s: { _: n } } } }, "à": { _: n } }, u: { "-": { _: a }, " ": { _: a }, "\"": { _: a }, ".": { _: a }, b: { e: { _: n }, _: a }, f: { _: a }, k: { a: { _: n }, _: a }, l: { u: { _: a } }, m: { " ": { _: a } }, n: { " ": { _: a }, a: { " ": { _: a }, n: { a: { _: n }, n: { _: n }, s: { _: n }, t: { _: n }, _: a }, r: { y: { _: a } } }, e: { " ": { _: a } }, i: { c: { o: { r: { p: { _: n } } } }, d: { i: { _: a }, _: n }, m: { o: { _: a }, _: n }, n: { _: n }, v: { o: { _: n } }, _: a }, l: { e: { s: { _: a } } } }, p: { o: { _: a } }, r: { a: { _: a }, e: { _: a }, i: { _: a }, l: { _: a }, o: { _: a } }, s: { "-": { _: n }, " ": { _: n }, h: { _: n }, _: a }, t: { m: { _: n }, t: { _: n }, _: a }, v: { _: a }, w: { _: a }, _: n }, U: { 1: { _: n }, "-": { B: { o: { _: a }, _: n } }, a: { _: n }, b: { i: { _: a }, _: n }, D: { P: { "-": { _: n } } }, d: { _: n }, g: { l: { _: n } }, h: { _: n }, i: { _: n }, l: { i: { _: a }, _: n }, m: { _: n }, M: { N: { _: n } }, n: { "-": { _: n }, a: { n: { _: a }, _: n }, b: { _: n }, c: { _: n }, d: { _: n }, e: { s: { _: a }, _: n }, f: { _: n }, g: { _: n }, h: { _: n }, i: { d: { _: n }, n: { _: n } }, k: { _: n }, l: { _: n }, m: { _: n }, n: { _: n }, o: { _: n }, p: { _: n }, r: { _: n }, s: { _: n }, t: { e: { r: { s: { _: a } } }, _: n }, u: { _: n }, w: { _: n } }, p: { _: n }, r: { a: { _: a }, i: { _: a }, u: { g: { u: { a: { y: { a: { n: { "-": { _: n } } } } } } }, k: { _: n }, _: a }, _: n }, s: { h: { _: n }, t: { _: n } }, t: { n: { _: n }, o: { "-": { _: n } }, r: { _: n }, t: { _: n } }, x: { _: n }, z: { _: n } }, "ü": { _: n }, "Ü": { _: n }, V: { I: { I: { _: n } } }, x: { a: { _: a }, e: { _: a }, i: { _: a }, o: { _: a }, x: { _: a }, y: { _: a }, _: n }, X: { a: { _: a }, A: { _: a }, e: { _: a }, h: { _: a }, i: { _: a }, I: { V: { _: a }, X: { _: a } }, o: { _: a }, u: { _: a }, U: { _: a }, V: { _: a }, X: { " ": { _: n }, _: a }, y: { _: a }, _: n }, Y: { p: { _: n } }, "α": { _: n }, "ε": { _: n }, "ω": { _: n } }; find = function(word, obj, article) { var key; if (obj == null) { obj = arts; } if (article == null) { article = 'a'; } if (word == null) { return article; } key = word.slice(0, 1); obj = obj[key]; if ((key != null) && (obj != null)) { return find(word.slice(1), obj, obj._ || article); } else { return article; } }; articlize = function() { var input, inputs, out; inputs = 1 <= arguments.length ? slice.call(arguments, 0) : []; out = (function() { var i, len, results; results = []; for (i = 0, len = inputs.length; i < len; i++) { input = inputs[i]; if (input != null) { results.push((find(input)) + " " + input); } } return results; })(); if (inputs.length === 1) { return out[0]; } else { return out; } }; module.exports = { find: find, articlize: articlize }; }).call(this);