Skip to content

Commit 2b89d73

Browse files
committed
Rename CorpusEntry table
1 parent 81d3266 commit 2b89d73

File tree

8 files changed

+40
-42
lines changed

8 files changed

+40
-42
lines changed

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ module.exports = {
2424
'import/named': 0,
2525
'import/no-named-as-default': 0,
2626
'import/no-named-as-default-member': 0,
27+
'import/no-cycle': 0,
2728
},
2829
settings: {
2930
'import/extensions': ['.js', '.ts',],

src/entity/CorpusEntry.ts renamed to src/entity/MarkovCorpusEntry.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/* eslint-disable import/no-cycle */
21
import {
32
Entity,
43
BaseEntity,
@@ -12,7 +11,7 @@ import { MarkovFragment } from './MarkovFragment';
1211
import { MarkovRoot } from './MarkovRoot';
1312

1413
@Entity()
15-
export class CorpusEntry extends BaseEntity {
14+
export class MarkovCorpusEntry extends BaseEntity {
1615
@PrimaryGeneratedColumn()
1716
id: string;
1817

src/entity/MarkovFragment.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/* eslint-disable import/no-cycle */
21
import {
32
Entity,
43
BaseEntity,
@@ -8,7 +7,7 @@ import {
87
Index,
98
OneToMany,
109
} from 'typeorm';
11-
import { CorpusEntry } from './CorpusEntry';
10+
import { MarkovCorpusEntry } from './MarkovCorpusEntry';
1211
import { MarkovInputData } from './MarkovInputData';
1312
import { MarkovRoot } from './MarkovRoot';
1413

@@ -30,6 +29,6 @@ export class MarkovFragment extends BaseEntity {
3029
@ManyToOne(() => MarkovRoot, { nullable: true })
3130
endWordMarkov?: MarkovRoot;
3231

33-
@ManyToOne(() => CorpusEntry, { nullable: true })
34-
corpusEntry?: CorpusEntry;
32+
@ManyToOne(() => MarkovCorpusEntry, { nullable: true })
33+
corpusEntry?: MarkovCorpusEntry;
3534
}

src/entity/MarkovOptions.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
/* eslint-disable import/no-cycle */
21
import { Entity, BaseEntity, PrimaryGeneratedColumn, Column, OneToOne } from 'typeorm';
32
import { MarkovRoot } from './MarkovRoot';
43

src/entity/MarkovRoot.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* eslint-disable import/no-cycle */
1+
22
import {
33
Entity,
44
BaseEntity,
@@ -7,7 +7,7 @@ import {
77
OneToMany,
88
JoinColumn,
99
} from 'typeorm';
10-
import { CorpusEntry } from './CorpusEntry';
10+
import { MarkovCorpusEntry } from './MarkovCorpusEntry';
1111
import { MarkovFragment } from './MarkovFragment';
1212
import { MarkovOptions } from './MarkovOptions';
1313

@@ -16,8 +16,8 @@ export class MarkovRoot extends BaseEntity {
1616
@PrimaryGeneratedColumn()
1717
id: string;
1818

19-
@OneToMany(() => CorpusEntry, (entry) => entry.markov, { nullable: true })
20-
corpus: CorpusEntry[];
19+
@OneToMany(() => MarkovCorpusEntry, (entry) => entry.markov, { nullable: true })
20+
corpus: MarkovCorpusEntry[];
2121

2222
@OneToMany(() => MarkovFragment, (fragment) => fragment.startWordMarkov, { nullable: true })
2323
startWords: MarkovFragment[];

src/importer.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { CorpusEntry } from './entity/CorpusEntry';
1+
import { MarkovCorpusEntry } from './entity/MarkovCorpusEntry';
22
import { MarkovFragment } from './entity/MarkovFragment';
33
import { MarkovInputData } from './entity/MarkovInputData';
44
import { MarkovRoot } from './entity/MarkovRoot';
@@ -22,7 +22,7 @@ export class Importer {
2222
private extractImportFragments(
2323
importFragments: MarkovFragment[],
2424
foreignKey: 'corpusEntry',
25-
corpusEntry: CorpusEntry
25+
corpusEntry: MarkovCorpusEntry
2626
): ImportFragmentExtract;
2727

2828
private extractImportFragments(
@@ -33,7 +33,7 @@ export class Importer {
3333
private extractImportFragments(
3434
importFragments: MarkovFragment[],
3535
foreignKey: 'startWordMarkov' | 'endWordMarkov' | 'corpusEntry',
36-
corpusEntry?: CorpusEntry
36+
corpusEntry?: MarkovCorpusEntry
3737
): ImportFragmentExtract {
3838
const allRefs: MarkovInputData[] = [];
3939
const fragments = importFragments.map((importFragment) => {
@@ -70,11 +70,11 @@ export class Importer {
7070
return fragments;
7171
}
7272

73-
public async saveImportCorpus(importCorpus: CorpusEntry[]): Promise<CorpusEntry[]> {
73+
public async saveImportCorpus(importCorpus: MarkovCorpusEntry[]): Promise<MarkovCorpusEntry[]> {
7474
const allFragments: MarkovFragment[] = [];
7575
const allRefs: MarkovInputData[] = [];
7676
const corpusEntries = importCorpus.map((importCorpusEntry) => {
77-
const corpusEntry = CorpusEntry.create(importCorpusEntry);
77+
const corpusEntry = MarkovCorpusEntry.create(importCorpusEntry);
7878
const { fragments, refs } = this.extractImportFragments(
7979
importCorpusEntry.fragments,
8080
'corpusEntry',
@@ -87,7 +87,7 @@ export class Importer {
8787
return corpusEntry;
8888
});
8989

90-
await CorpusEntry.save(corpusEntries);
90+
await MarkovCorpusEntry.save(corpusEntries);
9191
await MarkovFragment.save(allFragments);
9292
await MarkovInputData.save(allRefs);
9393
return corpusEntries;
@@ -96,7 +96,7 @@ export class Importer {
9696
private extractImportV3Fragments(
9797
importFragments: MarkovV3Fragment[],
9898
foreignKey: 'corpusEntry',
99-
corpusEntry: CorpusEntry
99+
corpusEntry: MarkovCorpusEntry
100100
): ImportFragmentExtract;
101101

102102
private extractImportV3Fragments(
@@ -107,7 +107,7 @@ export class Importer {
107107
private extractImportV3Fragments(
108108
importFragments: MarkovV3Fragment[],
109109
foreignKey: 'startWordMarkov' | 'endWordMarkov' | 'corpusEntry',
110-
corpusEntry?: CorpusEntry
110+
corpusEntry?: MarkovCorpusEntry
111111
): ImportFragmentExtract {
112112
const allRefs: MarkovInputData[] = [];
113113
const fragments = importFragments.map((importFragment) => {
@@ -152,11 +152,11 @@ export class Importer {
152152
return fragments;
153153
}
154154

155-
public async saveImportV3Corpus(importCorpus: MarkovV3Corpus): Promise<CorpusEntry[]> {
155+
public async saveImportV3Corpus(importCorpus: MarkovV3Corpus): Promise<MarkovCorpusEntry[]> {
156156
const allFragments: MarkovFragment[] = [];
157157
const allRefs: MarkovInputData[] = [];
158158
const corpusEntries = Object.entries(importCorpus).map(([key, importFragments]) => {
159-
const corpusEntry = new CorpusEntry();
159+
const corpusEntry = new MarkovCorpusEntry();
160160
const { fragments, refs } = this.extractImportV3Fragments(
161161
importFragments,
162162
'corpusEntry',
@@ -170,7 +170,7 @@ export class Importer {
170170
return corpusEntry;
171171
});
172172

173-
await CorpusEntry.save(corpusEntries);
173+
await MarkovCorpusEntry.save(corpusEntries);
174174
await MarkovFragment.save(allFragments);
175175
await MarkovInputData.save(allRefs);
176176
return corpusEntries;

src/index.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* eslint-disable no-await-in-loop */
22
import { Connection, ConnectionOptions, createConnection, getConnectionOptions, In } from 'typeorm';
3-
import { CorpusEntry } from './entity/CorpusEntry';
3+
import { MarkovCorpusEntry } from './entity/MarkovCorpusEntry';
44
import { MarkovFragment } from './entity/MarkovFragment';
55
import { MarkovInputData } from './entity/MarkovInputData';
66
import { MarkovOptions } from './entity/MarkovOptions';
@@ -130,7 +130,7 @@ export default class Markov {
130130
}
131131
this.connection = await createConnection({
132132
...baseConnectionOpts,
133-
entities: [CorpusEntry, MarkovRoot, MarkovOptions, MarkovInputData, MarkovFragment],
133+
entities: [MarkovCorpusEntry, MarkovRoot, MarkovOptions, MarkovInputData, MarkovFragment],
134134
});
135135

136136
let db = await MarkovRoot.findOne({
@@ -163,7 +163,7 @@ export default class Markov {
163163
/**
164164
* Gets a random fragment for a startWord or corpusEntry from the database.
165165
*/
166-
private async sampleFragment(condition?: CorpusEntry): Promise<MarkovFragment | undefined> {
166+
private async sampleFragment(condition?: MarkovCorpusEntry): Promise<MarkovFragment | undefined> {
167167
let queryCondition;
168168
if (!condition) {
169169
queryCondition = { startWordMarkov: this.db };
@@ -276,7 +276,7 @@ export default class Markov {
276276
// eslint-disable-next-line no-restricted-syntax
277277
for (const item of data) {
278278
// Arrays to store future DB writes so we can write them all in one transaction
279-
const entriesToSave: CorpusEntry[] = [];
279+
const entriesToSave: MarkovCorpusEntry[] = [];
280280
const fragmentsToSave: MarkovFragment[] = [];
281281
const inputDataToSave: MarkovInputData[] = [];
282282

@@ -359,7 +359,7 @@ export default class Markov {
359359
}
360360

361361
// Check if the corpus already has a corresponding "curr" block
362-
const block = await CorpusEntry.findOne({ markov: this.db, block: curr });
362+
const block = await MarkovCorpusEntry.findOne({ markov: this.db, block: curr });
363363
if (block) {
364364
const oldObj = await MarkovFragment.findOne({ corpusEntry: block, words: next });
365365
if (oldObj) {
@@ -384,7 +384,7 @@ export default class Markov {
384384
}
385385
} else {
386386
// Add the "curr" block and link it with the "next" one
387-
const entry = new CorpusEntry();
387+
const entry = new MarkovCorpusEntry();
388388
entry.block = curr;
389389
entry.markov = this.db;
390390
entriesToSave.push(entry);
@@ -401,7 +401,7 @@ export default class Markov {
401401
}
402402

403403
// Save the fragments and input data as they will be needed in the DB for corpus generation
404-
await CorpusEntry.save(entriesToSave);
404+
await MarkovCorpusEntry.save(entriesToSave);
405405
await MarkovFragment.save(fragmentsToSave);
406406
await MarkovInputData.save(inputDataToSave);
407407
}
@@ -414,7 +414,7 @@ export default class Markov {
414414
options?: MarkovGenerateOptions<CustomData>
415415
): Promise<MarkovResult<CustomData>> {
416416
// const corpusSize = await CorpusEntry.count({markov: this.db});
417-
const corpusSize = await CorpusEntry.count({ markov: this.db });
417+
const corpusSize = await MarkovCorpusEntry.count({ markov: this.db });
418418
if (corpusSize <= 0) {
419419
throw new Error(
420420
'Corpus is empty. There is either no data, or the data is not sufficient to create markov chains.'
@@ -444,7 +444,7 @@ export default class Markov {
444444
// loop to build a complete sentence
445445
for (let innerTries = 0; innerTries < maxTries; innerTries += 1) {
446446
const block = arr[arr.length - 1]; // last value in array
447-
const entry = await CorpusEntry.findOne({ where: { block: block.words } });
447+
const entry = await MarkovCorpusEntry.findOne({ where: { block: block.words } });
448448
if (!entry) break;
449449

450450
const state = await this.sampleFragment(entry); // Find a following item in the corpus

test/test.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import path from 'path';
22
import { readFileSync } from 'fs';
33
import Markov, { AddDataProps, MarkovResult } from '../src/index';
4-
import { CorpusEntry } from '../src/entity/CorpusEntry';
4+
import { MarkovCorpusEntry } from '../src/entity/MarkovCorpusEntry';
55
import { MarkovFragment } from '../src/entity/MarkovFragment';
66

77
const data = [
@@ -53,12 +53,12 @@ describe('Markov class', () => {
5353
});
5454

5555
it('should build corpus', async () => {
56-
let count = await CorpusEntry.count({
56+
let count = await MarkovCorpusEntry.count({
5757
markov: markov.db,
5858
});
5959
expect(count).toEqual(0);
6060
await markov.addData(data);
61-
count = await CorpusEntry.count({
61+
count = await MarkovCorpusEntry.count({
6262
markov: markov.db,
6363
});
6464
expect(count).toBeGreaterThan(0);
@@ -70,7 +70,7 @@ describe('Markov class', () => {
7070
});
7171
it('should accept objects', async () => {
7272
await markov.addData(data.map((o) => ({ string: o })));
73-
const count = await CorpusEntry.count({
73+
const count = await MarkovCorpusEntry.count({
7474
markov: markov.db,
7575
});
7676
expect(count).toBeGreaterThan(0);
@@ -155,7 +155,7 @@ describe('Markov class', () => {
155155
['tempor, erat', 'vel lacinia'],
156156
];
157157
const promises = testSet.map(async ([block, words]) => {
158-
const entry = await CorpusEntry.findOne({
158+
const entry = await MarkovCorpusEntry.findOne({
159159
markov: markov.db,
160160
block,
161161
});
@@ -194,15 +194,15 @@ describe('Markov class', () => {
194194
it('onto fresh DB', async () => {
195195
markov = new Markov();
196196
await markov.connect();
197-
let count = await CorpusEntry.count({
197+
let count = await MarkovCorpusEntry.count({
198198
markov: markov.db,
199199
});
200200
expect(count).toEqual(0);
201201

202202
const v3Import = JSON.parse(readFileSync(path.join(__dirname, 'v3-export.json'), 'utf8'));
203203
await markov.import(v3Import);
204204

205-
count = await CorpusEntry.count({
205+
count = await MarkovCorpusEntry.count({
206206
markov: markov.db,
207207
});
208208
expect(count).toEqual(28);
@@ -220,7 +220,7 @@ describe('Markov class', () => {
220220
const v3Import = JSON.parse(readFileSync(path.join(__dirname, 'v3-export.json'), 'utf8'));
221221
await markov.import(v3Import);
222222

223-
const count = await CorpusEntry.count({
223+
const count = await MarkovCorpusEntry.count({
224224
markov: markov.db,
225225
});
226226
expect(count).toEqual(28);
@@ -231,15 +231,15 @@ describe('Markov class', () => {
231231
it('onto fresh DB', async () => {
232232
markov = new Markov();
233233
await markov.connect();
234-
let count = await CorpusEntry.count({
234+
let count = await MarkovCorpusEntry.count({
235235
markov: markov.db,
236236
});
237237
expect(count).toEqual(0);
238238

239239
const v4Import = JSON.parse(readFileSync(path.join(__dirname, 'v4-export.json'), 'utf8'));
240240
await markov.import(v4Import);
241241

242-
count = await CorpusEntry.count({
242+
count = await MarkovCorpusEntry.count({
243243
markov: markov.db,
244244
});
245245
expect(count).toEqual(28);
@@ -257,7 +257,7 @@ describe('Markov class', () => {
257257
const v4Import = JSON.parse(readFileSync(path.join(__dirname, 'v4-export.json'), 'utf8'));
258258
await markov.import(v4Import);
259259

260-
const count = await CorpusEntry.count({
260+
const count = await MarkovCorpusEntry.count({
261261
markov: markov.db,
262262
});
263263
expect(count).toEqual(28);

0 commit comments

Comments
 (0)