Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fastify-decorators

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fastify-decorators - npm Package Compare versions

Comparing version 3.13.1 to 3.14.0

decorators/helpers/patch-methods.cjs

11

CHANGELOG.md

@@ -8,2 +8,12 @@ # Changelog

## 3.14.0
### Added
- FastifyRequest and FastifyReply injection option (backport #555)
### Fixed
- Undefined when extending from abstract class (#802)
## 3.13.1

@@ -15,3 +25,2 @@

## 3.13.0

@@ -18,0 +27,0 @@

4

decorators/controller.js

@@ -11,2 +11,3 @@ /**

import { injectControllerOptions } from './helpers/inject-controller-options.js';
import { patchMethods } from './helpers/patch-methods.js';
import { ControllerTypeStrategies } from './strategies/controller-type.js';

@@ -22,2 +23,3 @@ function makeConfig(config) {

injectControllerOptions(controller);
patchMethods(controller);
controller[CREATOR].register = async (instance, prefix = '', classLoader = instance[CLASS_LOADER]) => {

@@ -32,2 +34,2 @@ let controllerInstance;

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBS0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0UsU0FBUyxVQUFVLENBQUMsTUFBa0M7SUFDcEQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQUUsTUFBTSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBRTNELE9BQU8sRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUM3RSxDQUFDO0FBUUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxNQUFrQztJQUMzRCxPQUFPLENBQUMsVUFBMkIsRUFBUSxFQUFFO1FBQzNDLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVqRCx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssRUFBRSxRQUF5QixFQUFFLE1BQU0sR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFO1lBQ3BILElBQUksa0JBQWtCLENBQUM7WUFFdkIsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUNyQixLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pCLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQy9GLENBQUMsRUFDRCxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsS0FBSyxFQUFFLENBQzNCLENBQUM7WUFFRixPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5SW5zdGFuY2UgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCB0eXBlIHsgQ29udHJvbGxlckNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBJbmplY3RhYmxlQ2xhc3MgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2luamVjdGFibGUtY2xhc3MuanMnO1xuaW1wb3J0IHsgQ29udHJvbGxlclR5cGUgfSBmcm9tICcuLi9yZWdpc3RyeS9jb250cm9sbGVyLXR5cGUuanMnO1xuaW1wb3J0IHsgQ0xBU1NfTE9BREVSLCBDUkVBVE9SIH0gZnJvbSAnLi4vc3ltYm9scy9pbmRleC5qcyc7XG5pbXBvcnQgeyBpbmplY3RDb250cm9sbGVyT3B0aW9ucyB9IGZyb20gJy4vaGVscGVycy9pbmplY3QtY29udHJvbGxlci1vcHRpb25zLmpzJztcbmltcG9ydCB7IENvbnRyb2xsZXJUeXBlU3RyYXRlZ2llcyB9IGZyb20gJy4vc3RyYXRlZ2llcy9jb250cm9sbGVyLXR5cGUuanMnO1xuXG5mdW5jdGlvbiBtYWtlQ29uZmlnKGNvbmZpZz86IHN0cmluZyB8IENvbnRyb2xsZXJDb25maWcpOiBSZXF1aXJlZDxDb250cm9sbGVyQ29uZmlnPiB7XG4gIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykgY29uZmlnID0geyByb3V0ZTogY29uZmlnIH07XG5cbiAgcmV0dXJuIHsgdHlwZTogQ29udHJvbGxlclR5cGUuU0lOR0xFVE9OLCByb3V0ZTogJy8nLCB0YWdzOiBbXSwgLi4uY29uZmlnIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyByZWdpc3RlciBtZXRob2Qgb24gY29udHJvbGxlciB0byBhbGxvdyBib290c3RyYXAgaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENvbnRyb2xsZXIoKTogQ2xhc3NEZWNvcmF0b3I7XG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlcihyb3V0ZTogc3RyaW5nKTogQ2xhc3NEZWNvcmF0b3I7XG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlcihjb25maWc6IENvbnRyb2xsZXJDb25maWcpOiBDbGFzc0RlY29yYXRvcjtcbmV4cG9ydCBmdW5jdGlvbiBDb250cm9sbGVyKGNvbmZpZz86IHN0cmluZyB8IENvbnRyb2xsZXJDb25maWcpOiB1bmtub3duIHtcbiAgcmV0dXJuIChjb250cm9sbGVyOiBJbmplY3RhYmxlQ2xhc3MpOiB2b2lkID0+IHtcbiAgICBjb25zdCB7IHJvdXRlLCB0eXBlLCB0YWdzIH0gPSBtYWtlQ29uZmlnKGNvbmZpZyk7XG5cbiAgICBpbmplY3RDb250cm9sbGVyT3B0aW9ucyhjb250cm9sbGVyKTtcblxuICAgIGNvbnRyb2xsZXJbQ1JFQVRPUl0ucmVnaXN0ZXIgPSBhc3luYyAoaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSwgcHJlZml4ID0gJycsIGNsYXNzTG9hZGVyID0gaW5zdGFuY2VbQ0xBU1NfTE9BREVSXSkgPT4ge1xuICAgICAgbGV0IGNvbnRyb2xsZXJJbnN0YW5jZTtcblxuICAgICAgYXdhaXQgaW5zdGFuY2UucmVnaXN0ZXIoXG4gICAgICAgIGFzeW5jIChpbnN0YW5jZSkgPT4ge1xuICAgICAgICAgIGNvbnRyb2xsZXJJbnN0YW5jZSA9IENvbnRyb2xsZXJUeXBlU3RyYXRlZ2llc1t0eXBlXShpbnN0YW5jZSwgY29udHJvbGxlciwgY2xhc3NMb2FkZXIsIHRhZ3MpO1xuICAgICAgICB9LFxuICAgICAgICB7IHByZWZpeDogcHJlZml4ICsgcm91dGUgfSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjb250cm9sbGVySW5zdGFuY2U7XG4gICAgfTtcbiAgfTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBS0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTNFLFNBQVMsVUFBVSxDQUFDLE1BQWtDO0lBQ3BELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUTtRQUFFLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUUzRCxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDN0UsQ0FBQztBQVFELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBa0M7SUFDM0QsT0FBTyxDQUFDLFVBQTJCLEVBQVEsRUFBRTtRQUMzQyxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakQsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDcEMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQXlCLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7WUFDcEgsSUFBSSxrQkFBa0IsQ0FBQztZQUV2QixNQUFNLFFBQVEsQ0FBQyxRQUFRLENBQ3JCLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtnQkFDakIsa0JBQWtCLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDL0YsQ0FBQyxFQUNELEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsQ0FDM0IsQ0FBQztZQUVGLE9BQU8sa0JBQWtCLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlJbnN0YW5jZSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7IEluamVjdGFibGVDbGFzcyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5qZWN0YWJsZS1jbGFzcy5qcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyVHlwZSB9IGZyb20gJy4uL3JlZ2lzdHJ5L2NvbnRyb2xsZXItdHlwZS5qcyc7XG5pbXBvcnQgeyBDTEFTU19MT0FERVIsIENSRUFUT1IgfSBmcm9tICcuLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IGluamVjdENvbnRyb2xsZXJPcHRpb25zIH0gZnJvbSAnLi9oZWxwZXJzL2luamVjdC1jb250cm9sbGVyLW9wdGlvbnMuanMnO1xuaW1wb3J0IHsgcGF0Y2hNZXRob2RzIH0gZnJvbSAnLi9oZWxwZXJzL3BhdGNoLW1ldGhvZHMuanMnO1xuaW1wb3J0IHsgQ29udHJvbGxlclR5cGVTdHJhdGVnaWVzIH0gZnJvbSAnLi9zdHJhdGVnaWVzL2NvbnRyb2xsZXItdHlwZS5qcyc7XG5cbmZ1bmN0aW9uIG1ha2VDb25maWcoY29uZmlnPzogc3RyaW5nIHwgQ29udHJvbGxlckNvbmZpZyk6IFJlcXVpcmVkPENvbnRyb2xsZXJDb25maWc+IHtcbiAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSBjb25maWcgPSB7IHJvdXRlOiBjb25maWcgfTtcblxuICByZXR1cm4geyB0eXBlOiBDb250cm9sbGVyVHlwZS5TSU5HTEVUT04sIHJvdXRlOiAnLycsIHRhZ3M6IFtdLCAuLi5jb25maWcgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHJlZ2lzdGVyIG1ldGhvZCBvbiBjb250cm9sbGVyIHRvIGFsbG93IGJvb3RzdHJhcCBpdFxuICovXG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlcigpOiBDbGFzc0RlY29yYXRvcjtcbmV4cG9ydCBmdW5jdGlvbiBDb250cm9sbGVyKHJvdXRlOiBzdHJpbmcpOiBDbGFzc0RlY29yYXRvcjtcbmV4cG9ydCBmdW5jdGlvbiBDb250cm9sbGVyKGNvbmZpZzogQ29udHJvbGxlckNvbmZpZyk6IENsYXNzRGVjb3JhdG9yO1xuZXhwb3J0IGZ1bmN0aW9uIENvbnRyb2xsZXIoY29uZmlnPzogc3RyaW5nIHwgQ29udHJvbGxlckNvbmZpZyk6IHVua25vd24ge1xuICByZXR1cm4gKGNvbnRyb2xsZXI6IEluamVjdGFibGVDbGFzcyk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHsgcm91dGUsIHR5cGUsIHRhZ3MgfSA9IG1ha2VDb25maWcoY29uZmlnKTtcblxuICAgIGluamVjdENvbnRyb2xsZXJPcHRpb25zKGNvbnRyb2xsZXIpO1xuICAgIHBhdGNoTWV0aG9kcyhjb250cm9sbGVyKTtcblxuICAgIGNvbnRyb2xsZXJbQ1JFQVRPUl0ucmVnaXN0ZXIgPSBhc3luYyAoaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSwgcHJlZml4ID0gJycsIGNsYXNzTG9hZGVyID0gaW5zdGFuY2VbQ0xBU1NfTE9BREVSXSkgPT4ge1xuICAgICAgbGV0IGNvbnRyb2xsZXJJbnN0YW5jZTtcblxuICAgICAgYXdhaXQgaW5zdGFuY2UucmVnaXN0ZXIoXG4gICAgICAgIGFzeW5jIChpbnN0YW5jZSkgPT4ge1xuICAgICAgICAgIGNvbnRyb2xsZXJJbnN0YW5jZSA9IENvbnRyb2xsZXJUeXBlU3RyYXRlZ2llc1t0eXBlXShpbnN0YW5jZSwgY29udHJvbGxlciwgY2xhc3NMb2FkZXIsIHRhZ3MpO1xuICAgICAgICB9LFxuICAgICAgICB7IHByZWZpeDogcHJlZml4ICsgcm91dGUgfSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjb250cm9sbGVySW5zdGFuY2U7XG4gICAgfTtcbiAgfTtcbn1cbiJdfQ==

@@ -71,3 +71,3 @@ /**

handlers.forEach((handler) => {
instance[handler.method](handler.url, tags.length > 0 ? { ...handler.options, schema: { tags: tags.map((it) => it.name), ...handler.options.schema } } : handler.options, controllerInstance[handler.handlerMethod].bind(controllerInstance));
instance[handler.method](handler.url, tags.length > 0 ? { ...handler.options, schema: { tags: tags.map((it) => it.name), ...handler.options.schema } } : handler.options, (...args) => controllerInstance[handler.handlerMethod](...args));
});

@@ -83,2 +83,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2RlY29yYXRvcnMvc3RyYXRlZ2llcy9jb250cm9sbGVyLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBS0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFhLE1BQU0sOEJBQThCLENBQUM7QUFFaEYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztBQUVoRSxTQUFTLGFBQWEsQ0FBQyxXQUFpQyxFQUFFLFdBQXdCO0lBQ2hGLE9BQU8sU0FBUyxTQUFTLENBQUMsT0FBdUI7UUFDL0MsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUlEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBOEM7SUFDakYsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsSUFBSTtR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QUFDLENBQUM7QUFDOUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlJbnN0YW5jZSwgRmFzdGlmeVJlcGx5LCBGYXN0aWZ5UmVxdWVzdCwgRmFzdGlmeVNjaGVtYSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgQ2xhc3NMb2FkZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2Jvb3RzdHJhcC1jb25maWcuanMnO1xuaW1wb3J0IHR5cGUgeyBJRXJyb3JIYW5kbGVyLCBJSGFuZGxlciwgSUhvb2ssIEluamVjdGFibGVDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbmRleC5qcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyVHlwZSB9IGZyb20gJy4uLy4uL3JlZ2lzdHJ5L2NvbnRyb2xsZXItdHlwZS5qcyc7XG5pbXBvcnQgeyBFUlJPUl9IQU5ETEVSUywgSEFORExFUlMsIEhPT0tTIH0gZnJvbSAnLi4vLi4vc3ltYm9scy9pbmRleC5qcyc7XG5pbXBvcnQgeyBoYXNFcnJvckhhbmRsZXJzLCBoYXNIYW5kbGVycywgaGFzSG9va3MgfSBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLXByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgY3JlYXRlRXJyb3JzSGFuZGxlciB9IGZyb20gJy4uL2hlbHBlcnMvY3JlYXRlLWVycm9ycy1oYW5kbGVyLmpzJztcbmltcG9ydCB7IGluamVjdFRhZ3NJbnRvU3dhZ2dlciwgVGFnT2JqZWN0IH0gZnJvbSAnLi4vaGVscGVycy9zd2FnZ2VyLWhlbHBlci5qcyc7XG5cbmNvbnN0IGNvbnRyb2xsZXJzQ2FjaGUgPSBuZXcgV2Vha01hcDxGYXN0aWZ5UmVxdWVzdCwgdW5rbm93bj4oKTtcblxuZnVuY3Rpb24gdGFyZ2V0RmFjdG9yeShjb25zdHJ1Y3RvcjogSW5qZWN0YWJsZUNvbnRyb2xsZXIsIGNsYXNzTG9hZGVyOiBDbGFzc0xvYWRlcikge1xuICByZXR1cm4gZnVuY3Rpb24gZ2V0VGFyZ2V0KHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0KSB7XG4gICAgaWYgKGNvbnRyb2xsZXJzQ2FjaGUuaGFzKHJlcXVlc3QpKSByZXR1cm4gY29udHJvbGxlcnNDYWNoZS5nZXQocmVxdWVzdCk7XG4gICAgY29uc3QgdGFyZ2V0ID0gY2xhc3NMb2FkZXIoY29uc3RydWN0b3IpO1xuICAgIGNvbnRyb2xsZXJzQ2FjaGUuc2V0KHJlcXVlc3QsIHRhcmdldCk7XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfTtcbn1cblxudHlwZSBDb250cm9sbGVyRmFjdG9yeSA9IChpbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlLCBjb25zdHJ1Y3RvcjogSW5qZWN0YWJsZUNvbnRyb2xsZXIsIGNsYXNzTG9hZGVyOiBDbGFzc0xvYWRlciwgdGFnczogVGFnT2JqZWN0W10pID0+IHVua25vd247XG5cbi8qKlxuICogVmFyaW91cyBzdHJhdGVnaWVzIHdoaWNoIGNhbiBiZSBhcHBsaWVkIHRvIGNvbnRyb2xsZXJcbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqIFRoZXJlIGFyZSBmZXcgYXZhaWxhYmxlIHN0cmF0ZWdpZXM6XG4gKiAgIFNJTkdMRVRPTiBzdHJhdGVneSBjcmVhdGVzIG9uZSBpbnN0YW5jZSBvZiBjb250cm9sbGVyIHdoaWNoIHdpbGwgaGFuZGxlIGFsbCByZXF1ZXN0c1xuICogICBSRVFVRVNUIHN0cmF0ZWd5IHdpbGwgY3JlYXRlIG5ldyBpbnN0YW5jZSBmb3IgZWFjaCByZXF1ZXN0L2hvb2tcbiAqXG4gKiBCeSBkZWZhdWx0IGNvbnRyb2xsZXJzIHVzZSBTSU5HTEVUT04gc3RyYXRlZ3lcbiAqL1xuZXhwb3J0IGNvbnN0IENvbnRyb2xsZXJUeXBlU3RyYXRlZ2llczogUmVjb3JkPENvbnRyb2xsZXJUeXBlLCBDb250cm9sbGVyRmFjdG9yeT4gPSB7XG4gIFtDb250cm9sbGVyVHlwZS5TSU5HTEVUT05dKGluc3RhbmNlLCBjb25zdHJ1Y3RvciwgY2xhc3NMb2FkZXIsIHRhZ3MpIHtcbiAgICBpZiAodGFncy5sZW5ndGggPiAwKSBpbmplY3RUYWdzSW50b1N3YWdnZXIoaW5zdGFuY2UsIHRhZ3MpO1xuXG4gICAgY29uc3QgY29udHJvbGxlckluc3RhbmNlID0gY2xhc3NMb2FkZXIoY29uc3RydWN0b3IpO1xuXG4gICAgaWYgKGhhc0hhbmRsZXJzKGNvbnN0cnVjdG9yKSkgcmVnaXN0ZXJIYW5kbGVycyhjb25zdHJ1Y3RvcltIQU5ETEVSU10sIGluc3RhbmNlLCBjb250cm9sbGVySW5zdGFuY2UsIHRhZ3MpO1xuICAgIGlmIChoYXNFcnJvckhhbmRsZXJzKGNvbnN0cnVjdG9yKSkgcmVnaXN0ZXJFcnJvckhhbmRsZXJzKGNvbnN0cnVjdG9yW0VSUk9SX0hBTkRMRVJTXSwgaW5zdGFuY2UsIGNvbnRyb2xsZXJJbnN0YW5jZSk7XG4gICAgaWYgKGhhc0hvb2tzKGNvbnN0cnVjdG9yKSkgcmVnaXN0ZXJIb29rcyhjb25zdHJ1Y3RvcltIT09LU10sIGluc3RhbmNlLCBjb250cm9sbGVySW5zdGFuY2UpO1xuXG4gICAgcmV0dXJuIGNvbnRyb2xsZXJJbnN0YW5jZTtcbiAgfSxcblxuICBbQ29udHJvbGxlclR5cGUuUkVRVUVTVF0oaW5zdGFuY2UsIGNvbnN0cnVjdG9yLCBjbGFzc0xvYWRlciwgdGFncykge1xuICAgIGlmICh0YWdzLmxlbmd0aCA+IDApIGluamVjdFRhZ3NJbnRvU3dhZ2dlcihpbnN0YW5jZSwgdGFncyk7XG5cbiAgICBjb25zdCBnZXRUYXJnZXQgPSB0YXJnZXRGYWN0b3J5KGNvbnN0cnVjdG9yLCBjbGFzc0xvYWRlcik7XG5cbiAgICBpZiAoaGFzSGFuZGxlcnMoY29uc3RydWN0b3IpKVxuICAgICAgY29uc3RydWN0b3JbSEFORExFUlNdLmZvckVhY2goKGhhbmRsZXIpID0+IHtcbiAgICAgICAgY29uc3QgeyB1cmwsIG1ldGhvZCwgaGFuZGxlck1ldGhvZCwgb3B0aW9ucyB9ID0gaGFuZGxlcjtcblxuICAgICAgICBpbnN0YW5jZVttZXRob2RdKFxuICAgICAgICAgIHVybCxcbiAgICAgICAgICB0YWdzLmxlbmd0aCA+IDAgPyB7IC4uLm9wdGlvbnMsIHNjaGVtYTogeyB0YWdzOiB0YWdzLm1hcCgodGFnKSA9PiB0YWcubmFtZSksIC4uLm9wdGlvbnMuc2NoZW1hIH0gYXMgRmFzdGlmeVNjaGVtYSB9IDogb3B0aW9ucyxcbiAgICAgICAgICBmdW5jdGlvbiAocmVxdWVzdCwgLi4uYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIGdldFRhcmdldChyZXF1ZXN0KVtoYW5kbGVyTWV0aG9kXShyZXF1ZXN0LCAuLi5hcmdzKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICBpZiAoaGFzRXJyb3JIYW5kbGVycyhjb25zdHJ1Y3RvcikpXG4gICAgICBpbnN0YW5jZS5zZXRFcnJvckhhbmRsZXIoKGVycm9yLCByZXF1ZXN0LCAuLi5yZXN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yc0hhbmRsZXIgPSBjcmVhdGVFcnJvcnNIYW5kbGVyKGNvbnN0cnVjdG9yW0VSUk9SX0hBTkRMRVJTXSwgZ2V0VGFyZ2V0KHJlcXVlc3QpKTtcblxuICAgICAgICByZXR1cm4gZXJyb3JzSGFuZGxlcihlcnJvciwgcmVxdWVzdCwgLi4ucmVzdCk7XG4gICAgICB9KTtcblxuICAgIGlmIChoYXNIb29rcyhjb25zdHJ1Y3RvcikpXG4gICAgICBjb25zdHJ1Y3RvcltIT09LU10uZm9yRWFjaCgoaG9vaykgPT5cbiAgICAgICAgaW5zdGFuY2UuYWRkSG9vayhob29rLm5hbWUgYXMgJ29uUmVxdWVzdCcsIChyZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgLi4ucmVzdDogdW5rbm93bltdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGdldFRhcmdldChyZXF1ZXN0KVtob29rLmhhbmRsZXJOYW1lXShyZXF1ZXN0LCAuLi5yZXN0KTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9LFxufTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJIYW5kbGVycyhcbiAgaGFuZGxlcnM6IElIYW5kbGVyW10sXG4gIGluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UsXG4gIGNvbnRyb2xsZXJJbnN0YW5jZTogUmVjb3JkPHN0cmluZywgKHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCByZXBseTogRmFzdGlmeVJlcGx5KSA9PiB2b2lkPixcbiAgdGFnczogVGFnT2JqZWN0W10sXG4pOiB2b2lkIHtcbiAgaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcikgPT4ge1xuICAgIGluc3RhbmNlW2hhbmRsZXIubWV0aG9kXShcbiAgICAgIGhhbmRsZXIudXJsLFxuICAgICAgdGFncy5sZW5ndGggPiAwID8geyAuLi5oYW5kbGVyLm9wdGlvbnMsIHNjaGVtYTogeyB0YWdzOiB0YWdzLm1hcCgoaXQpID0+IGl0Lm5hbWUpLCAuLi5oYW5kbGVyLm9wdGlvbnMuc2NoZW1hIH0gYXMgRmFzdGlmeVNjaGVtYSB9IDogaGFuZGxlci5vcHRpb25zLFxuICAgICAgY29udHJvbGxlckluc3RhbmNlW2hhbmRsZXIuaGFuZGxlck1ldGhvZCBhcyBzdHJpbmddLmJpbmQoY29udHJvbGxlckluc3RhbmNlKSxcbiAgICApO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJIb29rcyhcbiAgaG9va3M6IElIb29rW10sXG4gIGluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UsXG4gIGNvbnRyb2xsZXJJbnN0YW5jZTogUmVjb3JkPHN0cmluZywgKHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCByZXBseTogRmFzdGlmeVJlcGx5KSA9PiB2b2lkPixcbik6IHZvaWQge1xuICBob29rcy5mb3JFYWNoKChob29rKSA9PiB7XG4gICAgaW5zdGFuY2UuYWRkSG9vayhob29rLm5hbWUgYXMgJ29uUmVxdWVzdCcsIGNvbnRyb2xsZXJJbnN0YW5jZVtob29rLmhhbmRsZXJOYW1lIGFzIHN0cmluZ10uYmluZChjb250cm9sbGVySW5zdGFuY2UpKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyRXJyb3JIYW5kbGVycyhcbiAgZXJyb3JIYW5kbGVyczogSUVycm9ySGFuZGxlcltdLFxuICBpbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlLFxuICBjbGFzc0luc3RhbmNlOiBSZWNvcmQ8c3RyaW5nLCAoZXJyb3I6IEVycm9yLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgcmVwbHk6IEZhc3RpZnlSZXBseSkgPT4gdm9pZD4sXG4pIHtcbiAgaW5zdGFuY2Uuc2V0RXJyb3JIYW5kbGVyKGNyZWF0ZUVycm9yc0hhbmRsZXIoZXJyb3JIYW5kbGVycywgY2xhc3NJbnN0YW5jZSkpO1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2RlY29yYXRvcnMvc3RyYXRlZ2llcy9jb250cm9sbGVyLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBS0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDMUUsT0FBTyxFQUFFLHFCQUFxQixFQUFhLE1BQU0sOEJBQThCLENBQUM7QUFFaEYsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBMkIsQ0FBQztBQUVoRSxTQUFTLGFBQWEsQ0FBQyxXQUFpQyxFQUFFLFdBQXdCO0lBQ2hGLE9BQU8sU0FBUyxTQUFTLENBQUMsT0FBdUI7UUFDL0MsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDeEUsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUlEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBOEM7SUFDakYsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsSUFBSTtR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QyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztBQUM5RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgRmFzdGlmeUluc3RhbmNlLCBGYXN0aWZ5UmVwbHksIEZhc3RpZnlSZXF1ZXN0LCBGYXN0aWZ5U2NoZW1hIH0gZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQgeyBDbGFzc0xvYWRlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvYm9vdHN0cmFwLWNvbmZpZy5qcyc7XG5pbXBvcnQgdHlwZSB7IElFcnJvckhhbmRsZXIsIElIYW5kbGVyLCBJSG9vaywgSW5qZWN0YWJsZUNvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2luZGV4LmpzJztcbmltcG9ydCB7IENvbnRyb2xsZXJUeXBlIH0gZnJvbSAnLi4vLi4vcmVnaXN0cnkvY29udHJvbGxlci10eXBlLmpzJztcbmltcG9ydCB7IEVSUk9SX0hBTkRMRVJTLCBIQU5ETEVSUywgSE9PS1MgfSBmcm9tICcuLi8uLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IGhhc0Vycm9ySGFuZGxlcnMsIGhhc0hhbmRsZXJzLCBoYXNIb29rcyB9IGZyb20gJy4uL2hlbHBlcnMvY2xhc3MtcHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVFcnJvcnNIYW5kbGVyIH0gZnJvbSAnLi4vaGVscGVycy9jcmVhdGUtZXJyb3JzLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgaW5qZWN0VGFnc0ludG9Td2FnZ2VyLCBUYWdPYmplY3QgfSBmcm9tICcuLi9oZWxwZXJzL3N3YWdnZXItaGVscGVyLmpzJztcblxuY29uc3QgY29udHJvbGxlcnNDYWNoZSA9IG5ldyBXZWFrTWFwPEZhc3RpZnlSZXF1ZXN0LCB1bmtub3duPigpO1xuXG5mdW5jdGlvbiB0YXJnZXRGYWN0b3J5KGNvbnN0cnVjdG9yOiBJbmplY3RhYmxlQ29udHJvbGxlciwgY2xhc3NMb2FkZXI6IENsYXNzTG9hZGVyKSB7XG4gIHJldHVybiBmdW5jdGlvbiBnZXRUYXJnZXQocmVxdWVzdDogRmFzdGlmeVJlcXVlc3QpIHtcbiAgICBpZiAoY29udHJvbGxlcnNDYWNoZS5oYXMocmVxdWVzdCkpIHJldHVybiBjb250cm9sbGVyc0NhY2hlLmdldChyZXF1ZXN0KTtcbiAgICBjb25zdCB0YXJnZXQgPSBjbGFzc0xvYWRlcihjb25zdHJ1Y3Rvcik7XG4gICAgY29udHJvbGxlcnNDYWNoZS5zZXQocmVxdWVzdCwgdGFyZ2V0KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuXG50eXBlIENvbnRyb2xsZXJGYWN0b3J5ID0gKGluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UsIGNvbnN0cnVjdG9yOiBJbmplY3RhYmxlQ29udHJvbGxlciwgY2xhc3NMb2FkZXI6IENsYXNzTG9hZGVyLCB0YWdzOiBUYWdPYmplY3RbXSkgPT4gdW5rbm93bjtcblxuLyoqXG4gKiBWYXJpb3VzIHN0cmF0ZWdpZXMgd2hpY2ggY2FuIGJlIGFwcGxpZWQgdG8gY29udHJvbGxlclxuICpcbiAqIEB1c2FnZU5vdGVzXG4gKlxuICogVGhlcmUgYXJlIGZldyBhdmFpbGFibGUgc3RyYXRlZ2llczpcbiAqICAgU0lOR0xFVE9OIHN0cmF0ZWd5IGNyZWF0ZXMgb25lIGluc3RhbmNlIG9mIGNvbnRyb2xsZXIgd2hpY2ggd2lsbCBoYW5kbGUgYWxsIHJlcXVlc3RzXG4gKiAgIFJFUVVFU1Qgc3RyYXRlZ3kgd2lsbCBjcmVhdGUgbmV3IGluc3RhbmNlIGZvciBlYWNoIHJlcXVlc3QvaG9va1xuICpcbiAqIEJ5IGRlZmF1bHQgY29udHJvbGxlcnMgdXNlIFNJTkdMRVRPTiBzdHJhdGVneVxuICovXG5leHBvcnQgY29uc3QgQ29udHJvbGxlclR5cGVTdHJhdGVnaWVzOiBSZWNvcmQ8Q29udHJvbGxlclR5cGUsIENvbnRyb2xsZXJGYWN0b3J5PiA9IHtcbiAgW0NvbnRyb2xsZXJUeXBlLlNJTkdMRVRPTl0oaW5zdGFuY2UsIGNvbnN0cnVjdG9yLCBjbGFzc0xvYWRlciwgdGFncykge1xuICAgIGlmICh0YWdzLmxlbmd0aCA+IDApIGluamVjdFRhZ3NJbnRvU3dhZ2dlcihpbnN0YW5jZSwgdGFncyk7XG5cbiAgICBjb25zdCBjb250cm9sbGVySW5zdGFuY2UgPSBjbGFzc0xvYWRlcihjb25zdHJ1Y3Rvcik7XG5cbiAgICBpZiAoaGFzSGFuZGxlcnMoY29uc3RydWN0b3IpKSByZWdpc3RlckhhbmRsZXJzKGNvbnN0cnVjdG9yW0hBTkRMRVJTXSwgaW5zdGFuY2UsIGNvbnRyb2xsZXJJbnN0YW5jZSwgdGFncyk7XG4gICAgaWYgKGhhc0Vycm9ySGFuZGxlcnMoY29uc3RydWN0b3IpKSByZWdpc3RlckVycm9ySGFuZGxlcnMoY29uc3RydWN0b3JbRVJST1JfSEFORExFUlNdLCBpbnN0YW5jZSwgY29udHJvbGxlckluc3RhbmNlKTtcbiAgICBpZiAoaGFzSG9va3MoY29uc3RydWN0b3IpKSByZWdpc3Rlckhvb2tzKGNvbnN0cnVjdG9yW0hPT0tTXSwgaW5zdGFuY2UsIGNvbnRyb2xsZXJJbnN0YW5jZSk7XG5cbiAgICByZXR1cm4gY29udHJvbGxlckluc3RhbmNlO1xuICB9LFxuXG4gIFtDb250cm9sbGVyVHlwZS5SRVFVRVNUXShpbnN0YW5jZSwgY29uc3RydWN0b3IsIGNsYXNzTG9hZGVyLCB0YWdzKSB7XG4gICAgaWYgKHRhZ3MubGVuZ3RoID4gMCkgaW5qZWN0VGFnc0ludG9Td2FnZ2VyKGluc3RhbmNlLCB0YWdzKTtcblxuICAgIGNvbnN0IGdldFRhcmdldCA9IHRhcmdldEZhY3RvcnkoY29uc3RydWN0b3IsIGNsYXNzTG9hZGVyKTtcblxuICAgIGlmIChoYXNIYW5kbGVycyhjb25zdHJ1Y3RvcikpXG4gICAgICBjb25zdHJ1Y3RvcltIQU5ETEVSU10uZm9yRWFjaCgoaGFuZGxlcikgPT4ge1xuICAgICAgICBjb25zdCB7IHVybCwgbWV0aG9kLCBoYW5kbGVyTWV0aG9kLCBvcHRpb25zIH0gPSBoYW5kbGVyO1xuXG4gICAgICAgIGluc3RhbmNlW21ldGhvZF0oXG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIHRhZ3MubGVuZ3RoID4gMCA/IHsgLi4ub3B0aW9ucywgc2NoZW1hOiB7IHRhZ3M6IHRhZ3MubWFwKCh0YWcpID0+IHRhZy5uYW1lKSwgLi4ub3B0aW9ucy5zY2hlbWEgfSBhcyBGYXN0aWZ5U2NoZW1hIH0gOiBvcHRpb25zLFxuICAgICAgICAgIGZ1bmN0aW9uIChyZXF1ZXN0LCAuLi5hcmdzKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0VGFyZ2V0KHJlcXVlc3QpW2hhbmRsZXJNZXRob2RdKHJlcXVlc3QsIC4uLmFyZ3MpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgIGlmIChoYXNFcnJvckhhbmRsZXJzKGNvbnN0cnVjdG9yKSlcbiAgICAgIGluc3RhbmNlLnNldEVycm9ySGFuZGxlcigoZXJyb3IsIHJlcXVlc3QsIC4uLnJlc3QpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3JzSGFuZGxlciA9IGNyZWF0ZUVycm9yc0hhbmRsZXIoY29uc3RydWN0b3JbRVJST1JfSEFORExFUlNdLCBnZXRUYXJnZXQocmVxdWVzdCkpO1xuXG4gICAgICAgIHJldHVybiBlcnJvcnNIYW5kbGVyKGVycm9yLCByZXF1ZXN0LCAuLi5yZXN0KTtcbiAgICAgIH0pO1xuXG4gICAgaWYgKGhhc0hvb2tzKGNvbnN0cnVjdG9yKSlcbiAgICAgIGNvbnN0cnVjdG9yW0hPT0tTXS5mb3JFYWNoKChob29rKSA9PlxuICAgICAgICBpbnN0YW5jZS5hZGRIb29rKGhvb2submFtZSBhcyAnb25SZXF1ZXN0JywgKHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCAuLi5yZXN0OiB1bmtub3duW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gZ2V0VGFyZ2V0KHJlcXVlc3QpW2hvb2suaGFuZGxlck5hbWVdKHJlcXVlc3QsIC4uLnJlc3QpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiByZWdpc3RlckhhbmRsZXJzKFxuICBoYW5kbGVyczogSUhhbmRsZXJbXSxcbiAgaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSxcbiAgY29udHJvbGxlckluc3RhbmNlOiBSZWNvcmQ8c3RyaW5nLCAocmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsIHJlcGx5OiBGYXN0aWZ5UmVwbHkpID0+IHZvaWQ+LFxuICB0YWdzOiBUYWdPYmplY3RbXSxcbik6IHZvaWQge1xuICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgaW5zdGFuY2VbaGFuZGxlci5tZXRob2RdKFxuICAgICAgaGFuZGxlci51cmwsXG4gICAgICB0YWdzLmxlbmd0aCA+IDAgPyB7IC4uLmhhbmRsZXIub3B0aW9ucywgc2NoZW1hOiB7IHRhZ3M6IHRhZ3MubWFwKChpdCkgPT4gaXQubmFtZSksIC4uLmhhbmRsZXIub3B0aW9ucy5zY2hlbWEgfSBhcyBGYXN0aWZ5U2NoZW1hIH0gOiBoYW5kbGVyLm9wdGlvbnMsXG4gICAgICAoLi4uYXJncykgPT4gY29udHJvbGxlckluc3RhbmNlW2hhbmRsZXIuaGFuZGxlck1ldGhvZCBhcyBzdHJpbmddKC4uLmFyZ3MpLFxuICAgICk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZWdpc3Rlckhvb2tzKFxuICBob29rczogSUhvb2tbXSxcbiAgaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSxcbiAgY29udHJvbGxlckluc3RhbmNlOiBSZWNvcmQ8c3RyaW5nLCAocmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsIHJlcGx5OiBGYXN0aWZ5UmVwbHkpID0+IHZvaWQ+LFxuKTogdm9pZCB7XG4gIGhvb2tzLmZvckVhY2goKGhvb2spID0+IHtcbiAgICBpbnN0YW5jZS5hZGRIb29rKGhvb2submFtZSBhcyAnb25SZXF1ZXN0JywgY29udHJvbGxlckluc3RhbmNlW2hvb2suaGFuZGxlck5hbWUgYXMgc3RyaW5nXS5iaW5kKGNvbnRyb2xsZXJJbnN0YW5jZSkpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFcnJvckhhbmRsZXJzKFxuICBlcnJvckhhbmRsZXJzOiBJRXJyb3JIYW5kbGVyW10sXG4gIGluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UsXG4gIGNsYXNzSW5zdGFuY2U6IFJlY29yZDxzdHJpbmcsIChlcnJvcjogRXJyb3IsIHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCByZXBseTogRmFzdGlmeVJlcGx5KSA9PiB2b2lkPixcbikge1xuICBpbnN0YW5jZS5zZXRFcnJvckhhbmRsZXIoY3JlYXRlRXJyb3JzSGFuZGxlcihlcnJvckhhbmRsZXJzLCBjbGFzc0luc3RhbmNlKSk7XG59XG4iXX0=

@@ -0,0 +0,0 @@ <h1 style="text-align: center">Fastify decorators</h1>

@@ -0,0 +0,0 @@ <h1 style="text-align: center">Fastify decorators</h1>

@@ -21,3 +21,3 @@ /**

export { getInstanceByToken } from './utils/get-instance-by-token.js';
export { FastifyInstanceToken } from './symbols/index.js';
export { FastifyInstanceToken, FastifyRequestToken, FastifyReplyToken } from './symbols/index.js';
export { ALL } from './decorators/request-handlers.js';

@@ -24,0 +24,0 @@ export { DELETE } from './decorators/request-handlers.js';

@@ -19,3 +19,3 @@ /**

export { getInstanceByToken } from './utils/get-instance-by-token.js';
export { FastifyInstanceToken } from './symbols/index.js';
export { FastifyInstanceToken, FastifyRequestToken, FastifyReplyToken } from './symbols/index.js';
export { ALL } from './decorators/request-handlers.js';

@@ -29,2 +29,2 @@ export { DELETE } from './decorators/request-handlers.js';

export { PUT } from './decorators/request-handlers.js';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuZXhwb3J0IHsgYm9vdHN0cmFwIH0gZnJvbSAnLi9ib290c3RyYXAvYm9vdHN0cmFwLmpzJztcbmV4cG9ydCB7IEJvb3RzdHJhcENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9ib290c3RyYXAtY29uZmlnLmpzJztcbmV4cG9ydCB7IFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3JlcXVlc3QtaGFuZGxlci5qcyc7XG5cbmV4cG9ydCB7IENvbnRyb2xsZXIgfSBmcm9tICcuL2RlY29yYXRvcnMvY29udHJvbGxlci5qcyc7XG5leHBvcnQgeyBDb250cm9sbGVyVHlwZSB9IGZyb20gJy4vcmVnaXN0cnkvY29udHJvbGxlci10eXBlLmpzJztcbmV4cG9ydCB7IENvbnRyb2xsZXJDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvY29udHJvbGxlci1jb25maWcuanMnO1xuXG5leHBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3NlcnZpY2UuanMnO1xuZXhwb3J0IHsgSW5qZWN0IH0gZnJvbSAnLi9kZWNvcmF0b3JzL2luamVjdC5qcyc7XG5leHBvcnQgeyBJbml0aWFsaXplciB9IGZyb20gJy4vZGVjb3JhdG9ycy9pbml0aWFsaXplci5qcyc7XG5leHBvcnQgeyBEZXN0cnVjdG9yIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2Rlc3RydWN0b3IuanMnO1xuZXhwb3J0IHsgSG9vayB9IGZyb20gJy4vZGVjb3JhdG9ycy9ob29rLmpzJztcbmV4cG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gJy4vZGVjb3JhdG9ycy9lcnJvci1oYW5kbGVyLmpzJztcblxuZXhwb3J0IHsgZ2V0SW5zdGFuY2VCeVRva2VuIH0gZnJvbSAnLi91dGlscy9nZXQtaW5zdGFuY2UtYnktdG9rZW4uanMnO1xuZXhwb3J0IHsgRmFzdGlmeUluc3RhbmNlVG9rZW4gfSBmcm9tICcuL3N5bWJvbHMvaW5kZXguanMnO1xuXG5leHBvcnQgeyBBTEwgfSBmcm9tICcuL2RlY29yYXRvcnMvcmVxdWVzdC1oYW5kbGVycy5qcyc7XG5leHBvcnQgeyBERUxFVEUgfSBmcm9tICcuL2RlY29yYXRvcnMvcmVxdWVzdC1oYW5kbGVycy5qcyc7XG5leHBvcnQgeyBHRVQgfSBmcm9tICcuL2RlY29yYXRvcnMvcmVxdWVzdC1oYW5kbGVycy5qcyc7XG5leHBvcnQgeyBIRUFEIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3JlcXVlc3QtaGFuZGxlcnMuanMnO1xuZXhwb3J0IHsgT1BUSU9OUyB9IGZyb20gJy4vZGVjb3JhdG9ycy9yZXF1ZXN0LWhhbmRsZXJzLmpzJztcbmV4cG9ydCB7IFBBVENIIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3JlcXVlc3QtaGFuZGxlcnMuanMnO1xuZXhwb3J0IHsgUE9TVCB9IGZyb20gJy4vZGVjb3JhdG9ycy9yZXF1ZXN0LWhhbmRsZXJzLmpzJztcbmV4cG9ydCB7IFBVVCB9IGZyb20gJy4vZGVjb3JhdG9ycy9yZXF1ZXN0LWhhbmRsZXJzLmpzJztcbmV4cG9ydCB7IFJvdXRlQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3JvdXRlLWNvbmZpZy5qcyc7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDMUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuZXhwb3J0IHsgYm9vdHN0cmFwIH0gZnJvbSAnLi9ib290c3RyYXAvYm9vdHN0cmFwLmpzJztcbmV4cG9ydCB7IEJvb3RzdHJhcENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9ib290c3RyYXAtY29uZmlnLmpzJztcbmV4cG9ydCB7IFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3JlcXVlc3QtaGFuZGxlci5qcyc7XG5cbmV4cG9ydCB7IENvbnRyb2xsZXIgfSBmcm9tICcuL2RlY29yYXRvcnMvY29udHJvbGxlci5qcyc7XG5leHBvcnQgeyBDb250cm9sbGVyVHlwZSB9IGZyb20gJy4vcmVnaXN0cnkvY29udHJvbGxlci10eXBlLmpzJztcbmV4cG9ydCB7IENvbnRyb2xsZXJDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMvY29udHJvbGxlci1jb25maWcuanMnO1xuXG5leHBvcnQgeyBTZXJ2aWNlIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3NlcnZpY2UuanMnO1xuZXhwb3J0IHsgSW5qZWN0IH0gZnJvbSAnLi9kZWNvcmF0b3JzL2luamVjdC5qcyc7XG5leHBvcnQgeyBJbml0aWFsaXplciB9IGZyb20gJy4vZGVjb3JhdG9ycy9pbml0aWFsaXplci5qcyc7XG5leHBvcnQgeyBEZXN0cnVjdG9yIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2Rlc3RydWN0b3IuanMnO1xuZXhwb3J0IHsgSG9vayB9IGZyb20gJy4vZGVjb3JhdG9ycy9ob29rLmpzJztcbmV4cG9ydCB7IEVycm9ySGFuZGxlciB9IGZyb20gJy4vZGVjb3JhdG9ycy9lcnJvci1oYW5kbGVyLmpzJztcblxuZXhwb3J0IHsgZ2V0SW5zdGFuY2VCeVRva2VuIH0gZnJvbSAnLi91dGlscy9nZXQtaW5zdGFuY2UtYnktdG9rZW4uanMnO1xuZXhwb3J0IHsgRmFzdGlmeUluc3RhbmNlVG9rZW4sIEZhc3RpZnlSZXF1ZXN0VG9rZW4sIEZhc3RpZnlSZXBseVRva2VuIH0gZnJvbSAnLi9zeW1ib2xzL2luZGV4LmpzJztcblxuZXhwb3J0IHsgQUxMIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3JlcXVlc3QtaGFuZGxlcnMuanMnO1xuZXhwb3J0IHsgREVMRVRFIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3JlcXVlc3QtaGFuZGxlcnMuanMnO1xuZXhwb3J0IHsgR0VUIH0gZnJvbSAnLi9kZWNvcmF0b3JzL3JlcXVlc3QtaGFuZGxlcnMuanMnO1xuZXhwb3J0IHsgSEVBRCB9IGZyb20gJy4vZGVjb3JhdG9ycy9yZXF1ZXN0LWhhbmRsZXJzLmpzJztcbmV4cG9ydCB7IE9QVElPTlMgfSBmcm9tICcuL2RlY29yYXRvcnMvcmVxdWVzdC1oYW5kbGVycy5qcyc7XG5leHBvcnQgeyBQQVRDSCB9IGZyb20gJy4vZGVjb3JhdG9ycy9yZXF1ZXN0LWhhbmRsZXJzLmpzJztcbmV4cG9ydCB7IFBPU1QgfSBmcm9tICcuL2RlY29yYXRvcnMvcmVxdWVzdC1oYW5kbGVycy5qcyc7XG5leHBvcnQgeyBQVVQgfSBmcm9tICcuL2RlY29yYXRvcnMvcmVxdWVzdC1oYW5kbGVycy5qcyc7XG5leHBvcnQgeyBSb3V0ZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9yb3V0ZS1jb25maWcuanMnO1xuIl19
{
"name": "fastify-decorators",
"version": "3.13.1",
"version": "3.14.0",
"description": "Framework aimed to provide useful TypeScript decorators to implement controllers, services and request handlers, built with Fastify.",

@@ -5,0 +5,0 @@ "type": "module",

@@ -1,2 +0,2 @@

[![Fastify decorators](https://raw.githubusercontent.com/L2jLiga/fastify-decorators/v3.13.1/assets/logo.png)](https://github.com/L2jLiga/fastify-decorators)
[![Fastify decorators](https://raw.githubusercontent.com/L2jLiga/fastify-decorators/v3.14.0/assets/logo.png)](https://github.com/L2jLiga/fastify-decorators)

@@ -255,7 +255,7 @@ [![npm version](https://badge.fury.io/js/fastify-decorators.svg?colorB=brightgreen)](https://www.npmjs.com/package/fastify-decorators)

[fastify resty]: https://github.com/FastifyResty/fastify-resty
[bootstrapping]: https://github.com/L2jLiga/fastify-decorators/blob/v3.13.1/docs/Bootstrapping.md
[controllers]: https://github.com/L2jLiga/fastify-decorators/blob/v3.13.1/docs/Controllers.md
[request handlers]: https://github.com/L2jLiga/fastify-decorators/blob/v3.13.1/docs/Request%20Handlers.md
[services and dependency injection]: https://github.com/L2jLiga/fastify-decorators/blob/v3.13.1/docs/Services%20and%20dependency%20injection.md
[testing]: https://github.com/L2jLiga/fastify-decorators/blob/v3.13.1/docs/Testing.md
[migration guide (v3)]: https://github.com/L2jLiga/fastify-decorators/blob/v3.13.1/docs/Migration%20to%20v3.md
[bootstrapping]: https://github.com/L2jLiga/fastify-decorators/blob/v3.14.0/docs/Bootstrapping.md
[controllers]: https://github.com/L2jLiga/fastify-decorators/blob/v3.14.0/docs/Controllers.md
[request handlers]: https://github.com/L2jLiga/fastify-decorators/blob/v3.14.0/docs/Request%20Handlers.md
[services and dependency injection]: https://github.com/L2jLiga/fastify-decorators/blob/v3.14.0/docs/Services%20and%20dependency%20injection.md
[testing]: https://github.com/L2jLiga/fastify-decorators/blob/v3.14.0/docs/Testing.md
[migration guide (v3)]: https://github.com/L2jLiga/fastify-decorators/blob/v3.14.0/docs/Migration%20to%20v3.md

@@ -8,3 +8,8 @@ /**

*/
export const injectables = new Map();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcmVnaXN0cnkvaW5qZWN0YWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBSUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFnQixJQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgSW5qZWN0YWJsZXMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2luamVjdGFibGUtY2xhc3MuanMnO1xuXG5leHBvcnQgY29uc3QgaW5qZWN0YWJsZXM6IEluamVjdGFibGVzID0gbmV3IE1hcCgpO1xuIl19
import { FASTIFY_REPLY, FASTIFY_REQUEST, FastifyReplyToken, FastifyRequestToken } from '../symbols/index.js';
import { wrapInjectable } from '../utils/wrap-injectable.js';
export const injectables = new Map([
[FastifyRequestToken, wrapInjectable(FASTIFY_REQUEST)],
[FastifyReplyToken, wrapInjectable(FASTIFY_REPLY)],
]);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcmVnaXN0cnkvaW5qZWN0YWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFnQixJQUFJLEdBQUcsQ0FBQztJQUM5QyxDQUFDLG1CQUFtQixFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RCxDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQztDQUNuRCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBJbmplY3RhYmxlcyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5qZWN0YWJsZS1jbGFzcy5qcyc7XG5pbXBvcnQgeyBGQVNUSUZZX1JFUExZLCBGQVNUSUZZX1JFUVVFU1QsIEZhc3RpZnlSZXBseVRva2VuLCBGYXN0aWZ5UmVxdWVzdFRva2VuIH0gZnJvbSAnLi4vc3ltYm9scy9pbmRleC5qcyc7XG5pbXBvcnQgeyB3cmFwSW5qZWN0YWJsZSB9IGZyb20gJy4uL3V0aWxzL3dyYXAtaW5qZWN0YWJsZS5qcyc7XG5cbmV4cG9ydCBjb25zdCBpbmplY3RhYmxlczogSW5qZWN0YWJsZXMgPSBuZXcgTWFwKFtcbiAgW0Zhc3RpZnlSZXF1ZXN0VG9rZW4sIHdyYXBJbmplY3RhYmxlKEZBU1RJRllfUkVRVUVTVCldLFxuICBbRmFzdGlmeVJlcGx5VG9rZW4sIHdyYXBJbmplY3RhYmxlKEZBU1RJRllfUkVQTFkpXSxcbl0pO1xuIl19

@@ -15,2 +15,6 @@ /**

export declare const CLASS_LOADER: unique symbol;
export declare const FASTIFY_REQUEST: unique symbol;
export declare const FASTIFY_REPLY: unique symbol;
export declare const FastifyInstanceToken: unique symbol;
export declare const FastifyRequestToken: unique symbol;
export declare const FastifyReplyToken: unique symbol;

@@ -15,3 +15,7 @@ /**

export const CLASS_LOADER = Symbol.for('fastify-decorators.class-loader');
export const FASTIFY_REQUEST = Symbol.for('fastify-decorators.fastify-request');
export const FASTIFY_REPLY = Symbol.for('fastify-decorators.fastify-reply');
export const FastifyInstanceToken = Symbol.for('fastify-decorators.fastify-instance');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ltYm9scy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFDeEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztBQUM5RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRXBGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmV4cG9ydCBjb25zdCBDUkVBVE9SID0gU3ltYm9sLmZvcignZmFzdGlmeS1kZWNvcmF0b3JzLmNyZWF0b3InKTtcbmV4cG9ydCBjb25zdCBJTklUSUFMSVpFUiA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy5pbml0aWFsaXplcicpO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0hBTkRMRVJTID0gU3ltYm9sLmZvcignZmFzdGlmeS1kZWNvcmF0b3JzLmVycm9yLWhhbmRsZXJzJyk7XG5leHBvcnQgY29uc3QgSEFORExFUlMgPSBTeW1ib2wuZm9yKCdmYXN0aWZ5LWRlY29yYXRvcnMuaGFuZGxlcnMnKTtcbmV4cG9ydCBjb25zdCBIT09LUyA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy5ob29rcycpO1xuZXhwb3J0IGNvbnN0IFNFUlZJQ0VfSU5KRUNUSU9OID0gU3ltYm9sLmZvcignZmFzdGlmeS1kZWNvcmF0b3JzLnNlcnZpY2UtaW5qZWN0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBDTEFTU19MT0FERVIgPSBTeW1ib2wuZm9yKCdmYXN0aWZ5LWRlY29yYXRvcnMuY2xhc3MtbG9hZGVyJyk7XG5cbmV4cG9ydCBjb25zdCBGYXN0aWZ5SW5zdGFuY2VUb2tlbiA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy5mYXN0aWZ5LWluc3RhbmNlJyk7XG4iXX0=
export const FastifyRequestToken = Symbol.for('fastify-decorators.token.fastify-request');
export const FastifyReplyToken = Symbol.for('fastify-decorators.token.fastify-instance');
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc3ltYm9scy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFDeEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsbUNBQW1DLENBQUMsQ0FBQztBQUM5RSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDNUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRXBGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7QUFFMUUsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsb0NBQW9DLENBQUMsQ0FBQztBQUNoRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMscUNBQXFDLENBQUMsQ0FBQztBQUN0RixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7QUFDMUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmV4cG9ydCBjb25zdCBDUkVBVE9SID0gU3ltYm9sLmZvcignZmFzdGlmeS1kZWNvcmF0b3JzLmNyZWF0b3InKTtcbmV4cG9ydCBjb25zdCBJTklUSUFMSVpFUiA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy5pbml0aWFsaXplcicpO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0hBTkRMRVJTID0gU3ltYm9sLmZvcignZmFzdGlmeS1kZWNvcmF0b3JzLmVycm9yLWhhbmRsZXJzJyk7XG5leHBvcnQgY29uc3QgSEFORExFUlMgPSBTeW1ib2wuZm9yKCdmYXN0aWZ5LWRlY29yYXRvcnMuaGFuZGxlcnMnKTtcbmV4cG9ydCBjb25zdCBIT09LUyA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy5ob29rcycpO1xuZXhwb3J0IGNvbnN0IFNFUlZJQ0VfSU5KRUNUSU9OID0gU3ltYm9sLmZvcignZmFzdGlmeS1kZWNvcmF0b3JzLnNlcnZpY2UtaW5qZWN0aW9uJyk7XG5cbmV4cG9ydCBjb25zdCBDTEFTU19MT0FERVIgPSBTeW1ib2wuZm9yKCdmYXN0aWZ5LWRlY29yYXRvcnMuY2xhc3MtbG9hZGVyJyk7XG5cbmV4cG9ydCBjb25zdCBGQVNUSUZZX1JFUVVFU1QgPSBTeW1ib2wuZm9yKCdmYXN0aWZ5LWRlY29yYXRvcnMuZmFzdGlmeS1yZXF1ZXN0Jyk7XG5leHBvcnQgY29uc3QgRkFTVElGWV9SRVBMWSA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy5mYXN0aWZ5LXJlcGx5Jyk7XG5cbmV4cG9ydCBjb25zdCBGYXN0aWZ5SW5zdGFuY2VUb2tlbiA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy5mYXN0aWZ5LWluc3RhbmNlJyk7XG5leHBvcnQgY29uc3QgRmFzdGlmeVJlcXVlc3RUb2tlbiA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy50b2tlbi5mYXN0aWZ5LXJlcXVlc3QnKTtcbmV4cG9ydCBjb25zdCBGYXN0aWZ5UmVwbHlUb2tlbiA9IFN5bWJvbC5mb3IoJ2Zhc3RpZnktZGVjb3JhdG9ycy50b2tlbi5mYXN0aWZ5LWluc3RhbmNlJyk7XG4iXX0=

@@ -14,2 +14,3 @@ /**

controller: C;
instance?: FastifyInstance;
mocks?: ServiceMock[];

@@ -16,0 +17,0 @@ plugins?: Plugins;

@@ -18,3 +18,4 @@ /**

export async function configureControllerTest(config) {
const instance = fastify();
var _a;
const instance = (_a = config.instance) !== null && _a !== void 0 ? _a : fastify();
loadPlugins(instance, config.plugins);

@@ -44,2 +45,2 @@ const injectablesWithMocks = MocksManager.create(injectables, config.mocks);

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLWNvbnRyb2xsZXItdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90ZXN0aW5nL2NvbmZpZ3VyZS1jb250cm9sbGVyLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBbUIsTUFBTSxTQUFTLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFpQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBZ0JsRCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUFJLE1BQTRDO0lBQzNGLE1BQU0sUUFBUSxHQUFHLE9BQU8sRUFBRSxDQUFDO0lBQzNCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXRDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRTtRQUNuRCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDMUU7SUFFRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBa0MsQ0FBQztJQUM3RCxNQUFNLGtCQUFrQixHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pGLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFcEQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzVHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9DLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNqQyxDQUFDO0lBRUYsTUFBTSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFdkIsNkVBQTZFO0lBQzdFLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLE1BQWU7SUFDdkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzVDLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsV0FBNEI7SUFDdEQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IGZhc3RpZnksIEZhc3RpZnlJbnN0YW5jZSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgaGFzU2VydmljZUluamVjdGlvbiB9IGZyb20gJy4uL2RlY29yYXRvcnMvaGVscGVycy9jbGFzcy1wcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNsYXNzTG9hZGVyRmFjdG9yeSwgQ29uc3RydWN0b3IsIFNlcnZpY2VJbmplY3Rpb24gfSBmcm9tICcuLi9kZWNvcmF0b3JzL2hlbHBlcnMvaW5qZWN0LWRlcGVuZGVuY2llcy5qcyc7XG5pbXBvcnQgeyByZWFkeU1hcCB9IGZyb20gJy4uL2RlY29yYXRvcnMvaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBJbmplY3RhYmxlQ29udHJvbGxlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBJbmplY3RhYmxlQ2xhc3MgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2luamVjdGFibGUtY2xhc3MuanMnO1xuaW1wb3J0IHsgaW5qZWN0YWJsZXMgfSBmcm9tICcuLi9yZWdpc3RyeS9pbmplY3RhYmxlcy5qcyc7XG5pbXBvcnQgeyBDUkVBVE9SLCBGYXN0aWZ5SW5zdGFuY2VUb2tlbiwgU0VSVklDRV9JTkpFQ1RJT04gfSBmcm9tICcuLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IHdyYXBJbmplY3RhYmxlIH0gZnJvbSAnLi4vdXRpbHMvd3JhcC1pbmplY3RhYmxlLmpzJztcbmltcG9ydCB7IGxvYWRQbHVnaW5zLCBQbHVnaW5zIH0gZnJvbSAnLi9mYXN0aWZ5LXBsdWdpbnMuanMnO1xuaW1wb3J0IHsgTW9ja3NNYW5hZ2VyIH0gZnJvbSAnLi9tb2Nrcy1tYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmljZU1vY2sgfSBmcm9tICcuL3NlcnZpY2UtbW9jay5qcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXG5kZWNsYXJlIG5hbWVzcGFjZSBSZWZsZWN0IHtcbiAgZnVuY3Rpb24gZ2V0TWV0YWRhdGEobWV0YWRhdGFLZXk6ICdkZXNpZ246cGFyYW10eXBlcycsIHRhcmdldDogdW5rbm93bik6IFNlcnZpY2VJbmplY3Rpb25bJ25hbWUnXVtdIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xsZXJUZXN0Q29uZmlnPEM+IHtcbiAgY29udHJvbGxlcjogQztcbiAgbW9ja3M/OiBTZXJ2aWNlTW9ja1tdO1xuICBwbHVnaW5zPzogUGx1Z2lucztcbn1cblxuZXhwb3J0IHR5cGUgRmFzdGlmeUluc3RhbmNlV2l0aENvbnRyb2xsZXI8Qz4gPSBGYXN0aWZ5SW5zdGFuY2UgJiBQaWNrPENvbnRyb2xsZXJUZXN0Q29uZmlnPEM+LCAnY29udHJvbGxlcic+O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29uZmlndXJlQ29udHJvbGxlclRlc3Q8Qz4oY29uZmlnOiBDb250cm9sbGVyVGVzdENvbmZpZzxDb25zdHJ1Y3RvcjxDPj4pOiBQcm9taXNlPEZhc3RpZnlJbnN0YW5jZVdpdGhDb250cm9sbGVyPEM+PiB7XG4gIGNvbnN0IGluc3RhbmNlID0gZmFzdGlmeSgpO1xuICBsb2FkUGx1Z2lucyhpbnN0YW5jZSwgY29uZmlnLnBsdWdpbnMpO1xuXG4gIGNvbnN0IGluamVjdGFibGVzV2l0aE1vY2tzID0gTW9ja3NNYW5hZ2VyLmNyZWF0ZShpbmplY3RhYmxlcywgY29uZmlnLm1vY2tzKTtcbiAgaWYgKCFpbmplY3RhYmxlc1dpdGhNb2Nrcy5oYXMoRmFzdGlmeUluc3RhbmNlVG9rZW4pKSB7XG4gICAgaW5qZWN0YWJsZXNXaXRoTW9ja3Muc2V0KEZhc3RpZnlJbnN0YW5jZVRva2VuLCB3cmFwSW5qZWN0YWJsZShpbnN0YW5jZSkpO1xuICB9XG5cbiAgY29uc3QgY2xhc3NMb2FkZXIgPSBjbGFzc0xvYWRlckZhY3RvcnkoaW5qZWN0YWJsZXNXaXRoTW9ja3MsIGZhbHNlKTtcblxuICBjb25zdCBjb250cm9sbGVyID0gY29uZmlnLmNvbnRyb2xsZXIgYXMgSW5qZWN0YWJsZUNvbnRyb2xsZXI7XG4gIGNvbnN0IGNvbnRyb2xsZXJJbnN0YW5jZSA9IGF3YWl0IGNvbnRyb2xsZXJbQ1JFQVRPUl0ucmVnaXN0ZXIoaW5zdGFuY2UsICcnLCBjbGFzc0xvYWRlcik7XG4gIGluc3RhbmNlLmRlY29yYXRlKCdjb250cm9sbGVyJywgY29udHJvbGxlckluc3RhbmNlKTtcblxuICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBbLi4uZ2V0SW5qZWN0ZWRQcm9wcyhjb250cm9sbGVyKSwgLi4uZ2V0SW5qZWN0ZWRQcm9wcyhjb250cm9sbGVyLnByb3RvdHlwZSksIC4uLmdldENvbnN0cnVjdG9yQXJncyhjb250cm9sbGVyKV1cbiAgICAgIC5tYXAoKHZhbHVlKSA9PiBpbmplY3RhYmxlc1dpdGhNb2Nrcy5nZXQodmFsdWUpKVxuICAgICAgLm1hcCgoaXQpID0+IHJlYWR5TWFwLmdldChpdCkpLFxuICApO1xuXG4gIGF3YWl0IGluc3RhbmNlLnJlYWR5KCk7XG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciB3ZSBoYXZlIGRlY29yYXRlZCBpbnN0YW5jZSwgVHlwZVNjcmlwdCBjYW4ndCBoYW5kbGUgaXQgOihcbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBnZXRJbmplY3RlZFByb3BzKHRhcmdldDogdW5rbm93bik6IEFycmF5PHVua25vd24+IHtcbiAgaWYgKCFoYXNTZXJ2aWNlSW5qZWN0aW9uKHRhcmdldCkpIHJldHVybiBbXTtcbiAgcmV0dXJuIHRhcmdldFtTRVJWSUNFX0lOSkVDVElPTl0ubWFwKChpdCkgPT4gaXQubmFtZSk7XG59XG5cbmZ1bmN0aW9uIGdldENvbnN0cnVjdG9yQXJncyhjb25zdHJ1Y3RvcjogSW5qZWN0YWJsZUNsYXNzKTogQXJyYXk8dW5rbm93bj4ge1xuICByZXR1cm4gUmVmbGVjdC5nZXRNZXRhZGF0YSgnZGVzaWduOnBhcmFtdHlwZXMnLCBjb25zdHJ1Y3RvcikgfHwgW107XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLWNvbnRyb2xsZXItdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90ZXN0aW5nL2NvbmZpZ3VyZS1jb250cm9sbGVyLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBbUIsTUFBTSxTQUFTLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGtCQUFrQixFQUFpQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ2pILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBaUJsRCxNQUFNLENBQUMsS0FBSyxVQUFVLHVCQUF1QixDQUFJLE1BQTRDOztJQUMzRixNQUFNLFFBQVEsR0FBRyxNQUFBLE1BQU0sQ0FBQyxRQUFRLG1DQUFJLE9BQU8sRUFBRSxDQUFDO0lBQzlDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXRDLE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRTtRQUNuRCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7S0FDMUU7SUFFRCxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUVwRSxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBa0MsQ0FBQztJQUM3RCxNQUFNLGtCQUFrQixHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pGLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFcEQsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzVHLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9DLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNqQyxDQUFDO0lBRUYsTUFBTSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFdkIsNkVBQTZFO0lBQzdFLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLE1BQWU7SUFDdkMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzVDLE9BQU8sTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQUMsV0FBNEI7SUFDdEQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IGZhc3RpZnksIEZhc3RpZnlJbnN0YW5jZSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgaGFzU2VydmljZUluamVjdGlvbiB9IGZyb20gJy4uL2RlY29yYXRvcnMvaGVscGVycy9jbGFzcy1wcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNsYXNzTG9hZGVyRmFjdG9yeSwgQ29uc3RydWN0b3IsIFNlcnZpY2VJbmplY3Rpb24gfSBmcm9tICcuLi9kZWNvcmF0b3JzL2hlbHBlcnMvaW5qZWN0LWRlcGVuZGVuY2llcy5qcyc7XG5pbXBvcnQgeyByZWFkeU1hcCB9IGZyb20gJy4uL2RlY29yYXRvcnMvaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBJbmplY3RhYmxlQ29udHJvbGxlciB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHR5cGUgeyBJbmplY3RhYmxlQ2xhc3MgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2luamVjdGFibGUtY2xhc3MuanMnO1xuaW1wb3J0IHsgaW5qZWN0YWJsZXMgfSBmcm9tICcuLi9yZWdpc3RyeS9pbmplY3RhYmxlcy5qcyc7XG5pbXBvcnQgeyBDUkVBVE9SLCBGYXN0aWZ5SW5zdGFuY2VUb2tlbiwgU0VSVklDRV9JTkpFQ1RJT04gfSBmcm9tICcuLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IHdyYXBJbmplY3RhYmxlIH0gZnJvbSAnLi4vdXRpbHMvd3JhcC1pbmplY3RhYmxlLmpzJztcbmltcG9ydCB7IGxvYWRQbHVnaW5zLCBQbHVnaW5zIH0gZnJvbSAnLi9mYXN0aWZ5LXBsdWdpbnMuanMnO1xuaW1wb3J0IHsgTW9ja3NNYW5hZ2VyIH0gZnJvbSAnLi9tb2Nrcy1tYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmljZU1vY2sgfSBmcm9tICcuL3NlcnZpY2UtbW9jay5qcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXG5kZWNsYXJlIG5hbWVzcGFjZSBSZWZsZWN0IHtcbiAgZnVuY3Rpb24gZ2V0TWV0YWRhdGEobWV0YWRhdGFLZXk6ICdkZXNpZ246cGFyYW10eXBlcycsIHRhcmdldDogdW5rbm93bik6IFNlcnZpY2VJbmplY3Rpb25bJ25hbWUnXVtdIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xsZXJUZXN0Q29uZmlnPEM+IHtcbiAgY29udHJvbGxlcjogQztcbiAgaW5zdGFuY2U/OiBGYXN0aWZ5SW5zdGFuY2U7XG4gIG1vY2tzPzogU2VydmljZU1vY2tbXTtcbiAgcGx1Z2lucz86IFBsdWdpbnM7XG59XG5cbmV4cG9ydCB0eXBlIEZhc3RpZnlJbnN0YW5jZVdpdGhDb250cm9sbGVyPEM+ID0gRmFzdGlmeUluc3RhbmNlICYgUGljazxDb250cm9sbGVyVGVzdENvbmZpZzxDPiwgJ2NvbnRyb2xsZXInPjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbmZpZ3VyZUNvbnRyb2xsZXJUZXN0PEM+KGNvbmZpZzogQ29udHJvbGxlclRlc3RDb25maWc8Q29uc3RydWN0b3I8Qz4+KTogUHJvbWlzZTxGYXN0aWZ5SW5zdGFuY2VXaXRoQ29udHJvbGxlcjxDPj4ge1xuICBjb25zdCBpbnN0YW5jZSA9IGNvbmZpZy5pbnN0YW5jZSA/PyBmYXN0aWZ5KCk7XG4gIGxvYWRQbHVnaW5zKGluc3RhbmNlLCBjb25maWcucGx1Z2lucyk7XG5cbiAgY29uc3QgaW5qZWN0YWJsZXNXaXRoTW9ja3MgPSBNb2Nrc01hbmFnZXIuY3JlYXRlKGluamVjdGFibGVzLCBjb25maWcubW9ja3MpO1xuICBpZiAoIWluamVjdGFibGVzV2l0aE1vY2tzLmhhcyhGYXN0aWZ5SW5zdGFuY2VUb2tlbikpIHtcbiAgICBpbmplY3RhYmxlc1dpdGhNb2Nrcy5zZXQoRmFzdGlmeUluc3RhbmNlVG9rZW4sIHdyYXBJbmplY3RhYmxlKGluc3RhbmNlKSk7XG4gIH1cblxuICBjb25zdCBjbGFzc0xvYWRlciA9IGNsYXNzTG9hZGVyRmFjdG9yeShpbmplY3RhYmxlc1dpdGhNb2NrcywgZmFsc2UpO1xuXG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBjb25maWcuY29udHJvbGxlciBhcyBJbmplY3RhYmxlQ29udHJvbGxlcjtcbiAgY29uc3QgY29udHJvbGxlckluc3RhbmNlID0gYXdhaXQgY29udHJvbGxlcltDUkVBVE9SXS5yZWdpc3RlcihpbnN0YW5jZSwgJycsIGNsYXNzTG9hZGVyKTtcbiAgaW5zdGFuY2UuZGVjb3JhdGUoJ2NvbnRyb2xsZXInLCBjb250cm9sbGVySW5zdGFuY2UpO1xuXG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIFsuLi5nZXRJbmplY3RlZFByb3BzKGNvbnRyb2xsZXIpLCAuLi5nZXRJbmplY3RlZFByb3BzKGNvbnRyb2xsZXIucHJvdG90eXBlKSwgLi4uZ2V0Q29uc3RydWN0b3JBcmdzKGNvbnRyb2xsZXIpXVxuICAgICAgLm1hcCgodmFsdWUpID0+IGluamVjdGFibGVzV2l0aE1vY2tzLmdldCh2YWx1ZSkpXG4gICAgICAubWFwKChpdCkgPT4gcmVhZHlNYXAuZ2V0KGl0KSksXG4gICk7XG5cbiAgYXdhaXQgaW5zdGFuY2UucmVhZHkoKTtcblxuICAvLyBAdHMtZXhwZWN0LWVycm9yIHdlIGhhdmUgZGVjb3JhdGVkIGluc3RhbmNlLCBUeXBlU2NyaXB0IGNhbid0IGhhbmRsZSBpdCA6KFxuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmZ1bmN0aW9uIGdldEluamVjdGVkUHJvcHModGFyZ2V0OiB1bmtub3duKTogQXJyYXk8dW5rbm93bj4ge1xuICBpZiAoIWhhc1NlcnZpY2VJbmplY3Rpb24odGFyZ2V0KSkgcmV0dXJuIFtdO1xuICByZXR1cm4gdGFyZ2V0W1NFUlZJQ0VfSU5KRUNUSU9OXS5tYXAoKGl0KSA9PiBpdC5uYW1lKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29uc3RydWN0b3JBcmdzKGNvbnN0cnVjdG9yOiBJbmplY3RhYmxlQ2xhc3MpOiBBcnJheTx1bmtub3duPiB7XG4gIHJldHVybiBSZWZsZWN0LmdldE1ldGFkYXRhKCdkZXNpZ246cGFyYW10eXBlcycsIGNvbnN0cnVjdG9yKSB8fCBbXTtcbn1cbiJdfQ==

@@ -8,2 +8,3 @@ /**

*/
import { FastifyInstance } from 'fastify';
import { Constructor } from '../decorators/helpers/inject-dependencies.js';

@@ -14,2 +15,3 @@ import { Plugins } from './fastify-plugins.js';

service: Constructor<Service>;
instance?: FastifyInstance;
mocks?: ServiceMock[];

@@ -16,0 +18,0 @@ plugins?: Plugins;

@@ -22,6 +22,7 @@ /**

export function configureServiceTest(config) {
var _a;
const service = config.service;
const injectablesWithMocks = MocksManager.create(injectables, config.mocks);
if (!injectablesWithMocks.has(FastifyInstanceToken)) {
const fastifyInstance = fastify();
const fastifyInstance = (_a = config.instance) !== null && _a !== void 0 ? _a : fastify();
loadPlugins(fastifyInstance, config.plugins);

@@ -57,2 +58,2 @@ injectablesWithMocks.set(FastifyInstanceToken, wrapInjectable(fastifyInstance));

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXNlcnZpY2UtdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90ZXN0aW5nL2NvbmZpZ3VyZS1zZXJ2aWNlLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUVsRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTbEQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBVSxNQUFrQztJQUM5RSxNQUFNLE9BQU8sR0FBeUIsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUNyRCxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1RSxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7UUFDbkQsTUFBTSxlQUFlLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDbEMsV0FBVyxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0Msb0JBQW9CLENBQUMsR0FBRyxDQUFDLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0tBQ2pGO0lBRUQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RCLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQVUsV0FBVyxDQUFDLENBQUM7SUFFakUsSUFBSSxPQUFPLEdBQTRCLElBQUksQ0FBQztJQUU1QyxvRUFBb0U7SUFDcEUsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDekIsR0FBRyxDQUFJLE1BQVMsRUFBRSxDQUF5QztZQUN6RCxJQUFJLENBQUMsS0FBSyxNQUFNLElBQUksQ0FBQyxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUNwRCxJQUFJLE9BQU8sSUFBSSxJQUFJO29CQUNqQixPQUFPLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDO3dCQUNwQyxDQUFDLENBQUMsK0VBQStFOzRCQUMvRSxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7d0JBQzFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUU5QixPQUFPLE9BQU8sQ0FBQyxDQUFpQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2pFO1lBRUQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsQ0FBQztLQUNGLENBQStCLENBQUM7QUFDbkMsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFVLE9BQTZCO0lBQzFELElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsRUFBRTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7S0FDdkU7QUFDSCxDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxPQUEwQjtJQUNyRCxPQUFPLFdBQVcsSUFBSSxPQUFPLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBmYXN0aWZ5IH0gZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQgeyBjbGFzc0xvYWRlckZhY3RvcnkgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2hlbHBlcnMvaW5qZWN0LWRlcGVuZGVuY2llcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9oZWxwZXJzL2luamVjdC1kZXBlbmRlbmNpZXMuanMnO1xuaW1wb3J0IHsgcmVhZHlNYXAgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2luZGV4LmpzJztcbmltcG9ydCB0eXBlIHsgSW5qZWN0YWJsZVNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2luamVjdGFibGUtY2xhc3MuanMnO1xuaW1wb3J0IHsgaW5qZWN0YWJsZXMgfSBmcm9tICcuLi9yZWdpc3RyeS9pbmplY3RhYmxlcy5qcyc7XG5pbXBvcnQgeyBDUkVBVE9SLCBGYXN0aWZ5SW5zdGFuY2VUb2tlbiwgSU5JVElBTElaRVIgfSBmcm9tICcuLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IHdyYXBJbmplY3RhYmxlIH0gZnJvbSAnLi4vdXRpbHMvd3JhcC1pbmplY3RhYmxlLmpzJztcbmltcG9ydCB7IGxvYWRQbHVnaW5zLCBQbHVnaW5zIH0gZnJvbSAnLi9mYXN0aWZ5LXBsdWdpbnMuanMnO1xuaW1wb3J0IHsgTW9ja3NNYW5hZ2VyIH0gZnJvbSAnLi9tb2Nrcy1tYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmljZU1vY2sgfSBmcm9tICcuL3NlcnZpY2UtbW9jay5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVRlc3RDb25maWc8U2VydmljZT4ge1xuICBzZXJ2aWNlOiBDb25zdHJ1Y3RvcjxTZXJ2aWNlPjtcbiAgbW9ja3M/OiBTZXJ2aWNlTW9ja1tdO1xuICBwbHVnaW5zPzogUGx1Z2lucztcbn1cblxuLyoqXG4gKiBDb25maWd1cmVzIHNlcnZpY2UgZm9yIHRlc3RpbmdcbiAqIEBwYXJhbSBjb25maWcgd2l0aCBzZXJ2aWNlIGFuZCBtb2Nrc1xuICogQHJldHVybnMgY29uZmlndXJlZCBzZXJ2aWNlICYgcHJvbWlzZSB3aGljaCByZXNvbHZlcyB3aGVuIGFzeW5jIGluaXRpYWxpemVyIGRvbmUgKGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIHJlc29sdmVkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlU2VydmljZVRlc3Q8U2VydmljZT4oY29uZmlnOiBTZXJ2aWNlVGVzdENvbmZpZzxTZXJ2aWNlPik6IFByb21pc2U8U2VydmljZT4gJiBTZXJ2aWNlIHtcbiAgY29uc3Qgc2VydmljZTogQ29uc3RydWN0b3I8U2VydmljZT4gPSBjb25maWcuc2VydmljZTtcbiAgY29uc3QgaW5qZWN0YWJsZXNXaXRoTW9ja3MgPSBNb2Nrc01hbmFnZXIuY3JlYXRlKGluamVjdGFibGVzLCBjb25maWcubW9ja3MpO1xuICBpZiAoIWluamVjdGFibGVzV2l0aE1vY2tzLmhhcyhGYXN0aWZ5SW5zdGFuY2VUb2tlbikpIHtcbiAgICBjb25zdCBmYXN0aWZ5SW5zdGFuY2UgPSBmYXN0aWZ5KCk7XG4gICAgbG9hZFBsdWdpbnMoZmFzdGlmeUluc3RhbmNlLCBjb25maWcucGx1Z2lucyk7XG4gICAgaW5qZWN0YWJsZXNXaXRoTW9ja3Muc2V0KEZhc3RpZnlJbnN0YW5jZVRva2VuLCB3cmFwSW5qZWN0YWJsZShmYXN0aWZ5SW5zdGFuY2UpKTtcbiAgfVxuXG4gIGlzSW5qZWN0YWJsZShzZXJ2aWNlKTtcbiAgY29uc3QgY2xhc3NMb2FkZXIgPSBjbGFzc0xvYWRlckZhY3RvcnkoaW5qZWN0YWJsZXNXaXRoTW9ja3MsIGZhbHNlKTtcbiAgY29uc3QgaW5zdGFuY2UgPSBzZXJ2aWNlW0NSRUFUT1JdLnJlZ2lzdGVyPFNlcnZpY2U+KGNsYXNzTG9hZGVyKTtcblxuICBsZXQgcHJvbWlzZTogUHJvbWlzZTx1bmtub3duPiB8IG51bGwgPSBudWxsO1xuXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgVFMgZG9lc24ndCBrbm93IHRoYXQgd2UgaGF2ZSBjbGFzcyBpbnN0YW5jZSBoZXJlXG4gIHJldHVybiBuZXcgUHJveHkoaW5zdGFuY2UsIHtcbiAgICBnZXQ8VD4odGFyZ2V0OiBULCBwOiBrZXlvZiBUIHwgJ3RoZW4nIHwgJ2NhdGNoJyB8ICdmaW5hbGx5Jykge1xuICAgICAgaWYgKHAgPT09ICd0aGVuJyB8fCBwID09PSAnY2F0Y2gnIHx8IHAgPT09ICdmaW5hbGx5Jykge1xuICAgICAgICBpZiAocHJvbWlzZSA9PSBudWxsKVxuICAgICAgICAgIHByb21pc2UgPSBoYXNBc3luY0luaXRpYWxpemVyKHNlcnZpY2UpXG4gICAgICAgICAgICA/IC8vIEB0cy1leHBlY3QtZXJyb3IgaWYgc2VydmljZSBoYXMgYXN5bmMgaW5pdGlhbGl6ZXIgdGhlbiBpdCBleGlzdHMgaW4gcmVhZHlNYXBcbiAgICAgICAgICAgICAgcmVhZHlNYXAuZ2V0KHNlcnZpY2UpLnRoZW4oKCkgPT4gdGFyZ2V0KVxuICAgICAgICAgICAgOiBQcm9taXNlLnJlc29sdmUodGFyZ2V0KTtcblxuICAgICAgICByZXR1cm4gcHJvbWlzZVtwIGFzICd0aGVuJyB8ICdjYXRjaCcgfCAnZmluYWxseSddLmJpbmQocHJvbWlzZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0YXJnZXRbcF07XG4gICAgfSxcbiAgfSkgYXMgUHJvbWlzZTxTZXJ2aWNlPiAmIFNlcnZpY2U7XG59XG5cbmZ1bmN0aW9uIGlzSW5qZWN0YWJsZTxTZXJ2aWNlPihzZXJ2aWNlOiBDb25zdHJ1Y3RvcjxTZXJ2aWNlPik6IGFzc2VydHMgc2VydmljZSBpcyBJbmplY3RhYmxlU2VydmljZSB7XG4gIGlmICghKENSRUFUT1IgaW4gc2VydmljZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1Byb3ZpZGVkIHNlcnZpY2UgZG9lcyBub3QgYW5ub3RhdGVkIHdpdGggQFNlcnZpY2UhJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFzQXN5bmNJbml0aWFsaXplcihzZXJ2aWNlOiBJbmplY3RhYmxlU2VydmljZSk6IHNlcnZpY2UgaXMgSW5qZWN0YWJsZVNlcnZpY2UgJiBSZXF1aXJlZDxJbmplY3RhYmxlU2VydmljZT4ge1xuICByZXR1cm4gSU5JVElBTElaRVIgaW4gc2VydmljZTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXNlcnZpY2UtdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi90ZXN0aW5nL2NvbmZpZ3VyZS1zZXJ2aWNlLXRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLE9BQU8sRUFBbUIsTUFBTSxTQUFTLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFbEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBVWxEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQVUsTUFBa0M7O0lBQzlFLE1BQU0sT0FBTyxHQUF5QixNQUFNLENBQUMsT0FBTyxDQUFDO0lBQ3JELE1BQU0sb0JBQW9CLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRTtRQUNuRCxNQUFNLGVBQWUsR0FBRyxNQUFBLE1BQU0sQ0FBQyxRQUFRLG1DQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3JELFdBQVcsQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztLQUNqRjtJQUVELFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNwRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFVLFdBQVcsQ0FBQyxDQUFDO0lBRWpFLElBQUksT0FBTyxHQUE0QixJQUFJLENBQUM7SUFFNUMsb0VBQW9FO0lBQ3BFLE9BQU8sSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQ3pCLEdBQUcsQ0FBSSxNQUFTLEVBQUUsQ0FBeUM7WUFDekQsSUFBSSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxPQUFPLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtnQkFDcEQsSUFBSSxPQUFPLElBQUksSUFBSTtvQkFDakIsT0FBTyxHQUFHLG1CQUFtQixDQUFDLE9BQU8sQ0FBQzt3QkFDcEMsQ0FBQyxDQUFDLCtFQUErRTs0QkFDL0UsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO3dCQUMxQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFOUIsT0FBTyxPQUFPLENBQUMsQ0FBaUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNqRTtZQUVELE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLENBQUM7S0FDRixDQUErQixDQUFDO0FBQ25DLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBVSxPQUE2QjtJQUMxRCxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO0tBQ3ZFO0FBQ0gsQ0FBQztBQUVELFNBQVMsbUJBQW1CLENBQUMsT0FBMEI7SUFDckQsT0FBTyxXQUFXLElBQUksT0FBTyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgZmFzdGlmeSwgRmFzdGlmeUluc3RhbmNlIH0gZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQgeyBjbGFzc0xvYWRlckZhY3RvcnkgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2hlbHBlcnMvaW5qZWN0LWRlcGVuZGVuY2llcy5qcyc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9oZWxwZXJzL2luamVjdC1kZXBlbmRlbmNpZXMuanMnO1xuaW1wb3J0IHsgcmVhZHlNYXAgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2luZGV4LmpzJztcbmltcG9ydCB0eXBlIHsgSW5qZWN0YWJsZVNlcnZpY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2luamVjdGFibGUtY2xhc3MuanMnO1xuaW1wb3J0IHsgaW5qZWN0YWJsZXMgfSBmcm9tICcuLi9yZWdpc3RyeS9pbmplY3RhYmxlcy5qcyc7XG5pbXBvcnQgeyBDUkVBVE9SLCBGYXN0aWZ5SW5zdGFuY2VUb2tlbiwgSU5JVElBTElaRVIgfSBmcm9tICcuLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IHdyYXBJbmplY3RhYmxlIH0gZnJvbSAnLi4vdXRpbHMvd3JhcC1pbmplY3RhYmxlLmpzJztcbmltcG9ydCB7IGxvYWRQbHVnaW5zLCBQbHVnaW5zIH0gZnJvbSAnLi9mYXN0aWZ5LXBsdWdpbnMuanMnO1xuaW1wb3J0IHsgTW9ja3NNYW5hZ2VyIH0gZnJvbSAnLi9tb2Nrcy1tYW5hZ2VyLmpzJztcbmltcG9ydCB0eXBlIHsgU2VydmljZU1vY2sgfSBmcm9tICcuL3NlcnZpY2UtbW9jay5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZVRlc3RDb25maWc8U2VydmljZT4ge1xuICBzZXJ2aWNlOiBDb25zdHJ1Y3RvcjxTZXJ2aWNlPjtcbiAgaW5zdGFuY2U/OiBGYXN0aWZ5SW5zdGFuY2U7XG4gIG1vY2tzPzogU2VydmljZU1vY2tbXTtcbiAgcGx1Z2lucz86IFBsdWdpbnM7XG59XG5cbi8qKlxuICogQ29uZmlndXJlcyBzZXJ2aWNlIGZvciB0ZXN0aW5nXG4gKiBAcGFyYW0gY29uZmlnIHdpdGggc2VydmljZSBhbmQgbW9ja3NcbiAqIEByZXR1cm5zIGNvbmZpZ3VyZWQgc2VydmljZSAmIHByb21pc2Ugd2hpY2ggcmVzb2x2ZXMgd2hlbiBhc3luYyBpbml0aWFsaXplciBkb25lIChpZiBpdCBleGlzdHMsIG90aGVyd2lzZSByZXNvbHZlZClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyZVNlcnZpY2VUZXN0PFNlcnZpY2U+KGNvbmZpZzogU2VydmljZVRlc3RDb25maWc8U2VydmljZT4pOiBQcm9taXNlPFNlcnZpY2U+ICYgU2VydmljZSB7XG4gIGNvbnN0IHNlcnZpY2U6IENvbnN0cnVjdG9yPFNlcnZpY2U+ID0gY29uZmlnLnNlcnZpY2U7XG4gIGNvbnN0IGluamVjdGFibGVzV2l0aE1vY2tzID0gTW9ja3NNYW5hZ2VyLmNyZWF0ZShpbmplY3RhYmxlcywgY29uZmlnLm1vY2tzKTtcbiAgaWYgKCFpbmplY3RhYmxlc1dpdGhNb2Nrcy5oYXMoRmFzdGlmeUluc3RhbmNlVG9rZW4pKSB7XG4gICAgY29uc3QgZmFzdGlmeUluc3RhbmNlID0gY29uZmlnLmluc3RhbmNlID8/IGZhc3RpZnkoKTtcbiAgICBsb2FkUGx1Z2lucyhmYXN0aWZ5SW5zdGFuY2UsIGNvbmZpZy5wbHVnaW5zKTtcbiAgICBpbmplY3RhYmxlc1dpdGhNb2Nrcy5zZXQoRmFzdGlmeUluc3RhbmNlVG9rZW4sIHdyYXBJbmplY3RhYmxlKGZhc3RpZnlJbnN0YW5jZSkpO1xuICB9XG5cbiAgaXNJbmplY3RhYmxlKHNlcnZpY2UpO1xuICBjb25zdCBjbGFzc0xvYWRlciA9IGNsYXNzTG9hZGVyRmFjdG9yeShpbmplY3RhYmxlc1dpdGhNb2NrcywgZmFsc2UpO1xuICBjb25zdCBpbnN0YW5jZSA9IHNlcnZpY2VbQ1JFQVRPUl0ucmVnaXN0ZXI8U2VydmljZT4oY2xhc3NMb2FkZXIpO1xuXG4gIGxldCBwcm9taXNlOiBQcm9taXNlPHVua25vd24+IHwgbnVsbCA9IG51bGw7XG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBUUyBkb2Vzbid0IGtub3cgdGhhdCB3ZSBoYXZlIGNsYXNzIGluc3RhbmNlIGhlcmVcbiAgcmV0dXJuIG5ldyBQcm94eShpbnN0YW5jZSwge1xuICAgIGdldDxUPih0YXJnZXQ6IFQsIHA6IGtleW9mIFQgfCAndGhlbicgfCAnY2F0Y2gnIHwgJ2ZpbmFsbHknKSB7XG4gICAgICBpZiAocCA9PT0gJ3RoZW4nIHx8IHAgPT09ICdjYXRjaCcgfHwgcCA9PT0gJ2ZpbmFsbHknKSB7XG4gICAgICAgIGlmIChwcm9taXNlID09IG51bGwpXG4gICAgICAgICAgcHJvbWlzZSA9IGhhc0FzeW5jSW5pdGlhbGl6ZXIoc2VydmljZSlcbiAgICAgICAgICAgID8gLy8gQHRzLWV4cGVjdC1lcnJvciBpZiBzZXJ2aWNlIGhhcyBhc3luYyBpbml0aWFsaXplciB0aGVuIGl0IGV4aXN0cyBpbiByZWFkeU1hcFxuICAgICAgICAgICAgICByZWFkeU1hcC5nZXQoc2VydmljZSkudGhlbigoKSA9PiB0YXJnZXQpXG4gICAgICAgICAgICA6IFByb21pc2UucmVzb2x2ZSh0YXJnZXQpO1xuXG4gICAgICAgIHJldHVybiBwcm9taXNlW3AgYXMgJ3RoZW4nIHwgJ2NhdGNoJyB8ICdmaW5hbGx5J10uYmluZChwcm9taXNlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRhcmdldFtwXTtcbiAgICB9LFxuICB9KSBhcyBQcm9taXNlPFNlcnZpY2U+ICYgU2VydmljZTtcbn1cblxuZnVuY3Rpb24gaXNJbmplY3RhYmxlPFNlcnZpY2U+KHNlcnZpY2U6IENvbnN0cnVjdG9yPFNlcnZpY2U+KTogYXNzZXJ0cyBzZXJ2aWNlIGlzIEluamVjdGFibGVTZXJ2aWNlIHtcbiAgaWYgKCEoQ1JFQVRPUiBpbiBzZXJ2aWNlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcignUHJvdmlkZWQgc2VydmljZSBkb2VzIG5vdCBhbm5vdGF0ZWQgd2l0aCBAU2VydmljZSEnKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYXNBc3luY0luaXRpYWxpemVyKHNlcnZpY2U6IEluamVjdGFibGVTZXJ2aWNlKTogc2VydmljZSBpcyBJbmplY3RhYmxlU2VydmljZSAmIFJlcXVpcmVkPEluamVjdGFibGVTZXJ2aWNlPiB7XG4gIHJldHVybiBJTklUSUFMSVpFUiBpbiBzZXJ2aWNlO1xufVxuIl19

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc