apeman-service-preference
==========

<!---
This file is generated by ape-tmpl. Do not update manually.
--->

<!-- Badge Start -->
<a name="badges"></a>

[![Build Status][bd_travis_shield_url]][bd_travis_url]
[![npm Version][bd_npm_shield_url]][bd_npm_url]
[![JS Standard][bd_standard_shield_url]][bd_standard_url]

[bd_repo_url]: https://github.com/apeman-service-labo/apeman-service-preference
[bd_travis_url]: http://travis-ci.org/apeman-service-labo/apeman-service-preference
[bd_travis_shield_url]: http://img.shields.io/travis/apeman-service-labo/apeman-service-preference.svg?style=flat
[bd_travis_com_url]: http://travis-ci.com/apeman-service-labo/apeman-service-preference
[bd_travis_com_shield_url]: https://api.travis-ci.com/apeman-service-labo/apeman-service-preference.svg?token=
[bd_license_url]: https://github.com/apeman-service-labo/apeman-service-preference/blob/master/LICENSE
[bd_codeclimate_url]: http://codeclimate.com/github/apeman-service-labo/apeman-service-preference
[bd_codeclimate_shield_url]: http://img.shields.io/codeclimate/github/apeman-service-labo/apeman-service-preference.svg?style=flat
[bd_codeclimate_coverage_shield_url]: http://img.shields.io/codeclimate/coverage/github/apeman-service-labo/apeman-service-preference.svg?style=flat
[bd_gemnasium_url]: https://gemnasium.com/apeman-service-labo/apeman-service-preference
[bd_gemnasium_shield_url]: https://gemnasium.com/apeman-service-labo/apeman-service-preference.svg
[bd_npm_url]: http://www.npmjs.org/package/apeman-service-preference
[bd_npm_shield_url]: http://img.shields.io/npm/v/apeman-service-preference.svg?style=flat
[bd_standard_url]: http://standardjs.com/
[bd_standard_shield_url]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg

<!-- Badge End -->


<!-- Description Start -->
<a name="description"></a>

Service for preferences.

<!-- Description End -->


<!-- Overview Start -->
<a name="overview"></a>



<!-- Overview End -->


<!-- Sections Start -->
<a name="sections"></a>

<!-- Section from "doc/guides/01.Installation.md.hbs" Start -->

<a name="section-doc-guides-01-installation-md"></a>

Installation
-----

```bash
$ npm install apeman-service-preference --save
```


<!-- Section from "doc/guides/01.Installation.md.hbs" End -->

<!-- Section from "doc/guides/02.Usage.md.hbs" Start -->

<a name="section-doc-guides-02-usage-md"></a>

Usage
---------

```javascript
#!/usr/bin/env node

'use strict'

const { ApPreferenceService } = require('apeman-service-preference')
const { createStore } = require('redux')
const { reducer } = require('apeman-service-base')
const co = require('co')

co(function * () {
  let store = createStore(reducer)
  let service = new ApPreferenceService(store)

  yield service.setPreference('foo', 'This is foo')
  /* ... */
  let foo = service.getPreference('foo')
  console.log(foo)
}).catch((err) => console.error(err))

```


<!-- Section from "doc/guides/02.Usage.md.hbs" End -->

<!-- Section from "doc/guides/03.API.md.hbs" Start -->

<a name="section-doc-guides-03-a-p-i-md"></a>

API
---------

# apeman-service-preference@2.0.0

Service for preferences.

+ Functions
  + [create(args)](#apeman-service-preference-function-create)
+ [ApPreferenceService](apeman-service-preference-classes) Class
  + [new ApPreferenceService(store, options)](#apeman-service-preference-classes-ap-preference-service-constructor)
  + [service.getPreference(fieldName)](#apeman-service-preference-classes-ap-preference-service-getPreference)
  + [service.setPreference(fieldName, value)](#apeman-service-preference-classes-ap-preference-service-setPreference)
  + [service.deletePreference(fieldName)](#apeman-service-preference-classes-ap-preference-service-deletePreference)

## Functions

<a class='md-heading-link' name="apeman-service-preference-function-create" ></a>

### create(args) -> `ApPreferenceService`

Create the service instance

| Param | Type | Description |
| ----- | --- | -------- |
| args | * |  |



<a class='md-heading-link' name="apeman-service-preference-classes"></a>

## ApPreferenceService Class

Service


<a class='md-heading-link' name="apeman-service-preference-classes-ap-preference-service-constructor" ></a>

### new ApPreferenceService(store, options)

Constructor of ApPreferenceService class

| Param | Type | Description |
| ----- | --- | -------- |
| store | Object | Redux store |
| options | Object | Optional settings |


<a class='md-heading-link' name="apeman-service-preference-classes-ap-preference-service-getPreference" ></a>

### service.getPreference(fieldName) -> `*`

Get preference value

| Param | Type | Description |
| ----- | --- | -------- |
| fieldName |  |  |


<a class='md-heading-link' name="apeman-service-preference-classes-ap-preference-service-setPreference" ></a>

### service.setPreference(fieldName, value) -> `Promise`

Set preference

| Param | Type | Description |
| ----- | --- | -------- |
| fieldName | string | Name of preference field |
| value | * | Value to set |


<a class='md-heading-link' name="apeman-service-preference-classes-ap-preference-service-deletePreference" ></a>

### service.deletePreference(fieldName) -> `Promise`

Delete preference

| Param | Type | Description |
| ----- | --- | -------- |
| fieldName | string | Name of preference field |







<!-- Section from "doc/guides/03.API.md.hbs" End -->


<!-- Sections Start -->


<!-- LICENSE Start -->
<a name="license"></a>

License
-------
This software is released under the [MIT License](https://github.com/apeman-service-labo/apeman-service-preference/blob/master/LICENSE).

<!-- LICENSE End -->


<!-- Links Start -->
<a name="links"></a>

Links
------

+ [apeman][apeman_url]

[apeman_url]: https://github.com/apeman-labo/apeman

<!-- Links End -->
