From 32a056e2b7b46a7224c0ef3b191fa1c7f9835261 Mon Sep 17 00:00:00 2001 From: Craig Peterson Date: Thu, 8 Jun 2017 09:15:14 -0400 Subject: [PATCH] magic string durations --- pkg/js/helpers.js | 25 +++++++++++++++++ pkg/js/static.go | 70 +++++++++++++++++++++++------------------------ 2 files changed, 60 insertions(+), 35 deletions(-) diff --git a/pkg/js/helpers.js b/pkg/js/helpers.js index 87dedb710..421741dde 100644 --- a/pkg/js/helpers.js +++ b/pkg/js/helpers.js @@ -81,13 +81,38 @@ function DEFAULTS(){ // TTL(v): Set the TTL for a DNS record. function TTL(v) { + if (_.isString(v)){ + v = stringToDuration(v); + } return function(r) { r.ttl = v; } } +function stringToDuration(v){ + var matches = v.match(/^(\d+)([smhdwny]?)$/); + if (matches == null){ + throw v + " is not a valid duration string" + } + unit = "s" + if (matches[2]){ + unit = matches[2] + } + v = parseInt(matches[1]) + var u = {"s":1, "m":60, "h":3600} + u["d"] = u.h * 24 + u["w"] = u.d * 7 + u["n"] = u.d * 30 + u["y"] = u.d * 365 + v *= u[unit]; + return v +} + // DefaultTTL(v): Set the default TTL for the domain. function DefaultTTL(v) { + if (_.isString(v)){ + v = stringToDuration(v); + } return function(d) { d.defaultTTL = v; } diff --git a/pkg/js/static.go b/pkg/js/static.go index f6b9a67a7..76fd649d6 100644 --- a/pkg/js/static.go +++ b/pkg/js/static.go @@ -190,15 +190,15 @@ var _escData = map[string]*_escFile{ "/helpers.js": { local: "pkg/js/helpers.js", - size: 8855, + size: 8979, modtime: 0, compressed: ` H4sIAAAAAAAA/9wZa2/byPG7fsUcgUZkRdOPXNKCOhVVbflg1JINWb76IAjCmlxJm/CF3aUcNyf/9mIf -JJekFDtA0w/NB0fcnffMzszOWjnDwDglAbf6nc4WUQjSZAUD+NoBAKB4TRiniDIf5gtXroUJW2Y03ZIQ +JJeklNhA0w/NB0fcnffMzszOWjnDwDglAbf6nc4WUQjSZAUD+NoBAKB4TRiniDIf5gtXroUJW2Y03ZIQ 15bTGJFELnR2mlaIVyiP+JCuGQxgvuh3Oqs8CThJEyAJ4QRF5N/YdhSzGudD3L8hQVMK8b3rK+FaguwM USb4aVqwshMUY5c/Z9iNMUeOFoeswBaLTime+ILBAKzxcHI/vLYUo538K3SneC2UEeR8kEQlii//uiCI +/KvFlFo71Uae1nONjbFa6evPcFzmkhCLeEvEnarzWFXnBQPQwGwpQrpSm7AYDCAbvr4CQe868C7d2B3 -SbYM0mSLKSNpwrpAEkXDMZwiFrw6IAxgldIY8SXn9p59p2GakGXfb5qa05V1Qpa9Zp0EP13IkFCGKe3r +SbYM0mSLKSNpwrpAEkXDMZwiFrw6IAxgldIY8SXn9p59p2GakGVvN03N6co6Icu+Z50EP13IkFCGKe3r lAEuEWuylEB+9VNL9XUntoOUhsyfL1wRibdVIIpdHWmz2bUPJ66kyDAVlvDni11duIymAWbsAtE1s2NX B69p7ONjYVnAKNhAnIZkRTB1hS8JB8IAeZ5Xg9WUfQhQFAmgJ8I3mq4JiChFz34hgFApp4xscfRsQqng EK6gayxZJjyVhggRRyWkOBtLj7BLzd2OawFTxI2t1euXOzvAEcMl/lAItQdZWMAWcfNJBmSbdt2O80+L @@ -206,38 +206,38 @@ EK6gayxZJjyVhggRRyWkOBtLj7BLzd2OawFTxI2t1euXOzvAEcMl/lAItQdZWMAWcfNJBmSbdt2O80+L S+iBBSpg5brmq+K60mPX6Rwfw0Uzpn04pxhxDAguJneajgf3DAPfYMgQRTHmmDJArAhjQEkohGNeFZct wlpBeXaVOoPDJ0sJWjqNwABO+kB+MZOwF+FkzTd9IL2eU1qv5kcDek4WruHQXZvBmWCA6DqPccLr1A3n COgYBlACzsmiMuuB01jlLpWGVIHRCUiDaH+MLof317M70GmKAQKGOaSrQvWKM/AUUJZFz/JHFMEq5znF -Rf3yBL2ROPXyIPO0Iv5EogiCCCMKKHmGjOItSXMGWxTlmAmGpic1VlFi23Vwv69eNaXpS2kK06ZOUQuV -XWaza3vr+HCHuYzD2exaslRRquLQkFmB1/NzsWlTUwjqcR7BALZ1fhdlCq6xLXxQsJdr6ogYBjNxD8gQ -1gzhVRm/IYoSxqjNVlG/JijGlgsnDgiQhJ2neSLj5ARijBIGYZp0OYjmLKW6CGHlb6OgeCZykvIi7qgm -ItBRFJnatRoFje4UTULRIRRkZZOQJyFekQSH3eqsVhBwdGr2Pq9Zy6iYcyHDQuQSRavuxqESkWRFyR3r -FMo8z3MqpTQckMzMUyKlwQDWmJdoVYy6Z87rsqIwnEq+duhaQ8stpBGUnbqkw+GbhS1Bf7C8w+G3Rb6+ -Gt7pXhfRNeavyV3Bg0L4kcILZlp6LV1DA6HC+WQ4Hn2HCgb8j1dBMvumCiIxPsy+Q/4S+sdLP3uYvSb7 -+EEJk1GSUsKf36ZDgQUlWkOZYIODz6Kq2HPRmd1xSpK1C+L3JI8fRfdbrS/cqqC6YI0fAH/JcMAZHOJi -OW802fs3mEx2TbL4FXyMztC0pxDNcsF0ngsNk5YmqiwgfzGpIxMXCxY41WUUVV0U/KKQim8jSctm1Jao -Rore05vVCDTaMsnvJwUxJwvJWlR5p94sV7x6FhyVngGrR3qWuK2IEhWklOKAy4bXcoyW1oytyfdkpsn/ -LC1Nvp2ThODD8ehuNP1tNDUVMIVtADSEfqV2mrVfxl39Ci1J+fr/3b7Yqm7pnKKEic8lR4+RHmuIlCT4 -z+dR+uTDqQsbst74cOaKbv8fiGEf3i9cUNs/F9sf5PbVrQ8fFwtFRl4UrVN4gTN4gffw0oef4QU+wAvA -C3y0OspBEUmwakQ7ZlQOREzCL9AQcl8vKuEzGDRhy85eAEjpYAAk8+TPfnmK5Gct0o2bqNpsRHlBa+nF -KFMgbukv4nwtJhF5fBam3CbOzvE+pSSxLdeMd3Ft3E+4wFTc+60jYiglPFKqJT5qiomFb6gmt9vKaZql -euL7v6agJm6oKKU4rKS4Sg9grvdLnpkXpU+O214WAVmta+k7hoHlbzUalMGnx2zpk9YBXsByhBpCBq2q -AtT7fbCK+97V+PZmOlvOpsPJ3eXNdKwOVYSEpVQUVpfI8gi+HcnlPHpTYlDTxkBcbGtFp8nKcsH6u1WS -L82q/n3tNo5Q12/mC1NKZ7dwagVCSFt3OMWBvqBxHrV9rIx4ez/9dWQbBlILWsHQ+yfG2X3yOUmfEhjA -CkUMF8n2ZtlCLtcO4HOa41pGbNYG5jKO6L4qsveyLIH78r588KpctQlF4WzflgRMfTZoulKORVuVR7MQ -2Xalk76ssrpNQozlMRbJEYUhxYx5oEayHAj3ykRRdVa2rkWm7JpsdWQ1THvYLcLvqznFPVyaXBEPvnlx -rjo1OTTVo1Y9/d0/Aw1xQEIMj4jhENJEDZAL+CO4bExCmZqEiju/6iYAMflV9AMV6s3eqaeArU0+Jayy -nA9XlzB+qCgry0t3FIqVBjd914on1YzJiDkQTWDMsQTcnCxqe28bxkJsUxwYiRe+YyoKSv0imsq0IYda -THbmrI0gdfdKYHj3Doyhb7XRrEmlxAZu7b3BQG0j7lpL5UxXpKfWQPftUA1r6TMUy5eU6m3owdpjPUGz -iAvhxr2E21YI0oSlog1K13Y1Xx4fHCxbbjlXdsGy7z6TLCPJ+ifHaqqyt/6Gnh4RF09RQf2xheKgr1Ix -yaB67SmLFIMVTWPYcJ75x8eMo+BzusV0FaVPXpDGx+j4r6cnH/7y88nx6dnpx48nIqdvCSoQPqEtYgEl -GffQY5pziRORR4ro8/FjRDIdf96Gx0Z5vbXDlDsdY2ANAwhT7rEsItzuet26Frb81wvnJwvnz2cfPjo9 -8XG6cIyvs9rX+4XTeGMq2pk8LhiTlfiS07NyeOaYD5uSt1V7NCwiSd1tJbU2SpLHjdQbquz8p7MPH/cU -qPeik/6bzCtHR+p8GCM8ISKMEd94qyhNqeB5LPSswsOgDj3oel3oQbhn3Bf2y7FMlObhKkIUA4oIYpj5 -amCAuRyHc5EepJAkCcmWhDmKiscIT74an18ub6c3D78vby4vRVXpBiXJZUbTL89dH7rpatXd9aWMoosQ -yxASJlqTsElmcphKUhAxyOBkH5XL++vrg3RWeRQpSgWV3hSRaJ0nFTWxg+lR8R5kmsPvVDroKXW6Wqmy -l3BSvguAbQyyHb8uoJ71H7TaUuNV1tvDNWkzPcRmv1VrXIR1VVDc381uxi7cTm9+u7oYTeHudnR+dXl1 -DtPR+c30Ama/347ujFnd5XI6uriajs5nNqOBCyF72yVZHCJGA48kIf5ys5KXEvhpMICjU/jjD0Fm39be -SYZFcUjksILRQD6ThYxDnDM1bN+gLYYgjWPEWoMMaI0DK30sVzThjAY9y7V6Qq+yHzbVn43Gt/93Nqgp -9Q1D/CcAAP//qJ7f15ciAAA= +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 `, },