Typverktyg

TypeUtils är en uppsättning funktioner och klasser för att utöka de grundläggande typerna för visuella Power BI-objekt.

Installation

Installera paketet genom att köra följande kommando i katalogen med ditt aktuella anpassade visuella objekt:

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

Det här kommandot installerar paketet och lägger till ett paket som ett beroende till filen package.json .

Dubbel

Modulen Double innehåller funktioner för att ändra precisionen för talen.

Den innehåller följande funktioner:

pow10

Den här funktionen returnerar kraften 10.

function pow10(exp: number): number;

Exempel:

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

double.pow10(25);

// returns: 1e+25

log10

Den här funktionen returnerar ett 10-basloggaritm av talet.

function log10(val: number): number;

Exempel:

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

double.log10(25);

// returns: 1

getPrecision

Den här funktionen returnerar en effekt på 10 som representerar talets precision.

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

Exempel:

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

double.getPrecision(562344, 6);

// returns: 0.1

equalWithPrecision

Den här funktionen kontrollerar om ett delta mellan två tal är mindre än den angivna precisionen.

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

Exempel:

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

double.equalWithPrecision(1, 1.005, 0.01);

// returns: true

lessWithPrecision

Den här funktionen kontrollerar om det första värdet är mindre än det andra värdet.

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

Exempel:

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

double.lessWithPrecision(0.995, 1, 0.001);

// returns: true

lessOrEqualWithPrecision

Den här funktionen kontrollerar om det första värdet är mindre än eller lika med det andra värdet.

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

Exempel:

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

double.lessOrEqualWithPrecision(1.005, 1, 0.01);

// returns: true

greaterWithPrecision

Den här funktionen kontrollerar om det första värdet är större än det andra värdet.

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

Exempel:

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

double.greaterWithPrecision(1, 0.995, 0.01);

// returns: false

greaterOrEqualWithPrecision

Den här funktionen kontrollerar om det första värdet är större än eller lika med det andra värdet.

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

Exempel:

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

double.greaterOrEqualWithPrecision(1, 1.005, 0.01);

// returns: true

floorWithPrecision

Den här funktionen golvar talet med den angivna precisionen.

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

Exempel:

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

double.floorWithPrecision(5.96, 0.001);

// returns: 5

ceilWithPrecision

Den här funktionen ceils talet med den angivna precisionen.

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

Exempel:

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

double.ceilWithPrecision(5.06, 0.001);

// returns: 6

floorToPrecision

Den här funktionen golvar talet till den angivna precisionen.

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

Exempel:

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

double.floorToPrecision(5.96, 0.1);

// returns: 5.9

ceilToPrecision

Den här funktionen ceils talet till den angivna precisionen.

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

Exempel:

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

double.ceilToPrecision(-506, 10);

// returns: -500

roundToPrecision

Den här funktionen avrundar talet till den angivna precisionen.

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

Exempel:

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

double.roundToPrecision(596, 10);

// returns: 600

ensureInRange

Den här funktionen returnerar ett tal som är mellan min och max.

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

Exempel:

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

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

// returns: -10

avrunda

Den här funktionen avrundar talet.

function round(x: number): number;

Exempel:

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

double.round(27.45);

// returns: 27

removeDecimalNoise

Den här funktionen avrundar talet för att eliminera vissa decimaler.

function removeDecimalNoise(value: number): number;

Exempel:

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

double.removeDecimalNoise(21.493000000000002);

// returns: 21.493

isInteger

Den här funktionen kontrollerar om talet är ett heltal.

function isInteger(value: number): boolean;

Exempel:

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

double.isInteger(21.493000000000002);

// returns: false

toIncrement

Den här funktionen ökar talet med det angivna talet och returnerar det avrundade talet.

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

Exempel:

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

double.toIncrement(0.6383723, 0.05);

// returns: 0.65

Prototyp

Modulen Prototype ger möjlighet att ärva objekt.

Den innehåller följande funktioner:

ärva

Den här funktionen returnerar ett nytt objekt med det angivna objektet som prototyp.

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

Exempel:

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

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

prototype.inherit(base);

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

ärverSingle

Den här funktionen returnerar ett nytt objekt med det angivna objektet som prototyp om, och endast om, prototypen inte har angetts.

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

Exempel:

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

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

prototype.inheritSingle(base);

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

PixelConverter

Modulen PixelConverter ger möjlighet att konvertera pixlar till punkter och punkter till pixlar.

Den innehåller följande funktioner:

toString

Den här funktionen konverterar pixelvärdet till en sträng.

function toString(px: number): string;

Exempel:

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

pixelConverter.toString(25);

// returns: 25px

fromPoint

Den här funktionen konverterar det angivna punktvärdet till pixelvärdet och returnerar strängtolkningen.

function fromPoint(pt: number): string;

Exempel:

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

pixelConverter.fromPoint(8);

// returns: 33.33333333333333px

fromPointToPixel

Den här funktionen konverterar det angivna punktvärdet till pixelvärdet.

function fromPointToPixel(pt: number): number;

Exempel:

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

pixelConverter.fromPointToPixel(8);

// returns: 10.666666666666666

toPoint

Den här funktionen konverterar pixelvärdet till punktvärdet.

function toPoint(px: number): number;

Exempel:

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

pixelConverter.toPoint(8);

// returns: 6