njct

Inject a dependency (service locator pattern).

Usage no npm install needed!

<script type="module">
  import njct from 'https://cdn.skypack.dev/njct';
</script>

README

inject

Inject a dependency (service locator pattern).

USAGE

// app.ts
import { inject } from 'njct';
const fs = inject('fs', () => require('fs'));
fs.readFileSync('data.json');

// app.spec.ts
import { injector } from 'njct';
injector.mock('fs', () => ({
    readFileSync: () => 'result of call of fs.readFileSync()',
}));
class Car {
    static count = 0;
    constructor() {
        Car.count++;
    }
}
let vehicle = inject.service(Car);
vehicle = inject.service(Car);
expect(vehicle).toBeA(Car);
expect(Car.count).toEqual(1);