@nightshadeui/util 2.14.1 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/index.d.ts CHANGED
@@ -5,4 +5,6 @@ export * from './grid.js';
5
5
  export * from './InputStateManager.js';
6
6
  export * from './math.js';
7
7
  export * from './point.js';
8
+ import * as vector2 from './vector2.js';
9
+ export { vector2 };
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,CAAC"}
package/out/index.js CHANGED
@@ -5,4 +5,6 @@ export * from './grid.js';
5
5
  export * from './InputStateManager.js';
6
6
  export * from './math.js';
7
7
  export * from './point.js';
8
+ import * as vector2 from './vector2.js';
9
+ export { vector2 };
8
10
  //# sourceMappingURL=index.js.map
package/out/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ export type Vector2 = [number, number];
2
+ export declare function create(x: number, y: number): Vector2;
3
+ export declare function magnitude(vector: Vector2): number;
4
+ export declare function normalize(vector: Vector2): Vector2;
5
+ export declare function add(a: Vector2, b: Vector2): Vector2;
6
+ export declare function subtract(a: Vector2, b: Vector2): Vector2;
7
+ export declare function scale(vector: Vector2, scale: number): Vector2;
8
+ //# sourceMappingURL=vector2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector2.d.ts","sourceRoot":"","sources":["../src/vector2.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvC,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,UAExC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CASlD;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAKnD;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAK7D"}
package/out/vector2.js ADDED
@@ -0,0 +1,23 @@
1
+ export function create(x, y) {
2
+ return [x, y];
3
+ }
4
+ export function magnitude(vector) {
5
+ return Math.hypot(vector[0], vector[1]);
6
+ }
7
+ export function normalize(vector) {
8
+ const length = magnitude(vector);
9
+ if (length === 0) {
10
+ return create(0, 0);
11
+ }
12
+ return create(vector[0] / length, vector[1] / length);
13
+ }
14
+ export function add(a, b) {
15
+ return create(a[0] + b[0], a[1] + b[1]);
16
+ }
17
+ export function subtract(a, b) {
18
+ return create(a[0] - b[0], a[1] - b[1]);
19
+ }
20
+ export function scale(vector, scale) {
21
+ return create(vector[0] * scale, vector[1] * scale);
22
+ }
23
+ //# sourceMappingURL=vector2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector2.js","sourceRoot":"","sources":["../src/vector2.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,MAAM,CAAC,CAAS,EAAE,CAAS;IACvC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAe;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAe;IACrC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACf,OAAO,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CACT,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAClB,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CACrB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,CAAU,EAAE,CAAU;IACtC,OAAO,MAAM,CACT,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACd,CAAC;AACN,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,CAAU,EAAE,CAAU;IAC3C,OAAO,MAAM,CACT,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACX,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACd,CAAC;AACN,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,MAAe,EAAE,KAAa;IAChD,OAAO,MAAM,CACT,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,EACjB,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CACpB,CAAC;AACN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nightshadeui/util",
3
- "version": "2.14.1",
3
+ "version": "2.15.0",
4
4
  "description": "Shared utility helpers for Nightshade packages",
5
5
  "author": "Boris Okunskiy",
6
6
  "license": "ISC",
@@ -16,6 +16,16 @@
16
16
  "types": "./src/index.ts",
17
17
  "import": "./src/index.ts",
18
18
  "default": "./src/index.ts"
19
+ },
20
+ "./vector2": {
21
+ "types": "./out/vector2.d.ts",
22
+ "import": "./out/vector2.js",
23
+ "default": "./out/vector2.js"
24
+ },
25
+ "./src/vector2": {
26
+ "types": "./src/vector2.ts",
27
+ "import": "./src/vector2.ts",
28
+ "default": "./src/vector2.ts"
19
29
  }
20
30
  },
21
31
  "files": [
package/src/index.ts CHANGED
@@ -5,3 +5,6 @@ export * from './grid.js';
5
5
  export * from './InputStateManager.js';
6
6
  export * from './math.js';
7
7
  export * from './point.js';
8
+ import * as vector2 from './vector2.js';
9
+
10
+ export { vector2 };
package/src/vector2.ts ADDED
@@ -0,0 +1,41 @@
1
+ export type Vector2 = [number, number];
2
+
3
+ export function create(x: number, y: number): Vector2 {
4
+ return [x, y];
5
+ }
6
+
7
+ export function magnitude(vector: Vector2) {
8
+ return Math.hypot(vector[0], vector[1]);
9
+ }
10
+
11
+ export function normalize(vector: Vector2): Vector2 {
12
+ const length = magnitude(vector);
13
+ if (length === 0) {
14
+ return create(0, 0);
15
+ }
16
+ return create(
17
+ vector[0] / length,
18
+ vector[1] / length,
19
+ );
20
+ }
21
+
22
+ export function add(a: Vector2, b: Vector2): Vector2 {
23
+ return create(
24
+ a[0] + b[0],
25
+ a[1] + b[1],
26
+ );
27
+ }
28
+
29
+ export function subtract(a: Vector2, b: Vector2): Vector2 {
30
+ return create(
31
+ a[0] - b[0],
32
+ a[1] - b[1],
33
+ );
34
+ }
35
+
36
+ export function scale(vector: Vector2, scale: number): Vector2 {
37
+ return create(
38
+ vector[0] * scale,
39
+ vector[1] * scale,
40
+ );
41
+ }