tfk-saksbehandling-skoleskyss-fara
Advanced tools
Comparing version 3.0.0 to 4.0.1
86
index.js
@@ -13,63 +13,41 @@ 'use strict' | ||
} | ||
if (!options.gatenavn) { | ||
throw new Error('Missing required input: options.gatenavn') | ||
} | ||
if (!options.husnummer) { | ||
throw new Error('Missing required input: options.husnummer') | ||
} | ||
const skoleSkienPgr = require('./lib/data/skoleids_skien_pgr.json') | ||
const skoleBo = require('./lib/data/skoleids_bo.json') | ||
const skoleBoNome = require('./lib/data/skoleids_bo_nome.json') | ||
const skoleSeljord = require('./lib/data/skoleids_seljord.json') | ||
const skoleSove = require('./lib/data/skoleids_sove.json') | ||
const skoleVestTelemark = require('./lib/data/skoleids_vest_telemark.json') | ||
const skoleKvitsund = require('./lib/data/skoleids_kvitsund.json') | ||
const postnrBoGvarvUlefoss = require('./lib/data/bo_gvarv_ulefoss.json') | ||
const postnrBoGvarvUlefossSove = require('./lib/data/bo_gvarv_ulefoss_sove.json') | ||
const postnrBoUlefossGvarvGrenland = require('./lib/data/bo_ulefoss_gvarv_grenland.json') | ||
const postnrFyresdalKviteseidNissedalTokkeVinje = require('./lib/data/fyresdal_kviteseid_nissedal_tokke_vinje.json') | ||
const postnrSeljord = require('./lib/data/seljord.json') | ||
const postnrSeljordKviteseid = require('./lib/data/seljord_kviteseid.json') | ||
const postnrSeljordKviteseidNissedal = require('./lib/data/seljord_kviteseid_nissedal.json') | ||
const postnrUlefossGvarvBo = require('./lib/data/ulefoss_gvarv_bo.json') | ||
const isFile = require('is-file') | ||
const skoleid = parseInt(options.skoleid, 10) | ||
const fileName = 'lib/data/' + skoleid + '.json' | ||
const fileNameSpecials = 'lib/data/specials/' + skoleid + '.json' | ||
const postnummer = parseInt(options.postnummer, 10) | ||
const gatenavn = options.gatenavn | ||
const husnummer = parseInt(options.husnummer, 10) | ||
// Skole - Vest-Telemark vgs.-(Begge avdelinger.) Alle postnummer i Fyresdal, Kviteseid, Nissedal, Tokke og Vinje -> false | ||
if (skoleVestTelemark.indexOf(skoleid) > -1 && postnrFyresdalKviteseidNissedalTokkeVinje.indexOf(postnummer) > -1) { | ||
return false | ||
// Sjekk for spesial gater og husnummer | ||
if (isFile(fileNameSpecials)) { | ||
const specials = require('./' + fileNameSpecials) | ||
if (specials[postnummer.toString()]) { | ||
var isSnowflake = false | ||
specials[postnummer.toString()].forEach(function (item) { | ||
if (item.name.toLowerCase() === gatenavn.toLowerCase()) { | ||
if (item.range.min <= husnummer && husnummer <= item.range.max) { | ||
isSnowflake = true | ||
} | ||
} | ||
}) | ||
if (isSnowflake) { | ||
return true | ||
} | ||
} | ||
} | ||
// Skole - Kvitsund gymnas Alle postnummer i Seljord, Kviteseid og NIssedal -> false | ||
if (skoleKvitsund.indexOf(skoleid) > -1 && postnrSeljordKviteseidNissedal.indexOf(postnummer) > -1) { | ||
// Vanlig sjekk på postnummer | ||
if (isFile(fileName)) { | ||
const zips = require('./' + fileName) | ||
return zips.indexOf(postnummer) > -1 | ||
} else { | ||
return false | ||
} | ||
// Skole Vest-Telemark vgs-(Begge avdelinger) Postnummer 3805, 3835 og 3840 Seljord -> false | ||
if (skoleVestTelemark.indexOf(skoleid) > -1 && postnrSeljord.indexOf(postnummer) > -1) { | ||
return false | ||
} | ||
// Skole Vest-Telemark vgs (Seljord) Postnummer 3830 og 3831 Ulefoss, 3810 og 3834 Gvarv, 3800, 3803 og 3833 Bø -> false | ||
if (skoleSeljord.indexOf(skoleid) > -1 && postnrUlefossGvarvBo.indexOf(postnummer) > -1) { | ||
return false | ||
} | ||
// Skole Bø vgs. og Nome vgs.-(Begge avdelinger.) Postnummer 3805, 3835 og 3840 Seljord samt 3836 og 3850 Kviteseid -> false | ||
if (skoleBoNome.indexOf(skoleid) > -1 && postnrSeljordKviteseid.indexOf(postnummer) > -1) { | ||
return false | ||
} | ||
// Skole Bø vgs, Postnummer 3803 Bø, 3810 og 3834 Gvarv samt 3830 og 3831 Ulefoss -> false | ||
if (skoleBo.indexOf(skoleid) > -1 && postnrBoGvarvUlefoss.indexOf(postnummer) > -1) { | ||
return false | ||
} | ||
// Skole Nome vgs.-(avd. Søve), Postnummer 3800, 3803 og 3833 Bø, 3810 og 3834 Gvarv samt 3830 Ulefoss -> false | ||
if (skoleSove.indexOf(skoleid) > -1 && postnrBoGvarvUlefossSove.indexOf(postnummer) > -1) { | ||
return false | ||
} | ||
// ALLE de 8 vgs.-skolene i Skien og Porsgrunn. Postnummer 3800, 3803 og 3833 Bø, 3830 og 3831 Ulefoss, 3810 og 3834 Gvarv -> false | ||
if (skoleSkienPgr.indexOf(skoleid) > -1 && postnrBoUlefossGvarvGrenland.indexOf(postnummer) > -1) { | ||
return false | ||
} | ||
// Alt annet gir true | ||
return true | ||
} |
{ | ||
"name": "tfk-saksbehandling-skoleskyss-fara", | ||
"version": "3.0.0", | ||
"version": "4.0.1", | ||
"description": "Checks if FARA is transporter", | ||
@@ -11,5 +11,12 @@ "license": "MIT", | ||
}, | ||
"contributors": [ | ||
{ | ||
"name": "Jørgen Johansen", | ||
"email": "post@jorgenjohansen.no", | ||
"url": "https://jorgenjohansen.no" | ||
} | ||
], | ||
"main": "index.js", | ||
"engines": { | ||
"node": ">=4.4.5" | ||
"node": ">=4.4.7" | ||
}, | ||
@@ -39,5 +46,7 @@ "scripts": { | ||
"standard": "7.1.2", | ||
"tap": "5.7.2", | ||
"valid-url": "1.0.9" | ||
"tap": "6.1.1" | ||
}, | ||
"dependencies": { | ||
"is-file": "1.0.0" | ||
} | ||
} |
93
setup.js
'use strict' | ||
var apiUrl = 'https://api.t-fk.no/postnummer/kommunenavn' | ||
var generateDataFiles = require('./lib/generateDataFile') | ||
var jobsToDo = 8 | ||
var jobsDone = 0 | ||
function areWeDoneYet () { | ||
jobsDone++ | ||
if (jobsDone === jobsToDo) { | ||
console.log('Everything\'s shiny, Cap\'n. Not to fret.') | ||
process.exit(0) | ||
} | ||
} | ||
// generates files for Fyresdal, Kviteseid, Nissedal, Tokke og Vinje | ||
generateDataFiles({apiUrl: apiUrl, queryList: ['Fyresdal', 'Kviteseid', 'Nissedal', 'Tokke', 'Vinje'], fileName: 'fyresdal_kviteseid_nissedal_tokke_vinje.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
// generates files for Seljord, Kviteseid og Nissedal | ||
generateDataFiles({apiUrl: apiUrl, queryList: ['Seljord', 'Kviteseid', 'Nissedal'], fileName: 'seljord_kviteseid_nissedal.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
// generates files 3805, 3835 og 3840 Seljord | ||
generateDataFiles({apiUrl: apiUrl, queryList: [], extras: [3805, 3835, 3840], fileName: 'seljord.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
// generates files for 3830 og 3831 Ulefoss, 3810 og 3834 Gvarv, 3800, 3803 og 3833 Bø | ||
generateDataFiles({apiUrl: apiUrl, queryList: [], extras: [3830, 3831, 3810, 3834, 3800, 3803, 3833], fileName: 'ulefoss_gvarv_bo.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
// generates files for 3805, 3835 og 3840 Seljord samt 3836 og 3850 Kviteseid | ||
generateDataFiles({apiUrl: apiUrl, queryList: [], extras: [3805, 3835, 3840, 3836, 3850], fileName: 'seljord_kviteseid.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
// generates files for 3803 Bø, 3810 og 3834 Gvarv samt 3830 og 3831 Ulefoss | ||
generateDataFiles({apiUrl: apiUrl, queryList: [], extras: [3803, 3810, 3830, 3831, 3834], fileName: 'bo_gvarv_ulefoss.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
// generates files for 3800, 3803 og 3833 Bø, 3810 og 3834 Gvarv samt 3830 Ulefoss | ||
generateDataFiles({apiUrl: apiUrl, queryList: [], extras: [3800, 3803, 3833, 3834, 3830], fileName: 'bo_gvarv_ulefoss_sove.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
// Generates files for 3800, 3803 og 3833 Bø, 3830 og 3831 Ulefoss, 3810 og 3834 Gvarv | ||
generateDataFiles({apiUrl: apiUrl, queryList: [], extras: [3800, 3803, 3833, 3830, 3831, 3810, 3834], fileName: 'bo_ulefoss_gvarv_grenland.json'}, function (error, data) { | ||
if (error) { | ||
console.error(error) | ||
} else { | ||
console.log(data) | ||
} | ||
areWeDoneYet() | ||
}) | ||
console.log('Everything\'s shiny, Cap\'n. Not to fret.') |
@@ -38,144 +38,26 @@ 'use strict' | ||
tap.test('returns false if postnummer Fyresdal og skole Vest-Telemark (Dalen)', function (test) { | ||
const options = { | ||
postnummer: 3870, | ||
skoleid: 3880 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Notodden og skole Vest-Telemark (Seljord)', function (test) { | ||
const options = { | ||
postnummer: 3681, | ||
skoleid: 3840 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns false if postnummer 3831 Ulefoss og skole Seljord', function (test) { | ||
const options = { | ||
postnummer: 3831, | ||
skoleid: 3840 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Porsgrunn og skole Seljord', function (test) { | ||
const options = { | ||
postnummer: 3912, | ||
skoleid: 3840 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Porsgrunn og skole Bø', function (test) { | ||
const options = { | ||
postnummer: 3912, | ||
skoleid: 3802 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns false if postnummer 3840 Seljord og skole Bø', function (test) { | ||
const options = { | ||
postnummer: 3840, | ||
skoleid: 3802 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Skien og skole Bø', function (test) { | ||
const options = { | ||
postnummer: 3702, | ||
skoleid: 3802 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns false if postnummer 3803 Bø og skole Bø', function (test) { | ||
const options = { | ||
postnummer: 3803, | ||
skoleid: 3802 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns false if postnummer 3833 Bø og skole Søve', function (test) { | ||
const options = { | ||
postnummer: 3803, | ||
skoleid: 3830 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Notodden og skole Søve', function (test) { | ||
const options = { | ||
postnummer: 3681, | ||
skoleid: 3830 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns false if postnummer 3831 Ulefoss og skole Skogmo', function (test) { | ||
const options = { | ||
postnummer: 3831, | ||
skoleid: 3735 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Notodden og skole Skogmo', function (test) { | ||
const options = { | ||
postnummer: 3681, | ||
skoleid: 3735 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns false if postnummer 3834 Gvarv og skole Bø', function (test) { | ||
const options = { | ||
postnummer: 3834, | ||
skoleid: 3802 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Notodden og skole Bø', function (test) { | ||
const options = { | ||
postnummer: 3681, | ||
skoleid: 3802 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns true if postnummer Notodden og skole Kvitsund', function (test) { | ||
const options = { | ||
postnummer: 3681, | ||
skoleid: 3850 | ||
} | ||
tap.equal(transportByFara(options), true, 'Test OK') | ||
test.done() | ||
}) | ||
tap.test('returns false if postnummer Seljord og skole Kvitsund', function (test) { | ||
const options = { | ||
postnummer: 3835, | ||
skoleid: 3850 | ||
} | ||
tap.equal(transportByFara(options), false, 'Test OK') | ||
test.done() | ||
}) | ||
tap.throws( | ||
function () { | ||
const options = { | ||
postnummer: true, | ||
skoleid: true, | ||
gatenavn: false | ||
} | ||
transportByFara(options) | ||
}, | ||
{message: 'Missing required input: options.gatenavn'}, | ||
'requires options.gatenavn to exist' | ||
) | ||
tap.throws( | ||
function () { | ||
const options = { | ||
postnummer: true, | ||
skoleid: true, | ||
gatenavn: true, | ||
husnummer: false | ||
} | ||
transportByFara(options) | ||
}, | ||
{message: 'Missing required input: options.husnummer'}, | ||
'requires options.husnummer to exist' | ||
) |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
129826
3
54
6561
1
2
+ Addedis-file@1.0.0
+ Addedis-file@1.0.0(transitive)