Arcane.Lavra
A consulta tipada: o cliente diz exatamente quais campos quer, numa consulta indentada, e recebe exatamente aqueles. O esquema nasce dos 'record' que já existem; traz resolvedores, contexto, trechos, variáveis, diretivas, contratos, uniões, introspecção, validação antes de executar, lote contra o N+1, paginação por cursor, limites de profundidade e custo, assinaturas por WebSocket e federação de vários serviços.
Funções (42)#
| Assinatura |
|---|
assinatura(esq, nome, tipo_do_campo, resolve=None, args=None, descricao='', custo=1) |
busca(esq, nome, tipo_do_campo, resolve=None, args=None, descricao='', custo=1) |
campo(esq, tipo_nome, nome, tipo_do_campo, resolve=None, args=None, descricao='', obsoleto='', custo=1) |
cliente(url, cabecalhos=None, tempo_limite=10.0) |
conferir(esq) |
contexto(dados=None) |
contrato(esq, nome, campos, descricao='', resolve_tipo=None) |
descrever(esq) |
diretiva(esq, nome, decidir) |
em_segundo_plano(esquema, porta=0, host='127.0.0.1', caminho='/lavra', contexto_de=None) |
entao(promessa, acao) |
entrada(esq, alvo, nome=None, descricao='', campos=None) |
enum(esq, nome, valores, descricao='') |
erro(mensagem, codigo='erro', extra=None) |
escalar(esq, nome, serializa=None, desserializa=None, descricao='') |
esquema(nome='lavra') |
estender(p, tipo_nome, campo_nome, tipo_do_campo, resolve=None, args=None, descricao='', custo=1) |
executar(esq, texto, variaveis=None, contexto=None, raiz=None, operacao=None, validar_antes=True) |
fonte(nome='fonte') |
introspeccao(esq, ligada=True) |
juntar(p, servico, esquema) |
ler(texto) |
limites(esq, profundidade=None, complexidade=None, itens=None) |
local(esquema, contexto=None) |
lote(ctx, nome, buscar) |
lotes(ctx) |
mapa(p) |
montar(app, esquema, caminho='/lavra', contexto_de=None, permitir_get=True, introspeccao_publica=True) |
montar_assinaturas(app, esquema, caminho='/lavra/assinar', contexto_de=None) |
mudanca(esq, nome, tipo_do_campo, resolve=None, args=None, descricao='', custo=1) |
pagina(itens, primeiros=None, depois=None, total=None) |
parar(app) |
pedir(ctx, nome, chave) |
portao(nome='portao') |
preencher(ctx, nome, chave, valor) |
recusar(mensagem='sem permissão', extra=None) |
servir(esquema, porta=8080, host='127.0.0.1', caminho='/lavra', contexto_de=None, silencioso=False) |
texto_do_esquema(esq) |
tipo(esq, alvo, nome=None, descricao='', cumpre=None, campos=None, esconder=None) |
tipo_pagina(esq, nome_do_item, nome=None) |
uniao(esq, nome, membros, descricao='', resolve_tipo=None) |
validar(esq, texto, operacao=None) |