File tree Expand file tree Collapse file tree 1 file changed +38
-1
lines changed
Expand file tree Collapse file tree 1 file changed +38
-1
lines changed Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments