@rbxts/covenant 1.0.4 → 1.0.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rbxts/covenant",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "main": "src/init.lua",
5
5
  "scripts": {
6
6
  "build": "rbxtsc",
package/src/covenant.luau CHANGED
@@ -807,6 +807,9 @@ do
807
807
  if _result_1 ~= nil then
808
808
  -- ▼ ReadonlyArray.forEach ▼
809
809
  local _callback = function(entity)
810
+ if not self:worldHas(entity, identityComponent) then
811
+ return nil
812
+ end
810
813
  self:worldDelete(entity)
811
814
  end
812
815
  for _k, _v in _result_1 do
package/src/hooks.d.ts CHANGED
@@ -5,22 +5,21 @@ type AsyncResult<T = unknown> = {
5
5
  errorMessage?: string;
6
6
  };
7
7
  export type Discriminator = Exclude<defined, number>;
8
- type CovenantHook<T extends (...args: Array<any>) => defined> = (updateId: number, ...args: Parameters<T>) => ReturnType<T>;
9
8
  export interface CovenantHooks {
10
- useEvent: CovenantHook<(<T extends Array<unknown>>(event: RBXScriptSignal<(...args: T) => void>) => T[])>;
11
- useEventImmediately: CovenantHook<(<T extends Array<unknown>, TReturn extends defined>(event: RBXScriptSignal<(...args: T) => void>, callback: (...args: T) => TReturn) => TReturn[])>;
12
- useComponentChange: CovenantHook<(<T extends defined>(component: Entity<T>) => {
9
+ useEvent: <T extends Array<unknown>>(updateId: number, event: RBXScriptSignal<(...args: T) => void>) => T[];
10
+ useEventImmediately: <T extends Array<unknown>, TReturn extends defined>(updateId: number, event: RBXScriptSignal<(...args: T) => void>, callback: (...args: T) => TReturn) => TReturn[];
11
+ useComponentChange: <T extends defined>(updateId: number, component: Entity<T>) => {
13
12
  entity: Entity;
14
13
  state: T | undefined;
15
14
  previousState: T | undefined;
16
- }[])>;
17
- useAsync: CovenantHook<(<T>(asnycFactory: () => T, dependencies: unknown[], discriminator: Discriminator) => AsyncResult<T>)>;
18
- useImperative: CovenantHook<(<T extends defined>(dirtyFactory: (indicateUpdate: () => void) => {
15
+ }[];
16
+ useAsync: <T>(updateId: number, asnycFactory: () => T, dependencies: unknown[], discriminator: Discriminator) => AsyncResult<T>;
17
+ useImperative: <T extends defined>(updateId: number, dirtyFactory: (indicateUpdate: () => void) => {
19
18
  value: T;
20
19
  cleanup?: () => void;
21
- }, dependencies: unknown[], discriminator: Discriminator) => T)>;
22
- useChange: CovenantHook<(dependencies: unknown[], discriminator: Discriminator) => boolean>;
23
- useInterval: CovenantHook<(seconds: number, trueOnInit: boolean, discriminator: Discriminator) => boolean>;
20
+ }, dependencies: unknown[], discriminator: Discriminator) => T;
21
+ useChange: (updateId: number, dependencies: unknown[], discriminator: Discriminator) => boolean;
22
+ useInterval: (updateId: number, seconds: number, trueOnInit: boolean, discriminator: Discriminator) => boolean;
24
23
  }
25
24
  interface CovenantHooksProps {
26
25
  indicateUpdate: () => void;
package/src/hooks.luau CHANGED
@@ -1,5 +1,4 @@
1
1
  -- Compiled with roblox-ts v3.0.0
2
- -- eslint-disable-next-line @typescript-eslint/no-explicit-any
3
2
  local function createUseEvent(_param)
4
3
  local indicateUpdate = _param.indicateUpdate
5
4
  local queues = {}