Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

common-services

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

common-services

A module to gather very common services and their mocks.

  • 3.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1.2K
increased by105.83%
Maintainers
1
Weekly downloads
 
Created
Source

common-services

A module to gather very common services and their mocks.

NPM version Build status Dependency Status devDependency Status Coverage Status Code Climate Dependency Status

This module contains various common injectable services I use into a lot of applications.

API

Functions

initCodeGeneratorService(services)Promise.<function()> | Promise.<function()>

Instantiate the codeGenerator service

initCounterService(services)Promise.<function()>

Instantiate the counter service

initDelayService(services)Promise.<Object>

Instantiate the delay service

initDelayMock()Promise.<Object>

Instantiate the delay service mock

initLogService(services)Promise.<function()>

Instantiate the logging service

initLogMock()Promise.<function()>

Instantiate the logging mock

initRandomService(services)Promise.<function()>

Instantiate the random service

initRandomMock()Promise.<function()>

Instantiate the random service mock

initTimeService(services)Promise.<function()>

Instantiate the time service

initTimeMock()Promise.<function()>

Instantiate the time service mock

initCodeGeneratorService(services) ⇒ Promise.<function()> | Promise.<function()>

Instantiate the codeGenerator service

Kind: global function

ParamTypeDescription
servicesObjectThe services to inject
[services.CHARS_SET]ObjectAn optional char set to pick cars into
[services.random]ObjectAn optional random function to replace the Math.random one used by default
[services.log]ObjectAn optional logging function

Example

import initCodeGeneratorService from 'common-services/src/codeGenerator';

const codeGenerator = await initCodeGeneratorService({
  log: console.log.bind(console),
});

initCodeGeneratorService~codeGenerator([length]) ⇒ Promise.<String>

Returns a random code

Kind: inner method of initCodeGeneratorService
Returns: Promise.<String> - A promise of the generated code

ParamTypeDefaultDescription
[length]Number6An optional custon code length (defaults to 6)

Example

console.log([
  codeGenerator(),
  codeGenerator(),
  codeGenerator(),
]);
// Prints: ABCDEF,GHJKMN,PRSTUV

initCounterService(services) ⇒ Promise.<function()>

Instantiate the counter service

Kind: global function
Returns: Promise.<function()> - A promise of the counter function

ParamTypeDescription
servicesObjectThe services to inject
[services.COUNTER]ObjectAn optional configuration object
[services.log]ObjectAn optional logging function

Example

import initCounterService from 'common-services/src/counter';

const counter = await initCounterService({
  COUNTER: { firstCount: 1 },
  log: console.log.bind(console),
});

initCounterService~counter() ⇒ Promise.<number>

Returns the current count and increment the counter

Kind: inner method of initCounterService
Returns: Promise.<number> - A promise of the current count
Example

console.log([
  counter(),
  counter(),
  counter(),
]);
// Prints: 1,2,3

initDelayService(services) ⇒ Promise.<Object>

Instantiate the delay service

Kind: global function
Returns: Promise.<Object> - A promise of the delay service

ParamTypeDescription
servicesObjectThe services to inject
[services.log]functionA logging function

Example

import initDelayService from 'common-services/src/delay';

const delay = await initDelayService({
  log: console.log.bind(console)
});

initDelayService~create(delay) ⇒ Promise

Create a new delay

Kind: inner method of initDelayService
Returns: Promise - A promise to be resolved after that delay or rejected if it is cancelled.

ParamTypeDescription
delayNumberThe delay in ms

Example

delay.create(1000)
.then(() => console.log('1000 ms elapsed!'))
.catch(() => console.log('Cancelled!'));
// Prints: 1000 ms elapsed!

initDelayService~clear(promise) ⇒ Promise

Cancel an earlier created delay

Kind: inner method of initDelayService
Returns: Promise - A promise resolved when cancellation is done.

ParamTypeDescription
promisePromiseThe promise of the delay to cancel

Example

