Hulpprogramma's typen

TypeUtils is een set functies en klassen om de basistypen voor Power BI-visuals uit te breiden.

Installatie

Als u het pakket wilt installeren, voert u de volgende opdracht uit in de map met uw huidige aangepaste visual:

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

Met deze opdracht wordt het pakket geïnstalleerd en wordt een pakket als een afhankelijkheid aan uw package.json bestand toegevoegd.

Dubbel

De Double module biedt mogelijkheden om de precisie van de getallen te bewerken.

Het biedt de volgende functies:

pow10

Met deze functie wordt de macht van 10 geretourneerd.

function pow10(exp: number): number;

Voorbeeld:

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

double.pow10(25);

// returns: 1e+25

log10

Deze functie retourneert een logaritme van 10 basis van het getal.

function log10(val: number): number;

Voorbeeld:

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

double.log10(25);

// returns: 1

getPrecision

Deze functie retourneert een macht van 10 die de precisie van het getal vertegenwoordigt.

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

Voorbeeld:

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

double.getPrecision(562344, 6);

// returns: 0.1

equalWithPrecision

Met deze functie wordt gecontroleerd of een delta tussen twee getallen kleiner is dan de opgegeven precisie.

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

Voorbeeld:

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

double.equalWithPrecision(1, 1.005, 0.01);

// returns: true

lessWithPrecision

Met deze functie wordt gecontroleerd of de eerste waarde kleiner is dan de tweede waarde.

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

Voorbeeld:

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

double.lessWithPrecision(0.995, 1, 0.001);

// returns: true

lessOrEqualWithPrecision

Met deze functie wordt gecontroleerd of de eerste waarde kleiner is dan of gelijk is aan de tweede waarde.

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

Voorbeeld:

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

double.lessOrEqualWithPrecision(1.005, 1, 0.01);

// returns: true

greaterWithPrecision

Met deze functie wordt gecontroleerd of de eerste waarde groter is dan de tweede waarde.

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

Voorbeeld:

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

double.greaterWithPrecision(1, 0.995, 0.01);

// returns: false

greaterOrEqualWithPrecision

Met deze functie wordt gecontroleerd of de eerste waarde groter is dan of gelijk is aan de tweede waarde.

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

Voorbeeld:

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

double.greaterOrEqualWithPrecision(1, 1.005, 0.01);

// returns: true

floorWithPrecision

Met deze functie wordt het getal met de opgegeven precisie berekend.

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

Voorbeeld:

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

double.floorWithPrecision(5.96, 0.001);

// returns: 5

ceilWithPrecision

Deze functie werkt ceils het getal met de opgegeven precisie.

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

Voorbeeld:

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

double.ceilWithPrecision(5.06, 0.001);

// returns: 6

floorToPrecision

Met deze functie wordt het getal naar de opgegeven precisie gevloerd.

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

Voorbeeld:

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

double.floorToPrecision(5.96, 0.1);

// returns: 5.9

ceilToPrecision

Met deze functie ceils wordt het getal naar de opgegeven precisie opgegeven.

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

Voorbeeld:

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

double.ceilToPrecision(-506, 10);

// returns: -500

roundToPrecision

Met deze functie wordt het getal afgerond op de opgegeven precisie.

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

Voorbeeld:

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

double.roundToPrecision(596, 10);

// returns: 600

ensureInRange

Deze functie retourneert een getal tussen min en max.

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

Voorbeeld:

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

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

// returns: -10

round

Met deze functie wordt het getal afgerond.

function round(x: number): number;

Voorbeeld:

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

double.round(27.45);

// returns: 27

removeDecimalNoise

Met deze functie wordt het getal afgerond om een aantal decimalen te elimineren.

function removeDecimalNoise(value: number): number;

Voorbeeld:

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

double.removeDecimalNoise(21.493000000000002);

// returns: 21.493

isInteger

Met deze functie wordt gecontroleerd of het getal een geheel getal is.

function isInteger(value: number): boolean;

Voorbeeld:

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

double.isInteger(21.493000000000002);

// returns: false

toIncrement

Met deze functie wordt het getal verhoogd op basis van het opgegeven getal en wordt het afgeronde getal geretourneerd.

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

Voorbeeld:

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

double.toIncrement(0.6383723, 0.05);

// returns: 0.65

Prototype

De Prototype module biedt de mogelijkheid om objecten over te nemen.

Het biedt de volgende functies:

erven

Deze functie retourneert een nieuw object met het opgegeven object als prototype.

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

Voorbeeld:

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

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

prototype.inherit(base);

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

inheritSingle

Deze functie retourneert een nieuw object met het opgegeven object als prototype als en alleen als het prototype niet is ingesteld.

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

Voorbeeld:

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

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

prototype.inheritSingle(base);

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

PixelConverter

De PixelConverter module biedt de mogelijkheid om pixels te converteren naar punten en punten naar pixels.

Het biedt de volgende functies:

toString

Met deze functie wordt de pixelwaarde geconverteerd naar een tekenreeks.

function toString(px: number): string;

Voorbeeld:

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

pixelConverter.toString(25);

// returns: 25px

fromPoint

Met deze functie wordt de opgegeven puntwaarde geconverteerd naar de pixelwaarde en wordt de tekenreeksinterpretatie geretourneerd.

function fromPoint(pt: number): string;

Voorbeeld:

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

pixelConverter.fromPoint(8);

// returns: 33.33333333333333px

fromPointTo Pixel

Met deze functie wordt de opgegeven puntwaarde geconverteerd naar de pixelwaarde.

function fromPointToPixel(pt: number): number;

Voorbeeld:

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

pixelConverter.fromPointToPixel(8);

// returns: 10.666666666666666

toPoint

Met deze functie wordt de pixelwaarde geconverteerd naar de puntwaarde.

function toPoint(px: number): number;

Voorbeeld:

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

pixelConverter.toPoint(8);

// returns: 6