Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

pip-services-commons-node

Portable abstractions and patterns for Pip.Services in Node.js

pip.services, microservice, commons, library

readme

Pip.Services Logo
Portable Abstractions and Patterns for Node.js

This framework is part of the Pip.Services project. It provides portable abstractions and patterns that can be used to implement non-trivial business logic in applications and services.

This framework's key difference is its portable implementation across a variety of different languages. It currently supports Java, .NET, Python, Node.js, and Golang. The code provides a reasonably thin abstraction layer over most fundamental functions and delivers symmetric implementation that can be quickly ported between different platforms.

The framework's functionality is decomposed into several packages:

  • Commands - commanding and eventing patterns
  • Config - configuration framework
  • Convert - soft value converters
  • Data - data patterns
  • Errors - application errors
  • Random - random data generators
  • Refer - locator (IoC) pattern
  • Reflect - reflection framework
  • Run - execution framework
  • Validate - validation framework

Quick Links:

Acknowledgements

The library is created and maintained by Sergey Seroukhov.

The documentation is written by Mark Makarychev.

changelog

Portable abstractions and patterns for Pip.Services in Node.js Changelog

3.0.0 (2018-08-21)

Breaking changes

  • Moved component definitions into a separate package

2.10.0 (2018-03-26)

Features

  • data Added ProjectionParams
  • validate Added ProjectionParamsSchema
  • count Added reset_timeout parameter to CachedCounter

Breaking changes

  • Added ContextInfo and InfoFactory

2.9.0 (2018-03-20)

Breaking changes

  • Moved FluentdLogger, MemcachedCache and MemcachedLock to pip-services-oss package
  • Changed logical group in descriptors to 'pip-services'

2.8.0 (2018-03-01)

Features

  • Moved from mustache to handlebars

2.8.0 (2018-02-17)

Features

  • Added lock package for distributed locks
  • Added memcached cache and lock
  • Added JsonConverter.fromToObject() method
  • Added Fluentd logger

2.7.0 (2017-09-30)

Features

  • Integrated mustache template engine to parameterize config files
  • Improved creation of properties in RecursiveObjectWriter

2.5.0 (2017-08-05)

Features

  • Added to FixedRateTimer support for callback

Bug Fixed

  • Fixed setAsObject in AnyValueMap and StringValueMap with 1 parameter

2.4.0 (2017-04-20)

Breaking changes

  • Deprecated and removed ReferenceQuery

Bug Fixed

  • Fixed field names in validation

2.3.10 (2017-04-19)

Bug Fixed

  • Fixed validation error messages
  • Fixed connection resolution in MemoryDiscovery
  • Fixed number of defects in ConnectionResolver
  • Fixed number of defects in CredentialResolver

2.3.3 (2017-04-12)

Bug Fixed

  • Relaxed validation of numbers in Node.js

2.3.0 (2017-04-11)

Features

  • validate Added FilterParamsSchema and PagingParamsSchema
  • config Added parameters to ConfigReader.readConfig()

2.2.4 (2017-04-09)

Bug Fixed

  • Code cleanup after sync with Python
  • Fixed date to string conversion

2.2.0 (2017-04-05)

Features

  • data Added IChangeable interface

Bug Fixes

  • Fixed field names in ITrackable interface

2.1.0 (2017-03-31)

Features

  • data Added MultiString class
  • data Added TagsProcessor class

2.0.11 (2017-03-28)

Features

  • command Added ICommandable interface
  • command Command contructor not accepts a function
  • data Added fromValue static method to FilterParams, StringValueMap, Parameters

2.0.8 (2017-03-16)

Breaking Changes

  • ConnectionParams.getUri() now returns stored property instead of calculating it

2.0.0 (2017-02-24)

Cleaned up and simplified dependency management and object creation.

Features

  • refer Added DependencyResolver
  • build Added Factory

Breaking Changes

  • Refactored refer package. Removed IDescriptable and ILocateable interface. Made locator a mandatory requirement to place component into references.
  • Moved ManagedReferences to pip-services-container
  • Made IConfigReader interface asynchronous

Bug Fixes

  • Replaced log formatting with C-like format from util package

1.0.0-1.0.3 (2017-01-28 - 2017-02-24)

Initial public release

Features

  • build Component factories framework
  • commands Command and Eventing patterns
  • config Configuration framework
  • convert Portable soft data converters
  • count Performance counters components
  • data Data value objects and random value generators
  • errors Portable application errors
  • log Logging components
  • random Random data generators
  • refer Component referencing framework
  • reflect Portable reflection helpers
  • run Execution framework
  • validate Data validators