UNPKG

@orbit/jsonapi

Version:

JSON:API support for Orbit.

50 lines 7.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JSONAPIAtomicOperationsDocumentSerializer = void 0; const jsonapi_base_serializer_1 = require("./jsonapi-base-serializer"); class JSONAPIAtomicOperationsDocumentSerializer extends jsonapi_base_serializer_1.JSONAPIBaseSerializer { serialize(document) { const result = { 'atomic:operations': this.serializeAtomicOperations(document.operations) }; this.serializeLinks(document, result); this.serializeMeta(document, result); return result; } serializeAtomicOperations(operations) { return operations.map((operation) => this.serializeAtomicOperation(operation)); } serializeAtomicOperation(operation) { return this.atomicOperationSerializer.serialize(operation); } /* eslint-disable @typescript-eslint/no-unused-vars */ serializeLinks(document, resDocument) { } serializeMeta(document, resDocument) { } /* eslint-enable @typescript-eslint/no-unused-vars */ deserialize(document) { const result = { operations: this.deserializeAtomicOperations(document['atomic:operations']) }; this.deserializeLinks(document, result); this.deserializeMeta(document, result); return result; } deserializeAtomicOperations(operations) { return operations.map((operation) => this.deserializeAtomicOperation(operation)); } deserializeAtomicOperation(operation) { return this.atomicOperationSerializer.deserialize(operation); } deserializeLinks(resDocument, document) { if (resDocument.links) { document.links = resDocument.links; } } deserializeMeta(resDocument, document) { if (resDocument.meta) { document.meta = resDocument.meta; } } } exports.JSONAPIAtomicOperationsDocumentSerializer = JSONAPIAtomicOperationsDocumentSerializer; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbmFwaS1hdG9taWMtb3BlcmF0aW9ucy1kb2N1bWVudC1zZXJpYWxpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcmlhbGl6ZXJzL2pzb25hcGktYXRvbWljLW9wZXJhdGlvbnMtZG9jdW1lbnQtc2VyaWFsaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSx1RUFBa0U7QUFFbEUsTUFBYSx5Q0FBMEMsU0FBUSwrQ0FLOUQ7SUFDQyxTQUFTLENBQ1AsUUFBa0M7UUFFbEMsTUFBTSxNQUFNLEdBQXFDO1lBQy9DLG1CQUFtQixFQUFFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1NBQ3pFLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUVyQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRVMseUJBQXlCLENBQ2pDLFVBQTZCO1FBRTdCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQ2xDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FDekMsQ0FBQztJQUNKLENBQUM7SUFFUyx3QkFBd0IsQ0FDaEMsU0FBMEI7UUFFMUIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxzREFBc0Q7SUFDNUMsY0FBYyxDQUN0QixRQUFrQyxFQUNsQyxXQUE2QyxJQUN0QyxDQUFDO0lBRUEsYUFBYSxDQUNyQixRQUFrQyxFQUNsQyxXQUE2QyxJQUN0QyxDQUFDO0lBQ1YscURBQXFEO0lBRXJELFdBQVcsQ0FDVCxRQUEwQztRQUUxQyxNQUFNLE1BQU0sR0FBNkI7WUFDdkMsVUFBVSxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FDMUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQzlCO1NBQ0YsQ0FBQztRQUVGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFdkMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELDJCQUEyQixDQUN6QixVQUFxQztRQUVyQyxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUNsQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQzNDLENBQUM7SUFDSixDQUFDO0lBRUQsMEJBQTBCLENBQ3hCLFNBQWtDO1FBRWxDLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRVMsZ0JBQWdCLENBQ3hCLFdBQTZDLEVBQzdDLFFBQWtDO1FBRWxDLElBQUksV0FBVyxDQUFDLEtBQUssRUFBRTtZQUNyQixRQUFRLENBQUMsS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7U0FDcEM7SUFDSCxDQUFDO0lBRVMsZUFBZSxDQUN2QixXQUE2QyxFQUM3QyxRQUFrQztRQUVsQyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUU7WUFDcEIsUUFBUSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztDQUNGO0FBM0ZELDhGQTJGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlY29yZE9wZXJhdGlvbiB9IGZyb20gJ0BvcmJpdC9yZWNvcmRzJztcbmltcG9ydCB7XG4gIFJlc291cmNlQXRvbWljT3BlcmF0aW9uLFxuICBSZWNvcmRPcGVyYXRpb25zRG9jdW1lbnQsXG4gIFJlc291cmNlQXRvbWljT3BlcmF0aW9uc0RvY3VtZW50XG59IGZyb20gJy4uL3Jlc291cmNlLW9wZXJhdGlvbnMnO1xuaW1wb3J0IHsgSlNPTkFQSUJhc2VTZXJpYWxpemVyIH0gZnJvbSAnLi9qc29uYXBpLWJhc2Utc2VyaWFsaXplcic7XG5cbmV4cG9ydCBjbGFzcyBKU09OQVBJQXRvbWljT3BlcmF0aW9uc0RvY3VtZW50U2VyaWFsaXplciBleHRlbmRzIEpTT05BUElCYXNlU2VyaWFsaXplcjxcbiAgUmVjb3JkT3BlcmF0aW9uc0RvY3VtZW50LFxuICBSZXNvdXJjZUF0b21pY09wZXJhdGlvbnNEb2N1bWVudCxcbiAgdW5rbm93bixcbiAgdW5rbm93blxuPiB7XG4gIHNlcmlhbGl6ZShcbiAgICBkb2N1bWVudDogUmVjb3JkT3BlcmF0aW9uc0RvY3VtZW50XG4gICk6IFJlc291cmNlQXRvbWljT3BlcmF0aW9uc0RvY3VtZW50IHtcbiAgICBjb25zdCByZXN1bHQ6IFJlc291cmNlQXRvbWljT3BlcmF0aW9uc0RvY3VtZW50ID0ge1xuICAgICAgJ2F0b21pYzpvcGVyYXRpb25zJzogdGhpcy5zZXJpYWxpemVBdG9taWNPcGVyYXRpb25zKGRvY3VtZW50Lm9wZXJhdGlvbnMpXG4gICAgfTtcblxuICAgIHRoaXMuc2VyaWFsaXplTGlua3MoZG9jdW1lbnQsIHJlc3VsdCk7XG4gICAgdGhpcy5zZXJpYWxpemVNZXRhKGRvY3VtZW50LCByZXN1bHQpO1xuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXJpYWxpemVBdG9taWNPcGVyYXRpb25zKFxuICAgIG9wZXJhdGlvbnM6IFJlY29yZE9wZXJhdGlvbltdXG4gICk6IFJlc291cmNlQXRvbWljT3BlcmF0aW9uW10ge1xuICAgIHJldHVybiBvcGVyYXRpb25zLm1hcCgob3BlcmF0aW9uKSA9PlxuICAgICAgdGhpcy5zZXJpYWxpemVBdG9taWNPcGVyYXRpb24ob3BlcmF0aW9uKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc2VyaWFsaXplQXRvbWljT3BlcmF0aW9uKFxuICAgIG9wZXJhdGlvbjogUmVjb3JkT3BlcmF0aW9uXG4gICk6IFJlc291cmNlQXRvbWljT3BlcmF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5hdG9taWNPcGVyYXRpb25TZXJpYWxpemVyLnNlcmlhbGl6ZShvcGVyYXRpb24pO1xuICB9XG5cbiAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4gIHByb3RlY3RlZCBzZXJpYWxpemVMaW5rcyhcbiAgICBkb2N1bWVudDogUmVjb3JkT3BlcmF0aW9uc0RvY3VtZW50LFxuICAgIHJlc0RvY3VtZW50OiBSZXNvdXJjZUF0b21pY09wZXJhdGlvbnNEb2N1bWVudFxuICApOiB2b2lkIHt9XG5cbiAgcHJvdGVjdGVkIHNlcmlhbGl6ZU1ldGEoXG4gICAgZG9jdW1lbnQ6IFJlY29yZE9wZXJhdGlvbnNEb2N1bWVudCxcbiAgICByZXNEb2N1bWVudDogUmVzb3VyY2VBdG9taWNPcGVyYXRpb25zRG9jdW1lbnRcbiAgKTogdm9pZCB7fVxuICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuXG4gIGRlc2VyaWFsaXplKFxuICAgIGRvY3VtZW50OiBSZXNvdXJjZUF0b21pY09wZXJhdGlvbnNEb2N1bWVudFxuICApOiBSZWNvcmRPcGVyYXRpb25zRG9jdW1lbnQge1xuICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkT3BlcmF0aW9uc0RvY3VtZW50ID0ge1xuICAgICAgb3BlcmF0aW9uczogdGhpcy5kZXNlcmlhbGl6ZUF0b21pY09wZXJhdGlvbnMoXG4gICAgICAgIGRvY3VtZW50WydhdG9taWM6b3BlcmF0aW9ucyddXG4gICAgICApXG4gICAgfTtcblxuICAgIHRoaXMuZGVzZXJpYWxpemVMaW5rcyhkb2N1bWVudCwgcmVzdWx0KTtcbiAgICB0aGlzLmRlc2VyaWFsaXplTWV0YShkb2N1bWVudCwgcmVzdWx0KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBkZXNlcmlhbGl6ZUF0b21pY09wZXJhdGlvbnMoXG4gICAgb3BlcmF0aW9uczogUmVzb3VyY2VBdG9taWNPcGVyYXRpb25bXVxuICApOiBSZWNvcmRPcGVyYXRpb25bXSB7XG4gICAgcmV0dXJuIG9wZXJhdGlvbnMubWFwKChvcGVyYXRpb24pID0+XG4gICAgICB0aGlzLmRlc2VyaWFsaXplQXRvbWljT3BlcmF0aW9uKG9wZXJhdGlvbilcbiAgICApO1xuICB9XG5cbiAgZGVzZXJpYWxpemVBdG9taWNPcGVyYXRpb24oXG4gICAgb3BlcmF0aW9uOiBSZXNvdXJjZUF0b21pY09wZXJhdGlvblxuICApOiBSZWNvcmRPcGVyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmF0b21pY09wZXJhdGlvblNlcmlhbGl6ZXIuZGVzZXJpYWxpemUob3BlcmF0aW9uKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXNlcmlhbGl6ZUxpbmtzKFxuICAgIHJlc0RvY3VtZW50OiBSZXNvdXJjZUF0b21pY09wZXJhdGlvbnNEb2N1bWVudCxcbiAgICBkb2N1bWVudDogUmVjb3JkT3BlcmF0aW9uc0RvY3VtZW50XG4gICk6IHZvaWQge1xuICAgIGlmIChyZXNEb2N1bWVudC5saW5rcykge1xuICAgICAgZG9jdW1lbnQubGlua3MgPSByZXNEb2N1bWVudC5saW5rcztcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVzZXJpYWxpemVNZXRhKFxuICAgIHJlc0RvY3VtZW50OiBSZXNvdXJjZUF0b21pY09wZXJhdGlvbnNEb2N1bWVudCxcbiAgICBkb2N1bWVudDogUmVjb3JkT3BlcmF0aW9uc0RvY3VtZW50XG4gICk6IHZvaWQge1xuICAgIGlmIChyZXNEb2N1bWVudC5tZXRhKSB7XG4gICAgICBkb2N1bWVudC5tZXRhID0gcmVzRG9jdW1lbnQubWV0YTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==