Tag
Classes
Tag
Type safety way for write additional data to item.tags.
Example
const MY_TAG = new Tag<boolean>("my_data"); // Create Tag instance
MY_TAG.write(item, true); // Write data. Similarly item.tags["my_data"] = true;
const data = MY_TAG.read(item, false); // Read data. Similarly const data = item.tags["my_data"] ?? false;
MY_TAG.write(item, "hello world"); // Type error - MY_TAG has boolean type
Type Parameters
| Type Parameter |
|---|
T |
Constructors
Constructor
new Tag<T>(name, def?): Tag<T>;
Parameters
| Parameter | Type |
|---|---|
name | string |
def? | T |
Returns
Tag<T>
Methods
clear()
clear(model): void;
Remove tag from item.
Similarly delete item.tags["name"];
Parameters
| Parameter | Type |
|---|---|
model | ModelComponent |
Returns
void
default()
default(): T;
Return the default value if it specified
Returns
T
has()
has(model): boolean;
Check has wrote data by tag
Similarly Object.hasOwn(item.tags, "name");
Parameters
| Parameter | Type |
|---|---|
model | ModelComponent |
Returns
boolean
read()
read(model, def?): T;
Read data from item.
Similarly const data = item.tags["name"] ?? def;
Parameters
| Parameter | Type |
|---|---|
model | ModelComponent |
def? | T |
Returns
T
write()
write(model, value): void;
Write data to item.
Similarly item.tags["name"] = value;
Parameters
| Parameter | Type |
|---|---|
model | ModelComponent |
value | T |
Returns
void