rymizuki/node-hariko

View on GitHub
src/hariko-parser/conversion/index.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { ResourcesStructure } from '../structure/resources'
import { HarikoParserResult } from 'hariko-parser'
import { EntryBuilder } from './builders/entity-builder'

export function convert(resources: ResourcesStructure): HarikoParserResult {
  const entries = resources.rows.reduce((entries, resource) => {
    resource.transitions.forEach((transition) => {
      transition.http_transactions.forEach((http_transaction) => {
        // add entry, generated by http-transaction
        entries.push(EntryBuilder.build(http_transaction))
      })

      // add entry from resource, when multiple request
      if (transition.hasMultipleRequest()) {
        const first_http_transaction = transition.http_transactions[0]
        const entry = EntryBuilder.buildAbstractly(
          first_http_transaction.clone()
        )
        entries.push(entry)
      }
    })
    return entries
  }, [])

  return {
    entries,
    warnings: []
  }
}