Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@rbxts/flamework-meta-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@rbxts/flamework-meta-utils
Metadata utility and utility macros for Flamework
Macros
enumKey< E, V> ()
Retrieves the key associated with a const (or non-const) enum value
const enum Abc {
A,
B,
C
}
const a = enumKey<typeof Abc, Abc.A>();Compiles to
local a = "A";identity< T> ()
Converts the type into a runtime value.
const obj = identity<{ foo: "bar" }>();Compiles to
local obj = identity({ foo = "bar" }); -- which returns the passed paramdeunify< 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 paramrepeatString< 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 module = 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()
<<<<<<< HEAD
=======
bf05d65fca65b4da086b94b272759f741a50e5d5
Calls the method from the provided method descriptor for each dependency resolved from the provided constructor