firefly-compiler 0.5.48 → 0.5.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/firefly.mjs +1 -1
- package/compiler/Compiler.ff +1 -1
- package/core/BrowserSystem.ff +5 -0
- package/core/Date.ff +623 -0
- package/core/Instant.ff +0 -24
- package/core/JsValue.ff +1 -1
- package/core/Map.ff +8 -0
- package/core/NodeSystem.ff +5 -0
- package/core/Path.ff +2 -2
- package/core/Random.ff +0 -4
- package/core/RbMap.ff +16 -0
- package/core/Set.ff +3 -1
- package/core/Task.ff +0 -4
- package/experimental/tests/TestDate.ff +10 -0
- package/experimental/tests/TestEmailAlertDateLogic.ff +84 -0
- package/firefly.sh +5 -5
- package/output/js/ff/compiler/Builder.mjs +2 -2
- package/output/js/ff/compiler/Compiler.mjs +3 -3
- package/output/js/ff/compiler/Dependencies.mjs +2 -2
- package/output/js/ff/compiler/DependencyLock.mjs +2 -2
- package/output/js/ff/compiler/Deriver.mjs +2 -2
- package/output/js/ff/compiler/Dictionaries.mjs +2 -2
- package/output/js/ff/compiler/Environment.mjs +2 -2
- package/output/js/ff/compiler/Inference.mjs +2 -2
- package/output/js/ff/compiler/JsEmitter.mjs +2 -2
- package/output/js/ff/compiler/JsImporter.mjs +2 -2
- package/output/js/ff/compiler/LspHook.mjs +2 -2
- package/output/js/ff/compiler/Main.mjs +2 -2
- package/output/js/ff/compiler/ModuleCache.mjs +2 -2
- package/output/js/ff/compiler/Parser.mjs +2 -2
- package/output/js/ff/compiler/Patterns.mjs +2 -2
- package/output/js/ff/compiler/Resolver.mjs +2 -2
- package/output/js/ff/compiler/Substitution.mjs +2 -2
- package/output/js/ff/compiler/Syntax.mjs +2 -2
- package/output/js/ff/compiler/Token.mjs +2 -2
- package/output/js/ff/compiler/Tokenizer.mjs +2 -2
- package/output/js/ff/compiler/Unification.mjs +2 -2
- package/output/js/ff/compiler/Wildcards.mjs +2 -2
- package/output/js/ff/compiler/Workspace.mjs +2 -2
- package/output/js/ff/core/Any.mjs +2 -2
- package/output/js/ff/core/Array.mjs +2 -2
- package/output/js/ff/core/AssetSystem.mjs +2 -2
- package/output/js/ff/core/Atomic.mjs +2 -2
- package/output/js/ff/core/Bool.mjs +2 -2
- package/output/js/ff/core/BrowserSystem.mjs +28 -2
- package/output/js/ff/core/Buffer.mjs +2 -2
- package/output/js/ff/core/BuildSystem.mjs +2 -2
- package/output/js/ff/core/Channel.mjs +2 -2
- package/output/js/ff/core/Char.mjs +2 -2
- package/output/js/ff/core/Core.mjs +2 -2
- package/output/js/ff/core/Crypto.mjs +2 -2
- package/output/js/ff/core/Date.mjs +1009 -0
- package/output/js/ff/core/Duration.mjs +2 -2
- package/output/js/ff/core/Equal.mjs +2 -2
- package/output/js/ff/core/Error.mjs +2 -2
- package/output/js/ff/core/FileHandle.mjs +2 -2
- package/output/js/ff/core/Float.mjs +2 -2
- package/output/js/ff/core/HttpClient.mjs +2 -2
- package/output/js/ff/core/Int.mjs +2 -2
- package/output/js/ff/core/IntMap.mjs +2 -2
- package/output/js/ff/core/Js.mjs +2 -2
- package/output/js/ff/core/JsSystem.mjs +2 -2
- package/output/js/ff/core/JsValue.mjs +3 -3
- package/output/js/ff/core/Json.mjs +2 -2
- package/output/js/ff/core/List.mjs +2 -2
- package/output/js/ff/core/Lock.mjs +2 -2
- package/output/js/ff/core/Log.mjs +2 -2
- package/output/js/ff/core/Map.mjs +18 -2
- package/output/js/ff/core/NodeSystem.mjs +28 -2
- package/output/js/ff/core/Nothing.mjs +2 -2
- package/output/js/ff/core/Option.mjs +2 -2
- package/output/js/ff/core/Ordering.mjs +2 -2
- package/output/js/ff/core/Pair.mjs +2 -2
- package/output/js/ff/core/Path.mjs +4 -4
- package/output/js/ff/core/Queue.mjs +2 -2
- package/output/js/ff/core/Random.mjs +2 -10
- package/output/js/ff/core/RbMap.mjs +74 -2
- package/output/js/ff/core/Serializable.mjs +2 -2
- package/output/js/ff/core/Set.mjs +26 -2
- package/output/js/ff/core/Show.mjs +2 -2
- package/output/js/ff/core/SourceLocation.mjs +2 -2
- package/output/js/ff/core/Stream.mjs +2 -2
- package/output/js/ff/core/String.mjs +2 -2
- package/output/js/ff/core/StringMap.mjs +2 -2
- package/output/js/ff/core/Task.mjs +2 -10
- package/output/js/ff/core/Try.mjs +2 -2
- package/output/js/ff/core/Unit.mjs +2 -2
- package/package.json +1 -1
- package/postgresql/Pg.ff +0 -40
- package/s3/S3.ff +4 -4
- package/vscode/package.json +1 -1
- package/experimental/IfBug.ff +0 -8
- package/output/js/ff/core/Instant.mjs +0 -149
- /package/fireflysite/assets/markdown/scratch/{Toc.md → toc.md} +0 -0
package/core/Path.ff
CHANGED
|
@@ -72,9 +72,9 @@ extend self: Path {
|
|
|
72
72
|
Js.await(fs->promises->stat(self.absolutePath))?
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
modified():
|
|
75
|
+
modified(): Date {
|
|
76
76
|
let fs = Js.import("fs")
|
|
77
|
-
(Js.await(fs->promises->stat(self.absolutePath))->mtimeMs
|
|
77
|
+
Date.newEpochMilliseconds("UTC", Js.await(fs->promises->stat(self.absolutePath))->mtimeMs?)
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
entries(): Stream[PathEntry] {
|
package/core/Random.ff
CHANGED
|
@@ -19,10 +19,6 @@ newFromFloat(seed: Float): Random {
|
|
|
19
19
|
newFromBuffer(buffer)
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
newFromInstant(seed: Instant): Random {
|
|
23
|
-
newFromFloat(seed.since1970.seconds)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
22
|
newFromBuffer(buffer: Buffer): Random {
|
|
27
23
|
mutable n: Float = (0xefc8249d).toFloat()
|
|
28
24
|
function mash(data: Buffer): Float {
|
package/core/RbMap.ff
CHANGED
|
@@ -124,6 +124,22 @@ extend self[K: Order, V]: RB[K, V] {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
|
+
first(): Option[Pair[K, V]] {
|
|
128
|
+
self.{
|
|
129
|
+
| E => None
|
|
130
|
+
| T(_, E, k, v, _) => Some(Pair(k, v))
|
|
131
|
+
| T(_, l, _, _, _) => l.first()
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
last(): Option[Pair[K, V]] {
|
|
136
|
+
self.{
|
|
137
|
+
| E => None
|
|
138
|
+
| T(_, _, k, v, E) => Some(Pair(k, v))
|
|
139
|
+
| T(_, _, _, _, r) => r.last()
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
127
143
|
lastBefore(key: K): Option[Pair[K, V]] {
|
|
128
144
|
self.{
|
|
129
145
|
| E => None
|
package/core/Set.ff
CHANGED
|
@@ -17,6 +17,8 @@ extend self[T: Order]: Set[T] {
|
|
|
17
17
|
remove(value: T): Set[T] {Set(self.map.remove(value))}
|
|
18
18
|
removeAll(that: Set[T]): Set[T] {Set(self.map.removeAll(that.map))}
|
|
19
19
|
contains(value: T): Bool {self.map.contains(value)}
|
|
20
|
+
first(): Option[T] {self.map.first().map {_.first}}
|
|
21
|
+
last(): Option[T] {self.map.last().map {_.first}}
|
|
20
22
|
lastBefore(key: T): Option[T] {self.map.lastBefore(key).map {_.first}}
|
|
21
23
|
firstAfter(key: T): Option[T] {self.map.firstAfter(key).map {_.first}}
|
|
22
24
|
size(): Int {self.map.size()}
|
|
@@ -43,4 +45,4 @@ instance Set[A: Show: Order]: Show {
|
|
|
43
45
|
show(value: Set[A]): String {
|
|
44
46
|
Show.show(value.toList()) + ".toSet()"
|
|
45
47
|
}
|
|
46
|
-
}
|
|
48
|
+
}
|
package/core/Task.ff
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
nodeMain(system: NodeSystem) {
|
|
2
|
+
let now = system.date()
|
|
3
|
+
let tuesday = now.schedule {_.add(days = 1)}.find {_.dayOfWeek() == Date.tuesday}.grab()
|
|
4
|
+
let tuesdayAtSix = tuesday.startOfDay().with(hour = Some(18))
|
|
5
|
+
let tuesdaysAtSix = tuesdayAtSix.schedule {_.add(weeks = 1)}
|
|
6
|
+
let meetups = tuesdaysAtSix.filter {d => d.month() < d.add(weeks = 1).month()}
|
|
7
|
+
meetups.takeFirst(12).each {meetup =>
|
|
8
|
+
Log.debug("Meetup: " + meetup.toRfc9557())
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
nodeMain(system: NodeSystem) {
|
|
2
|
+
let rules = [Monday, Saturday].map {NewsletterRule(_, 7, 0)}
|
|
3
|
+
let next = nextDelivery(rules, system.date())
|
|
4
|
+
Log.debug("Next delivery: " + next.map {_.toRfc9557()}.else {"None"})
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
data DeliveryFrequency {
|
|
9
|
+
Workday
|
|
10
|
+
Day
|
|
11
|
+
Monday
|
|
12
|
+
Tuesday
|
|
13
|
+
Wednesday
|
|
14
|
+
Thursday
|
|
15
|
+
Friday
|
|
16
|
+
Saturday
|
|
17
|
+
Sunday
|
|
18
|
+
Never
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
data NewsletterRule(
|
|
22
|
+
frequency: DeliveryFrequency
|
|
23
|
+
hour: Int
|
|
24
|
+
minute: Int
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
nextDelivery(rules: List[NewsletterRule], date: Date): Option[Date] {
|
|
29
|
+
mutable next: Option[Date] = None
|
|
30
|
+
rules.each {rule =>
|
|
31
|
+
if(isValidDay(rule.frequency, date)) {
|
|
32
|
+
let ruleDate = date.startOfDay().with(hour = Some(rule.hour), minute = Some(rule.minute))
|
|
33
|
+
next = bestDate(next, Some(ruleDate), Some(date))
|
|
34
|
+
}
|
|
35
|
+
let validDay = nextValidDay(rule.frequency, date)
|
|
36
|
+
let ruleDate = validDay.startOfDay().with(hour = Some(rule.hour), minute = Some(rule.minute))
|
|
37
|
+
next = bestDate(next, Some(ruleDate), Some(date))
|
|
38
|
+
}
|
|
39
|
+
next
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
isValidDay(frequency: DeliveryFrequency, date: Date): Bool {
|
|
43
|
+
| Monday, _ => date.dayOfWeek() == Date.monday
|
|
44
|
+
| Tuesday, _ => date.dayOfWeek() == Date.tuesday
|
|
45
|
+
| Wednesday, _ => date.dayOfWeek() == Date.wednesday
|
|
46
|
+
| Thursday, _ => date.dayOfWeek() == Date.thursday
|
|
47
|
+
| Friday, _ => date.dayOfWeek() == Date.friday
|
|
48
|
+
| Saturday, _ => date.dayOfWeek() == Date.saturday
|
|
49
|
+
| Sunday, _ => date.dayOfWeek() == Date.sunday
|
|
50
|
+
| Workday, _ => date.dayOfWeek() <= Date.friday
|
|
51
|
+
| Day, _ => True
|
|
52
|
+
| Never, _ => panic("Unexhaustive")
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
bestDate(a: Option[Date], b: Option[Date], after: Option[Date]): Option[Date] {
|
|
56
|
+
| Some(x), Some(y), _ {after.all {x > _} && after.all {y > _}} => Some(if(x < y) {x} else {y})
|
|
57
|
+
| Some(x), _, _ {after.all {x > _}} => Some(x)
|
|
58
|
+
| _, Some(y), _ {after.all {y > _}} => Some(y)
|
|
59
|
+
| _, _, _ => None
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
nextValidDay(frequency: DeliveryFrequency, date: Date): Date {
|
|
63
|
+
| Monday, _ => nextDayOfWeek(date, Date.monday)
|
|
64
|
+
| Tuesday, _ => nextDayOfWeek(date, Date.tuesday)
|
|
65
|
+
| Wednesday, _ => nextDayOfWeek(date, Date.wednesday)
|
|
66
|
+
| Thursday, _ => nextDayOfWeek(date, Date.thursday)
|
|
67
|
+
| Friday, _ => nextDayOfWeek(date, Date.friday)
|
|
68
|
+
| Saturday, _ => nextDayOfWeek(date, Date.saturday)
|
|
69
|
+
| Sunday, _ => nextDayOfWeek(date, Date.sunday)
|
|
70
|
+
| Workday, _ =>
|
|
71
|
+
if(date.dayOfWeek() >= Date.friday) {
|
|
72
|
+
nextDayOfWeek(date, Date.monday)
|
|
73
|
+
} else {
|
|
74
|
+
date.add(days = 1)
|
|
75
|
+
}
|
|
76
|
+
| Day, _ => date.add(days = 1)
|
|
77
|
+
| Never, _ => panic("Unexhaustive")
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
nextDayOfWeek(date: Date, dayOfWeek: Int): Date {
|
|
81
|
+
date
|
|
82
|
+
.schedule {_.add(days = 1)}.dropFirst()
|
|
83
|
+
.find {_.dayOfWeek() == dayOfWeek}.grab()
|
|
84
|
+
}
|
package/firefly.sh
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
set -e
|
|
3
|
-
firefly_link=`readlink -f "$0"`
|
|
4
|
-
firefly=`dirname "$firefly_link"`
|
|
5
|
-
node "$firefly/output/js/ff/compiler/Main.mjs" $@
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
set -e
|
|
3
|
+
firefly_link=`readlink -f "$0"`
|
|
4
|
+
firefly=`dirname "$firefly_link"`
|
|
5
|
+
node --harmony-temporal "$firefly/output/js/ff/compiler/Main.mjs" $@
|
|
@@ -48,6 +48,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
48
48
|
|
|
49
49
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
50
50
|
|
|
51
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
52
|
+
|
|
51
53
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
52
54
|
|
|
53
55
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -60,8 +62,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
60
62
|
|
|
61
63
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
62
64
|
|
|
63
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
64
|
-
|
|
65
65
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
66
66
|
|
|
67
67
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -48,6 +48,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
48
48
|
|
|
49
49
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
50
50
|
|
|
51
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
52
|
+
|
|
51
53
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
52
54
|
|
|
53
55
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -60,8 +62,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
60
62
|
|
|
61
63
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
62
64
|
|
|
63
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
64
|
-
|
|
65
65
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
66
66
|
|
|
67
67
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -123,7 +123,7 @@ export function Compiler(emitTarget_, task_, compilerModulePath_, jsOutputPath_,
|
|
|
123
123
|
return {emitTarget_, task_, compilerModulePath_, jsOutputPath_, packagePaths_, singleFilePackages_, virtualFiles_, cache_, lspHook_, phaseDurationDelta_, phaseDurations_};
|
|
124
124
|
}
|
|
125
125
|
|
|
126
|
-
export const coreImports_ = ff_core_List.List_map(["Any", "Array", "AssetSystem", "Atomic", "Bool", "BrowserSystem", "Buffer", "BuildSystem", "Channel", "Char", "Core", "Crypto", "Duration", "Equal", "Error", "FileHandle", "Float", "HttpClient", "
|
|
126
|
+
export const coreImports_ = ff_core_List.List_map(["Any", "Array", "AssetSystem", "Atomic", "Bool", "BrowserSystem", "Buffer", "BuildSystem", "Channel", "Char", "Core", "Crypto", "Date", "Duration", "Equal", "Error", "FileHandle", "Float", "HttpClient", "Int", "IntMap", "Json", "JsValue", "JsSystem", "List", "Lock", "Log", "Map", "NodeSystem", "Nothing", "Option", "Ordering", "Pair", "Path", "Queue", "Random", "Serializable", "Set", "Show", "SourceLocation", "Stream", "String", "StringMap", "Task", "Try", "Unit", "Js"], ((moduleName_) => {
|
|
127
127
|
return ff_compiler_Syntax.DImport(ff_compiler_Syntax.Location("<prelude>", 1, 1), moduleName_, ff_compiler_Syntax.PackagePair("ff", "core"), [], moduleName_)
|
|
128
128
|
}));
|
|
129
129
|
|
|
@@ -38,6 +38,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
38
38
|
|
|
39
39
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
40
40
|
|
|
41
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
42
|
+
|
|
41
43
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
42
44
|
|
|
43
45
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -50,8 +52,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
50
52
|
|
|
51
53
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
52
54
|
|
|
53
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
54
|
-
|
|
55
55
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
56
56
|
|
|
57
57
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -26,6 +26,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
26
26
|
|
|
27
27
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
28
28
|
|
|
29
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
30
|
+
|
|
29
31
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
30
32
|
|
|
31
33
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -38,8 +40,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
38
40
|
|
|
39
41
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
40
42
|
|
|
41
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
42
|
-
|
|
43
43
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
44
44
|
|
|
45
45
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -32,6 +32,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
32
32
|
|
|
33
33
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
34
34
|
|
|
35
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
36
|
+
|
|
35
37
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
36
38
|
|
|
37
39
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -44,8 +46,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
44
46
|
|
|
45
47
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
46
48
|
|
|
47
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
48
|
-
|
|
49
49
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
50
50
|
|
|
51
51
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -36,6 +36,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
36
36
|
|
|
37
37
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
38
38
|
|
|
39
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
40
|
+
|
|
39
41
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
40
42
|
|
|
41
43
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -48,8 +50,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
48
50
|
|
|
49
51
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
50
52
|
|
|
51
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
52
|
-
|
|
53
53
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
54
54
|
|
|
55
55
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -32,6 +32,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
32
32
|
|
|
33
33
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
34
34
|
|
|
35
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
36
|
+
|
|
35
37
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
36
38
|
|
|
37
39
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -44,8 +46,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
44
46
|
|
|
45
47
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
46
48
|
|
|
47
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
48
|
-
|
|
49
49
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
50
50
|
|
|
51
51
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -32,6 +32,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
32
32
|
|
|
33
33
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
34
34
|
|
|
35
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
36
|
+
|
|
35
37
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
36
38
|
|
|
37
39
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -44,8 +46,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
44
46
|
|
|
45
47
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
46
48
|
|
|
47
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
48
|
-
|
|
49
49
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
50
50
|
|
|
51
51
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -52,6 +52,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
52
52
|
|
|
53
53
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
54
54
|
|
|
55
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
56
|
+
|
|
55
57
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
56
58
|
|
|
57
59
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -64,8 +66,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
64
66
|
|
|
65
67
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
66
68
|
|
|
67
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
68
|
-
|
|
69
69
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
70
70
|
|
|
71
71
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -34,6 +34,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
34
34
|
|
|
35
35
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
36
36
|
|
|
37
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
38
|
+
|
|
37
39
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
38
40
|
|
|
39
41
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -46,8 +48,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
46
48
|
|
|
47
49
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
48
50
|
|
|
49
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
50
|
-
|
|
51
51
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
52
52
|
|
|
53
53
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -30,6 +30,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
30
30
|
|
|
31
31
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
32
32
|
|
|
33
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
34
|
+
|
|
33
35
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
34
36
|
|
|
35
37
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -42,8 +44,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
42
44
|
|
|
43
45
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
44
46
|
|
|
45
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
46
|
-
|
|
47
47
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
48
48
|
|
|
49
49
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -26,6 +26,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
26
26
|
|
|
27
27
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
28
28
|
|
|
29
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
30
|
+
|
|
29
31
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
30
32
|
|
|
31
33
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -38,8 +40,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
38
40
|
|
|
39
41
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
40
42
|
|
|
41
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
42
|
-
|
|
43
43
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
44
44
|
|
|
45
45
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -32,6 +32,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
32
32
|
|
|
33
33
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
34
34
|
|
|
35
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
36
|
+
|
|
35
37
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
36
38
|
|
|
37
39
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -44,8 +46,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
44
46
|
|
|
45
47
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
46
48
|
|
|
47
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
48
|
-
|
|
49
49
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
50
50
|
|
|
51
51
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -30,6 +30,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
30
30
|
|
|
31
31
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
32
32
|
|
|
33
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
34
|
+
|
|
33
35
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
34
36
|
|
|
35
37
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -42,8 +44,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
42
44
|
|
|
43
45
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
44
46
|
|
|
45
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
46
|
-
|
|
47
47
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
48
48
|
|
|
49
49
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -28,6 +28,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
28
28
|
|
|
29
29
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
30
30
|
|
|
31
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
32
|
+
|
|
31
33
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
32
34
|
|
|
33
35
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -40,8 +42,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
40
42
|
|
|
41
43
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
42
44
|
|
|
43
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
44
|
-
|
|
45
45
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
46
46
|
|
|
47
47
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
@@ -24,6 +24,8 @@ import * as ff_core_Core from "../../ff/core/Core.mjs"
|
|
|
24
24
|
|
|
25
25
|
import * as ff_core_Crypto from "../../ff/core/Crypto.mjs"
|
|
26
26
|
|
|
27
|
+
import * as ff_core_Date from "../../ff/core/Date.mjs"
|
|
28
|
+
|
|
27
29
|
import * as ff_core_Duration from "../../ff/core/Duration.mjs"
|
|
28
30
|
|
|
29
31
|
import * as ff_core_Equal from "../../ff/core/Equal.mjs"
|
|
@@ -36,8 +38,6 @@ import * as ff_core_Float from "../../ff/core/Float.mjs"
|
|
|
36
38
|
|
|
37
39
|
import * as ff_core_HttpClient from "../../ff/core/HttpClient.mjs"
|
|
38
40
|
|
|
39
|
-
import * as ff_core_Instant from "../../ff/core/Instant.mjs"
|
|
40
|
-
|
|
41
41
|
import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|