Skip to content

mykelcodes/container-number-validation

Repository files navigation

Container Number Validation

A lightweight TypeScript package to validate shipping container numbers according to the ISO 6346 standard.

Features

  • ✅ Validates container numbers using the ISO 6346 check digit algorithm
  • 🪶 Lightweight with zero dependencies
  • 📦 Supports both CommonJS and ES Modules
  • 🔷 Full TypeScript support with type definitions
  • ✨ Simple and intuitive API

Installation

npm install @mykelcodes/container-number-validation
# or
pnpm add @mykelcodes/container-number-validation
# or
yarn add @mykelcodes/container-number-validation

Usage

ES Modules

import { isValidContainer } from '@mykelcodes/container-number-validation';

console.log(isValidContainer('CCLU4843216')); // true
console.log(isValidContainer('CSQU3054390')); // false

CommonJS

const { isValidContainer } = require('@mykelcodes/container-number-validation');

console.log(isValidContainer('CCLU4843216')); // true
console.log(isValidContainer('CSQU3054390')); // false

API

isValidContainer(containerNumber: string): boolean

Validates a container number according to ISO 6346 standard.

Parameters:

  • containerNumber (string): The container number to validate (must be 11 characters)

Returns:

  • boolean: true if the container number is valid, false otherwise

Example:

isValidContainer('CCLU4843216'); // returns true
isValidContainer('INVALID1234'); // returns false
isValidContainer('SHORT');       // returns false (wrong length)

Container Number Format

A valid container number consists of:

  1. 4 letters: Owner code (3 letters) + Equipment category identifier (1 letter)
  2. 6 digits: Serial number
  3. 1 digit: Check digit (calculated using ISO 6346 algorithm)

Example: CCLU4843216

  • CCL: Owner code
  • U: Equipment category identifier
  • 484321: Serial number
  • 6: Check digit

Development

# Install dependencies
pnpm install

# Run tests
pnpm test

# Build the package
pnpm build

# Format code
pnpm format

License

MIT © Michael Olawale

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Links

About

A lightweight TypeScript package to validate shipping container numbers according to the ISO 6346 standard.

Resources

License

Stars

Watchers

Forks

Contributors