UNPKG

onix-parser

Version:

Parse ONIX 3.0 XML files and extract structured product data for publishing and digital books

45 lines (35 loc) 1.38 kB
const { getJSONfromFile, getByValue } = require('../lib/utils') const ProductRelationList = getJSONfromFile('CodeLists/productRelation.json') const ProductIdentifierTypeList = getJSONfromFile('CodeLists/productIdentifierType.json') const ProductFormList = getJSONfromFile('CodeLists/productForm.json') const related = ({ relatedproduct: Relatedproduct }) => { if (!Relatedproduct) return [] const relatedproductList = [] for (let i = 0; i < Relatedproduct.length; i++) { const element = Relatedproduct[i]; const { x455: ProductRelationCode, productidentifier: ProductIdentifier, b012: ProductForm } = element const { b221: ProductIDType, b244: IDValue } = ProductIdentifier relatedproductList.push({ productRelationCode: ProductRelationCode.$t, productRelation: getByValue(ProductRelationList, 'Value', ProductRelationCode.$t, 'Description'), productIDTypeCode: ProductIDType.$t, productIDType: getByValue(ProductIdentifierTypeList, 'Value', ProductIDType.$t, 'Description'), iDValue: IDValue.$t, productFormCode: ProductForm ? ProductForm.$t : '', ProductForm: ProductForm ? getByValue(ProductFormList, 'Value', ProductForm.$t, 'Description') : '' }) } return relatedproductList } module.exports = { related }