Module:Citation/CS1/Date validation

--[[--< P A R A M E T E R S  N O T   S U P P O R T E D >--

This is a list of parameters that once were but now are no longer supported:

['albumlink'] = nil,			-- unique alias of titlelink used by old cite AV media notes ['albumtype'] = nil,			-- controled inappropriate functionality in the old cite AV media notes ['artist'] = nil,				-- unique alias of others used by old cite AV media notes ['authors#'] = nil,				-- no need for multiple lists of author names ['cointerviewers'] = nil,		-- unique alias of others used by old cite interview ['day'] = nil,					-- deprecated in and somehow undeprecated in Module:Citation/CS1 and now finally removed ['director'] = nil,				-- unique alias of author used by old cite DVD-notes ['DoiBroken'] = nil,			-- not used, non-standard captialization ['editors#'] = nil,				-- no need for multiple lists of editor names ['Embargo'] = nil,				-- not used, non-standard capitalization ['notestitle'] = nil,			-- unique alias of chapter used by old cite AV media notes ['PPPrefix'] = nil,				-- not used, non-standard capitalization ['publisherid'] = nil,			-- unique alias of id used by old cite AV media notes and old cite DVD-notes ['titleyear'] = nil,			-- unique alias of origyear used by old cite DVD-notes

]]

--[[--< S U P P O R T E D  P A R A M E T E R S >--

Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items can have three values: true - these parameters are valid and supported parameters false - these parameters are deprecated but still supported nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter) ]]

local whitelist = {}

local basic_arguments = { ['accessdate'] = true, ['access-date'] = true, ['agency'] = true, ['airdate'] = true, ['air-date'] = true, ['archivedate'] = true, ['archive-date'] = true, ['archive-format'] = true, ['archiveurl'] = true, ['archive-url'] = true, ['article'] = true, ['arxiv'] = true, ['ARXIV'] = true, ['asin'] = true, ['ASIN'] = true, ['asin-tld'] = true, ['ASIN-TLD'] = true, ['at'] = true, ['author'] = true, ['Author'] = false,						-- deprecated; non-standard capitalization ['author-first'] = true, ['authorformat'] = false,				-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['author-format'] = false,				-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['author-last'] = true, ['authorlink'] = true, ['author-link'] = true, ['authormask'] = true, ['author-mask'] = true, ['author-name-separator'] = false,		-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['authors'] = true, ['author-separator'] = false,			-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['began'] = false,															-- deprecated because module handles date ranges; cite episode and cite series ['bibcode'] = true, ['BIBCODE'] = true, ['booktitle'] = true, ['book-title'] = true, ['callsign']=true,				-- cite interview ['call-sign']=true,				-- cite interview ['cartography'] = true, ['chapter'] = true, ['chapter-format'] = true, ['chapterlink'] = false,		-- deprecated ['chapter-link'] = false,		-- deprecated ['chapterurl'] = true, ['chapter-url'] = true, ['city'] = true,				-- cite interview, cite episode, cite serial ['class'] = true,				-- cite arxiv and arxiv identifiers ['coauthor'] = false,			-- deprecated ['coauthors'] = false,			-- deprecated ['conference'] = true, ['conference-format'] = true, ['conferenceurl'] = true, ['conference-url'] = true, ['contribution'] = true, ['contribution-format'] = true, ['contributionurl'] = true, ['contribution-url'] = true, ['credits'] = true,				-- cite episode, cite serial ['date'] = true, ['deadurl'] = true, ['dead-url'] = true, ['degree'] = true, ['department'] = true, ['dictionary'] = true, ['displayauthors'] = true, ['display-authors'] = true, ['displayeditors'] = true, ['display-editors'] = true, ['docket'] = true, ['doi'] = true, ['DOI'] = true, ['doi-broken'] = true, ['doi_brokendate'] = true, ['doi-broken-date'] = true, ['doi_inactivedate'] = true, ['doi-inactive-date'] = true, ['edition'] = true, ['editor'] = true, ['Editor'] = false,						-- deprecated; non-standard capitalization ['editor-first'] = true, ['editorformat'] = false,				-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['editor-format'] = false,				-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['EditorGiven'] = false,				-- deprecated; non-standard capitalization ['editor-given'] = true, ['editor-last'] = true, ['editorlink'] = true, ['editor-link'] = true, ['editormask'] = true, ['editor-mask'] = true, ['editor-name-separator'] = false,		-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['editors'] = true, ['editor-separator'] = false,			-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['EditorSurname'] = false,				-- deprecated; non-standard capitalization ['editor-surname'] = true, ['embargo'] = true, ['encyclopaedia'] = true, ['encyclopedia'] = true, ['ended'] = false,															-- deprecated because module handles date ranges; cite episode and cite series ['entry'] = true, ['episode'] = true,															-- cite serial only TODO: make available to cite episode? ['episodelink'] = true,														-- cite episode and cite serial ['episode-link'] = true,													-- cite episode and cite serial ['eprint'] = true,															-- cite arxiv and arxiv identifiers ['event'] = true, ['event-format'] = true, ['eventurl'] = true, ['event-url'] = true, ['first'] = true, ['format'] = true, ['given'] = true, ['host'] = true, ['id'] = true, ['ID'] = true, ['ignoreisbnerror'] = true, ['ignore-isbn-error'] = true, ['in'] = true, ['inset'] = true, ['institution'] = true, ['interviewer'] = true,				--cite interview ['interviewers'] = true,			--cite interview ['isbn'] = true, ['ISBN'] = true, ['isbn13'] = true, ['ISBN13'] = true, ['issn'] = true, ['ISSN'] = true, ['issue'] = true, ['jfm'] = true, ['JFM'] = true, ['journal'] = true, ['jstor'] = true, ['JSTOR'] = true, ['language'] = true, ['last'] = true, ['lastauthoramp'] = true, ['last-author-amp'] = true, ['laydate'] = true, ['lay-date'] = true, ['laysource'] = true, ['lay-source'] = true, ['laysummary'] = true, ['lay-summary'] = true, ['lay-format'] = true, ['layurl'] = true, ['lay-url'] = true, ['lccn'] = true, ['LCCN'] = true, ['location'] = true, ['magazine'] = true, ['mailinglist'] = true,				-- cite mailing list only ['mailing-list'] = true,			-- cite mailing list only ['map'] = true,						-- cite map only ['map-format'] = true,				-- cite map only ['mapurl'] = true,					-- cite map only ['map-url'] = true,					-- cite map only ['medium'] = true, ['message-id'] = true,			-- cite newsgroup ['minutes'] = true, ['mode'] = true, ['month'] = false,				-- deprecated ['mr'] = true, ['MR'] = true, ['name-list-format'] = true, ['name-separator'] = false,		-- deprecated; primarily used to support Vancouver format which functionality now part of name-list-format ['network'] = true, ['newsgroup'] = true, ['newspaper'] = true, ['nocat'] = true, ['no-cat'] = true, ['nopp'] = true, ['no-pp'] = true, ['notracking'] = true, ['no-tracking'] = true, ['number'] = true, ['oclc'] = true, ['OCLC'] = true, ['ol'] = true, ['OL'] = true, ['origyear'] = true, ['orig-year'] = true, ['osti'] = true, ['OSTI'] = true, ['others'] = true, ['p'] = true, ['page'] = true, ['pages'] = true, ['people'] = true, ['periodical'] = true, ['place'] = true, ['pmc'] = true, ['PMC'] = true, ['pmid'] = true, ['PMID'] = true, ['postscript'] = true, ['pp'] = true, ['pp-prefix'] = true, ['PPrefix'] = true, ['p-prefix'] = true, ['program']=true,				-- cite interview ['publicationdate'] = true, ['publication-date'] = true, ['publicationplace'] = true, ['publication-place'] = true, ['publisher'] = true, ['quotation'] = true, ['quote'] = true, ['ref'] = true, ['Ref'] = true, ['registration'] = true, ['rfc'] = true, ['RFC'] = true, ['scale'] = true, ['script-title'] = true, ['season'] = true, ['section'] = true, ['section-format'] = true, ['sections'] = true,					-- cite map only ['sectionurl'] = true, ['section-url'] = true, ['separator'] = false,				-- deprecated; this functionality now provided by |mode= ['series'] = true, ['serieslink'] = true, ['series-link'] = true, ['seriesno'] = true, ['series-no'] = true, ['seriesnumber'] = true, ['series-number'] = true, ['series-separator'] = true, ['sheet'] = true,															-- cite map only ['sheets'] = true,															-- cite map only ['ssrn'] = true, ['SSRN'] = true, ['station'] = true, ['subject'] = true, ['subjectlink'] = true, ['subject-link'] = true, ['subscription'] = true, ['surname'] = true, ['template doc demo'] = true, ['template-doc-demo'] = true, ['time'] = true, ['timecaption'] = true, ['time-caption'] = true, ['title'] = true, ['titlelink'] = true, ['title-link'] = true, ['trans_chapter'] = true, ['trans-chapter'] = true, ['trans-map'] = true; ['transcript'] = true, ['transcript-format'] = true, ['transcripturl'] = true, ['transcript-url'] = true, ['trans_title'] = true, ['trans-title'] = true, ['type'] = true, ['url'] = true, ['URL'] = true, ['version'] = true, ['via'] = true, ['volume'] = true, ['website'] = true, ['work'] = true, ['year'] = true, ['zbl'] = true, ['ZBL'] = true, }

