"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetServiceManifest = void 0;
exports.getServiceManifest = getServiceManifest;
const deepEqual_1 = require("./deepEqual");
const Watchable_1 = require("./Watchable");
class GetServiceManifest extends Watchable_1.Watchable {
    constructor(effects, opts, options) {
        super(effects, options);
        this.opts = opts;
        this.label = 'GetServiceManifest';
    }
    fetch(callback) {
        return this.effects.getServiceManifest({ ...this.opts, callback });
    }
}
exports.GetServiceManifest = GetServiceManifest;
function getServiceManifest(effects, packageId, map, eq) {
    return new GetServiceManifest(effects, { packageId }, {
        map: map ?? ((a) => a),
        eq: eq ?? ((a, b) => (0, deepEqual_1.deepEqual)(a, b)),
    });
}
//# sourceMappingURL=GetServiceManifest.js.map