refactor: replace fs+util.promisify with fs/promises

This commit is contained in:
siiky 2024-06-28 15:53:22 +01:00
parent 3f87685865
commit 4ead3dc4bf
2 changed files with 10 additions and 27 deletions

View file

@ -1,6 +1,5 @@
const fs = require('fs')
const { readdir } = require('fs/promises')
const path = require('path')
const util = require('util')
const loader = require('./loading')
const matcher = require('./matching')
const nameUtils = require('./name-utils')
@ -13,8 +12,6 @@ const OFAC_DATA_DIR = process.env.OFAC_DATA_DIR
let structs = null
const readdir = util.promisify(fs.readdir)
function load () {
if (!OFAC_DATA_DIR) {
const message = 'The ofacDataDir option has not been set in the environment'

View file

@ -1,9 +1,10 @@
const parser = require('./parsing')
const https = require('https')
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 util = require('util')
const _ = require('lodash/fp')
const logger = require('../logger')
@ -18,24 +19,9 @@ const ofacSources = _.map(
_.zip(OFAC_SOURCES_NAMES, OFAC_SOURCES_URLS)
)
function mkdir (path) {
return new Promise((resolve, reject) => {
fs.mkdir(path, 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 mkdir = path =>
fs.mkdir(path)
.catch(err => err.code === 'EEXIST' ? Promise.resolve() : Promise.reject(err))
const promiseGetEtag = ({ url }) =>
new Promise((resolve, reject) => {
@ -58,7 +44,7 @@ const promiseGetEtag = ({ url }) =>
const download = (dstDir, { name, url }) => {
const dstFile = path.join(dstDir, name + '.xml')
const file = fs.createWriteStream(dstFile)
const file = createWriteStream(dstFile)
return new Promise((resolve, reject) => {
const request = https.get(url, response => {
@ -72,7 +58,7 @@ const download = (dstDir, { name, url }) => {
const parseToJson = srcFile => {
const dstFile = srcFile.replace(/\.xml$/, '.json')
const writeStream = fs.createWriteStream(dstFile)
const writeStream = createWriteStream(dstFile)
return new Promise((resolve, reject) => {
parser.parse(srcFile, (err, profile) => {
@ -160,7 +146,7 @@ function update () {
return Promise.all(downloads)
.then(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)
return Promise.all([updateEtags, ...moves, ...deletions])