local numbered_arguments = { ['author#'] = true, ['Author#'] = false,														-- deprecated; non-standard capitalization ['author-first#'] = true, ['author#-first'] = true, ['author-last#'] = true, ['author#-last'] = true, ['author-link#'] = true, ['author#link'] = true, ['author#-link'] = true, ['authorlink#'] = true, ['author-mask#'] = true, ['author#mask'] = true, ['author#-mask'] = true, ['authormask#'] = true, ['editor#'] = true, ['Editor#'] = false,														-- deprecated; non-standard capitalization ['editor-first#'] = true, ['editor#-first'] = true, ['EditorGiven#'] = false,													-- deprecated; non-standard capitalization ['editor#-given'] = true, ['editor-given#'] = true, ['editor-last#'] = true, ['editor#-last'] = true, ['editor-link#'] = true, ['editor#link'] = true, ['editor#-link'] = true, ['editorlink#'] = true, ['editor-mask#'] = true, ['editor#mask'] = true, ['editor#-mask'] = true, ['editormask#'] = true, ['EditorSurname#'] = false,													-- deprecated; non-standard capitalization ['editor#-surname'] = true, ['editor-surname#'] = true, ['first#'] = true, ['given#'] = true, ['last#'] = true, ['subject#'] = true, ['subject-link#'] = true, ['subject#link'] = true, ['subject#-link'] = true, ['subjectlink#'] = true, ['surname#'] = true, } --};

--return whitelist; return {basic_arguments = basic_arguments, numbered_arguments = numbered_arguments};