1
0
mirror of https://github.com/robonen/tools.git synced 2026-03-20 10:54:44 +00:00

feat(packages): add version jsdoc tags

This commit is contained in:
2024-09-30 06:20:45 +07:00
parent 975ca98f9a
commit 469ef8cdc2
7 changed files with 43 additions and 13 deletions

View File

@@ -3,6 +3,8 @@
*
* @returns {Function} A function that generates unique flags
* @throws {RangeError} If more than 31 flags are created
*
* @since 0.0.2
*/
export function flagsGenerator() {
let lastFlag = 0;
@@ -22,6 +24,8 @@ export function flagsGenerator() {
*
* @param {number[]} flags - The flags to combine
* @returns {number} The combined flags
*
* @since 0.0.2
*/
export function and(...flags: number[]) {
return flags.reduce((acc, flag) => acc & flag, -1);
@@ -32,6 +36,8 @@ export function and(...flags: number[]) {
*
* @param {number[]} flags - The flags to combine
* @returns {number} The combined flags
*
* @since 0.0.2
*/
export function or(...flags: number[]) {
return flags.reduce((acc, flag) => acc | flag, 0);
@@ -42,6 +48,8 @@ export function or(...flags: number[]) {
*
* @param {number} flag - The flag to apply the NOT operator to
* @returns {number} The result of the NOT operator
*
* @since 0.0.2
*/
export function not(flag: number) {
return ~flag;
@@ -51,7 +59,10 @@ export function not(flag: number) {
* Function to make sure a flag has a specific bit set
*
* @param {number} flag - The flag to check
* @param {number} other - Flag to check
* @returns {boolean} Whether the flag has the bit set
*
* @since 0.0.2
*/
export function has(flag: number, other: number) {
return (flag & other) === other;
@@ -62,6 +73,8 @@ export function has(flag: number, other: number) {
*
* @param {number} flag - The flag to check
* @returns {boolean} Whether the flag is set
*
* @since 0.0.2
*/
export function is(flag: number) {
return flag !== 0;
@@ -73,6 +86,8 @@ export function is(flag: number) {
* @param {number} flag - Source flag
* @param {number} other - Flag to unset
* @returns {number} The new flag
*
* @since 0.0.2
*/
export function unset(flag: number, other: number) {
return flag & ~other;
@@ -84,6 +99,8 @@ export function unset(flag: number, other: number) {
* @param {number} flag - Source flag
* @param {number} other - Flag to toggle
* @returns {number} The new flag
*
* @since 0.0.2
*/
export function toggle(flag: number, other: number) {
return flag ^ other;