tiny-essentials 1.28.12 → 1.28.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog/1/28/14.md +22 -0
- package/dist/v1/TinyBasicsEs.min.js +1 -1
- package/dist/v1/TinyEssentials.min.js +1 -1
- package/dist/v1/TinyMediaPlayer.min.js +1 -1
- package/dist/v1/TinyRadioFm.min.js +1 -1
- package/dist/v1/basics/index.cjs +1 -1
- package/dist/v1/basics/index.d.mts +2 -2
- package/dist/v1/basics/index.mjs +2 -2
- package/dist/v1/basics/mediaContent.cjs +648 -137
- package/dist/v1/basics/mediaContent.d.mts +449 -34
- package/dist/v1/basics/mediaContent.mjs +568 -113
- package/dist/v1/index.cjs +1 -1
- package/dist/v1/index.d.mts +2 -2
- package/dist/v1/index.mjs +2 -2
- package/dist/v1/libs/TinyMediaPlayer.cjs +1 -1
- package/dist/v1/libs/TinyMediaPlayer.mjs +2 -2
- package/dist/v1/libs/TinyRadioFm.cjs +12 -1
- package/dist/v1/libs/TinyRadioFm.mjs +11 -2
- package/docs/v1/basics/mediaContent.md +1 -2
- package/package.json +1 -1
package/dist/v1/index.cjs
CHANGED
|
@@ -168,8 +168,8 @@ exports.getElsRelativeCenterOffset = collision.getElsRelativeCenterOffset;
|
|
|
168
168
|
exports.getRectCenter = collision.getRectCenter;
|
|
169
169
|
exports.extractMediaId3Tags = mediaContent.extractMediaId3Tags;
|
|
170
170
|
exports.parseMediaMetadata = mediaContent.parseMediaMetadata;
|
|
171
|
+
exports.valFetchMediaContent = mediaContent.valFetchMediaContent;
|
|
171
172
|
exports.valMediaContentMetadata = mediaContent.valMediaContentMetadata;
|
|
172
|
-
exports.valMediaContentMetadataPartial = mediaContent.valMediaContentMetadataPartial;
|
|
173
173
|
exports.TinyHtml = TinyHtml;
|
|
174
174
|
exports.TinyAfterScrollWatcher = TinyAfterScrollWatcher;
|
|
175
175
|
exports.UltraRandomMsgGen = UltraRandomMsgGen;
|
package/dist/v1/index.d.mts
CHANGED
|
@@ -19,7 +19,7 @@ import TinyDragger from './libs/TinyDragger.mjs';
|
|
|
19
19
|
import TinyDomReadyManager from './libs/TinyDomReadyManager.mjs';
|
|
20
20
|
import TinyNotifications from './libs/TinyNotifications.mjs';
|
|
21
21
|
import { areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails } from './basics/collision.mjs';
|
|
22
|
-
import { extractMediaId3Tags, parseMediaMetadata, valMediaContentMetadata,
|
|
22
|
+
import { extractMediaId3Tags, parseMediaMetadata, valMediaContentMetadata, valFetchMediaContent } from './basics/mediaContent.mjs';
|
|
23
23
|
import TinyHtml from './libs/TinyHtml.mjs';
|
|
24
24
|
import TinyAfterScrollWatcher from './libs/TinyAfterScrollWatcher.mjs';
|
|
25
25
|
import UltraRandomMsgGen from './libs/UltraRandomMsgGen.mjs';
|
|
@@ -56,5 +56,5 @@ import { createCheckDestroyed } from './libs/utils.mjs';
|
|
|
56
56
|
import { createSingletonTask, waitForTrue } from './basics/promiseUtils.mjs';
|
|
57
57
|
import TinyDebugger from './libs/TinyDebugger.mjs';
|
|
58
58
|
import { browserIs, getBrowserCssPrefix, getBrowserPings, getDuckTyping, isBrowserAgent } from './basics/browserDetector.mjs';
|
|
59
|
-
export { TinyDebugger, TinyMediaPlayer, TinyRadioFm, TinyClassManager, FuzzySet, MamdaniInferenceSystem, TinyArrayComparator, TinyTextDiffer, TinyAnalogClock, TinyColorValidator, TinyLoadingScreen, TinyElementObserver, TinySimpleDice, TinyNeedBar, TinyI18, TinyCookieConsent, TinyInventory, TinyInventoryTrader, TinyArrayPaginator, TinyAdvancedRaffle, TinyDayNightCycle, TinyGamepad, TinyTextarea, TinyNewWinEvents, TinyIframeEvents, TinyLocalStorage, TinyTimeout, TinyColorConverter, TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, getUserTimeFormat, getBrowserPings, isBrowserAgent, getBrowserCssPrefix, getDuckTyping, browserIs, isValidObj, createSingletonTask, waitForTrue, multiplyArrayBlocks, createCheckDestroyed, valMediaContentMetadata,
|
|
59
|
+
export { TinyDebugger, TinyMediaPlayer, TinyRadioFm, TinyClassManager, FuzzySet, MamdaniInferenceSystem, TinyArrayComparator, TinyTextDiffer, TinyAnalogClock, TinyColorValidator, TinyLoadingScreen, TinyElementObserver, TinySimpleDice, TinyNeedBar, TinyI18, TinyCookieConsent, TinyInventory, TinyInventoryTrader, TinyArrayPaginator, TinyAdvancedRaffle, TinyDayNightCycle, TinyGamepad, TinyTextarea, TinyNewWinEvents, TinyIframeEvents, TinyLocalStorage, TinyTimeout, TinyColorConverter, TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, getUserTimeFormat, getBrowserPings, isBrowserAgent, getBrowserCssPrefix, getDuckTyping, browserIs, isValidObj, createSingletonTask, waitForTrue, multiplyArrayBlocks, createCheckDestroyed, valMediaContentMetadata, valFetchMediaContent, parseMediaMetadata, extractMediaId3Tags, defuzzifyCentroid, trapezoid, diffArrayList, diffStrings, diffObjList, breakdownDuration, calculateMarketcap, compareMarketcap, getPercentage, areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails, safeTextTrim, installWindowHiddenScript, genFibonacciSeq, isDirEmptyAsync, fileSizeAsync, dirSizeAsync, listFilesAsync, listDirsAsync, getLatestBackupPath, fetchJson, fetchText, readJsonBlob, readFileBlob, readBase64Blob, saveJsonFile, readJsonFile, writeJsonFile, ensureDirectory, clearDirectoryAsync, clearDirectory, fileExists, dirExists, isDirEmpty, ensureCopyFile, tryDeleteFile, writeTextFile, listFiles, listDirs, fileSize, dirSize, backupFile, restoreLatestBackup, renameFileBatch, renameFileRegex, renameFileAddPrefixSuffix, renameFileNormalizeCase, renameFilePadNumbers, documentIsFullScreen, isScreenFilled, requestFullScreen, exitFullScreen, isFullScreenMode, onFullScreenChange, offFullScreenChange, isJsonObject, arraySortPositions, formatBytes, addAiMarkerShortcut, extendObjType, reorderObjTypeOrder, cloneObjTypeOrder, countObj, checkObj, objTypeName, isObjType, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst, };
|
|
60
60
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/v1/index.mjs
CHANGED
|
@@ -19,7 +19,7 @@ import TinyDragger from './libs/TinyDragger.mjs';
|
|
|
19
19
|
import TinyDomReadyManager from './libs/TinyDomReadyManager.mjs';
|
|
20
20
|
import TinyNotifications from './libs/TinyNotifications.mjs';
|
|
21
21
|
import { areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails, } from './basics/collision.mjs';
|
|
22
|
-
import { extractMediaId3Tags, parseMediaMetadata, valMediaContentMetadata,
|
|
22
|
+
import { extractMediaId3Tags, parseMediaMetadata, valMediaContentMetadata, valFetchMediaContent, } from './basics/mediaContent.mjs';
|
|
23
23
|
import TinyHtml from './libs/TinyHtml.mjs';
|
|
24
24
|
import TinyAfterScrollWatcher from './libs/TinyAfterScrollWatcher.mjs';
|
|
25
25
|
import UltraRandomMsgGen from './libs/UltraRandomMsgGen.mjs';
|
|
@@ -59,4 +59,4 @@ import { browserIs, getBrowserCssPrefix, getBrowserPings, getDuckTyping, isBrows
|
|
|
59
59
|
// import TinyHtmlElems from './libs/TinyHtml/index.mjs';
|
|
60
60
|
export { TinyDebugger, TinyMediaPlayer, TinyRadioFm, TinyClassManager, FuzzySet, MamdaniInferenceSystem, TinyArrayComparator, TinyTextDiffer, TinyAnalogClock,
|
|
61
61
|
// TinyHtmlElems,
|
|
62
|
-
TinyColorValidator, TinyLoadingScreen, TinyElementObserver, TinySimpleDice, TinyNeedBar, TinyI18, TinyCookieConsent, TinyInventory, TinyInventoryTrader, TinyArrayPaginator, TinyAdvancedRaffle, TinyDayNightCycle, TinyGamepad, TinyTextarea, TinyNewWinEvents, TinyIframeEvents, TinyLocalStorage, TinyTimeout, TinyColorConverter, TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, getUserTimeFormat, getBrowserPings, isBrowserAgent, getBrowserCssPrefix, getDuckTyping, browserIs, isValidObj, createSingletonTask, waitForTrue, multiplyArrayBlocks, createCheckDestroyed, valMediaContentMetadata,
|
|
62
|
+
TinyColorValidator, TinyLoadingScreen, TinyElementObserver, TinySimpleDice, TinyNeedBar, TinyI18, TinyCookieConsent, TinyInventory, TinyInventoryTrader, TinyArrayPaginator, TinyAdvancedRaffle, TinyDayNightCycle, TinyGamepad, TinyTextarea, TinyNewWinEvents, TinyIframeEvents, TinyLocalStorage, TinyTimeout, TinyColorConverter, TinyClipboard, TinyTextRangeEditor, TinySmartScroller, UltraRandomMsgGen, TinyAfterScrollWatcher, TinyHtml, TinyNotifications, TinyDomReadyManager, TinyDragger, TinyDragDropDetector, TinyToastNotify, TinyNotifyCenter, TinyRateLimiter, ColorSafeStringify, TinyPromiseQueue, TinyLevelUp, getUserTimeFormat, getBrowserPings, isBrowserAgent, getBrowserCssPrefix, getDuckTyping, browserIs, isValidObj, createSingletonTask, waitForTrue, multiplyArrayBlocks, createCheckDestroyed, valMediaContentMetadata, valFetchMediaContent, parseMediaMetadata, extractMediaId3Tags, defuzzifyCentroid, trapezoid, diffArrayList, diffStrings, diffObjList, breakdownDuration, calculateMarketcap, compareMarketcap, getPercentage, areElsCollTop, areElsCollBottom, areElsCollLeft, areElsCollRight, areElsCollPerfTop, areElsCollPerfBottom, areElsCollPerfLeft, areElsCollPerfRight, areElsColliding, areElsPerfColliding, getElsColliding, getElsPerfColliding, getElsCollOverlap, getElsCollOverlapPos, getRectCenter, getElsRelativeCenterOffset, getElsCollDirDepth, getElsCollDetails, safeTextTrim, installWindowHiddenScript, genFibonacciSeq, isDirEmptyAsync, fileSizeAsync, dirSizeAsync, listFilesAsync, listDirsAsync, getLatestBackupPath, fetchJson, fetchText, readJsonBlob, readFileBlob, readBase64Blob, saveJsonFile, readJsonFile, writeJsonFile, ensureDirectory, clearDirectoryAsync, clearDirectory, fileExists, dirExists, isDirEmpty, ensureCopyFile, tryDeleteFile, writeTextFile, listFiles, listDirs, fileSize, dirSize, backupFile, restoreLatestBackup, renameFileBatch, renameFileRegex, renameFileAddPrefixSuffix, renameFileNormalizeCase, renameFilePadNumbers, documentIsFullScreen, isScreenFilled, requestFullScreen, exitFullScreen, isFullScreenMode, onFullScreenChange, offFullScreenChange, isJsonObject, arraySortPositions, formatBytes, addAiMarkerShortcut, extendObjType, reorderObjTypeOrder, cloneObjTypeOrder, countObj, checkObj, objTypeName, isObjType, objType, ruleOfThree, getSimplePerc, asyncReplace, getAge, formatCustomTimer, formatDayTimer, formatTimer, getTimeDuration, shuffleArray, toTitleCase, toTitleCaseLowerFirst, };
|
|
@@ -1058,7 +1058,7 @@ class TinyMediaPlayer extends TinyDebugger {
|
|
|
1058
1058
|
}
|
|
1059
1059
|
|
|
1060
1060
|
/** @type {MediaContent} */
|
|
1061
|
-
const newContent = { ...mediaContent.getMediaContentBase(), ...
|
|
1061
|
+
const newContent = { ...mediaContent.getMediaContentBase(), ...content };
|
|
1062
1062
|
mediaContent.valMediaContentMetadata(newContent);
|
|
1063
1063
|
|
|
1064
1064
|
const newLength = this.#playlist.push(newContent);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import TinyDebugger from './TinyDebugger.mjs';
|
|
2
|
-
import { getMediaContentBase,
|
|
2
|
+
import { getMediaContentBase, parseMediaMetadata, valMediaContentMetadata, } from '../basics/mediaContent.mjs';
|
|
3
3
|
import { createCheckDestroyed } from './utils.mjs';
|
|
4
4
|
import { BaseMediaAdapter } from './TinyMediaPlayer/index.mjs';
|
|
5
5
|
import { isValidObj } from '../basics/objChecker.mjs';
|
|
@@ -937,7 +937,7 @@ class TinyMediaPlayer extends TinyDebugger {
|
|
|
937
937
|
throw new TypeError('Track content must be a valid MediaContent object containing a URL.');
|
|
938
938
|
}
|
|
939
939
|
/** @type {MediaContent} */
|
|
940
|
-
const newContent = { ...getMediaContentBase(), ...
|
|
940
|
+
const newContent = { ...getMediaContentBase(), ...content };
|
|
941
941
|
valMediaContentMetadata(newContent);
|
|
942
942
|
const newLength = this.#playlist.push(newContent);
|
|
943
943
|
this.log('info', `Track added. New length: ${newLength}`, newContent);
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var events = require('events');
|
|
4
4
|
var mediaContent = require('../basics/mediaContent.cjs');
|
|
5
5
|
var utils = require('./utils.cjs');
|
|
6
|
+
var objChecker = require('../basics/objChecker.cjs');
|
|
6
7
|
|
|
7
8
|
const checkDestroy = utils.createCheckDestroyed('TinyRadioFm');
|
|
8
9
|
|
|
@@ -160,7 +161,7 @@ class TinyRadioFm extends events.EventEmitter {
|
|
|
160
161
|
metadata,
|
|
161
162
|
parseFile,
|
|
162
163
|
callbacks,
|
|
163
|
-
convertBase64toBlob,
|
|
164
|
+
convertBase64toBlob = true,
|
|
164
165
|
) {
|
|
165
166
|
return mediaContent.parseMediaMetadata(
|
|
166
167
|
source,
|
|
@@ -612,6 +613,7 @@ class TinyRadioFm extends events.EventEmitter {
|
|
|
612
613
|
throw new TypeError('smartQueue must be a boolean.');
|
|
613
614
|
}
|
|
614
615
|
|
|
616
|
+
mediaContent.valMediaContentMetadata(data);
|
|
615
617
|
const newItem = structuredClone(data);
|
|
616
618
|
this._ccBase64ToBlobUrl(newItem);
|
|
617
619
|
if (type === 'music') {
|
|
@@ -688,6 +690,13 @@ class TinyRadioFm extends events.EventEmitter {
|
|
|
688
690
|
if (eventAtTime) finalTimestamp = eventAtTime.absoluteEnd;
|
|
689
691
|
}
|
|
690
692
|
|
|
693
|
+
if (
|
|
694
|
+
objChecker.isJsonObject(payload) &&
|
|
695
|
+
// @ts-ignore
|
|
696
|
+
typeof payload.newIndex !== 'number'
|
|
697
|
+
)
|
|
698
|
+
// @ts-ignore
|
|
699
|
+
mediaContent.valMediaContentMetadata(payload);
|
|
691
700
|
/** @type {ScheduledTask} */
|
|
692
701
|
const task = { timestamp: finalTimestamp, action, type, payload };
|
|
693
702
|
this.#scheduledTasks.push(task);
|
|
@@ -838,6 +847,7 @@ class TinyRadioFm extends events.EventEmitter {
|
|
|
838
847
|
async _processListForExport(list) {
|
|
839
848
|
return Promise.all(
|
|
840
849
|
list.map(async (item) => {
|
|
850
|
+
mediaContent.valMediaContentMetadata(item);
|
|
841
851
|
const newItem = structuredClone(item);
|
|
842
852
|
await this._rcblobUrlToBase64(newItem);
|
|
843
853
|
return newItem;
|
|
@@ -1506,6 +1516,7 @@ class TinyRadioFm extends events.EventEmitter {
|
|
|
1506
1516
|
|
|
1507
1517
|
const processListForImport = (/** @type {MediaContent[]} */ list) =>
|
|
1508
1518
|
list.map((item) => {
|
|
1519
|
+
mediaContent.valMediaContentMetadata(item);
|
|
1509
1520
|
const newItem = structuredClone(item);
|
|
1510
1521
|
this._ccBase64ToBlobUrl(newItem);
|
|
1511
1522
|
return newItem;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
|
-
import { blobUrlToBase64, convertToBlobUrl, parseMediaMetadata, revokeContentUrls, } from '../basics/mediaContent.mjs';
|
|
2
|
+
import { blobUrlToBase64, convertToBlobUrl, parseMediaMetadata, revokeContentUrls, valMediaContentMetadata, } from '../basics/mediaContent.mjs';
|
|
3
3
|
import { createCheckDestroyed } from './utils.mjs';
|
|
4
|
+
import { isJsonObject } from '../basics/objChecker.mjs';
|
|
4
5
|
const checkDestroy = createCheckDestroyed('TinyRadioFm');
|
|
5
6
|
/**
|
|
6
7
|
* @typedef {import('../basics/mediaContent.mjs').PictureDataType} PictureDataType
|
|
@@ -132,7 +133,7 @@ class TinyRadioFm extends EventEmitter {
|
|
|
132
133
|
* @returns {Promise<MediaContent>} A promise that resolves to a valid MediaContent object.
|
|
133
134
|
* @throws {MediaLoadingError} If the preparation process fails at any stage.
|
|
134
135
|
*/
|
|
135
|
-
static async parseContent(source, defaultMetadata, metadata, parseFile, callbacks, convertBase64toBlob) {
|
|
136
|
+
static async parseContent(source, defaultMetadata, metadata, parseFile, callbacks, convertBase64toBlob = true) {
|
|
136
137
|
return parseMediaMetadata(source, defaultMetadata, metadata, parseFile, callbacks, convertBase64toBlob, TinyRadioFm.#unknownArtist);
|
|
137
138
|
}
|
|
138
139
|
/**
|
|
@@ -516,6 +517,7 @@ class TinyRadioFm extends EventEmitter {
|
|
|
516
517
|
if (typeof smartQueue !== 'boolean') {
|
|
517
518
|
throw new TypeError('smartQueue must be a boolean.');
|
|
518
519
|
}
|
|
520
|
+
valMediaContentMetadata(data);
|
|
519
521
|
const newItem = structuredClone(data);
|
|
520
522
|
this._ccBase64ToBlobUrl(newItem);
|
|
521
523
|
if (type === 'music') {
|
|
@@ -584,6 +586,11 @@ class TinyRadioFm extends EventEmitter {
|
|
|
584
586
|
if (eventAtTime)
|
|
585
587
|
finalTimestamp = eventAtTime.absoluteEnd;
|
|
586
588
|
}
|
|
589
|
+
if (isJsonObject(payload) &&
|
|
590
|
+
// @ts-ignore
|
|
591
|
+
typeof payload.newIndex !== 'number')
|
|
592
|
+
// @ts-ignore
|
|
593
|
+
valMediaContentMetadata(payload);
|
|
587
594
|
/** @type {ScheduledTask} */
|
|
588
595
|
const task = { timestamp: finalTimestamp, action, type, payload };
|
|
589
596
|
this.#scheduledTasks.push(task);
|
|
@@ -710,6 +717,7 @@ class TinyRadioFm extends EventEmitter {
|
|
|
710
717
|
*/
|
|
711
718
|
async _processListForExport(list) {
|
|
712
719
|
return Promise.all(list.map(async (item) => {
|
|
720
|
+
valMediaContentMetadata(item);
|
|
713
721
|
const newItem = structuredClone(item);
|
|
714
722
|
await this._rcblobUrlToBase64(newItem);
|
|
715
723
|
return newItem;
|
|
@@ -1245,6 +1253,7 @@ class TinyRadioFm extends EventEmitter {
|
|
|
1245
1253
|
}
|
|
1246
1254
|
});
|
|
1247
1255
|
const processListForImport = (/** @type {MediaContent[]} */ list) => list.map((item) => {
|
|
1256
|
+
valMediaContentMetadata(item);
|
|
1248
1257
|
const newItem = structuredClone(item);
|
|
1249
1258
|
this._ccBase64ToBlobUrl(newItem);
|
|
1250
1259
|
return newItem;
|
|
@@ -54,9 +54,8 @@ Used to provide specific context when something goes wrong during the media prep
|
|
|
54
54
|
| Function | Description |
|
|
55
55
|
| :--- | :--- |
|
|
56
56
|
| `getMediaContentBase` | Returns a fresh, empty `MediaContentBase` object. |
|
|
57
|
-
| `getMediaContentMetadata` | Returns a fresh, empty `MediaContentMetadata` object. |
|
|
58
57
|
| `valMediaContentMetadata` | Performs strict validation on a full `MediaContentMetadata` object. |
|
|
59
|
-
| `
|
|
58
|
+
| `valFetchMediaContent` | Performs strict validation on a full `MediaContentFetchData` object. |
|
|
60
59
|
|
|
61
60
|
### Data & Memory Management
|
|
62
61
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tiny-essentials",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.14",
|
|
4
4
|
"description": "Collection of small, essential scripts designed to be used across various projects. These simple utilities are crafted for speed, ease of use, and versatility.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"tiny-essentials-fork": "./TinyFork.mjs"
|