1- import { valueOrDefault } from 'chart.js/helpers' ;
2- import { addHours , startOfWeek , endOfWeek , isWeekend , nextMonday , getHours , setHours } from 'date-fns' ;
3- import addDays from 'date-fns/addDays' ;
1+ import { valueOrDefault } from 'chart.js/helpers'
2+ import { addHours , startOfWeek , endOfWeek , isWeekend , nextMonday , getHours , setHours } from 'date-fns'
3+ import addDays from 'date-fns/addDays'
44
55// Adapted from http://indiegamr.com/generate-repeatable-random-numbers-in-js/
6- let _seed = Date . now ( ) ;
6+ let _seed = Date . now ( )
77
88export function srand ( seed ) {
9- _seed = seed ;
9+ _seed = seed
1010}
1111
1212export function rand ( min , max ) {
13- min = valueOrDefault ( min , 0 ) ;
14- max = valueOrDefault ( max , 0 ) ;
15- _seed = ( _seed * 9301 + 49297 ) % 233280 ;
16- return min + ( _seed / 233280 ) * ( max - min ) ;
13+ min = valueOrDefault ( min , 0 )
14+ max = valueOrDefault ( max , 0 )
15+ _seed = ( _seed * 9301 + 49297 ) % 233280
16+ return min + ( _seed / 233280 ) * ( max - min )
1717}
1818
1919export function numbers ( config ) {
20- const cfg = config || { } ;
21- const min = valueOrDefault ( cfg . min , 0 ) ;
22- const max = valueOrDefault ( cfg . max , 100 ) ;
23- const from = valueOrDefault ( cfg . from , [ ] ) ;
24- const count = valueOrDefault ( cfg . count , 8 ) ;
25- const decimals = valueOrDefault ( cfg . decimals , 8 ) ;
26- const continuity = valueOrDefault ( cfg . continuity , 1 ) ;
27- const dfactor = Math . pow ( 10 , decimals ) || 0 ;
28- const data = [ ] ;
29- let i , value ;
20+ const cfg = config || { }
21+ const min = valueOrDefault ( cfg . min , 0 )
22+ const max = valueOrDefault ( cfg . max , 100 )
23+ const from = valueOrDefault ( cfg . from , [ ] )
24+ const count = valueOrDefault ( cfg . count , 8 )
25+ const decimals = valueOrDefault ( cfg . decimals , 8 )
26+ const continuity = valueOrDefault ( cfg . continuity , 1 )
27+ const dfactor = Math . pow ( 10 , decimals ) || 0
28+ const data = [ ]
29+ let i , value
3030
3131 for ( i = 0 ; i < count ; ++ i ) {
32- value = ( from [ i ] || 0 ) + this . rand ( min , max ) ;
32+ value = ( from [ i ] || 0 ) + this . rand ( min , max )
3333 if ( this . rand ( ) <= continuity ) {
34- data . push ( Math . round ( dfactor * value ) / dfactor ) ;
34+ data . push ( Math . round ( dfactor * value ) / dfactor )
3535 } else {
36- data . push ( null ) ;
36+ data . push ( null )
3737 }
3838 }
3939
40- return data ;
40+ return data
4141}
4242
4343export function points ( config ) {
44- const xs = this . numbers ( config ) ;
45- const ys = this . numbers ( config ) ;
46- return xs . map ( ( x , i ) => ( { x, y : ys [ i ] } ) ) ;
44+ const xs = this . numbers ( config )
45+ const ys = this . numbers ( config )
46+ return xs . map ( ( x , i ) => ( { x, y : ys [ i ] } ) )
4747}
4848
49- const rand255 = ( ) => Math . round ( Math . random ( ) * 255 ) ;
49+ const rand255 = ( ) => Math . round ( Math . random ( ) * 255 )
5050
5151export function randomColor ( alpha ) {
52- return 'rgba(' + rand255 ( ) + ',' + rand255 ( ) + ',' + rand255 ( ) + ',' + ( alpha || '.3' ) + ')' ;
52+ return 'rgba(' + rand255 ( ) + ',' + rand255 ( ) + ',' + rand255 ( ) + ',' + ( alpha || '.3' ) + ')'
5353}
5454
5555const MONTHS = [
@@ -64,59 +64,59 @@ const MONTHS = [
6464 'September' ,
6565 'October' ,
6666 'November' ,
67- 'December'
68- ] ;
67+ 'December' ,
68+ ]
6969
7070export function months ( config ) {
71- const cfg = config || { } ;
72- const count = cfg . count || 12 ;
73- const section = cfg . section ;
74- const values = [ ] ;
75- let i , value ;
71+ const cfg = config || { }
72+ const count = cfg . count || 12
73+ const section = cfg . section
74+ const values = [ ]
75+ let i , value
7676
7777 for ( i = 0 ; i < count ; ++ i ) {
78- value = MONTHS [ Math . ceil ( i ) % 12 ] ;
79- values . push ( value . substring ( 0 , section ) ) ;
78+ value = MONTHS [ Math . ceil ( i ) % 12 ]
79+ values . push ( value . substring ( 0 , section ) )
8080 }
8181
82- return values ;
82+ return values
8383}
8484
8585export function hourlyPoints ( config ) {
86- const ys = this . numbers ( config ) ;
87- const start = new Date ( ) . valueOf ( ) ;
88- return ys . map ( ( y , i ) => ( { x : addHours ( start , i ) , y} ) ) ;
86+ const ys = this . numbers ( config )
87+ const start = new Date ( ) . valueOf ( )
88+ return ys . map ( ( y , i ) => ( { x : addHours ( start , i ) , y } ) )
8989}
9090
9191function nextOfficeHour ( time ) {
9292 if ( getHours ( time ) > 17 ) {
93- time = setHours ( addDays ( time , 1 ) , 8 ) ;
93+ time = setHours ( addDays ( time , 1 ) , 8 )
9494 }
9595 if ( getHours ( time ) < 9 ) {
96- time = setHours ( time , 9 ) ;
96+ time = setHours ( time , 9 )
9797 } else {
98- time = addHours ( time , 1 ) ;
98+ time = addHours ( time , 1 )
9999 }
100100 if ( isWeekend ( time ) ) {
101- time = setHours ( nextMonday ( time ) , 9 ) ;
101+ time = setHours ( nextMonday ( time ) , 9 )
102102 }
103- return time ;
103+ return time
104104}
105105
106106export function officeHourPoints ( config ) {
107- const ys = this . numbers ( config ) ;
108- let time = new Date ( ) . valueOf ( ) ;
109- return ys . map ( y => {
110- time = nextOfficeHour ( time ) ;
111- return { x : + time , y} ;
112- } ) ;
107+ const ys = this . numbers ( config )
108+ let time = new Date ( ) . valueOf ( )
109+ return ys . map ( ( y ) => {
110+ time = nextOfficeHour ( time )
111+ return { x : + time , y }
112+ } )
113113}
114114
115115export function nextWeek ( ) {
116- const now = new Date ( ) . valueOf ( ) ;
117- const min = startOfWeek ( addHours ( endOfWeek ( now ) , 24 ) ) ;
116+ const now = new Date ( ) . valueOf ( )
117+ const min = startOfWeek ( addHours ( endOfWeek ( now ) , 24 ) )
118118 return {
119119 min : + min ,
120- max : + endOfWeek ( min )
121- } ;
120+ max : + endOfWeek ( min ) ,
121+ }
122122}
0 commit comments