git.iko.soy/rowtype-yoga/yoga-r3f
on main help sign in
83 lines 1.5 kB history raw
1// global exports
2var createDate = function(y, m, d, h, mi, s, ms) {
3 var date = new Date(Date.UTC(y, m, d, h, mi, s, ms));
4 if (y >= 0 && y < 100) {
5 date.setUTCFullYear(y);
6 }
7 return date;
8};
10var createLocalDate = function(y, m, d, h, mi, s, ms) {
11 var date = new Date(y, m, d, h, mi, s, ms);
12 if (y >= 0 && y < 100) {
13 date.setFullYear(y);
14 }
15 return date;
16};
18export function now() {
19 return new Date();
22export function isValid(date) {
23 return !isNaN(date.getTime());
26export function toInstantImpl(just) {
27 return function(nothing) {
28 return function(date) {
29 var t = date.getTime();
30 return isNaN(t) ? nothing : just(t);
31 };
32 };
35export function fromInstant(instant) {
36 return new Date(instant);
39export function jsdate(parts) {
40 return createDate(
41 parts.year,
42 parts.month,
43 parts.day,
44 parts.hour,
45 parts.minute,
46 parts.second,
47 parts.millisecond
48 );
51export function jsdateLocal(parts) {
52 return function() {
53 return createLocalDate(
54 parts.year,
55 parts.month,
56 parts.day,
57 parts.hour,
58 parts.minute,
59 parts.second,
60 parts.millisecond
61 );
62 };
65export function dateMethod(method, date) {
66 return date[method]();
69export function dateMethodEff(method, date) {
70 return function() {
71 return date[method]();
72 };
75export function parse(dateString) {
76 return function() {
77 return new Date(dateString);
78 };
81export function fromTime(time) {
82 return new Date(time);