DoneJS StealJS jQuery++ FuncUnit DocumentJS
4.3.0
5.0.0 3.13.1 2.3.35
  • About
  • Guides
  • API Docs
  • Community
  • Contributing
  • Bitovi
    • Bitovi.com
    • Blog
    • Design
    • Development
    • Training
    • Open Source
    • About
    • Contact Us
  • About
  • Guides
  • API Docs
    • Observables
      • can-bind
      • can-compute
      • can-debug
      • can-define
      • can-define/list/list
      • can-define/map/map
      • can-define-backup
      • can-define-stream
      • can-define-stream-kefir
      • can-event-queue
      • can-kefir
      • can-list
      • can-map
      • can-map-define
      • can-observation
      • can-observation-recorder
      • can-observe
      • can-simple-map
      • can-simple-observable
      • can-stream
      • can-stream-kefir
      • can-value
    • Data Modeling
      • can-connect
      • can-connect-feathers
      • can-fixture
        • types
          • Store
          • ajaxSettings
          • request
          • requestHandler
          • response
        • properties
          • delay
          • on
          • rand
          • store
      • can-fixture-socket
      • can-ndjson-stream
      • can-set
    • Views
      • can-component
      • can-stache
      • can-stache-bindings
      • can-stache-converters
      • can-stache-route-helpers
      • can-view-autorender
      • can-view-callbacks
      • can-view-import
      • can-view-live
      • can-view-model
      • can-view-nodelist
      • can-view-parser
      • can-view-scope
      • can-view-target
      • react-view-model
      • react-view-model/component
      • steal-stache
    • Routing
      • can-deparam
      • can-param
      • can-route
      • can-route-hash
      • can-route-mock
      • can-route-pushstate
    • JS Utilities
      • can-assign
      • can-define-lazy-value
      • can-diff
      • can-globals
      • can-join-uris
      • can-key
      • can-key-tree
      • can-make-map
      • can-parse-uri
      • can-queues
      • can-string
      • can-string-to-any
      • can-util
      • can-zone
      • can-zone-storage
    • DOM Utilities
      • can-ajax
      • can-attribute-encoder
      • can-child-nodes
      • can-control
      • can-dom-data
      • can-dom-events
      • can-dom-mutate
      • can-event-dom-enter
      • can-event-dom-radiochange
      • can-fragment
    • Data Validation
      • can-define-validate-validatejs
      • can-validate
      • can-validate-interface
      • can-validate-legacy
      • can-validate-validatejs
    • Typed Data
      • can-cid
      • can-construct
      • can-construct-super
      • can-data-types
      • can-namespace
      • can-reflect
      • can-reflect-dependencies
      • can-reflect-promise
      • can-types
    • Polyfills
      • can-symbol
      • can-vdom
    • Core
    • Infrastructure
      • can-global
      • can-test-helpers
    • Ecosystem
    • Legacy
  • Community
  • Contributing
  • GitHub
  • Twitter
  • Chat
  • Forum
  • News
Bitovi

store

  • Edit on GitHub

fixture.store(baseItems, algebra)

Create a store that starts with baseItems for a service layer described by algebra.

// Describe the services parameters:
const todoAlgebra = new set.Algebra(
    set.props.id( "_id" ),
    set.props.boolean( "completed" ),
    set.props.rangeInclusive( "start", "end" ),
    set.props.sort( "orderBy" ),
);

// Create a store with initial data.
// Pass [] if you want it to be empty.
const todoStore = fixture.store( [
    {
        _id: 1,
        name: "Do the dishes",
        complete: true
    }, {
        _id: 2,
        name: "Walk the dog",
        complete: false
    } ],
todoAlgebra );

// Hookup urls to the store:
fixture( "/todos/{_id}", todoStore );

Parameters

  1. baseItems {Array}:

    An array of items that will populate the store.

  2. algebra {Algebra(compares)}:

    A description of the service layer's parameters.

Returns

{Store()}:

A store that can be used to simulate a restful service layer that supports filtering, pagination, and more.

fixture.store(count, makeItems, algebra)

Similar to fixture.store(baseItems, algebra), except that it uses makeItems to create count entries in the store.

// Describe the services parameters:
const todoAlgebra = new set.Algebra( /* ... */ );

// Create a store with initial data.
// Pass [] if you want it to be empty.
const todoStore = fixture.store(
    1000,
    function( i ) {
        return {
            _id: i + 1,
            name: "Todo " + i,
            complete: fixture.rand( [ true, false ], 1 )[ 0 ]
        };
    },
    todoAlgebra );

// Hookup urls to the store:
fixture( "/todos/{_id}", todoStore );

Parameters

  1. count {Number}:

    TODO describe

  2. makeItems {function}:

    A function that will generate baseItems

  3. algebra {Algebra(compares)}:

    A description of the service layer's parameters.

Returns

{Store()}:

A store that can be used to simulate a restful service layer that supports filtering, pagination, and more.

CanJS is part of DoneJS. Created and maintained by the core DoneJS team and Bitovi. Currently 4.3.0.

On this page

Get help

  • Chat with us
  • File an issue
  • Ask questions
  • Read latest news