pivotick / Pivot / PivotDefinition
Interface: PivotDefinition
Definido em: interfaces/Pivot.ts:21
Um enriquecimento executável: como é chamado, em que funciona, como anunciar o que está disponível e como buscá-lo.
Um pivô consiste em duas funções e alguns metadados. PivotDefinition.summarize é a chamada barata "o que está lá fora" cujas facetas se tornam os controles restritivos; PivotDefinition.fetch é o verdadeiro. Os resultados são candidatos — preparados para triagem, nunca na tela — a menos que o pivô declare PivotDefinition.autoIngest.
Propriedades
appliesTo()?
optionalappliesTo: (nodes) =>boolean|Node[]
Definido em: interfaces/Pivot.ts:54
Se este pivô se aplica a uma determinada origem e a quanto dela. Releia cada mudança de origem, por isso deve ser síncrona e barata. Omita-o e o pivô se aplicará a tudo. Não consultado quando origin é 'none'.
Retorne um booleano para uma regra sobre a origem como um todo - "apenas com dois ou mais escolhidos", "nunca em uma nota". Retorne os nós aos quais se aplica para uma regra que lê um nó por vez, que é o caso normal de enriquecimento: uma seleção que mistura um domínio e um IP ainda oferece os provedores somente de domínio, contra apenas o domínio. Uma matriz vazia significa o mesmo que false.
O que quer que ele mantenha é a origem com a qual o provedor é chamado - summarize e fetch nunca veem um nó rejeitado.
appliesTo: nodes => nodes.length >= 2 // whole origin
appliesTo: nodes => nodes.filter(n => accepted.has(typeOf(n))) // per nodeParâmetros
nodes
Node[]
Retorno
boolean | Node[]
autoIngest?
optionalautoIngest:boolean
Definido em: interfaces/Pivot.ts:96
Obtenha os resultados diretamente, em vez de prepará-los para triagem. Para resultados pequenos e confiáveis — expandindo um evento em seus objetos — e não para qualquer coisa que um analista gostaria de analisar. O limite ainda se aplica.
true e false são ambas respostas e ambas permanecem independentemente da forma como a execução foi iniciada. Deixá-lo sem definição é não o mesmo que false: diz que o pivô não tem visualização, então uma execução com um clique pode decidir apenas o tamanho - consulte PivotRunOptions.autoIngestUpTo. As corridas feitas de qualquer outra forma ainda estão no palco.
Padrão
undefined — stages, unless the run itself sets a size to land underautoSave?
optionalautoSave:boolean
Definido em: interfaces/Pivot.ts:129
Escreva cada corrida no momento em que ela pousar, sem nenhum gesto. Para um pivô cujos resultados já são os próprios dados do sistema de origem — expandindo um evento em seus objetos — onde salvar é uma atualização e não uma decisão.
O salvamento é executado depois que a ingestão é resolvida, e não dentro dela, portanto, um back-end lento nunca sustenta a tela; seu resultado é relatado pelo notificador.
Padrão
falsefetch()
fetch: (
nodes,narrowing,ctx) =>PivotResult|Promise<PivotResult>
Definido em: interfaces/Pivot.ts:84
A busca real, limitada pelo que o analista escolheu.
Parâmetros
nodes
Node[]
narrowing
ctx
Retorno
PivotResult | Promise<PivotResult>
icon?
optionalicon:string
Definido em: interfaces/Pivot.ts:27
String SVG, injetada com innerHTML e não higienizada — deve ser confiável.
id
id:
string
Definido em: interfaces/Pivot.ts:23
Identidade estável: quais são as chaves do registro e a etiqueta de proveniência escrita na ingestão.
label
label:
string
Definido em: interfaces/Pivot.ts:25
Rótulo, usado literalmente (para que possa ser traduzido).
maxCandidates?
optionalmaxCandidates:number
Definido em: interfaces/Pivot.ts:104
Recuse-se a buscar enquanto a contagem anunciada exceder isso. Uma contagem que o provedor não conhece (total: null) nunca é recusada. Não há padrão de biblioteca: um pivô que declara nenhum limite nunca é limitado por um (o teto absoluto de PivotManagerLike.candidateCeiling ainda se aplica ao que fetch retorna).
menuChoices()?
optionalmenuChoices: (nodes) =>PivotMenuChoice[]
Definido em: interfaces/Pivot.ts:72
Opções para o menu de contexto. Com qualquer, a linha do pivô abre um submenu com uma linha por escolha, cada uma executando o pivô no local com aquele estreitamento, e uma última linha abrindo o painel do pivô. Recebe os nós aos quais o pivô se aplica. Síncrono e barato, como appliesTo: é executado sempre que o menu é aberto.
Retorne [], ou omita o gancho, para obter uma linha simples que corre sem estreitamento.
Parâmetros
nodes
Node[]
Retorno
Exemplo
// Enrich an object through one of its attributes.
menuChoices: ([object]) => attributesOf(object).map(a => ({
label: `${a.type}: ${a.value}`,
narrowing: { attribute: [a.id] },
}))origin?
optionalorigin:"none"|"selection"
Definido em: interfaces/Pivot.ts:34
Em que funciona esse pivô. 'selection' os pivôs precisam de uma origem — os nós para os quais o analista apontou; Os pivôs 'none' não precisam de nenhum nó (pesquisa, importação, bandeja de teste) e recebem [].
Padrão
'selection'save()?
optionalsave: (payload,ctx) =>PivotSaveOutcome|Promise<PivotSaveOutcome>
Definido em: interfaces/Pivot.ts:119
Grave o resultado de uma execução ingerida de volta no sistema de origem — a metade do contrato que não é somente leitura.
Omita-o e os resultados deste pivô serão não salváveis: eles nunca entram no razão, nunca são contados como não salvos e nenhum Salvar aparece para eles. Um pivô sobre dados derivados que não puderam ser gravados em nenhum lugar deve omiti-lo em vez de declarar um que falhe.
Nunca chamado pela biblioteca por conta própria - um PivotManagerLike.save explícito ou PivotDefinition.autoSave. O consumidor realiza a gravação; a biblioteca apenas pede e registra a resposta.
Parâmetros
payload
ctx
Retorno
PivotSaveOutcome | Promise<PivotSaveOutcome>
summarize()?
optionalsummarize: (nodes,narrowing,ctx) =>PivotSummary|Promise<PivotSummary>
Definido em: interfaces/Pivot.ts:82
Barato "o que há lá fora". Chamado com {} antes de existir qualquer estreitamento e executado novamente conforme a origem ou o estreitamento muda; suas facetas tornam-se os controles de estreitamento e seu total é o número pelo qual o limite é julgado.
Omita-o e o pivô não oferecerá contagem anunciada nem restrição - legal, mas então PivotDefinition.fetch deve ser seguro para chamar de cego, já que nada pode bloqueá-lo.
Parâmetros
nodes
Node[]
narrowing
ctx
Retorno
PivotSummary | Promise<PivotSummary>