moment-recur-ts
Version:
A momentjs plugin for matching and generating recurring dates.
840 lines (827 loc) • 90.5 kB
HTML
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Recur | moment-recur-ts</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">moment-recur-ts</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="recur.html">Recur</a>
</li>
</ul>
<h1>Class Recur</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The main Recur object to provide an interface for settings, rules, and matching</p>
</div>
<h2 id="creating-rules">Creating Rules</h2>
<p>moment-recur-ts uses rules to define when a date should recur. You can then generate future
or past recurrences based on these rules, or see if a specific date matches the rules.
Rules can also be overridden or removed.</p>
<h3 id="length-intervals">Length Intervals</h3>
<p>moment-recur-ts supports intervals for days, weeks, months, and years. Measurements may be singular or
plural (ex: <code>day()</code> vs <code>days()</code>). Length Intervals <strong>must</strong> have a start date defined.</p>
<p>Possible Length Intervals Include:</p>
<ul>
<li>day / days</li>
<li>week / weeks</li>
<li>month / months</li>
<li>year / years</li>
</ul>
<h3 id="calendar-intervals">Calendar Intervals</h3>
<p>Calendar Intervals do not depend on a start date. They define a unit of another unit. For instance,
a day of a month, or a month of a year. Measurements may be singular or plural
(ex: <code>dayOfMonth()</code> vs <code>daysOfMonth()</code>).</p>
<p>Possible Calendar Intervals Include:</p>
<ul>
<li>dayOfWeek / daysOfWeek</li>
<li>dayOfMonth / daysOfMonth</li>
<li>weekOfMonth / weeksOfMonth</li>
<li>weekOfYear / weeksOfYear</li>
<li>monthOfYear / monthsOfYear</li>
</ul>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">Recur</span>
</li>
</ul>
</section>
<section class="tsd-panel">
<h3>Implements</h3>
<ul class="tsd-hierarchy">
<li><span class="tsd-signature-type">Iterable</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Moment</span><span class="tsd-signature-symbol">></span></li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Interfaces</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-interface tsd-parent-kind-class"><a href="../interfaces/recur.options.html" class="tsd-kind-icon">Options</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="recur.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#___iterator" class="tsd-kind-icon">__@iterator</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#all" class="tsd-kind-icon">all</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#day" class="tsd-kind-icon">day</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#dayofmonth" class="tsd-kind-icon">day<wbr>OfMonth</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#dayofweek" class="tsd-kind-icon">day<wbr>OfWeek</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#days" class="tsd-kind-icon">days</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#daysofmonth" class="tsd-kind-icon">days<wbr>OfMonth</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#daysofweek" class="tsd-kind-icon">days<wbr>OfWeek</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#enddate" class="tsd-kind-icon">end<wbr>Date</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#every" class="tsd-kind-icon">every</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#except" class="tsd-kind-icon">except</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#forget" class="tsd-kind-icon">forget</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#fromdate" class="tsd-kind-icon">from<wbr>Date</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#hasrule" class="tsd-kind-icon">has<wbr>Rule</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#matches" class="tsd-kind-icon">matches</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#maxyears" class="tsd-kind-icon">max<wbr>Years</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#month" class="tsd-kind-icon">month</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#monthofyear" class="tsd-kind-icon">month<wbr>OfYear</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#months" class="tsd-kind-icon">months</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#monthsofyear" class="tsd-kind-icon">months<wbr>OfYear</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#next" class="tsd-kind-icon">next</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#previous" class="tsd-kind-icon">previous</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#repeats" class="tsd-kind-icon">repeats</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#reverse" class="tsd-kind-icon">reverse</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#save" class="tsd-kind-icon">save</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#startdate" class="tsd-kind-icon">start<wbr>Date</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#week" class="tsd-kind-icon">week</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#weekofmonth" class="tsd-kind-icon">week<wbr>OfMonth</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#weekofmonthbyday" class="tsd-kind-icon">week<wbr>OfMonth<wbr>ByDay</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#weekofyear" class="tsd-kind-icon">week<wbr>OfYear</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#weeks" class="tsd-kind-icon">weeks</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#weeksofmonth" class="tsd-kind-icon">weeks<wbr>OfMonth</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#weeksofmonthbyday" class="tsd-kind-icon">weeks<wbr>OfMonth<wbr>ByDay</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#weeksofyear" class="tsd-kind-icon">weeks<wbr>OfYear</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#year" class="tsd-kind-icon">year</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="recur.html#years" class="tsd-kind-icon">years</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Recur<span class="tsd-signature-symbol">(</span>options<span class="tsd-signature-symbol">: </span><a href="../interfaces/recur.options.html" class="tsd-signature-type">Options</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="recur.html" class="tsd-signature-type">Recur</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L182">recur.ts:182</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<h3 id="recur-object-constrcutor">Recur Object Constrcutor</h3>
</div>
<p>From an instance of moment:</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> recurrence;
<span class="hljs-comment">// Create a recurrence using today as the start date.</span>
recurrence = moment().recur();
<span class="hljs-comment">// Create a recurrence while passing the start and end dates to the recur function.</span>
<span class="hljs-comment">// Note: passing an end date requires you to also pass a start date.</span>
recurrence = moment().recur( start, end );
<span class="hljs-comment">// You may pass a start date to the moment, or use an existing moment, to set the start date.</span>
<span class="hljs-comment">// In this case, passing a date to the recur function sets and end date.</span>
recurrence = moment(start).recur( end );
<span class="hljs-comment">// Finally, you can create a recurrence and pass in an entire set of options.</span>
recurrence = moment().recur({
<span class="hljs-attr">start</span>: <span class="hljs-string">"01/01/2014"</span>,
<span class="hljs-attr">end</span>: <span class="hljs-string">"01/01/2015"</span>
});
</code></pre>
<p>From static moment:</p>
<pre><code class="lang-js"><span class="hljs-comment">// Create recurrence without a start date. Note: this will not work with intervals.</span>
recurrence = moment.recur();
<span class="hljs-comment">// Create a recurrence, passing just the start, or the start and end dates.</span>
recurrence = moment.recur( start, end );
<span class="hljs-comment">// Create a recurrence, passing set of options.</span>
recurrence = moment.recur({
<span class="hljs-attr">start</span>: <span class="hljs-string">"01/01/2014"</span>,
<span class="hljs-attr">end</span>: <span class="hljs-string">"01/01/2015"</span>
});
</code></pre>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>options: <a href="../interfaces/recur.options.html" class="tsd-signature-type">Options</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="recur.html" class="tsd-signature-type">Recur</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="___iterator" class="tsd-anchor"></a>
<h3>__@iterator</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">__@iterator<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">IterableIterator</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Moment</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L574">recur.ts:574</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Iterate over moments matched by rules</p>
<blockquote>
<p>Note if there is no end date, results are unbounded (you must manually terminate the iterator).</p>
</blockquote>
</div>
<blockquote>
<p>Also note, this exapmle intentionally ignores some complicated leap year math.</p>
</blockquote>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> recurrence = moment(<span class="hljs-string">'2012-01'</span>).recur(<span class="hljs-string">'2032-01'</span>).every(<span class="hljs-number">4</span>).years()
<span class="hljs-keyword">let</span> leapYears = [...recurrence].map(<span class="hljs-function"><span class="hljs-params">m</span> =></span> m.year())
<span class="hljs-comment">// leapYears = [ 2012, 2016, 2020, 2024, 2028, 2032 ]</span>
</code></pre>
<p>Or, this is a bit faster...</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> recurrence = moment(<span class="hljs-string">'2012-01'</span>).recur(<span class="hljs-string">'2032-01'</span>).every(<span class="hljs-number">4</span>).years()
<span class="hljs-keyword">let</span> leapYears = []
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> date <span class="hljs-keyword">of</span> recurrence) {
leapYears.push(date.year())
}
<span class="hljs-comment">// leapYears = [ 2012, 2016, 2020, 2024, 2028, 2032 ]</span>
</code></pre>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">IterableIterator</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Moment</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="all" class="tsd-anchor"></a>
<h3>all</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">all<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Moment</span><span class="tsd-signature-symbol">[]</span></li>
<li class="tsd-signature tsd-kind-icon">all<span class="tsd-signature-symbol">(</span>format<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L640">recur.ts:640</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>With both a start date and an end date set, you can generate all dates within
that range that match the pattern (including the start/end dates).</p>
</div>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> recurrence = moment().recur(<span class="hljs-string">"01/01/2014"</span>, <span class="hljs-string">"01/07/2014"</span>).every(<span class="hljs-number">2</span>).days();
<span class="hljs-comment">// Outputs: ["01/01/2014", "01/03/2014", "01/05/2014", "01/07/2014"]</span>
allDates = recurrence.all(<span class="hljs-string">"L"</span>);
</code></pre>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Moment</span><span class="tsd-signature-symbol">[]</span></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L641">recur.ts:641</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>format: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="day" class="tsd-anchor"></a>
<h3>day</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">day<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L48">recur.ts:48</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="dayofmonth" class="tsd-anchor"></a>
<h3>day<wbr>OfMonth</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">day<wbr>OfMonth<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L63">recur.ts:63</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="dayofweek" class="tsd-anchor"></a>
<h3>day<wbr>OfWeek</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">day<wbr>OfWeek<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L60">recur.ts:60</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="days" class="tsd-anchor"></a>
<h3>days</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">days<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L47">recur.ts:47</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="daysofmonth" class="tsd-anchor"></a>
<h3>days<wbr>OfMonth</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">days<wbr>OfMonth<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L62">recur.ts:62</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="daysofweek" class="tsd-anchor"></a>
<h3>days<wbr>OfWeek</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">days<wbr>OfWeek<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L59">recur.ts:59</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="enddate" class="tsd-anchor"></a>
<h3>end<wbr>Date</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">end<wbr>Date<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Moment</span></li>
<li class="tsd-signature tsd-kind-icon">end<wbr>Date<span class="tsd-signature-symbol">(</span>date<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MomentInput</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="recur.html" class="tsd-signature-type">Recur</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L288">recur.ts:288</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Get/Set the End Date</p>
<pre><code class="lang-js">recurrence.endDate(); <span class="hljs-comment">// Get</span>
recurrence.endDate(<span class="hljs-string">"01/01/2014"</span>); <span class="hljs-comment">// Set</span>
</code></pre>
</div>
<dl class="tsd-comment-tags">
<dt>category</dt>
<dd><p>getter/setter</p>
</dd>
</dl>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Moment</span></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L289">recur.ts:289</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>date: <span class="tsd-signature-type">MomentInput</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="recur.html" class="tsd-signature-type">Recur</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="every" class="tsd-anchor"></a>
<h3>every</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">every<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a>, measure<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#measureinput" class="tsd-signature-type">MeasureInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L424">recur.ts:424</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The <code>every()</code> function allows you to set the units and, optionally, the measurment type
of the recurring date. It returns the recur object to allow chaining.</p>
</div>
<pre><code class="lang-js"> <span class="hljs-keyword">let</span> myDate, recurrence;
<span class="hljs-comment">// Create a date to start from</span>
myDate = moment(<span class="hljs-string">"01/01/2014"</span>);
<span class="hljs-comment">// You can pass the units to recur on, and the measurement type.</span>
recurrence = myDate.recur().every(<span class="hljs-number">1</span>, <span class="hljs-string">"days"</span>);
<span class="hljs-comment">// You can also chain the measurement type instead of passing it to every.</span>
recurrence = myDate.recur().every(<span class="hljs-number">1</span>).day();
<span class="hljs-comment">// It is also possible to pass an array of units.</span>
recurrence = myDate.recur().every([<span class="hljs-number">3</span>, <span class="hljs-number">5</span>]).days();
<span class="hljs-comment">// When using the dayOfWeek measurement, you can pass days names.</span>
recurrence = myDate.recur().every([<span class="hljs-string">"Monday"</span>, <span class="hljs-string">"wed"</span>]).daysOfWeek();
<span class="hljs-comment">// Month names also work when using monthOfYear.</span>
recurrence = myDate.recur().every([<span class="hljs-string">"Jan"</span>, <span class="hljs-string">"february"</span>], <span class="hljs-string">"monthsOfYear"</span>);
</code></pre>
<p> <code>every()</code> will override the last "every" if a measurement was not provided.
The following line will create a recurrence for every 5 days.</p>
<pre><code class="lang-js"> recurrence = myDate.recur().every(<span class="hljs-number">1</span>).every(<span class="hljs-number">5</span>).days();
</code></pre>
<p> If you need to specify multiple units, pass an array to <code>every()</code>.</p>
<p> You may also pass the units directly to the interval functions (listed below)
instead of using <code>every()</code>.</p>
<pre><code class="lang-js"> <span class="hljs-keyword">let</span> recurrence = moment.recur().monthOfYear(<span class="hljs-string">"January"</span>);
</code></pre>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> measure: <a href="../modules/rule.html#measureinput" class="tsd-signature-type">MeasureInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="except" class="tsd-anchor"></a>
<h3>except</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">except<span class="tsd-signature-symbol">(</span>date<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MomentInput</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L463">recur.ts:463</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>To prevent a date from matching that would normally match, use the <code>except()</code> function.</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> recurrence = moment(<span class="hljs-string">"01/01/2014"</span>).recur().every(<span class="hljs-number">1</span>).day().except(<span class="hljs-string">"01/02/2014"</span>);
recurrence.matches(<span class="hljs-string">"01/02/2014"</span>); <span class="hljs-comment">// false</span>
</code></pre>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>date: <span class="tsd-signature-type">MomentInput</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="forget" class="tsd-anchor"></a>
<h3>forget</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">forget<span class="tsd-signature-symbol">(</span>dateOrRule<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MomentInput</span><span class="tsd-signature-symbol"> | </span><a href="../modules/rule.html#measureinput" class="tsd-signature-type">MeasureInput</a>, format<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L480">recur.ts:480</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Forgets rules (by passing measure) and exceptions (by passing date)</p>
<pre><code class="lang-js"><span class="hljs-comment">// Exceptions can be removed by passing a date to the forget() function.</span>
recurrence.forget(<span class="hljs-string">"01/03/2014"</span>);
</code></pre>
<pre><code class="lang-js"><span class="hljs-comment">// Rules can be removed by passing the measurement to the forget() function.</span>
recurrence.forget(<span class="hljs-string">"days"</span>);
</code></pre>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>dateOrRule: <span class="tsd-signature-type">MomentInput</span><span class="tsd-signature-symbol"> | </span><a href="../modules/rule.html#measureinput" class="tsd-signature-type">MeasureInput</a></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> format: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="fromdate" class="tsd-anchor"></a>
<h3>from<wbr>Date</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">from<wbr>Date<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Moment</span></li>
<li class="tsd-signature tsd-kind-icon">from<wbr>Date<span class="tsd-signature-symbol">(</span>date<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MomentInput</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="recur.html" class="tsd-signature-type">Recur</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L315">recur.ts:315</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Get/Set a temporary "From Date" for use with generating dates</p>
<pre><code class="lang-js">recurrence.fromDate(); <span class="hljs-comment">// Get</span>
recurrence.fromDate(<span class="hljs-string">"01/01/2014"</span>); <span class="hljs-comment">// Set</span>
</code></pre>
</div>
<dl class="tsd-comment-tags">
<dt>category</dt>
<dd><p>getter/setter</p>
</dd>
</dl>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Moment</span></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L316">recur.ts:316</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>date: <span class="tsd-signature-type">MomentInput</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="recur.html" class="tsd-signature-type">Recur</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="hasrule" class="tsd-anchor"></a>
<h3>has<wbr>Rule</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">has<wbr>Rule<span class="tsd-signature-symbol">(</span>measure<span class="tsd-signature-symbol">: </span><a href="../modules/rule.html#measureinput" class="tsd-signature-type">MeasureInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L509">recur.ts:509</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Checks if a rule has been set on the chain</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>measure: <a href="../modules/rule.html#measureinput" class="tsd-signature-type">MeasureInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="matches" class="tsd-anchor"></a>
<h3>matches</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">matches<span class="tsd-signature-symbol">(</span>dateToMatch<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">MomentInput</span>, ignoreStartEnd<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L530">recur.ts:530</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>The <code>matches()</code> function will test a date to check if all of the recurrence rules match.
It returns <code>true</code> if the date matches, <code>false</code> otherwise.</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> interval = moment(<span class="hljs-string">"01/01/2014"</span>).recur().every(<span class="hljs-number">2</span>).days();
interval.matches(<span class="hljs-string">"01/02/2014"</span>); <span class="hljs-comment">// false</span>
interval.matches(<span class="hljs-string">"01/03/2014"</span>); <span class="hljs-comment">// true</span>
</code></pre>
</div>
<p>You may also see if a date matches before the start date or after the end date by
passing <code>true</code> as the second argument to <code>matches()</code>.</p>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> interval = moment(<span class="hljs-string">"01/01/2014"</span>).recur().every(<span class="hljs-number">2</span>).days();
interval.matches(<span class="hljs-string">"12/30/2013"</span>); <span class="hljs-comment">// false</span>
interval.matches(<span class="hljs-string">"12/30/2013"</span>, <span class="hljs-literal">true</span>); <span class="hljs-comment">// true</span>
</code></pre>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>dateToMatch: <span class="tsd-signature-type">MomentInput</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> ignoreStartEnd: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="maxyears" class="tsd-anchor"></a>
<h3>max<wbr>Years</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">max<wbr>Years<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
<li class="tsd-signature tsd-kind-icon">max<wbr>Years<span class="tsd-signature-symbol">(</span>years<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="recur.html" class="tsd-signature-type">Recur</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L338">recur.ts:338</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Interval calculations will use a default of 1000 year limit when determining unbounded
rules. Use this function to query or change the maximum limit.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L339">recur.ts:339</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>years: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="recur.html" class="tsd-signature-type">Recur</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="month" class="tsd-anchor"></a>
<h3>month</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">month<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">this</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L54">recur.ts:54</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">this</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="monthofyear" class="tsd-anchor"></a>
<h3>month<wbr>OfYear</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">month<wbr>OfYear<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="recur.html" class="tsd-signature-type">Recur</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/jefbarn/moment-recur-ts/blob/master/src/recur.ts#L78">recur.ts:78</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> units: <a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="recur.html" class="tsd-signature-type">Recur</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="months" class="tsd-anchor"></a>
<h3>months</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">months<span class="tsd-signature-symbol">(</span>units<span class="tsd-signature-symbol">?: </span><a href="../modules/rule.html#unitsinput" class="tsd-signature-type">UnitsInput</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature