Bitsmist
Docs» Store

Store

概要

設定情報などを保存するクラスです。階層構造を持つ情報を保存することができます。

プロパティ

options

型:Object get/set

このストアのオプションを保持するオブジェクトです。


items

型:Object get/set

clone()メソッドで作られる、保持しているアイテムのオブジェクトのコピーです。


merger

型:Function get/set

merge()メソッドを呼び出してマージする際に使われれる、マージ用の関数を指定します。デフォルトではBitsmistJSのディープマージ用の関数が使用されます。

この関数を自作する場合、マージ先のオブジェクトとマージするオブジェクトが以下のようなイメージで渡されます。マージ後のオブジェクトを返してください。

merger(targetObject, sourceObject); // sourceObjectをtargetObjectにマージします

コンストラクタ

Constructor(options)

パラメータ

パラメータ型説明
optionsObjectStoreクラスを初期化するオプションです。以下のキーがあります。
“items”Objectitemsプロパティをセットします。
“merger”Functionmergerプロパティをセットします。

メソッド

clear()

型:Undefined

保持しているアイテムを全て削除します。

パラメータ

なし。

戻り値

なし。


clone()

型:Object

保持しているアイテムのディープコピーを作成します。

パラメータ

なし。

戻り値

保持しているアイテムのコピーを返します。


get(key, defaultValue)

型:*

keyパラメータで指定された値を返します。指定されたキーが存在しない場合defaultValueを返します。返される値が配列かオブジェクトの場合、ディープコピーされたものが返されます。

キーには、ピリオド区切りで複数の階層を指定できます。以下のように指定した場合、store[“settings”][“name”]の値が、返されます。

store.get("settings.name");

途中の階層が存在しない場合でも、エラーは発生しません。上記の例で言うと、“settings”が存在しない場合でもエラーにはなりません。Undefinedが返されます。

パラメータ

パラメータ型説明
key
必須
String取得するキーを指定します。
defaultValue*キーが存在しない場合に返す値を指定します。

戻り値

指定されたキーの値です。キーの値が見つからない場合、defalutValueパラメータが指定されていればその値、指定されてない時はUndefinedを返します。


has(key)

型:Boolean

指定されたキーが存在するかを返します。

パラメータ

パラメータ型説明
key
必須
String存在を確認したいキーを指定します。

戻り値

キーが存在する場合はTrue、存在しない場合はFalseを返します。


merge(newItems, merger)

型:Undefined

現在保持しているアイテムに、引数で渡されたオブジェクトの内容をマージします。

パラメータ

パラメータ型説明
newItems
必須
Object/
Array of objects
マージするオブジェクトを指定します。オブジェクトの配列を渡すこともできます。その場合は、配列内の全てのオブジェクトが順にマージされます。
mergerFunctionマージする際に使用する関数を指定します。指定がない場合は、mergerプロパティにセットされているマージ関数が使用されます。

戻り値

なし。


remove(key)

型:Undefined

keyパラメータで指定された値を削除します。

パラメータ

パラメータ型説明
key
必須
String削除するキーを指定します。

戻り値

なし。


set(key, value)

型:Undefined

keyパラメータで指定された項目に値をセットします。指定されたキーが存在しない場合は、自動的に作成されます。既にアイテムが存在する場合は、上書きされます。

キーには、ピリオド区切りで複数の階層を指定できます。以下のように指定した場合、store[“settings”][“name”]に値がセットされます。

store.set("settings.name", "BarHeader");

途中の階層が存在しない場合は、自動的に作成されます。上記の例の場合、もし“settings”が存在しない場合は、“settings”という階層が、自動的に作成されます。ただし既にキーが存在し、それがオブジェクトでない場合は、エラーとなります。例えば{“settings”: “value”}という内容を持つStoreオブジェクトに上記のコードを実行した場合、“settings”という階層を作れずに、エラーとなります。

パラメータ

パラメータ型説明
key
必須
String値をセットするキーを指定します。
value
必須
*セットする値を指定します。

戻り値

なし。

Previous Next

© 2019-2023 Masaki Yasutake

Bitsmist

Table of Contents

Table of Contents

  • Store
    • 概要
    • プロパティ
      • options
      • items
      • merger
    • コンストラクタ
      • Constructor(options)
    • メソッド
      • clear()
      • clone()
      • get(key, defaultValue)
      • has(key)
      • merge(newItems, merger)
      • remove(key)
      • set(key, value)

紹介

  • 概要
  • インストール
  • サンプルユニットを作る

ユニットの解説

  • 概要
  • プロパティとメソッド
  • 設定
  • ロード
  • イベント
  • HTML
  • CSS
  • パークによる拡張

リファレンス - ユニット

  • Unit

リファレンス - パーク

  • Perk(ベースクラス)
  • BasicPerk
  • EventPerk
  • SettingPerk
  • SkinPerk
  • StatusPerk
  • StylePerk
  • UnitPerk

リファレンス - ストア

  • Store
  • ChainableStore

リファレンス - ユーティリティ

  • AjaxUtil
  • ClassUtil
  • URLUtil
  • Util