refactor!: move embedLength function to util package (#11327)

BREAKING CHANGE: Builders no longer exports a `embedLength` function. Import it from `@discordjs/util` instead.

Co-authored-by: Danial Raza <danialrazafb@gmail.com>
Co-authored-by: Jiralite <33201955+Jiralite@users.noreply.github.com>
This commit is contained in:
Almeida
2025-12-09 18:40:34 +00:00
committed by GitHub
parent 4db1092f8f
commit f60d3d65fe
7 changed files with 27 additions and 6 deletions

View File

@@ -1,5 +1,6 @@
import { embedLength } from '@discordjs/util';
import { describe, test, expect } from 'vitest';
import { EmbedBuilder, embedLength } from '../../src/index.js';
import { EmbedBuilder } from '../../src/index.js';
const alpha = 'abcdefghijklmnopqrstuvwxyz';

View File

@@ -89,7 +89,6 @@ export * from './messages/Attachment.js';
export * from './messages/Message.js';
export * from './messages/MessageReference.js';
export * from './util/componentUtil.js';
export * from './util/normalizeArray.js';
export * from './util/resolveBuilder.js';
export { disableValidators, enableValidators, isValidationEnabled } from './util/validation.js';

View File

@@ -1,5 +1,5 @@
import { embedLength } from '@discordjs/util';
import { z } from 'zod';
import { embedLength } from '../../util/componentUtil.js';
const namePredicate = z.string().max(256);

View File

@@ -1,6 +1,6 @@
'use strict';
const { embedLength } = require('@discordjs/builders');
const { embedLength } = require('@discordjs/util');
const isEqual = require('fast-deep-equal');
/**

View File

@@ -0,0 +1,20 @@
import { describe, expect, test } from 'vitest';
import { embedLength } from '../src/functions/embedLength.js';
describe('embedLength', () => {
test('GIVEN an embed with specific amount of characters THEN returns amount of characters', () => {
const embed = {
title: 'yeet',
description: 'yeet',
fields: [{ name: 'yeet', value: 'yeet' }],
author: { name: 'yeet' },
footer: { text: 'yeet' },
};
expect(embedLength(embed)).toEqual('yeet'.length * 6);
});
test('GIVEN an embed with zero characters THEN returns amount of characters', () => {
expect(embedLength({})).toEqual(0);
});
});

View File

@@ -1,7 +1,7 @@
import type { APIEmbed } from 'discord-api-types/v10';
/**
* Calculates the length of the embed.
* Calculates the length of an embed.
*
* @param data - The embed data to check
*/

View File

@@ -1,5 +1,6 @@
export * from './calculateShardId.js';
export * from './embedLength.js';
export * from './lazy.js';
export * from './range.js';
export * from './calculateShardId.js';
export * from './runtime.js';
export * from './userAgentAppendix.js';