UNPKG

@orbit/jsonapi

Version:

JSON:API support for Orbit.

49 lines 8.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JSONAPIBaseSerializer = void 0; const serializers_1 = require("@orbit/serializers"); const jsonapi_serializers_1 = require("./jsonapi-serializers"); class JSONAPIBaseSerializer extends serializers_1.BaseSerializer { constructor(settings) { const { serializerFor, serializationOptions, deserializationOptions, schema, keyMap } = settings; super({ serializerFor, serializationOptions, deserializationOptions }); this._schema = schema; this._keyMap = keyMap; } get schema() { return this._schema; } get keyMap() { return this._keyMap; } get resourceSerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.Resource); } get documentSerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.ResourceDocument); } get identitySerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.ResourceIdentity); } get typeSerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.ResourceType); } get fieldSerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.ResourceField); } get atomicOperationSerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.ResourceAtomicOperation); } get atomicOperationsDocumentSerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.ResourceAtomicOperationsDocument); } get atomicResultsDocumentSerializer() { return this.serializerFor(jsonapi_serializers_1.JSONAPISerializers.ResourceAtomicResultsDocument); } } exports.JSONAPIBaseSerializer = JSONAPIBaseSerializer; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbmFwaS1iYXNlLXNlcmlhbGl6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VyaWFsaXplcnMvanNvbmFwaS1iYXNlLXNlcmlhbGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0RBSTRCO0FBRzVCLCtEQUEyRDtBQU8zRCxNQUFzQixxQkFLcEIsU0FBUSw0QkFLVDtJQUtDLFlBQVksUUFNWDtRQUNDLE1BQU0sRUFDSixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0QixNQUFNLEVBQ04sTUFBTSxFQUNQLEdBQUcsUUFBUSxDQUFDO1FBQ2IsS0FBSyxDQUFDO1lBQ0osYUFBYTtZQUNiLG9CQUFvQjtZQUNwQixzQkFBc0I7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFjLGtCQUFrQjtRQUM5QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQ3ZCLHdDQUFrQixDQUFDLFFBQVEsQ0FDQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFjLGtCQUFrQjtRQUM5QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQ3ZCLHdDQUFrQixDQUFDLGdCQUFnQixDQUNQLENBQUM7SUFDakMsQ0FBQztJQUVELElBQWMsa0JBQWtCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FDdkIsd0NBQWtCLENBQUMsZ0JBQWdCLENBQ0MsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBYyxjQUFjO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FDdkIsd0NBQWtCLENBQUMsWUFBWSxDQUNaLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQWMsZUFBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQ3ZCLHdDQUFrQixDQUFDLGFBQWEsQ0FDQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFjLHlCQUF5QjtRQUNyQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQ3ZCLHdDQUFrQixDQUFDLHVCQUF1QixDQUNQLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQWMsa0NBQWtDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FDdkIsd0NBQWtCLENBQUMsZ0NBQWdDLENBQ1AsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBYywrQkFBK0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUN2Qix3Q0FBa0IsQ0FBQyw2QkFBNkIsQ0FDUCxDQUFDO0lBQzlDLENBQUM7Q0FDRjtBQTdGRCxzREE2RkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWNvcmRTY2hlbWEsIFJlY29yZEtleU1hcCB9IGZyb20gJ0BvcmJpdC9yZWNvcmRzJztcbmltcG9ydCB7XG4gIEJhc2VTZXJpYWxpemVyLFxuICBTZXJpYWxpemVyRm9yRm4sXG4gIFN0cmluZ1NlcmlhbGl6ZXJcbn0gZnJvbSAnQG9yYml0L3NlcmlhbGl6ZXJzJztcbmltcG9ydCB7IEpTT05BUElSZXNvdXJjZUlkZW50aXR5U2VyaWFsaXplciB9IGZyb20gJy4vanNvbmFwaS1yZXNvdXJjZS1pZGVudGl0eS1zZXJpYWxpemVyJztcbmltcG9ydCB7IEpTT05BUElSZXNvdXJjZVNlcmlhbGl6ZXIgfSBmcm9tICcuL2pzb25hcGktcmVzb3VyY2Utc2VyaWFsaXplcic7XG5pbXBvcnQgeyBKU09OQVBJU2VyaWFsaXplcnMgfSBmcm9tICcuL2pzb25hcGktc2VyaWFsaXplcnMnO1xuaW1wb3J0IHsgSlNPTkFQSUF0b21pY09wZXJhdGlvblNlcmlhbGl6ZXIgfSBmcm9tICcuL2pzb25hcGktYXRvbWljLW9wZXJhdGlvbi1zZXJpYWxpemVyJztcbmltcG9ydCB7IEpTT05BUElSZXNvdXJjZUZpZWxkU2VyaWFsaXplciB9IGZyb20gJy4vanNvbmFwaS1yZXNvdXJjZS1maWVsZC1zZXJpYWxpemVyJztcbmltcG9ydCB7IEpTT05BUElBdG9taWNPcGVyYXRpb25zRG9jdW1lbnRTZXJpYWxpemVyIH0gZnJvbSAnLi9qc29uYXBpLWF0b21pYy1vcGVyYXRpb25zLWRvY3VtZW50LXNlcmlhbGl6ZXInO1xuaW1wb3J0IHsgSlNPTkFQSUF0b21pY1Jlc3VsdHNEb2N1bWVudFNlcmlhbGl6ZXIgfSBmcm9tICcuL2pzb25hcGktYXRvbWljLXJlc3VsdHMtZG9jdW1lbnQtc2VyaWFsaXplcic7XG5pbXBvcnQgeyBKU09OQVBJRG9jdW1lbnRTZXJpYWxpemVyIH0gZnJvbSAnLi9qc29uYXBpLWRvY3VtZW50LXNlcmlhbGl6ZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSlNPTkFQSUJhc2VTZXJpYWxpemVyPFxuICBGcm9tLFxuICBUbyxcbiAgU2VyaWFsaXphdGlvbk9wdGlvbnMsXG4gIERlc2VyaWFsaXphdGlvbk9wdGlvbnNcbj4gZXh0ZW5kcyBCYXNlU2VyaWFsaXplcjxcbiAgRnJvbSxcbiAgVG8sXG4gIFNlcmlhbGl6YXRpb25PcHRpb25zLFxuICBEZXNlcmlhbGl6YXRpb25PcHRpb25zXG4+IHtcbiAgc2VyaWFsaXplckZvciE6IFNlcmlhbGl6ZXJGb3JGbjtcbiAgcHJvdGVjdGVkIF9zY2hlbWE6IFJlY29yZFNjaGVtYTtcbiAgcHJvdGVjdGVkIF9rZXlNYXA/OiBSZWNvcmRLZXlNYXA7XG5cbiAgY29uc3RydWN0b3Ioc2V0dGluZ3M6IHtcbiAgICBzZXJpYWxpemVyRm9yOiBTZXJpYWxpemVyRm9yRm47XG4gICAgc2VyaWFsaXphdGlvbk9wdGlvbnM/OiBTZXJpYWxpemF0aW9uT3B0aW9ucztcbiAgICBkZXNlcmlhbGl6YXRpb25PcHRpb25zPzogRGVzZXJpYWxpemF0aW9uT3B0aW9ucztcbiAgICBzY2hlbWE6IFJlY29yZFNjaGVtYTtcbiAgICBrZXlNYXA/OiBSZWNvcmRLZXlNYXA7XG4gIH0pIHtcbiAgICBjb25zdCB7XG4gICAgICBzZXJpYWxpemVyRm9yLFxuICAgICAgc2VyaWFsaXphdGlvbk9wdGlvbnMsXG4gICAgICBkZXNlcmlhbGl6YXRpb25PcHRpb25zLFxuICAgICAgc2NoZW1hLFxuICAgICAga2V5TWFwXG4gICAgfSA9IHNldHRpbmdzO1xuICAgIHN1cGVyKHtcbiAgICAgIHNlcmlhbGl6ZXJGb3IsXG4gICAgICBzZXJpYWxpemF0aW9uT3B0aW9ucyxcbiAgICAgIGRlc2VyaWFsaXphdGlvbk9wdGlvbnNcbiAgICB9KTtcbiAgICB0aGlzLl9zY2hlbWEgPSBzY2hlbWE7XG4gICAgdGhpcy5fa2V5TWFwID0ga2V5TWFwO1xuICB9XG5cbiAgZ2V0IHNjaGVtYSgpOiBSZWNvcmRTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLl9zY2hlbWE7XG4gIH1cblxuICBnZXQga2V5TWFwKCk6IFJlY29yZEtleU1hcCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2tleU1hcDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgcmVzb3VyY2VTZXJpYWxpemVyKCk6IEpTT05BUElSZXNvdXJjZVNlcmlhbGl6ZXIge1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZXJGb3IoXG4gICAgICBKU09OQVBJU2VyaWFsaXplcnMuUmVzb3VyY2VcbiAgICApIGFzIEpTT05BUElSZXNvdXJjZVNlcmlhbGl6ZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRvY3VtZW50U2VyaWFsaXplcigpOiBKU09OQVBJRG9jdW1lbnRTZXJpYWxpemVyIHtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVyRm9yKFxuICAgICAgSlNPTkFQSVNlcmlhbGl6ZXJzLlJlc291cmNlRG9jdW1lbnRcbiAgICApIGFzIEpTT05BUElEb2N1bWVudFNlcmlhbGl6ZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlkZW50aXR5U2VyaWFsaXplcigpOiBKU09OQVBJUmVzb3VyY2VJZGVudGl0eVNlcmlhbGl6ZXIge1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZXJGb3IoXG4gICAgICBKU09OQVBJU2VyaWFsaXplcnMuUmVzb3VyY2VJZGVudGl0eVxuICAgICkgYXMgSlNPTkFQSVJlc291cmNlSWRlbnRpdHlTZXJpYWxpemVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB0eXBlU2VyaWFsaXplcigpOiBTdHJpbmdTZXJpYWxpemVyIHtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVyRm9yKFxuICAgICAgSlNPTkFQSVNlcmlhbGl6ZXJzLlJlc291cmNlVHlwZVxuICAgICkgYXMgU3RyaW5nU2VyaWFsaXplcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZmllbGRTZXJpYWxpemVyKCk6IEpTT05BUElSZXNvdXJjZUZpZWxkU2VyaWFsaXplciB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplckZvcihcbiAgICAgIEpTT05BUElTZXJpYWxpemVycy5SZXNvdXJjZUZpZWxkXG4gICAgKSBhcyBKU09OQVBJUmVzb3VyY2VGaWVsZFNlcmlhbGl6ZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGF0b21pY09wZXJhdGlvblNlcmlhbGl6ZXIoKTogSlNPTkFQSUF0b21pY09wZXJhdGlvblNlcmlhbGl6ZXIge1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZXJGb3IoXG4gICAgICBKU09OQVBJU2VyaWFsaXplcnMuUmVzb3VyY2VBdG9taWNPcGVyYXRpb25cbiAgICApIGFzIEpTT05BUElBdG9taWNPcGVyYXRpb25TZXJpYWxpemVyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhdG9taWNPcGVyYXRpb25zRG9jdW1lbnRTZXJpYWxpemVyKCk6IEpTT05BUElBdG9taWNPcGVyYXRpb25zRG9jdW1lbnRTZXJpYWxpemVyIHtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemVyRm9yKFxuICAgICAgSlNPTkFQSVNlcmlhbGl6ZXJzLlJlc291cmNlQXRvbWljT3BlcmF0aW9uc0RvY3VtZW50XG4gICAgKSBhcyBKU09OQVBJQXRvbWljT3BlcmF0aW9uc0RvY3VtZW50U2VyaWFsaXplcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgYXRvbWljUmVzdWx0c0RvY3VtZW50U2VyaWFsaXplcigpOiBKU09OQVBJQXRvbWljUmVzdWx0c0RvY3VtZW50U2VyaWFsaXplciB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplckZvcihcbiAgICAgIEpTT05BUElTZXJpYWxpemVycy5SZXNvdXJjZUF0b21pY1Jlc3VsdHNEb2N1bWVudFxuICAgICkgYXMgSlNPTkFQSUF0b21pY1Jlc3VsdHNEb2N1bWVudFNlcmlhbGl6ZXI7XG4gIH1cbn1cbiJdfQ==