UNPKG

850 BJavaScriptView Raw
1
2module.exports = function( ){
3 return function( vs ){
4
5 // validate required params
6 if( !vs.isset('focus:point:lat') ||
7 !vs.isset('focus:point:lon') ||
8 !vs.isset('centroid:field') ||
9 !vs.isset('focus:weight') ||
10 !vs.isset('focus:function') ||
11 !vs.isset('focus:offset') ||
12 !vs.isset('focus:scale') ||
13 !vs.isset('focus:decay') ){
14 return null;
15 }
16
17 // decay function
18 var func = { weight: vs.var('focus:weight') };
19 func[ vs.var('focus:function') ] = {};
20 func[ vs.var('focus:function') ][ vs.var('centroid:field') ] = {
21 origin: {
22 lat: vs.var('focus:point:lat'),
23 lon: vs.var('focus:point:lon')
24 },
25 offset: vs.var('focus:offset'),
26 scale: vs.var('focus:scale'),
27 decay: vs.var('focus:decay')
28 };
29
30 return func;
31 };
32};