Skip to content

Commit 73047ba

Browse files
committed
Replaced Term-/MultiTermSet with Term-/MultiTermMap
1 parent afc3b78 commit 73047ba

15 files changed

+342
-268
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ https://commons.wikimedia.org/wiki/File:Wikibase_JavaScript_Data_Model_1.0.svg
4141
* Added List.
4242
* Added Map.
4343
* Added MultiTerm.
44-
* Added MultiTermSet.
44+
* Added MultiTermMap.
4545
* Added ReferenceList.
4646
* Added SiteLinkSet.
4747
* Added StatementGroup.
4848
* Added StatementGroupSet.
4949
* Added StatementList.
5050
* Added Term.
51-
* Added TermSet.
51+
* Added TermMap.
5252
* Added Set.
5353
* Added individual constructors for Item and Property.
5454
* Added Entity.getFingerprint(), Entity.setFingerprint().

resources.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
'wikibase.datamodel.Fingerprint',
3535
'wikibase.datamodel.Item',
3636
'wikibase.datamodel.MultiTerm',
37-
'wikibase.datamodel.MultiTermSet',
37+
'wikibase.datamodel.MultiTermMap',
3838
'wikibase.datamodel.Property',
3939
'wikibase.datamodel.PropertyNoValueSnak',
4040
'wikibase.datamodel.PropertySomeValueSnak',
@@ -50,7 +50,7 @@
5050
'wikibase.datamodel.StatementGroupSet',
5151
'wikibase.datamodel.StatementList',
5252
'wikibase.datamodel.Term',
53-
'wikibase.datamodel.TermSet',
53+
'wikibase.datamodel.TermMap',
5454
),
5555
),
5656

@@ -137,8 +137,8 @@
137137
),
138138
'dependencies' => array(
139139
'wikibase.datamodel.__namespace',
140-
'wikibase.datamodel.MultiTermSet',
141-
'wikibase.datamodel.TermSet',
140+
'wikibase.datamodel.MultiTermMap',
141+
'wikibase.datamodel.TermMap',
142142
),
143143
),
144144

@@ -204,15 +204,15 @@
204204
),
205205
),
206206

207-
'wikibase.datamodel.MultiTermSet' => $moduleTemplate + array(
207+
'wikibase.datamodel.MultiTermMap' => $moduleTemplate + array(
208208
'scripts' => array(
209-
'MultiTermSet.js',
209+
'MultiTermMap.js',
210210
),
211211
'dependencies' => array(
212212
'util.inherit',
213213
'wikibase.datamodel.__namespace',
214+
'wikibase.datamodel.Map',
214215
'wikibase.datamodel.MultiTerm',
215-
'wikibase.datamodel.Set',
216216
),
217217
),
218218

@@ -383,15 +383,15 @@
383383
),
384384
),
385385

386-
'wikibase.datamodel.TermSet' => $moduleTemplate + array(
386+
'wikibase.datamodel.TermMap' => $moduleTemplate + array(
387387
'scripts' => array(
388-
'TermSet.js',
388+
'TermMap.js',
389389
),
390390
'dependencies' => array(
391391
'util.inherit',
392392
'wikibase.datamodel.__namespace',
393+
'wikibase.datamodel.Map',
393394
'wikibase.datamodel.Term',
394-
'wikibase.datamodel.Set',
395395
),
396396
),
397397

resources.test.php

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@
8585
'dependencies' => array(
8686
'wikibase.datamodel.Fingerprint',
8787
'wikibase.datamodel.MultiTerm',
88-
'wikibase.datamodel.MultiTermSet',
88+
'wikibase.datamodel.MultiTermMap',
8989
'wikibase.datamodel.Term',
90-
'wikibase.datamodel.TermSet',
90+
'wikibase.datamodel.TermMap',
9191
),
9292
),
9393

@@ -111,7 +111,7 @@
111111
'wikibase.datamodel.Fingerprint',
112112
'wikibase.datamodel.Item',
113113
'wikibase.datamodel.MultiTerm',
114-
'wikibase.datamodel.MultiTermSet',
114+
'wikibase.datamodel.MultiTermMap',
115115
'wikibase.datamodel.PropertyNoValueSnak',
116116
'wikibase.datamodel.SiteLink',
117117
'wikibase.datamodel.SiteLinkSet',
@@ -120,7 +120,7 @@
120120
'wikibase.datamodel.StatementGroupSet',
121121
'wikibase.datamodel.StatementList',
122122
'wikibase.datamodel.Term',
123-
'wikibase.datamodel.TermSet',
123+
'wikibase.datamodel.TermMap',
124124
),
125125
),
126126

@@ -151,13 +151,13 @@
151151
),
152152
),
153153

154-
'wikibase.datamodel.MultiTermSet.tests' => $moduleTemplate + array(
154+
'wikibase.datamodel.MultiTermMap.tests' => $moduleTemplate + array(
155155
'scripts' => array(
156-
'MultiTermSet.tests.js',
156+
'MultiTermMap.tests.js',
157157
),
158158
'dependencies' => array(
159159
'wikibase.datamodel.MultiTerm',
160-
'wikibase.datamodel.MultiTermSet',
160+
'wikibase.datamodel.MultiTermMap',
161161
),
162162
),
163163

@@ -169,15 +169,15 @@
169169
'wikibase.datamodel.Claim',
170170
'wikibase.datamodel.Fingerprint',
171171
'wikibase.datamodel.MultiTerm',
172-
'wikibase.datamodel.MultiTermSet',
172+
'wikibase.datamodel.MultiTermMap',
173173
'wikibase.datamodel.Property',
174174
'wikibase.datamodel.PropertyNoValueSnak',
175175
'wikibase.datamodel.Statement',
176176
'wikibase.datamodel.StatementGroup',
177177
'wikibase.datamodel.StatementGroupSet',
178178
'wikibase.datamodel.StatementList',
179179
'wikibase.datamodel.Term',
180-
'wikibase.datamodel.TermSet',
180+
'wikibase.datamodel.TermMap',
181181
),
182182
),
183183

@@ -316,13 +316,13 @@
316316
),
317317
),
318318

