Node.js fs.Dirent.isSymbolicLink() Method

The fs.Dirent.isSymbolicLink() method is an inbuilt application programming interface of class fs.Dirent within the File System module which is used to check if the particular dirent describes a SymbolicLink or not.

Syntax:  

const dirent.isSymbolicLink()

Parameter: This method does not accept any parameter.

Return Value: This method returns true if the particular dirent describes a SymbolicLink otherwise false.

Example 1: The below program illustrates the use of fs.dirent.isSymbolicLink() method in Node.js:

Filename: index.js  

javascript




// Node.js program to demonstrate the
// dirent.isSymbolicLink() method
const fs = require('fs');
 
// Initiating async function
async function stop(path) {
 
    // Creating and initiating dir's
    // underlying resource handle
    const dir = await fs.promises.opendir(path);
 
    // Synchronously reading the dir's
    // underlying resource handle
    // using readSync() method
    for (let i = 0; i <= 3; i++) {
 
        // Checking if the particular dirent
        // is SymbolicLink or not by using
        // isSymbolicLink() method
        const value = (dir.readSync()).isSymbolicLink();
 
        // Display the result
        console.log(dir.readSync());
        console.log(value);
    }
}
 
// Catching error
stop('./').catch(console.error);


Run the index.js file using the following command: 

node index.js

Output:  

Dirent { name: 'cert.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'certificate1.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'filename.txt', [Symbol(type)]: 1 }
false
Dirent { name: 'GFG.java', [Symbol(type)]: 1 }
false

Example 2: The below program illustrates the use of fs.dirent.isSymbolicLink() method in Node.js:

Filename: index.js 

javascript




// Node.js program to demonstrate the
// dirent.isSymbolicLink() method
const fs = require('fs');
 
// Initiating async function
async function stop(path) {
 
    let dir = null;
 
    try {
 
        // Creating and initiating directory's
        // underlying resource handle
        dir = await fs.promises.opendir(
            new URL('file:///F:/java/'));
 
        // Synchronously reading the dir's
        // underlying resource handle
        // using readSync() method
        for (let i = 0; i <= 3; i++) {
 
            // Checking if the particular dirent
            // is SymbolicLink or not by using
            // isSymbolicLink() method
            const value = (dir.readSync()).isSymbolicLink();
 
            // Display the result
            console.log(dir.readSync());
            console.log(value);
        }
    } finally {
 
        if (dir) {
 
            // Display the result
            console.log("dir is closed successfully");
 
            // Synchronously closeSyncing the directory's
            // underlying resource handle
            const promise = dir.closeSync();
        }
    }
}
 
// Catching error
stop('./').catch(console.error);


Output: 

Dirent { name: 'cert.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'certificate1.cer', [Symbol(type)]: 1 }
false
Dirent { name: 'features', [Symbol(type)]: 2 }
false
Dirent { name: 'GFG.class', [Symbol(type)]: 1 }
false
dir is closed successfully

Reference: https://nodejs.org/dist/latest-v12.x/docs/api/fs.html#fs_dirent_issymboliclink