From 335ff90f6376ffa442ff03a40c1c7571e2b47609 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sat, 7 Aug 2021 10:27:45 +0000 Subject: [PATCH] deploy: f3db5fd2e43666f857ada4ff4aa54d96e6fb3e2a --- images/anchor-copy-button.svg | 4 + images/arrow_down.svg | 3 + images/copy-icon.svg | 3 + images/copy-successful-icon.svg | 3 + images/docs_logo.svg | 7 + images/footer-go-to-link.svg | 3 + images/go-to-top-icon.svg | 4 + images/logo-icon.svg | 3 + index.html | 116 ++ .../-days-of-month-builder.html | 50 + .../-days-of-month-builder/index.html | 304 ++++ .../-hours-builder/-hours-builder.html | 50 + .../-hours-builder/index.html | 304 ++++ .../-minutes-builder/-minutes-builder.html | 50 + .../-minutes-builder/index.html | 304 ++++ .../-months-builder/-months-builder.html | 50 + .../-months-builder/index.html | 304 ++++ .../-scheduler-builder.html | 50 + .../-scheduler-builder/build.html | 50 + .../-scheduler-builder/day-of-month.html | 50 + .../-scheduler-builder/day-of-week.html | 50 + .../-scheduler-builder/hours.html | 50 + .../-scheduler-builder/index.html | 212 +++ .../-scheduler-builder/minutes.html | 50 + .../-scheduler-builder/months.html | 50 + .../-scheduler-builder/seconds.html | 50 + .../-scheduler-builder/years.html | 50 + .../-seconds-builder/-seconds-builder.html | 50 + .../-seconds-builder/index.html | 304 ++++ .../-time-builder/allow-all.html | 50 + .../-time-builder/at.html | 50 + .../-time-builder/each.html | 50 + .../-time-builder/every.html | 45 + .../-time-builder/first.html | 50 + .../-time-builder/from.html | 50 + .../-time-builder/include-first.html | 50 + .../-time-builder/include-last.html | 50 + .../-time-builder/include.html | 50 + .../-time-builder/index.html | 369 +++++ .../-time-builder/last.html | 50 + .../-time-builder/range-to.html | 45 + .../-time-builder/up-to.html | 45 + .../-week-days-builder.html | 50 + .../-week-days-builder/index.html | 304 ++++ .../-years-builder/-years-builder.html | 50 + .../-years-builder/index.html | 304 ++++ .../build-schedule.html | 39 + kdocs/dev.inmo.krontab.builder/index.html | 248 ++++ .../-collection-kron-scheduler/include.html | 50 + .../-collection-kron-scheduler/index.html | 134 ++ .../-collection-kron-scheduler/next.html | 45 + .../include-all.html | 39 + kdocs/dev.inmo.krontab.collection/index.html | 122 ++ .../plus-assign.html | 50 + kdocs/dev.inmo.krontab.collection/plus.html | 50 + .../calculate-near-time.html | 50 + .../-near-date-time-calculator/index.html | 72 + kdocs/dev.inmo.krontab.internal/index.html | 80 ++ kdocs/dev.inmo.krontab.utils/as-flow.html | 50 + kdocs/dev.inmo.krontab.utils/as-tz-flow.html | 50 + kdocs/dev.inmo.krontab.utils/copy.html | 50 + kdocs/dev.inmo.krontab.utils/index.html | 122 ++ .../dev.inmo.krontab/-any-time-scheduler.html | 50 + .../-every-day-of-month-scheduler.html | 50 + .../-every-hour-scheduler.html | 50 + .../-every-minute-scheduler.html | 50 + .../-every-month-scheduler.html | 50 + .../-every-second-scheduler.html | 50 + .../-every-year-scheduler.html | 50 + .../-kron-scheduler-tz/index.html | 129 ++ .../-kron-scheduler-tz/next.html | 45 + .../-kron-scheduler-work.html | 50 + .../-kron-scheduler-work/do-work.html | 50 + .../-kron-scheduler-work/index.html | 545 ++++++++ .../-kron-scheduler/index.html | 298 ++++ .../-kron-scheduler/next.html | 50 + .../-krontab-template-scheduler-work.html | 50 + .../index.html | 530 +++++++ .../-krontab-template-wrapper.html | 50 + .../-krontab-template-wrapper/index.html | 108 ++ .../-krontab-template-wrapper/template.html | 50 + kdocs/dev.inmo.krontab/build-schedule.html | 39 + .../create-simple-scheduler.html | 45 + kdocs/dev.inmo.krontab/do-infinity.html | 45 + kdocs/dev.inmo.krontab/do-once.html | 45 + kdocs/dev.inmo.krontab/do-while.html | 45 + .../enqueue-kron-scheduler-work.html | 57 + ...queue-krontab-template-scheduler-work.html | 50 + kdocs/dev.inmo.krontab/index.html | 684 +++++++++ .../krontab-template-work-field.html | 50 + kdocs/dev.inmo.krontab/merge.html | 45 + .../next-or-now-with-offset.html | 50 + kdocs/dev.inmo.krontab/next-or-now.html | 50 + kdocs/dev.inmo.krontab/next-or-relative.html | 39 + kdocs/dev.inmo.krontab/next-time-zoned.html | 50 + kdocs/dev.inmo.krontab/next.html | 50 + kdocs/dev.inmo.krontab/to-kron-scheduler.html | 39 + kdocs/dev.inmo.krontab/to-schedule.html | 39 + .../wrap-as-kron-scheduler.html | 50 + kdocs/package-list | 118 ++ navigation.html | 160 +++ scripts/clipboard.js | 52 + scripts/main.js | 67 + scripts/navigation-loader.js | 64 + scripts/navigation-pane.json | 1 + scripts/pages.json | 1 + scripts/platform-content-handler.js | 290 ++++ scripts/sourceset_dependencies.js | 1 + styles/jetbrains-mono.css | 17 + styles/logo-styles.css | 3 + styles/main.css | 113 ++ styles/style.css | 1229 +++++++++++++++++ 112 files changed, 11384 insertions(+) create mode 100644 images/anchor-copy-button.svg create mode 100644 images/arrow_down.svg create mode 100644 images/copy-icon.svg create mode 100644 images/copy-successful-icon.svg create mode 100644 images/docs_logo.svg create mode 100644 images/footer-go-to-link.svg create mode 100644 images/go-to-top-icon.svg create mode 100644 images/logo-icon.svg create mode 100644 index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-days-of-month-builder/-days-of-month-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-days-of-month-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-hours-builder/-hours-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-hours-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-minutes-builder/-minutes-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-minutes-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-months-builder/-months-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-months-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/-scheduler-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/build.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-month.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-week.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/hours.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/minutes.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/months.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/seconds.html create mode 100644 kdocs/dev.inmo.krontab.builder/-scheduler-builder/years.html create mode 100644 kdocs/dev.inmo.krontab.builder/-seconds-builder/-seconds-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-seconds-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/allow-all.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/at.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/each.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/every.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/first.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/from.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/include-first.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/include-last.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/include.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/last.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/range-to.html create mode 100644 kdocs/dev.inmo.krontab.builder/-time-builder/up-to.html create mode 100644 kdocs/dev.inmo.krontab.builder/-week-days-builder/-week-days-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-week-days-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/-years-builder/-years-builder.html create mode 100644 kdocs/dev.inmo.krontab.builder/-years-builder/index.html create mode 100644 kdocs/dev.inmo.krontab.builder/build-schedule.html create mode 100644 kdocs/dev.inmo.krontab.builder/index.html create mode 100644 kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/include.html create mode 100644 kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/index.html create mode 100644 kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/next.html create mode 100644 kdocs/dev.inmo.krontab.collection/include-all.html create mode 100644 kdocs/dev.inmo.krontab.collection/index.html create mode 100644 kdocs/dev.inmo.krontab.collection/plus-assign.html create mode 100644 kdocs/dev.inmo.krontab.collection/plus.html create mode 100644 kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/calculate-near-time.html create mode 100644 kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/index.html create mode 100644 kdocs/dev.inmo.krontab.internal/index.html create mode 100644 kdocs/dev.inmo.krontab.utils/as-flow.html create mode 100644 kdocs/dev.inmo.krontab.utils/as-tz-flow.html create mode 100644 kdocs/dev.inmo.krontab.utils/copy.html create mode 100644 kdocs/dev.inmo.krontab.utils/index.html create mode 100644 kdocs/dev.inmo.krontab/-any-time-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/-every-day-of-month-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/-every-hour-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/-every-minute-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/-every-month-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/-every-second-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/-every-year-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/-kron-scheduler-tz/index.html create mode 100644 kdocs/dev.inmo.krontab/-kron-scheduler-tz/next.html create mode 100644 kdocs/dev.inmo.krontab/-kron-scheduler-work/-kron-scheduler-work.html create mode 100644 kdocs/dev.inmo.krontab/-kron-scheduler-work/do-work.html create mode 100644 kdocs/dev.inmo.krontab/-kron-scheduler-work/index.html create mode 100644 kdocs/dev.inmo.krontab/-kron-scheduler/index.html create mode 100644 kdocs/dev.inmo.krontab/-kron-scheduler/next.html create mode 100644 kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/-krontab-template-scheduler-work.html create mode 100644 kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/index.html create mode 100644 kdocs/dev.inmo.krontab/-krontab-template-wrapper/-krontab-template-wrapper.html create mode 100644 kdocs/dev.inmo.krontab/-krontab-template-wrapper/index.html create mode 100644 kdocs/dev.inmo.krontab/-krontab-template-wrapper/template.html create mode 100644 kdocs/dev.inmo.krontab/build-schedule.html create mode 100644 kdocs/dev.inmo.krontab/create-simple-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/do-infinity.html create mode 100644 kdocs/dev.inmo.krontab/do-once.html create mode 100644 kdocs/dev.inmo.krontab/do-while.html create mode 100644 kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html create mode 100644 kdocs/dev.inmo.krontab/enqueue-krontab-template-scheduler-work.html create mode 100644 kdocs/dev.inmo.krontab/index.html create mode 100644 kdocs/dev.inmo.krontab/krontab-template-work-field.html create mode 100644 kdocs/dev.inmo.krontab/merge.html create mode 100644 kdocs/dev.inmo.krontab/next-or-now-with-offset.html create mode 100644 kdocs/dev.inmo.krontab/next-or-now.html create mode 100644 kdocs/dev.inmo.krontab/next-or-relative.html create mode 100644 kdocs/dev.inmo.krontab/next-time-zoned.html create mode 100644 kdocs/dev.inmo.krontab/next.html create mode 100644 kdocs/dev.inmo.krontab/to-kron-scheduler.html create mode 100644 kdocs/dev.inmo.krontab/to-schedule.html create mode 100644 kdocs/dev.inmo.krontab/wrap-as-kron-scheduler.html create mode 100644 kdocs/package-list create mode 100644 navigation.html create mode 100644 scripts/clipboard.js create mode 100644 scripts/main.js create mode 100644 scripts/navigation-loader.js create mode 100644 scripts/navigation-pane.json create mode 100644 scripts/pages.json create mode 100644 scripts/platform-content-handler.js create mode 100644 scripts/sourceset_dependencies.js create mode 100644 styles/jetbrains-mono.css create mode 100644 styles/logo-styles.css create mode 100644 styles/main.css create mode 100644 styles/style.css diff --git a/images/anchor-copy-button.svg b/images/anchor-copy-button.svg new file mode 100644 index 0000000..bab9d74 --- /dev/null +++ b/images/anchor-copy-button.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/images/arrow_down.svg b/images/arrow_down.svg new file mode 100644 index 0000000..89e7df4 --- /dev/null +++ b/images/arrow_down.svg @@ -0,0 +1,3 @@ + + + diff --git a/images/copy-icon.svg b/images/copy-icon.svg new file mode 100644 index 0000000..61440f0 --- /dev/null +++ b/images/copy-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/images/copy-successful-icon.svg b/images/copy-successful-icon.svg new file mode 100644 index 0000000..1865f73 --- /dev/null +++ b/images/copy-successful-icon.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/images/docs_logo.svg b/images/docs_logo.svg new file mode 100644 index 0000000..7c1e3ae --- /dev/null +++ b/images/docs_logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/images/footer-go-to-link.svg b/images/footer-go-to-link.svg new file mode 100644 index 0000000..0137e22 --- /dev/null +++ b/images/footer-go-to-link.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/images/go-to-top-icon.svg b/images/go-to-top-icon.svg new file mode 100644 index 0000000..d987f3e --- /dev/null +++ b/images/go-to-top-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/images/logo-icon.svg b/images/logo-icon.svg new file mode 100644 index 0000000..1b3b367 --- /dev/null +++ b/images/logo-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..fd3efa1 --- /dev/null +++ b/index.html @@ -0,0 +1,116 @@ + + + + kdocs + + +
+
+ + +
+
+
+
+
+
+ +
+

kdocs

+
+

Packages

+
+
+
+
+
dev.inmo.krontab +
Link copied to clipboard
+
+
+
+ +
common
+
+
+
+
+
+
+ +
+
+
+
dev.inmo.krontab.builder +
Link copied to clipboard
+
+
+
+
common
+
+
+
+
+
+
+ +
+
+
+
dev.inmo.krontab.collection +
Link copied to clipboard
+
+
+
+
common
+
+
+
+
+
+
+ +
+
+
+
dev.inmo.krontab.internal +
Link copied to clipboard
+
+
+
+
common
+
+
+
+
+
+
+ +
+
+
+
dev.inmo.krontab.utils +
Link copied to clipboard
+
+
+
+
common
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/-days-of-month-builder.html b/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/-days-of-month-builder.html new file mode 100644 index 0000000..d76d10e --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/-days-of-month-builder.html @@ -0,0 +1,50 @@ + + + + DaysOfMonthBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

DaysOfMonthBuilder

+
+
+ +
+
fun DaysOfMonthBuilder()
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/index.html b/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/index.html new file mode 100644 index 0000000..b0d7fe9 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/index.html @@ -0,0 +1,304 @@ + + + + DaysOfMonthBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

DaysOfMonthBuilder

+
class DaysOfMonthBuilder : TimeBuilder<Byte>
+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-hours-builder/-hours-builder.html b/kdocs/dev.inmo.krontab.builder/-hours-builder/-hours-builder.html new file mode 100644 index 0000000..b64e19d --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-hours-builder/-hours-builder.html @@ -0,0 +1,50 @@ + + + + HoursBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

HoursBuilder

+
+
+ +
+
fun HoursBuilder()
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-hours-builder/index.html b/kdocs/dev.inmo.krontab.builder/-hours-builder/index.html new file mode 100644 index 0000000..f836479 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-hours-builder/index.html @@ -0,0 +1,304 @@ + + + + HoursBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

HoursBuilder

+
class HoursBuilder : TimeBuilder<Byte>
+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-minutes-builder/-minutes-builder.html b/kdocs/dev.inmo.krontab.builder/-minutes-builder/-minutes-builder.html new file mode 100644 index 0000000..cbd7d1f --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-minutes-builder/-minutes-builder.html @@ -0,0 +1,50 @@ + + + + MinutesBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

MinutesBuilder

+
+
+ +
+
fun MinutesBuilder()
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-minutes-builder/index.html b/kdocs/dev.inmo.krontab.builder/-minutes-builder/index.html new file mode 100644 index 0000000..c745ed9 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-minutes-builder/index.html @@ -0,0 +1,304 @@ + + + + MinutesBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

MinutesBuilder

+
class MinutesBuilder : TimeBuilder<Byte>
+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-months-builder/-months-builder.html b/kdocs/dev.inmo.krontab.builder/-months-builder/-months-builder.html new file mode 100644 index 0000000..9815c9d --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-months-builder/-months-builder.html @@ -0,0 +1,50 @@ + + + + MonthsBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

MonthsBuilder

+
+
+ +
+
fun MonthsBuilder()
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-months-builder/index.html b/kdocs/dev.inmo.krontab.builder/-months-builder/index.html new file mode 100644 index 0000000..cd5a5ef --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-months-builder/index.html @@ -0,0 +1,304 @@ + + + + MonthsBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

MonthsBuilder

+
class MonthsBuilder : TimeBuilder<Byte>
+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/-scheduler-builder.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/-scheduler-builder.html new file mode 100644 index 0000000..3d342e6 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/-scheduler-builder.html @@ -0,0 +1,50 @@ + + + + SchedulerBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

SchedulerBuilder

+
+
+ +
+
fun SchedulerBuilder(seconds: Array<Byte>? = null, minutes: Array<Byte>? = null, hours: Array<Byte>? = null, dayOfMonth: Array<Byte>? = null, month: Array<Byte>? = null, year: Array<Int>? = null, dayOfWeek: Array<Byte>? = null, offset: Minutes? = null)
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/build.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/build.html new file mode 100644 index 0000000..a026f53 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/build.html @@ -0,0 +1,50 @@ + + + + build + + +
+
+ + +
+
+
+
+
+
+ +
+

build

+
+
+ +
+
fun build(): KronScheduler
+
+

Return

Completely built and independent KronScheduler

See also

dev.inmo.krontab.internal.createKronScheduler
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-month.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-month.html new file mode 100644 index 0000000..5631960 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-month.html @@ -0,0 +1,50 @@ + + + + dayOfMonth + + +
+
+ + +
+
+
+
+
+
+ +
+

dayOfMonth

+
+
+ +
+
fun dayOfMonth(block: DaysOfMonthBuilder.() -> Unit)
+
+

Starts an days of month block

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-week.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-week.html new file mode 100644 index 0000000..5683fc1 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-week.html @@ -0,0 +1,50 @@ + + + + dayOfWeek + + +
+
+ + +
+
+
+
+
+
+ +
+

dayOfWeek

+
+
+ +
+
fun dayOfWeek(block: WeekDaysBuilder.() -> Unit)
+
+

Starts an hours block

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/hours.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/hours.html new file mode 100644 index 0000000..722f683 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/hours.html @@ -0,0 +1,50 @@ + + + + hours + + +
+
+ + +
+
+
+
+
+
+ +
+

hours

+
+
+ +
+
fun hours(block: HoursBuilder.() -> Unit)
+
+

Starts an hours block

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/index.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/index.html new file mode 100644 index 0000000..cc9ac8a --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/index.html @@ -0,0 +1,212 @@ + + + + SchedulerBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

SchedulerBuilder

+
class SchedulerBuilder(seconds: Array<Byte>?, minutes: Array<Byte>?, hours: Array<Byte>?, dayOfMonth: Array<Byte>?, month: Array<Byte>?, year: Array<Int>?, dayOfWeek: Array<Byte>?, offset: Minutes?)
+
+
+
+
+

Functions

+
+
+
+
build +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun build(): KronScheduler
+
+
+
+
+
+
+ +
+
+
dayOfMonth +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun dayOfMonth(block: DaysOfMonthBuilder.() -> Unit)
+
+
Starts an days of month block
+
+
+
+
+ +
+
+
dayOfWeek +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun dayOfWeek(block: WeekDaysBuilder.() -> Unit)
+
+
Starts an hours block
+
+
+
+
+ +
+
+
hours +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun hours(block: HoursBuilder.() -> Unit)
+
+
Starts an hours block
+
+
+
+
+ +
+
+
minutes +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun minutes(block: MinutesBuilder.() -> Unit)
+
+
Starts an minutes block
+
+
+
+
+ +
+
+
months +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun months(block: MonthsBuilder.() -> Unit)
+
+
Starts an months block
+
+
+
+
+ +
+
+
seconds +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun seconds(block: SecondsBuilder.() -> Unit)
+
+
Starts an seconds block
+
+
+
+
+ +
+
+
years +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun years(block: YearsBuilder.() -> Unit)
+
+
Starts an year block
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/minutes.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/minutes.html new file mode 100644 index 0000000..7d108fd --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/minutes.html @@ -0,0 +1,50 @@ + + + + minutes + + +
+
+ + +
+
+
+
+
+
+ +
+

minutes

+
+
+ +
+
fun minutes(block: MinutesBuilder.() -> Unit)
+
+

Starts an minutes block

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/months.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/months.html new file mode 100644 index 0000000..6945500 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/months.html @@ -0,0 +1,50 @@ + + + + months + + +
+
+ + +
+
+
+
+
+
+ +
+

months

+
+
+ +
+
fun months(block: MonthsBuilder.() -> Unit)
+
+

Starts an months block

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/seconds.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/seconds.html new file mode 100644 index 0000000..b480659 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/seconds.html @@ -0,0 +1,50 @@ + + + + seconds + + +
+
+ + +
+
+
+
+
+
+ +
+

seconds

+
+
+ +
+
fun seconds(block: SecondsBuilder.() -> Unit)
+
+

Starts an seconds block

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-scheduler-builder/years.html b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/years.html new file mode 100644 index 0000000..979be73 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-scheduler-builder/years.html @@ -0,0 +1,50 @@ + + + + years + + +
+
+ + +
+
+
+
+
+
+ +
+

years

+
+
+ +
+
fun years(block: YearsBuilder.() -> Unit)
+
+

Starts an year block

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-seconds-builder/-seconds-builder.html b/kdocs/dev.inmo.krontab.builder/-seconds-builder/-seconds-builder.html new file mode 100644 index 0000000..e76cc85 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-seconds-builder/-seconds-builder.html @@ -0,0 +1,50 @@ + + + + SecondsBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

SecondsBuilder

+
+
+ +
+
fun SecondsBuilder()
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-seconds-builder/index.html b/kdocs/dev.inmo.krontab.builder/-seconds-builder/index.html new file mode 100644 index 0000000..691f671 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-seconds-builder/index.html @@ -0,0 +1,304 @@ + + + + SecondsBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

SecondsBuilder

+
class SecondsBuilder : TimeBuilder<Byte>
+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/allow-all.html b/kdocs/dev.inmo.krontab.builder/-time-builder/allow-all.html new file mode 100644 index 0000000..5924c6a --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/allow-all.html @@ -0,0 +1,50 @@ + + + + allowAll + + +
+
+ + +
+
+
+
+
+
+ +
+

allowAll

+
+
+ +
+
fun allowAll()
+
+

After calling of this function this builder will allow any value of current time

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/at.html b/kdocs/dev.inmo.krontab.builder/-time-builder/at.html new file mode 100644 index 0000000..4a15253 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/at.html @@ -0,0 +1,50 @@ + + + + at + + +
+
+ + +
+
+
+
+
+
+ +
+

at

+
+
+ +
+
infix fun at(value: Int)
+
+

Add one value to current timeline

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/each.html b/kdocs/dev.inmo.krontab.builder/-time-builder/each.html new file mode 100644 index 0000000..51c64fa --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/each.html @@ -0,0 +1,50 @@ + + + + each + + +
+
+ + +
+
+
+
+
+
+ +
+

each

+
+
+ +
+
infix inline fun each(value: Int)
+
+

Shortcut for at. In fact will

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/every.html b/kdocs/dev.inmo.krontab.builder/-time-builder/every.html new file mode 100644 index 0000000..e96cbde --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/every.html @@ -0,0 +1,45 @@ + + + + every + + +
+
+ + +
+
+
+
+
+
+ +
+

every

+
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+

Will create an sequence of times starting fromevery times. For example, for SecondsBuilder it will mean "from second second every 5 seconds", or "2, 7, 13, ..."

See also

+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+

Shortcut for "from 0 every"

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/first.html b/kdocs/dev.inmo.krontab.builder/-time-builder/first.html new file mode 100644 index 0000000..23f8d62 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/first.html @@ -0,0 +1,50 @@ + + + + first + + +
+
+ + +
+
+
+
+
+
+ +
+

first

+
+
+ +
+
val first: Int
+
+

The first possible value of builder

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/from.html b/kdocs/dev.inmo.krontab.builder/-time-builder/from.html new file mode 100644 index 0000000..2e37feb --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/from.html @@ -0,0 +1,50 @@ + + + + from + + +
+
+ + +
+
+
+
+
+
+ +
+

from

+
+
+ +
+
infix inline fun from(value: Int): Int
+
+

Just wrapper for more obvious writing something like "from 2 every 5". For example, for SecondsBuilder it will mean "from second second every 5 seconds", or "2, 7, 13, ..."

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/include-first.html b/kdocs/dev.inmo.krontab.builder/-time-builder/include-first.html new file mode 100644 index 0000000..57a5ce7 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/include-first.html @@ -0,0 +1,50 @@ + + + + includeFirst + + +
+
+ + +
+
+
+
+
+
+ +
+

includeFirst

+
+
+ +
+
fun includeFirst()
+
+

Will include the first possible value

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/include-last.html b/kdocs/dev.inmo.krontab.builder/-time-builder/include-last.html new file mode 100644 index 0000000..67673b1 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/include-last.html @@ -0,0 +1,50 @@ + + + + includeLast + + +
+
+ + +
+
+
+
+
+
+ +
+

includeLast

+
+
+ +
+
fun includeLast()
+
+

Will include the last possible value

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/include.html b/kdocs/dev.inmo.krontab.builder/-time-builder/include.html new file mode 100644 index 0000000..bfc88e1 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/include.html @@ -0,0 +1,50 @@ + + + + include + + +
+
+ + +
+
+
+
+
+
+ +
+

include

+
+
+ +
+
infix fun include(array: Array<Int>)
+
+

Will include all variations from this array inside of this timeline

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/index.html b/kdocs/dev.inmo.krontab.builder/-time-builder/index.html new file mode 100644 index 0000000..2c7dfd2 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/index.html @@ -0,0 +1,369 @@ + + + + TimeBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

TimeBuilder

+
sealed class TimeBuilder<T : Number>

This class was created for incapsulation of builder work with specified restrictionsRange. For example, include function of TimeBuilder will always coerceIn incoming data using its restrictionsRange

+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Inheritors

+
+
+
+
SecondsBuilder +
Link copied to clipboard
+
+
+
+
+ +
+
+
MinutesBuilder +
Link copied to clipboard
+
+
+
+
+ +
+
+
HoursBuilder +
Link copied to clipboard
+
+
+
+
+ +
+
+
DaysOfMonthBuilder +
Link copied to clipboard
+
+
+
+
+ +
+
+
MonthsBuilder +
Link copied to clipboard
+
+
+
+
+ +
+
+
YearsBuilder +
Link copied to clipboard
+
+
+
+
+ +
+
+
WeekDaysBuilder +
Link copied to clipboard
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/last.html b/kdocs/dev.inmo.krontab.builder/-time-builder/last.html new file mode 100644 index 0000000..3f29412 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/last.html @@ -0,0 +1,50 @@ + + + + last + + +
+
+ + +
+
+
+
+
+
+ +
+

last

+
+
+ +
+
val last: Int
+
+

The last possible value of builder. Using of this variable equal to using "L" in strings

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/range-to.html b/kdocs/dev.inmo.krontab.builder/-time-builder/range-to.html new file mode 100644 index 0000000..5f7a972 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/range-to.html @@ -0,0 +1,45 @@ + + + + rangeTo + + +
+
+ + +
+
+
+
+
+
+ +
+

rangeTo

+
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+

Will fill up this timeline from this up to endIncluding

+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+

Shortcut for "from 0 rangeTo"

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-time-builder/up-to.html b/kdocs/dev.inmo.krontab.builder/-time-builder/up-to.html new file mode 100644 index 0000000..17c7977 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-time-builder/up-to.html @@ -0,0 +1,45 @@ + + + + upTo + + +
+
+ + +
+
+
+
+
+
+ +
+

upTo

+
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+

Will fill up this timeline from this up to endIncluding

+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+

Shortcut for "from 0 upTo"

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-week-days-builder/-week-days-builder.html b/kdocs/dev.inmo.krontab.builder/-week-days-builder/-week-days-builder.html new file mode 100644 index 0000000..80bfa7b --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-week-days-builder/-week-days-builder.html @@ -0,0 +1,50 @@ + + + + WeekDaysBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

WeekDaysBuilder

+
+
+ +
+
fun WeekDaysBuilder()
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-week-days-builder/index.html b/kdocs/dev.inmo.krontab.builder/-week-days-builder/index.html new file mode 100644 index 0000000..d8872c7 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-week-days-builder/index.html @@ -0,0 +1,304 @@ + + + + WeekDaysBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

WeekDaysBuilder

+
class WeekDaysBuilder : TimeBuilder<Byte>
+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-years-builder/-years-builder.html b/kdocs/dev.inmo.krontab.builder/-years-builder/-years-builder.html new file mode 100644 index 0000000..228bf6e --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-years-builder/-years-builder.html @@ -0,0 +1,50 @@ + + + + YearsBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

YearsBuilder

+
+
+ +
+
fun YearsBuilder()
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/-years-builder/index.html b/kdocs/dev.inmo.krontab.builder/-years-builder/index.html new file mode 100644 index 0000000..8e652c0 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/-years-builder/index.html @@ -0,0 +1,304 @@ + + + + YearsBuilder + + +
+
+ + +
+
+
+
+
+
+ +
+

YearsBuilder

+
class YearsBuilder : TimeBuilder<Int>
+
+
+
+
+

Functions

+
+
+
+
allowAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun allowAll()
+
+
After calling of this function this builder will allow any value of current time
+
+
+
+
+ +
+
+
at +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun at(value: Int)
+
+
Add one value to current timeline
+
+
+
+
+ +
+
+
each +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun each(value: Int)
+
+
Shortcut for at.
+
+
+
+
+ +
+
+
every +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun every(delay: Int): Array<Int>
+
+
Shortcut for "from 0 every"
+
+ +
+
infix fun Int.every(delay: Int): Array<Int>
+
+
Will create an sequence of times starting fromevery times.
+
+
+
+
+ +
+
+
from +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix inline fun from(value: Int): Int
+
+
Just wrapper for more obvious writing something like "from 2 every 5".
+
+
+
+
+ +
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun include(array: Array<Int>)
+
+
Will include all variations from this array inside of this timeline
+
+
+
+
+ +
+
+
includeFirst +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeFirst()
+
+
Will include the first possible value
+
+
+
+
+ +
+
+
includeLast +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun includeLast()
+
+
Will include the last possible value
+
+
+
+
+ +
+
+
rangeTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix operator fun rangeTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 rangeTo"
+
+ +
+
infix operator fun Int.rangeTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+ +
+
+
upTo +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
infix fun upTo(endIncluding: Int): Array<Int>
+
+
Shortcut for "from 0 upTo"
+
+ +
+
infix fun Int.upTo(endIncluding: Int): Array<Int>
+
+
Will fill up this timeline from this up to endIncluding
+
+
+
+
+
+

Properties

+
+
+
+
first +
Link copied to clipboard
+
+
+
+
common
+
+
+
val first: Int
The first possible value of builder
+
+
+
+
+ +
+
+
last +
Link copied to clipboard
+
+
+
+
common
+
+
+
val last: Int
The last possible value of builder.
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/build-schedule.html b/kdocs/dev.inmo.krontab.builder/build-schedule.html new file mode 100644 index 0000000..73a5895 --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/build-schedule.html @@ -0,0 +1,39 @@ + + + + buildSchedule + + +
+
+ + +
+
+
+
+
+
+ +
+

buildSchedule

+
+
+ +
+
fun buildSchedule(settingsBlock: SchedulerBuilder.() -> Unit): KronScheduler
fun buildSchedule(offset: Minutes, settingsBlock: SchedulerBuilder.() -> Unit): KronSchedulerTz
+
+

Will help to create an instance of KronScheduler

See also

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.builder/index.html b/kdocs/dev.inmo.krontab.builder/index.html new file mode 100644 index 0000000..cb93efc --- /dev/null +++ b/kdocs/dev.inmo.krontab.builder/index.html @@ -0,0 +1,248 @@ + + + + dev.inmo.krontab.builder + + +
+
+ + +
+
+
+
+
+
+ +
+

Package dev.inmo.krontab.builder

+
+
+
+
+

Types

+
+
+
+
DaysOfMonthBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class DaysOfMonthBuilder : TimeBuilder<Byte>
+
+
+
+
+
+
+ +
+
+
HoursBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class HoursBuilder : TimeBuilder<Byte>
+
+
+
+
+
+
+ +
+
+
MinutesBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class MinutesBuilder : TimeBuilder<Byte>
+
+
+
+
+
+
+ +
+
+
MonthsBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class MonthsBuilder : TimeBuilder<Byte>
+
+
+
+
+
+
+ +
+
+
SchedulerBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class SchedulerBuilder(seconds: Array<Byte>?, minutes: Array<Byte>?, hours: Array<Byte>?, dayOfMonth: Array<Byte>?, month: Array<Byte>?, year: Array<Int>?, dayOfWeek: Array<Byte>?, offset: Minutes?)
+
+
+
+
+
+
+ +
+
+
SecondsBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class SecondsBuilder : TimeBuilder<Byte>
+
+
+
+
+
+
+ +
+
+
TimeBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
sealed class TimeBuilder<T : Number>
+
+
This class was created for incapsulation of builder work with specified restrictionsRange.
+
+
+
+
+ +
+
+
WeekDaysBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class WeekDaysBuilder : TimeBuilder<Byte>
+
+
+
+
+
+
+ +
+
+
YearsBuilder +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
class YearsBuilder : TimeBuilder<Int>
+
+
+
+
+
+
+
+

Functions

+
+
+
+
buildSchedule +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun buildSchedule(settingsBlock: SchedulerBuilder.() -> Unit): KronScheduler
+
+
Will help to create an instance of KronScheduler
+
+ +
+
fun buildSchedule(offset: Minutes, settingsBlock: SchedulerBuilder.() -> Unit): KronSchedulerTz
+
+
Will help to create an instance of KronScheduler
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/include.html b/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/include.html new file mode 100644 index 0000000..bf8ed85 --- /dev/null +++ b/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/include.html @@ -0,0 +1,50 @@ + + + + include + + +
+
+ + +
+
+
+
+
+
+ +
+

include

+
+
+ +
+
fun include(kronScheduler: KronScheduler)
+
+

Add kronScheduler into its schedulers list

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/index.html b/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/index.html new file mode 100644 index 0000000..bd857f8 --- /dev/null +++ b/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/index.html @@ -0,0 +1,134 @@ + + + + CollectionKronScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

CollectionKronScheduler

+
data class CollectionKronScheduler : KronSchedulerTz

This scheduler will be useful in case you want to unite several different KronSchedulers

+
+
+
+
+

Functions

+
+
+
+
include +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun include(kronScheduler: KronScheduler)
+
+
Add kronScheduler into its schedulers list
+
+
+
+
+ +
+
+
next +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
open suspend override fun next(relatively: DateTime): DateTime
open suspend override fun next(relatively: DateTimeTz): DateTimeTz
+
+
+
+
+
+
+
+

Extensions

+
+
+
+
includeAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline fun CollectionKronScheduler.includeAll(kronSchedulers: List<KronScheduler>)
inline fun CollectionKronScheduler.includeAll(vararg kronSchedulers: KronScheduler)
+
+
+
+
+
+
+ +
+
+
plusAssign +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
operator fun CollectionKronScheduler.plusAssign(kronScheduler: KronScheduler)
+
+
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/next.html b/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/next.html new file mode 100644 index 0000000..d460a83 --- /dev/null +++ b/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/next.html @@ -0,0 +1,45 @@ + + + + next + + +
+
+ + +
+
+
+
+
+
+ +
+

next

+
+
+ +
+
open suspend override fun next(relatively: DateTime): DateTime
+
+

Return

Next DateTime when some action must be triggered according to settings of this instance

See also

dev.inmo.krontab.internal.CronDateTimeScheduler
+
+ +
+
open suspend override fun next(relatively: DateTimeTz): DateTimeTz
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.collection/include-all.html b/kdocs/dev.inmo.krontab.collection/include-all.html new file mode 100644 index 0000000..d6abb38 --- /dev/null +++ b/kdocs/dev.inmo.krontab.collection/include-all.html @@ -0,0 +1,39 @@ + + + + includeAll + + +
+
+ + +
+
+
+
+
+
+ +
+

includeAll

+
+
+ +
+
inline fun CollectionKronScheduler.includeAll(kronSchedulers: List<KronScheduler>)
inline fun CollectionKronScheduler.includeAll(vararg kronSchedulers: KronScheduler)
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.collection/index.html b/kdocs/dev.inmo.krontab.collection/index.html new file mode 100644 index 0000000..c14e647 --- /dev/null +++ b/kdocs/dev.inmo.krontab.collection/index.html @@ -0,0 +1,122 @@ + + + + dev.inmo.krontab.collection + + +
+
+ + +
+
+
+
+
+
+ +
+

Package dev.inmo.krontab.collection

+
+
+
+
+

Types

+
+
+
+
CollectionKronScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
data class CollectionKronScheduler : KronSchedulerTz
+
+
This scheduler will be useful in case you want to unite several different KronSchedulers
+
+
+
+
+
+

Functions

+
+
+
+
includeAll +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline fun CollectionKronScheduler.includeAll(vararg kronSchedulers: KronScheduler)
inline fun CollectionKronScheduler.includeAll(kronSchedulers: List<KronScheduler>)
+
+
+
+
+
+
+ +
+
+
plus +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
operator fun KronScheduler.plus(kronScheduler: KronScheduler): CollectionKronScheduler
+
+
+
+
+
+
+ +
+
+
plusAssign +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
operator fun CollectionKronScheduler.plusAssign(kronScheduler: KronScheduler)
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.collection/plus-assign.html b/kdocs/dev.inmo.krontab.collection/plus-assign.html new file mode 100644 index 0000000..109676d --- /dev/null +++ b/kdocs/dev.inmo.krontab.collection/plus-assign.html @@ -0,0 +1,50 @@ + + + + plusAssign + + +
+
+ + +
+
+
+
+
+
+ +
+

plusAssign

+
+
+ +
+
operator fun CollectionKronScheduler.plusAssign(kronScheduler: KronScheduler)
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.collection/plus.html b/kdocs/dev.inmo.krontab.collection/plus.html new file mode 100644 index 0000000..68767ed --- /dev/null +++ b/kdocs/dev.inmo.krontab.collection/plus.html @@ -0,0 +1,50 @@ + + + + plus + + +
+
+ + +
+
+
+
+
+
+ +
+

plus

+
+
+ +
+
operator fun KronScheduler.plus(kronScheduler: KronScheduler): CollectionKronScheduler
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/calculate-near-time.html b/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/calculate-near-time.html new file mode 100644 index 0000000..edc67b4 --- /dev/null +++ b/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/calculate-near-time.html @@ -0,0 +1,50 @@ + + + + calculateNearTime + + +
+
+ + +
+
+
+
+
+
+ +
+

calculateNearTime

+
+
+ +
+
abstract fun calculateNearTime(relativelyTo: DateTime): Pair<DateTime, Boolean>?
+
+

Return

pair of near DateTime for this checker and Boolean flag that all previous calculations must be recalculated

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/index.html b/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/index.html new file mode 100644 index 0000000..6b96c63 --- /dev/null +++ b/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/index.html @@ -0,0 +1,72 @@ + + + + NearDateTimeCalculator + + +
+
+ + +
+
+
+
+
+
+ +
+

NearDateTimeCalculator

+
fun fun interface NearDateTimeCalculator
+
+
+
+
+

Functions

