1.0.0 • Published 1 year ago

@iptrue/shapes v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

��# 81;8>B5:0 35><5B@8G5A:8E D83C@

-B0 181;8>B5:0 ?@54>AB02;O5B :;0AAK 4;O A>740=8O 8 @01>BK A 35><5B@8G5A:8<8 D83C@0<8 - ?@O<>C3>;L=8:><, B@5C3>;L=8:>< 8 :@C3><. 064K9 :;0AA @50;87C5B >1I89 8=B5@D59A Shape, >?@545;Q==K9 2 MB>9 181;8>B5:5.

0: 8A?>;L7>20BL

  1. #AB0=>28B5 MBC 181;8>B5:C A ?><>ILN npm:

npm install @iptrue/shapes

  1. <?>@B8@C9B5 :;0AAK 8 8=B5@D59A 87 MB>9 181;8>B5:8 2 A2>9 ?@>5:B: import { Rectangle, Triangle, Circle } from '@iptrue/shapes';

  2. !>7409B5 M:75<?;O@ D83C@K: const rect = new Rectangle(10, 5); const tri = new Triangle(3, 4, 5); const circ = new Circle(7);

  3. >;CG8B5 ?0@0<5B@K D83C@K: console.log(rect.area()); // 50 console.log(tri.perimeter()); // 12 console.log(circ.area()); // 153.93804002589985

API

interface Shape

1I89 8=B5@D59A 4;O 2A5E 35><5B@8G5A:8E D83C@.

type: string

C2>9AB2> 4;O >?@545;5=8O B8?0 D83C@K.

area(): number

5B>4 4;O @0AGQB0 ?;>I048 D83C@K.

perimeter(): number

5B>4 4;O @0AGQB0 ?5@8<5B@0 D83C@K.

class Rectangle implements Shape

;0AA 4;O A>740=8O ?@O<>C3>;L=8:0.

width: number

(8@8=0 ?@O<>C3>;L=8:0.

height: number

KA>B0 ?@O<>C3>;L=8:0.

constructor(width: number, height: number)

5B>4 4;O A>740=8O ?@O<>C3>;L=8:0.

area(): number

5B>4 4;O @0AGQB0 ?;>I048 ?@O<>C3>;L=8:0.

perimeter(): number

5B>4 4;O @0AGQB0 ?5@8<5B@0 ?@O<>C3>;L=8:0.

class Triangle implements Shape

;0AA 4;O A>740=8O B@5C3>;L=8:0.

a: number

;8=0 ?5@2>9 AB>@>=K B@5C3>;L=8:0.

b: number

;8=0 2B>@>9 AB>@>=K B@5C3>;L=8:0.

c: number

;8=0 B@5BL59 AB>@>=K B@5C3>;L=8:0.

constructor(a: number, b: number, c: number)

5B>4 4;O A>740=8O B@5C3>;L=8:0.

area(): number

5B>4 4;O @0AGQB0 ?;>I048 B@5C3>;L=8:0.

perimeter(): number

5B>4 4;O @0AGQB0 ?5@8<5B@0 B@5C3>;L=8:0.

class Circle implements Shape

;0AA 4;O A>740=8O :@C30.

radius: number

048CA :@C30.

constructor(radius: number)

5B>4 4;O A>740=8O :@C30.

area(): number

5B>4 4;O @0AGQB0 ?;>I048 :@C30.

perimeter(): number

5B>4 4;O @0AGQB0 4;8=K >:@C6=>AB8 :@C30.

1.0.0

1 year ago