const delayed = delay.create(1000)
.then(() => console.log('1000 ms elapsed!'))
.catch(() => console.log('Cancelled!'));
clear(delayed)
// Prints: Cancelled!

initDelayMock() ⇒ Promise.<Object>

Instantiate the delay service mock

Kind: global function
Returns: Promise.<Object> - A promise of the mocked delay service
Example

import initDelayMock from 'common-services/src/delay.mock';
import assert from 'assert';

const delay = await initDelayMock();

const delayPromise = delay.create(1000);

delay.resolve(delayPromise);

delayPromise.then(() => {
  // Any code here will execute immediatly
  // instead of after a 1000ms delay
});

initLogService(services) ⇒ Promise.<function()>

Instantiate the logging service

Kind: global function
Returns: Promise.<function()> - A promise of the logging function

ParamTypeDefaultDescription
servicesObjectThe services to inject
[services.logger]ObjectThe logger to use
[services.debug]functionnoopA debugging function

Example

import initLogService from 'common-services/src/log';

const log = await initLogService({
  logger: require('winston'),
  debug: require('debug')('myapp'),
 });

initLogService~log(type, ...args) ⇒ void

Logging function

Kind: inner method of initLogService

ParamTypeDescription
typeStringLog type
...args*Log contents

Example

log('debug', 'Luke, I am your father!')

initLogMock() ⇒ Promise.<function()>

Instantiate the logging mock

Kind: global function
Returns: Promise.<function()> - A promise of the mocked logging function
Example

import initLogMock from 'common-services/src/log.mock';
import assert from 'assert';

const log = await initLogMock();

log('info', 'Hello!');
log('error', 'Aouch!');

assert.deepEqual(log.args, [[
  'info', 'Hello!'
], [
  'error', 'Aouch!'
]]);

log.reset();

assert.deepEqual(log.args, []);

initRandomService(services) ⇒ Promise.<function()>

Instantiate the random service

Kind: global function
Returns: Promise.<function()> - A promise of the random function

ParamTypeDescription
servicesObjectThe services to inject
[services.log]ObjectA logging function

Example

import initRandomService from 'common-services/src/random';

const random = await initRandomService({
  log: console.log.bind(console),
});

initRandomService~random() ⇒ number

Returns a new random number

Kind: inner method of initRandomService
Returns: number - The random number
Example

random()
// Prints: 0.3141592653589793

initRandomMock() ⇒ Promise.<function()>

Instantiate the random service mock

Kind: global function
Returns: Promise.<function()> - A promise of the mocked random function
Example

import initRandomMock from 'common-services/src/random.mock';
import assert from 'assert';

const random = await initRandomMock();

random.returns(0.5); // A good limit value to test ;)

assert.equal(random(), 0.5);
assert.deepEqual(random.args, [[]], 'Called once');

random.reset();

assert.deepEqual(random.args, []);

initTimeService(services) ⇒ Promise.<function()>

Instantiate the time service

Kind: global function
Returns: Promise.<function()> - A promise of the time function

ParamTypeDescription
servicesObjectThe services to inject
[services.log]ObjectA logging function

Example

import initTimeService from 'common-services/src/time';

const time = await initTimeService({
  log: console.log.bind(console),
});

initTimeService~time() ⇒ number

Returns the current timestamp

Kind: inner method of initTimeService
Returns: number - The current timestamp
Example

time()
// Prints: 1326585600000

initTimeMock() ⇒ Promise.<function()>

Instantiate the time service mock

Kind: global function
Returns: Promise.<function()> - A promise of the mocked time function
Example

import initTimeMock from 'common-services/src/time.mock';
import assert from 'assert';

const time = await initTimeMock();

// Let's returns Thomas birth date (OMG ya father
// talking me about its childrens :D).
time.returns(new Date('2014-01-26T00:00:00.000Z'));

assert.equal(time(), 1390694400000);
assert.deepEqual(time.args, [[]], 'Called once');

time.reset();

assert.deepEqual(time.args, []);

License

MIT

Keywords

FAQs

Package last updated on 16 Sep 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc