Typeverktøy

TypeUtils er et sett med funksjoner og klasser for å utvide de grunnleggende typene for Power BI-visualobjekter.

Installasjon

Hvis du vil installere pakken, kjører du følgende kommando i katalogen med det gjeldende egendefinerte visualobjektet:

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

Denne kommandoen installerer pakken og legger til en pakke som en avhengighet i package.json filen.

Dobbel

Modulen Double gir mulighet til å manipulere presisjon av tallene.

Den inneholder følgende funksjoner:

pow10

Denne funksjonen returnerer potens på 10.

function pow10(exp: number): number;

Eksempel:

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

double.pow10(25);

// returns: 1e+25

log10

Denne funksjonen returnerer en 10 basis logaritme av tallet.

function log10(val: number): number;

Eksempel:

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

double.log10(25);

// returns: 1

getPrecision

Denne funksjonen returnerer en potens på 10 som representerer presisjon av tallet.

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

Eksempel:

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

double.getPrecision(562344, 6);

// returns: 0.1

equalWithPrecision

Denne funksjonen kontrollerer om et delta mellom to tall er mindre enn angitt presisjon.

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

Eksempel:

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

double.equalWithPrecision(1, 1.005, 0.01);

// returns: true

lessWithPrecision

Denne funksjonen kontrollerer om den første verdien er mindre enn den andre verdien.

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

Eksempel:

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

double.lessWithPrecision(0.995, 1, 0.001);

// returns: true

lessOrEqualWithPrecision

Denne funksjonen kontrollerer om den første verdien er mindre enn eller lik den andre verdien.

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

Eksempel:

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

double.lessOrEqualWithPrecision(1.005, 1, 0.01);

// returns: true

greaterWithPrecision

Denne funksjonen kontrollerer om den første verdien er større enn den andre verdien.

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

Eksempel:

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

double.greaterWithPrecision(1, 0.995, 0.01);

// returns: false

greaterOrEqualWithPrecision

Denne funksjonen kontrollerer om den første verdien er større enn eller lik den andre verdien.

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

Eksempel:

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

double.greaterOrEqualWithPrecision(1, 1.005, 0.01);

// returns: true

floorWithPrecision

Denne funksjonen angir tallet med angitt presisjon.

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

Eksempel:

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

double.floorWithPrecision(5.96, 0.001);

// returns: 5

ceilWithPrecision

Denne funksjonen ceils er tallet med angitt presisjon.

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

Eksempel:

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

double.ceilWithPrecision(5.06, 0.001);

// returns: 6

floorToPrecision

Denne funksjonen gir tallet samme presisjon som angitt.

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

Eksempel:

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

double.floorToPrecision(5.96, 0.1);

// returns: 5.9

ceilToPrecision

Denne funksjonen ceils er tallet til den angitte presisjonen.

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

Eksempel:

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

double.ceilToPrecision(-506, 10);

// returns: -500

roundToPrecision

Denne funksjonen runder av tallet til angitt presisjon.

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

Eksempel:

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

double.roundToPrecision(596, 10);

// returns: 600

ensureInRange

Denne funksjonen returnerer et tall som er mellom min og maks.

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

Eksempel:

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

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

// returns: -10

round

Denne funksjonen runder av tallet.

function round(x: number): number;

Eksempel:

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

double.round(27.45);

// returns: 27

removeDecimalNoise

Denne funksjonen runder av tallet for å eliminere noen desimaler.

function removeDecimalNoise(value: number): number;

Eksempel:

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

double.removeDecimalNoise(21.493000000000002);

// returns: 21.493

isInteger

Denne funksjonen kontrollerer om tallet er et heltall.

function isInteger(value: number): boolean;

Eksempel:

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

double.isInteger(21.493000000000002);

// returns: false

toIncrement

Denne funksjonen øker tallet med det angitte tallet og returnerer det avrundede tallet.

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

Eksempel:

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

double.toIncrement(0.6383723, 0.05);

// returns: 0.65

Prototype

Modulen Prototype gir mulighet til å arve objekter.

Den inneholder følgende funksjoner:

arve

Denne funksjonen returnerer et nytt objekt med det angitte objektet som prototype.

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

Eksempel:

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

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

prototype.inherit(base);

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

inheritSingle

Denne funksjonen returnerer et nytt objekt med det angitte objektet som prototype hvis prototypen, og bare hvis prototypen ikke er angitt.

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

Eksempel:

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

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

prototype.inheritSingle(base);

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

PixelConverter

Modulen PixelConverter gir mulighet til å konvertere piksler til punkter og peker til piksler.

Den inneholder følgende funksjoner:

toString

Denne funksjonen konverterer pikselverdien til en streng.

function toString(px: number): string;

Eksempel:

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

pixelConverter.toString(25);

// returns: 25px

fraPoint

Denne funksjonen konverterer den angitte punktverdien til pikselverdien og returnerer strengtolkningen.

function fromPoint(pt: number): string;

Eksempel:

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

pixelConverter.fromPoint(8);

// returns: 33.33333333333333px

fraPointToPixel

Denne funksjonen konverterer den angitte punktverdien til pikselverdien.

function fromPointToPixel(pt: number): number;

Eksempel:

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

pixelConverter.fromPointToPixel(8);

// returns: 10.666666666666666

toPoint

Denne funksjonen konverterer pikselverdien til punktverdien.

function toPoint(px: number): number;

Eksempel:

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

pixelConverter.toPoint(8);

// returns: 6