1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- /**
- * GRAMMAR
- *
- * Precomputed permutations of various grammar/formatting opts provided as
- * constants for convenient use with `rttc.getNounPhrase()` and/or `getDisplayType()`.
- * ```
- * role / capitalization
- * FRAGMENT ({capitalization: 'fragment'})
- * SENTENCE ({completeSentence: true} or {capitalization: 'start'} -- depending on where it's used)
- * TITLE ({capitalization: 'title'})
- * plural
- * SINGULAR ({plural: false})
- * PLURAL ({plural: true})
- * determiner
- * DEFINITE ({determiner: 'the'})
- * INDEFINITE ({determiner: 'a'})
- * EXISTENTIAL ({determiner: 'any'})
- * UNPRECEDED ({determiner: ''})
- * ```
- *
- * > Note that this doesn't necessarily include EVERY possible mashup- just the
- * > common ones. (It deliberately excludes some defaults to avoid redundancy.)
- * >
- * > Also be aware that **NOT EVERY COMBINATION HEREIN IS SUPPORTED** for ALL methods.
- * > Some combos might only be supported for either `.getDisplayTypeLabel()`, while others
- * > only work for `.getNounPhrase()`. Be sure to do a few examples as thought experiments
- * > any time you pick a grammatical option set, since bad combos fail silently! (No error!)
- *
- * @type {Dictionary}
- */
- module.exports = {
- // Basics:
- // =============================================
- DEFINITE: {determiner:'the'},
- INDEFINITE: {determiner:'a'},
- EXISTENTIAL: {determiner:'any'},
- UNPRECEDED: {determiner:''},
- SINGULAR: {plural: false},
- PLURAL: {plural: true},
- FRAGMENT: {capitalization: 'fragment'},
- SENTENCE: {capitalization: 'start', completeSentence: true},
- TITLE: {capitalization: 'title'},
- // 2D Mashups:
- // =============================================
- DEFINITE_PLURAL: {determiner:'the', plural: true},
- // *Can't do indefinite plural ("an aardvarks")* (because we don't have the right aggregator word to build e.g. "a troupe of aardvarks")
- EXISTENTIAL_PLURAL: {determiner:'any', plural: true},
- UNPRECEDED_PLURAL: {determiner:'', plural: true},
- PLURAL_FRAGMENT: {plural: true, capitalization: 'fragment'},
- PLURAL_SENTENCE: {plural: true, capitalization: 'start', completeSentence: true},
- PLURAL_TITLE: {plural: true, capitalization: 'title'},
- DEFINITE_FRAGMENT: {determiner: 'the', capitalization: 'fragment'},
- INDEFINITE_FRAGMENT: {determiner: 'a', capitalization: 'fragment'},
- EXISTENTIAL_FRAGMENT: {determiner: 'any', capitalization: 'fragment'},
- UNPRECEDED_FRAGMENT: {determiner: '', capitalization: 'fragment'},
- DEFINITE_SENTENCE: {determiner: 'the', capitalization: 'start', completeSentence: true},
- INDEFINITE_SENTENCE: {determiner: 'a', capitalization: 'start', completeSentence: true},
- EXISTENTIAL_SENTENCE: {determiner: 'any', capitalization: 'start', completeSentence: true},
- UNPRECEDED_SENTENCE: {determiner: '', capitalization: 'start', completeSentence: true},
- // It never makes sense to use `title` at the same time as the determiner opts,
- // since neither of the methods supports both of them!
- // ```
- // DEFINITE_TITLE: {determiner: 'the', capitalization: 'title'},
- // INDEFINITE_TITLE: {determiner: 'a', capitalization: 'title'},
- // EXISTENTIAL_TITLE: {determiner: 'any', capitalization: 'title'},
- // UNPRECEDED_TITLE: {determiner: '', capitalization: 'title'},
- // ```
- // 3D Mashups:
- // =============================================
- DEFINITE_PLURAL_FRAGMENT: {determiner: 'the', plural: true, capitalization: 'fragment'},
- // *Can't do indefinite plural (see above)*
- EXISTENTIAL_PLURAL_FRAGMENT: {determiner: 'any', plural: true, capitalization: 'fragment'},
- UNPRECEDED_PLURAL_FRAGMENT: {determiner: '', plural: true, capitalization: 'fragment'},
- DEFINITE_PLURAL_SENTENCE: {determiner: 'the', plural: true, capitalization: 'start', completeSentence: true},
- // *Can't do indefinite plural (see above)*
- EXISTENTIAL_PLURAL_SENTENCE: {determiner: 'any', plural: true, capitalization: 'start', completeSentence: true},
- UNPRECEDED_PLURAL_SENTENCE: {determiner: '', plural: true, capitalization: 'start', completeSentence: true},
- // It wouldn't make sense to use `title` at the same time as the determiner opts.
- // (See above for explanation.)
- // ```
- // DEFINITE_PLURAL_TITLE: {determiner: 'the', plural: true, capitalization: 'title'},
- // // *Can't do indefinite plural (see above)*
- // EXISTENTIAL_PLURAL_TITLE: {determiner: 'any', plural: true, capitalization: 'title'},
- // UNPRECEDED_PLURAL_TITLE: {determiner: '', plural: true, capitalization: 'title'},
- // ```
- };
|