A Symbol object to mimic JavaScript's Symbol type.
Symbol(name: string?): Symbol
Create a new symbol object. Symbols use the newproxy function under the hood to create an opaque, unique sentinel value. The optional string value will be included in value returned by calling tostring on the resulting symbol.
local Foo = Symbol("Foo")
print(tostring(Foo)) -- prints: 'Symbol("Foo")'
Symbol.for_(name: string)
Returns globally-shared symbol for the provided name, creating it in a global registry if it has not yet been accessed. Symbol.for_ uses a global registry for the lifetime of the lua execution.
Calling Symbol.new returns an object with type Symbol.
Licensed under the MIT license (LICENSE.txt or http://opensource.org/licenses/MIT).