Modern EDIFACT Parser, Validator & Builder - Core Library
npm install @ediflow/core> Modern EDIFACT Parser, Validator & Builder - Core Library




Clean Architecture โข Type-Safe โข Zero Config โข Battle-Tested
---
@ediflow/core is the core engine for EDIFlow - a modern EDIFACT library built with Clean Architecture principles.
This package provides:
- โ
Parser - EDIFACT string โ EDIMessage
- โ
Validator - 3-phase validation (Syntax โ Structure โ Business)
- โ
Builder - EDIMessage โ EDIFACT string
- โ
Mapper - Auto-convert to/from business objects
- โ
Envelope Generator - UNH/UNT/UNB/UNZ support
- โ
CLI - Command-line tools
- โ
TypeScript - Full type safety
What this package does NOT include:
- โ EDIFACT standard definitions (install separately)
---
``bashInstall core library
npm install @ediflow/core
---
๐ Quick Start
$3
`typescript
import { DIContainer } from '@ediflow/core';const container = DIContainer.getInstance();
const parseUseCase = container.resolve('ParseEDIUseCase');
const result = parseUseCase.execute({
message: edifactString,
standard: 'EDIFACT'
});
if (result.success) {
console.log('โ
Parsed!', result.message);
}
`$3
`typescript
const validateUseCase = container.resolve('ValidateMessageUseCase');const validation = validateUseCase.execute({
message: result.message,
messageType: 'ORDERS',
version: 'D20B',
repositoryPath: './node_modules/@ediflow/edifact-d20b/data'
});
if (validation.success) {
console.log('โ
Valid!');
}
`$3
`typescript
import { EDIMessage, EDISegment, EDIElement } from '@ediflow/core';const message = new EDIMessage({
standard: 'EDIFACT',
version: 'D20B',
messageType: 'ORDERS',
segments: [
new EDISegment({
tag: 'BGM',
elements: [
new EDIElement({ value: '220' }),
new EDIElement({ value: 'PO12345' })
]
})
]
});
const buildUseCase = container.resolve('BuildEDIUseCase');
const ediString = buildUseCase.execute({
message,
standard: 'EDIFACT'
});
console.log(ediString); // BGM+220+PO12345'
`---
๐ฏ Features
$3
- Parse - EDIFACT โ EDIMessage (with envelope support)
- Validate - 3-phase validation (Syntax, Structure, Business)
- Build - EDIMessage โ EDIFACT (with envelope generation)
- Map - Business Objects โ EDIMessage
- CLI - Command-line interface$3
- Domain Layer - Pure business logic (zero dependencies)
- Application Layer - Use Cases (ParseEDI, ValidateMessage, BuildEDI)
- Infrastructure Layer - Parsers, Repositories
- Presentation Layer - CLI, Future: REST API$3
- Full TypeScript definitions
- Advanced type inference
- IntelliSense support
- Strict type checking$3
- Works out of the box
- Sensible defaults
- Easy to customize---
๐ฆ Related Packages
@ediflow/edifact-d96a - D.96A (1996) - 7 message types
- @ediflow/edifact-d01b - D.01B (2001) - 4 message types
- @ediflow/edifact-d20b - D.20B (2020) - 7 message types
- @ediflow/edifact-d12a - D.12A (2012) - 196 message types---
๐๏ธ Architecture
`
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Presentation Layer โ CLI
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ Application Layer โ Use Cases
โ โข ParseEDIUseCase โ
โ โข ValidateMessageUseCase โ
โ โข BuildEDIUseCase โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ Domain Layer โ Entities
โ โข EDIMessage โ
โ โข EDISegment โ
โ โข EDIElement โ
โโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ Infrastructure Layer โ Parsers
โ โข EdifactMessageParser โ
โ โข FileBasedRepository โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
`Read more: Architecture Documentation
---
๐ Documentation
- Quick Start Guide - Get started in 5 minutes
- Architecture - Clean Architecture explained
- Developer Guide - Contributing
- API Reference - Complete API docs
---
๐งช Testing
Extensively tested with TDD:
- 590 tests passing
- Unit tests - Domain & Application layers
- Integration tests - Cross-layer interactions
- E2E tests - Complete roundtrip validation
`bash
npm test
npm run test:watch
npm run test:coverage
``---
We welcome contributions! See:
- Contributing Guide
- Developer Guide
---
MIT License - see LICENSE
---
- GitHub: ediflow-lib/core
- NPM: @ediflow/core
- Issues: Report bugs
- Discussions: Ask questions
---
Made with โค๏ธ for the EDI community