+
+
+
+
calculateNearTime +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
abstract fun calculateNearTime(relativelyTo: DateTime): Pair<DateTime, Boolean>?
+
+
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.internal/index.html b/kdocs/dev.inmo.krontab.internal/index.html new file mode 100644 index 0000000..88a8d9e --- /dev/null +++ b/kdocs/dev.inmo.krontab.internal/index.html @@ -0,0 +1,80 @@ + + + + dev.inmo.krontab.internal + + +
+
+ + +
+
+
+
+
+
+ +
+

Package dev.inmo.krontab.internal

+
+
+
+
+

Types

+
+
+
+
Converter +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
typealias Converter<T> = (Int) -> T
+
+
+
+
+
+
+ +
+
+
NearDateTimeCalculator +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun fun interface NearDateTimeCalculator
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.utils/as-flow.html b/kdocs/dev.inmo.krontab.utils/as-flow.html new file mode 100644 index 0000000..fdac60f --- /dev/null +++ b/kdocs/dev.inmo.krontab.utils/as-flow.html @@ -0,0 +1,50 @@ + + + + asFlow + + +
+
+ + +
+
+
+
+
+
+ +
+

asFlow

+
+
+ +
+
@FlowPreview()
fun KronScheduler.asFlow(): Flow<DateTime>
+
+

This method is a map for asTzFlow and will works the same but return flow with DateTimes

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.utils/as-tz-flow.html b/kdocs/dev.inmo.krontab.utils/as-tz-flow.html new file mode 100644 index 0000000..43a9ca1 --- /dev/null +++ b/kdocs/dev.inmo.krontab.utils/as-tz-flow.html @@ -0,0 +1,50 @@ + + + + asTzFlow + + +
+
+ + +
+
+
+
+
+
+ +
+

asTzFlow

+
+
+ +
+
@FlowPreview()
fun KronScheduler.asTzFlow(): Flow<DateTimeTz>
+
+

This Flow will trigger emitting each near time which will be returned from this with attention to time zones

See also

channelFlow
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.utils/copy.html b/kdocs/dev.inmo.krontab.utils/copy.html new file mode 100644 index 0000000..69a6d4a --- /dev/null +++ b/kdocs/dev.inmo.krontab.utils/copy.html @@ -0,0 +1,50 @@ + + + + copy + + +
+
+ + +
+
+
+
+
+
+ +
+

copy

+
+
+ +
+
fun DateTime.copy(year: Int = yearInt, month: Int = month1, dayOfMonth: Int = this.dayOfMonth, hour: Int = hours, minute: Int = minutes, second: Int = seconds, milliseconds: Int = this.milliseconds): DateTime
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab.utils/index.html b/kdocs/dev.inmo.krontab.utils/index.html new file mode 100644 index 0000000..1030939 --- /dev/null +++ b/kdocs/dev.inmo.krontab.utils/index.html @@ -0,0 +1,122 @@ + + + + dev.inmo.krontab.utils + + +
+
+ + +
+
+
+
+
+
+ +
+

Package dev.inmo.krontab.utils

+
+
+
+
+

Types

+
+
+
+
Minutes +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
typealias Minutes = Int
+
+
+
+
+
+
+
+

Functions

+
+
+
+
asFlow +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
@FlowPreview()
fun KronScheduler.asFlow(): Flow<DateTime>
+
+
This method is a map for asTzFlow and will works the same but return flow with DateTimes
+
+
+
+
+ +
+
+
asTzFlow +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
@FlowPreview()
fun KronScheduler.asTzFlow(): Flow<DateTimeTz>
+
+
This Flow will trigger emitting each near time which will be returned from this with attention to time zones
+
+
+
+
+ +
+
+
copy +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun DateTime.copy(year: Int = yearInt, month: Int = month1, dayOfMonth: Int = this.dayOfMonth, hour: Int = hours, minute: Int = minutes, second: Int = seconds, milliseconds: Int = this.milliseconds): DateTime
+
+
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-any-time-scheduler.html b/kdocs/dev.inmo.krontab/-any-time-scheduler.html new file mode 100644 index 0000000..aa09222 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-any-time-scheduler.html @@ -0,0 +1,50 @@ + + + + AnyTimeScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

AnyTimeScheduler

+
+
+ +
+
val AnyTimeScheduler: KronScheduler
+
+

KronScheduler.next will always return com.soywiz.klock.DateTime.now

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-every-day-of-month-scheduler.html b/kdocs/dev.inmo.krontab/-every-day-of-month-scheduler.html new file mode 100644 index 0000000..b2161da --- /dev/null +++ b/kdocs/dev.inmo.krontab/-every-day-of-month-scheduler.html @@ -0,0 +1,50 @@ + + + + EveryDayOfMonthScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

EveryDayOfMonthScheduler

+
+
+ +
+
val EveryDayOfMonthScheduler: KronScheduler
+
+

KronScheduler.next will always return com.soywiz.klock.DateTime.now + one day

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-every-hour-scheduler.html b/kdocs/dev.inmo.krontab/-every-hour-scheduler.html new file mode 100644 index 0000000..8c42315 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-every-hour-scheduler.html @@ -0,0 +1,50 @@ + + + + EveryHourScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

EveryHourScheduler

+
+
+ +
+
val EveryHourScheduler: KronScheduler
+
+

KronScheduler.next will always return com.soywiz.klock.DateTime.now + one hour

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-every-minute-scheduler.html b/kdocs/dev.inmo.krontab/-every-minute-scheduler.html new file mode 100644 index 0000000..72b9220 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-every-minute-scheduler.html @@ -0,0 +1,50 @@ + + + + EveryMinuteScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

EveryMinuteScheduler

+
+
+ +
+
val EveryMinuteScheduler: KronScheduler
+
+

KronScheduler.next will always return com.soywiz.klock.DateTime.now + one minute

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-every-month-scheduler.html b/kdocs/dev.inmo.krontab/-every-month-scheduler.html new file mode 100644 index 0000000..693ff3e --- /dev/null +++ b/kdocs/dev.inmo.krontab/-every-month-scheduler.html @@ -0,0 +1,50 @@ + + + + EveryMonthScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

EveryMonthScheduler

+
+
+ +
+
val EveryMonthScheduler: KronScheduler
+
+

KronScheduler.next will always return com.soywiz.klock.DateTime.now + one month

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-every-second-scheduler.html b/kdocs/dev.inmo.krontab/-every-second-scheduler.html new file mode 100644 index 0000000..930abd8 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-every-second-scheduler.html @@ -0,0 +1,50 @@ + + + + EverySecondScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

EverySecondScheduler

+
+
+ +
+
val EverySecondScheduler: KronScheduler
+
+

KronScheduler.next will always return com.soywiz.klock.DateTime.now + one second

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-every-year-scheduler.html b/kdocs/dev.inmo.krontab/-every-year-scheduler.html new file mode 100644 index 0000000..3aa0475 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-every-year-scheduler.html @@ -0,0 +1,50 @@ + + + + EveryYearScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

EveryYearScheduler

+
+
+ +
+
val EveryYearScheduler: KronScheduler
+
+

KronScheduler.next will always return com.soywiz.klock.DateTime.now + one year

+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-kron-scheduler-tz/index.html b/kdocs/dev.inmo.krontab/-kron-scheduler-tz/index.html new file mode 100644 index 0000000..5481c4c --- /dev/null +++ b/kdocs/dev.inmo.krontab/-kron-scheduler-tz/index.html @@ -0,0 +1,129 @@ + + + + KronSchedulerTz + + +
+
+ + +
+
+
+
+
+
+ +
+

KronSchedulerTz

+
interface KronSchedulerTz : KronScheduler

This interface extending KronScheduler to use DateTimeTz with taking into account offset of incoming time for next operation.

+
+
+
+
+

See also

+
+
dev.inmo.krontab.internal.CronDateTimeScheduler
+
+

Functions

+
+
+
+
next +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
open suspend override fun next(relatively: DateTime): DateTime?
abstract suspend fun next(relatively: DateTimeTz): DateTimeTz?
+
+
+
+
+
+
+
+

Inheritors

+
+
+
+
CollectionKronScheduler +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+
+
+
+
nextOrNowWithOffset +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronSchedulerTz.nextOrNowWithOffset(): DateTimeTz
+
+
+
+
+
+
+ +
+
+
nextOrRelative +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronSchedulerTz.nextOrRelative(relatively: DateTimeTz): DateTimeTz
+
+
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-kron-scheduler-tz/next.html b/kdocs/dev.inmo.krontab/-kron-scheduler-tz/next.html new file mode 100644 index 0000000..26c646d --- /dev/null +++ b/kdocs/dev.inmo.krontab/-kron-scheduler-tz/next.html @@ -0,0 +1,45 @@ + + + + next + + +
+
+ + +
+
+
+
+
+
+ +
+

next

+
+
+ +
+
abstract suspend fun next(relatively: DateTimeTz): DateTimeTz?
+
+
+
+ +
+
open suspend override fun next(relatively: DateTime): DateTime?
+
+

Return

Next DateTime when some action must be triggered according to settings of this instance

See also

dev.inmo.krontab.internal.CronDateTimeScheduler
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-kron-scheduler-work/-kron-scheduler-work.html b/kdocs/dev.inmo.krontab/-kron-scheduler-work/-kron-scheduler-work.html new file mode 100644 index 0000000..b6d64b8 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-kron-scheduler-work/-kron-scheduler-work.html @@ -0,0 +1,50 @@ + + + + KronSchedulerWork + + +
+
+ + +
+
+
+
+
+
+ +
+

KronSchedulerWork

+
+
+ +
+
fun KronSchedulerWork(context: Context, workerParams: WorkerParameters)
+
+
+

Sources

+
+
+
+
android source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-kron-scheduler-work/do-work.html b/kdocs/dev.inmo.krontab/-kron-scheduler-work/do-work.html new file mode 100644 index 0000000..7036e6e --- /dev/null +++ b/kdocs/dev.inmo.krontab/-kron-scheduler-work/do-work.html @@ -0,0 +1,50 @@ + + + + doWork + + +
+
+ + +
+
+
+
+
+
+ +
+

doWork

+
+
+ +
+
open suspend override fun doWork(): ListenableWorker.Result
+
+
+

Sources

+
+
+
+
android source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-kron-scheduler-work/index.html b/kdocs/dev.inmo.krontab/-kron-scheduler-work/index.html new file mode 100644 index 0000000..bdf31f5 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-kron-scheduler-work/index.html @@ -0,0 +1,545 @@ + + + + KronSchedulerWork + + +
+
+ + +
+
+
+
+
+
+ +
+

KronSchedulerWork

+
abstract class KronSchedulerWork(context: Context, workerParams: WorkerParameters) : CoroutineWorker

Use this class as a super class in case you wish to implement krontab-based enqueuing of works

+
+
+
+
+

See also

+ +

Constructors

+
+
+
+
KronSchedulerWork +
Link copied to clipboard
+
+
+
+ +
+
+
fun KronSchedulerWork(context: Context, workerParams: WorkerParameters)
+
+
+
+
+
+

Functions

+
+
+
+
doWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open suspend override fun doWork(): ListenableWorker.Result
+
+
+
+
+
+
+ +
+
+
getApplicationContext +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getApplicationContext(): Context
+
+
+
+
+
+
+ +
+
+
getBackgroundExecutor +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun getBackgroundExecutor(): Executor
+
+
+
+
+
+
+ +
+
+
getId +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getId(): UUID
+
+
+
+
+
+
+ +
+
+
getInputData +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getInputData(): Data
+
+
+
+
+
+
+ +
+
+
getNetwork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getNetwork(): Network?
+
+
+
+
+
+
+ +
+
+
getRunAttemptCount +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getRunAttemptCount(): Int
+
+
+
+
+
+
+ +
+
+
getTags +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getTags(): MutableSet<String>
+
+
+
+
+
+
+ +
+
+
getTaskExecutor +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun getTaskExecutor(): TaskExecutor
+
+
+
+
+
+
+ +
+
+
getTriggeredContentAuthorities +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getTriggeredContentAuthorities(): MutableList<String>
+
+
+
+
+
+
+ +
+
+
getTriggeredContentUris +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getTriggeredContentUris(): MutableList<Uri>
+
+
+
+
+
+
+ +
+
+
getWorkerFactory +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun getWorkerFactory(): WorkerFactory
+
+
+
+
+
+
+ +
+
+
isRunInForeground +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun isRunInForeground(): Boolean
+
+
+
+
+
+
+ +
+
+
isStopped +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun isStopped(): Boolean
+
+
+
+
+
+
+ +
+
+
isUsed +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun isUsed(): Boolean
+
+
+
+
+
+
+ +
+
+
onStopped +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
override fun onStopped()
+
+
+
+
+
+
+ +
+
+
setForeground +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
suspend fun setForeground(foregroundInfo: ForegroundInfo)
+
+
+
+
+
+
+ +
+
+
setForegroundAsync +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun setForegroundAsync(@NonNull() foregroundInfo: ForegroundInfo): ListenableFuture<Void>
+
+
+
+
+
+
+ +
+
+
setProgress +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
suspend fun setProgress(data: Data)
+
+
+
+
+
+
+ +
+
+
setProgressAsync +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun setProgressAsync(@NonNull() data: Data): ListenableFuture<Void>
+
+
+
+
+
+
+ +
+
+
setUsed +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun setUsed()
+
+
+
+
+
+
+ +
+
+
startWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
override fun startWork(): ListenableFuture<ListenableWorker.Result>
+
+
+
+
+
+
+ +
+
+
stop +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun stop()
+
+
+
+
+
+
+
+

Inheritors

+
+
+
+
KrontabTemplateSchedulerWork +
Link copied to clipboard
+
+
+
+
+
+

Sources

+
+
+
+
android source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-kron-scheduler/index.html b/kdocs/dev.inmo.krontab/-kron-scheduler/index.html new file mode 100644 index 0000000..07c4de4 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-kron-scheduler/index.html @@ -0,0 +1,298 @@ + + + + KronScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

KronScheduler

+
interface KronScheduler

This interface was created for abstraction of next operation. Currently, there is only dev.inmo.krontab.internal.CronDateTimeScheduler realisation of this interface inside of this library, but you it is possible to create your own realisation of this interface for scheduling, for example, depending of users activity or something like this

+
+
+
+
+

See also

+
+
dev.inmo.krontab.internal.CronDateTimeScheduler
+
+

Functions

+
+
+
+
next +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
abstract suspend fun next(relatively: DateTime = DateTime.now()): DateTime?
+
+
+
+
+
+
+
+

Inheritors

+
+
+
+
KronSchedulerTz +
Link copied to clipboard
+
+
+
+
+ +
+
+
KrontabTemplateWrapper +
Link copied to clipboard
+
+
+
+
+
+

Extensions

+
+
+
+
asFlow +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
@FlowPreview()
fun KronScheduler.asFlow(): Flow<DateTime>
+
+
This method is a map for asTzFlow and will works the same but return flow with DateTimes
+
+
+
+
+ +
+
+
asTzFlow +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
@FlowPreview()
fun KronScheduler.asTzFlow(): Flow<DateTimeTz>
+
+
This Flow will trigger emitting each near time which will be returned from this with attention to time zones
+
+
+
+
+ +
+
+
doInfinity +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline suspend fun KronScheduler.doInfinity(noinline block: suspend () -> Unit)
+
+
Will execute block without any checking of result
+
+
+
+
+ +
+
+
doOnce +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline suspend fun <T> KronScheduler.doOnce(noinline block: suspend () -> T): T
+
+
Execute block once at the KronScheduler.next time and return result of block calculation.
+
+
+
+
+ +
+
+
doWhile +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline suspend fun KronScheduler.doWhile(noinline block: suspend () -> Boolean)
+
+
Will execute block while it will return true as a result of its calculation
+
+
+
+
+ +
+
+
next +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.next(relatively: DateTimeTz): DateTimeTz?
+
+
+
+
+
+
+ +
+
+
nextOrNow +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.nextOrNow(): DateTime
+
+
+
+
+
+
+ +
+
+
nextOrRelative +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.nextOrRelative(relatively: DateTime = DateTime.now()): DateTime
+
+
+
+
+
+
+ +
+
+
nextTimeZoned +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.nextTimeZoned(): DateTimeTz?
+
+
+
+
+
+
+ +
+
+
plus +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
operator fun KronScheduler.plus(kronScheduler: KronScheduler): CollectionKronScheduler
+
+
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-kron-scheduler/next.html b/kdocs/dev.inmo.krontab/-kron-scheduler/next.html new file mode 100644 index 0000000..55b65ce --- /dev/null +++ b/kdocs/dev.inmo.krontab/-kron-scheduler/next.html @@ -0,0 +1,50 @@ + + + + next + + +
+
+ + +
+
+
+
+
+
+ +
+

next

+
+
+ +
+
abstract suspend fun next(relatively: DateTime = DateTime.now()): DateTime?
+
+

Return

Next DateTime when some action must be triggered according to settings of this instance

See also

dev.inmo.krontab.internal.CronDateTimeScheduler
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/-krontab-template-scheduler-work.html b/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/-krontab-template-scheduler-work.html new file mode 100644 index 0000000..bb4262a --- /dev/null +++ b/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/-krontab-template-scheduler-work.html @@ -0,0 +1,50 @@ + + + + KrontabTemplateSchedulerWork + + +
+
+ + +
+
+
+
+
+
+ +
+

KrontabTemplateSchedulerWork

+
+
+ +
+
fun KrontabTemplateSchedulerWork(context: Context, workerParams: WorkerParameters)
+
+
+

Sources

+
+
+
+
android source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/index.html b/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/index.html new file mode 100644 index 0000000..392d404 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/index.html @@ -0,0 +1,530 @@ + + + + KrontabTemplateSchedulerWork + + +
+
+ + +
+
+
+
+
+
+ +
+

KrontabTemplateSchedulerWork

+
abstract class KrontabTemplateSchedulerWork(context: Context, workerParams: WorkerParameters) : KronSchedulerWork

Extend this class in case you wish to base on KrontabTemplate. It will automatically handle request of kronScheduler and put it in setUpRequest

+
+
+
+
+

Constructors

+
+
+
+
KrontabTemplateSchedulerWork +
Link copied to clipboard
+
+
+
+ +
+
+
fun KrontabTemplateSchedulerWork(context: Context, workerParams: WorkerParameters)
+
+
+
+
+
+

Functions

+
+
+
+
doWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open suspend override fun doWork(): ListenableWorker.Result
+
+
+
+
+
+
+ +
+
+
getApplicationContext +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getApplicationContext(): Context
+
+
+
+
+
+
+ +
+
+
getBackgroundExecutor +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun getBackgroundExecutor(): Executor
+
+
+
+
+
+
+ +
+
+
getId +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getId(): UUID
+
+
+
+
+
+
+ +
+
+
getInputData +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getInputData(): Data
+
+
+
+
+
+
+ +
+
+
getNetwork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getNetwork(): Network?
+
+
+
+
+
+
+ +
+
+
getRunAttemptCount +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getRunAttemptCount(): Int
+
+
+
+
+
+
+ +
+
+
getTags +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getTags(): MutableSet<String>
+
+
+
+
+
+
+ +
+
+
getTaskExecutor +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun getTaskExecutor(): TaskExecutor
+
+
+
+
+
+
+ +
+
+
getTriggeredContentAuthorities +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getTriggeredContentAuthorities(): MutableList<String>
+
+
+
+
+
+
+ +
+
+
getTriggeredContentUris +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun getTriggeredContentUris(): MutableList<Uri>
+
+
+
+
+
+
+ +
+
+
getWorkerFactory +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun getWorkerFactory(): WorkerFactory
+
+
+
+
+
+
+ +
+
+
isRunInForeground +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
open fun isRunInForeground(): Boolean
+
+
+
+
+
+
+ +
+
+
isStopped +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun isStopped(): Boolean
+
+
+
+
+
+
+ +
+
+
isUsed +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun isUsed(): Boolean
+
+
+
+
+
+
+ +
+
+
onStopped +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
override fun onStopped()
+
+
+
+
+
+
+ +
+
+
setForeground +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
suspend fun setForeground(foregroundInfo: ForegroundInfo)
+
+
+
+
+
+
+ +
+
+
setForegroundAsync +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun setForegroundAsync(@NonNull() foregroundInfo: ForegroundInfo): ListenableFuture<Void>
+
+
+
+
+
+
+ +
+
+
setProgress +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
suspend fun setProgress(data: Data)
+
+
+
+
+
+
+ +
+
+
setProgressAsync +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun setProgressAsync(@NonNull() data: Data): ListenableFuture<Void>
+
+
+
+
+
+
+ +
+
+
setUsed +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun setUsed()
+
+
+
+
+
+
+ +
+
+
startWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
override fun startWork(): ListenableFuture<ListenableWorker.Result>
+
+
+
+
+
+
+ +
+
+
stop +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
fun stop()
+
+
+
+
+
+
+
+

