Pular para o conteúdo

pivotick v3.0.0


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()? ​

optional appliesTo: (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.

ts
appliesTo: nodes => nodes.length >= 2                          // whole origin
appliesTo: nodes => nodes.filter(n => accepted.has(typeOf(n))) // per node

Parâmetros ​

nodes ​

Node[]

Retorno ​

boolean | Node[]


autoIngest? ​

optional autoIngest: 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 ​

ts
undefined — stages, unless the run itself sets a size to land under

autoSave? ​

optional autoSave: 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 ​

ts
false

fetch() ​

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 ​

PivotNarrowing

ctx ​

PivotContext

Retorno ​

PivotResult | Promise<PivotResult>


icon? ​

optional icon: 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? ​

optional maxCandidates: 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).


optional menuChoices: (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 ​

PivotMenuChoice[]

Exemplo ​

ts
// Enrich an object through one of its attributes.
menuChoices: ([object]) => attributesOf(object).map(a => ({
    label: `${a.type}: ${a.value}`,
    narrowing: { attribute: [a.id] },
}))

origin? ​

optional origin: "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 ​

ts
'selection'

save()? ​

optional save: (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 ​

PivotSavePayload

ctx ​

PivotSaveContext

Retorno ​

PivotSaveOutcome | Promise<PivotSaveOutcome>


summarize()? ​

optional summarize: (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 ​

PivotNarrowing

ctx ​

PivotContext

Retorno ​

PivotSummary | Promise<PivotSummary>