-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackground.js
33 lines (25 loc) · 1.13 KB
/
background.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
let portFromCS;
function connected(p) {
portFromCS = p;
portFromCS.onMessage.addListener(function(m) {
var subs = m.sub;
var doc = nlp(subs);
let topics = doc.topics().data().map(function(a) { return a.text.trim(); });
let organizations = doc.organizations().match('(@isTitleCase)+').data().map(function(a) { return a.text.trim(); });
let people = doc.people().match('(@isTitleCase)+').data().map(function(a) { return a.text.trim(); });
let places = doc.places().match('(@isTitleCase)+').data().map(function(a) { return a.text.trim(); });
let capitals = doc.match('(@isTitleCase)+').if('#ProperNoun').data().map(function(a) { return a.text.trim(); });
//https://observablehq.com/@spencermountain/topics-named-entity-recognition
//https://observablehq.com/@spencermountain/compromise-match-syntax
//https://observablehq.com/@spencermountain/compromise-match
portFromCS.postMessage({
sub: subs,
topics: topics,
organizations: organizations,
people: people,
places: places,
capitals: capitals
});
});
}
browser.runtime.onConnect.addListener(connected);