Sources

+
+
+
+
android source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-krontab-template-wrapper/-krontab-template-wrapper.html b/kdocs/dev.inmo.krontab/-krontab-template-wrapper/-krontab-template-wrapper.html new file mode 100644 index 0000000..9a898d6 --- /dev/null +++ b/kdocs/dev.inmo.krontab/-krontab-template-wrapper/-krontab-template-wrapper.html @@ -0,0 +1,50 @@ + + + + KrontabTemplateWrapper + + +
+
+ + +
+
+
+
+
+
+ +
+

KrontabTemplateWrapper

+
+
+ +
+
fun KrontabTemplateWrapper(template: KrontabTemplate)
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-krontab-template-wrapper/index.html b/kdocs/dev.inmo.krontab/-krontab-template-wrapper/index.html new file mode 100644 index 0000000..f7c061b --- /dev/null +++ b/kdocs/dev.inmo.krontab/-krontab-template-wrapper/index.html @@ -0,0 +1,108 @@ + + + + KrontabTemplateWrapper + + +
+
+ + +
+
+
+
+
+
+ +
+

KrontabTemplateWrapper

+
data class KrontabTemplateWrapper(template: KrontabTemplate) : KronScheduler

This class contains template and can be simply serialized/deserialized. In fact that class will work as dev.inmo.krontab.internal.CronDateTimeScheduler due to the fact that toKronScheduler will return it under the hood

+
+
+
+
+

Constructors

+
+
+
+
KrontabTemplateWrapper +
Link copied to clipboard
+
+
+
+
common
+
+
+
fun KrontabTemplateWrapper(template: KrontabTemplate)
+
+
+
+
+
+

Functions

+
+
+
+
next +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
open suspend override fun next(relatively: DateTime): DateTime?
+
+
+
+
+
+
+
+

Properties

+
+
+
+
template +
Link copied to clipboard
+
+
+
+
common
+
+
+
val template: KrontabTemplate
+
+
+
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/-krontab-template-wrapper/template.html b/kdocs/dev.inmo.krontab/-krontab-template-wrapper/template.html new file mode 100644 index 0000000..fe817da --- /dev/null +++ b/kdocs/dev.inmo.krontab/-krontab-template-wrapper/template.html @@ -0,0 +1,50 @@ + + + + template + + +
+
+ + +
+
+
+
+
+
+ +
+

template

+
+
+ +
+
val template: KrontabTemplate
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/build-schedule.html b/kdocs/dev.inmo.krontab/build-schedule.html new file mode 100644 index 0000000..5c113e0 --- /dev/null +++ b/kdocs/dev.inmo.krontab/build-schedule.html @@ -0,0 +1,39 @@ + + + + buildSchedule + + +
+
+ + +
+
+
+
+
+
+ +
+

buildSchedule

+
+
+ +
+
fun buildSchedule(incoming: KrontabTemplate): KronScheduler
fun buildSchedule(incoming: KrontabTemplate, defaultOffset: Minutes): KronSchedulerTz
+
+

Shortcut for createSimpleScheduler

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/create-simple-scheduler.html b/kdocs/dev.inmo.krontab/create-simple-scheduler.html new file mode 100644 index 0000000..8ee0345 --- /dev/null +++ b/kdocs/dev.inmo.krontab/create-simple-scheduler.html @@ -0,0 +1,45 @@ + + + + createSimpleScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

createSimpleScheduler

+
+
+ +
+
fun createSimpleScheduler(incoming: KrontabTemplate): KronScheduler
+
+

Parse incoming string and adapt according to next format: "* * * * *" where order of things:

  • seconds

  • minutes

  • hours

  • dayOfMonth

  • month

  • (optional) year

  • (optional) (can be placed anywhere after month) (must be marked with o at the end, for example: 60o == +01:00) offset

  • (optional) (can be placed anywhere after month) dayOfWeek

And each one (except of offsets) have next format:

{number}[,{number},...] or *

and {number} here is one of

  • {int}-{int}

  • {int}/{int}

  • *&#47;{int}

  • {int}

  • F

  • L

Week days must be marked with w at the end, and starts with 0 which means Sunday. For example, 0w == Sunday. With weeks you can use syntax like with any number like seconds, for example: 0-2w means Sunday-Tuesday

Additional info about ranges can be found in follow accordance:

  • Seconds ranges can be found in secondsRange

  • Minutes ranges can be found in minutesRange

  • Hours ranges can be found in hoursRange

  • Days of month ranges can be found in dayOfMonthRange

  • Months ranges can be found in monthRange

  • Years ranges can be found in yearRange (in fact - any Int)

  • WeekDay (timezone) ranges can be found in dayOfWeekRange

Examples:

  • "0/5 * * * *" for every five seconds triggering

  • "0/5,L * * * *" for every five seconds triggering and on 59 second

  • "0/15 30 * * *" for every 15th seconds in a half of each hour

  • "1 2 3 F,4,L 5" for triggering in near first second of second minute of third hour of fourth day of may

  • "1 2 3 F,4,L 5 60o" for triggering in near first second of second minute of third hour of fourth day of may with timezone UTC+01:00

  • "1 2 3 F,4,L 5 60o 0-2w" for triggering in near first second of second minute of third hour of fourth day of may in case if it will be in Sunday-Tuesday week days with timezone UTC+01:00

  • "1 2 3 F,4,L 5 2021" for triggering in near first second of second minute of third hour of fourth day of may of 2021st year

  • "1 2 3 F,4,L 5 2021 60o" for triggering in near first second of second minute of third hour of fourth day of may of 2021st year with timezone UTC+01:00

  • "1 2 3 F,4,L 5 2021 60o 0-2w" for triggering in near first second of second minute of third hour of fourth day of may of 2021st year if it will be in Sunday-Tuesday week days with timezone UTC+01:00

Return

In case when offset parameter is absent in incoming will be used createSimpleScheduler method and returned CronDateTimeScheduler. In case when offset parameter there is in incoming will be used createKronSchedulerWithOffset and returned CronDateTimeSchedulerTz

See also

dev.inmo.krontab.internal.createKronScheduler
+
+ +
+
fun createSimpleScheduler(incoming: KrontabTemplate, defaultOffset: Minutes): KronSchedulerTz
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/do-infinity.html b/kdocs/dev.inmo.krontab/do-infinity.html new file mode 100644 index 0000000..284f30f --- /dev/null +++ b/kdocs/dev.inmo.krontab/do-infinity.html @@ -0,0 +1,45 @@ + + + + doInfinity + + +
+
+ + +
+
+
+
+
+
+ +
+

doInfinity

+
+
+ +
+
inline suspend fun KronScheduler.doInfinity(noinline block: suspend () -> Unit)
+
+

Will execute block without any checking of result

+
+ +
+
inline suspend fun doInfinity(scheduleConfig: String, noinline block: suspend () -> Unit)
+
+

Will buildSchedule using scheduleConfig and call doInfinity with block

See also

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/do-once.html b/kdocs/dev.inmo.krontab/do-once.html new file mode 100644 index 0000000..ee1cc0a --- /dev/null +++ b/kdocs/dev.inmo.krontab/do-once.html @@ -0,0 +1,45 @@ + + + + doOnce + + +
+
+ + +
+
+
+
+
+
+ +
+

doOnce

+
+
+ +
+
inline suspend fun <T> KronScheduler.doOnce(noinline block: suspend () -> T): T
+
+

Execute block once at the KronScheduler.next time and return result of block calculation.

WARNING!!! If you want to launch it in parallel, you must do this explicitly.

WARNING!!! In case if KronScheduler.next of this instance will return null, block will be called immediately

+
+ +
+
inline suspend fun <T> doOnce(scheduleConfig: String, noinline block: suspend () -> T): T
+
+

Will buildSchedule using scheduleConfig and call doOnce on it

See also

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/do-while.html b/kdocs/dev.inmo.krontab/do-while.html new file mode 100644 index 0000000..1e70acd --- /dev/null +++ b/kdocs/dev.inmo.krontab/do-while.html @@ -0,0 +1,45 @@ + + + + doWhile + + +
+
+ + +
+
+
+
+
+
+ +
+

doWhile

+
+
+ +
+
inline suspend fun KronScheduler.doWhile(noinline block: suspend () -> Boolean)
+
+

Will execute block while it will return true as a result of its calculation

+
+ +
+
inline suspend fun doWhile(scheduleConfig: String, noinline block: suspend () -> Boolean)
+
+

Will buildSchedule using scheduleConfig and call doWhile with block

See also

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html b/kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html new file mode 100644 index 0000000..20fb485 --- /dev/null +++ b/kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html @@ -0,0 +1,57 @@ + + + + enqueueKronSchedulerWork + + +
+
+ + +
+
+
+
+
+
+ +
+

enqueueKronSchedulerWork

+
+
+ +
+
suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, delayMillis: Long, workClass: Class<T>, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation
+
+

This method will enqueue OneTimeWorkRequest with workName and existingWorkPolicy. Use setUpRequest callback in case you need some additional actions to do before request will be enqueued

+
+ +
+
inline suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, delayMillis: Long, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, noinline setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation
+
+

This method is shortcut for enqueueKronSchedulerWork with reified T parameter

+
+ +
+
suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, initialScheduler: KronScheduler, workClass: Class<T>, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation?
+
+

This method is shortcut for enqueueKronSchedulerWork with initialScheduler. It will try to calculate delay by itself. In case if KronScheduler.next of initialScheduler will return null, work WILL NOT be enqueued

Return

null in case if KronScheduler.next of initialScheduler has returned null and work has not been enqueued

+
+ +
+
inline suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, initialScheduler: KronScheduler, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, noinline setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation?
+
+

This method is shortcut for enqueueKronSchedulerWork with reified T

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/enqueue-krontab-template-scheduler-work.html b/kdocs/dev.inmo.krontab/enqueue-krontab-template-scheduler-work.html new file mode 100644 index 0000000..546c2ce --- /dev/null +++ b/kdocs/dev.inmo.krontab/enqueue-krontab-template-scheduler-work.html @@ -0,0 +1,50 @@ + + + + enqueueKrontabTemplateSchedulerWork + + +
+
+ + +
+
+
+
+
+
+ +
+

enqueueKrontabTemplateSchedulerWork

+
+
+ +
+
inline suspend fun <T : KrontabTemplateSchedulerWork> Context.enqueueKrontabTemplateSchedulerWork(workName: String, krontabTemplate: KrontabTemplate, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, noinline setUpRequest: suspend OneTimeWorkRequest.Builder.(data: Data) -> Unit = {}): Operation?
+
+

Will enqueueKronSchedulerWork with KronScheduler from krontabTemplate and call setUpRequest on setting up OneTimeWorkRequest.Builder with Data which will be used to OneTimeWorkRequest.Builder.setInputData after setUpRequest completed

+

Sources

+
+
+
+
android source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/index.html b/kdocs/dev.inmo.krontab/index.html new file mode 100644 index 0000000..43676b1 --- /dev/null +++ b/kdocs/dev.inmo.krontab/index.html @@ -0,0 +1,684 @@ + + + + dev.inmo.krontab + + +
+
+ + +
+
+
+
+
+
+ +
+

Package dev.inmo.krontab

+
+
+
+
+

Types

+
+
+
+
KronScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
interface KronScheduler
+
+
This interface was created for abstraction of next operation.
+
+
+
+
+ +
+
+
KronSchedulerTz +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
interface KronSchedulerTz : KronScheduler
+
+
This interface extending KronScheduler to use DateTimeTz with taking into account offset of incoming time for next operation.
+
+
+
+
+ +
+
+
KronSchedulerWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
abstract class KronSchedulerWork(context: Context, workerParams: WorkerParameters) : CoroutineWorker
+
+
Use this class as a super class in case you wish to implement krontab-based enqueuing of works
+
+
+
+
+ +
+
+
KrontabTemplate +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
typealias KrontabTemplate = String
+
+
+
+
+
+
+ +
+
+
KrontabTemplateSchedulerWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
abstract class KrontabTemplateSchedulerWork(context: Context, workerParams: WorkerParameters) : KronSchedulerWork
+
+
Extend this class in case you wish to base on KrontabTemplate.
+
+
+
+
+ +
+
+
KrontabTemplateWrapper +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
data class KrontabTemplateWrapper(template: KrontabTemplate) : KronScheduler
+
+
This class contains template and can be simply serialized/deserialized.
+
+
+
+
+
+

Functions

+
+
+
+
buildSchedule +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun buildSchedule(incoming: KrontabTemplate): KronScheduler
+
+
+
+ +
+
fun buildSchedule(incoming: KrontabTemplate, defaultOffset: Minutes): KronSchedulerTz
+
+
+
+
+
+
+ +
+
+
createSimpleScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun createSimpleScheduler(incoming: KrontabTemplate): KronScheduler
+
+
Parse incoming string and adapt according to next format: "* * * * *" where order of things:
  • seconds

  • minutes

  • hours

  • dayOfMonth

  • month

  • (optional) year

  • (optional) (can be placed anywhere after month) (must be marked with o at the end, for example: 60o == +01:00) offset

  • (optional) (can be placed anywhere after month) dayOfWeek

And each one (except of offsets) have next format:{number}[,{number},...] or *and {number} here is one of
  • {int}-{int}

  • {int}/{int}

  • *&#47;{int}

  • {int}

  • F

  • L

Week days must be marked with w at the end, and starts with 0 which means Sunday.
+
+ +
+
fun createSimpleScheduler(incoming: KrontabTemplate, defaultOffset: Minutes): KronSchedulerTz
+
+
+
+
+
+
+ +
+
+
doInfinity +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline suspend fun KronScheduler.doInfinity(noinline block: suspend () -> Unit)
+
+
Will execute block without any checking of result
+
+ +
+
inline suspend fun doInfinity(scheduleConfig: String, noinline block: suspend () -> Unit)
+
+
Will buildSchedule using scheduleConfig and call doInfinity with block
+
+
+
+
+ +
+
+
doOnce +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline suspend fun <T> KronScheduler.doOnce(noinline block: suspend () -> T): T
+
+
Execute block once at the KronScheduler.next time and return result of block calculation.
+
+ +
+
inline suspend fun <T> doOnce(scheduleConfig: String, noinline block: suspend () -> T): T
+
+
Will buildSchedule using scheduleConfig and call doOnce on it
+
+
+
+
+ +
+
+
doWhile +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline suspend fun KronScheduler.doWhile(noinline block: suspend () -> Boolean)
+
+
Will execute block while it will return true as a result of its calculation
+
+ +
+
inline suspend fun doWhile(scheduleConfig: String, noinline block: suspend () -> Boolean)
+
+
Will buildSchedule using scheduleConfig and call doWhile with block
+
+
+
+
+ +
+
+
enqueueKronSchedulerWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
inline suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, initialScheduler: KronScheduler, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, noinline setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation?
+
+
This method is shortcut for enqueueKronSchedulerWork with reified T
+
+ +
+
inline suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, delayMillis: Long, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, noinline setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation
+
+
This method is shortcut for enqueueKronSchedulerWork with reified T parameter
+
+ +
+
suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, initialScheduler: KronScheduler, workClass: Class<T>, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation?
+
+
This method is shortcut for enqueueKronSchedulerWork with initialScheduler.
+
+ +
+
suspend fun <T : KronSchedulerWork> Context.enqueueKronSchedulerWork(workName: String, delayMillis: Long, workClass: Class<T>, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, setUpRequest: suspend OneTimeWorkRequest.Builder.() -> Unit = {}): Operation
+
+
This method will enqueue OneTimeWorkRequest with workName and existingWorkPolicy.
+
+
+
+
+ +
+
+
enqueueKrontabTemplateSchedulerWork +
Link copied to clipboard
+
+
+
+ +
+
+ +
+
inline suspend fun <T : KrontabTemplateSchedulerWork> Context.enqueueKrontabTemplateSchedulerWork(workName: String, krontabTemplate: KrontabTemplate, existingWorkPolicy: ExistingWorkPolicy = ExistingWorkPolicy.REPLACE, noinline setUpRequest: suspend OneTimeWorkRequest.Builder.(data: Data) -> Unit = {}): Operation?
+
+
+
+
+
+
+ +
+
+
merge +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
inline fun Iterable<KronScheduler>.merge(): CollectionKronScheduler
+
+
Create new one CollectionKronScheduler to include all KronSchedulers of this
+
+ +
+
fun Iterator<KronScheduler>.merge(): CollectionKronScheduler
+
+
Create new one CollectionKronScheduler to include all KronSchedulers of this
+
+ +
+
inline fun merge(vararg kronDateTimeSchedulers: KronScheduler): CollectionKronScheduler
+
+
+
+
+
+
+ +
+
+
next +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.next(relatively: DateTimeTz): DateTimeTz?
+
+
+
+
+
+
+ +
+
+
nextOrNow +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.nextOrNow(): DateTime
+
+
+
+
+
+
+ +
+
+
nextOrNowWithOffset +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronSchedulerTz.nextOrNowWithOffset(): DateTimeTz
+
+
+
+
+
+
+ +
+
+
nextOrRelative +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.nextOrRelative(relatively: DateTime = DateTime.now()): DateTime
suspend fun KronSchedulerTz.nextOrRelative(relatively: DateTimeTz): DateTimeTz
+
+
+
+
+
+
+ +
+
+
nextTimeZoned +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
suspend fun KronScheduler.nextTimeZoned(): DateTimeTz?
+
+
+
+
+
+
+ +
+
+
toKronScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun KrontabTemplate.toKronScheduler(): KronScheduler
+
+
Shortcut for buildSchedule
+
+ +
+
fun KrontabTemplate.toKronScheduler(defaultOffset: Minutes): KronSchedulerTz
+
+
Shortcut for buildSchedule
+
+
+
+
+ +
+
+
toSchedule +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+
fun KrontabTemplate.toSchedule(): KronScheduler
+
+
Shortcut for buildSchedule
+
+ +
+
fun KrontabTemplate.toSchedule(defaultOffset: Minutes): KronSchedulerTz
+
+
Shortcut for buildSchedule
+
+
+
+
+ +
+
+
wrapAsKronScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+ +
+ +
+
Will create KrontabTemplateWrapper from this
+
+
+
+
+
+

Properties

