BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias JSINQ, uma implementação JavaScript do LINQ

JSINQ, uma implementação JavaScript do LINQ

Favoritos

JSINQ significa JavaScript INtegrated Query, um projeto beta que implementa LINQ to Objects em JavaScript e que foi recentemente liberado no CodePlex pelo Kai Jäger. JSINQ contém 2 módulo, Enumerable e implementação de Query, System.Linq.Enumerable e System.Linq.Queryable respectivamente, permitindo enumerar arrays, listas de nós DOM ou outros objetos.

O dois módulos são jsinq.Enumerable e jsinq.Query. Um exemplo de uma query é:

var query = new jsinq.Query('\
    from order in $1 \
    group order by order.customerId into g \
    select {customerId: g.getKey(), items: g.sum(function(g) { return g.items; })} \
    into h \
    join customer in $0 on h.customerId equals customer.id \
    where h.items > 10 \
    orderby h.items descending \
    select {lastname: customer.lastname, items: h.items} \
');
query.setValue(0, customers);
query.setValue(1, orders);
var result = query.execute();

An example of enumerating is:

var enumerator = namesThatStartWithAnA.getEnumerator();
while (enumerator.moveNext()) {
  var name = enumerator.current();
  document.write(name + '<br  />');
}

De acordo com Kai, JSINQ pode:

  • Escrever queries arbitráriamente complexas baseadas em arrays JAvaScript, listas de nós DOM ou seus próprios objetos enumeráveis
  • Encontrar Elementos na árvore DOM do HTML usando queries SQL
  • Criar HTML dinamicamente a partir de respostas JSON que você receba via XMLHttpRequest de forma declarativa
  • Manipular XML e convertê-lo para algo
  • Combinar de forma interessante com os frameworks Ajax/JavaScript que você já usa
  • Escrever menos código através da exploração da força da programação declarativa
  • e para os ambiciosos: escrever raytracers, monadic parser combinators, etc.

Kai disponibilizou uma página de playground que permite a qualquer um testar o JSINQ. O código fonte pode ser baixado gratuitamente do CodePlex sob a MIT License.  Outro projetos similares: JSLINQ e JLINQ.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.