| 12345678910111213141516171819202122232425262728293031 |
- 'use strict'
- const fs = require('fs-extra')
- const xml2js = require('xml2js')
- const UKAMFEntity = require('./ukamf-entity')
- class UKAMFDB {
- constructor(file) {
- this.file = file
- }
- async init() {
- const data = await fs.readFile(this.file, 'utf8')
- const parser = new xml2js.Parser()
- const xml = await parser.parseStringPromise(data)
- this.entities = xml.EntitiesDescriptor.EntityDescriptor
- }
- findByEntityID(matcher) {
- const entity = this.entities.find(
- matcher instanceof RegExp
- ? e => e.$.entityID.match(matcher)
- : e => e.$.entityID.includes(matcher)
- )
- return entity ? new UKAMFEntity(entity) : null
- }
- }
- module.exports = UKAMFDB
|