+
+
+
+
AnyTimeScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+
val AnyTimeScheduler: KronScheduler
KronScheduler.next will always return com.soywiz.klock.DateTime.now
+
+
+
+
+ +
+
+
EveryDayOfMonthScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+
val EveryDayOfMonthScheduler: KronScheduler
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one day
+
+
+
+
+ +
+
+
EveryHourScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+
val EveryHourScheduler: KronScheduler
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one hour
+
+
+
+
+ +
+
+
EveryMinuteScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+
val EveryMinuteScheduler: KronScheduler
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one minute
+
+
+
+
+ +
+
+
EveryMonthScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+
val EveryMonthScheduler: KronScheduler
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one month
+
+
+
+
+ +
+
+
EverySecondScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+
val EverySecondScheduler: KronScheduler
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one second
+
+
+
+
+ +
+
+
EveryYearScheduler +
Link copied to clipboard
+
+
+
+
common
+
+
+
val EveryYearScheduler: KronScheduler
KronScheduler.next will always return com.soywiz.klock.DateTime.now + one year
+
+
+
+
+ +
+
+
krontabTemplateWorkField +
Link copied to clipboard
+
+
+
+ +
+
+
const val krontabTemplateWorkField: String
+
+
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/krontab-template-work-field.html b/kdocs/dev.inmo.krontab/krontab-template-work-field.html new file mode 100644 index 0000000..891752b --- /dev/null +++ b/kdocs/dev.inmo.krontab/krontab-template-work-field.html @@ -0,0 +1,50 @@ + + + + krontabTemplateWorkField + + +
+
+ + +
+
+
+
+
+
+ +
+

krontabTemplateWorkField

+
+
+ +
+
const val krontabTemplateWorkField: String
+
+
+

Sources

+
+
+
+
android source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/merge.html b/kdocs/dev.inmo.krontab/merge.html new file mode 100644 index 0000000..924bca9 --- /dev/null +++ b/kdocs/dev.inmo.krontab/merge.html @@ -0,0 +1,45 @@ + + + + merge + + +
+
+ + +
+
+
+
+
+
+ +
+

merge

+
+
+ +
+
fun Iterator<KronScheduler>.merge(): CollectionKronScheduler
inline fun Iterable<KronScheduler>.merge(): CollectionKronScheduler
+
+

Create new one CollectionKronScheduler to include all KronSchedulers of this

See also

+
+ +
+
inline fun merge(vararg kronDateTimeSchedulers: KronScheduler): CollectionKronScheduler
+
+

Return

Vararg shortcut for merge

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/next-or-now-with-offset.html b/kdocs/dev.inmo.krontab/next-or-now-with-offset.html new file mode 100644 index 0000000..df8c4e3 --- /dev/null +++ b/kdocs/dev.inmo.krontab/next-or-now-with-offset.html @@ -0,0 +1,50 @@ + + + + nextOrNowWithOffset + + +
+
+ + +
+
+
+
+
+
+ +
+

nextOrNowWithOffset

+
+
+ +
+
suspend fun KronSchedulerTz.nextOrNowWithOffset(): DateTimeTz
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/next-or-now.html b/kdocs/dev.inmo.krontab/next-or-now.html new file mode 100644 index 0000000..9368012 --- /dev/null +++ b/kdocs/dev.inmo.krontab/next-or-now.html @@ -0,0 +1,50 @@ + + + + nextOrNow + + +
+
+ + +
+
+
+
+
+
+ +
+

nextOrNow

+
+
+ +
+
suspend fun KronScheduler.nextOrNow(): DateTime
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/next-or-relative.html b/kdocs/dev.inmo.krontab/next-or-relative.html new file mode 100644 index 0000000..1ebc3c4 --- /dev/null +++ b/kdocs/dev.inmo.krontab/next-or-relative.html @@ -0,0 +1,39 @@ + + + + nextOrRelative + + +
+
+ + +
+
+
+
+
+
+ +
+

nextOrRelative

+
+
+ +
+
suspend fun KronScheduler.nextOrRelative(relatively: DateTime = DateTime.now()): DateTime
suspend fun KronSchedulerTz.nextOrRelative(relatively: DateTimeTz): DateTimeTz
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/next-time-zoned.html b/kdocs/dev.inmo.krontab/next-time-zoned.html new file mode 100644 index 0000000..7653aee --- /dev/null +++ b/kdocs/dev.inmo.krontab/next-time-zoned.html @@ -0,0 +1,50 @@ + + + + nextTimeZoned + + +
+
+ + +
+
+
+
+
+
+ +
+

nextTimeZoned

+
+
+ +
+
suspend fun KronScheduler.nextTimeZoned(): DateTimeTz?
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/next.html b/kdocs/dev.inmo.krontab/next.html new file mode 100644 index 0000000..5189912 --- /dev/null +++ b/kdocs/dev.inmo.krontab/next.html @@ -0,0 +1,50 @@ + + + + next + + +
+
+ + +
+
+
+
+
+
+ +
+

next

+
+
+ +
+
suspend fun KronScheduler.next(relatively: DateTimeTz): DateTimeTz?
+
+
+

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/to-kron-scheduler.html b/kdocs/dev.inmo.krontab/to-kron-scheduler.html new file mode 100644 index 0000000..6e6d592 --- /dev/null +++ b/kdocs/dev.inmo.krontab/to-kron-scheduler.html @@ -0,0 +1,39 @@ + + + + toKronScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

toKronScheduler

+
+
+ +
+
fun KrontabTemplate.toKronScheduler(): KronScheduler
fun KrontabTemplate.toKronScheduler(defaultOffset: Minutes): KronSchedulerTz
+
+

Shortcut for buildSchedule

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/to-schedule.html b/kdocs/dev.inmo.krontab/to-schedule.html new file mode 100644 index 0000000..bd0a473 --- /dev/null +++ b/kdocs/dev.inmo.krontab/to-schedule.html @@ -0,0 +1,39 @@ + + + + toSchedule + + +
+
+ + +
+
+
+
+
+
+ +
+

toSchedule

+
+
+ +
+
fun KrontabTemplate.toSchedule(): KronScheduler
fun KrontabTemplate.toSchedule(defaultOffset: Minutes): KronSchedulerTz
+
+

Shortcut for buildSchedule

+
+ +
+
+ + + diff --git a/kdocs/dev.inmo.krontab/wrap-as-kron-scheduler.html b/kdocs/dev.inmo.krontab/wrap-as-kron-scheduler.html new file mode 100644 index 0000000..36c6b72 --- /dev/null +++ b/kdocs/dev.inmo.krontab/wrap-as-kron-scheduler.html @@ -0,0 +1,50 @@ + + + + wrapAsKronScheduler + + +
+
+ + +
+
+
+
+
+
+ +
+

wrapAsKronScheduler

+
+ +

Sources

