@dolittle/sdk.artifacts
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
34 lines • 2.33 kB
JavaScript
;
// Copyright (c) Dolittle. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
Object.defineProperty(exports, "__esModule", { value: true });
exports.Artifacts = void 0;
const Artifact_1 = require("./Artifact");
const TypeMap_1 = require("./Mappings/TypeMap");
/**
* Represents an implementation of {@link IArtifacts}.
* @template TArtifact The artifact type to map to a type.
* @template TId The id type of the artifact.
*/
class Artifacts extends TypeMap_1.TypeMap {
/**
* Initialises a new instance of the {@link Artifacts} class.
* @param {Constructor} artifactType - The type of the artifact.
*/
constructor(artifactType) {
super(artifactType, artifact => [artifact.id.value.toString(), artifact.generation.value], 2);
}
/** @inheritdoc */
resolveFrom(object, input) {
if ((0, Artifact_1.isArtifact)(input)) {
return super.resolveFrom(object, input);
}
if (input !== undefined) {
const artifact = this.createArtifactFrom(input);
return super.resolveFrom(object, artifact);
}
return super.resolveFrom(object);
}
}
exports.Artifacts = Artifacts;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJ0aWZhY3RzLmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiQXJ0aWZhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQ0FBK0M7QUFDL0MscUdBQXFHOzs7QUFNckcseUNBQWtEO0FBRWxELGdEQUE2QztBQUU3Qzs7OztHQUlHO0FBQ0gsTUFBc0IsU0FBZ0YsU0FBUSxpQkFBb0M7SUFDOUk7OztPQUdHO0lBQ0gsWUFDSSxZQUFvQztRQUVwQyxLQUFLLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsV0FBVyxDQUFDLE1BQVcsRUFBRSxLQUFvQztRQUN6RCxJQUFJLElBQUEscUJBQVUsRUFBQyxLQUFLLENBQUMsRUFBRTtZQUNuQixPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNDO1FBRUQsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRCxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzlDO1FBRUQsT0FBTyxLQUFLLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FPSjtBQTlCRCw4QkE4QkMifQ==