refactor: replace fs+util.promisify with fs/promises
This commit is contained in:
parent
3f87685865
commit
4ead3dc4bf
2 changed files with 10 additions and 27 deletions
|
|
@ -1,6 +1,5 @@
|
||||||
const fs = require('fs')
|
const { readdir } = require('fs/promises')
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const util = require('util')
|
|
||||||
const loader = require('./loading')
|
const loader = require('./loading')
|
||||||
const matcher = require('./matching')
|
const matcher = require('./matching')
|
||||||
const nameUtils = require('./name-utils')
|
const nameUtils = require('./name-utils')
|
||||||
|
|
@ -13,8 +12,6 @@ const OFAC_DATA_DIR = process.env.OFAC_DATA_DIR
|
||||||
|
|
||||||
let structs = null
|
let structs = null
|
||||||
|
|
||||||
const readdir = util.promisify(fs.readdir)
|
|
||||||
|
|
||||||
function load () {
|
function load () {
|
||||||
if (!OFAC_DATA_DIR) {
|
if (!OFAC_DATA_DIR) {
|
||||||
const message = 'The ofacDataDir option has not been set in the environment'
|
const message = 'The ofacDataDir option has not been set in the environment'
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
const parser = require('./parsing')
|
const parser = require('./parsing')
|
||||||
const https = require('https')
|
const https = require('https')
|
||||||
const URL = require('url')
|
const URL = require('url')
|
||||||
const fs = require('fs')
|
const { createWriteStream } = require('fs')
|
||||||
|
const fs = require('fs/promises')
|
||||||
|
const { readFile, writeFile, rename, unlink } = fs
|
||||||
const path = require('path')
|
const path = require('path')
|
||||||
const util = require('util')
|
|
||||||
const _ = require('lodash/fp')
|
const _ = require('lodash/fp')
|
||||||
const logger = require('../logger')
|
const logger = require('../logger')
|
||||||
|
|
||||||
|
|
@ -18,24 +19,9 @@ const ofacSources = _.map(
|
||||||
_.zip(OFAC_SOURCES_NAMES, OFAC_SOURCES_URLS)
|
_.zip(OFAC_SOURCES_NAMES, OFAC_SOURCES_URLS)
|
||||||
)
|
)
|
||||||
|
|
||||||
function mkdir (path) {
|
const mkdir = path =>
|
||||||
return new Promise((resolve, reject) => {
|
fs.mkdir(path)
|
||||||
fs.mkdir(path, err => {
|
.catch(err => err.code === 'EEXIST' ? Promise.resolve() : Promise.reject(err))
|
||||||
if (!err) return resolve()
|
|
||||||
if (err.code === 'EEXIST') return resolve()
|
|
||||||
reject(err)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const readFile = util.promisify(fs.readFile)
|
|
||||||
const writeFile = util.promisify(fs.writeFile)
|
|
||||||
const rename = util.promisify(fs.rename)
|
|
||||||
const unlink = util.promisify(fs.unlink)
|
|
||||||
|
|
||||||
const remove = file => {
|
|
||||||
return unlink(file)
|
|
||||||
}
|
|
||||||
|
|
||||||
const promiseGetEtag = ({ url }) =>
|
const promiseGetEtag = ({ url }) =>
|
||||||
new Promise((resolve, reject) => {
|
new Promise((resolve, reject) => {
|
||||||
|
|
@ -58,7 +44,7 @@ const promiseGetEtag = ({ url }) =>
|
||||||
|
|
||||||
const download = (dstDir, { name, url }) => {
|
const download = (dstDir, { name, url }) => {
|
||||||
const dstFile = path.join(dstDir, name + '.xml')
|
const dstFile = path.join(dstDir, name + '.xml')
|
||||||
const file = fs.createWriteStream(dstFile)
|
const file = createWriteStream(dstFile)
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const request = https.get(url, response => {
|
const request = https.get(url, response => {
|
||||||
|
|
@ -72,7 +58,7 @@ const download = (dstDir, { name, url }) => {
|
||||||
|
|
||||||
const parseToJson = srcFile => {
|
const parseToJson = srcFile => {
|
||||||
const dstFile = srcFile.replace(/\.xml$/, '.json')
|
const dstFile = srcFile.replace(/\.xml$/, '.json')
|
||||||
const writeStream = fs.createWriteStream(dstFile)
|
const writeStream = createWriteStream(dstFile)
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
parser.parse(srcFile, (err, profile) => {
|
parser.parse(srcFile, (err, profile) => {
|
||||||
|
|
@ -160,7 +146,7 @@ function update () {
|
||||||
return Promise.all(downloads)
|
return Promise.all(downloads)
|
||||||
.then(parsed => {
|
.then(parsed => {
|
||||||
const moves = _.map(src => moveToSourcesDir(src, OFAC_SOURCES_DIR), parsed)
|
const moves = _.map(src => moveToSourcesDir(src, OFAC_SOURCES_DIR), parsed)
|
||||||
const deletions = _.map(remove, missing)
|
const deletions = _.map(unlink, missing)
|
||||||
const updateEtags = writeFile(OFAC_ETAGS_FILE, etagsJson)
|
const updateEtags = writeFile(OFAC_ETAGS_FILE, etagsJson)
|
||||||
|
|
||||||
return Promise.all([updateEtags, ...moves, ...deletions])
|
return Promise.all([updateEtags, ...moves, ...deletions])
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue