# Module: `nupp.resource_set` ## Constructors ### `new` _constructor_ ```nupp local function new(label: string?): ResourceSet ``` #### Arguments | Name | Type | Description | | --- | --- | --- | | `label` | `string?` | | #### Returns | Type | Description | | --- | --- | | `ResourceSet` | | ## Types ### `ResourceSet` _record_ ```nupp local record ResourceSet label: string @drop close: nosuspend function(takes self: ResourceSet) adopt: function(self: ResourceSet, takes value: T, terminal: function(takes value: T)?): T borrows self remove: function(self: ResourceSet, borrows value: T): T end ``` #### Methods ##### `close` ```nupp close: nosuspend function(takes self: ResourceSet) ``` ###### Arguments | Name | Type | Description | | --- | --- | --- | | `self` | `ResourceSet` | | ##### `adopt` ```nupp adopt: function(self: ResourceSet, takes value: T, terminal: function(takes value: T)?): T borrows self ``` ###### Arguments | Name | Type | Description | | --- | --- | --- | | `self` | `ResourceSet` | | | `value` | `T` | | | `terminal` | `function(takes value: T)?` | | ###### Returns | Type | Description | | --- | --- | | `T borrows self` | | ##### `remove` ```nupp remove: function(self: ResourceSet, borrows value: T): T ``` ###### Arguments | Name | Type | Description | | --- | --- | --- | | `self` | `ResourceSet` | | | `value` | `T` | | ###### Returns | Type | Description | | --- | --- | | `T` | | #### Fields | Name | Type | Description | | --- | --- | --- | | `label` | `string` | |