Utilità di tipo

TypeUtils è un set di funzioni e classi per estendere i tipi di base per gli oggetti visivi di Power BI.

Installazione

Per installare il pacchetto, eseguire il comando seguente nella directory con l'oggetto visivo personalizzato corrente:

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

Questo comando installa il pacchetto e aggiunge un pacchetto come dipendenza al file package.json.

Double

Il Double modulo consente di modificare la precisione dei numeri.

Offre le funzioni seguenti:

pow10

Questa funzione restituisce la potenza di 10.

function pow10(exp: number): number;

Esempio:

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

double.pow10(25);

// returns: 1e+25

log10

Questa funzione restituisce un logaritmo di base 10 del numero.

function log10(val: number): number;

Esempio:

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

double.log10(25);

// returns: 1

getPrecision

Questa funzione restituisce una potenza di 10 che rappresenta la precisione del numero.

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

Esempio:

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

double.getPrecision(562344, 6);

// returns: 0.1

equalWithPrecision

Questa funzione controlla se un delta tra due numeri è minore della precisione specificata.

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

Esempio:

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

double.equalWithPrecision(1, 1.005, 0.01);

// returns: true

lessWithPrecision

Questa funzione controlla se il primo valore è minore del secondo valore.

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

Esempio:

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

double.lessWithPrecision(0.995, 1, 0.001);

// returns: true

lessOrEqualWithPrecision

Questa funzione controlla se il primo valore è minore o uguale al secondo valore.

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

Esempio:

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

double.lessOrEqualWithPrecision(1.005, 1, 0.01);

// returns: true

greaterWithPrecision

Questa funzione controlla se il primo valore è maggiore del secondo valore.

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

Esempio:

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

double.greaterWithPrecision(1, 0.995, 0.01);

// returns: false

greaterOrEqualWithPrecision

Questa funzione controlla se il primo valore è maggiore o uguale al secondo valore.

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

Esempio:

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

double.greaterOrEqualWithPrecision(1, 1.005, 0.01);

// returns: true

floorWithPrecision

Questa funzione pianizza il numero con la precisione fornita.

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

Esempio:

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

double.floorWithPrecision(5.96, 0.001);

// returns: 5

ceilWithPrecision

Questa funzione ceils è il numero con la precisione specificata.

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

Esempio:

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

double.ceilWithPrecision(5.06, 0.001);

// returns: 6

floorToPrecision

Questa funzione consente di aggiornare il numero alla precisione specificata.

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

Esempio:

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

double.floorToPrecision(5.96, 0.1);

// returns: 5.9

ceilToPrecision

Questa funzione ceils indica il numero alla precisione specificata.

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

Esempio:

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

double.ceilToPrecision(-506, 10);

// returns: -500

roundToPrecision

Questa funzione arrotonda il numero alla precisione specificata.

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

Esempio:

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

double.roundToPrecision(596, 10);

// returns: 600

ensureInRange

Questa funzione restituisce un numero compreso tra min e max.

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

Esempio:

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

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

// returns: -10

round

Questa funzione arrotonda il numero.

function round(x: number): number;

Esempio:

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

double.round(27.45);

// returns: 27

removeDecimalNoise

Questa funzione arrotonda il numero per eliminare alcuni spazi decimali.

function removeDecimalNoise(value: number): number;

Esempio:

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

double.removeDecimalNoise(21.493000000000002);

// returns: 21.493

isInteger

Questa funzione controlla se il numero è un numero intero.

function isInteger(value: number): boolean;

Esempio:

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

double.isInteger(21.493000000000002);

// returns: false

toIncrement

Questa funzione incrementa il numero in base al numero specificato e restituisce il numero arrotondato.

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

Esempio:

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

double.toIncrement(0.6383723, 0.05);

// returns: 0.65

Prototipo

Il Prototype modulo consente di ereditare oggetti.

Offre le funzioni seguenti:

ereditare

Questa funzione restituisce un nuovo oggetto con l'oggetto fornito come prototipo.

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

Esempio:

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

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

prototype.inherit(base);

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

inheritSingle

Questa funzione restituisce un nuovo oggetto con l'oggetto fornito come prototipo se e solo se il prototipo non è stato impostato.

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

Esempio:

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

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

prototype.inheritSingle(base);

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

PixelConverter

Il PixelConverter modulo offre la possibilità di convertire i pixel in punti e punti in pixel.

Offre le funzioni seguenti:

toString

Questa funzione converte il valore pixel in una stringa.

function toString(px: number): string;

Esempio:

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

pixelConverter.toString(25);

// returns: 25px

fromPoint

Questa funzione converte il valore del punto specificato nel valore pixel e restituisce l'interpretazione della stringa.

function fromPoint(pt: number): string;

Esempio:

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

pixelConverter.fromPoint(8);

// returns: 33.33333333333333px

fromPointToPixel

Questa funzione converte il valore del punto specificato nel valore pixel.

function fromPointToPixel(pt: number): number;

Esempio:

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

pixelConverter.fromPointToPixel(8);

// returns: 10.666666666666666

toPoint

Questa funzione converte il valore pixel nel valore del punto.

function toPoint(px: number): number;

Esempio:

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

pixelConverter.toPoint(8);

// returns: 6