types-nora-api 0.0.11 → 0.0.13

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.
Files changed (2) hide show
  1. package/dist/classes.ts +61 -8
  2. package/package.json +1 -1
package/dist/classes.ts CHANGED
@@ -24,9 +24,9 @@ class Alcance {
24
24
  id: number;
25
25
  nome: string;
26
26
  numero_metros: number;
27
- descricao: string;
27
+ descricao: string | null;
28
28
 
29
- constructor (id: number, nome: string, numero_metros: number, descricao: string) {
29
+ constructor (id: number, nome: string, numero_metros: number, descricao: string | null) {
30
30
  this.id = id;
31
31
  this.nome = nome;
32
32
  this.numero_metros = numero_metros;
@@ -36,12 +36,14 @@ class Alcance {
36
36
  class Atributo {
37
37
  id: number;
38
38
  linhaEfeito: LinhaEfeito;
39
+ pericias: Pericia[];
39
40
  nome: string;
40
41
  descricao: string;
41
42
 
42
- constructor(id: number, linhaEfeito: LinhaEfeito, nome: string, descricao: string) {
43
+ constructor(id: number, linhaEfeito: LinhaEfeito, pericias: Pericia[], nome: string, descricao: string) {
43
44
  this.id = id;
44
45
  this.linhaEfeito = linhaEfeito;
46
+ this.pericias = pericias;
45
47
  this.nome = nome;
46
48
  this.descricao = descricao;
47
49
  }
@@ -349,6 +351,15 @@ class TipoPersonagem {
349
351
  this.descricao = descricao;
350
352
  }
351
353
  }
354
+ class Estudo {
355
+ id: number;
356
+ nome: string
357
+
358
+ constructor(id: number, nome: string) {
359
+ this.id = id;
360
+ this.nome = nome;
361
+ }
362
+ }
352
363
  class AuthSession {
353
364
  expiredAt: number;
354
365
  id: string;
@@ -379,13 +390,24 @@ class CustomizacaoUsuario {
379
390
  this.conquistaExibirPerfil3 = conquistaExibirPerfil3;
380
391
  }
381
392
  }
393
+ class DisponibilidadeUsuario {
394
+ diaDaSemana: number;
395
+ horaInicio: string;
396
+ horaFim: string;
397
+
398
+ constructor(diaDaSemana: number, horaInicio: string, horaFim: string) {
399
+ this.diaDaSemana = diaDaSemana;
400
+ this.horaInicio = horaInicio;
401
+ this.horaFim = horaFim;
402
+ }
403
+ }
382
404
  class Usuario {
383
405
  id: number;
384
406
  perfilJogador: PerfilJogador;
385
407
  perfilMestre: PerfilMestre;
386
408
  perfilAdmin: PerfilAdmin;
387
409
  customizacao: CustomizacaoUsuario;
388
- username: string;
410
+ username: string | null;
389
411
  email: string;
390
412
  discordId: string;
391
413
 
@@ -414,12 +436,43 @@ export type EstruturaPaginaDefinicao = {
414
436
  titulo: string;
415
437
  subtitulo?: string;
416
438
  listaConteudo: {
417
- itens: ConteudoItem[],
439
+ itens: ConteudoItem[];
418
440
  };
419
- listaItensDefinicoesConectadas?: { etiqueta: string, subPaginaDefinicao: string }[];
441
+ listaItensDefinicoesConectadas?: { etiqueta: string; subPaginaDefinicao: string }[];
420
442
  };
421
- export type ConteudoItem = { tipo: 'Definicao'; paragrafos: string[]; } | { tipo: 'Lista'; itensLista: { etiqueta: string; subPaginaDefinicao: string; }[]; };
443
+ export type ConteudoItem =
444
+ | { tipo: 'Definicao'; elementos: DefinicaoElemento[] }
445
+ | { tipo: 'Lista'; itensLista: ListaItem[] };
446
+ export type DefinicaoElemento =
447
+ | { tipo: 'Paragrafo'; conteudo: string }
448
+ | { tipo: 'ParagrafoSecreto' };
449
+ export type ListaItem =
450
+ | { tipo: 'ItemLista', etiqueta: string; subPaginaDefinicao: string }
451
+ | { tipo: 'ItemListaSecreto' };
422
452
  export type DadosMinhaPagina = Pick<Usuario, 'username'> & {
423
453
  caminhoAvatar: string;
424
454
  };
425
- export { Conquista, TipoConquista, Alcance, Atributo, CategoriaRitual, CirculoRitual, Classe, Duracao, Elemento, EstatisticaDanificavel, Execucao, FormatoAlcance, LinhaEfeito, Nivel, NivelComponente, NivelProficiencia, NivelRitual, PatentePericia, Pericia, Proficiencia, TipoAlvo, TipoCategoria, TipoDano, TipoEfeito, TipoItem, TipoProficiencia, PerfilAdmin, PerfilJogador, PerfilMestre, Personagem, TipoPersonagem, AuthSession, CustomizacaoUsuario, Usuario };
455
+ export class DadosMinhasDisponibilidades {
456
+ disponibilidades: DisponibilidadeUsuario[];
457
+ constructor(disponibilidades: DisponibilidadeUsuario[]) {
458
+ this.disponibilidades = disponibilidades;
459
+ }
460
+ get disponibilidadePorExtenso(): Record<number, string[]>[] {
461
+ const agrupadoPorDia: Record<number, string[]> = {};
462
+ // Agrupa as disponibilidades por dia da semana
463
+ this.disponibilidades.forEach(disponibilidade => {
464
+ const { diaDaSemana, horaInicio, horaFim } = disponibilidade;
465
+ const textoDisponibilidade = `Dísponível entre ${horaInicio} e ${horaFim}`;
466
+ if (!agrupadoPorDia[diaDaSemana]) {
467
+ agrupadoPorDia[diaDaSemana] = [];
468
+ }
469
+ agrupadoPorDia[diaDaSemana].push(textoDisponibilidade);
470
+ });
471
+ // Converte o objeto agrupado em uma lista de objetos
472
+ return Object.keys(agrupadoPorDia).map(dia => {
473
+ const diaNumero = Number(dia);
474
+ return { [diaNumero]: agrupadoPorDia[diaNumero] };
475
+ });
476
+ }
477
+ }
478
+ export { Conquista, TipoConquista, Alcance, Atributo, CategoriaRitual, CirculoRitual, Classe, Duracao, Elemento, EstatisticaDanificavel, Execucao, FormatoAlcance, LinhaEfeito, Nivel, NivelComponente, NivelProficiencia, NivelRitual, PatentePericia, Pericia, Proficiencia, TipoAlvo, TipoCategoria, TipoDano, TipoEfeito, TipoItem, TipoProficiencia, PerfilAdmin, PerfilJogador, PerfilMestre, Personagem, TipoPersonagem, Estudo, AuthSession, CustomizacaoUsuario, DisponibilidadeUsuario, Usuario };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "types-nora-api",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "description": "Tipagem da Nora-Api compartilhada com o universodomedo.com",
5
5
  "main": "dist/classes.js",
6
6
  "types": "dist/classes.d.ts",