@twurple/common
Advanced tools
Comparing version 6.1.0-pre.0 to 6.1.0-pre.1
@@ -20,3 +20,3 @@ import { DataObject } from '../DataObject'; | ||
*/ | ||
export interface MessageCheermote { | ||
export interface BasicMessageCheermote { | ||
/** | ||
@@ -38,2 +38,9 @@ * The name of the cheermote. | ||
length: number; | ||
} | ||
/** | ||
* A description of a specific cheermote parsed from a message with info how to display it. | ||
* | ||
* @inheritDoc | ||
*/ | ||
export interface MessageCheermote extends BasicMessageCheermote { | ||
/** | ||
@@ -93,2 +100,4 @@ * Information on how the cheermote is supposed to be displayed. | ||
* | ||
* @deprecated Use {@link parseChatMessage} instead. | ||
* | ||
* @param message The message. | ||
@@ -101,2 +110,4 @@ * @param format The format to show the cheermotes in. | ||
* | ||
* @deprecated Use {@link parseChatMessage} instead. | ||
* | ||
* @param message The message. | ||
@@ -103,0 +114,0 @@ * @param format The format to show the cheermotes in. |
@@ -6,2 +6,3 @@ "use strict"; | ||
const DataObject_1 = require("../DataObject"); | ||
const messagePartParser_1 = require("./messagePartParser"); | ||
/** @private */ | ||
@@ -12,2 +13,4 @@ class BaseCheermoteList extends DataObject_1.DataObject { | ||
* | ||
* @deprecated Use {@link parseChatMessage} instead. | ||
* | ||
* @param message The message. | ||
@@ -39,2 +42,4 @@ * @param format The format to show the cheermotes in. | ||
* | ||
* @deprecated Use {@link parseChatMessage} instead. | ||
* | ||
* @param message The message. | ||
@@ -47,7 +52,10 @@ * @param format The format to show the cheermotes in. | ||
let currentPosition = 0; | ||
for (const foundCheermote of this.parseMessage(message, format)) { | ||
for (const foundCheermote of (0, messagePartParser_1.findCheermotePositions)(message, this.getPossibleNames())) { | ||
if (currentPosition < foundCheermote.position) { | ||
result.push(message.substring(currentPosition, foundCheermote.position)); | ||
} | ||
result.push(transformer(foundCheermote)); | ||
result.push(transformer({ | ||
...foundCheermote, | ||
displayInfo: this.getCheermoteDisplayInfo(foundCheermote.name, foundCheermote.amount, format) | ||
})); | ||
currentPosition = foundCheermote.position + foundCheermote.length; | ||
@@ -54,0 +62,0 @@ } |
@@ -1,2 +0,2 @@ | ||
import type { CheermoteDisplayInfo } from './BaseCheermoteList'; | ||
import type { BasicMessageCheermote, MessageCheermote } from './BaseCheermoteList'; | ||
import type { ChatEmote } from './ChatEmote'; | ||
@@ -9,10 +9,8 @@ export interface ParsedMessageTextPart { | ||
} | ||
export interface ParsedMessageCheerPart { | ||
export interface BasicParsedMessageCheerPart extends BasicMessageCheermote { | ||
type: 'cheer'; | ||
position: number; | ||
length: number; | ||
name: string; | ||
amount: number; | ||
displayInfo: CheermoteDisplayInfo; | ||
} | ||
export interface ParsedMessageCheerPart extends MessageCheermote { | ||
type: 'cheer'; | ||
} | ||
export interface ParsedMessageEmotePart { | ||
@@ -26,5 +24,4 @@ type: 'emote'; | ||
} | ||
export declare type BasicParsedMessagePart = ParsedMessageTextPart | BasicParsedMessageCheerPart | ParsedMessageEmotePart; | ||
export declare type ParsedMessagePart = ParsedMessageTextPart | ParsedMessageCheerPart | ParsedMessageEmotePart; | ||
/** @private */ | ||
export declare function fillTextPositions(message: string, otherPositions: ParsedMessagePart[]): ParsedMessagePart[]; | ||
//# sourceMappingURL=ParsedMessagePart.d.ts.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.fillTextPositions = void 0; | ||
const shared_utils_1 = require("@d-fischer/shared-utils"); | ||
/** @private */ | ||
function fillTextPositions(message, otherPositions) { | ||
const messageLength = (0, shared_utils_1.utf8Length)(message); | ||
if (!otherPositions.length) { | ||
return [ | ||
{ | ||
type: 'text', | ||
position: 0, | ||
length: messageLength, | ||
text: message | ||
} | ||
]; | ||
} | ||
const result = []; | ||
let currentPosition = 0; | ||
for (const token of otherPositions) { | ||
if (token.position > currentPosition) { | ||
result.push({ | ||
type: 'text', | ||
position: currentPosition, | ||
length: token.position - currentPosition, | ||
text: (0, shared_utils_1.utf8Substring)(message, currentPosition, token.position) | ||
}); | ||
} | ||
result.push(token); | ||
currentPosition = token.position + token.length; | ||
} | ||
if (currentPosition < messageLength) { | ||
result.push({ | ||
type: 'text', | ||
position: currentPosition, | ||
length: messageLength - currentPosition, | ||
text: (0, shared_utils_1.utf8Substring)(message, currentPosition) | ||
}); | ||
} | ||
return result; | ||
} | ||
exports.fillTextPositions = fillTextPositions; |
@@ -5,9 +5,7 @@ export { DataObject, getRawData, rawDataSymbol } from './DataObject'; | ||
export type { CommercialLength, HelixUserType } from './types'; | ||
export { BaseCheermoteList } from './emotes/BaseCheermoteList'; | ||
export type { CheermoteScale, CheermoteState, CheermoteBackground, CheermoteDisplayInfo, CheermoteFormat, MessageCheermote } from './emotes/BaseCheermoteList'; | ||
export { ChatEmote } from './emotes/ChatEmote'; | ||
export type { EmoteSettings, EmoteSize, EmoteAnimationSettings, EmoteBackgroundType } from './emotes/ChatEmote'; | ||
export { BaseCheermoteList, type BasicMessageCheermote, type CheermoteScale, type CheermoteState, type CheermoteBackground, type CheermoteDisplayInfo, type CheermoteFormat, type MessageCheermote } from './emotes/BaseCheermoteList'; | ||
export { ChatEmote, type EmoteSettings, type EmoteSize, type EmoteAnimationSettings, type EmoteBackgroundType } from './emotes/ChatEmote'; | ||
export { ChatEmoteWithSet } from './emotes/ChatEmoteWithSet'; | ||
export { fillTextPositions } from './emotes/ParsedMessagePart'; | ||
export type { ParsedMessagePart, ParsedMessageEmotePart, ParsedMessageCheerPart, ParsedMessageTextPart } from './emotes/ParsedMessagePart'; | ||
export { findCheermotePositions, fillTextPositions, parseChatMessage, parseEmotePositions } from './emotes/messagePartParser'; | ||
export { type ParsedMessagePart, type ParsedMessageEmotePart, type ParsedMessageCheerPart, type ParsedMessageTextPart } from './emotes/ParsedMessagePart'; | ||
export { HelixExtension } from './extensions/HelixExtension'; | ||
@@ -14,0 +12,0 @@ export type { HelixExtensionConfigurationLocation, HelixExtensionState, HelixExtensionIconSize, HelixExtensionSubscriptionsSupportLevel, HelixExtensionData } from './extensions/HelixExtension.external'; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.extractUserName = exports.extractUserId = exports.RelationAssertionError = exports.HellFreezesOverError = exports.CustomError = exports.HelixExtension = exports.fillTextPositions = exports.ChatEmoteWithSet = exports.ChatEmote = exports.BaseCheermoteList = exports.rtfm = exports.checkRelationAssertion = exports.rawDataSymbol = exports.getRawData = exports.DataObject = void 0; | ||
exports.extractUserName = exports.extractUserId = exports.RelationAssertionError = exports.HellFreezesOverError = exports.CustomError = exports.HelixExtension = exports.parseEmotePositions = exports.parseChatMessage = exports.fillTextPositions = exports.findCheermotePositions = exports.ChatEmoteWithSet = exports.ChatEmote = exports.BaseCheermoteList = exports.rtfm = exports.checkRelationAssertion = exports.rawDataSymbol = exports.getRawData = exports.DataObject = void 0; | ||
var DataObject_1 = require("./DataObject"); | ||
@@ -18,4 +18,7 @@ Object.defineProperty(exports, "DataObject", { enumerable: true, get: function () { return DataObject_1.DataObject; } }); | ||
Object.defineProperty(exports, "ChatEmoteWithSet", { enumerable: true, get: function () { return ChatEmoteWithSet_1.ChatEmoteWithSet; } }); | ||
var ParsedMessagePart_1 = require("./emotes/ParsedMessagePart"); | ||
Object.defineProperty(exports, "fillTextPositions", { enumerable: true, get: function () { return ParsedMessagePart_1.fillTextPositions; } }); | ||
var messagePartParser_1 = require("./emotes/messagePartParser"); | ||
Object.defineProperty(exports, "findCheermotePositions", { enumerable: true, get: function () { return messagePartParser_1.findCheermotePositions; } }); | ||
Object.defineProperty(exports, "fillTextPositions", { enumerable: true, get: function () { return messagePartParser_1.fillTextPositions; } }); | ||
Object.defineProperty(exports, "parseChatMessage", { enumerable: true, get: function () { return messagePartParser_1.parseChatMessage; } }); | ||
Object.defineProperty(exports, "parseEmotePositions", { enumerable: true, get: function () { return messagePartParser_1.parseEmotePositions; } }); | ||
var HelixExtension_1 = require("./extensions/HelixExtension"); | ||
@@ -22,0 +25,0 @@ Object.defineProperty(exports, "HelixExtension", { enumerable: true, get: function () { return HelixExtension_1.HelixExtension; } }); |
{ | ||
"name": "@twurple/common", | ||
"version": "6.1.0-pre.0", | ||
"version": "6.1.0-pre.1", | ||
"publishConfig": { | ||
@@ -5,0 +5,0 @@ "access": "public" |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
78695
60
2132