playlist-data-engine 1.7.1 → 1.7.3
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/README.md +6 -3
- package/dist/core/parser/PlaylistParser.d.ts.map +1 -1
- package/dist/core/parser/TrackExtras.d.ts +150 -1
- package/dist/core/parser/TrackExtras.d.ts.map +1 -1
- package/dist/core/types/Playlist.d.ts +8 -0
- package/dist/core/types/Playlist.d.ts.map +1 -1
- package/dist/gateway-C_p9Ku3O.js +1211 -0
- package/dist/gateway-Ceg-5xug.cjs +1 -0
- package/dist/gateway.d.ts +2 -1
- package/dist/gateway.d.ts.map +1 -1
- package/dist/gateway.js +1 -1
- package/dist/gateway.mjs +19 -14
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/playlist-data-engine.js +34 -34
- package/dist/playlist-data-engine.mjs +966 -1245
- package/dist/utils/playlistUtils.d.ts +41 -0
- package/dist/utils/playlistUtils.d.ts.map +1 -1
- package/dist/utils/validators.d.ts +27 -0
- package/dist/utils/validators.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/gateway-DYTdioNs.js +0 -677
- package/dist/gateway-UffqbE1i.cjs +0 -1
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* "No nonsense" functions that return arrays of basic data from playlists
|
|
4
4
|
*/
|
|
5
5
|
import type { ServerlessPlaylist, RawArweavePlaylist } from '../core/types/Playlist.js';
|
|
6
|
+
import { type MixInfo } from '../core/parser/TrackExtras.js';
|
|
6
7
|
/** Input type that accepts both parsed and raw playlists */
|
|
7
8
|
export type PlaylistInput = ServerlessPlaylist | RawArweavePlaylist;
|
|
8
9
|
/** Simplified track object for getTracks() */
|
|
@@ -16,6 +17,26 @@ export interface SimpleTrack {
|
|
|
16
17
|
image_thumb_url?: string;
|
|
17
18
|
audio_ipfs_hash?: string;
|
|
18
19
|
artwork_ipfs_hash?: string;
|
|
20
|
+
mint_function?: string;
|
|
21
|
+
mint_price?: string;
|
|
22
|
+
mint_snapshot_time?: number;
|
|
23
|
+
mint_token?: string;
|
|
24
|
+
/** Name of the entry's pinned mix (absent when the entry plays primary audio) */
|
|
25
|
+
selected_mix?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Track object with mix data for getMixTracks() */
|
|
28
|
+
export interface MixTrackInfo {
|
|
29
|
+
title: string;
|
|
30
|
+
artist: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
/** The entry's audio URL, already repointed when the entry pins a mix */
|
|
33
|
+
audio_url: string;
|
|
34
|
+
audio_url_lossless?: string;
|
|
35
|
+
image_url: string;
|
|
36
|
+
/** Name of the entry's pinned mix (absent when the entry plays primary audio) */
|
|
37
|
+
selected_mix?: string;
|
|
38
|
+
/** All mixes the track ships */
|
|
39
|
+
mixes: MixInfo[];
|
|
19
40
|
}
|
|
20
41
|
/** Track object with VRM data for getVRMTracks() */
|
|
21
42
|
export interface VRMTrack {
|
|
@@ -150,4 +171,24 @@ export declare function getVRMs(playlist: PlaylistInput): string[];
|
|
|
150
171
|
* // [{ title: 'Song', artist: 'Artist', audio_url: '...', image_url: '...', image_thumb_url: '...', vrm: '...' }, ...]
|
|
151
172
|
*/
|
|
152
173
|
export declare function getVRMTracks(playlist: PlaylistInput): VRMTrack[];
|
|
174
|
+
/**
|
|
175
|
+
* Get all alternate mixes across a playlist's tracks
|
|
176
|
+
* @param playlist - Parsed or raw playlist
|
|
177
|
+
* @returns Array of mixes (flattened across tracks, in track order)
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* const mixes = getMixes(playlist);
|
|
181
|
+
* // [{ name: 'Instrumental', uri: '...', mime_type: 'audio/mpeg', conditions: [] }, ...]
|
|
182
|
+
*/
|
|
183
|
+
export declare function getMixes(playlist: PlaylistInput): MixInfo[];
|
|
184
|
+
/**
|
|
185
|
+
* Get tracks that ship alternate mixes, with each entry's pin resolved
|
|
186
|
+
* @param playlist - Parsed or raw playlist
|
|
187
|
+
* @returns Array of track objects with their mixes and pinned mix name
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* const mixTracks = getMixTracks(playlist);
|
|
191
|
+
* // [{ title: 'Song', artist: 'Artist', audio_url: '...', selected_mix: 'Instrumental', mixes: [...] }, ...]
|
|
192
|
+
*/
|
|
193
|
+
export declare function getMixTracks(playlist: PlaylistInput): MixTrackInfo[];
|
|
153
194
|
//# sourceMappingURL=playlistUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playlistUtils.d.ts","sourceRoot":"","sources":["../../src/utils/playlistUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAiB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"playlistUtils.d.ts","sourceRoot":"","sources":["../../src/utils/playlistUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,4 +186,31 @@ export declare const CharacterSheetSchema: z.ZodObject<{
|
|
|
186
186
|
seed: z.ZodString;
|
|
187
187
|
generated_at: z.ZodString;
|
|
188
188
|
}, z.core.$strip>;
|
|
189
|
+
/**
|
|
190
|
+
* Mix condition schema (alternate mixes)
|
|
191
|
+
*/
|
|
192
|
+
export declare const MixConditionSchema: z.ZodObject<{
|
|
193
|
+
type: z.ZodString;
|
|
194
|
+
value: z.ZodString;
|
|
195
|
+
}, z.core.$strip>;
|
|
196
|
+
/**
|
|
197
|
+
* Alternate mix schema
|
|
198
|
+
*/
|
|
199
|
+
export declare const MixInfoSchema: z.ZodObject<{
|
|
200
|
+
name: z.ZodString;
|
|
201
|
+
uri: z.ZodOptional<z.ZodString>;
|
|
202
|
+
mime_type: z.ZodOptional<z.ZodString>;
|
|
203
|
+
conditions: z.ZodArray<z.ZodObject<{
|
|
204
|
+
type: z.ZodString;
|
|
205
|
+
value: z.ZodString;
|
|
206
|
+
}, z.core.$strip>>;
|
|
207
|
+
}, z.core.$strip>;
|
|
208
|
+
/**
|
|
209
|
+
* Stem schema
|
|
210
|
+
*/
|
|
211
|
+
export declare const StemInfoSchema: z.ZodObject<{
|
|
212
|
+
name: z.ZodString;
|
|
213
|
+
uri: z.ZodOptional<z.ZodString>;
|
|
214
|
+
mime_type: z.ZodOptional<z.ZodString>;
|
|
215
|
+
}, z.core.$strip>;
|
|
189
216
|
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;iBAoC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;iBAuB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkD/B,CAAC"}
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/utils/validators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;iBAoC/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;iBAuB7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkD/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;iBAKxB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;iBAIzB,CAAC"}
|
package/package.json
CHANGED