Skip to content

ฦ›๐Ÿ’‰ Pure functional dependency injection for TypeScript

License

Notifications You must be signed in to change notification settings

tom-sherman/diddly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

22 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

diddly

Pure functional dependency injection for TypeScript

NOTE: This library is very experimental.

Benefits

  • 100% type safe
  • Purely functional
  • Immutable
  • Circular dependencies are impossible

Example

import { createContainer } from 'diddly';

function printNameAndAge(name: string, age: number) {
  console.log(`${name} is aged ${age}`);
}
โ€‹
const container = createContainer()
  .register('someAge', value(5))
  .register('someName', value('Timmy'))
  .register('fn', func(printNameAndAge, 'someName', 'someAge'));
โ€‹
const print = container.resolve('fn');
print(); // Prints "Timmy is aged 5"

About

ฦ›๐Ÿ’‰ Pure functional dependency injection for TypeScript

Resources

License

Stars

Watchers

Forks

Releases

No releases published