Skip to content

Commit ad3cb5c

Browse files
committed
feat(freecompany): update free company parsing to return both id and name
1 parent cdc2f0b commit ad3cb5c

6 files changed

Lines changed: 33 additions & 12 deletions

File tree

docs/api/classes/client_LodestoneClient.default.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Client for interfacing with the Final Fantasy XIV Lodestone.
3030

3131
#### Defined in
3232

33-
[client/LodestoneClient.ts:56](https://github.com/XIVStats/lodestone/blob/ee12e9b/src/client/LodestoneClient.ts#L56)
33+
[client/LodestoneClient.ts:56](https://github.com/XIVStats/lodestone/blob/cdc2f0b/src/client/LodestoneClient.ts#L56)
3434

3535
## Properties
3636

@@ -44,4 +44,4 @@ An instance will be generated by default, but as a consumer you can provide your
4444

4545
#### Defined in
4646

47-
[client/LodestoneClient.ts:50](https://github.com/XIVStats/lodestone/blob/ee12e9b/src/client/LodestoneClient.ts#L50)
47+
[client/LodestoneClient.ts:50](https://github.com/XIVStats/lodestone/blob/cdc2f0b/src/client/LodestoneClient.ts#L50)

src/config/DomConfig.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,10 @@ export default class DomConfig {
5656
'#character > div.frame__chara.js__toggle_wrapper > a > div.frame__chara__box > p.frame__chara__world',
5757
transformationFunction: (value: string) => value.split('(')[1].replace(')', '').trim(),
5858
},
59-
freeCompanyName: 'div.character__freecompany__name > h4',
59+
freeCompany: {
60+
selector: 'div.character__freecompany__name > h4',
61+
isGroupLink: true
62+
},
6063
pvpTeam: {
6164
selector: 'div.character__pvpteam__name > h4',
6265
isGroupLink: true,

src/entity/Character.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export default class Character implements ICharacter {
6767

6868
grandCompanyRank?: string | undefined
6969

70-
freeCompanyName?: string | undefined
70+
freeCompany?: IPlayerGroup | undefined
7171

7272
pvpTeam?: IPlayerGroup | undefined
7373

src/entity/__tests__/Character.test.ts

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ describe('Character', () => {
4545
guardian: 'Thaliak, the Scholar',
4646
grandCompany: 'Order of the Twin Adder',
4747
grandCompanyRank: 'First Serpent Lieutenant',
48-
freeCompanyName: 'Archadian Moogles',
48+
freeCompany: {
49+
id: '9234631035923259083',
50+
name: 'Archadian Moogles'
51+
},
4952
activeClass: Class.Conjurer,
5053
gear: {
5154
arm: {
@@ -261,7 +264,10 @@ describe('Character', () => {
261264
nameDay: '4th Sun of the 4th Astral Moon',
262265
guardian: 'Nymeia, the Spinner',
263266
gender: 'Female',
264-
freeCompanyName: "Gandalf's Gangstas",
267+
freeCompany: {
268+
id: '9228860798900682722',
269+
name:"Gandalf's Gangstas"
270+
},
265271
activeClass: Class.Arcanist,
266272
grandCompany: undefined,
267273
}
@@ -276,7 +282,10 @@ describe('Character', () => {
276282
homeWorld: 'Cerberus',
277283
title: 'Outlander',
278284
dataCenter: 'Chaos',
279-
freeCompanyName: 'Archadian Moogles',
285+
freeCompany: {
286+
id: '9234631035923259083',
287+
name: 'Archadian Moogles'
288+
},
280289
gear: {
281290
shield: {
282291
category: GearCategory.Shield,
@@ -303,7 +312,10 @@ describe('Character', () => {
303312
homeWorld: 'Cerberus',
304313
title: 'Monster Hunter',
305314
dataCenter: 'Chaos',
306-
freeCompanyName: 'Archadian Moogles',
315+
freeCompany: {
316+
id: '9234631035923259083',
317+
name: 'Archadian Moogles'
318+
},
307319
gender: 'Male',
308320
grandCompany: 'Order of the Twin Adder',
309321
grandCompanyRank: 'Serpent Captain',
@@ -328,7 +340,10 @@ describe('Character', () => {
328340
homeWorld: 'Cerberus',
329341
title: 'The Liberator',
330342
dataCenter: 'Chaos',
331-
freeCompanyName: 'Archadian Moogles',
343+
freeCompany: {
344+
id: '9234631035923259083',
345+
name: 'Archadian Moogles'
346+
},
332347
gender: 'Female',
333348
grandCompany: 'Maelstrom',
334349
grandCompanyRank: 'Second Storm Lieutenant',
@@ -353,7 +368,10 @@ describe('Character', () => {
353368
homeWorld: 'Aegis',
354369
title: 'Peacemaker',
355370
dataCenter: 'Elemental',
356-
freeCompanyName: 'DawnGarden',
371+
freeCompany: {
372+
id: '9236038410806755415x',
373+
name: 'DawnGarden'
374+
},
357375
gender: 'Male',
358376
grandCompany: 'Immortal Flames',
359377
grandCompanyRank: 'Flame Captain',

src/interface/ICharacter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export default interface ICharacter extends IMappableCharacter {
6161

6262
readonly grandCompanyRank?: string
6363

64-
readonly freeCompanyName?: string
64+
readonly freeCompany?: IPlayerGroup
6565

6666
readonly pvpTeam?: IPlayerGroup
6767

src/interface/IMappableCharacter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export interface IMappableCharacter {
6161

6262
readonly grandCompanyRank?: string | IAttributeMapping
6363

64-
readonly freeCompanyName?: string | IAttributeMapping
64+
readonly freeCompany?: IPlayerGroup | IAttributeMapping
6565

6666
readonly pvpTeam?: IPlayerGroup | IAttributeMapping
6767

0 commit comments

Comments
 (0)