npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

mds-wrapper

v1.4.1

Published

mds-wrapper ===============

Downloads

41

Readme

mds-wrapper

NPM version Coveralls branch Travis David David

Модуль для работы с медиа-хранилищем.

Использование

var MDS = require('mds-wrapper'),
    mds = new MDS({
        namespace: 'my-site',
        get: {
            host: '127.0.0.1',
            port: 3000
        },
        post: {
            host: '127.0.0.1',
            port: 3001
        },
        auth: 'your authorization secret token'
    });

mds.read('key1', function(err, data) {
    console.log(data); //your value will be here
});

API

constructor

Для инициализации хранилища необходимо создать новый объект класса MDS. В качестве аргумента конструктор MDS принимает объект с конфигурацией хранилища.

mds = new MDS(options);

Где объект options может иметь следующий набор доступных полей:

  • namespace - пространство имен вашего приложения
  • get - объект с полями host и port. Соответственно хост и порт медийного хранилища для запросов для чтения данных.
  • post - объект с полями host и port. Соответственно хост и порт медийного хранилища для запросов для изменения данных.
  • auth - заголовок с параметрами авторизации. Необходим для выполнения запросов для изменения данных.
  • timeout - максимальное время выполнения запроса к хранилищу в миллисекундах. По умолчанию равно 5000.
  • debug - параметр отладки. Если значение этого параметра равно true, то в консоль будут выводиться детальные сообщения для каждого обращения к хранилищу. По умолчанию debug равно false.

Примечание 1:

Если хосты для чтения и изменения данных совпадают, то можно использовать более сокращенный, но устаревший формат конфигурации:

var mds = new MDS({
    namespace: 'my-site',
    host: '127.0.0.1',
    get: { port: 3000 },
    post: { port: 3001 },
    auth: 'your authorization secret token'
});

Примечание 2:

По умолчанию:

  • хост для чтения данных - 127.0.0.1
  • порт для чтения данных - 80
  • хост для изменения данных - 127.0.0.1
  • порт для изменения данных 1111

read

Метод для чтения данных из хранилища по ключу.

Параметры:

  • {String} key - ключ для записи в хранилище.
  • {Function} callback - функция, которая первым аргументом принимает экземпляр класса Error (в случае возникновения ошибки), а вторым - возвращаемые методом данные.

callback-функция является опциональным параметром. Без передачи данной функции, метод вернет Promise-объект.

Пример:

mds.read('your-custom-key', function(error, value) {
    console.log(value);
});
mds.read('your-custom-key').then(function(value) {
    console.log(value);
});

write

Метод для записи данных в хранилище по ключу.

Параметры:

  • {String} key - ключ для записи в хранилище.
  • {String} value - значение для записи в хранилище.
  • {Function} callback - функция, которая первым аргументом принимает экземпляр класса Error (в случае возникновения ошибки), а вторым - возвращаемые методом данные.

callback-функция является опциональным параметром. Без передачи данной функции, метод вернет Promise-объект.

Пример:

mds.write('your-custom-key', 'your-custom-value', function(error, value) {
    console.log(value); // 'your-custom-value'
});
mds.write('your-custom-key', 'your-custom-value').then(function(value) {
    console.log(value); // 'your-custom-value'
});

remove

Метод для удаления данных из хранилища по ключу.

Параметры:

  • {String} key - ключ для записи в хранилище.
  • {Function} callback - функция, которая первым аргументом принимает экземпляр класса Error (в случае возникновения ошибки), а вторым - возвращаемые методом данные.

callback-функция является опциональным параметром. Без передачи данной функции, метод вернет Promise-объект.

Пример:

mds.remove('your-custom-key', function(error, result) {
    console.log(result); // null
});
mds.removeP('your-custom-key').then(function(result) {
    console.log(result); // null
});

readToStream

Метод, считывающий данные из хранилища по ключу и вовращающий экземпляр класса Stream. Позволяет осуществлять потоковое чтение с помощью NodeJS Stream API.

Пример:

mds.read('your-custom-key').pipe(fs.createWriteStream('./your-custom-key.txt'));

getFullUrl

Позволяет получить полный url для записи в mds по ключу.

Тестирование

Для запуска процедуры проверки синтаксиса и стиля кода:

npm run codestyle

Для запуска тестов:

npm test

Лицензия

© 2012 YANDEX LLC. Код лицензирован Mozilla Public License 2.0.