Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

falcor-sync-model

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

falcor-sync-model

A Falcor model that can be read from synchronously

  • 0.0.1
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

Falcor Sync Model

The dilemma

A unified data store - Falcor Model#get() and Model#getValue() return promises, regardless of whether a value is cached. This allows all code that reads a Falcor model to be written in the same way, regardless of where the data lives.

Synchronous rendering - Unfortunately, current versions of Angular and React can't render promises. Using Falcor thus requires keeping a separate data store which duplicates the contents of the cache, and writing code to keep the two in sync.

The solution

The goal of this lib is to allow a Falcor model to be used directly as a data store, by providing a way to read the model synchronously and still have it sync to its data source. As long as synchronous reads are only used for rendering, this won't interfere with Falcor's unified model ethic.

API

falcor-sync-model extends Falcor.Model by adding a single getValueSync() method which takes the same arguments as Falcor.Model#getValue(). The value is returned synchronously, and causes the model to load data from its datasource as a side effect.

Example

var SyncModel = require('falcor-sync-model');
var HttpDataSource = require('falcor-http-datasource');

var App = React.createClass({

  getInitialState() {
    return {
      store: new SyncModel({
        onChange: () => this.forceUpdate(),
        source: new HttpDataSource('/model.json')
      })
    }
  },

  render() {
    return <div>
      Hello {this.store.getValueSync('self.name')}!
    </div>
  }
});

Installation

npm install falcor-sync-model

Keywords

FAQs

Package last updated on 09 Feb 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc