Skip to content

@ui5/fs/Resource

@ui5/fs/Resource

Resource. UI5 CLI specific representation of a file's content and metadata

Constructor

new @ui5/fs/Resource(parameters)

Source: fs/lib/Resource.js, line 16

Parameters:
NameTypeDescription
parametersobjectParameters
Properties:
NameTypeAttributesDescription
pathstringAbsolute virtual path of the resource
statInfofs.Stats | objectoptionalFile information. Instance of
fs.Stats or similar object
bufferBufferoptionalContent of this resources as a Buffer instance
(cannot be used in conjunction with parameters string, stream or createStream)
stringstringoptionalContent of this resources as a string
(cannot be used in conjunction with parameters buffer, stream or createStream)
streamStreamoptionalReadable stream of the content of this resource
(cannot be used in conjunction with parameters buffer, string or createStream)
createStream@ui5/fs/Resource~createStreamoptionalFunction callback that returns a readable
stream of the content of this resource (cannot be used in conjunction with parameters buffer,
string or stream).
In some cases this is the most memory-efficient way to supply resource content
project@ui5/project/specifications/ProjectoptionalProject this resource is associated with
sourceMetadataobjectoptionalSource metadata for UI5 CLI internal use.
Some information may be set by an adapter to store information for later retrieval. Also keeps track of whether
a resource content has been modified since it has been read from a source

Methods

(async) clone() → {Promise<@ui5/fs/Resource>}

Description: Returns a clone of the resource. The clones content is independent from that of the original resource

Source: fs/lib/Resource.js, line 351

Returns:

Promise resolving with the clone

Type: Promise<@ui5/fs/Resource>

(async) getBuffer() → {Promise<Buffer>}

Description: Gets a buffer with the resource content.

Source: fs/lib/Resource.js, line 143

Returns:

Promise resolving with a buffer of the resource content.

Type: Promise<Buffer>

getName() → {string}

Description: Gets the resource name

Source: fs/lib/Resource.js, line 303

Returns:

Name of the resource

Type: string

getPath() → {string}

Description: Gets the virtual resources path

Source: fs/lib/Resource.js, line 278

Returns:

Virtual path of the resource

Type: string

Description: Retrieve the project assigned to the resource
Note for UI5 CLI extensions (i.e. custom tasks, custom middleware): In order to ensure compatibility across UI5 CLI versions, consider using the getProject(resource) method provided by TaskUtil and MiddlewareUtil, which will return a Specification Version-compatible Project interface.

Source: fs/lib/Resource.js, line 387

Returns:

Project this resource is associated with

Type: @ui5/project/specifications/Project

getStatInfo() → {fs.Stats|object}

Description: Gets the resources stat info. Note that a resources stat information is not updated when the resource is being modified. Also, depending on the used adapter, some fields might be missing which would be present for a fs.Stats instance.

Source: fs/lib/Resource.js, line 317

Returns:

Instance of fs.Stats or similar object

Type: fs.Stats | object

getStream() → {stream.Readable}

Description: Gets a readable stream for the resource content.

Repetitive calls of this function are only possible if new content has been set in the meantime (through setStream, setBuffer or setString). This is to prevent consumers from accessing drained streams.

Source: fs/lib/Resource.js, line 217

Returns:

Readable stream for the resource content.

Type: stream.Readable

getString() → {Promise<string>}

Description: Gets a string with the resource content.

Source: fs/lib/Resource.js, line 187

Returns:

Promise resolving with the resource content.

Type: Promise<string>

hasProject() → {boolean}

Description: Check whether a project has been assigned to the resource

Source: fs/lib/Resource.js, line 411

Returns:

True if the resource is associated with a project

Type: boolean

isModified() → {boolean}

Description: Check whether the content of this resource has been changed during its life cycle

Source: fs/lib/Resource.js, line 421

Returns:

True if the resource's content has been changed

Type: boolean

setBuffer(buffer)

Description: Sets a Buffer as content.

Source: fs/lib/Resource.js, line 164

Parameters:
NameTypeDescription
bufferBufferBuffer instance

setPath(path)

Description: Sets the virtual resources path

Source: fs/lib/Resource.js, line 288

Parameters:
NameTypeDescription
pathstringAbsolute virtual path of the resource

setProject(project)

Description: Assign a project to the resource

Source: fs/lib/Resource.js, line 397

Parameters:
NameTypeDescription
project@ui5/project/specifications/ProjectProject this resource is associated with

setStream(stream)

Description: Sets a readable stream as content.

Source: fs/lib/Resource.js, line 253

Parameters:
NameTypeDescription
streamstream.Readable | @ui5/fs/Resource~createStreamReadable stream of the resource content or
callback for dynamic creation of a readable stream

setString(string)

Description: Sets a String as content

Source: fs/lib/Resource.js, line 202

Parameters:
NameTypeDescription
stringstringResource content

Type Definitions

createStream() → {stream.Readable}

Description: Function for dynamic creation of content streams

Source: fs/lib/Resource.js, line 31

Returns:

A readable stream of a resources content

Type: stream.Readable