How to use the js-data.DS function in js-data

To help you get started, we’ve selected a few js-data examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github DefinitelyTyped / DefinitelyTyped / js-data-http / js-data-http-tests.ts View on Github external
import * as JSData from 'js-data';
import DSHttpAdapter = require("js-data-http");

declare var axios: any;

const adapter = new DSHttpAdapter();
const store = new JSData.DS();
store.registerAdapter('http', adapter, { default: true });

adapter.defaults.basePath = '/api';
adapter.http = axios;

const ADocument: JSData.DSResourceDefinition = store.defineResource('document');

ADocument.inject({ id: 5, author: 'John' });

// bypass the data store
adapter.update(ADocument, 5, { author: 'Johnny' }).then((document: any) => {
    document; // { id: 5, author: 'Johnny' }

    // The updated document has NOT been injected into the data store because we bypassed the data store
    ADocument.get(document.id); // { id: 5, author: 'John' }
});
github emschwartz / webtorrent-ilp / src / decider.js View on Github external
constructor (opts) {
    this.store = new JSData.DS()
    // TODO don't use uuids, maybe use incrementing numbers to reduce memory
    // TODO use relations to avoid storing the publicKey and torrentHash many times over
    this.Payment = this.store.defineResource({
      name: 'payment',
      computed: {
        id: ['id', (id) => id || uuid.v4()]
      }
    })
    this.PaymentRequest = this.store.defineResource({
      name: 'payment_request',
      computed: {
        id: ['id', (id) => id || uuid.v4()]
      }
    })
    this.Delivery = this.store.defineResource({
      name: 'delivery',
github js-data / js-data-examples / server / sql / app / container.js View on Github external
container.register('DS', function (Promise, container, sqlAdapter, messageService) {
  var JSData = require('js-data');
  JSData.DSUtils.Promise = Promise;
  var store = new JSData.DS({
    cacheResponse: false,
    bypassCache: true,

    // Important: If your relationships stop working, you might
    // have deleted this.
    linkRelations: false,

    // Because
    upsert: false,

    // Don't really need this stuff on the server, so let's improve
    // performance and disable these features
    notify: false,
    keepChangeHistory: false,
    resetHistoryOnInject: false,
github js-data / js-data-examples / server / rethinkdb / app / container.js View on Github external
container.register('DS', function (container, rethinkdbAdapter) {
  var JSData = require('js-data');
  var store = new JSData.DS({
    cacheResponse: false,
    bypassCache: true,

    // Important: If your relationships stop working, you might
    // have deleted this.
    linkRelations: false,

    // Because
    upsert: false,

    // Don't really need this stuff on the server, so let's improve
    // performance and disable these features
    notify: false,
    keepChangeHistory: false,
    resetHistoryOnInject: false,
github js-data / js-data-angular / src / index.js View on Github external
function load (...args) {
      let $rootScope = args[args.length - 2]
      let $q = args[args.length - 1]
      let store = new JSData.DS(_this.defaults)
      let originals = {}

      function QPromise (executor) {
        let deferred = $q.defer()

        try {
          executor(
            angular.bind(deferred, deferred.resolve),
            angular.bind(deferred, deferred.reject)
          )
        } catch (err) {
          deferred.reject(err)
        }

        return deferred.promise
      }
github jmdobry / RequelPro / src / RequelPro / services / store.js View on Github external
import JSData from 'js-data';
import DSNeDBAdapter from './DSNeDBAdapter.jsx';

let store = new JSData.DS({
  reapInterval: false,
  log: false
});

store.utils.Events(store);

store.registerAdapter('nedb', new DSNeDBAdapter(), { default: true });

export default store;
github microsoft / projection-grid / demos / factory / js-data-resource.js View on Github external
options.afterFindAll = (resource, data) => {
      totalCount = data['@odata.count'];
      return data.value;
    };
    options.afterInject = (resource, instances) => {
      Object.defineProperty(instances, 'totalCount', { value: totalCount });
    };

    return super.findAll(definition, params, options);
  }
}

JSData.DSUtils.Promise = require('bluebird');

var store = new JSData.DS();
store.registerAdapter('odata', new ODataAdapter({
  basePath: 'http://services.odata.org/V4/Northwind/Northwind.svc/',
}), { default: true });

module.exports = store.defineResource({
  name: 'Customers',
  idAttribute: 'CustomerID',
});
github microsoft / projection-grid / demos / vnext / data-source / jsdata / js-data-resource.js View on Github external
var _ = require('underscore');
var JSData = require('js-data');
var DSHttpAdapter = require('js-data-http');

JSData.DSUtils.Promise = require('bluebird');

var store = new JSData.DS();
store.registerAdapter('http', new DSHttpAdapter({
  basePath: 'http://services.odata.org/V4/Northwind/Northwind.svc/',
  deserialize: function (definition, response) {
    return response.data.value;
  },
  queryTransform: function (definition, params) {
    var query = {};

    _.has(params, 'offset') && (query.$skip = params.offset);
    _.has(params, 'limit') && (query.$top = params.limit);
    _.has(params, 'orderBy') && (query.$orderby = params.orderBy.map(function (item) {
      return item[0] + ' ' + item[1].toLowerCase();
    }).join(','));

    return query;
  },
github microsoft / projection-grid / spec / integrated / data / js-data-source.js View on Github external
import _ from 'underscore';
import JSData from 'js-data';
import DSHttpAdapter from 'js-data-http';

JSData.DSUtils.Promise = require('bluebird');
let store = new JSData.DS();

store.registerAdapter('http', new DSHttpAdapter({
  basePath: 'https://services.odata.org/V4/Northwind/Northwind.svc/',
  deserialize: (definition, response) => {
    return response.data.value;
  },
  queryTransform: (definition, params) => {
    let query = {};

    _.has(params, 'offset') && (query.$skip = params.offset);
    _.has(params, 'limit') && (query.$top = params.limit);
    _.has(params, 'orderBy') && (query.$orderby = params.orderBy.map((item) => {
      return item[0] + ' ' + item[1].toLowerCase();
    }).join(','));

    return query;
github zalmoxisus / remotedev-server / lib / store.js View on Github external
function createStore(options) {
  var adapterName = options.adapter;
  store = new JSData.DS();

  if (adapterName) {
    var DSAdapter = getAdapter(adapterName);
    adapter = new DSAdapter(options.dbOptions);
    store.registerAdapter(adapterName, adapter, { default: true });
  }

  Report = store.defineResource('report');

  return {
    list: list,
    get: get,
    add: add,
    selectors: {
      byBaseFields: byBaseFields
    }