Skip to content

Commit 10d9348

Browse files
committed
docs: use
Signed-off-by: Lexus Drumgold <[email protected]>
1 parent a7450e1 commit 10d9348

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

README.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,44 @@ yarn add @flex-development/builtin-modules@flex-development/builtin-modules
5555

5656
## Use
5757

58-
**TODO**: usage example.
58+
```typescript
59+
import { builtinModules } from '@flex-development/builtin-modules'
60+
61+
/**
62+
* Set containing the names of modules provided by Node.js.
63+
*
64+
* **Note**: Includes [`node:` URLs][1].
65+
*
66+
* [1]: https://nodejs.org/api/esm.html#node-imports
67+
*
68+
* @const {Set<string>} BUILTIN_MODULES
69+
*/
70+
const BUILTIN_MODULES = new Set(builtinModules.flatMap(m => [m, 'node:' + m]))
71+
72+
/**
73+
* Checks if the given module `name` is the name of a [builtin module][1].
74+
*
75+
* Allows for [`node:` URLs][2].
76+
*
77+
* [1]: https://nodejs.org/api/esm.html#builtin-modules
78+
* [2]: https://nodejs.org/api/esm.html#node-imports
79+
*
80+
* @example
81+
* isBuiltin('node:module') // true
82+
* @example
83+
* isBuiltin('fs/promises') // true
84+
* @example
85+
* isBuiltin('@flex-development/builtin-modules') // false
86+
*
87+
* @param {string} name - Module name to evaluate
88+
* @return {boolean} `true` if `name` is name of builtin module
89+
*/
90+
const isBuiltin = (name: string): boolean => BUILTIN_MODULES.has(name)
91+
92+
console.debug(isBuiltin('node:module'))
93+
console.debug(isBuiltin('fs/promises'))
94+
console.debug(isBuiltin('@flex-development/builtin-modules'))
95+
```
5996

6097
## API
6198

0 commit comments

Comments
 (0)