+
+
+
+
common source +
Link copied to clipboard
+
+
+
+
+
+
+ +
+
+ + + diff --git a/kdocs/package-list b/kdocs/package-list new file mode 100644 index 0000000..1975737 --- /dev/null +++ b/kdocs/package-list @@ -0,0 +1,118 @@ +$dokka.format:html-v1 +$dokka.linkExtension:html +$dokka.location:dev.inmo.krontab.builder////PointingToDeclaration/kdocs/dev.inmo.krontab.builder/index.html +$dokka.location:dev.inmo.krontab.builder//buildSchedule/#kotlin.Function1[dev.inmo.krontab.builder.SchedulerBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/build-schedule.html +$dokka.location:dev.inmo.krontab.builder//buildSchedule/#kotlin.Int#kotlin.Function1[dev.inmo.krontab.builder.SchedulerBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/build-schedule.html +$dokka.location:dev.inmo.krontab.builder/DaysOfMonthBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/index.html +$dokka.location:dev.inmo.krontab.builder/DaysOfMonthBuilder/DaysOfMonthBuilder/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-days-of-month-builder/-days-of-month-builder.html +$dokka.location:dev.inmo.krontab.builder/HoursBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-hours-builder/index.html +$dokka.location:dev.inmo.krontab.builder/HoursBuilder/HoursBuilder/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-hours-builder/-hours-builder.html +$dokka.location:dev.inmo.krontab.builder/MinutesBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-minutes-builder/index.html +$dokka.location:dev.inmo.krontab.builder/MinutesBuilder/MinutesBuilder/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-minutes-builder/-minutes-builder.html +$dokka.location:dev.inmo.krontab.builder/MonthsBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-months-builder/index.html +$dokka.location:dev.inmo.krontab.builder/MonthsBuilder/MonthsBuilder/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-months-builder/-months-builder.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/index.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/SchedulerBuilder/#kotlin.Array[kotlin.Byte]?#kotlin.Array[kotlin.Byte]?#kotlin.Array[kotlin.Byte]?#kotlin.Array[kotlin.Byte]?#kotlin.Array[kotlin.Byte]?#kotlin.Array[kotlin.Int]?#kotlin.Array[kotlin.Byte]?#kotlin.Int?/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/-scheduler-builder.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/build/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/build.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/dayOfMonth/#kotlin.Function1[dev.inmo.krontab.builder.DaysOfMonthBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-month.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/dayOfWeek/#kotlin.Function1[dev.inmo.krontab.builder.WeekDaysBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/day-of-week.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/hours/#kotlin.Function1[dev.inmo.krontab.builder.HoursBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/hours.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/minutes/#kotlin.Function1[dev.inmo.krontab.builder.MinutesBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/minutes.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/months/#kotlin.Function1[dev.inmo.krontab.builder.MonthsBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/months.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/seconds/#kotlin.Function1[dev.inmo.krontab.builder.SecondsBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/seconds.html +$dokka.location:dev.inmo.krontab.builder/SchedulerBuilder/years/#kotlin.Function1[dev.inmo.krontab.builder.YearsBuilder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-scheduler-builder/years.html +$dokka.location:dev.inmo.krontab.builder/SecondsBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-seconds-builder/index.html +$dokka.location:dev.inmo.krontab.builder/SecondsBuilder/SecondsBuilder/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-seconds-builder/-seconds-builder.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/index.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/allowAll/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/allow-all.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/at/#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/at.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/each/#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/each.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/every/#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/every.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/every/kotlin.Int#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/every.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/first/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/first.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/from/#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/from.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/include/#kotlin.Array[kotlin.Int]/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/include.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/includeFirst/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/include-first.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/includeLast/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/include-last.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/last/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/last.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/rangeTo/#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/range-to.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/rangeTo/kotlin.Int#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/range-to.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/upTo/#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/up-to.html +$dokka.location:dev.inmo.krontab.builder/TimeBuilder/upTo/kotlin.Int#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-time-builder/up-to.html +$dokka.location:dev.inmo.krontab.builder/WeekDaysBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-week-days-builder/index.html +$dokka.location:dev.inmo.krontab.builder/WeekDaysBuilder/WeekDaysBuilder/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-week-days-builder/-week-days-builder.html +$dokka.location:dev.inmo.krontab.builder/YearsBuilder///PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-years-builder/index.html +$dokka.location:dev.inmo.krontab.builder/YearsBuilder/YearsBuilder/#/PointingToDeclaration/kdocs/dev.inmo.krontab.builder/-years-builder/-years-builder.html +$dokka.location:dev.inmo.krontab.collection////PointingToDeclaration/kdocs/dev.inmo.krontab.collection/index.html +$dokka.location:dev.inmo.krontab.collection//includeAll/dev.inmo.krontab.collection.CollectionKronScheduler#kotlin.Array[dev.inmo.krontab.KronScheduler]/PointingToDeclaration/kdocs/dev.inmo.krontab.collection/include-all.html +$dokka.location:dev.inmo.krontab.collection//includeAll/dev.inmo.krontab.collection.CollectionKronScheduler#kotlin.collections.List[dev.inmo.krontab.KronScheduler]/PointingToDeclaration/kdocs/dev.inmo.krontab.collection/include-all.html +$dokka.location:dev.inmo.krontab.collection//plus/dev.inmo.krontab.KronScheduler#dev.inmo.krontab.KronScheduler/PointingToDeclaration/kdocs/dev.inmo.krontab.collection/plus.html +$dokka.location:dev.inmo.krontab.collection//plusAssign/dev.inmo.krontab.collection.CollectionKronScheduler#dev.inmo.krontab.KronScheduler/PointingToDeclaration/kdocs/dev.inmo.krontab.collection/plus-assign.html +$dokka.location:dev.inmo.krontab.collection/CollectionKronScheduler///PointingToDeclaration/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/index.html +$dokka.location:dev.inmo.krontab.collection/CollectionKronScheduler/include/#dev.inmo.krontab.KronScheduler/PointingToDeclaration/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/include.html +$dokka.location:dev.inmo.krontab.collection/CollectionKronScheduler/next/#com.soywiz.klock.DateTime/PointingToDeclaration/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/next.html +$dokka.location:dev.inmo.krontab.collection/CollectionKronScheduler/next/#com.soywiz.klock.DateTimeTz/PointingToDeclaration/kdocs/dev.inmo.krontab.collection/-collection-kron-scheduler/next.html +$dokka.location:dev.inmo.krontab.internal////PointingToDeclaration/kdocs/dev.inmo.krontab.internal/index.html +$dokka.location:dev.inmo.krontab.internal/NearDateTimeCalculator///PointingToDeclaration/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/index.html +$dokka.location:dev.inmo.krontab.internal/NearDateTimeCalculator/calculateNearTime/#com.soywiz.klock.DateTime/PointingToDeclaration/kdocs/dev.inmo.krontab.internal/-near-date-time-calculator/calculate-near-time.html +$dokka.location:dev.inmo.krontab.utils////PointingToDeclaration/kdocs/dev.inmo.krontab.utils/index.html +$dokka.location:dev.inmo.krontab.utils//asFlow/dev.inmo.krontab.KronScheduler#/PointingToDeclaration/kdocs/dev.inmo.krontab.utils/as-flow.html +$dokka.location:dev.inmo.krontab.utils//asTzFlow/dev.inmo.krontab.KronScheduler#/PointingToDeclaration/kdocs/dev.inmo.krontab.utils/as-tz-flow.html +$dokka.location:dev.inmo.krontab.utils//copy/com.soywiz.klock.DateTime#kotlin.Int#kotlin.Int#kotlin.Int#kotlin.Int#kotlin.Int#kotlin.Int#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab.utils/copy.html +$dokka.location:dev.inmo.krontab////PointingToDeclaration/kdocs/dev.inmo.krontab/index.html +$dokka.location:dev.inmo.krontab//AnyTimeScheduler/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-any-time-scheduler.html +$dokka.location:dev.inmo.krontab//EveryDayOfMonthScheduler/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-every-day-of-month-scheduler.html +$dokka.location:dev.inmo.krontab//EveryHourScheduler/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-every-hour-scheduler.html +$dokka.location:dev.inmo.krontab//EveryMinuteScheduler/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-every-minute-scheduler.html +$dokka.location:dev.inmo.krontab//EveryMonthScheduler/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-every-month-scheduler.html +$dokka.location:dev.inmo.krontab//EverySecondScheduler/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-every-second-scheduler.html +$dokka.location:dev.inmo.krontab//EveryYearScheduler/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-every-year-scheduler.html +$dokka.location:dev.inmo.krontab//buildSchedule/#kotlin.String#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab/build-schedule.html +$dokka.location:dev.inmo.krontab//buildSchedule/#kotlin.String/PointingToDeclaration/kdocs/dev.inmo.krontab/build-schedule.html +$dokka.location:dev.inmo.krontab//createSimpleScheduler/#kotlin.String#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab/create-simple-scheduler.html +$dokka.location:dev.inmo.krontab//createSimpleScheduler/#kotlin.String/PointingToDeclaration/kdocs/dev.inmo.krontab/create-simple-scheduler.html +$dokka.location:dev.inmo.krontab//doInfinity/#kotlin.String#kotlin.coroutines.SuspendFunction0[kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab/do-infinity.html +$dokka.location:dev.inmo.krontab//doInfinity/dev.inmo.krontab.KronScheduler#kotlin.coroutines.SuspendFunction0[kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab/do-infinity.html +$dokka.location:dev.inmo.krontab//doOnce/#kotlin.String#kotlin.coroutines.SuspendFunction0[TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/kdocs/dev.inmo.krontab/do-once.html +$dokka.location:dev.inmo.krontab//doOnce/dev.inmo.krontab.KronScheduler#kotlin.coroutines.SuspendFunction0[TypeParam(bounds=[kotlin.Any?])]/PointingToDeclaration/kdocs/dev.inmo.krontab/do-once.html +$dokka.location:dev.inmo.krontab//doWhile/#kotlin.String#kotlin.coroutines.SuspendFunction0[kotlin.Boolean]/PointingToDeclaration/kdocs/dev.inmo.krontab/do-while.html +$dokka.location:dev.inmo.krontab//doWhile/dev.inmo.krontab.KronScheduler#kotlin.coroutines.SuspendFunction0[kotlin.Boolean]/PointingToDeclaration/kdocs/dev.inmo.krontab/do-while.html +$dokka.location:dev.inmo.krontab//enqueueKronSchedulerWork/android.content.Context#kotlin.String#dev.inmo.krontab.KronScheduler#androidx.work.ExistingWorkPolicy#kotlin.coroutines.SuspendFunction1[androidx.work.OneTimeWorkRequest.Builder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html +$dokka.location:dev.inmo.krontab//enqueueKronSchedulerWork/android.content.Context#kotlin.String#dev.inmo.krontab.KronScheduler#java.lang.Class[TypeParam(bounds=[dev.inmo.krontab.KronSchedulerWork])]#androidx.work.ExistingWorkPolicy#kotlin.coroutines.SuspendFunction1[androidx.work.OneTimeWorkRequest.Builder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html +$dokka.location:dev.inmo.krontab//enqueueKronSchedulerWork/android.content.Context#kotlin.String#kotlin.Long#androidx.work.ExistingWorkPolicy#kotlin.coroutines.SuspendFunction1[androidx.work.OneTimeWorkRequest.Builder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html +$dokka.location:dev.inmo.krontab//enqueueKronSchedulerWork/android.content.Context#kotlin.String#kotlin.Long#java.lang.Class[TypeParam(bounds=[dev.inmo.krontab.KronSchedulerWork])]#androidx.work.ExistingWorkPolicy#kotlin.coroutines.SuspendFunction1[androidx.work.OneTimeWorkRequest.Builder,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab/enqueue-kron-scheduler-work.html +$dokka.location:dev.inmo.krontab//enqueueKrontabTemplateSchedulerWork/android.content.Context#kotlin.String#kotlin.String#androidx.work.ExistingWorkPolicy#kotlin.coroutines.SuspendFunction2[androidx.work.OneTimeWorkRequest.Builder,androidx.work.Data,kotlin.Unit]/PointingToDeclaration/kdocs/dev.inmo.krontab/enqueue-krontab-template-scheduler-work.html +$dokka.location:dev.inmo.krontab//krontabTemplateWorkField/#/PointingToDeclaration/kdocs/dev.inmo.krontab/krontab-template-work-field.html +$dokka.location:dev.inmo.krontab//merge/#kotlin.Array[dev.inmo.krontab.KronScheduler]/PointingToDeclaration/kdocs/dev.inmo.krontab/merge.html +$dokka.location:dev.inmo.krontab//merge/kotlin.collections.Iterable[dev.inmo.krontab.KronScheduler]#/PointingToDeclaration/kdocs/dev.inmo.krontab/merge.html +$dokka.location:dev.inmo.krontab//merge/kotlin.collections.Iterator[dev.inmo.krontab.KronScheduler]#/PointingToDeclaration/kdocs/dev.inmo.krontab/merge.html +$dokka.location:dev.inmo.krontab//next/dev.inmo.krontab.KronScheduler#com.soywiz.klock.DateTimeTz/PointingToDeclaration/kdocs/dev.inmo.krontab/next.html +$dokka.location:dev.inmo.krontab//nextOrNow/dev.inmo.krontab.KronScheduler#/PointingToDeclaration/kdocs/dev.inmo.krontab/next-or-now.html +$dokka.location:dev.inmo.krontab//nextOrNowWithOffset/dev.inmo.krontab.KronSchedulerTz#/PointingToDeclaration/kdocs/dev.inmo.krontab/next-or-now-with-offset.html +$dokka.location:dev.inmo.krontab//nextOrRelative/dev.inmo.krontab.KronScheduler#com.soywiz.klock.DateTime/PointingToDeclaration/kdocs/dev.inmo.krontab/next-or-relative.html +$dokka.location:dev.inmo.krontab//nextOrRelative/dev.inmo.krontab.KronSchedulerTz#com.soywiz.klock.DateTimeTz/PointingToDeclaration/kdocs/dev.inmo.krontab/next-or-relative.html +$dokka.location:dev.inmo.krontab//nextTimeZoned/dev.inmo.krontab.KronScheduler#/PointingToDeclaration/kdocs/dev.inmo.krontab/next-time-zoned.html +$dokka.location:dev.inmo.krontab//toKronScheduler/kotlin.String#/PointingToDeclaration/kdocs/dev.inmo.krontab/to-kron-scheduler.html +$dokka.location:dev.inmo.krontab//toKronScheduler/kotlin.String#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab/to-kron-scheduler.html +$dokka.location:dev.inmo.krontab//toSchedule/kotlin.String#/PointingToDeclaration/kdocs/dev.inmo.krontab/to-schedule.html +$dokka.location:dev.inmo.krontab//toSchedule/kotlin.String#kotlin.Int/PointingToDeclaration/kdocs/dev.inmo.krontab/to-schedule.html +$dokka.location:dev.inmo.krontab//wrapAsKronScheduler/kotlin.String#/PointingToDeclaration/kdocs/dev.inmo.krontab/wrap-as-kron-scheduler.html +$dokka.location:dev.inmo.krontab/KronScheduler///PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler/index.html +$dokka.location:dev.inmo.krontab/KronScheduler/next/#com.soywiz.klock.DateTime/PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler/next.html +$dokka.location:dev.inmo.krontab/KronSchedulerTz///PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler-tz/index.html +$dokka.location:dev.inmo.krontab/KronSchedulerTz/next/#com.soywiz.klock.DateTime/PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler-tz/next.html +$dokka.location:dev.inmo.krontab/KronSchedulerTz/next/#com.soywiz.klock.DateTimeTz/PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler-tz/next.html +$dokka.location:dev.inmo.krontab/KronSchedulerWork///PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler-work/index.html +$dokka.location:dev.inmo.krontab/KronSchedulerWork/KronSchedulerWork/#android.content.Context#androidx.work.WorkerParameters/PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler-work/-kron-scheduler-work.html +$dokka.location:dev.inmo.krontab/KronSchedulerWork/doWork/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-kron-scheduler-work/do-work.html +$dokka.location:dev.inmo.krontab/KrontabTemplateSchedulerWork///PointingToDeclaration/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/index.html +$dokka.location:dev.inmo.krontab/KrontabTemplateSchedulerWork/KrontabTemplateSchedulerWork/#android.content.Context#androidx.work.WorkerParameters/PointingToDeclaration/kdocs/dev.inmo.krontab/-krontab-template-scheduler-work/-krontab-template-scheduler-work.html +$dokka.location:dev.inmo.krontab/KrontabTemplateWrapper///PointingToDeclaration/kdocs/dev.inmo.krontab/-krontab-template-wrapper/index.html +$dokka.location:dev.inmo.krontab/KrontabTemplateWrapper/KrontabTemplateWrapper/#kotlin.String/PointingToDeclaration/kdocs/dev.inmo.krontab/-krontab-template-wrapper/-krontab-template-wrapper.html +$dokka.location:dev.inmo.krontab/KrontabTemplateWrapper/template/#/PointingToDeclaration/kdocs/dev.inmo.krontab/-krontab-template-wrapper/template.html +dev.inmo.krontab +dev.inmo.krontab.builder +dev.inmo.krontab.collection +dev.inmo.krontab.internal +dev.inmo.krontab.utils + diff --git a/navigation.html b/navigation.html new file mode 100644 index 0000000..44935b1 --- /dev/null +++ b/navigation.html @@ -0,0 +1,160 @@ +
+ + + + + + +
+ diff --git a/scripts/clipboard.js b/scripts/clipboard.js new file mode 100644 index 0000000..b00ce24 --- /dev/null +++ b/scripts/clipboard.js @@ -0,0 +1,52 @@ +window.addEventListener('load', () => { + document.querySelectorAll('span.copy-icon').forEach(element => { + element.addEventListener('click', (el) => copyElementsContentToClipboard(element)); + }) + + document.querySelectorAll('span.anchor-icon').forEach(element => { + element.addEventListener('click', (el) => { + if(element.hasAttribute('pointing-to')){ + const location = hrefWithoutCurrentlyUsedAnchor() + '#' + element.getAttribute('pointing-to') + copyTextToClipboard(element, location) + } + }); + }) +}) + +const copyElementsContentToClipboard = (element) => { + const selection = window.getSelection(); + const range = document.createRange(); + range.selectNodeContents(element.parentNode.parentNode); + selection.removeAllRanges(); + selection.addRange(range); + + copyAndShowPopup(element, () => selection.removeAllRanges()) +} + +const copyTextToClipboard = (element, text) => { + var textarea = document.createElement("textarea"); + textarea.textContent = text; + textarea.style.position = "fixed"; + document.body.appendChild(textarea); + textarea.select(); + + copyAndShowPopup(element, () => document.body.removeChild(textarea)) +} + +const copyAndShowPopup = (element, after) => { + try { + document.execCommand('copy'); + element.nextElementSibling.classList.add('active-popup'); + setTimeout(() => { + element.nextElementSibling.classList.remove('active-popup'); + }, 1200); + } catch (e) { + console.error('Failed to write to clipboard:', e) + } + finally { + if(after) after() + } +} + +const hrefWithoutCurrentlyUsedAnchor = () => window.location.href.split('#')[0] + diff --git a/scripts/main.js b/scripts/main.js new file mode 100644 index 0000000..029fa9e --- /dev/null +++ b/scripts/main.js @@ -0,0 +1,67 @@ +!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=390)}([function(e,t,n){e.exports=n(264)()},function(e,t,n){"use strict";e.exports=n(239)},function(e,t,n){var r; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;to;)Q(e,n=r[o++],t[n]);return e},X=function(e){var t=F.call(this,e=x(e,!0));return!(this===W&&o(H,e)&&!o(U,e))&&(!(t||!o(this,e)||!o(H,e)||o(this,A)&&this[A][e])||t)},J=function(e,t){if(e=w(e),t=x(t,!0),e!==W||!o(H,t)||o(U,t)){var n=I(e,t);return!n||!o(H,t)||o(e,A)&&e[A][t]||(n.enumerable=!0),n}},Z=function(e){for(var t,n=z(w(e)),r=[],i=0;n.length>i;)o(H,t=n[i++])||t==A||t==c||r.push(t);return r},ee=function(e){for(var t,n=e===W,r=z(n?U:w(e)),i=[],a=0;r.length>a;)!o(H,t=r[a++])||n&&!o(W,t)||i.push(H[t]);return i};B||(l((R=function(){if(this instanceof R)throw TypeError("Symbol is not a constructor!");var e=p(arguments.length>0?arguments[0]:void 0),t=function(n){this===W&&t.call(U,n),o(this,A)&&o(this[A],e)&&(this[A][e]=!1),K(this,e,S(1,n))};return i&&G&&K(W,e,{configurable:!0,set:t}),q(e)}).prototype,"toString",(function(){return this._k})),E.f=J,C.f=Q,n(114).f=O.f=Z,n(95).f=X,T.f=ee,i&&!n(111)&&l(W,"propertyIsEnumerable",X,!0),h.f=function(e){return q(d(e))}),a(a.G+a.W+a.F*!B,{Symbol:R});for(var te="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),ne=0;te.length>ne;)d(te[ne++]);for(var re=P(d.store),oe=0;re.length>oe;)v(re[oe++]);a(a.S+a.F*!B,"Symbol",{for:function(e){return o(D,e+="")?D[e]:D[e]=R(e)},keyFor:function(e){if(!$(e))throw TypeError(e+" is not a symbol!");for(var t in D)if(D[t]===e)return t},useSetter:function(){G=!0},useSimple:function(){G=!1}}),a(a.S+a.F*!B,"Object",{create:function(e,t){return void 0===t?k(e):Y(k(e),t)},defineProperty:Q,defineProperties:Y,getOwnPropertyDescriptor:J,getOwnPropertyNames:Z,getOwnPropertySymbols:ee});var ie=u((function(){T.f(1)}));a(a.S+a.F*ie,"Object",{getOwnPropertySymbols:function(e){return T.f(_(e))}}),M&&a(a.S+a.F*(!B||u((function(){var e=R();return"[null]"!=N([e])||"{}"!=N({a:e})||"{}"!=N(Object(e))}))),"JSON",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],(b(t)||void 0!==e)&&!$(e))return m(t)||(t=function(e,t){if("function"==typeof n&&(t=n.call(this,e,t)),!$(t))return t}),r[1]=t,N.apply(M,r)}}),R.prototype[L]||n(59)(R.prototype,L,R.prototype.valueOf),f(R,"Symbol"),f(Math,"Math",!0),f(r.JSON,"JSON",!0)},function(e,t,n){var r=n(10);r(r.S+r.F*!n(30),"Object",{defineProperty:n(39).f})},function(e,t,n){"use strict";n(257);var r=n(27),o=n(135),i=n(30),a=/./.toString,l=function(e){n(42)(RegExp.prototype,"toString",e,!0)};n(31)((function(){return"/a/b"!=a.call({source:"a",flags:"b"})}))?l((function(){var e=r(this);return"/".concat(e.source,"/","flags"in e?e.flags:!i&&e instanceof RegExp?o.call(e):void 0)})):"toString"!=a.name&&l((function(){return a.call(this)}))},function(e,t,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(42)(r,"toString",(function(){var e=i.call(this);return e==e?o.call(this):"Invalid Date"}))},function(e,t,n){n(182)("asyncIterator")},function(e,t,n){var r=n(32),o=n(79),i=n(59),a=n(42),l=n(80),c=function(e,t,n){var u,s,f,p,d=e&c.F,h=e&c.G,v=e&c.S,g=e&c.P,m=e&c.B,y=h?r:v?r[t]||(r[t]={}):(r[t]||{}).prototype,b=h?o:o[t]||(o[t]={}),_=b.prototype||(b.prototype={});for(u in h&&(n=t),n)f=((s=!d&&y&&void 0!==y[u])?y:n)[u],p=m&&s?l(f,r):g&&"function"==typeof f?l(Function.call,f):f,y&&a(y,u,f,e&c.U),b[u]!=f&&i(b,u,p),g&&_[u]!=f&&(_[u]=f)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){for(var r=n(12),o=n(70),i=n(42),a=n(32),l=n(59),c=n(96),u=n(25),s=u("iterator"),f=u("toStringTag"),p=c.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(d),v=0;v=e.length?(this._t=void 0,o(1)):o(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])}),"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(e,t,n){var r=n(10);r(r.S,"Object",{create:n(83)})},function(e,t,n){var r=n(10),o=n(83),i=n(81),a=n(27),l=n(29),c=n(31),u=n(184),s=(n(32).Reflect||{}).construct,f=c((function(){function e(){}return!(s((function(){}),[],e)instanceof e)})),p=!c((function(){s((function(){}))}));r(r.S+r.F*(f||p),"Reflect",{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(p&&!f)return s(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(u.apply(e,r))}var c=n.prototype,d=o(l(c)?c:Object.prototype),h=Function.apply.call(e,d,t);return l(h)?h:d}})},function(e,t,n){var r=n(10);r(r.S,"Object",{setPrototypeOf:n(180).set})},function(e,t,n){var r=n(54),o=n(70);n(252)("keys",(function(){return function(e){return o(r(e))}}))},function(e,t,n){"use strict";var r=n(10),o=n(130)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(72)(i)),"Array",{indexOf:function(e){return a?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(26),o=n(266);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(10);r(r.S+r.F,"Object",{assign:n(185)})},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var o=(a=r,l=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(l),"/*# ".concat(c," */")),i=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot||"").concat(e," */")}));return[n].concat(i).concat([o]).join("\n")}var a,l,c;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var o={};if(r)for(var i=0;i=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},function(e,t,n){var r=n(35),o=n(28),i=n(98),a=n(74),l=n(75),c=function(e,t,n){var u,s,f,p=e&c.F,d=e&c.G,h=e&c.S,v=e&c.P,g=e&c.B,m=e&c.W,y=d?o:o[t]||(o[t]={}),b=y.prototype,_=d?r:h?r[t]:(r[t]||{}).prototype;for(u in d&&(n=t),n)(s=!p&&_&&void 0!==_[u])&&l(y,u)||(f=s?_[u]:n[u],y[u]=d&&"function"!=typeof _[u]?n[u]:g&&s?i(f,r):m&&_[u]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):v&&"function"==typeof f?i(Function.call,f):f,v&&((y.virtual||(y.virtual={}))[u]=f,e&c.R&&b&&!b[u]&&a(b,u,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t,n){var r=n(26),o=n(332);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(113),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(71);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r=n(10),o=n(62)(1);r(r.P+r.F*!n(72)([].map,!0),"Array",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(64);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){e.exports=!n(85)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},function(e,t,n){"use strict";var r=n(80),o=n(10),i=n(54),a=n(189),l=n(190),c=n(53),u=n(174),s=n(191);o(o.S+o.F*!n(192)((function(e){Array.from(e)})),"Array",{from:function(e){var t,n,o,f,p=i(e),d="function"==typeof this?this:Array,h=arguments.length,v=h>1?arguments[1]:void 0,g=void 0!==v,m=0,y=s(p);if(g&&(v=r(v,h>2?arguments[2]:void 0,2)),null==y||d==Array&&l(y))for(n=new d(t=c(p.length));t>m;m++)u(n,m,g?v(p[m],m):p[m]);else for(f=y.call(p),n=new d;!(o=f.next()).done;m++)u(n,m,g?a(f,v,[o.value,m],!0):o.value);return n.length=m,n}})},function(e,t,n){var r=n(39),o=n(91);e.exports=n(30)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){var r=n(112),o=n(71);e.exports=function(e){return r(o(e))}},function(e,t,n){"use strict";var r=n(10),o=n(62)(0),i=n(72)([].forEach,!0);r(r.P+r.F*!i,"Array",{forEach:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(80),o=n(112),i=n(54),a=n(53),l=n(259);e.exports=function(e,t){var n=1==e,c=2==e,u=3==e,s=4==e,f=6==e,p=5==e||f,d=t||l;return function(t,l,h){for(var v,g,m=i(t),y=o(m),b=r(l,h,3),_=a(y.length),w=0,x=n?d(t,_):c?d(t,0):void 0;_>w;w++)if((p||w in y)&&(g=b(v=y[w],w,m),e))if(n)x[w]=g;else if(g)switch(e){case 3:return!0;case 5:return v;case 6:return w;case 2:x.push(v)}else if(s)return!1;return f?-1:u||s?s:x}}},function(e,t,n){var r=n(56),o=n(200),i=n(147),a=Object.defineProperty;t.f=n(57)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){e.exports={default:n(282),__esModule:!0}},function(e,t,n){"use strict";t.__esModule=!0;var r=a(n(304)),o=a(n(308)),i=a(n(205));function a(e){return e&&e.__esModule?e:{default:e}}t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,i.default)(t)));e.prototype=(0,o.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(r.default?(0,r.default)(e,t):e.__proto__=t)}},function(e,t,n){(function(e,r){var o; +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var i="Expected a function",a="__lodash_placeholder__",l=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],c="[object Arguments]",u="[object Array]",s="[object Boolean]",f="[object Date]",p="[object Error]",d="[object Function]",h="[object GeneratorFunction]",v="[object Map]",g="[object Number]",m="[object Object]",y="[object RegExp]",b="[object Set]",_="[object String]",w="[object Symbol]",x="[object WeakMap]",S="[object ArrayBuffer]",k="[object DataView]",O="[object Float32Array]",E="[object Float64Array]",T="[object Int8Array]",C="[object Int16Array]",P="[object Int32Array]",I="[object Uint8Array]",j="[object Uint16Array]",z="[object Uint32Array]",R=/\b__p \+= '';/g,M=/\b(__p \+=) '' \+/g,N=/(__e\(.*?\)|\b__t\)) \+\n'';/g,A=/&(?:amp|lt|gt|quot|#39);/g,L=/[&<>"']/g,F=RegExp(A.source),D=RegExp(L.source),H=/<%-([\s\S]+?)%>/g,U=/<%([\s\S]+?)%>/g,W=/<%=([\s\S]+?)%>/g,B=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,V=/^\w*$/,G=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,K=/[\\^$.*+?()[\]{}|]/g,q=RegExp(K.source),$=/^\s+|\s+$/g,Q=/^\s+/,Y=/\s+$/,X=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,J=/\{\n\/\* \[wrapped with (.+)\] \*/,Z=/,? & /,ee=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,te=/\\(\\)?/g,ne=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,re=/\w*$/,oe=/^[-+]0x[0-9a-f]+$/i,ie=/^0b[01]+$/i,ae=/^\[object .+?Constructor\]$/,le=/^0o[0-7]+$/i,ce=/^(?:0|[1-9]\d*)$/,ue=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,se=/($^)/,fe=/['\n\r\u2028\u2029\\]/g,pe="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",de="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",he="[\\ud800-\\udfff]",ve="["+de+"]",ge="["+pe+"]",me="\\d+",ye="[\\u2700-\\u27bf]",be="[a-z\\xdf-\\xf6\\xf8-\\xff]",_e="[^\\ud800-\\udfff"+de+me+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",we="\\ud83c[\\udffb-\\udfff]",xe="[^\\ud800-\\udfff]",Se="(?:\\ud83c[\\udde6-\\uddff]){2}",ke="[\\ud800-\\udbff][\\udc00-\\udfff]",Oe="[A-Z\\xc0-\\xd6\\xd8-\\xde]",Ee="(?:"+be+"|"+_e+")",Te="(?:"+Oe+"|"+_e+")",Ce="(?:"+ge+"|"+we+")"+"?",Pe="[\\ufe0e\\ufe0f]?"+Ce+("(?:\\u200d(?:"+[xe,Se,ke].join("|")+")[\\ufe0e\\ufe0f]?"+Ce+")*"),Ie="(?:"+[ye,Se,ke].join("|")+")"+Pe,je="(?:"+[xe+ge+"?",ge,Se,ke,he].join("|")+")",ze=RegExp("['’]","g"),Re=RegExp(ge,"g"),Me=RegExp(we+"(?="+we+")|"+je+Pe,"g"),Ne=RegExp([Oe+"?"+be+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[ve,Oe,"$"].join("|")+")",Te+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[ve,Oe+Ee,"$"].join("|")+")",Oe+"?"+Ee+"+(?:['’](?:d|ll|m|re|s|t|ve))?",Oe+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",me,Ie].join("|"),"g"),Ae=RegExp("[\\u200d\\ud800-\\udfff"+pe+"\\ufe0e\\ufe0f]"),Le=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Fe=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],De=-1,He={};He[O]=He[E]=He[T]=He[C]=He[P]=He[I]=He["[object Uint8ClampedArray]"]=He[j]=He[z]=!0,He[c]=He[u]=He[S]=He[s]=He[k]=He[f]=He[p]=He[d]=He[v]=He[g]=He[m]=He[y]=He[b]=He[_]=He[x]=!1;var Ue={};Ue[c]=Ue[u]=Ue[S]=Ue[k]=Ue[s]=Ue[f]=Ue[O]=Ue[E]=Ue[T]=Ue[C]=Ue[P]=Ue[v]=Ue[g]=Ue[m]=Ue[y]=Ue[b]=Ue[_]=Ue[w]=Ue[I]=Ue["[object Uint8ClampedArray]"]=Ue[j]=Ue[z]=!0,Ue[p]=Ue[d]=Ue[x]=!1;var We={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Be=parseFloat,Ve=parseInt,Ge="object"==typeof e&&e&&e.Object===Object&&e,Ke="object"==typeof self&&self&&self.Object===Object&&self,qe=Ge||Ke||Function("return this")(),$e=t&&!t.nodeType&&t,Qe=$e&&"object"==typeof r&&r&&!r.nodeType&&r,Ye=Qe&&Qe.exports===$e,Xe=Ye&&Ge.process,Je=function(){try{var e=Qe&&Qe.require&&Qe.require("util").types;return e||Xe&&Xe.binding&&Xe.binding("util")}catch(e){}}(),Ze=Je&&Je.isArrayBuffer,et=Je&&Je.isDate,tt=Je&&Je.isMap,nt=Je&&Je.isRegExp,rt=Je&&Je.isSet,ot=Je&&Je.isTypedArray;function it(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function at(e,t,n,r){for(var o=-1,i=null==e?0:e.length;++o-1}function pt(e,t,n){for(var r=-1,o=null==e?0:e.length;++r-1;);return n}function Mt(e,t){for(var n=e.length;n--&&wt(t,e[n],0)>-1;);return n}function Nt(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}var At=Et({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Lt=Et({"&":"&","<":"<",">":">",'"':""","'":"'"});function Ft(e){return"\\"+We[e]}function Dt(e){return Ae.test(e)}function Ht(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Ut(e,t){return function(n){return e(t(n))}}function Wt(e,t){for(var n=-1,r=e.length,o=0,i=[];++n",""":'"',"'":"'"});var $t=function e(t){var n,r=(t=null==t?qe:$t.defaults(qe.Object(),t,$t.pick(qe,Fe))).Array,o=t.Date,pe=t.Error,de=t.Function,he=t.Math,ve=t.Object,ge=t.RegExp,me=t.String,ye=t.TypeError,be=r.prototype,_e=de.prototype,we=ve.prototype,xe=t["__core-js_shared__"],Se=_e.toString,ke=we.hasOwnProperty,Oe=0,Ee=(n=/[^.]+$/.exec(xe&&xe.keys&&xe.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",Te=we.toString,Ce=Se.call(ve),Pe=qe._,Ie=ge("^"+Se.call(ke).replace(K,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),je=Ye?t.Buffer:void 0,Me=t.Symbol,Ae=t.Uint8Array,We=je?je.allocUnsafe:void 0,Ge=Ut(ve.getPrototypeOf,ve),Ke=ve.create,$e=we.propertyIsEnumerable,Qe=be.splice,Xe=Me?Me.isConcatSpreadable:void 0,Je=Me?Me.iterator:void 0,yt=Me?Me.toStringTag:void 0,Et=function(){try{var e=ei(ve,"defineProperty");return e({},"",{}),e}catch(e){}}(),Qt=t.clearTimeout!==qe.clearTimeout&&t.clearTimeout,Yt=o&&o.now!==qe.Date.now&&o.now,Xt=t.setTimeout!==qe.setTimeout&&t.setTimeout,Jt=he.ceil,Zt=he.floor,en=ve.getOwnPropertySymbols,tn=je?je.isBuffer:void 0,nn=t.isFinite,rn=be.join,on=Ut(ve.keys,ve),an=he.max,ln=he.min,cn=o.now,un=t.parseInt,sn=he.random,fn=be.reverse,pn=ei(t,"DataView"),dn=ei(t,"Map"),hn=ei(t,"Promise"),vn=ei(t,"Set"),gn=ei(t,"WeakMap"),mn=ei(ve,"create"),yn=gn&&new gn,bn={},_n=Ti(pn),wn=Ti(dn),xn=Ti(hn),Sn=Ti(vn),kn=Ti(gn),On=Me?Me.prototype:void 0,En=On?On.valueOf:void 0,Tn=On?On.toString:void 0;function Cn(e){if(Va(e)&&!Ra(e)&&!(e instanceof zn)){if(e instanceof jn)return e;if(ke.call(e,"__wrapped__"))return Ci(e)}return new jn(e)}var Pn=function(){function e(){}return function(t){if(!Ba(t))return{};if(Ke)return Ke(t);e.prototype=t;var n=new e;return e.prototype=void 0,n}}();function In(){}function jn(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function zn(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}function Rn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Yn(e,t,n,r,o,i){var a,l=1&t,u=2&t,p=4&t;if(n&&(a=o?n(e,r,o,i):n(e)),void 0!==a)return a;if(!Ba(e))return e;var x=Ra(e);if(x){if(a=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&ke.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!l)return yo(e,a)}else{var R=ri(e),M=R==d||R==h;if(La(e))return fo(e,l);if(R==m||R==c||M&&!o){if(a=u||M?{}:ii(e),!l)return u?function(e,t){return bo(e,ni(e),t)}(e,function(e,t){return e&&bo(t,wl(t),e)}(a,e)):function(e,t){return bo(e,ti(e),t)}(e,Kn(a,e))}else{if(!Ue[R])return o?e:{};a=function(e,t,n){var r=e.constructor;switch(t){case S:return po(e);case s:case f:return new r(+e);case k:return function(e,t){var n=t?po(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case O:case E:case T:case C:case P:case I:case"[object Uint8ClampedArray]":case j:case z:return ho(e,n);case v:return new r;case g:case _:return new r(e);case y:return function(e){var t=new e.constructor(e.source,re.exec(e));return t.lastIndex=e.lastIndex,t}(e);case b:return new r;case w:return o=e,En?ve(En.call(o)):{}}var o}(e,R,l)}}i||(i=new Ln);var N=i.get(e);if(N)return N;i.set(e,a),Qa(e)?e.forEach((function(r){a.add(Yn(r,t,n,r,e,i))})):Ga(e)&&e.forEach((function(r,o){a.set(o,Yn(r,t,n,o,e,i))}));var A=x?void 0:(p?u?qo:Ko:u?wl:_l)(e);return lt(A||e,(function(r,o){A&&(r=e[o=r]),Bn(a,o,Yn(r,t,n,o,e,i))})),a}function Xn(e,t,n){var r=n.length;if(null==e)return!r;for(e=ve(e);r--;){var o=n[r],i=t[o],a=e[o];if(void 0===a&&!(o in e)||!i(a))return!1}return!0}function Jn(e,t,n){if("function"!=typeof e)throw new ye(i);return _i((function(){e.apply(void 0,n)}),t)}function Zn(e,t,n,r){var o=-1,i=ft,a=!0,l=e.length,c=[],u=t.length;if(!l)return c;n&&(t=dt(t,It(n))),r?(i=pt,a=!1):t.length>=200&&(i=zt,a=!1,t=new An(t));e:for(;++o-1},Mn.prototype.set=function(e,t){var n=this.__data__,r=Vn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Nn.prototype.clear=function(){this.size=0,this.__data__={hash:new Rn,map:new(dn||Mn),string:new Rn}},Nn.prototype.delete=function(e){var t=Jo(this,e).delete(e);return this.size-=t?1:0,t},Nn.prototype.get=function(e){return Jo(this,e).get(e)},Nn.prototype.has=function(e){return Jo(this,e).has(e)},Nn.prototype.set=function(e,t){var n=Jo(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},An.prototype.add=An.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},An.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.clear=function(){this.__data__=new Mn,this.size=0},Ln.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ln.prototype.get=function(e){return this.__data__.get(e)},Ln.prototype.has=function(e){return this.__data__.has(e)},Ln.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Mn){var r=n.__data__;if(!dn||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Nn(r)}return n.set(e,t),this.size=n.size,this};var er=xo(cr),tr=xo(ur,!0);function nr(e,t){var n=!0;return er(e,(function(e,r,o){return n=!!t(e,r,o)})),n}function rr(e,t,n){for(var r=-1,o=e.length;++r0&&n(l)?t>1?ir(l,t-1,n,r,o):ht(o,l):r||(o[o.length]=l)}return o}var ar=So(),lr=So(!0);function cr(e,t){return e&&ar(e,t,_l)}function ur(e,t){return e&&lr(e,t,_l)}function sr(e,t){return st(t,(function(t){return Ha(e[t])}))}function fr(e,t){for(var n=0,r=(t=lo(t,e)).length;null!=e&&nt}function vr(e,t){return null!=e&&ke.call(e,t)}function gr(e,t){return null!=e&&t in ve(e)}function mr(e,t,n){for(var o=n?pt:ft,i=e[0].length,a=e.length,l=a,c=r(a),u=1/0,s=[];l--;){var f=e[l];l&&t&&(f=dt(f,It(t))),u=ln(f.length,u),c[l]=!n&&(t||i>=120&&f.length>=120)?new An(l&&f):void 0}f=e[0];var p=-1,d=c[0];e:for(;++p=l)return c;var u=n[r];return c*("desc"==u?-1:1)}}return e.index-t.index}(e,t,n)}))}function Rr(e,t,n){for(var r=-1,o=t.length,i={};++r-1;)l!==e&&Qe.call(l,c,1),Qe.call(e,c,1);return e}function Nr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;li(o)?Qe.call(e,o,1):Zr(e,o)}}return e}function Ar(e,t){return e+Zt(sn()*(t-e+1))}function Lr(e,t){var n="";if(!e||t<1||t>9007199254740991)return n;do{t%2&&(n+=e),(t=Zt(t/2))&&(e+=e)}while(t);return n}function Fr(e,t){return wi(vi(e,t,Kl),e+"")}function Dr(e){return Dn(Pl(e))}function Hr(e,t){var n=Pl(e);return ki(n,Qn(t,0,n.length))}function Ur(e,t,n,r){if(!Ba(e))return e;for(var o=-1,i=(t=lo(t,e)).length,a=i-1,l=e;null!=l&&++oi?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var a=r(i);++o>>1,a=e[i];null!==a&&!Xa(a)&&(n?a<=t:a=200){var u=t?null:Fo(e);if(u)return Bt(u);a=!1,o=zt,c=new An}else c=t?[]:l;e:for(;++r=r?e:Gr(e,t,n)}var so=Qt||function(e){return qe.clearTimeout(e)};function fo(e,t){if(t)return e.slice();var n=e.length,r=We?We(n):new e.constructor(n);return e.copy(r),r}function po(e){var t=new e.constructor(e.byteLength);return new Ae(t).set(new Ae(e)),t}function ho(e,t){var n=t?po(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function vo(e,t){if(e!==t){var n=void 0!==e,r=null===e,o=e==e,i=Xa(e),a=void 0!==t,l=null===t,c=t==t,u=Xa(t);if(!l&&!u&&!i&&e>t||i&&a&&c&&!l&&!u||r&&a&&c||!n&&c||!o)return 1;if(!r&&!i&&!u&&e1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,a&&ci(n[0],n[1],a)&&(i=o<3?void 0:i,o=1),t=ve(t);++r-1?o[i?t[a]:a]:void 0}}function Co(e){return Go((function(t){var n=t.length,r=n,o=jn.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if("function"!=typeof a)throw new ye(i);if(o&&!l&&"wrapper"==Qo(a))var l=new jn([],!0)}for(r=l?r:n;++r1&&b.reverse(),f&&ul))return!1;var u=i.get(e),s=i.get(t);if(u&&s)return u==t&&s==e;var f=-1,p=!0,d=2&n?new An:void 0;for(i.set(e,t),i.set(t,e);++f-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(X,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return lt(l,(function(n){var r="_."+n[0];t&n[1]&&!ft(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(J);return t?t[1].split(Z):[]}(r),n)))}function Si(e){var t=0,n=0;return function(){var r=cn(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function ki(e,t){var n=-1,r=e.length,o=r-1;for(t=void 0===t?r:t;++n1?e[t-1]:void 0;return n="function"==typeof n?(e.pop(),n):void 0,$i(e,n)}));function ta(e){var t=Cn(e);return t.__chain__=!0,t}function na(e,t){return t(e)}var ra=Go((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,o=function(t){return $n(t,e)};return!(t>1||this.__actions__.length)&&r instanceof zn&&li(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:na,args:[o],thisArg:void 0}),new jn(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(o)}));var oa=_o((function(e,t,n){ke.call(e,n)?++e[n]:qn(e,n,1)}));var ia=To(zi),aa=To(Ri);function la(e,t){return(Ra(e)?lt:er)(e,Xo(t,3))}function ca(e,t){return(Ra(e)?ct:tr)(e,Xo(t,3))}var ua=_o((function(e,t,n){ke.call(e,n)?e[n].push(t):qn(e,n,[t])}));var sa=Fr((function(e,t,n){var o=-1,i="function"==typeof t,a=Na(e)?r(e.length):[];return er(e,(function(e){a[++o]=i?it(t,e,n):yr(e,t,n)})),a})),fa=_o((function(e,t,n){qn(e,n,t)}));function pa(e,t){return(Ra(e)?dt:Tr)(e,Xo(t,3))}var da=_o((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var ha=Fr((function(e,t){if(null==e)return[];var n=t.length;return n>1&&ci(e,t[0],t[1])?t=[]:n>2&&ci(t[0],t[1],t[2])&&(t=[t[0]]),zr(e,ir(t,1),[])})),va=Yt||function(){return qe.Date.now()};function ga(e,t,n){return t=n?void 0:t,Ho(e,128,void 0,void 0,void 0,void 0,t=e&&null==t?e.length:t)}function ma(e,t){var n;if("function"!=typeof t)throw new ye(i);return e=rl(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}var ya=Fr((function(e,t,n){var r=1;if(n.length){var o=Wt(n,Yo(ya));r|=32}return Ho(e,r,t,n,o)})),ba=Fr((function(e,t,n){var r=3;if(n.length){var o=Wt(n,Yo(ba));r|=32}return Ho(t,r,e,n,o)}));function _a(e,t,n){var r,o,a,l,c,u,s=0,f=!1,p=!1,d=!0;if("function"!=typeof e)throw new ye(i);function h(t){var n=r,i=o;return r=o=void 0,s=t,l=e.apply(i,n)}function v(e){return s=e,c=_i(m,t),f?h(e):l}function g(e){var n=e-u;return void 0===u||n>=t||n<0||p&&e-s>=a}function m(){var e=va();if(g(e))return y(e);c=_i(m,function(e){var n=t-(e-u);return p?ln(n,a-(e-s)):n}(e))}function y(e){return c=void 0,d&&r?h(e):(r=o=void 0,l)}function b(){var e=va(),n=g(e);if(r=arguments,o=this,u=e,n){if(void 0===c)return v(u);if(p)return so(c),c=_i(m,t),h(u)}return void 0===c&&(c=_i(m,t)),l}return t=il(t)||0,Ba(n)&&(f=!!n.leading,a=(p="maxWait"in n)?an(il(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==c&&so(c),s=0,r=u=o=c=void 0},b.flush=function(){return void 0===c?l:y(va())},b}var wa=Fr((function(e,t){return Jn(e,1,t)})),xa=Fr((function(e,t,n){return Jn(e,il(t)||0,n)}));function Sa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new ye(i);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(Sa.Cache||Nn),n}function ka(e){if("function"!=typeof e)throw new ye(i);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}Sa.Cache=Nn;var Oa=co((function(e,t){var n=(t=1==t.length&&Ra(t[0])?dt(t[0],It(Xo())):dt(ir(t,1),It(Xo()))).length;return Fr((function(r){for(var o=-1,i=ln(r.length,n);++o=t})),za=br(function(){return arguments}())?br:function(e){return Va(e)&&ke.call(e,"callee")&&!$e.call(e,"callee")},Ra=r.isArray,Ma=Ze?It(Ze):function(e){return Va(e)&&dr(e)==S};function Na(e){return null!=e&&Wa(e.length)&&!Ha(e)}function Aa(e){return Va(e)&&Na(e)}var La=tn||ic,Fa=et?It(et):function(e){return Va(e)&&dr(e)==f};function Da(e){if(!Va(e))return!1;var t=dr(e);return t==p||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!qa(e)}function Ha(e){if(!Ba(e))return!1;var t=dr(e);return t==d||t==h||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ua(e){return"number"==typeof e&&e==rl(e)}function Wa(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991}function Ba(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Va(e){return null!=e&&"object"==typeof e}var Ga=tt?It(tt):function(e){return Va(e)&&ri(e)==v};function Ka(e){return"number"==typeof e||Va(e)&&dr(e)==g}function qa(e){if(!Va(e)||dr(e)!=m)return!1;var t=Ge(e);if(null===t)return!0;var n=ke.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Se.call(n)==Ce}var $a=nt?It(nt):function(e){return Va(e)&&dr(e)==y};var Qa=rt?It(rt):function(e){return Va(e)&&ri(e)==b};function Ya(e){return"string"==typeof e||!Ra(e)&&Va(e)&&dr(e)==_}function Xa(e){return"symbol"==typeof e||Va(e)&&dr(e)==w}var Ja=ot?It(ot):function(e){return Va(e)&&Wa(e.length)&&!!He[dr(e)]};var Za=No(Er),el=No((function(e,t){return e<=t}));function tl(e){if(!e)return[];if(Na(e))return Ya(e)?Kt(e):yo(e);if(Je&&e[Je])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Je]());var t=ri(e);return(t==v?Ht:t==b?Bt:Pl)(e)}function nl(e){return e?(e=il(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function rl(e){var t=nl(e),n=t%1;return t==t?n?t-n:t:0}function ol(e){return e?Qn(rl(e),0,4294967295):0}function il(e){if("number"==typeof e)return e;if(Xa(e))return NaN;if(Ba(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ba(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace($,"");var n=ie.test(e);return n||le.test(e)?Ve(e.slice(2),n?2:8):oe.test(e)?NaN:+e}function al(e){return bo(e,wl(e))}function ll(e){return null==e?"":Xr(e)}var cl=wo((function(e,t){if(pi(t)||Na(t))bo(t,_l(t),e);else for(var n in t)ke.call(t,n)&&Bn(e,n,t[n])})),ul=wo((function(e,t){bo(t,wl(t),e)})),sl=wo((function(e,t,n,r){bo(t,wl(t),e,r)})),fl=wo((function(e,t,n,r){bo(t,_l(t),e,r)})),pl=Go($n);var dl=Fr((function(e,t){e=ve(e);var n=-1,r=t.length,o=r>2?t[2]:void 0;for(o&&ci(t[0],t[1],o)&&(r=1);++n1),t})),bo(e,qo(e),n),r&&(n=Yn(n,7,Bo));for(var o=t.length;o--;)Zr(n,t[o]);return n}));var Ol=Go((function(e,t){return null==e?{}:function(e,t){return Rr(e,t,(function(t,n){return gl(e,n)}))}(e,t)}));function El(e,t){if(null==e)return{};var n=dt(qo(e),(function(e){return[e]}));return t=Xo(t),Rr(e,n,(function(e,n){return t(e,n[0])}))}var Tl=Do(_l),Cl=Do(wl);function Pl(e){return null==e?[]:jt(e,_l(e))}var Il=Oo((function(e,t,n){return t=t.toLowerCase(),e+(n?jl(t):t)}));function jl(e){return Dl(ll(e).toLowerCase())}function zl(e){return(e=ll(e))&&e.replace(ue,At).replace(Re,"")}var Rl=Oo((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ml=Oo((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Nl=ko("toLowerCase");var Al=Oo((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var Ll=Oo((function(e,t,n){return e+(n?" ":"")+Dl(t)}));var Fl=Oo((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Dl=ko("toUpperCase");function Hl(e,t,n){return e=ll(e),void 0===(t=n?void 0:t)?function(e){return Le.test(e)}(e)?function(e){return e.match(Ne)||[]}(e):function(e){return e.match(ee)||[]}(e):e.match(t)||[]}var Ul=Fr((function(e,t){try{return it(e,void 0,t)}catch(e){return Da(e)?e:new pe(e)}})),Wl=Go((function(e,t){return lt(t,(function(t){t=Ei(t),qn(e,t,ya(e[t],e))})),e}));function Bl(e){return function(){return e}}var Vl=Co(),Gl=Co(!0);function Kl(e){return e}function ql(e){return Sr("function"==typeof e?e:Yn(e,1))}var $l=Fr((function(e,t){return function(n){return yr(n,e,t)}})),Ql=Fr((function(e,t){return function(n){return yr(e,n,t)}}));function Yl(e,t,n){var r=_l(t),o=sr(t,r);null!=n||Ba(t)&&(o.length||!r.length)||(n=t,t=e,e=this,o=sr(t,_l(t)));var i=!(Ba(n)&&"chain"in n&&!n.chain),a=Ha(e);return lt(o,(function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__),o=n.__actions__=yo(this.__actions__);return o.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,ht([this.value()],arguments))})})),e}function Xl(){}var Jl=zo(dt),Zl=zo(ut),ec=zo(mt);function tc(e){return ui(e)?Ot(Ei(e)):function(e){return function(t){return fr(t,e)}}(e)}var nc=Mo(),rc=Mo(!0);function oc(){return[]}function ic(){return!1}var ac=jo((function(e,t){return e+t}),0),lc=Lo("ceil"),cc=jo((function(e,t){return e/t}),1),uc=Lo("floor");var sc,fc=jo((function(e,t){return e*t}),1),pc=Lo("round"),dc=jo((function(e,t){return e-t}),0);return Cn.after=function(e,t){if("function"!=typeof t)throw new ye(i);return e=rl(e),function(){if(--e<1)return t.apply(this,arguments)}},Cn.ary=ga,Cn.assign=cl,Cn.assignIn=ul,Cn.assignInWith=sl,Cn.assignWith=fl,Cn.at=pl,Cn.before=ma,Cn.bind=ya,Cn.bindAll=Wl,Cn.bindKey=ba,Cn.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return Ra(e)?e:[e]},Cn.chain=ta,Cn.chunk=function(e,t,n){t=(n?ci(e,t,n):void 0===t)?1:an(rl(t),0);var o=null==e?0:e.length;if(!o||t<1)return[];for(var i=0,a=0,l=r(Jt(o/t));io?0:o+n),(r=void 0===r||r>o?o:rl(r))<0&&(r+=o),r=n>r?0:ol(r);n>>0)?(e=ll(e))&&("string"==typeof t||null!=t&&!$a(t))&&!(t=Xr(t))&&Dt(e)?uo(Kt(e),0,n):e.split(t,n):[]},Cn.spread=function(e,t){if("function"!=typeof e)throw new ye(i);return t=null==t?0:an(rl(t),0),Fr((function(n){var r=n[t],o=uo(n,0,t);return r&&ht(o,r),it(e,this,o)}))},Cn.tail=function(e){var t=null==e?0:e.length;return t?Gr(e,1,t):[]},Cn.take=function(e,t,n){return e&&e.length?Gr(e,0,(t=n||void 0===t?1:rl(t))<0?0:t):[]},Cn.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?Gr(e,(t=r-(t=n||void 0===t?1:rl(t)))<0?0:t,r):[]},Cn.takeRightWhile=function(e,t){return e&&e.length?to(e,Xo(t,3),!1,!0):[]},Cn.takeWhile=function(e,t){return e&&e.length?to(e,Xo(t,3)):[]},Cn.tap=function(e,t){return t(e),e},Cn.throttle=function(e,t,n){var r=!0,o=!0;if("function"!=typeof e)throw new ye(i);return Ba(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),_a(e,t,{leading:r,maxWait:t,trailing:o})},Cn.thru=na,Cn.toArray=tl,Cn.toPairs=Tl,Cn.toPairsIn=Cl,Cn.toPath=function(e){return Ra(e)?dt(e,Ei):Xa(e)?[e]:yo(Oi(ll(e)))},Cn.toPlainObject=al,Cn.transform=function(e,t,n){var r=Ra(e),o=r||La(e)||Ja(e);if(t=Xo(t,4),null==n){var i=e&&e.constructor;n=o?r?new i:[]:Ba(e)&&Ha(i)?Pn(Ge(e)):{}}return(o?lt:cr)(e,(function(e,r,o){return t(n,e,r,o)})),n},Cn.unary=function(e){return ga(e,1)},Cn.union=Vi,Cn.unionBy=Gi,Cn.unionWith=Ki,Cn.uniq=function(e){return e&&e.length?Jr(e):[]},Cn.uniqBy=function(e,t){return e&&e.length?Jr(e,Xo(t,2)):[]},Cn.uniqWith=function(e,t){return t="function"==typeof t?t:void 0,e&&e.length?Jr(e,void 0,t):[]},Cn.unset=function(e,t){return null==e||Zr(e,t)},Cn.unzip=qi,Cn.unzipWith=$i,Cn.update=function(e,t,n){return null==e?e:eo(e,t,ao(n))},Cn.updateWith=function(e,t,n,r){return r="function"==typeof r?r:void 0,null==e?e:eo(e,t,ao(n),r)},Cn.values=Pl,Cn.valuesIn=function(e){return null==e?[]:jt(e,wl(e))},Cn.without=Qi,Cn.words=Hl,Cn.wrap=function(e,t){return Ea(ao(t),e)},Cn.xor=Yi,Cn.xorBy=Xi,Cn.xorWith=Ji,Cn.zip=Zi,Cn.zipObject=function(e,t){return oo(e||[],t||[],Bn)},Cn.zipObjectDeep=function(e,t){return oo(e||[],t||[],Ur)},Cn.zipWith=ea,Cn.entries=Tl,Cn.entriesIn=Cl,Cn.extend=ul,Cn.extendWith=sl,Yl(Cn,Cn),Cn.add=ac,Cn.attempt=Ul,Cn.camelCase=Il,Cn.capitalize=jl,Cn.ceil=lc,Cn.clamp=function(e,t,n){return void 0===n&&(n=t,t=void 0),void 0!==n&&(n=(n=il(n))==n?n:0),void 0!==t&&(t=(t=il(t))==t?t:0),Qn(il(e),t,n)},Cn.clone=function(e){return Yn(e,4)},Cn.cloneDeep=function(e){return Yn(e,5)},Cn.cloneDeepWith=function(e,t){return Yn(e,5,t="function"==typeof t?t:void 0)},Cn.cloneWith=function(e,t){return Yn(e,4,t="function"==typeof t?t:void 0)},Cn.conformsTo=function(e,t){return null==t||Xn(e,t,_l(t))},Cn.deburr=zl,Cn.defaultTo=function(e,t){return null==e||e!=e?t:e},Cn.divide=cc,Cn.endsWith=function(e,t,n){e=ll(e),t=Xr(t);var r=e.length,o=n=void 0===n?r:Qn(rl(n),0,r);return(n-=t.length)>=0&&e.slice(n,o)==t},Cn.eq=Pa,Cn.escape=function(e){return(e=ll(e))&&D.test(e)?e.replace(L,Lt):e},Cn.escapeRegExp=function(e){return(e=ll(e))&&q.test(e)?e.replace(K,"\\$&"):e},Cn.every=function(e,t,n){var r=Ra(e)?ut:nr;return n&&ci(e,t,n)&&(t=void 0),r(e,Xo(t,3))},Cn.find=ia,Cn.findIndex=zi,Cn.findKey=function(e,t){return bt(e,Xo(t,3),cr)},Cn.findLast=aa,Cn.findLastIndex=Ri,Cn.findLastKey=function(e,t){return bt(e,Xo(t,3),ur)},Cn.floor=uc,Cn.forEach=la,Cn.forEachRight=ca,Cn.forIn=function(e,t){return null==e?e:ar(e,Xo(t,3),wl)},Cn.forInRight=function(e,t){return null==e?e:lr(e,Xo(t,3),wl)},Cn.forOwn=function(e,t){return e&&cr(e,Xo(t,3))},Cn.forOwnRight=function(e,t){return e&&ur(e,Xo(t,3))},Cn.get=vl,Cn.gt=Ia,Cn.gte=ja,Cn.has=function(e,t){return null!=e&&oi(e,t,vr)},Cn.hasIn=gl,Cn.head=Ni,Cn.identity=Kl,Cn.includes=function(e,t,n,r){e=Na(e)?e:Pl(e),n=n&&!r?rl(n):0;var o=e.length;return n<0&&(n=an(o+n,0)),Ya(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&wt(e,t,n)>-1},Cn.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=null==n?0:rl(n);return o<0&&(o=an(r+o,0)),wt(e,t,o)},Cn.inRange=function(e,t,n){return t=nl(t),void 0===n?(n=t,t=0):n=nl(n),function(e,t,n){return e>=ln(t,n)&&e=-9007199254740991&&e<=9007199254740991},Cn.isSet=Qa,Cn.isString=Ya,Cn.isSymbol=Xa,Cn.isTypedArray=Ja,Cn.isUndefined=function(e){return void 0===e},Cn.isWeakMap=function(e){return Va(e)&&ri(e)==x},Cn.isWeakSet=function(e){return Va(e)&&"[object WeakSet]"==dr(e)},Cn.join=function(e,t){return null==e?"":rn.call(e,t)},Cn.kebabCase=Rl,Cn.last=Di,Cn.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return void 0!==n&&(o=(o=rl(n))<0?an(r+o,0):ln(o,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,o):_t(e,St,o,!0)},Cn.lowerCase=Ml,Cn.lowerFirst=Nl,Cn.lt=Za,Cn.lte=el,Cn.max=function(e){return e&&e.length?rr(e,Kl,hr):void 0},Cn.maxBy=function(e,t){return e&&e.length?rr(e,Xo(t,2),hr):void 0},Cn.mean=function(e){return kt(e,Kl)},Cn.meanBy=function(e,t){return kt(e,Xo(t,2))},Cn.min=function(e){return e&&e.length?rr(e,Kl,Er):void 0},Cn.minBy=function(e,t){return e&&e.length?rr(e,Xo(t,2),Er):void 0},Cn.stubArray=oc,Cn.stubFalse=ic,Cn.stubObject=function(){return{}},Cn.stubString=function(){return""},Cn.stubTrue=function(){return!0},Cn.multiply=fc,Cn.nth=function(e,t){return e&&e.length?jr(e,rl(t)):void 0},Cn.noConflict=function(){return qe._===this&&(qe._=Pe),this},Cn.noop=Xl,Cn.now=va,Cn.pad=function(e,t,n){e=ll(e);var r=(t=rl(t))?Gt(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return Ro(Zt(o),n)+e+Ro(Jt(o),n)},Cn.padEnd=function(e,t,n){e=ll(e);var r=(t=rl(t))?Gt(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var o=sn();return ln(e+o*(t-e+Be("1e-"+((o+"").length-1))),t)}return Ar(e,t)},Cn.reduce=function(e,t,n){var r=Ra(e)?vt:Tt,o=arguments.length<3;return r(e,Xo(t,4),n,o,er)},Cn.reduceRight=function(e,t,n){var r=Ra(e)?gt:Tt,o=arguments.length<3;return r(e,Xo(t,4),n,o,tr)},Cn.repeat=function(e,t,n){return t=(n?ci(e,t,n):void 0===t)?1:rl(t),Lr(ll(e),t)},Cn.replace=function(){var e=arguments,t=ll(e[0]);return e.length<3?t:t.replace(e[1],e[2])},Cn.result=function(e,t,n){var r=-1,o=(t=lo(t,e)).length;for(o||(o=1,e=void 0);++r9007199254740991)return[];var n=4294967295,r=ln(e,4294967295);e-=4294967295;for(var o=Pt(r,t=Xo(t));++n=i)return e;var l=n-Gt(r);if(l<1)return r;var c=a?uo(a,0,l).join(""):e.slice(0,l);if(void 0===o)return c+r;if(a&&(l+=c.length-l),$a(o)){if(e.slice(l).search(o)){var u,s=c;for(o.global||(o=ge(o.source,ll(re.exec(o))+"g")),o.lastIndex=0;u=o.exec(s);)var f=u.index;c=c.slice(0,void 0===f?l:f)}}else if(e.indexOf(Xr(o),l)!=l){var p=c.lastIndexOf(o);p>-1&&(c=c.slice(0,p))}return c+r},Cn.unescape=function(e){return(e=ll(e))&&F.test(e)?e.replace(A,qt):e},Cn.uniqueId=function(e){var t=++Oe;return ll(e)+t},Cn.upperCase=Fl,Cn.upperFirst=Dl,Cn.each=la,Cn.eachRight=ca,Cn.first=Ni,Yl(Cn,(sc={},cr(Cn,(function(e,t){ke.call(Cn.prototype,t)||(sc[t]=e)})),sc),{chain:!1}),Cn.VERSION="4.17.19",lt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){Cn[e].placeholder=Cn})),lt(["drop","take"],(function(e,t){zn.prototype[e]=function(n){n=void 0===n?1:an(rl(n),0);var r=this.__filtered__&&!t?new zn(this):this.clone();return r.__filtered__?r.__takeCount__=ln(n,r.__takeCount__):r.__views__.push({size:ln(n,4294967295),type:e+(r.__dir__<0?"Right":"")}),r},zn.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),lt(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=1==n||3==n;zn.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Xo(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),lt(["head","last"],(function(e,t){var n="take"+(t?"Right":"");zn.prototype[e]=function(){return this[n](1).value()[0]}})),lt(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");zn.prototype[e]=function(){return this.__filtered__?new zn(this):this[n](1)}})),zn.prototype.compact=function(){return this.filter(Kl)},zn.prototype.find=function(e){return this.filter(e).head()},zn.prototype.findLast=function(e){return this.reverse().find(e)},zn.prototype.invokeMap=Fr((function(e,t){return"function"==typeof e?new zn(this):this.map((function(n){return yr(n,e,t)}))})),zn.prototype.reject=function(e){return this.filter(ka(Xo(e)))},zn.prototype.slice=function(e,t){e=rl(e);var n=this;return n.__filtered__&&(e>0||t<0)?new zn(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),void 0!==t&&(n=(t=rl(t))<0?n.dropRight(-t):n.take(t-e)),n)},zn.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},zn.prototype.toArray=function(){return this.take(4294967295)},cr(zn.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=Cn[r?"take"+("last"==t?"Right":""):t],i=r||/^find/.test(t);o&&(Cn.prototype[t]=function(){var t=this.__wrapped__,a=r?[1]:arguments,l=t instanceof zn,c=a[0],u=l||Ra(t),s=function(e){var t=o.apply(Cn,ht([e],a));return r&&f?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(l=u=!1);var f=this.__chain__,p=!!this.__actions__.length,d=i&&!f,h=l&&!p;if(!i&&u){t=h?t:new zn(this);var v=e.apply(t,a);return v.__actions__.push({func:na,args:[s],thisArg:void 0}),new jn(v,f)}return d&&h?e.apply(this,a):(v=this.thru(s),d?r?v.value()[0]:v.value():v)})})),lt(["pop","push","shift","sort","splice","unshift"],(function(e){var t=be[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);Cn.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var o=this.value();return t.apply(Ra(o)?o:[],e)}return this[n]((function(n){return t.apply(Ra(n)?n:[],e)}))}})),cr(zn.prototype,(function(e,t){var n=Cn[t];if(n){var r=n.name+"";ke.call(bn,r)||(bn[r]=[]),bn[r].push({name:t,func:n})}})),bn[Po(void 0,2).name]=[{name:"wrapper",func:void 0}],zn.prototype.clone=function(){var e=new zn(this.__wrapped__);return e.__actions__=yo(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=yo(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=yo(this.__views__),e},zn.prototype.reverse=function(){if(this.__filtered__){var e=new zn(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},zn.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=Ra(e),r=t<0,o=n?e.length:0,i=function(e,t,n){var r=-1,o=n.length;for(;++r=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}},Cn.prototype.plant=function(e){for(var t,n=this;n instanceof In;){var r=Ci(n);r.__index__=0,r.__values__=void 0,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=e,t},Cn.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof zn){var t=e;return this.__actions__.length&&(t=new zn(this)),(t=t.reverse()).__actions__.push({func:na,args:[Bi],thisArg:void 0}),new jn(t,this.__chain__)}return this.thru(Bi)},Cn.prototype.toJSON=Cn.prototype.valueOf=Cn.prototype.value=function(){return no(this.__wrapped__,this.__actions__)},Cn.prototype.first=Cn.prototype.head,Je&&(Cn.prototype[Je]=function(){return this}),Cn}();qe._=$t,void 0===(o=function(){return $t}.call(t,n,t,r))||(r.exports=o)}).call(this)}).call(this,n(108),n(243)(e))},function(e,t,n){var r=n(26),o=n(335);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(26),o=n(376);"string"==typeof(o=o.__esModule?o.default:o)&&(o=[[e.i,o,""]]);var i={insert:"head",singleton:!1};r(o,i);e.exports=o.locals||{}},function(e,t,n){var r=n(173),o=n(132);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";var r=n(31);e.exports=function(e,t){return!!e&&r((function(){t?e.call(null,(function(){}),1):e.call(null)}))}},function(e,t,n){"use strict";var r=n(27),o=n(54),i=n(53),a=n(113),l=n(138),c=n(139),u=Math.max,s=Math.min,f=Math.floor,p=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g;n(140)("replace",2,(function(e,t,n,h){return[function(r,o){var i=e(this),a=null==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(e,t){var o=h(n,e,this,t);if(o.done)return o.value;var f=r(e),p=String(this),d="function"==typeof t;d||(t=String(t));var g=f.global;if(g){var m=f.unicode;f.lastIndex=0}for(var y=[];;){var b=c(f,p);if(null===b)break;if(y.push(b),!g)break;""===String(b[0])&&(f.lastIndex=l(p,i(f.lastIndex),m))}for(var _,w="",x=0,S=0;S=x&&(w+=p.slice(x,O)+I,x=O+k.length)}return w+p.slice(x)}];function v(e,t,r,i,a,l){var c=r+e.length,u=i.length,s=d;return void 0!==a&&(a=o(a),s=p),n.call(l,s,(function(n,o){var l;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,r);case"'":return t.slice(c);case"<":l=a[o.slice(1,-1)];break;default:var s=+o;if(0===s)return n;if(s>u){var p=f(s/10);return 0===p?n:p<=u?void 0===i[p-1]?o.charAt(1):i[p-1]+o.charAt(1):n}l=i[s-1]}return void 0===l?"":l}))}}))},function(e,t,n){var r=n(63),o=n(121);e.exports=n(57)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(202),o=n(148);e.exports=function(e){return r(o(e))}},function(e,t,n){(function(t){function n(e){try{if(!t.localStorage)return!1}catch(e){return!1}var n=t.localStorage[e];return null!=n&&"true"===String(n).toLowerCase()}e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}}}).call(this,n(108))},function(e,t,n){var r=n(10);r(r.S+r.F*!n(30),"Object",{defineProperties:n(172)})},function(e,t){var n=e.exports={version:"2.6.11"};"number"==typeof __e&&(__e=n)},function(e,t,n){var r=n(81);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){var r=n(10),o=n(249),i=n(60),a=n(94),l=n(174);r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n,r=i(e),c=a.f,u=o(r),s={},f=0;u.length>f;)void 0!==(n=c(r,t=u[f++]))&&l(s,t,n);return s}})},function(e,t,n){var r=n(27),o=n(172),i=n(132),a=n(131)("IE_PROTO"),l=function(){},c=function(){var e,t=n(171)("iframe"),r=i.length;for(t.style.display="none",n(251).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("