nl_tokens: Returns options with at least default values in it .
pl_tokens: function toDateTimeOptions ( options , required , defaults ) { if ( IS_UNDEFINED ( options ) ) { options = { } ; } else { options = TO_OBJECT ( options ) ; } var needsDefault = true ; if ( ( required === 'date' || required === 'any' ) && ( ! IS_UNDEFINED ( options . weekday ) || ! IS_UNDEFINED ( options . year ) || ! IS_UNDEFINED ( options . month ) || ! IS_UNDEFINED ( options . day ) ) ) { needsDefault = false ; } if ( ( required === 'time' || required === 'any' ) && ( ! IS_UNDEFINED ( options . hour ) || ! IS_UNDEFINED ( options . minute ) || ! IS_UNDEFINED ( options . second ) ) ) { needsDefault = false ; } if ( needsDefault && ( defaults === 'date' || defaults === 'all' ) ) { % object_define_property ( options , 'year' , { value : 'numeric' , writable : true , enumerable : true , configurable : true } ) ; % object_define_property ( options , 'month' , { value : 'numeric' , writable : true , enumerable : true , configurable : true } ) ; % object_define_property ( options , 'day' , { value : 'numeric' , writable : true , enumerable : true , configurable : true } ) ; } if ( needsDefault && ( defaults === 'time' || defaults === 'all' ) ) { % object_define_property ( options , 'hour' , { value : 'numeric' , writable : true , enumerable : true , configurable : true } ) ; % object_define_property ( options , 'minute' , { value : 'numeric' , writable : true , enumerable : true , configurable : true } ) ; % object_define_property ( options , 'second' , { value : 'numeric' , writable : true , enumerable : true , configurable : <mask> } ) ; } return options ; }