r2-shared-js
Version:
Readium 2 'shared' for NodeJS (TypeScript)
32 lines • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonSubjectConverter = void 0;
const serializable_1 = require("r2-lcp-js/dist/es7-es2016/src/serializable");
const metadata_subject_1 = require("./metadata-subject");
class JsonSubjectConverter {
serialize(s) {
if (s.Name &&
!s.SortAs &&
!s.Scheme &&
!s.Code &&
(!s.Links || !s.Links.length)) {
if (typeof s.Name === "string") {
return s.Name;
}
}
return (0, serializable_1.TaJsonSerialize)(s);
}
deserialize(value) {
if (typeof value === "string") {
const s = new metadata_subject_1.Subject();
s.Name = value;
return s;
}
return (0, serializable_1.TaJsonDeserialize)(value, metadata_subject_1.Subject);
}
collapseArrayWithSingleItem() {
return true;
}
}
exports.JsonSubjectConverter = JsonSubjectConverter;
//# sourceMappingURL=metadata-subject-json-converter.js.map