coh-content-db 2.0.0-rc.4 → 2.0.0-rc.6
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.
- package/README.md +31 -7
- package/dist/coh-content-db.d.ts +353 -185
- package/dist/coh-content-db.js +460 -300
- package/dist/coh-content-db.js.map +1 -1
- package/dist/coh-content-db.mjs +448 -294
- package/dist/coh-content-db.mjs.map +1 -1
- package/package.json +1 -4
- package/src/main/api/alternate-data.ts +2 -2
- package/src/main/api/badge-data.ts +21 -19
- package/src/main/api/badge-requirement-data.ts +82 -0
- package/src/main/api/badge-requirement-type.ts +11 -0
- package/src/main/api/change.ts +5 -2
- package/src/main/api/contact-data.ts +46 -0
- package/src/main/api/content-bundle.ts +12 -7
- package/src/main/api/markdown-string.ts +4 -0
- package/src/main/api/zone-data.ts +20 -0
- package/src/main/changelog.ts +7 -2
- package/src/main/db/alignments.ts +17 -0
- package/src/main/db/alternates.ts +8 -14
- package/src/main/db/badge-index.ts +93 -0
- package/src/main/db/badge-requirement.ts +102 -0
- package/src/main/db/badge-search-options.ts +51 -0
- package/src/main/db/badge.ts +55 -48
- package/src/main/db/bundle-metadata.ts +5 -6
- package/src/main/db/coh-content-database.ts +65 -40
- package/src/main/db/contact.ts +59 -0
- package/src/main/db/paged.ts +7 -0
- package/src/main/db/zone.ts +28 -0
- package/src/main/index.ts +15 -11
- package/src/main/util.ts +68 -7
- package/src/test/api/alignments.test.ts +40 -0
- package/src/test/api/badge-data.fixture.ts +9 -7
- package/src/test/api/badge-requirement-data.fixture.ts +17 -0
- package/src/test/api/badge-requirement-type.test.ts +31 -0
- package/src/test/api/contact-data.fixture.ts +13 -0
- package/src/test/api/content-bundle.fixture.ts +2 -2
- package/src/test/api/content-bundle.test.ts +1 -1
- package/src/test/api/zone-data.fixture.ts +8 -0
- package/src/test/db/alternates.test.ts +16 -74
- package/src/test/db/badge-index.test.ts +520 -0
- package/src/test/db/badge-requirement.test.ts +180 -0
- package/src/test/db/badge.test.ts +190 -15
- package/src/test/db/coh-content-database.test.ts +125 -18
- package/src/test/db/contact.test.ts +96 -0
- package/src/test/db/zone.test.ts +36 -0
- package/src/test/index.test.ts +6 -2
- package/src/test/util.test.ts +91 -18
- package/src/main/api/badge-partial-data.ts +0 -65
- package/src/main/api/badge-partial-type.ts +0 -8
- package/src/main/api/game-map-data.ts +0 -26
- package/src/main/api/vidiot-map-data.ts +0 -18
- package/src/main/api/vidiot-map-point-of-interest-data.ts +0 -30
- package/src/main/db/badge-partial.ts +0 -35
- package/src/main/db/badge-search-document.ts +0 -16
- package/src/main/db/game-map.ts +0 -33
- package/src/main/db/vidiot-map-point-of-interest.ts +0 -40
- package/src/main/db/vidiot-map.ts +0 -25
- package/src/test/api/badge-partial-data.fixture.ts +0 -17
- package/src/test/api/badge-partial-type.test.ts +0 -31
- package/src/test/api/game-map-data.fixture.ts +0 -10
- package/src/test/api/vidiot-map-point-of-interest.fixture.ts +0 -10
- package/src/test/api/vidiot-map.fixture.ts +0 -9
- package/src/test/db/badge-search-document.test.ts +0 -35
- package/src/test/db/coh-content-database-search.test.ts +0 -119
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Badge } from '../../main'
|
|
2
|
-
import { badgeDataFixture } from '../api/badge-data.fixture'
|
|
3
|
-
import { BadgeSearchDocument } from '../../main/db/badge-search-document'
|
|
4
|
-
|
|
5
|
-
describe(Badge.name, () => {
|
|
6
|
-
test(`should set the id from the badge key`, () => {
|
|
7
|
-
expect(new BadgeSearchDocument(new Badge(badgeDataFixture.create({ key: 'foo' }))).id).toBe('foo')
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
test(`should set the key from the badge`, () => {
|
|
11
|
-
expect(new BadgeSearchDocument(new Badge(badgeDataFixture.create({ key: 'foo' }))).key).toBe('foo')
|
|
12
|
-
})
|
|
13
|
-
|
|
14
|
-
test(`should set the name from the badge names`, () => {
|
|
15
|
-
expect(new BadgeSearchDocument(new Badge(badgeDataFixture.create({
|
|
16
|
-
name: [
|
|
17
|
-
{ value: 'foo' },
|
|
18
|
-
{ alignment: 'H', value: 'bar' },
|
|
19
|
-
],
|
|
20
|
-
}))).name).toBe('foo, bar')
|
|
21
|
-
})
|
|
22
|
-
|
|
23
|
-
test(`should set the badge text`, () => {
|
|
24
|
-
expect(new BadgeSearchDocument(new Badge(badgeDataFixture.create({
|
|
25
|
-
badgeText: [
|
|
26
|
-
{ value: 'foo' },
|
|
27
|
-
{ alignment: 'H', value: 'bar' },
|
|
28
|
-
],
|
|
29
|
-
}))).badgeText).toBe('foo, bar')
|
|
30
|
-
})
|
|
31
|
-
|
|
32
|
-
test(`should set the acquisition`, () => {
|
|
33
|
-
expect(new BadgeSearchDocument(new Badge(badgeDataFixture.create({ acquisition: 'foo' }))).acquisition).toBe('foo')
|
|
34
|
-
})
|
|
35
|
-
})
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { CohContentDatabase } from '../../main'
|
|
2
|
-
import { contentBundleFixture } from '../api/content-bundle.fixture'
|
|
3
|
-
import { badgeDataFixture } from '../api/badge-data.fixture'
|
|
4
|
-
|
|
5
|
-
describe(CohContentDatabase.name, () => {
|
|
6
|
-
describe('searchBadges', () => {
|
|
7
|
-
test(`should match on badge name`, () => {
|
|
8
|
-
const data = contentBundleFixture.create({
|
|
9
|
-
badges: [
|
|
10
|
-
badgeDataFixture.create({ key: 'match-1', name: [{ value: 'Foo 1' }] }),
|
|
11
|
-
badgeDataFixture.create({ key: 'match-2', name: [{ value: 'Foo 2' }, { value: 'Bar 2' }] }),
|
|
12
|
-
badgeDataFixture.create({ key: 'match-3', name: [{ value: 'Bar 3' }, { value: 'Foo 3' }] }),
|
|
13
|
-
badgeDataFixture.create({ key: 'miss-1', name: [{ value: 'Bar 4' }] }),
|
|
14
|
-
],
|
|
15
|
-
})
|
|
16
|
-
|
|
17
|
-
const result = new CohContentDatabase(data).searchBadges('Foo')
|
|
18
|
-
|
|
19
|
-
expect(result).toHaveLength(3)
|
|
20
|
-
const keys = result.map(x => x.key)
|
|
21
|
-
expect(keys).toContain('match-1')
|
|
22
|
-
expect(keys).toContain('match-2')
|
|
23
|
-
expect(keys).toContain('match-3')
|
|
24
|
-
expect(keys).not.toContainEqual(['miss-1'])
|
|
25
|
-
})
|
|
26
|
-
|
|
27
|
-
test(`should match on badge text`, () => {
|
|
28
|
-
const data = contentBundleFixture.create({
|
|
29
|
-
badges: [
|
|
30
|
-
badgeDataFixture.create({ key: 'match-1', badgeText: [{ value: 'Foo 1' }] }),
|
|
31
|
-
badgeDataFixture.create({ key: 'match-2', badgeText: [{ value: 'Foo 2' }, { value: 'Bar 2' }] }),
|
|
32
|
-
badgeDataFixture.create({ key: 'match-3', badgeText: [{ value: 'Bar 3' }, { value: 'Foo 3' }] }),
|
|
33
|
-
badgeDataFixture.create({ key: 'miss-1', badgeText: [{ value: 'Bar 4' }] }),
|
|
34
|
-
],
|
|
35
|
-
})
|
|
36
|
-
|
|
37
|
-
const result = new CohContentDatabase(data).searchBadges('Foo')
|
|
38
|
-
|
|
39
|
-
expect(result).toHaveLength(3)
|
|
40
|
-
const keys = result.map(x => x.key)
|
|
41
|
-
expect(keys).toContain('match-1')
|
|
42
|
-
expect(keys).toContain('match-2')
|
|
43
|
-
expect(keys).toContain('match-3')
|
|
44
|
-
expect(keys).not.toContainEqual(['miss-1'])
|
|
45
|
-
})
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
test(`should match on acquisition`, () => {
|
|
49
|
-
const data = contentBundleFixture.create({
|
|
50
|
-
badges: [
|
|
51
|
-
badgeDataFixture.create({ key: 'match-1', acquisition: 'Foo 1' }),
|
|
52
|
-
badgeDataFixture.create({ key: 'match-2', acquisition: 'Foo 2' }),
|
|
53
|
-
badgeDataFixture.create({ key: 'miss-1', acquisition: 'Bar 1' }),
|
|
54
|
-
],
|
|
55
|
-
})
|
|
56
|
-
|
|
57
|
-
const result = new CohContentDatabase(data).searchBadges('Foo')
|
|
58
|
-
|
|
59
|
-
expect(result).toHaveLength(2)
|
|
60
|
-
const keys = result.map(x => x.key)
|
|
61
|
-
expect(keys).toContain('match-1')
|
|
62
|
-
expect(keys).toContain('match-2')
|
|
63
|
-
expect(keys).not.toContainEqual(['miss-1'])
|
|
64
|
-
})
|
|
65
|
-
|
|
66
|
-
test(`should match the start of a string`, () => {
|
|
67
|
-
const data = contentBundleFixture.create({
|
|
68
|
-
badges: [
|
|
69
|
-
badgeDataFixture.create({ key: 'match-1', acquisition: 'Foo 1' }),
|
|
70
|
-
badgeDataFixture.create({ key: 'match-2', acquisition: 'Foo 2' }),
|
|
71
|
-
badgeDataFixture.create({ key: 'miss-1', acquisition: 'Bar 1' }),
|
|
72
|
-
],
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
const result = new CohContentDatabase(data).searchBadges('Fo')
|
|
76
|
-
|
|
77
|
-
expect(result).toHaveLength(2)
|
|
78
|
-
const keys = result.map(x => x.key)
|
|
79
|
-
expect(keys).toContain('match-1')
|
|
80
|
-
expect(keys).toContain('match-2')
|
|
81
|
-
expect(keys).not.toContainEqual(['miss-1'])
|
|
82
|
-
})
|
|
83
|
-
|
|
84
|
-
test(`should return everything for an empty query`, () => {
|
|
85
|
-
const data = contentBundleFixture.create({
|
|
86
|
-
badges: [
|
|
87
|
-
badgeDataFixture.create({ key: 'foo-1', acquisition: 'Foo 1' }),
|
|
88
|
-
badgeDataFixture.create({ key: 'foo-2', acquisition: 'Foo 2' }),
|
|
89
|
-
badgeDataFixture.create({ key: 'bar-1', acquisition: 'Bar 1' }),
|
|
90
|
-
],
|
|
91
|
-
})
|
|
92
|
-
|
|
93
|
-
const result = new CohContentDatabase(data).searchBadges()
|
|
94
|
-
|
|
95
|
-
expect(result).toHaveLength(3)
|
|
96
|
-
const keys = result.map(x => x.key)
|
|
97
|
-
expect(keys).toContain('foo-1')
|
|
98
|
-
expect(keys).toContain('foo-2')
|
|
99
|
-
expect(keys).toContain('bar-1')
|
|
100
|
-
})
|
|
101
|
-
|
|
102
|
-
test(`should be case insensitive`, () => {
|
|
103
|
-
const data = contentBundleFixture.create({
|
|
104
|
-
badges: [
|
|
105
|
-
badgeDataFixture.create({ key: 'match-1', acquisition: 'Foo 1' }),
|
|
106
|
-
badgeDataFixture.create({ key: 'match-2', acquisition: 'Foo 2' }),
|
|
107
|
-
badgeDataFixture.create({ key: 'miss-1', acquisition: 'Bar 1' }),
|
|
108
|
-
],
|
|
109
|
-
})
|
|
110
|
-
|
|
111
|
-
const result = new CohContentDatabase(data).searchBadges('foo')
|
|
112
|
-
|
|
113
|
-
expect(result).toHaveLength(2)
|
|
114
|
-
const keys = result.map(x => x.key)
|
|
115
|
-
expect(keys).toContain('match-1')
|
|
116
|
-
expect(keys).toContain('match-2')
|
|
117
|
-
expect(keys).not.toContain('miss-1')
|
|
118
|
-
})
|
|
119
|
-
})
|