Skip to content

Commit 13ec297

Browse files
authored
Merge pull request #44 from wmde/snakHash
Add support for serialization of snak hashes
2 parents fbc9f67 + 9e4bb6b commit 13ec297

File tree

4 files changed

+9
-4
lines changed

4 files changed

+9
-4
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ version 2.0 of this package:
2626
* Updated the MediaWiki entry point to use the extension.json format.
2727
* Added code sniffers for JavaScript as well as PHP.
2828
* Dropped compatibility with PHP 5.3.
29+
* Added support for deserializing snak hashes.
2930

3031
### 2.0.8 (2016-09-09)
3132

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
},
1919
"require": {
2020
"data-values/javascript": "~0.8.0|~0.7.0",
21-
"wikibase/data-model-javascript": "~3.0.0|~2.0.0|~1.0.0"
21+
"wikibase/data-model-javascript": "^3.1.0"
2222
},
2323
"require-dev": {
2424
"wikibase/wikibase-codesniffer": "^0.1.0"

src/Deserializers/SnakDeserializer.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ MODULE.SnakDeserializer = util.inherit( 'WbSnakDeserializer', PARENT, {
2424
*/
2525
deserialize: function( serialization ) {
2626
if( serialization.snaktype === 'novalue' ) {
27-
return new wb.datamodel.PropertyNoValueSnak( serialization.property );
27+
return new wb.datamodel.PropertyNoValueSnak( serialization.property, serialization.hash );
2828
} else if( serialization.snaktype === 'somevalue' ) {
29-
return new wb.datamodel.PropertySomeValueSnak( serialization.property );
29+
return new wb.datamodel.PropertySomeValueSnak( serialization.property, serialization.hash );
3030
} else if( serialization.snaktype === 'value' ) {
3131
var dataValue = null,
3232
type = serialization.datavalue.type,
@@ -38,7 +38,7 @@ MODULE.SnakDeserializer = util.inherit( 'WbSnakDeserializer', PARENT, {
3838
dataValue = new dv.UnDeserializableValue( value, type, error.message );
3939
}
4040

41-
return new wb.datamodel.PropertyValueSnak( serialization.property, dataValue );
41+
return new wb.datamodel.PropertyValueSnak( serialization.property, dataValue, serialization.hash );
4242
}
4343

4444
throw new Error( 'Incompatible snak type' );

src/Serializers/SnakSerializer.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,10 @@ MODULE.SnakSerializer = util.inherit( 'WbSnakSerializer', PARENT, {
3232
property: snak.getPropertyId()
3333
};
3434

35+
if( snak.getHash() !== null ) {
36+
serialization.hash = snak.getHash();
37+
}
38+
3539
if( snak instanceof wikibase.datamodel.PropertyValueSnak ) {
3640
var dataValue = snak.getValue();
3741

0 commit comments

Comments
 (0)