Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
// (c) Copyright 2023 Supertenant Ltd. - all rights reserved.
// See LICENSE file in project root for license terms.
"use strict";const shimmer=require("shimmer"),requireHook=require("../../../util/requireHook");let hasBeenPatched=!1;function patchClsHooked(clsHooked){shimmer.wrap(clsHooked,"getNamespace",shimGetOrCreateNamespace.bind(null,clsHooked)),shimmer.wrap(clsHooked,"createNamespace",shimGetOrCreateNamespace.bind(null,clsHooked))}function shimGetOrCreateNamespace(clsHooked,originalGetOrCreateNamespace){return function(){var potentialNamespace,namespacePrototype;return hasBeenPatched?originalGetOrCreateNamespace.apply(this,arguments):((potentialNamespace=originalGetOrCreateNamespace.apply(this,arguments))&&potentialNamespace.constructor.name&&"Namespace"===potentialNamespace.constructor.name&&(namespacePrototype=Object.getPrototypeOf(potentialNamespace),shimmer.wrap(namespacePrototype,"bind",shimBind),hasBeenPatched=!0),potentialNamespace)}}function shimBind(originalBind){return function(){const clsBind=originalBind.apply(this,arguments),originalFunction=arguments[0];return"function"==typeof originalFunction&&Object.keys(originalFunction).forEach(k=>{clsBind[k]=originalFunction[k]}),clsBind}}exports.init=()=>{requireHook.onModuleLoad("cls-hooked",patchClsHooked)},exports.activate=()=>{},exports.deactivate=()=>{};