Skip to content

Commit 4c17e2b

Browse files
committed
types: vector functions return type matches given
1 parent eae5c85 commit 4c17e2b

File tree

1 file changed

+33
-8
lines changed

1 file changed

+33
-8
lines changed

src/index.ts

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@ export class Property<PropertyValueType extends Value> {
328328
amp_mult: number = 0.5,
329329
time: number = thisLayer.time
330330
): PropertyValueType {
331+
const som = freq + amp + octaves + amp_mult + time;
331332
return this.value;
332333
}
333334
/**
@@ -996,7 +997,10 @@ export class Layer {
996997
* @param time The time to sample the vector
997998
* @returns The vector in the composition space
998999
*/
999-
toComp(vec: Vector, time: number = this.time): Vector {
1000+
toComp<VectorType extends Vector | Vector2D | Vector3D>(
1001+
vec: VectorType,
1002+
time: number = this.time
1003+
): VectorType {
10001004
return vec;
10011005
}
10021006
/**
@@ -1006,7 +1010,10 @@ export class Layer {
10061010
* @param time The time to sample the vector
10071011
* @returns The vector in the layer's space
10081012
*/
1009-
fromComp(vec: Vector, time: number = this.time): Vector {
1013+
fromComp<VectorType extends Vector | Vector2D | Vector3D>(
1014+
vec: VectorType,
1015+
time: number = this.time
1016+
): VectorType {
10101017
return vec;
10111018
}
10121019
/**
@@ -1016,19 +1023,34 @@ export class Layer {
10161023
* @param time The time to sample the number
10171024
* @returns The vector in world space
10181025
*/
1019-
toWorld(vec: Vector, time: number = this.time): Vector {
1026+
toWorld<VectorType extends Vector | Vector2D | Vector3D>(
1027+
vec: VectorType,
1028+
time: number = this.time
1029+
): VectorType {
10201030
return vec;
10211031
}
1022-
toCompVec(vec: Vector, time: number = this.time): Vector {
1032+
toCompVec<VectorType extends Vector | Vector2D | Vector3D>(
1033+
vec: VectorType,
1034+
time: number = this.time
1035+
): VectorType {
10231036
return vec;
10241037
}
1025-
fromCompVec(vec: Vector, time: number = this.time): Vector {
1038+
fromCompVec<VectorType extends Vector | Vector2D | Vector3D>(
1039+
vec: VectorType,
1040+
time: number = this.time
1041+
): VectorType {
10261042
return vec;
10271043
}
1028-
toWorldVec(vec: Vector, time: number = this.time): Vector {
1044+
toWorldVec<VectorType extends Vector | Vector2D | Vector3D>(
1045+
vec: VectorType,
1046+
time: number = this.time
1047+
): VectorType {
10291048
return vec;
10301049
}
1031-
fromWorldVec(vec: Vector, time: number = this.time): Vector {
1050+
fromWorldVec<VectorType extends Vector | Vector2D | Vector3D>(
1051+
vec: VectorType,
1052+
time: number = this.time
1053+
): VectorType {
10321054
return vec;
10331055
}
10341056
/**
@@ -1038,7 +1060,10 @@ export class Layer {
10381060
* @param time The time to sample the number
10391061
* @returns The vector in on the layers surface space
10401062
*/
1041-
fromCompToSurface(vec: Vector, time: number = this.time): Vector {
1063+
fromCompToSurface<VectorType extends Vector | Vector2D | Vector3D>(
1064+
vec: VectorType,
1065+
time: number = this.time
1066+
): VectorType {
10421067
return vec;
10431068
}
10441069
/**

0 commit comments

Comments
 (0)