Tipo utils

TypeUtils é um conjunto de funções e classes para estender os tipos básicos para visuais do Power BI.

Instalação

Para instalar o pacote, execute o seguinte comando no diretório com seu visual personalizado atual:

npm install powerbi-visuals-utils-typeutils --save

Este comando instala o pacote e adiciona um pacote como uma dependência ao seu package.json arquivo.

Duplo

O Double módulo fornece habilidades para manipular a precisão dos números.

Ele fornece as seguintes funções:

POW10

Esta função devolve potência de 10.

function pow10(exp: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.pow10(25);

// returns: 1e+25

Log10

Esta função retorna um logaritmo de 10 bases do número.

function log10(val: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.log10(25);

// returns: 1

getPrecision

Esta função devolve uma potência de 10 que representa a precisão do número.

function getPrecision(x: number, decimalDigits?: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.getPrecision(562344, 6);

// returns: 0.1

equalWithPrecision

Esta função verifica se um delta entre dois números é menor do que a precisão fornecida.

function equalWithPrecision(x: number, y: number, precision?: number): boolean;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.equalWithPrecision(1, 1.005, 0.01);

// returns: true

menosWithPrecision

Esta função verifica se o primeiro valor é menor que o segundo valor.

function lessWithPrecision(x: number, y: number, precision?: number): boolean;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.lessWithPrecision(0.995, 1, 0.001);

// returns: true

lessOrEqualWithPrecision

Esta função verifica se o primeiro valor é menor ou igual ao segundo valor.

function lessOrEqualWithPrecision(x: number, y: number, precision?: number): boolean;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.lessOrEqualWithPrecision(1.005, 1, 0.01);

// returns: true

maiorWithPrecision

Esta função verifica se o primeiro valor é maior do que o segundo valor.

function greaterWithPrecision(x: number, y: number, precision?: number): boolean;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.greaterWithPrecision(1, 0.995, 0.01);

// returns: false

greaterOrEqualWithPrecision

Esta função verifica se o primeiro valor é maior ou igual ao segundo valor.

function greaterOrEqualWithPrecision(x: number, y: number, precision?: number): boolean;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.greaterOrEqualWithPrecision(1, 1.005, 0.01);

// returns: true

floorComPrecisão

Esta função nivela o número com a precisão fornecida.

function floorWithPrecision(x: number, precision?: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.floorWithPrecision(5.96, 0.001);

// returns: 5

ceilWithPrecision

Esta função ceils o número com a precisão fornecida.

function ceilWithPrecision(x: number, precision?: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.ceilWithPrecision(5.06, 0.001);

// returns: 6

floorToPrecision

Esta função nivela o número com a precisão fornecida.

function floorToPrecision(x: number, precision?: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.floorToPrecision(5.96, 0.1);

// returns: 5.9

ceilToPrecision

Esta função ceils o número para a precisão fornecida.

function ceilToPrecision(x: number, precision?: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.ceilToPrecision(-506, 10);

// returns: -500

roundToPrecision

Esta função arredonda o número para a precisão fornecida.

function roundToPrecision(x: number, precision?: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.roundToPrecision(596, 10);

// returns: 600

ensureInRange

Esta função devolve um número que está entre min e max.

function ensureInRange(x: number, min: number, max: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.ensureInRange(-27.2, -10, -5);

// returns: -10

round

Esta função arredonda o número.

function round(x: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.round(27.45);

// returns: 27

removeDecimalNoise

Esta função arredonda o número para eliminar alguns espaços decimais.

function removeDecimalNoise(value: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.removeDecimalNoise(21.493000000000002);

// returns: 21.493

isInteger

Esta função verifica se o número é um número inteiro.

function isInteger(value: number): boolean;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.isInteger(21.493000000000002);

// returns: false

toIncrement

Esta função incrementa o número pelo número fornecido e devolve o número arredondado.

function toIncrement(value: number, increment: number): number;

Exemplo:

import { double } from "powerbi-visuals-utils-typeutils";
// ...

double.toIncrement(0.6383723, 0.05);

// returns: 0.65

Protótipo

O Prototype módulo fornece a capacidade de herdar objetos.

Ele fornece as seguintes funções:

herdar

Esta função retorna um novo objeto com o objeto fornecido como seu protótipo.

function inherit<T>(obj: T, extension?: (inherited: T) => void): T;

Exemplo:

import { prototype } from "powerbi-visuals-utils-typeutils";
// ...

let base = { Microsoft: "Power BI" };

prototype.inherit(base);

/* returns: {
    __proto__: {
        Microsoft: "Power BI"
    }
}*/

herançaSingle

Esta função retorna um novo objeto com o objeto fornecido como seu protótipo se, e somente se, o protótipo não tiver sido definido.

function inheritSingle<T>(obj: T): T;

Exemplo:

import { prototype } from "powerbi-visuals-utils-typeutils";
// ...

let base = { Microsoft: "Power BI" };

prototype.inheritSingle(base);

/* returns: {
    __proto__: {
        Microsoft: "Power BI"
    }
}*/

Conversor de Pixels

O PixelConverter módulo fornece a capacidade de converter pixels em pontos e pontos em pixels.

Ele fornece as seguintes funções:

toString

Esta função converte o valor do pixel em uma cadeia de caracteres.

function toString(px: number): string;

Exemplo:

import { pixelConverter } from "powerbi-visuals-utils-typeutils";
// ...

pixelConverter.toString(25);

// returns: 25px

fromPoint

Esta função converte o valor de ponto fornecido para o valor de pixel e retorna a interpretação de cadeia de caracteres.

function fromPoint(pt: number): string;

Exemplo:

import { pixelConverter } from "powerbi-visuals-utils-typeutils";
// ...

pixelConverter.fromPoint(8);

// returns: 33.33333333333333px

dePointToPixel

Esta função converte o valor de ponto fornecido para o valor de pixel.

function fromPointToPixel(pt: number): number;

Exemplo:

import { pixelConverter } from "powerbi-visuals-utils-typeutils";
// ...

pixelConverter.fromPointToPixel(8);

// returns: 10.666666666666666

toPonto

Esta função converte o valor do pixel para o valor do ponto.

function toPoint(px: number): number;

Exemplo:

import { pixelConverter } from "powerbi-visuals-utils-typeutils";
// ...

pixelConverter.toPoint(8);

// returns: 6