UNPKG

@atomist/sdm

Version:

Atomist Software Delivery Machine SDK

52 lines 1.77 kB
"use strict"; /* * Copyright © 2018 Atomist, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.registerRegistrable = exports.registrableManager = exports.resetRegistrableManager = void 0; class RegistrableManager { constructor() { this.registerables = []; } addRegisterable(registrable) { if (this.sdm) { registrable.register(this.sdm); } else { this.registerables.push(registrable); } } register(sdm) { this.registerables.forEach(r => { r.register(sdm); }); this.registerables.splice(0, this.registerables.length); this.sdm = sdm; } } global.__registrable = new RegistrableManager(); function resetRegistrableManager() { global.__registrable = new RegistrableManager(); } exports.resetRegistrableManager = resetRegistrableManager; function registrableManager() { return global.__registrable; } exports.registrableManager = registrableManager; function registerRegistrable(registrable) { registrableManager().addRegisterable(registrable); } exports.registerRegistrable = registerRegistrable; //# sourceMappingURL=Registerable.js.map