UNPKG

scheunemann-interfaces

Version:
32 lines 4.14 kB
import { EChatGptModel } from '../enums/model.enum'; import { ChatGptChoiceEntity } from './chat-gpt-choice.entity'; import { ChatGptUsageEntity } from './chat-gpt-usage.entity'; export class ChatGptResponseEntity { // #region Properties (6) id = ''; object = ''; created = 0; model = EChatGptModel.GPT_4; choices = []; usage = new ChatGptUsageEntity(); // #endregion Properties (6) // #region Constructors (1) constructor(data) { if (data) { for (let key in data) { if (data.hasOwnProperty(key) && key in this) { if (key === 'choices') { this.choices = data.choices?.map(choice => new ChatGptChoiceEntity(choice)) || []; } else if (key === 'usage') { this.usage = new ChatGptUsageEntity(data.usage); } else { this[key] = data[key]; } } } } } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1ncHQtcmVzcG9uc2UuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2dwdC9lbnRpdGllcy9jaGF0LWdwdC1yZXNwb25zZS5lbnRpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMseUJBQXlCO0lBRWxCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixPQUFPLEdBQVcsQ0FBQyxDQUFDO0lBQ3BCLEtBQUssR0FBa0IsYUFBYSxDQUFDLEtBQUssQ0FBQztJQUMzQyxPQUFPLEdBQTBCLEVBQUUsQ0FBQztJQUNwQyxLQUFLLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztJQUU1RCw0QkFBNEI7SUFFNUIsMkJBQTJCO0lBRTNCLFlBQVksSUFBcUM7UUFDL0MsSUFBSSxJQUFJLEVBQUU7WUFDUixLQUFLLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUU7b0JBQzNDLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRTt3QkFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ25GO3lCQUFNLElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRTt3QkFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztxQkFDakQ7eUJBQU07d0JBQ0osSUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFJLElBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztxQkFDekM7aUJBQ0Y7YUFDRjtTQUNGO0lBQ0gsQ0FBQztDQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRUNoYXRHcHRNb2RlbCB9IGZyb20gJy4uL2VudW1zL21vZGVsLmVudW0nO1xuaW1wb3J0IHsgSUNoYXRHcHRSZXNwb25zZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ2hhdEdwdENob2ljZUVudGl0eSB9IGZyb20gJy4vY2hhdC1ncHQtY2hvaWNlLmVudGl0eSc7XG5pbXBvcnQgeyBDaGF0R3B0VXNhZ2VFbnRpdHkgfSBmcm9tICcuL2NoYXQtZ3B0LXVzYWdlLmVudGl0eSc7XG5cbmV4cG9ydCBjbGFzcyBDaGF0R3B0UmVzcG9uc2VFbnRpdHkgaW1wbGVtZW50cyBJQ2hhdEdwdFJlc3BvbnNlIHtcbiAgLy8gI3JlZ2lvbiBQcm9wZXJ0aWVzICg2KVxuXG4gIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBvYmplY3Q6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgY3JlYXRlZDogbnVtYmVyID0gMDtcbiAgcHVibGljIG1vZGVsOiBFQ2hhdEdwdE1vZGVsID0gRUNoYXRHcHRNb2RlbC5HUFRfNDtcbiAgcHVibGljIGNob2ljZXM6IENoYXRHcHRDaG9pY2VFbnRpdHlbXSA9IFtdO1xuICBwdWJsaWMgdXNhZ2U6IENoYXRHcHRVc2FnZUVudGl0eSA9IG5ldyBDaGF0R3B0VXNhZ2VFbnRpdHkoKTtcblxuICAvLyAjZW5kcmVnaW9uIFByb3BlcnRpZXMgKDYpXG5cbiAgLy8gI3JlZ2lvbiBDb25zdHJ1Y3RvcnMgKDEpXG5cbiAgY29uc3RydWN0b3IoZGF0YT86IFBhcnRpYWw8Q2hhdEdwdFJlc3BvbnNlRW50aXR5Pikge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICBmb3IgKGxldCBrZXkgaW4gZGF0YSkge1xuICAgICAgICBpZiAoZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgaWYgKGtleSA9PT0gJ2Nob2ljZXMnKSB7XG4gICAgICAgICAgICB0aGlzLmNob2ljZXMgPSBkYXRhLmNob2ljZXM/Lm1hcChjaG9pY2UgPT4gbmV3IENoYXRHcHRDaG9pY2VFbnRpdHkoY2hvaWNlKSkgfHwgW107XG4gICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09ICd1c2FnZScpIHtcbiAgICAgICAgICAgIHRoaXMudXNhZ2UgPSBuZXcgQ2hhdEdwdFVzYWdlRW50aXR5KGRhdGEudXNhZ2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAodGhpcyBhcyBhbnkpW2tleV0gPSAoZGF0YSBhcyBhbnkpW2tleV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gI2VuZHJlZ2lvbiBDb25zdHJ1Y3RvcnMgKDEpXG59ICJdfQ==