1.0.6 • Published 6 months ago

@rbxts/flamework-meta-utils v1.0.6

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

@rbxts/flamework-meta-utils

Metadata utility and utility macros for Flamework

Macros

deunify<T>()

Deunifies a union type T into an array of all constituents

const constituents = deunify<"a", "b", "c">();

Compiles to

local constituents = deunify({"a", "b", "c"}) -- which returns the passed param;

repeatString<S, N>()

Repeats the string S N times.

const line = repeatString<"-", 30>();

Compiles to

local line = "------------------------------";

getChildrenOfType<T>()

Generates a type guard (if one is not specified) and returns all children of the given instance that pass the guard.

interface CharacterModel extends Model {
  Humanoid: Humanoid;
  HumanoidRootPart: Part;
}

const characters = getChildrenOfType<CharacterModel>(Workspace.Characters);

getDescendantsOfType<T>()

Generates a type guard (if one is not specified) and returns all descendants of the given instance that pass the guard.

const assetsToPreload = getDescendantsOfType<Decal | Texture | MeshPart>(ReplicatedStorage);

getInstanceAtPath()

Resolves the instance at the given path using Rojo

const mouseControllerModule = getInstanceAtPath("src/client/controllers/mouse.ts");

safeCast<T>()

Generates a type guard (if one is not specified) and if the guard passes, returns the casted value. Otherwise returns undefined.

const value = safeCast<number>(someUnknownValue);
if (value !== undefined)
  print("doubled value:", value * 2)
interface CharacterModel extends Model {
  Humanoid: Humanoid;
  HumanoidRootPart: Part;
}

const character = safeCast<CharacterModel>(Players.LocalPlayer.Character);
if (character !== undefined)
  print("character root:", character.HumanoidRootPart)

Methods

These next three methods are generally used in combination with decorators.

resolveDependencies()

Takes a constructor and resolves it and all of it's dependencies

processDependencies()

Calls the provided method for each dependency resolved from the provided constructor

callMethodOnDependencies()

Calls the method from the provided method descriptor for each dependency resolved from the provided constructor

1.0.6

6 months ago

1.0.5

6 months ago

1.0.4

7 months ago

1.0.3

8 months ago

1.0.2

8 months ago

1.0.1

10 months ago

1.0.0

11 months ago