319-
'wikibase.datamodel.TermSet.tests' => $moduleTemplate + array(
319+
'wikibase.datamodel.TermMap.tests' => $moduleTemplate + array(
320320
'scripts' => array(
321-
'TermSet.tests.js',
321+
'TermMap.tests.js',
322322
),
323323
'dependencies' => array(
324324
'wikibase.datamodel.Term',
325-
'wikibase.datamodel.TermSet',
325+
'wikibase.datamodel.TermMap',
326326
),
327327
),
328328

src/Fingerprint.js

Lines changed: 54 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,21 @@
1010
* @constructor
1111
* @since 1.0
1212
*
13-
* @param {wikibase.datamodel.TermSet|null} [labels]
14-
* @param {wikibase.datamodel.TermSet|null} [descriptions]
15-
* @param {wikibase.datamodel.MultiTermSet|null} [aliases]
13+
* @param {wikibase.datamodel.TermMap|null} [labels]
14+
* @param {wikibase.datamodel.TermMap|null} [descriptions]
15+
* @param {wikibase.datamodel.MultiTermMap|null} [aliases]
1616
*/
1717
var SELF
1818
= wb.datamodel.Fingerprint
1919
= function WbDataModelFingerprint( labels, descriptions, aliases ) {
20-
labels = labels || new wb.datamodel.TermSet();
21-
descriptions = descriptions || new wb.datamodel.TermSet();
22-
aliases = aliases || new wb.datamodel.MultiTermSet();
20+
labels = labels || new wb.datamodel.TermMap();
21+
descriptions = descriptions || new wb.datamodel.TermMap();
22+
aliases = aliases || new wb.datamodel.MultiTermMap();
2323

2424
if(
25-
!( labels instanceof wb.datamodel.TermSet )
26-
|| !( descriptions instanceof wb.datamodel.TermSet )
27-
|| !( aliases instanceof wb.datamodel.MultiTermSet )
25+
!( labels instanceof wb.datamodel.TermMap )
26+
|| !( descriptions instanceof wb.datamodel.TermMap )
27+
|| !( aliases instanceof wb.datamodel.MultiTermMap )
2828
) {
2929
throw new Error( 'Required parameter(s) not specified or not defined properly' );
3030
}
@@ -36,22 +36,22 @@ var SELF
3636

3737
$.extend( SELF.prototype, {
3838
/**
39-
* @type {wikibase.datamodel.TermSet}
39+
* @type {wikibase.datamodel.TermMap}
4040
*/
4141
_labels: null,
4242

4343
/**
44-
* @type {wikibase.datamodel.TermSet}
44+
* @type {wikibase.datamodel.TermMap}
4545
*/
4646
_descriptions: null,
4747

4848
/**
49-
* @type {wikibase.datamodel.MultiTermSet}
49+
* @type {wikibase.datamodel.MultiTermMap}
5050
*/
5151
_aliases: null,
5252

5353
/**
54-
* @return {wikibase.datamodel.TermSet}
54+
* @return {wikibase.datamodel.TermMap}
5555
*/
5656
getLabels: function() {
5757
return this._labels;
@@ -66,11 +66,12 @@ $.extend( SELF.prototype, {
6666
},
6767

6868
/**
69+
* @param {string} languageCode
6970
* @param {wikibase.datamodel.Term} label
7071
* @return {boolean}
7172
*/
72-
hasLabel: function( label ) {
73-
return this._labels.hasItem( label );
73+
hasLabel: function( languageCode, label ) {
74+
return this._labels.hasItem( languageCode, label );
7475
},
7576

7677
/**
@@ -82,17 +83,19 @@ $.extend( SELF.prototype, {
8283
},
8384

8485
/**
86+
* @param {string} languageCode
8587
* @param {wikibase.datamodel.Term} term
8688
*/
87-
setLabel: function( term ) {
88-
this._labels.setItem( term );
89+
setLabel: function( languageCode, term ) {
90+
this._labels.setItem( languageCode, term );
8991
},
9092

9193
/**
94+
* @param {string} languageCode
9295
* @param {wikibase.datamodel.Term} label
9396
*/
94-
removeLabel: function( label ) {
95-
this._labels.removeItem( label );
97+
removeLabel: function( languageCode, label ) {
98+
this._labels.removeItem( languageCode, label );
9699
},
97100

98101
/**
@@ -103,7 +106,7 @@ $.extend( SELF.prototype, {
103106
},
104107

105108
/**
106-
* @return {wikibase.datamodel.TermSet}
109+
* @return {wikibase.datamodel.TermMap}
107110
*/
108111
getDescriptions: function() {
109112
return this._descriptions;
@@ -118,11 +121,12 @@ $.extend( SELF.prototype, {
118121
},
119122

120123
/**
124+
* @param {string} languageCode
121125
* @param {wikibase.datamodel.Term} description
122126
* @return {boolean}
123127
*/
124-
hasDescription: function( description ) {
125-
return this._descriptions.hasItem( description );
128+
hasDescription: function( languageCode, description ) {
129+
return this._descriptions.hasItem( languageCode, description );
126130
},
127131

128132
/**
@@ -134,17 +138,19 @@ $.extend( SELF.prototype, {
134138
},
135139

136140
/**
141+
* @param {string} languageCode
137142
* @param {wikibase.datamodel.Term} term
138143
*/
139-
setDescription: function( term ) {
140-
this._descriptions.setItem( term );
144+
setDescription: function( languageCode, term ) {
145+
this._descriptions.setItem( languageCode, term );
141146
},
142147

143148
/**
149+
* @param {string} languageCode
144150
* @param {wikibase.datamodel.Term} description
145151
*/
146-
removeDescription: function( description ) {
147-
this._descriptions.removeItem( description );
152+
removeDescription: function( languageCode, description ) {
153+
this._descriptions.removeItem( languageCode, description );
148154
},
149155

150156
/**
@@ -155,7 +161,7 @@ $.extend( SELF.prototype, {
155161
},
156162

157163
/**
158-
* @return {wikibase.datamodel.MultiTermSet}
164+
* @return {wikibase.datamodel.MultiTermMap}
159165
*/
160166
getAliases: function() {
161167
return this._aliases;
@@ -170,11 +176,12 @@ $.extend( SELF.prototype, {
170176
},
171177

172178
/**
179+
* @param {string} languageCode
173180
* @param {wikibase.datamodel.MultiTerm} aliases
174181
* @return {boolean}
175182
*/
176-
hasAliases: function( aliases ) {
177-
return this._aliases.hasItem( aliases );
183+
hasAliases: function( languageCode, aliases ) {
184+
return this._aliases.hasItem( languageCode, aliases );
178185
},
179186

180187
/**
@@ -186,24 +193,35 @@ $.extend( SELF.prototype, {
186193
},
187194

188195
/**
189-
* @param wikibase.datamodel.MultiTerm|wikibase.datamodel.MultiTermSet} aliases
196+
* @param {string} [languageCode]
197+
* @param {wikibase.datamodel.MultiTerm|wikibase.datamodel.MultiTermMap} aliases
190198
*/
191-
setAliases: function( aliases ) {
199+
setAliases: function( languageCode, aliases ) {
200+
if( typeof languageCode !== 'string' ) {
201+
aliases = languageCode;
202+
languageCode = undefined;
203+
}
204+
192205
if( aliases instanceof wb.datamodel.MultiTerm ) {
193-
this._aliases.setItem( aliases );
194-
} else if( aliases instanceof wb.datamodel.MultiTermSet ) {
206+
if( !languageCode ) {
207+
throw new Error( 'Language code the wb.datamodel.MultiTerm object should be set '
208+
+ 'for needs to be specified' );
209+
}
210+
this._aliases.setItem( languageCode, aliases );
211+
} else if( aliases instanceof wb.datamodel.MultiTermMap ) {
195212
this._aliases = aliases;
196213
} else {
197214
throw new Error( 'Aliases need to be specified as wb.datamodel.MultiTerm or '
198-
+ 'wb.datamodel.MultiTermSet instance' );
215+
+ 'wb.datamodel.MultiTermMap instance' );
199216
}
200217
},
201218

202219
/**
220+
* @param {string} languageCode
203221
* @param {wikibase.datamodel.MultiTerm} aliases
204222
*/
205-
removeAliases: function( aliases ) {
206-
this._aliases.removeItem( aliases );
223+
removeAliases: function( languageCode, aliases ) {
224+
this._aliases.removeItem( languageCode, aliases );
207225
},
208226

209227
/**

0 commit comments

Comments
 (0)