scheunemann-interfaces
Version:
Interfaces de Projetos Scheunemann
32 lines • 4.14 kB
JavaScript
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==