@eac-arch/shared-kernel

v1.0.6

Published

Shared kernel library with domain, application, exception, and utility contracts used across EAC Angular packages.

Readme

@eac-arch/shared-kernel

Shared kernel library with domain, application, exception, and utility contracts used across EAC Angular packages.

Purpose

@eac-arch/shared-kernel defines stable cross-layer primitives so infrastructure and feature packages can share a common language aligned with server-side architecture.

Modules

  • domain : Entity, AggregateRoot, ValueObject, domain events, specification pattern (including composable query specifications).
  • application : request/result messaging, command/query contracts, repository interfaces, query service contracts, paged list helpers, data shaping helpers.
  • exceptions : BaseException and typed domain/application exception classes.
  • utils : sort field parsing/formatting, patch operation builders, age/date helpers.

Representative API

export * from '@eac-arch/shared-kernel';

// Examples:
createPagedList(...)
formatSortFields(...)
buildReplacePatches(...)
new ValidationException([...])

Key Design Notes

  • Emphasizes interfaces/contracts over concrete implementations.
  • Encodes CQRS concepts (Command, Query, IQueryService).
  • Encodes DDD concepts (Entity, AggregateRoot, ValueObject, Specification).
  • Patch and sorting utilities are transport-agnostic and reused by persistence/http libraries.

Dependencies

  • Angular peer baseline (common/core)
  • tslib

No dependency on other @eac-arch/* libraries; this is the foundational package.

Development

From eac-arch-shared-kernel:

npm install
npm run build
npm test

Created By

Erick Arostegui Cunza
Enterprise Solutions Architect

Professional Profile:

  • LinkedIn: https://www.linkedin.com/in/erick-arostegui-cunza/

Articles:

  • Medium: https://medium.com/@scorpius86

Channels and Media:

  • Facebook: https://www.facebook.com/Erick.Arostegui.Cunza
  • TikTok: https://www.tiktok.com/@erick_arostegui_cunza
  • Instagram: https://www.instagram.com/erickarosteguicunza/
  • Spotify: https://open.spotify.com/show/2JQxlxcRg7k7cJ1hB52Ge5

Created by Erick Arostegui Cunza.