moment-recur-ts
Version:
A momentjs plugin for matching and generating recurring dates.
1,575 lines • 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-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#L53">recur.ts:53</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="monthsofyear" class="tsd-anchor"></a>
<h3>months<wbr>OfYear</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">months<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#L77">recur.ts:77</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<pre><code class="lang-js"><span class="hljs-comment">// Will match any date that is in January of any year.</span>
cal = moment.recur().every(<span class="hljs-string">"January"</span>).monthsOfYear();
</code></pre>
</div>
</div>
<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="next" class="tsd-anchor"></a>
<h3>next</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">next<span class="tsd-signature-symbol">(</span>num<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><span class="tsd-signature-type">Moment</span><span class="tsd-signature-symbol">[]</span></li>
<li class="tsd-signature tsd-kind-icon">next<span class="tsd-signature-symbol">(</span>num<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</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#L670">recur.ts:670</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Get next N occurrences</p>
<pre><code class="lang-js"><span class="hljs-comment">// Generate the next three dates as moments</span>
<span class="hljs-comment">// Outputs: [moment("01/03/2014"), moment("01/05/2014"), moment("01/07/2014")]</span>
nextDates = recurrence.next(<span class="hljs-number">3</span>);
</code></pre>
<pre><code class="lang-js"><span class="hljs-comment">// Generate the next three dates, formatted in local format</span>
<span class="hljs-comment">// Outputs: ["01/03/2014", "01/05/2014", "01/07/2014"]</span>
nextDates = recurrence.next(<span class="hljs-number">3</span>, <span class="hljs-string">"L"</span>);
</code></pre>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>num: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<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#L671">recur.ts:671</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>num: <span class="tsd-signature-type">number</span></h5>
</li>
<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="previous" class="tsd-anchor"></a>
<h3>previous</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">previous<span class="tsd-signature-symbol">(</span>num<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><span class="tsd-signature-type">Moment</span><span class="tsd-signature-symbol">[]</span></li>
<li class="tsd-signature tsd-kind-icon">previous<span class="tsd-signature-symbol">(</span>num<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</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#L695">recur.ts:695</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Get previous N occurrences</p>
<pre><code class="lang-js"><span class="hljs-comment">// Generate previous three dates, formatted in local format</span>
<span class="hljs-comment">// Outputs: ["12/30/2013", "12/28/2013", "12/26/2013"]</span>
nextDates = recurrence.previous(<span class="hljs-number">3</span>, <span class="hljs-string">"L"</span>);
</code></pre>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>num: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<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#L696">recur.ts:696</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>num: <span class="tsd-signature-type">number</span></h5>
</li>
<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="repeats" class="tsd-anchor"></a>
<h3>repeats</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">repeats<span class="tsd-signature-symbol">(</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#L381">recur.ts:381</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Use <code>repeats()</code> to check if a recurrence has rules set.</p>
<pre><code class="lang-js">recurrence.repeats(); <span class="hljs-comment">// true/false</span>
</code></pre>
</div>
</div>
<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="reverse" class="tsd-anchor"></a>
<h3>reverse</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">reverse<span class="tsd-signature-symbol">(</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#L624">recur.ts:624</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Reverse iterator direction</p>
<blockquote>
<p>Note since there is no end date, results are unbounded (you must manually terminate the iterator).</p>
</blockquote>
</div>
<pre><code class="lang-js"><span class="hljs-keyword">let</span> mondays = []
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">let</span> monday <span class="hljs-keyword">of</span> moment().recur().every(<span class="hljs-string">'Monday'</span>).dayOfWeek().reverse()) {
lastThreeMondays.push(monday)
<span class="hljs-keyword">if</span> (mondays.length > <span class="hljs-number">10</span>) <span class="hljs-keyword">break</span>
}
</code></pre>
</div>
<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="save" class="tsd-anchor"></a>
<h3>save</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">save<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/recur.options.html" class="tsd-signature-type">Options</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#L357">recur.ts:357</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Use <code>save()</code> to export all options, rules, and exceptions as an object.
This can be used to store recurrences in a database.</p>
<blockquote>
<p>Note: This does not export the "From Date" which is considered a temporary option.</p>
<pre><code class="lang-js">recurrence.save();
</code></pre>
</blockquote>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/recur.options.html" class="tsd-signature-type">Options</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="startdate" class="tsd-anchor"></a>
<h3>start<wbr>Date</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">start<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">start<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#L261">recur.ts:261</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Get/Set the Start Date</p>
<pre><code class="lang-js">recurrence.startDate(); <span class="hljs-comment">// Get</span>
recurrence.startDate(<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#L262">recur.ts:262</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="week" class="tsd-anchor"></a>
<h3>week</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">week<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#L51">recur.ts:51</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="weekofmonth" class="tsd-anchor"></a>
<h3>week<wbr>OfMonth</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">week<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#L66">recur.ts:66</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="weekofmonthbyday" class="tsd-anchor"></a>
<h3>week<wbr>OfMonth<wbr>ByDay</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">week<wbr>OfMonth<wbr>ByDay<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#L98">recur.ts:98</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="weekofyear" class="tsd-anchor"></a>
<h3>week<wbr>OfYear</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">week<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><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#L69">recur.ts:69</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="weeks" class="tsd-anchor"></a>
<h3>weeks</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">weeks<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#L50">recur.ts:50</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="weeksofmonth" class="tsd-anchor"></a>
<h3>weeks<wbr>OfMonth</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">weeks<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#L65">recur.ts:65</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="weeksofmonthbyday" class="tsd-anchor"></a>
<h3>weeks<wbr>OfMonth<wbr>ByDay</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">weeks<wbr>OfMonth<wbr>ByDay<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#L97">recur.ts:97</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>A weekOfMonthByDay interval is available for combining with the daysOfWeek to
achieve "nth weekday of month" recurrences. The following matches every 1st
and 3rd Thursday of the month.</p>
<blockquote>
<p>(Note this cannot be combined at the moment with every(x).months() expression)</p>
</blockquote>
</div>
<pre><code class="lang-js">cal = moment.recur()
.every(<span class="hljs-string">"Thursday"</span>).daysOfWeek()
.every([<span class="hljs-number">0</span>, <span class="hljs-number">2</span>]).weeksOfMonthByDay();
</code></pre>
<pre><code class="lang-js">cal = moment.recur()
.every(moment(<span class="hljs-string">"01/01/2014"</span>).day()).daysOfWeek()
.every(moment(<span class="hljs-string">"01/01/2014"</span>).monthWeekByDay()).weeksOfMonthByDay();
</code></pre>
</div>
<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="weeksofyear" class="tsd-anchor"></a>
<h3>weeks<wbr>OfYear</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">weeks<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><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#L68">recur.ts:68</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="year" class="tsd-anchor"></a>
<h3>year</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">year<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#L57">recur.ts:57</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="years" class="tsd-anchor"></a>
<h3>years</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">years<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#L56">recur.ts:56</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>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class">
<a href="recur.html" class="tsd-kind-icon">Recur</a>
<ul>
<li class=" tsd-kind-interface tsd-parent-kind-class">
<a href="../interfaces/recur.options.html" class="tsd-kind-icon">Options</a>
</li>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="recur.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<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>
</li>
</ul>
<ul class="after-current">
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>