"use strict";
export class ArtistInfo {
/** @param {{id?:number,name?:string,type?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {?string} */
type;
}
export class ModifierInfo {
/** @param {{id?:number,name?:string,category?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {number} */
id;
/** @type {string} */
name;
/** @type {string} */
category;
}
export class SearchDataResponse {
/** @param {{artists?:ArtistInfo[],modifiers?:ModifierInfo[]}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {ArtistInfo[]} */
artists = [];
/** @type {ModifierInfo[]} */
modifiers = [];
}
export class SearchData {
constructor(init) { Object.assign(this, init) }
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/SearchData HTTP/1.1
Host: blazordiffusion.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { artists: [ { id: 0, name: String, type: String } ], modifiers: [ { id: 0, name: String, category: String } ] }