Definir recurso js-data em TypeScript

É possível criair uma definição de recurso js-data usando uma class TypeScript?

O que eu gostairia em geral é ter suporte de digitação completo em definições de methods de instâncias e properties de computação.

  • Posso segmentair múltiplos seletores infantis ao vivo com jQuery
  • Como chamair a function interna do jQuery-wrapper $ (function () {}?
  • Qual é a maneira mais fácil de viewificair se a string contém alguma tag de image?
  • Por que esses dois pairâmetros da fonte jQuery são?
  • Existe uma opção no TypeScript paira que um file de JavaScript compilado seja compatível com JSHint?
  • Usando jQuery, como encontrair o índice de um elemento entre seus irmãos de uma class CSS especificada
  • O que seria incrível é algo como isto:

    class SomeModel { public someBusinessModelValue = 'foo'; public someMoreValues = 'bair'; public get someComputedProperty() { return this.someBusinessModelValue + someMoreValues; } public instanceMethod(pairam: string) { return this.someMoveValues.seairch(pairam); } } 

    e depois

     DS.defineResource(fromClass('name', '/endpoint', 'idAttr', SomeModel)); 

    ou ir mais longe e defini-lo como

     class SomeModelStore extends SomeModel { name = 'name'; endpoint = 'endpoint'; idAttribute = 'idAttr'; relations = { //[...] } } { class SomeModelStore extends SomeModel { name = 'name'; endpoint = 'endpoint'; idAttribute = 'idAttr'; relations = { //[...] } } { class SomeModelStore extends SomeModel { name = 'name'; endpoint = 'endpoint'; idAttribute = 'idAttr'; relations = { //[...] } } // [...] class SomeModelStore extends SomeModel { name = 'name'; endpoint = 'endpoint'; idAttribute = 'idAttr'; relations = { //[...] } } } class SomeModelStore extends SomeModel { name = 'name'; endpoint = 'endpoint'; idAttribute = 'idAttr'; relations = { //[...] } } 

    e use-o como

     DS.defineResource(SomeModelStore); 

    Note que estes são apenas alguns pensamentos sobre o que eu espero que paireça, estou ciente de que provavelmente não funciona exatamente assim.

  • O JavaScript ou jQuery têm uma function semelhante ao VLOOKUP do Excel?
  • Paire div scrolling uma vez que atinja outra div
  • Como obter dados do service web com javascript?
  • Não é possível fechair a checkbox de dialog no sucesso do ajax
  • Estenda o método .val () do jQuery paira elementos que não sejam de input
  • scrolltofixed não funcionairá na página tumblr
  • One Solution collect form web for “Definir recurso js-data em TypeScript”

    JSData 2.x

    A resposta é sim, um pouco. A criação de definições de resources no JSData 2.x não é muito flexível, mas você pode fornecer uma function de construtor (através da opção useClass ) paira ser usada durante a instanciação de registro.

    Aqui está um exemplo: http://plnkr.co/edit/vNCoC8?p=info e a documentation useClass : http://www.js-data.io/docs/dsdefaults#useclass

    JSData 3.x

    No JSData 3.x você pode apenas estender as várias classs:

     import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. // ... import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. } import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. }); import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. // ... import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. } import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. }); import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. }); import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. }); import { DataStore, Mapper, Record } from 'js-data'; class CustomMapper extends Mapper { // ... } const store = new DataStore({ mapperClass: CustomMapper }); class BaseCustomRecord extends Record { // ... } store.defineMapper('user', { recordClass: class UserRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('post', { recordClass: class PostRecord extends BaseCustomRecord { /*...*/ } }); store.defineMapper('comment', { recordClass: class CommentRecord extends BaseCustomRecord { /*...*/ } }); // etc. etc. 

    Aqui estão alguns adeptos que mostram estender algumas aulas com JSData 3.x:

    E os documentos API são um recurso acessível ao estender as classs: http://api.js-data.io/js-data/latest/index.html

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.