@iptrue/shapes v1.0.0
��# 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
- #AB0=>28B5 MBC 181;8>B5:C A ?><>ILN npm:
npm install @iptrue/shapes
<?>@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';
!>7409B5 M:75<?;O@ D83C@K: const rect = new Rectangle(10, 5); const tri = new Triangle(3, 4, 5); const circ = new Circle(7);
>;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 year ago