fastify-decorators
Advanced tools
Comparing version 4.0.0-next.3 to 4.0.0-next.4
@@ -15,10 +15,10 @@ /** | ||
const defaultMask = /\.(handler|controller)\./; | ||
export const bootstrap = fp(async (fastify, config) => { | ||
await transformAndWait(hooksRegistry.appInit, (hook) => hook(fastify)); | ||
export const bootstrap = fp(async (fastifyInstance, config) => { | ||
await transformAndWait(hooksRegistry.appInit, (hook) => hook(fastifyInstance)); | ||
if ('directory' in config) | ||
await transformAndWait(autoLoadModules(config), loadRegistrable.bind(fastify, config)); | ||
await transformAndWait(autoLoadModules(config), loadRegistrable.bind(fastifyInstance, config)); | ||
if ('controllers' in config) | ||
await transformAndWait(config.controllers, loadRegistrable.bind(fastify, config)); | ||
await transformAndWait(hooksRegistry.appReady, (hook) => hook(fastify)); | ||
fastify.addHook('onClose', () => transformAndWait(hooksRegistry.appDestroy, (hook) => hook(fastify))); | ||
await transformAndWait(config.controllers, loadRegistrable.bind(fastifyInstance, config)); | ||
await transformAndWait(hooksRegistry.appReady, (hook) => hook(fastifyInstance)); | ||
fastifyInstance.addHook('onClose', () => transformAndWait(hooksRegistry.appDestroy, (hook) => hook(fastifyInstance))); | ||
}, { | ||
@@ -30,4 +30,4 @@ fastify: '^3.0.0 || ^4.0.0-alpha.0 || ^4.0.0-rc.0 || ^4.0.0', | ||
const flags = config.mask instanceof RegExp ? config.mask.flags.replace('g', '') : ''; | ||
const filter = config.mask ? new RegExp(config.mask, flags) : defaultMask; | ||
return readModulesRecursively(parsePath(config.directory), filter); | ||
const mask = config.mask ? new RegExp(config.mask, flags) : defaultMask; | ||
return readModulesRecursively(parsePath(config.directory), mask); | ||
} | ||
@@ -41,3 +41,3 @@ function parsePath(directory) { | ||
} | ||
async function* readModulesRecursively(parentUrl, filter) { | ||
async function* readModulesRecursively(parentUrl, mask) { | ||
const dir = opendirSync(parentUrl); | ||
@@ -52,5 +52,5 @@ parentUrl.pathname += '/'; | ||
if (dirent.isDirectory()) { | ||
yield* readModulesRecursively(fullFilePath, filter); | ||
yield* readModulesRecursively(fullFilePath, mask); | ||
} | ||
else if (filter.test(dirent.name)) { | ||
else if (mask.test(dirent.name)) { | ||
yield import(fullFilePath.toString()).then((m) => m.default); | ||
@@ -72,2 +72,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2Jvb3RzdHJhcC9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVksTUFBTSxTQUFTLENBQUM7QUFHM0QsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxXQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUF3QyxFQUFFLENBQzlELEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDeEIsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUV2RSxJQUFJLFdBQVcsSUFBSSxNQUFNO1FBQUUsTUFBTSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNsSCxJQUFJLGFBQWEsSUFBSSxNQUFNO1FBQUUsTUFBTSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFL0csTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsSUFB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Q0FBQztLQUM3RDtTQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxTQUFTLENBQUMsZ0VBQWdFLGFBQWEsRUFBRSxDQUFDLENBQUM7S0FDdEc7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgRmFzdGlmeUluc3RhbmNlLCBGYXN0aWZ5UGx1Z2luQXN5bmMgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCBmcCBmcm9tICdmYXN0aWZ5LXBsdWdpbic7XG5pbXBvcnQgeyBsc3RhdFN5bmMsIG9wZW5kaXJTeW5jLCBQYXRoTGlrZSB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHR5cGUgeyBBdXRvTG9hZENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9vdHN0cmFwLWNvbmZpZy5qcyc7XG5pbXBvcnQgdHlwZSB7IEJvb3RzdHJhcENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgaG9va3NSZWdpc3RyeSB9IGZyb20gJy4uL3BsdWdpbnMvaW5kZXguanMnO1xuaW1wb3J0IHsgQ1JFQVRPUiB9IGZyb20gJy4uL3N5bWJvbHMvaW5kZXguanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQW5kV2FpdCB9IGZyb20gJy4uL3V0aWxzL3RyYW5zZm9ybS1hbmQtd2FpdC5qcyc7XG5pbXBvcnQgeyBpc1ZhbGlkUmVnaXN0cmFibGUgfSBmcm9tICcuLi91dGlscy92YWxpZGF0b3JzLmpzJztcblxuY29uc3QgZGVmYXVsdE1hc2sgPSAvXFwuKGhhbmRsZXJ8Y29udHJvbGxlcilcXC4vO1xuXG5leHBvcnQgY29uc3QgYm9vdHN0cmFwOiBGYXN0aWZ5UGx1Z2luQXN5bmM8Qm9vdHN0cmFwQ29uZmlnPiA9IGZwPEJvb3RzdHJhcENvbmZpZz4oXG4gIGFzeW5jIChmYXN0aWZ5LCBjb25maWcpID0+IHtcbiAgICBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGhvb2tzUmVnaXN0cnkuYXBwSW5pdCwgKGhvb2spID0+IGhvb2soZmFzdGlmeSkpO1xuXG4gICAgaWYgKCdkaXJlY3RvcnknIGluIGNvbmZpZykgYXdhaXQgdHJhbnNmb3JtQW5kV2FpdChhdXRvTG9hZE1vZHVsZXMoY29uZmlnKSwgbG9hZFJlZ2lzdHJhYmxlLmJpbmQoZmFzdGlmeSwgY29uZmlnKSk7XG4gICAgaWYgKCdjb250cm9sbGVycycgaW4gY29uZmlnKSBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGNvbmZpZy5jb250cm9sbGVycywgbG9hZFJlZ2lzdHJhYmxlLmJpbmQoZmFzdGlmeSwgY29uZmlnKSk7XG5cbiAgICBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGhvb2tzUmVnaXN0cnkuYXBwUmVhZHksIChob29rKSA9PiBob29rKGZhc3RpZnkpKTtcblxuICAgIGZhc3RpZnkuYWRkSG9vaygnb25DbG9zZScsICgpID0+IHRyYW5zZm9ybUFuZFdhaXQoaG9va3NSZWdpc3RyeS5hcHBEZXN0cm95LCAoaG9vaykgPT4gaG9vayhmYXN0aWZ5KSkpO1xuICB9LFxuICB7XG4gICAgZmFzdGlmeTogJ14zLjAuMCB8fCBeNC4wLjAtYWxwaGEuMCB8fCBeNC4wLjAtcmMuMCB8fCBeNC4wLjAnLFxuICAgIG5hbWU6ICdmYXN0aWZ5RGVjb3JhdG9ycycsXG4gIH0sXG4pO1xuXG5mdW5jdGlvbiBhdXRvTG9hZE1vZHVsZXMoY29uZmlnOiBBdXRvTG9hZENvbmZpZyk6IEFzeW5jSXRlcmFibGU8Q29uc3RydWN0YWJsZTx1bmtub3duPj4ge1xuICBjb25zdCBmbGFncyA9IGNvbmZpZy5tYXNrIGluc3RhbmNlb2YgUmVnRXhwID8gY29uZmlnLm1hc2suZmxhZ3MucmVwbGFjZSgnZycsICcnKSA6ICcnO1xuICBjb25zdCBmaWx0ZXIgPSBjb25maWcubWFzayA/IG5ldyBSZWdFeHAoY29uZmlnLm1hc2ssIGZsYWdzKSA6IGRlZmF1bHRNYXNrO1xuXG4gIHJldHVybiByZWFkTW9kdWxlc1JlY3Vyc2l2ZWx5KHBhcnNlUGF0aChjb25maWcuZGlyZWN0b3J5KSwgZmlsdGVyKTtcbn1cblxuZnVuY3Rpb24gcGFyc2VQYXRoKGRpcmVjdG9yeTogUGF0aExpa2UpOiBVUkwge1xuICBjb25zdCB1cmxMaWtlID0gZGlyZWN0b3J5LnRvU3RyaW5nKCd1dGY4Jyk7XG4gIGNvbnN0IHVybCA9IHVybExpa2Uuc3RhcnRzV2l0aCgnZmlsZTovLycpID8gbmV3IFVSTCh1cmxMaWtlKSA6IG5ldyBVUkwoJ2ZpbGU6Ly8nICsgdXJsTGlrZSk7XG5cbiAgaWYgKGxzdGF0U3luYyh1cmwpLmlzRmlsZSgpKSB1cmwucGF0aG5hbWUgKz0gJy4vLi4nO1xuICByZXR1cm4gdXJsO1xufVxuXG5hc3luYyBmdW5jdGlvbiogcmVhZE1vZHVsZXNSZWN1cnNpdmVseShwYXJlbnRVcmw6IFVSTCwgZmlsdGVyOiBSZWdFeHApOiBBc3luY0l0ZXJhYmxlPENvbnN0cnVjdGFibGU8dW5rbm93bj4+IHtcbiAgY29uc3QgZGlyID0gb3BlbmRpclN5bmMocGFyZW50VXJsKTtcbiAgcGFyZW50VXJsLnBhdGhuYW1lICs9ICcvJztcblxuICB0cnkge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBjb25zdCBkaXJlbnQgPSBhd2FpdCBkaXIucmVhZCgpO1xuICAgICAgaWYgKGRpcmVudCA9PSBudWxsKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IGZ1bGxGaWxlUGF0aCA9IG5ldyBVUkwoZGlyZW50Lm5hbWUsIHBhcmVudFVybCk7XG4gICAgICBpZiAoZGlyZW50LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgeWllbGQqIHJlYWRNb2R1bGVzUmVjdXJzaXZlbHkoZnVsbEZpbGVQYXRoLCBmaWx0ZXIpO1xuICAgICAgfSBlbHNlIGlmIChmaWx0ZXIudGVzdChkaXJlbnQubmFtZSkpIHtcbiAgICAgICAgeWllbGQgaW1wb3J0KGZ1bGxGaWxlUGF0aC50b1N0cmluZygpKS50aGVuKChtKSA9PiBtLmRlZmF1bHQpO1xuICAgICAgfVxuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBhd2FpdCBkaXIuY2xvc2UoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBsb2FkUmVnaXN0cmFibGU8VD4odGhpczogRmFzdGlmeUluc3RhbmNlLCBjb25maWc6IEJvb3RzdHJhcENvbmZpZywgY29uc3RydWN0YWJsZTogQ29uc3RydWN0YWJsZTxUPik6IFByb21pc2U8dm9pZD4gfCB2b2lkIHtcbiAgaWYgKGlzVmFsaWRSZWdpc3RyYWJsZShjb25zdHJ1Y3RhYmxlKSkge1xuICAgIHJldHVybiBjb25zdHJ1Y3RhYmxlW0NSRUFUT1JdLnJlZ2lzdGVyKHRoaXMsIGNvbmZpZy5wcmVmaXgpO1xuICB9IGVsc2UgaWYgKCFjb25maWcuc2tpcEJyb2tlbikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYExvYWRlZCBmaWxlIGlzIGluY29ycmVjdCBtb2R1bGUgYW5kIGNhbiBub3QgYmUgYm9vdHN0cmFwcGVkOiAke2NvbnN0cnVjdGFibGV9YCk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL2Jvb3RzdHJhcC9ib290c3RyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQVksTUFBTSxTQUFTLENBQUM7QUFHM0QsT0FBTyxFQUFpQixhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsTUFBTSxXQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUF3QyxFQUFFLENBQzlELEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEVBQUU7SUFDaEMsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUUvRSxJQUFJLFdBQVcsSUFBSSxNQUFNO1FBQUUsTUFBTSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsZUFBZSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMxSCxJQUFJLGFBQWEsSUFBSSxNQUFNO1FBQUUsTUFBTSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFdkgsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUVoRixlQUFlLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hILENBQUMsRUFDRDtJQUNFLE9BQU8sRUFBRSxtREFBbUQ7SUFDNUQsSUFBSSxFQUFFLG1CQUFtQjtDQUMxQixDQUNGLENBQUM7QUFFRixTQUFTLGVBQWUsQ0FBQyxNQUFzQjtJQUM3QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3RGLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUV4RSxPQUFPLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkUsQ0FBQztBQUVELFNBQVMsU0FBUyxDQUFDLFNBQW1CO0lBQ3BDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDM0MsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUU1RixJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFBRSxHQUFHLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQztJQUNwRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxLQUFLLFNBQVMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFNBQWMsRUFBRSxJQUFZO0lBQ2pFLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQyxTQUFTLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQztJQUUxQixJQUFJO1FBQ0YsT0FBTyxJQUFJLEVBQUU7WUFDWCxNQUFNLE1BQU0sR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQyxJQUFJLE1BQU0sSUFBSSxJQUFJO2dCQUFFLE9BQU87WUFFM0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNyRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDeEIsS0FBSyxDQUFDLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ25EO2lCQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pDLE1BQU0sTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlEO1NBQ0Y7S0FDRjtZQUFTO1FBQ1IsTUFBTSxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDbkI7QUFDSCxDQUFDO0FBRUQsU0FBUyxlQUFlLENBQTJCLE1BQXVCLEVBQUUsYUFBK0I7SUFDekcsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsRUFBRTtRQUNyQyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUM3RDtTQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQzdCLE1BQU0sSUFBSSxTQUFTLENBQUMsZ0VBQWdFLGFBQWEsRUFBRSxDQUFDLENBQUM7S0FDdEc7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgRmFzdGlmeUluc3RhbmNlLCBGYXN0aWZ5UGx1Z2luQXN5bmMgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCBmcCBmcm9tICdmYXN0aWZ5LXBsdWdpbic7XG5pbXBvcnQgeyBsc3RhdFN5bmMsIG9wZW5kaXJTeW5jLCBQYXRoTGlrZSB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHR5cGUgeyBBdXRvTG9hZENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvYm9vdHN0cmFwLWNvbmZpZy5qcyc7XG5pbXBvcnQgdHlwZSB7IEJvb3RzdHJhcENvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSwgaG9va3NSZWdpc3RyeSB9IGZyb20gJy4uL3BsdWdpbnMvaW5kZXguanMnO1xuaW1wb3J0IHsgQ1JFQVRPUiB9IGZyb20gJy4uL3N5bWJvbHMvaW5kZXguanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQW5kV2FpdCB9IGZyb20gJy4uL3V0aWxzL3RyYW5zZm9ybS1hbmQtd2FpdC5qcyc7XG5pbXBvcnQgeyBpc1ZhbGlkUmVnaXN0cmFibGUgfSBmcm9tICcuLi91dGlscy92YWxpZGF0b3JzLmpzJztcblxuY29uc3QgZGVmYXVsdE1hc2sgPSAvXFwuKGhhbmRsZXJ8Y29udHJvbGxlcilcXC4vO1xuXG5leHBvcnQgY29uc3QgYm9vdHN0cmFwOiBGYXN0aWZ5UGx1Z2luQXN5bmM8Qm9vdHN0cmFwQ29uZmlnPiA9IGZwPEJvb3RzdHJhcENvbmZpZz4oXG4gIGFzeW5jIChmYXN0aWZ5SW5zdGFuY2UsIGNvbmZpZykgPT4ge1xuICAgIGF3YWl0IHRyYW5zZm9ybUFuZFdhaXQoaG9va3NSZWdpc3RyeS5hcHBJbml0LCAoaG9vaykgPT4gaG9vayhmYXN0aWZ5SW5zdGFuY2UpKTtcblxuICAgIGlmICgnZGlyZWN0b3J5JyBpbiBjb25maWcpIGF3YWl0IHRyYW5zZm9ybUFuZFdhaXQoYXV0b0xvYWRNb2R1bGVzKGNvbmZpZyksIGxvYWRSZWdpc3RyYWJsZS5iaW5kKGZhc3RpZnlJbnN0YW5jZSwgY29uZmlnKSk7XG4gICAgaWYgKCdjb250cm9sbGVycycgaW4gY29uZmlnKSBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGNvbmZpZy5jb250cm9sbGVycywgbG9hZFJlZ2lzdHJhYmxlLmJpbmQoZmFzdGlmeUluc3RhbmNlLCBjb25maWcpKTtcblxuICAgIGF3YWl0IHRyYW5zZm9ybUFuZFdhaXQoaG9va3NSZWdpc3RyeS5hcHBSZWFkeSwgKGhvb2spID0+IGhvb2soZmFzdGlmeUluc3RhbmNlKSk7XG5cbiAgICBmYXN0aWZ5SW5zdGFuY2UuYWRkSG9vaygnb25DbG9zZScsICgpID0+IHRyYW5zZm9ybUFuZFdhaXQoaG9va3NSZWdpc3RyeS5hcHBEZXN0cm95LCAoaG9vaykgPT4gaG9vayhmYXN0aWZ5SW5zdGFuY2UpKSk7XG4gIH0sXG4gIHtcbiAgICBmYXN0aWZ5OiAnXjMuMC4wIHx8IF40LjAuMC1hbHBoYS4wIHx8IF40LjAuMC1yYy4wIHx8IF40LjAuMCcsXG4gICAgbmFtZTogJ2Zhc3RpZnlEZWNvcmF0b3JzJyxcbiAgfSxcbik7XG5cbmZ1bmN0aW9uIGF1dG9Mb2FkTW9kdWxlcyhjb25maWc6IEF1dG9Mb2FkQ29uZmlnKTogQXN5bmNJdGVyYWJsZTxDb25zdHJ1Y3RhYmxlPHVua25vd24+PiB7XG4gIGNvbnN0IGZsYWdzID0gY29uZmlnLm1hc2sgaW5zdGFuY2VvZiBSZWdFeHAgPyBjb25maWcubWFzay5mbGFncy5yZXBsYWNlKCdnJywgJycpIDogJyc7XG4gIGNvbnN0IG1hc2sgPSBjb25maWcubWFzayA/IG5ldyBSZWdFeHAoY29uZmlnLm1hc2ssIGZsYWdzKSA6IGRlZmF1bHRNYXNrO1xuXG4gIHJldHVybiByZWFkTW9kdWxlc1JlY3Vyc2l2ZWx5KHBhcnNlUGF0aChjb25maWcuZGlyZWN0b3J5KSwgbWFzayk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlUGF0aChkaXJlY3Rvcnk6IFBhdGhMaWtlKTogVVJMIHtcbiAgY29uc3QgdXJsTGlrZSA9IGRpcmVjdG9yeS50b1N0cmluZygndXRmOCcpO1xuICBjb25zdCB1cmwgPSB1cmxMaWtlLnN0YXJ0c1dpdGgoJ2ZpbGU6Ly8nKSA/IG5ldyBVUkwodXJsTGlrZSkgOiBuZXcgVVJMKCdmaWxlOi8vJyArIHVybExpa2UpO1xuXG4gIGlmIChsc3RhdFN5bmModXJsKS5pc0ZpbGUoKSkgdXJsLnBhdGhuYW1lICs9ICcuLy4uJztcbiAgcmV0dXJuIHVybDtcbn1cblxuYXN5bmMgZnVuY3Rpb24qIHJlYWRNb2R1bGVzUmVjdXJzaXZlbHkocGFyZW50VXJsOiBVUkwsIG1hc2s6IFJlZ0V4cCk6IEFzeW5jSXRlcmFibGU8Q29uc3RydWN0YWJsZTx1bmtub3duPj4ge1xuICBjb25zdCBkaXIgPSBvcGVuZGlyU3luYyhwYXJlbnRVcmwpO1xuICBwYXJlbnRVcmwucGF0aG5hbWUgKz0gJy8nO1xuXG4gIHRyeSB7XG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGNvbnN0IGRpcmVudCA9IGF3YWl0IGRpci5yZWFkKCk7XG4gICAgICBpZiAoZGlyZW50ID09IG51bGwpIHJldHVybjtcblxuICAgICAgY29uc3QgZnVsbEZpbGVQYXRoID0gbmV3IFVSTChkaXJlbnQubmFtZSwgcGFyZW50VXJsKTtcbiAgICAgIGlmIChkaXJlbnQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICB5aWVsZCogcmVhZE1vZHVsZXNSZWN1cnNpdmVseShmdWxsRmlsZVBhdGgsIG1hc2spO1xuICAgICAgfSBlbHNlIGlmIChtYXNrLnRlc3QoZGlyZW50Lm5hbWUpKSB7XG4gICAgICAgIHlpZWxkIGltcG9ydChmdWxsRmlsZVBhdGgudG9TdHJpbmcoKSkudGhlbigobSkgPT4gbS5kZWZhdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgYXdhaXQgZGlyLmNsb3NlKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbG9hZFJlZ2lzdHJhYmxlPFQ+KHRoaXM6IEZhc3RpZnlJbnN0YW5jZSwgY29uZmlnOiBCb290c3RyYXBDb25maWcsIGNvbnN0cnVjdGFibGU6IENvbnN0cnVjdGFibGU8VD4pOiBQcm9taXNlPHZvaWQ+IHwgdm9pZCB7XG4gIGlmIChpc1ZhbGlkUmVnaXN0cmFibGUoY29uc3RydWN0YWJsZSkpIHtcbiAgICByZXR1cm4gY29uc3RydWN0YWJsZVtDUkVBVE9SXS5yZWdpc3Rlcih0aGlzLCBjb25maWcucHJlZml4KTtcbiAgfSBlbHNlIGlmICghY29uZmlnLnNraXBCcm9rZW4pIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBMb2FkZWQgZmlsZSBpcyBpbmNvcnJlY3QgbW9kdWxlIGFuZCBjYW4gbm90IGJlIGJvb3RzdHJhcHBlZDogJHtjb25zdHJ1Y3RhYmxlfWApO1xuICB9XG59XG4iXX0= |
@@ -10,3 +10,3 @@ /** | ||
import { CREATOR } from '../symbols/index.js'; | ||
import { injectControllerOptions } from './helpers/inject-controller-options.js'; | ||
import { ensureRegistrable } from './helpers/ensure-registrable.js'; | ||
import { ControllerTypeStrategies } from './strategies/controller-type.js'; | ||
@@ -21,3 +21,3 @@ function makeConfig(config) { | ||
const { route, type, tags } = makeConfig(config); | ||
injectControllerOptions(controller); | ||
ensureRegistrable(controller); | ||
controller[CREATOR].register = async (instance, prefix = '') => { | ||
@@ -32,2 +32,2 @@ let controllerInstance; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBS0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxTQUFTLFVBQVUsQ0FBQyxNQUFrQztJQUNwRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7UUFBRSxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFFM0QsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQzdFLENBQUM7QUFRRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQWtDO0lBQzNELE9BQU8sQ0FBQyxVQUF1QixFQUFRLEVBQUU7UUFDdkMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpELHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXBDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQXlCLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxFQUFFO1lBQzlFLElBQUksa0JBQWtCLENBQUM7WUFFdkIsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUNyQixLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pCLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEYsQ0FBQyxFQUNELEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsQ0FDM0IsQ0FBQztZQUVGLE9BQU8sa0JBQWtCLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlJbnN0YW5jZSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbmRleC5qcyc7XG5pbXBvcnQgeyBSZWdpc3RyYWJsZSB9IGZyb20gJy4uL3BsdWdpbnMvc2hhcmVkLWludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgQ29udHJvbGxlclR5cGUgfSBmcm9tICcuLi9yZWdpc3RyeS9jb250cm9sbGVyLXR5cGUuanMnO1xuaW1wb3J0IHsgQ1JFQVRPUiB9IGZyb20gJy4uL3N5bWJvbHMvaW5kZXguanMnO1xuaW1wb3J0IHsgaW5qZWN0Q29udHJvbGxlck9wdGlvbnMgfSBmcm9tICcuL2hlbHBlcnMvaW5qZWN0LWNvbnRyb2xsZXItb3B0aW9ucy5qcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyVHlwZVN0cmF0ZWdpZXMgfSBmcm9tICcuL3N0cmF0ZWdpZXMvY29udHJvbGxlci10eXBlLmpzJztcblxuZnVuY3Rpb24gbWFrZUNvbmZpZyhjb25maWc/OiBzdHJpbmcgfCBDb250cm9sbGVyQ29uZmlnKTogUmVxdWlyZWQ8Q29udHJvbGxlckNvbmZpZz4ge1xuICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIGNvbmZpZyA9IHsgcm91dGU6IGNvbmZpZyB9O1xuXG4gIHJldHVybiB7IHR5cGU6IENvbnRyb2xsZXJUeXBlLlNJTkdMRVRPTiwgcm91dGU6ICcvJywgdGFnczogW10sIC4uLmNvbmZpZyB9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgcmVnaXN0ZXIgbWV0aG9kIG9uIGNvbnRyb2xsZXIgdG8gYWxsb3cgYm9vdHN0cmFwIGl0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBDb250cm9sbGVyKCk6IENsYXNzRGVjb3JhdG9yO1xuZXhwb3J0IGZ1bmN0aW9uIENvbnRyb2xsZXIocm91dGU6IHN0cmluZyk6IENsYXNzRGVjb3JhdG9yO1xuZXhwb3J0IGZ1bmN0aW9uIENvbnRyb2xsZXIoY29uZmlnOiBDb250cm9sbGVyQ29uZmlnKTogQ2xhc3NEZWNvcmF0b3I7XG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlcihjb25maWc/OiBzdHJpbmcgfCBDb250cm9sbGVyQ29uZmlnKTogdW5rbm93biB7XG4gIHJldHVybiAoY29udHJvbGxlcjogUmVnaXN0cmFibGUpOiB2b2lkID0+IHtcbiAgICBjb25zdCB7IHJvdXRlLCB0eXBlLCB0YWdzIH0gPSBtYWtlQ29uZmlnKGNvbmZpZyk7XG5cbiAgICBpbmplY3RDb250cm9sbGVyT3B0aW9ucyhjb250cm9sbGVyKTtcblxuICAgIGNvbnRyb2xsZXJbQ1JFQVRPUl0ucmVnaXN0ZXIgPSBhc3luYyAoaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSwgcHJlZml4ID0gJycpID0+IHtcbiAgICAgIGxldCBjb250cm9sbGVySW5zdGFuY2U7XG5cbiAgICAgIGF3YWl0IGluc3RhbmNlLnJlZ2lzdGVyKFxuICAgICAgICBhc3luYyAoaW5zdGFuY2UpID0+IHtcbiAgICAgICAgICBjb250cm9sbGVySW5zdGFuY2UgPSBDb250cm9sbGVyVHlwZVN0cmF0ZWdpZXNbdHlwZV0oaW5zdGFuY2UsIGNvbnRyb2xsZXIsIHRhZ3MpO1xuICAgICAgICB9LFxuICAgICAgICB7IHByZWZpeDogcHJlZml4ICsgcm91dGUgfSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiBjb250cm9sbGVySW5zdGFuY2U7XG4gICAgfTtcbiAgfTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL2NvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBS0gsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUzRSxTQUFTLFVBQVUsQ0FBQyxNQUFrQztJQUNwRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7UUFBRSxNQUFNLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFFM0QsT0FBTyxFQUFFLElBQUksRUFBRSxjQUFjLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQzdFLENBQUM7QUFRRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE1BQWtDO0lBQzNELE9BQU8sQ0FBQyxVQUF5QixFQUFRLEVBQUU7UUFDekMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpELGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlCLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQXlCLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxFQUFFO1lBQzlFLElBQUksa0JBQWtCLENBQUM7WUFFdkIsTUFBTSxRQUFRLENBQUMsUUFBUSxDQUNyQixLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2pCLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEYsQ0FBQyxFQUNELEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsQ0FDM0IsQ0FBQztZQUVGLE9BQU8sa0JBQWtCLENBQUM7UUFDNUIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlJbnN0YW5jZSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHR5cGUgeyBDb250cm9sbGVyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pbmRleC5qcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RhYmxlLCBSZWdpc3RyYWJsZSB9IGZyb20gJy4uL3BsdWdpbnMvc2hhcmVkLWludGVyZmFjZXMuanMnO1xuaW1wb3J0IHsgQ29udHJvbGxlclR5cGUgfSBmcm9tICcuLi9yZWdpc3RyeS9jb250cm9sbGVyLXR5cGUuanMnO1xuaW1wb3J0IHsgQ1JFQVRPUiB9IGZyb20gJy4uL3N5bWJvbHMvaW5kZXguanMnO1xuaW1wb3J0IHsgZW5zdXJlUmVnaXN0cmFibGUgfSBmcm9tICcuL2hlbHBlcnMvZW5zdXJlLXJlZ2lzdHJhYmxlLmpzJztcbmltcG9ydCB7IENvbnRyb2xsZXJUeXBlU3RyYXRlZ2llcyB9IGZyb20gJy4vc3RyYXRlZ2llcy9jb250cm9sbGVyLXR5cGUuanMnO1xuXG5mdW5jdGlvbiBtYWtlQ29uZmlnKGNvbmZpZz86IHN0cmluZyB8IENvbnRyb2xsZXJDb25maWcpOiBSZXF1aXJlZDxDb250cm9sbGVyQ29uZmlnPiB7XG4gIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykgY29uZmlnID0geyByb3V0ZTogY29uZmlnIH07XG5cbiAgcmV0dXJuIHsgdHlwZTogQ29udHJvbGxlclR5cGUuU0lOR0xFVE9OLCByb3V0ZTogJy8nLCB0YWdzOiBbXSwgLi4uY29uZmlnIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyByZWdpc3RlciBtZXRob2Qgb24gY29udHJvbGxlciB0byBhbGxvdyBib290c3RyYXAgaXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIENvbnRyb2xsZXIoKTogQ2xhc3NEZWNvcmF0b3I7XG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlcihyb3V0ZTogc3RyaW5nKTogQ2xhc3NEZWNvcmF0b3I7XG5leHBvcnQgZnVuY3Rpb24gQ29udHJvbGxlcihjb25maWc6IENvbnRyb2xsZXJDb25maWcpOiBDbGFzc0RlY29yYXRvcjtcbmV4cG9ydCBmdW5jdGlvbiBDb250cm9sbGVyKGNvbmZpZz86IHN0cmluZyB8IENvbnRyb2xsZXJDb25maWcpOiB1bmtub3duIHtcbiAgcmV0dXJuIChjb250cm9sbGVyOiBDb25zdHJ1Y3RhYmxlKTogdm9pZCA9PiB7XG4gICAgY29uc3QgeyByb3V0ZSwgdHlwZSwgdGFncyB9ID0gbWFrZUNvbmZpZyhjb25maWcpO1xuXG4gICAgZW5zdXJlUmVnaXN0cmFibGUoY29udHJvbGxlcik7XG5cbiAgICBjb250cm9sbGVyW0NSRUFUT1JdLnJlZ2lzdGVyID0gYXN5bmMgKGluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UsIHByZWZpeCA9ICcnKSA9PiB7XG4gICAgICBsZXQgY29udHJvbGxlckluc3RhbmNlO1xuXG4gICAgICBhd2FpdCBpbnN0YW5jZS5yZWdpc3RlcihcbiAgICAgICAgYXN5bmMgKGluc3RhbmNlKSA9PiB7XG4gICAgICAgICAgY29udHJvbGxlckluc3RhbmNlID0gQ29udHJvbGxlclR5cGVTdHJhdGVnaWVzW3R5cGVdKGluc3RhbmNlLCBjb250cm9sbGVyLCB0YWdzKTtcbiAgICAgICAgfSxcbiAgICAgICAgeyBwcmVmaXg6IHByZWZpeCArIHJvdXRlIH0sXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gY29udHJvbGxlckluc3RhbmNlO1xuICAgIH07XG4gIH07XG59XG4iXX0= |
@@ -10,25 +10,26 @@ /** | ||
import { ERROR_HANDLERS, HANDLERS, HOOKS } from '../../symbols/index.js'; | ||
export declare function ensureHandlers(val: { | ||
[HANDLERS]?: IHandler[]; | ||
}): asserts val is { | ||
[HANDLERS]: IHandler[]; | ||
import { Container } from './container.js'; | ||
export declare function ensureHandlers(target: { | ||
[HANDLERS]?: Container<IHandler>; | ||
}): asserts target is { | ||
[HANDLERS]: Container<IHandler>; | ||
}; | ||
export declare function hasHandlers<Class>(val: Class): val is Class & { | ||
[HANDLERS]: IHandler[]; | ||
export declare function hasHandlers<Class>(target: Class): target is Class & { | ||
[HANDLERS]: Container<IHandler>; | ||
}; | ||
export declare function ensureErrorHandlers(val: { | ||
[ERROR_HANDLERS]?: IErrorHandler[]; | ||
}): asserts val is { | ||
[ERROR_HANDLERS]: IErrorHandler[]; | ||
export declare function ensureErrorHandlers(target: { | ||
[ERROR_HANDLERS]?: Container<IErrorHandler>; | ||
}): asserts target is { | ||
[ERROR_HANDLERS]: Container<IErrorHandler>; | ||
}; | ||
export declare function hasErrorHandlers<Class>(val: Class): val is Class & { | ||
[ERROR_HANDLERS]: IErrorHandler[]; | ||
export declare function hasErrorHandlers<Class>(target: Class): target is Class & { | ||
[ERROR_HANDLERS]: Container<IErrorHandler>; | ||
}; | ||
export declare function ensureHooks(val: { | ||
[HOOKS]?: IHook[]; | ||
}): asserts val is { | ||
[HOOKS]: IHook[]; | ||
export declare function ensureHooks(target: { | ||
[HOOKS]?: Container<IHook>; | ||
}): asserts target is { | ||
[HOOKS]: Container<IHook>; | ||
}; | ||
export declare function hasHooks<Class>(val: Class): val is Class & { | ||
[HOOKS]: IHook[]; | ||
export declare function hasHooks<Class>(target: Class): target is Class & { | ||
[HOOKS]: Container<IHook>; | ||
}; |
@@ -9,6 +9,7 @@ /** | ||
import { ERROR_HANDLERS, HANDLERS, HOOKS } from '../../symbols/index.js'; | ||
export function ensureHandlers(val) { | ||
if (!(HANDLERS in val)) { | ||
Reflect.defineProperty(val, HANDLERS, { | ||
value: [], | ||
import { Container } from './container.js'; | ||
export function ensureHandlers(target) { | ||
if (!Object.prototype.hasOwnProperty.call(target, HANDLERS)) { | ||
Reflect.defineProperty(target, HANDLERS, { | ||
value: new Container(target[HANDLERS]), | ||
enumerable: false, | ||
@@ -20,9 +21,9 @@ configurable: false, | ||
} | ||
export function hasHandlers(val) { | ||
return HANDLERS in val; | ||
export function hasHandlers(target) { | ||
return HANDLERS in target; | ||
} | ||
export function ensureErrorHandlers(val) { | ||
if (!(ERROR_HANDLERS in val)) { | ||
Reflect.defineProperty(val, ERROR_HANDLERS, { | ||
value: [], | ||
export function ensureErrorHandlers(target) { | ||
if (!Object.prototype.hasOwnProperty.call(target, ERROR_HANDLERS)) { | ||
Reflect.defineProperty(target, ERROR_HANDLERS, { | ||
value: new Container(target[ERROR_HANDLERS]), | ||
enumerable: false, | ||
@@ -34,9 +35,9 @@ configurable: false, | ||
} | ||
export function hasErrorHandlers(val) { | ||
return ERROR_HANDLERS in val; | ||
export function hasErrorHandlers(target) { | ||
return ERROR_HANDLERS in target; | ||
} | ||
export function ensureHooks(val) { | ||
if (!(HOOKS in val)) { | ||
Reflect.defineProperty(val, HOOKS, { | ||
value: [], | ||
export function ensureHooks(target) { | ||
if (!Object.prototype.hasOwnProperty.call(target, HOOKS)) { | ||
Reflect.defineProperty(target, HOOKS, { | ||
value: new Container(target[HOOKS]), | ||
enumerable: false, | ||
@@ -48,5 +49,5 @@ configurable: false, | ||
} | ||
export function hasHooks(val) { | ||
return HOOKS in val; | ||
export function hasHooks(target) { | ||
return HOOKS in target; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtcHJvcGVydGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL2hlbHBlcnMvY2xhc3MtcHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFHSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RSxNQUFNLFVBQVUsY0FBYyxDQUFDLEdBQWdDO0lBQzdELElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUU7WUFDcEMsS0FBSyxFQUFFLEVBQUU7WUFDVCxVQUFVLEVBQUUsS0FBSztZQUNqQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDLENBQUM7S0FDSjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFRLEdBQVU7SUFDM0MsT0FBTyxRQUFRLElBQUksR0FBRyxDQUFDO0FBQ3pCLENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsR0FBMkM7SUFDN0UsSUFBSSxDQUFDLENBQUMsY0FBYyxJQUFJLEdBQUcsQ0FBQyxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLGNBQWMsRUFBRTtZQUMxQyxLQUFLLEVBQUUsRUFBRTtZQUNULFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBUSxHQUFVO0lBQ2hELE9BQU8sY0FBYyxJQUFJLEdBQUcsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUEwQjtJQUNwRCxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEVBQUU7UUFDbkIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQ2pDLEtBQUssRUFBRSxFQUFFO1lBQ1QsVUFBVSxFQUFFLEtBQUs7WUFDakIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBUSxHQUFVO0lBQ3hDLE9BQU8sS0FBSyxJQUFJLEdBQUcsQ0FBQztBQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB7IElFcnJvckhhbmRsZXIsIElIYW5kbGVyLCBJSG9vayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgRVJST1JfSEFORExFUlMsIEhBTkRMRVJTLCBIT09LUyB9IGZyb20gJy4uLy4uL3N5bWJvbHMvaW5kZXguanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlSGFuZGxlcnModmFsOiB7IFtIQU5ETEVSU10/OiBJSGFuZGxlcltdIH0pOiBhc3NlcnRzIHZhbCBpcyB7IFtIQU5ETEVSU106IElIYW5kbGVyW10gfSB7XG4gIGlmICghKEhBTkRMRVJTIGluIHZhbCkpIHtcbiAgICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHZhbCwgSEFORExFUlMsIHtcbiAgICAgIHZhbHVlOiBbXSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzSGFuZGxlcnM8Q2xhc3M+KHZhbDogQ2xhc3MpOiB2YWwgaXMgQ2xhc3MgJiB7IFtIQU5ETEVSU106IElIYW5kbGVyW10gfSB7XG4gIHJldHVybiBIQU5ETEVSUyBpbiB2YWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVFcnJvckhhbmRsZXJzKHZhbDogeyBbRVJST1JfSEFORExFUlNdPzogSUVycm9ySGFuZGxlcltdIH0pOiBhc3NlcnRzIHZhbCBpcyB7IFtFUlJPUl9IQU5ETEVSU106IElFcnJvckhhbmRsZXJbXSB9IHtcbiAgaWYgKCEoRVJST1JfSEFORExFUlMgaW4gdmFsKSkge1xuICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodmFsLCBFUlJPUl9IQU5ETEVSUywge1xuICAgICAgdmFsdWU6IFtdLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNFcnJvckhhbmRsZXJzPENsYXNzPih2YWw6IENsYXNzKTogdmFsIGlzIENsYXNzICYgeyBbRVJST1JfSEFORExFUlNdOiBJRXJyb3JIYW5kbGVyW10gfSB7XG4gIHJldHVybiBFUlJPUl9IQU5ETEVSUyBpbiB2YWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVIb29rcyh2YWw6IHsgW0hPT0tTXT86IElIb29rW10gfSk6IGFzc2VydHMgdmFsIGlzIHsgW0hPT0tTXTogSUhvb2tbXSB9IHtcbiAgaWYgKCEoSE9PS1MgaW4gdmFsKSkge1xuICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodmFsLCBIT09LUywge1xuICAgICAgdmFsdWU6IFtdLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNIb29rczxDbGFzcz4odmFsOiBDbGFzcyk6IHZhbCBpcyBDbGFzcyAmIHsgW0hPT0tTXTogSUhvb2tbXSB9IHtcbiAgcmV0dXJuIEhPT0tTIGluIHZhbDtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtcHJvcGVydGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL2hlbHBlcnMvY2xhc3MtcHJvcGVydGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFHSCxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxVQUFVLGNBQWMsQ0FBQyxNQUE0QztJQUN6RSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRTtRQUMzRCxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7WUFDdkMsS0FBSyxFQUFFLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQXdCLENBQUM7WUFDN0QsVUFBVSxFQUFFLEtBQUs7WUFDakIsWUFBWSxFQUFFLEtBQUs7WUFDbkIsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBUSxNQUFhO0lBQzlDLE9BQU8sUUFBUSxJQUFJLE1BQU0sQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLE1BQXVEO0lBQ3pGLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxFQUFFO1FBQ2pFLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRTtZQUM3QyxLQUFLLEVBQUUsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBNkIsQ0FBQztZQUN4RSxVQUFVLEVBQUUsS0FBSztZQUNqQixZQUFZLEVBQUUsS0FBSztZQUNuQixRQUFRLEVBQUUsS0FBSztTQUNoQixDQUFDLENBQUM7S0FDSjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsZ0JBQWdCLENBQVEsTUFBYTtJQUNuRCxPQUFPLGNBQWMsSUFBSSxNQUFNLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsTUFBc0M7SUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDeEQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ3BDLEtBQUssRUFBRSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFxQixDQUFDO1lBQ3ZELFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztLQUNKO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQVEsTUFBYTtJQUMzQyxPQUFPLEtBQUssSUFBSSxNQUFNLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBJRXJyb3JIYW5kbGVyLCBJSGFuZGxlciwgSUhvb2sgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2luZGV4LmpzJztcbmltcG9ydCB7IEVSUk9SX0hBTkRMRVJTLCBIQU5ETEVSUywgSE9PS1MgfSBmcm9tICcuLi8uLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gJy4vY29udGFpbmVyLmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuc3VyZUhhbmRsZXJzKHRhcmdldDogeyBbSEFORExFUlNdPzogQ29udGFpbmVyPElIYW5kbGVyPiB9KTogYXNzZXJ0cyB0YXJnZXQgaXMgeyBbSEFORExFUlNdOiBDb250YWluZXI8SUhhbmRsZXI+IH0ge1xuICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0YXJnZXQsIEhBTkRMRVJTKSkge1xuICAgIFJlZmxlY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBIQU5ETEVSUywge1xuICAgICAgdmFsdWU6IG5ldyBDb250YWluZXIodGFyZ2V0W0hBTkRMRVJTXSBhcyBDb250YWluZXI8SUhhbmRsZXI+KSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzSGFuZGxlcnM8Q2xhc3M+KHRhcmdldDogQ2xhc3MpOiB0YXJnZXQgaXMgQ2xhc3MgJiB7IFtIQU5ETEVSU106IENvbnRhaW5lcjxJSGFuZGxlcj4gfSB7XG4gIHJldHVybiBIQU5ETEVSUyBpbiB0YXJnZXQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVFcnJvckhhbmRsZXJzKHRhcmdldDogeyBbRVJST1JfSEFORExFUlNdPzogQ29udGFpbmVyPElFcnJvckhhbmRsZXI+IH0pOiBhc3NlcnRzIHRhcmdldCBpcyB7IFtFUlJPUl9IQU5ETEVSU106IENvbnRhaW5lcjxJRXJyb3JIYW5kbGVyPiB9IHtcbiAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGFyZ2V0LCBFUlJPUl9IQU5ETEVSUykpIHtcbiAgICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgRVJST1JfSEFORExFUlMsIHtcbiAgICAgIHZhbHVlOiBuZXcgQ29udGFpbmVyKHRhcmdldFtFUlJPUl9IQU5ETEVSU10gYXMgQ29udGFpbmVyPElFcnJvckhhbmRsZXI+KSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzRXJyb3JIYW5kbGVyczxDbGFzcz4odGFyZ2V0OiBDbGFzcyk6IHRhcmdldCBpcyBDbGFzcyAmIHsgW0VSUk9SX0hBTkRMRVJTXTogQ29udGFpbmVyPElFcnJvckhhbmRsZXI+IH0ge1xuICByZXR1cm4gRVJST1JfSEFORExFUlMgaW4gdGFyZ2V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlSG9va3ModGFyZ2V0OiB7IFtIT09LU10/OiBDb250YWluZXI8SUhvb2s+IH0pOiBhc3NlcnRzIHRhcmdldCBpcyB7IFtIT09LU106IENvbnRhaW5lcjxJSG9vaz4gfSB7XG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRhcmdldCwgSE9PS1MpKSB7XG4gICAgUmVmbGVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIEhPT0tTLCB7XG4gICAgICB2YWx1ZTogbmV3IENvbnRhaW5lcih0YXJnZXRbSE9PS1NdIGFzIENvbnRhaW5lcjxJSG9vaz4pLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNIb29rczxDbGFzcz4odGFyZ2V0OiBDbGFzcyk6IHRhcmdldCBpcyBDbGFzcyAmIHsgW0hPT0tTXTogQ29udGFpbmVyPElIb29rPiB9IHtcbiAgcmV0dXJuIEhPT0tTIGluIHRhcmdldDtcbn1cbiJdfQ== |
@@ -10,2 +10,2 @@ /** | ||
import { IErrorHandler } from '../../interfaces/index.js'; | ||
export declare function createErrorsHandler(errorHandlers: IErrorHandler[], classInstance: Record<string, (error: Error, request: FastifyRequest, reply: FastifyReply) => void>): (error: Error, request: FastifyRequest, reply: FastifyReply) => Promise<void>; | ||
export declare function createErrorsHandler(errorHandlers: Iterable<IErrorHandler>, instance: Record<string, (error: Error, request: FastifyRequest, reply: FastifyReply) => void>): (error: Error, request: FastifyRequest, reply: FastifyReply) => Promise<void>; |
@@ -1,2 +0,2 @@ | ||
export function createErrorsHandler(errorHandlers, classInstance) { | ||
export function createErrorsHandler(errorHandlers, instance) { | ||
return async function errorHandler(error, request, reply) { | ||
@@ -6,3 +6,3 @@ for (const handler of errorHandlers) { | ||
try { | ||
await classInstance[handler.handlerName](error, request, reply); | ||
await instance[handler.handlerName](error, request, reply); | ||
return; | ||
@@ -18,2 +18,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVycm9ycy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2RlY29yYXRvcnMvaGVscGVycy9jcmVhdGUtZXJyb3JzLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxhQUE4QixFQUM5QixhQUFtRztJQUVuRyxPQUFPLEtBQUssVUFBVSxZQUFZLENBQUMsS0FBWSxFQUFFLE9BQXVCLEVBQUUsS0FBbUI7UUFDM0YsS0FBSyxNQUFNLE9BQU8sSUFBSSxhQUFhLEVBQUU7WUFDbkMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJO29CQUNGLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFxQixDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDMUUsT0FBTztpQkFDUjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixLQUFLLEdBQUcsQ0FBVSxDQUFDO2lCQUNwQjthQUNGO1NBQ0Y7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cbmltcG9ydCB0eXBlIHsgRmFzdGlmeVJlcGx5LCBGYXN0aWZ5UmVxdWVzdCB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgSUVycm9ySGFuZGxlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXJyb3JzSGFuZGxlcihcbiAgZXJyb3JIYW5kbGVyczogSUVycm9ySGFuZGxlcltdLFxuICBjbGFzc0luc3RhbmNlOiBSZWNvcmQ8c3RyaW5nLCAoZXJyb3I6IEVycm9yLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgcmVwbHk6IEZhc3RpZnlSZXBseSkgPT4gdm9pZD4sXG4pOiAoZXJyb3I6IEVycm9yLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgcmVwbHk6IEZhc3RpZnlSZXBseSkgPT4gUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiBlcnJvckhhbmRsZXIoZXJyb3I6IEVycm9yLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgcmVwbHk6IEZhc3RpZnlSZXBseSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiBlcnJvckhhbmRsZXJzKSB7XG4gICAgICBpZiAoaGFuZGxlci5hY2NlcHRzKGVycm9yKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGNsYXNzSW5zdGFuY2VbaGFuZGxlci5oYW5kbGVyTmFtZSBhcyBzdHJpbmddKGVycm9yLCByZXF1ZXN0LCByZXBseSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgZXJyb3IgPSBlIGFzIEVycm9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH07XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVycm9ycy1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2RlY29yYXRvcnMvaGVscGVycy9jcmVhdGUtZXJyb3JzLWhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUEsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxhQUFzQyxFQUN0QyxRQUE4RjtJQUU5RixPQUFPLEtBQUssVUFBVSxZQUFZLENBQUMsS0FBWSxFQUFFLE9BQXVCLEVBQUUsS0FBbUI7UUFDM0YsS0FBSyxNQUFNLE9BQU8sSUFBSSxhQUFhLEVBQUU7WUFDbkMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUMxQixJQUFJO29CQUNGLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxXQUFxQixDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDckUsT0FBTztpQkFDUjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixLQUFLLEdBQUcsQ0FBVSxDQUFDO2lCQUNwQjthQUNGO1NBQ0Y7UUFFRCxNQUFNLEtBQUssQ0FBQztJQUNkLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cbmltcG9ydCB0eXBlIHsgRmFzdGlmeVJlcGx5LCBGYXN0aWZ5UmVxdWVzdCB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgSUVycm9ySGFuZGxlciB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRXJyb3JzSGFuZGxlcihcbiAgZXJyb3JIYW5kbGVyczogSXRlcmFibGU8SUVycm9ySGFuZGxlcj4sXG4gIGluc3RhbmNlOiBSZWNvcmQ8c3RyaW5nLCAoZXJyb3I6IEVycm9yLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgcmVwbHk6IEZhc3RpZnlSZXBseSkgPT4gdm9pZD4sXG4pOiAoZXJyb3I6IEVycm9yLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgcmVwbHk6IEZhc3RpZnlSZXBseSkgPT4gUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiBlcnJvckhhbmRsZXIoZXJyb3I6IEVycm9yLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgcmVwbHk6IEZhc3RpZnlSZXBseSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiBlcnJvckhhbmRsZXJzKSB7XG4gICAgICBpZiAoaGFuZGxlci5hY2NlcHRzKGVycm9yKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGluc3RhbmNlW2hhbmRsZXIuaGFuZGxlck5hbWUgYXMgc3RyaW5nXShlcnJvciwgcmVxdWVzdCwgcmVwbHkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGVycm9yID0gZSBhcyBFcnJvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9O1xufVxuIl19 |
@@ -10,2 +10,3 @@ /** | ||
import { HttpMethods, RouteConfig } from '../../interfaces/index.js'; | ||
import { Constructable } from '../../plugins/index.js'; | ||
declare type ParsedRouteConfig = { | ||
@@ -15,4 +16,4 @@ url: string; | ||
}; | ||
export declare function requestDecoratorsFactory(method: HttpMethods): (routeOrConfig?: string | RouteConfig, options?: RouteShorthandOptions) => (target: any, propKey?: string | symbol) => void; | ||
export declare function requestDecoratorsFactory(method: HttpMethods): (routeOrConfig?: string | RouteConfig, options?: RouteShorthandOptions) => (target: Constructable, propKey?: string | symbol) => void; | ||
export declare function controllerMethodDecoratorsFactory(method: HttpMethods, config: ParsedRouteConfig, { constructor }: any, propKey: string | symbol): void; | ||
export {}; |
@@ -13,2 +13,3 @@ /** | ||
import { createErrorsHandler } from './create-errors-handler.js'; | ||
import { ensureRegistrable } from './ensure-registrable.js'; | ||
function parseConfig(config = '/', options = {}) { | ||
@@ -24,9 +25,9 @@ if (typeof config === 'string') | ||
const requestHandlersCache = new WeakMap(); | ||
async function getTarget(Target, request, ...rest) { | ||
async function getTarget(target, request, ...rest) { | ||
if (requestHandlersCache.has(request)) | ||
return requestHandlersCache.get(request); | ||
const target = new Target(request, ...rest); | ||
await transformAndWait(hooksRegistry.afterControllerCreation, (hook) => hook(target, Target)); | ||
requestHandlersCache.set(request, target); | ||
return target; | ||
const instance = new target(request, ...rest); | ||
await transformAndWait(hooksRegistry.afterControllerCreation, (hook) => hook(request.server, target, instance)); | ||
requestHandlersCache.set(request, instance); | ||
return instance; | ||
} | ||
@@ -41,28 +42,27 @@ export function requestDecoratorsFactory(method) { | ||
} | ||
target[CREATOR] = { | ||
register: (instance) => { | ||
if (hasHooks(target)) { | ||
for (const hook of target[HOOKS]) { | ||
const hookFn = (request, ...rest) => { | ||
return getTarget(target, request, ...rest).then((t) => t[hook.handlerName](request, ...rest)); | ||
}; | ||
const option = config.options[hook.name]; | ||
if (option == null) | ||
config.options[hook.name] = hookFn; | ||
else if (Array.isArray(option)) | ||
option.push(hookFn); | ||
else | ||
config.options[hook.name] = [option, hookFn]; | ||
} | ||
} | ||
if (hasErrorHandlers(target)) { | ||
config.options.errorHandler = async (error, request, ...rest) => { | ||
const errorsHandler = createErrorsHandler(target[ERROR_HANDLERS], await getTarget(target, request, ...rest)); | ||
return errorsHandler(error, request, ...rest); | ||
ensureRegistrable(target); | ||
target[CREATOR].register = (instance) => { | ||
if (hasHooks(target)) { | ||
for (const hook of target[HOOKS]) { | ||
const hookFn = (request, ...rest) => { | ||
return getTarget(target, request, ...rest).then((t) => t[hook.handlerName](request, ...rest)); | ||
}; | ||
const option = config.options[hook.name]; | ||
if (option == null) | ||
config.options[hook.name] = hookFn; | ||
else if (Array.isArray(option)) | ||
option.push(hookFn); | ||
else | ||
config.options[hook.name] = [option, hookFn]; | ||
} | ||
instance[method](config.url, config.options, function (request, ...rest) { | ||
return getTarget(target, request, ...rest).then((t) => t.handle()); | ||
}); | ||
}, | ||
} | ||
if (hasErrorHandlers(target)) { | ||
config.options.errorHandler = async (error, request, ...rest) => { | ||
const errorsHandler = createErrorsHandler(target[ERROR_HANDLERS], await getTarget(target, request, ...rest)); | ||
return errorsHandler(error, request, ...rest); | ||
}; | ||
} | ||
instance[method](config.url, config.options, function (request, ...rest) { | ||
return getTarget(target, request, ...rest).then((t) => t.handle()); | ||
}); | ||
}; | ||
@@ -81,2 +81,2 @@ }; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZWNvcmF0b3JzLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZGVjb3JhdG9ycy9oZWxwZXJzL3JlcXVlc3QtZGVjb3JhdG9ycy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUlILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUlqRSxTQUFTLFdBQVcsQ0FBQyxTQUErQixHQUFHLEVBQUUsVUFBaUMsRUFBRTtJQUMxRixJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVE7UUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUVoRSxNQUFNLE1BQU0sR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3RDLE9BQU87UUFDTCxHQUFHLE1BQU07UUFDVCxPQUFPLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUU7S0FDL0IsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLG9CQUFvQixHQUFHLElBQUksT0FBTyxFQUFrQyxDQUFDO0FBRTNFLEtBQUssVUFBVSxTQUFTLENBQUMsTUFBVyxFQUFFLE9BQXVCLEVBQUUsR0FBRyxJQUFlO0lBQy9FLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztRQUFFLE9BQU8sb0JBQW9CLENBQUMsR0FB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Q0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO29CQUNyRSxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2FBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUNBQWlDLENBQUMsTUFBbUIsRUFBRSxNQUF5QixFQUFFLEVBQUUsV0FBVyxFQUFPLEVBQUUsT0FBd0I7SUFDOUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTVCLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekIsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHO1FBQ2YsTUFBTTtRQUNOLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztRQUN2QixhQUFhLEVBQUUsT0FBTztLQUN2QixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgRmFzdGlmeUluc3RhbmNlLCBGYXN0aWZ5UmVxdWVzdCwgUm91dGVTaG9ydGhhbmRPcHRpb25zIH0gZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQgeyBIdHRwTWV0aG9kcywgUmVxdWVzdEhhbmRsZXIsIFJlcXVlc3RIb29rLCBSb3V0ZUNvbmZpZyB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgaG9va3NSZWdpc3RyeSB9IGZyb20gJy4uLy4uL3BsdWdpbnMvaW5kZXguanMnO1xuaW1wb3J0IHsgQ1JFQVRPUiwgRVJST1JfSEFORExFUlMsIEhBTkRMRVJTLCBIT09LUyB9IGZyb20gJy4uLy4uL3N5bWJvbHMvaW5kZXguanMnO1xuaW1wb3J0IHsgdHJhbnNmb3JtQW5kV2FpdCB9IGZyb20gJy4uLy4uL3V0aWxzL3RyYW5zZm9ybS1hbmQtd2FpdC5qcyc7XG5pbXBvcnQgeyBlbnN1cmVIYW5kbGVycywgaGFzRXJyb3JIYW5kbGVycywgaGFzSG9va3MgfSBmcm9tICcuL2NsYXNzLXByb3BlcnRpZXMuanMnO1xuaW1wb3J0IHsgY3JlYXRlRXJyb3JzSGFuZGxlciB9IGZyb20gJy4vY3JlYXRlLWVycm9ycy1oYW5kbGVyLmpzJztcblxudHlwZSBQYXJzZWRSb3V0ZUNvbmZpZyA9IHsgdXJsOiBzdHJpbmc7IG9wdGlvbnM6IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyB9O1xuXG5mdW5jdGlvbiBwYXJzZUNvbmZpZyhjb25maWc6IHN0cmluZyB8IFJvdXRlQ29uZmlnID0gJy8nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMgPSB7fSk6IFBhcnNlZFJvdXRlQ29uZmlnIHtcbiAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSByZXR1cm4geyB1cmw6IGNvbmZpZywgb3B0aW9ucyB9O1xuXG4gIGNvbnN0IHBhcnNlZCA9IHsgb3B0aW9ucywgLi4uY29uZmlnIH07XG4gIHJldHVybiB7XG4gICAgLi4ucGFyc2VkLFxuICAgIG9wdGlvbnM6IHsgLi4ucGFyc2VkLm9wdGlvbnMgfSxcbiAgfTtcbn1cblxuY29uc3QgcmVxdWVzdEhhbmRsZXJzQ2FjaGUgPSBuZXcgV2Vha01hcDxGYXN0aWZ5UmVxdWVzdCwgUmVxdWVzdEhhbmRsZXI+KCk7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFRhcmdldChUYXJnZXQ6IGFueSwgcmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsIC4uLnJlc3Q6IHVua25vd25bXSkge1xuICBpZiAocmVxdWVzdEhhbmRsZXJzQ2FjaGUuaGFzKHJlcXVlc3QpKSByZXR1cm4gcmVxdWVzdEhhbmRsZXJzQ2FjaGUuZ2V0KHJlcXVlc3QpO1xuICBjb25zdCB0YXJnZXQgPSBuZXcgVGFyZ2V0KHJlcXVlc3QsIC4uLnJlc3QpO1xuICBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGhvb2tzUmVnaXN0cnkuYWZ0ZXJDb250cm9sbGVyQ3JlYXRpb24sIChob29rKSA9PiBob29rKHRhcmdldCwgVGFyZ2V0KSk7XG4gIHJlcXVlc3RIYW5kbGVyc0NhY2hlLnNldChyZXF1ZXN0LCB0YXJnZXQpO1xuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5KFxuICBtZXRob2Q6IEh0dHBNZXRob2RzLFxuKTogKHJvdXRlT3JDb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucykgPT4gKHRhcmdldDogYW55LCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIChyb3V0ZU9yQ29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiBhbnksIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHBhcnNlQ29uZmlnKHJvdXRlT3JDb25maWcsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCk6IHZvaWQge1xuICAgICAgaWYgKHByb3BLZXkpIHtcbiAgICAgICAgY29udHJvbGxlck1ldGhvZERlY29yYXRvcnNGYWN0b3J5KG1ldGhvZCwgY29uZmlnLCB0YXJnZXQsIHByb3BLZXkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRhcmdldFtDUkVBVE9SXSA9IHtcbiAgICAgICAgcmVnaXN0ZXI6IChpbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlKSA9PiB7XG4gICAgICAgICAgaWYgKGhhc0hvb2tzKHRhcmdldCkpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaG9vayBvZiB0YXJnZXRbSE9PS1NdIGFzIFJlcXVlc3RIb29rW10pIHtcbiAgICAgICAgICAgICAgY29uc3QgaG9va0ZuID0gKHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCAuLi5yZXN0OiB1bmtub3duW10pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0VGFyZ2V0KHRhcmdldCwgcmVxdWVzdCwgLi4ucmVzdCkudGhlbigodCkgPT4gdFtob29rLmhhbmRsZXJOYW1lXShyZXF1ZXN0LCAuLi5yZXN0KSk7XG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uID0gY29uZmlnLm9wdGlvbnNbaG9vay5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKG9wdGlvbiA9PSBudWxsKSBjb25maWcub3B0aW9uc1tob29rLm5hbWVdID0gaG9va0ZuO1xuICAgICAgICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbikpIG9wdGlvbi5wdXNoKGhvb2tGbik7XG4gICAgICAgICAgICAgIGVsc2UgY29uZmlnLm9wdGlvbnNbaG9vay5uYW1lXSA9IFtvcHRpb24gYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZCwgaG9va0ZuXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGhhc0Vycm9ySGFuZGxlcnModGFyZ2V0KSkge1xuICAgICAgICAgICAgY29uZmlnLm9wdGlvbnMuZXJyb3JIYW5kbGVyID0gYXN5bmMgKGVycm9yLCByZXF1ZXN0LCAuLi5yZXN0KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGVycm9yc0hhbmRsZXIgPSBjcmVhdGVFcnJvcnNIYW5kbGVyKHRhcmdldFtFUlJPUl9IQU5ETEVSU10sIGF3YWl0IGdldFRhcmdldCh0YXJnZXQsIHJlcXVlc3QsIC4uLnJlc3QpKTtcblxuICAgICAgICAgICAgICByZXR1cm4gZXJyb3JzSGFuZGxlcihlcnJvciwgcmVxdWVzdCwgLi4ucmVzdCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbnN0YW5jZVttZXRob2RdKGNvbmZpZy51cmwsIGNvbmZpZy5vcHRpb25zLCBmdW5jdGlvbiAocmVxdWVzdCwgLi4ucmVzdCkge1xuICAgICAgICAgICAgcmV0dXJuIGdldFRhcmdldCh0YXJnZXQsIHJlcXVlc3QsIC4uLnJlc3QpLnRoZW4oKHQpID0+IHQuaGFuZGxlKCkpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbGxlck1ldGhvZERlY29yYXRvcnNGYWN0b3J5KG1ldGhvZDogSHR0cE1ldGhvZHMsIGNvbmZpZzogUGFyc2VkUm91dGVDb25maWcsIHsgY29uc3RydWN0b3IgfTogYW55LCBwcm9wS2V5OiBzdHJpbmcgfCBzeW1ib2wpOiB2b2lkIHtcbiAgZW5zdXJlSGFuZGxlcnMoY29uc3RydWN0b3IpO1xuXG4gIGNvbnN0cnVjdG9yW0hBTkRMRVJTXS5wdXNoKHtcbiAgICB1cmw6IGNvbmZpZy51cmwsXG4gICAgbWV0aG9kLFxuICAgIG9wdGlvbnM6IGNvbmZpZy5vcHRpb25zLFxuICAgIGhhbmRsZXJNZXRob2Q6IHByb3BLZXksXG4gIH0pO1xufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1kZWNvcmF0b3JzLmZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZGVjb3JhdG9ycy9oZWxwZXJzL3JlcXVlc3QtZGVjb3JhdG9ycy5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUlILE9BQU8sRUFBNEIsYUFBYSxFQUFlLE1BQU0sd0JBQXdCLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJNUQsU0FBUyxXQUFXLENBQUMsU0FBK0IsR0FBRyxFQUFFLFVBQWlDLEVBQUU7SUFDMUYsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRO1FBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFFaEUsTUFBTSxNQUFNLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUN0QyxPQUFPO1FBQ0wsR0FBRyxNQUFNO1FBQ1QsT0FBTyxFQUFFLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFO0tBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBa0MsQ0FBQztBQUUzRSxLQUFLLFVBQVUsU0FBUyxDQUFDLE1BQW1CLEVBQUUsT0FBdUIsRUFBRSxHQUFHLElBQWU7SUFDdkYsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQUUsT0FBTyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDOUMsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2hILG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUMsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFtQjtJQUMxRCxPQUFPLFVBQVUsYUFBb0MsRUFBRSxPQUErQjtRQUNwRixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRW5ELE9BQU8sVUFBVSxNQUFNLEVBQUUsT0FBTztZQUM5QixJQUFJLE9BQU8sRUFBRTtnQkFDWCxpQ0FBaUMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkUsT0FBTzthQUNSO1lBRUQsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFMUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLFFBQXlCLEVBQUUsRUFBRTtnQkFDdkQsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ3BCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBMkIsRUFBRTt3QkFDMUQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUF1QixFQUFFLEdBQUcsSUFBZSxFQUFFLEVBQUU7NEJBQzdELE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQzt3QkFDaEcsQ0FBQyxDQUFDO3dCQUVGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN6QyxJQUFJLE1BQU0sSUFBSSxJQUFJOzRCQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQzs2QkFDbEQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQzs0QkFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzs0QkFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFzQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUNuRjtpQkFDRjtnQkFDRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFO3dCQUM5RCxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxTQUFTLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7d0JBRTdHLE9BQU8sYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztvQkFDaEQsQ0FBQyxDQUFDO2lCQUNIO2dCQUNELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxPQUFPLEVBQUUsR0FBRyxJQUFJO29CQUNyRSxPQUFPLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDckUsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7UUFDSixDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLGlDQUFpQyxDQUFDLE1BQW1CLEVBQUUsTUFBeUIsRUFBRSxFQUFFLFdBQVcsRUFBTyxFQUFFLE9BQXdCO0lBQzlJLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUU1QixXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3pCLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRztRQUNmLE1BQU07UUFDTixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDdkIsYUFBYSxFQUFFLE9BQU87S0FDdkIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZhc3RpZnlJbnN0YW5jZSwgRmFzdGlmeVJlcXVlc3QsIFJvdXRlU2hvcnRoYW5kT3B0aW9ucyB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgSHR0cE1ldGhvZHMsIFJlcXVlc3RIYW5kbGVyLCBSZXF1ZXN0SG9vaywgUm91dGVDb25maWcgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2luZGV4LmpzJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUsIENvbnRhaW5lciwgaG9va3NSZWdpc3RyeSwgUmVnaXN0cmFibGUgfSBmcm9tICcuLi8uLi9wbHVnaW5zL2luZGV4LmpzJztcbmltcG9ydCB7IENSRUFUT1IsIEVSUk9SX0hBTkRMRVJTLCBIQU5ETEVSUywgSE9PS1MgfSBmcm9tICcuLi8uLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFuZFdhaXQgfSBmcm9tICcuLi8uLi91dGlscy90cmFuc2Zvcm0tYW5kLXdhaXQuanMnO1xuaW1wb3J0IHsgZW5zdXJlSGFuZGxlcnMsIGhhc0Vycm9ySGFuZGxlcnMsIGhhc0hvb2tzIH0gZnJvbSAnLi9jbGFzcy1wcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNyZWF0ZUVycm9yc0hhbmRsZXIgfSBmcm9tICcuL2NyZWF0ZS1lcnJvcnMtaGFuZGxlci5qcyc7XG5pbXBvcnQgeyBlbnN1cmVSZWdpc3RyYWJsZSB9IGZyb20gJy4vZW5zdXJlLXJlZ2lzdHJhYmxlLmpzJztcblxudHlwZSBQYXJzZWRSb3V0ZUNvbmZpZyA9IHsgdXJsOiBzdHJpbmc7IG9wdGlvbnM6IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyB9O1xuXG5mdW5jdGlvbiBwYXJzZUNvbmZpZyhjb25maWc6IHN0cmluZyB8IFJvdXRlQ29uZmlnID0gJy8nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMgPSB7fSk6IFBhcnNlZFJvdXRlQ29uZmlnIHtcbiAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSByZXR1cm4geyB1cmw6IGNvbmZpZywgb3B0aW9ucyB9O1xuXG4gIGNvbnN0IHBhcnNlZCA9IHsgb3B0aW9ucywgLi4uY29uZmlnIH07XG4gIHJldHVybiB7XG4gICAgLi4ucGFyc2VkLFxuICAgIG9wdGlvbnM6IHsgLi4ucGFyc2VkLm9wdGlvbnMgfSxcbiAgfTtcbn1cblxuY29uc3QgcmVxdWVzdEhhbmRsZXJzQ2FjaGUgPSBuZXcgV2Vha01hcDxGYXN0aWZ5UmVxdWVzdCwgUmVxdWVzdEhhbmRsZXI+KCk7XG5cbmFzeW5jIGZ1bmN0aW9uIGdldFRhcmdldCh0YXJnZXQ6IFJlZ2lzdHJhYmxlLCByZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgLi4ucmVzdDogdW5rbm93bltdKSB7XG4gIGlmIChyZXF1ZXN0SGFuZGxlcnNDYWNoZS5oYXMocmVxdWVzdCkpIHJldHVybiByZXF1ZXN0SGFuZGxlcnNDYWNoZS5nZXQocmVxdWVzdCk7XG4gIGNvbnN0IGluc3RhbmNlID0gbmV3IHRhcmdldChyZXF1ZXN0LCAuLi5yZXN0KTtcbiAgYXdhaXQgdHJhbnNmb3JtQW5kV2FpdChob29rc1JlZ2lzdHJ5LmFmdGVyQ29udHJvbGxlckNyZWF0aW9uLCAoaG9vaykgPT4gaG9vayhyZXF1ZXN0LnNlcnZlciwgdGFyZ2V0LCBpbnN0YW5jZSkpO1xuICByZXF1ZXN0SGFuZGxlcnNDYWNoZS5zZXQocmVxdWVzdCwgaW5zdGFuY2UpO1xuICByZXR1cm4gaW5zdGFuY2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1ZXN0RGVjb3JhdG9yc0ZhY3RvcnkobWV0aG9kOiBIdHRwTWV0aG9kcykge1xuICByZXR1cm4gZnVuY3Rpb24gKHJvdXRlT3JDb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyk6ICh0YXJnZXQ6IENvbnN0cnVjdGFibGUsIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHBhcnNlQ29uZmlnKHJvdXRlT3JDb25maWcsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIHByb3BLZXkpIHtcbiAgICAgIGlmIChwcm9wS2V5KSB7XG4gICAgICAgIGNvbnRyb2xsZXJNZXRob2REZWNvcmF0b3JzRmFjdG9yeShtZXRob2QsIGNvbmZpZywgdGFyZ2V0LCBwcm9wS2V5KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBlbnN1cmVSZWdpc3RyYWJsZSh0YXJnZXQpO1xuXG4gICAgICB0YXJnZXRbQ1JFQVRPUl0ucmVnaXN0ZXIgPSAoaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSkgPT4ge1xuICAgICAgICBpZiAoaGFzSG9va3ModGFyZ2V0KSkge1xuICAgICAgICAgIGZvciAoY29uc3QgaG9vayBvZiB0YXJnZXRbSE9PS1NdIGFzIENvbnRhaW5lcjxSZXF1ZXN0SG9vaz4pIHtcbiAgICAgICAgICAgIGNvbnN0IGhvb2tGbiA9IChyZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgLi4ucmVzdDogdW5rbm93bltdKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRUYXJnZXQodGFyZ2V0LCByZXF1ZXN0LCAuLi5yZXN0KS50aGVuKCh0KSA9PiB0W2hvb2suaGFuZGxlck5hbWVdKHJlcXVlc3QsIC4uLnJlc3QpKTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbiA9IGNvbmZpZy5vcHRpb25zW2hvb2submFtZV07XG4gICAgICAgICAgICBpZiAob3B0aW9uID09IG51bGwpIGNvbmZpZy5vcHRpb25zW2hvb2submFtZV0gPSBob29rRm47XG4gICAgICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbikpIG9wdGlvbi5wdXNoKGhvb2tGbik7XG4gICAgICAgICAgICBlbHNlIGNvbmZpZy5vcHRpb25zW2hvb2submFtZV0gPSBbb3B0aW9uIGFzICguLi5hcmdzOiB1bmtub3duW10pID0+IHZvaWQsIGhvb2tGbl07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNFcnJvckhhbmRsZXJzKHRhcmdldCkpIHtcbiAgICAgICAgICBjb25maWcub3B0aW9ucy5lcnJvckhhbmRsZXIgPSBhc3luYyAoZXJyb3IsIHJlcXVlc3QsIC4uLnJlc3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yc0hhbmRsZXIgPSBjcmVhdGVFcnJvcnNIYW5kbGVyKHRhcmdldFtFUlJPUl9IQU5ETEVSU10sIGF3YWl0IGdldFRhcmdldCh0YXJnZXQsIHJlcXVlc3QsIC4uLnJlc3QpKTtcblxuICAgICAgICAgICAgcmV0dXJuIGVycm9yc0hhbmRsZXIoZXJyb3IsIHJlcXVlc3QsIC4uLnJlc3QpO1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgaW5zdGFuY2VbbWV0aG9kXShjb25maWcudXJsLCBjb25maWcub3B0aW9ucywgZnVuY3Rpb24gKHJlcXVlc3QsIC4uLnJlc3QpIHtcbiAgICAgICAgICByZXR1cm4gZ2V0VGFyZ2V0KHRhcmdldCwgcmVxdWVzdCwgLi4ucmVzdCkudGhlbigodCkgPT4gdC5oYW5kbGUoKSk7XG4gICAgICAgIH0pO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29udHJvbGxlck1ldGhvZERlY29yYXRvcnNGYWN0b3J5KG1ldGhvZDogSHR0cE1ldGhvZHMsIGNvbmZpZzogUGFyc2VkUm91dGVDb25maWcsIHsgY29uc3RydWN0b3IgfTogYW55LCBwcm9wS2V5OiBzdHJpbmcgfCBzeW1ib2wpOiB2b2lkIHtcbiAgZW5zdXJlSGFuZGxlcnMoY29uc3RydWN0b3IpO1xuXG4gIGNvbnN0cnVjdG9yW0hBTkRMRVJTXS5wdXNoKHtcbiAgICB1cmw6IGNvbmZpZy51cmwsXG4gICAgbWV0aG9kLFxuICAgIG9wdGlvbnM6IGNvbmZpZy5vcHRpb25zLFxuICAgIGhhbmRsZXJNZXRob2Q6IHByb3BLZXksXG4gIH0pO1xufVxuIl19 |
@@ -0,1 +1,8 @@ | ||
/** | ||
* @license | ||
* Copyright Andrey Chalkin <L2jLiga@gmail.com> (https://github.com/L2jLiga). All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://github.com/L2jLiga/fastify-decorators/blob/master/LICENSE | ||
*/ | ||
import { FastifyInstance } from 'fastify'; | ||
@@ -13,5 +20,5 @@ export interface ExternalDocumentationObject { | ||
* Adds tags into fastify Swagger/OpenAPI specification when application is ready to start | ||
* @param instance of application | ||
* @param fastifyInstance of application | ||
* @param tags to add to OpenAPI/Swagger doc | ||
*/ | ||
export declare function injectTagsIntoSwagger(instance: FastifyInstance, tags: TagObject[]): void; | ||
export declare function injectTagsIntoSwagger(fastifyInstance: FastifyInstance, tags: TagObject[]): void; |
/** | ||
* @license | ||
* Copyright Andrey Chalkin <L2jLiga@gmail.com> (https://github.com/L2jLiga). All Rights Reserved. | ||
* | ||
* Use of this source code is governed by an MIT-style license that can be | ||
* found in the LICENSE file at https://github.com/L2jLiga/fastify-decorators/blob/master/LICENSE | ||
*/ | ||
/** | ||
* Adds tags into fastify Swagger/OpenAPI specification when application is ready to start | ||
* @param instance of application | ||
* @param fastifyInstance of application | ||
* @param tags to add to OpenAPI/Swagger doc | ||
*/ | ||
export function injectTagsIntoSwagger(instance, tags) { | ||
export function injectTagsIntoSwagger(fastifyInstance, tags) { | ||
if (tags.length === 0) | ||
return; | ||
instance.addHook('onReady', async () => { | ||
const swaggerConfig = getSwaggerConfig(instance); | ||
fastifyInstance.addHook('onReady', async () => { | ||
const swaggerConfig = getSwaggerConfig(fastifyInstance); | ||
if (!swaggerConfig) | ||
@@ -17,10 +24,10 @@ return; | ||
} | ||
function getSwaggerConfig(instance) { | ||
if ('swagger' in instance) | ||
return instance.swagger(); | ||
if ('oas' in instance) | ||
return instance.oas(); | ||
if ('openapiDocument' in instance) | ||
return instance.openapiDocument; | ||
function getSwaggerConfig(fastifyInstance) { | ||
if ('swagger' in fastifyInstance) | ||
return fastifyInstance.swagger(); | ||
if ('oas' in fastifyInstance) | ||
return fastifyInstance.oas(); | ||
if ('openapiDocument' in fastifyInstance) | ||
return fastifyInstance.openapiDocument; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZGVjb3JhdG9ycy9oZWxwZXJzL3N3YWdnZXItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsUUFBeUIsRUFBRSxJQUFpQjtJQUNoRixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU87SUFDOUIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBQzNCLGFBQWEsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDOUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLFFBQXlCO0lBQ2pELElBQUksU0FBUyxJQUFJLFFBQVE7UUFBRSxPQUFRLFFBQTZELENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0csSUFBSSxLQUFLLElBQUksUUFBUTtRQUFFLE9BQVEsUUFBeUQsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvRixJQUFJLGlCQUFpQixJQUFJLFFBQVE7UUFBRSxPQUFRLFFBQW1FLENBQUMsZUFBZSxDQUFDO0FBQ2pJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYXN0aWZ5SW5zdGFuY2UgfSBmcm9tICdmYXN0aWZ5JztcblxuZXhwb3J0IGludGVyZmFjZSBFeHRlcm5hbERvY3VtZW50YXRpb25PYmplY3Qge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgdXJsOiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFRhZ09iamVjdCB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGV4dGVybmFsRG9jcz86IEV4dGVybmFsRG9jdW1lbnRhdGlvbk9iamVjdDtcbn1cblxuLyoqXG4gKiBBZGRzIHRhZ3MgaW50byBmYXN0aWZ5IFN3YWdnZXIvT3BlbkFQSSBzcGVjaWZpY2F0aW9uIHdoZW4gYXBwbGljYXRpb24gaXMgcmVhZHkgdG8gc3RhcnRcbiAqIEBwYXJhbSBpbnN0YW5jZSBvZiBhcHBsaWNhdGlvblxuICogQHBhcmFtIHRhZ3MgdG8gYWRkIHRvIE9wZW5BUEkvU3dhZ2dlciBkb2NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdFRhZ3NJbnRvU3dhZ2dlcihpbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlLCB0YWdzOiBUYWdPYmplY3RbXSk6IHZvaWQge1xuICBpZiAodGFncy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgaW5zdGFuY2UuYWRkSG9vaygnb25SZWFkeScsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzd2FnZ2VyQ29uZmlnID0gZ2V0U3dhZ2dlckNvbmZpZyhpbnN0YW5jZSk7XG4gICAgaWYgKCFzd2FnZ2VyQ29uZmlnKSByZXR1cm47XG4gICAgc3dhZ2dlckNvbmZpZy50YWdzID0gc3dhZ2dlckNvbmZpZy50YWdzIHx8IFtdO1xuICAgIHN3YWdnZXJDb25maWcudGFncy5wdXNoKC4uLnRhZ3MpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0U3dhZ2dlckNvbmZpZyhpbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlKTogeyB0YWdzPzogVGFnT2JqZWN0W10gfSB8IHVuZGVmaW5lZCB7XG4gIGlmICgnc3dhZ2dlcicgaW4gaW5zdGFuY2UpIHJldHVybiAoaW5zdGFuY2UgYXMgdW5rbm93biBhcyB7IHN3YWdnZXIoKTogeyB0YWdzPzogVGFnT2JqZWN0W10gfSB9KS5zd2FnZ2VyKCk7XG4gIGlmICgnb2FzJyBpbiBpbnN0YW5jZSkgcmV0dXJuIChpbnN0YW5jZSBhcyB1bmtub3duIGFzIHsgb2FzKCk6IHsgdGFncz86IFRhZ09iamVjdFtdIH0gfSkub2FzKCk7XG4gIGlmICgnb3BlbmFwaURvY3VtZW50JyBpbiBpbnN0YW5jZSkgcmV0dXJuIChpbnN0YW5jZSBhcyB1bmtub3duIGFzIHsgb3BlbmFwaURvY3VtZW50OiB7IHRhZ3M/OiBUYWdPYmplY3RbXSB9IH0pLm9wZW5hcGlEb2N1bWVudDtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZGVjb3JhdG9ycy9oZWxwZXJzL3N3YWdnZXItaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQWNIOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUscUJBQXFCLENBQUMsZUFBZ0MsRUFBRSxJQUFpQjtJQUN2RixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU87SUFDOUIsZUFBZSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDNUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEQsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFPO1FBQzNCLGFBQWEsQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDOUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNuQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLGVBQWdDO0lBQ3hELElBQUksU0FBUyxJQUFJLGVBQWU7UUFBRSxPQUFRLGVBQW9FLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekgsSUFBSSxLQUFLLElBQUksZUFBZTtRQUFFLE9BQVEsZUFBZ0UsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3RyxJQUFJLGlCQUFpQixJQUFJLGVBQWU7UUFBRSxPQUFRLGVBQTBFLENBQUMsZUFBZSxDQUFDO0FBQy9JLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHsgRmFzdGlmeUluc3RhbmNlIH0gZnJvbSAnZmFzdGlmeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXh0ZXJuYWxEb2N1bWVudGF0aW9uT2JqZWN0IHtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHVybDogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBUYWdPYmplY3Qge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBleHRlcm5hbERvY3M/OiBFeHRlcm5hbERvY3VtZW50YXRpb25PYmplY3Q7XG59XG5cbi8qKlxuICogQWRkcyB0YWdzIGludG8gZmFzdGlmeSBTd2FnZ2VyL09wZW5BUEkgc3BlY2lmaWNhdGlvbiB3aGVuIGFwcGxpY2F0aW9uIGlzIHJlYWR5IHRvIHN0YXJ0XG4gKiBAcGFyYW0gZmFzdGlmeUluc3RhbmNlIG9mIGFwcGxpY2F0aW9uXG4gKiBAcGFyYW0gdGFncyB0byBhZGQgdG8gT3BlbkFQSS9Td2FnZ2VyIGRvY1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0VGFnc0ludG9Td2FnZ2VyKGZhc3RpZnlJbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlLCB0YWdzOiBUYWdPYmplY3RbXSk6IHZvaWQge1xuICBpZiAodGFncy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgZmFzdGlmeUluc3RhbmNlLmFkZEhvb2soJ29uUmVhZHknLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgc3dhZ2dlckNvbmZpZyA9IGdldFN3YWdnZXJDb25maWcoZmFzdGlmeUluc3RhbmNlKTtcbiAgICBpZiAoIXN3YWdnZXJDb25maWcpIHJldHVybjtcbiAgICBzd2FnZ2VyQ29uZmlnLnRhZ3MgPSBzd2FnZ2VyQ29uZmlnLnRhZ3MgfHwgW107XG4gICAgc3dhZ2dlckNvbmZpZy50YWdzLnB1c2goLi4udGFncyk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRTd2FnZ2VyQ29uZmlnKGZhc3RpZnlJbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlKTogeyB0YWdzPzogVGFnT2JqZWN0W10gfSB8IHVuZGVmaW5lZCB7XG4gIGlmICgnc3dhZ2dlcicgaW4gZmFzdGlmeUluc3RhbmNlKSByZXR1cm4gKGZhc3RpZnlJbnN0YW5jZSBhcyB1bmtub3duIGFzIHsgc3dhZ2dlcigpOiB7IHRhZ3M/OiBUYWdPYmplY3RbXSB9IH0pLnN3YWdnZXIoKTtcbiAgaWYgKCdvYXMnIGluIGZhc3RpZnlJbnN0YW5jZSkgcmV0dXJuIChmYXN0aWZ5SW5zdGFuY2UgYXMgdW5rbm93biBhcyB7IG9hcygpOiB7IHRhZ3M/OiBUYWdPYmplY3RbXSB9IH0pLm9hcygpO1xuICBpZiAoJ29wZW5hcGlEb2N1bWVudCcgaW4gZmFzdGlmeUluc3RhbmNlKSByZXR1cm4gKGZhc3RpZnlJbnN0YW5jZSBhcyB1bmtub3duIGFzIHsgb3BlbmFwaURvY3VtZW50OiB7IHRhZ3M/OiBUYWdPYmplY3RbXSB9IH0pLm9wZW5hcGlEb2N1bWVudDtcbn1cbiJdfQ== |
@@ -33,2 +33,2 @@ /** | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oYW5kbGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL3JlcXVlc3QtaGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBSUgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFNbkYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUE2QixFQUFFLE9BQStCO0lBQ2hGLE9BQU8sd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFNRCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQTZCLEVBQUUsT0FBK0I7SUFDaEYsT0FBTyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQU1ELE1BQU0sVUFBVSxJQUFJLENBQUMsTUFBNkIsRUFBRSxPQUErQjtJQUNqRixPQUFPLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBTUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUE2QixFQUFFLE9BQStCO0lBQ2hGLE9BQU8sd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFNRCxNQUFNLFVBQVUsS0FBSyxDQUFDLE1BQTZCLEVBQUUsT0FBK0I7SUFDbEYsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQU1ELE1BQU0sVUFBVSxNQUFNLENBQUMsTUFBNkIsRUFBRSxPQUErQjtJQUNuRixPQUFPLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBTUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxNQUE2QixFQUFFLE9BQStCO0lBQ3BGLE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFNRCxNQUFNLFVBQVUsSUFBSSxDQUFDLE1BQTZCLEVBQUUsT0FBK0I7SUFDakYsT0FBTyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHR5cGUgeyBSb3V0ZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5IH0gZnJvbSAnLi9oZWxwZXJzL3JlcXVlc3QtZGVjb3JhdG9ycy5mYWN0b3J5LmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIEFMTCgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEFMTCh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gQUxMKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEFMTChjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBBTEwoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgnYWxsJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdFVCgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEdFVCh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gR0VUKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEdFVChjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBHRVQoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgnZ2V0JykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBPU1QoKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBQT1NUKHVybDogc3RyaW5nKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBQT1NUKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBPU1QoY29uZmlnOiBSb3V0ZUNvbmZpZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gUE9TVChjb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICByZXR1cm4gcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5KCdwb3N0JykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBVVCgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBVVCh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gUFVUKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBVVChjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBQVVQoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgncHV0JykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKCk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gUEFUQ0godXJsOiBzdHJpbmcpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKGNvbmZpZzogUm91dGVDb25maWcpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKGNvbmZpZz86IHN0cmluZyB8IFJvdXRlQ29uZmlnLCBvcHRpb25zPzogUm91dGVTaG9ydGhhbmRPcHRpb25zKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZCB7XG4gIHJldHVybiByZXF1ZXN0RGVjb3JhdG9yc0ZhY3RvcnkoJ3BhdGNoJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERFTEVURSgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIERFTEVURSh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gREVMRVRFKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIERFTEVURShjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBERUxFVEUoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgnZGVsZXRlJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE9QVElPTlMoKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBPUFRJT05TKHVybDogc3RyaW5nKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBPUFRJT05TKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIE9QVElPTlMoY29uZmlnOiBSb3V0ZUNvbmZpZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gT1BUSU9OUyhjb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICByZXR1cm4gcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5KCdvcHRpb25zJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhFQUQoKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBIRUFEKHVybDogc3RyaW5nKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBIRUFEKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEhFQUQoY29uZmlnOiBSb3V0ZUNvbmZpZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gSEVBRChjb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICByZXR1cm4gcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5KCdoZWFkJykoY29uZmlnLCBvcHRpb25zKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oYW5kbGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9kZWNvcmF0b3JzL3JlcXVlc3QtaGFuZGxlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBS0gsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFNbkYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUE2QixFQUFFLE9BQStCO0lBQ2hGLE9BQU8sd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFNRCxNQUFNLFVBQVUsR0FBRyxDQUFDLE1BQTZCLEVBQUUsT0FBK0I7SUFDaEYsT0FBTyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQU1ELE1BQU0sVUFBVSxJQUFJLENBQUMsTUFBNkIsRUFBRSxPQUErQjtJQUNqRixPQUFPLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBTUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUE2QixFQUFFLE9BQStCO0lBQ2hGLE9BQU8sd0JBQXdCLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFELENBQUM7QUFNRCxNQUFNLFVBQVUsS0FBSyxDQUFDLE1BQTZCLEVBQUUsT0FBK0I7SUFDbEYsT0FBTyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQU1ELE1BQU0sVUFBVSxNQUFNLENBQUMsTUFBNkIsRUFBRSxPQUErQjtJQUNuRixPQUFPLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztBQUM3RCxDQUFDO0FBTUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxNQUE2QixFQUFFLE9BQStCO0lBQ3BGLE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFNRCxNQUFNLFVBQVUsSUFBSSxDQUFDLE1BQTZCLEVBQUUsT0FBK0I7SUFDakYsT0FBTyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHR5cGUgeyBSb3V0ZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvaW5kZXguanMnO1xuaW1wb3J0IHsgQ29uc3RydWN0YWJsZSB9IGZyb20gJy4uL3BsdWdpbnMvaW5kZXguanMnO1xuaW1wb3J0IHsgcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5IH0gZnJvbSAnLi9oZWxwZXJzL3JlcXVlc3QtZGVjb3JhdG9ycy5mYWN0b3J5LmpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIEFMTCgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEFMTCh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gQUxMKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEFMTChjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBBTEwoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiBDb25zdHJ1Y3RhYmxlLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgnYWxsJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdFVCgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEdFVCh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gR0VUKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEdFVChjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBHRVQoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiBDb25zdHJ1Y3RhYmxlLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgnZ2V0JykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBPU1QoKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBQT1NUKHVybDogc3RyaW5nKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBQT1NUKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBPU1QoY29uZmlnOiBSb3V0ZUNvbmZpZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gUE9TVChjb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyk6ICh0YXJnZXQ6IENvbnN0cnVjdGFibGUsIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICByZXR1cm4gcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5KCdwb3N0JykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBVVCgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBVVCh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gUFVUKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBVVChjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBQVVQoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiBDb25zdHJ1Y3RhYmxlLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgncHV0JykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKCk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gUEFUQ0godXJsOiBzdHJpbmcpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKGNvbmZpZzogUm91dGVDb25maWcpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIFBBVENIKGNvbmZpZz86IHN0cmluZyB8IFJvdXRlQ29uZmlnLCBvcHRpb25zPzogUm91dGVTaG9ydGhhbmRPcHRpb25zKTogKHRhcmdldDogQ29uc3RydWN0YWJsZSwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZCB7XG4gIHJldHVybiByZXF1ZXN0RGVjb3JhdG9yc0ZhY3RvcnkoJ3BhdGNoJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERFTEVURSgpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIERFTEVURSh1cmw6IHN0cmluZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gREVMRVRFKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIERFTEVURShjb25maWc6IFJvdXRlQ29uZmlnKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBERUxFVEUoY29uZmlnPzogc3RyaW5nIHwgUm91dGVDb25maWcsIG9wdGlvbnM/OiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiBDb25zdHJ1Y3RhYmxlLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkIHtcbiAgcmV0dXJuIHJlcXVlc3REZWNvcmF0b3JzRmFjdG9yeSgnZGVsZXRlJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE9QVElPTlMoKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBPUFRJT05TKHVybDogc3RyaW5nKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBPUFRJT05TKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIE9QVElPTlMoY29uZmlnOiBSb3V0ZUNvbmZpZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gT1BUSU9OUyhjb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyk6ICh0YXJnZXQ6IENvbnN0cnVjdGFibGUsIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICByZXR1cm4gcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5KCdvcHRpb25zJykoY29uZmlnLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEhFQUQoKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBIRUFEKHVybDogc3RyaW5nKTogKHRhcmdldDogdW5rbm93biwgcHJvcEtleT86IHN0cmluZyB8IHN5bWJvbCkgPT4gdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBIRUFEKHVybDogc3RyaW5nLCBvcHRpb25zOiBSb3V0ZVNob3J0aGFuZE9wdGlvbnMpOiAodGFyZ2V0OiB1bmtub3duLCBwcm9wS2V5Pzogc3RyaW5nIHwgc3ltYm9sKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIEhFQUQoY29uZmlnOiBSb3V0ZUNvbmZpZyk6ICh0YXJnZXQ6IHVua25vd24sIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gSEVBRChjb25maWc/OiBzdHJpbmcgfCBSb3V0ZUNvbmZpZywgb3B0aW9ucz86IFJvdXRlU2hvcnRoYW5kT3B0aW9ucyk6ICh0YXJnZXQ6IENvbnN0cnVjdGFibGUsIHByb3BLZXk/OiBzdHJpbmcgfCBzeW1ib2wpID0+IHZvaWQge1xuICByZXR1cm4gcmVxdWVzdERlY29yYXRvcnNGYWN0b3J5KCdoZWFkJykoY29uZmlnLCBvcHRpb25zKTtcbn1cbiJdfQ== |
@@ -9,6 +9,6 @@ /** | ||
import type { FastifyInstance } from 'fastify'; | ||
import { Registrable } from '../../plugins/shared-interfaces.js'; | ||
import { Registrable } from '../../plugins/index.js'; | ||
import { ControllerType } from '../../registry/controller-type.js'; | ||
import { TagObject } from '../helpers/swagger-helper.js'; | ||
declare type ControllerFactory = (instance: FastifyInstance, constructor: Registrable, tags: TagObject[]) => unknown; | ||
declare type ControllerFactory = (fastifyInstance: FastifyInstance, target: Registrable, tags: TagObject[]) => unknown; | ||
/** | ||
@@ -15,0 +15,0 @@ * Various strategies which can be applied to controller |
@@ -8,3 +8,3 @@ /** | ||
*/ | ||
import { hooksRegistry } from '../../plugins/life-cycle.js'; | ||
import { hooksRegistry } from '../../plugins/index.js'; | ||
import { ControllerType } from '../../registry/controller-type.js'; | ||
@@ -14,13 +14,12 @@ import { ERROR_HANDLERS, HANDLERS, HOOKS } from '../../symbols/index.js'; | ||
import { hasErrorHandlers, hasHandlers, hasHooks } from '../helpers/class-properties.js'; | ||
import { createErrorsHandler } from '../helpers/create-errors-handler.js'; | ||
import { injectTagsIntoSwagger } from '../helpers/swagger-helper.js'; | ||
const controllersCache = new WeakMap(); | ||
function targetFactory(constructor) { | ||
function targetFactory(target) { | ||
return async function getTarget(request) { | ||
if (controllersCache.has(request)) | ||
return controllersCache.get(request); | ||
const target = new constructor(); | ||
await transformAndWait(hooksRegistry.afterControllerCreation, (hook) => hook(target, constructor)); | ||
controllersCache.set(request, target); | ||
return target; | ||
const instance = new target(); | ||
await transformAndWait(hooksRegistry.afterControllerCreation, (hook) => hook(request.server, target, instance)); | ||
controllersCache.set(request, instance); | ||
return instance; | ||
}; | ||
@@ -43,55 +42,54 @@ } | ||
export const ControllerTypeStrategies = { | ||
[ControllerType.SINGLETON]: async (instance, constructor, tags) => { | ||
[ControllerType.SINGLETON]: async (fastifyInstance, target, tags) => { | ||
if (tags.length > 0) | ||
injectTagsIntoSwagger(instance, tags); | ||
await transformAndWait(hooksRegistry.beforeControllerCreation, (hook) => hook(constructor)); | ||
const controllerInstance = new constructor(); | ||
await transformAndWait(hooksRegistry.afterControllerCreation, (hook) => hook(controllerInstance, constructor)); | ||
if (hasHandlers(constructor)) | ||
registerHandlers(constructor[HANDLERS], instance, controllerInstance, tags); | ||
if (hasErrorHandlers(constructor)) | ||
registerErrorHandlers(constructor[ERROR_HANDLERS], instance, controllerInstance); | ||
if (hasHooks(constructor)) | ||
registerHooks(constructor[HOOKS], instance, controllerInstance); | ||
return controllerInstance; | ||
injectTagsIntoSwagger(fastifyInstance, tags); | ||
await transformAndWait(hooksRegistry.beforeControllerCreation, (hook) => hook(fastifyInstance, target)); | ||
const instance = new target(); | ||
await transformAndWait(hooksRegistry.afterControllerCreation, (hook) => hook(fastifyInstance, target, instance)); | ||
registerController(fastifyInstance, target, () => instance, tags); | ||
return instance; | ||
}, | ||
[ControllerType.REQUEST]: async (instance, constructor, tags) => { | ||
[ControllerType.REQUEST]: async (fastifyInstance, target, tags) => { | ||
if (tags.length > 0) | ||
injectTagsIntoSwagger(instance, tags); | ||
await transformAndWait(hooksRegistry.beforeControllerCreation, (hook) => hook(constructor)); | ||
const factory = targetFactory(constructor); | ||
if (hasHandlers(constructor)) | ||
constructor[HANDLERS].forEach((handler) => { | ||
const { url, method, handlerMethod, options } = handler; | ||
instance[method](url, tags.length > 0 ? { ...options, schema: { tags: tags.map((tag) => tag.name), ...options.schema } } : options, async function (request, ...args) { | ||
const controllerInstance = await factory(request); | ||
return controllerInstance[handlerMethod](request, ...args); | ||
}); | ||
injectTagsIntoSwagger(fastifyInstance, tags); | ||
await transformAndWait(hooksRegistry.beforeControllerCreation, (hook) => hook(fastifyInstance, target)); | ||
registerController(fastifyInstance, target, targetFactory(target), tags); | ||
}, | ||
}; | ||
function registerController(fastifyInstance, target, targetFactory, tags) { | ||
if (hasHandlers(target)) { | ||
for (const handler of target[HANDLERS]) { | ||
const options = tags.length > 0 ? { ...handler.options, schema: { tags: tags.map((it) => it.name), ...handler.options.schema } } : handler.options; | ||
fastifyInstance[handler.method](handler.url, options, async (request, ...rest) => { | ||
const instance = await targetFactory(request); | ||
return instance[handler.handlerMethod](request, ...rest); | ||
}); | ||
if (hasErrorHandlers(constructor)) | ||
instance.setErrorHandler(async (error, request, ...rest) => { | ||
const controllerInstance = await factory(request); | ||
const errorsHandler = createErrorsHandler(constructor[ERROR_HANDLERS], controllerInstance); | ||
return errorsHandler(error, request, ...rest); | ||
} | ||
} | ||
if (hasHooks(target)) { | ||
for (const hook of target[HOOKS]) { | ||
fastifyInstance.addHook(hook.name, async (request, ...rest) => { | ||
const instance = await targetFactory(request); | ||
return instance[hook.handlerName](request, ...rest); | ||
}); | ||
if (hasHooks(constructor)) | ||
constructor[HOOKS].forEach((hook) => instance.addHook(hook.name, async (request, ...rest) => { | ||
const controllerInstance = await factory(request); | ||
return controllerInstance[hook.handlerName](request, ...rest); | ||
})); | ||
}, | ||
}; | ||
function registerHandlers(handlers, instance, controllerInstance, tags) { | ||
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, (...args) => controllerInstance[handler.handlerMethod](...args)); | ||
}); | ||
} | ||
} | ||
if (hasErrorHandlers(target)) { | ||
fastifyInstance.setErrorHandler(async (error, request, reply) => { | ||
const instance = await targetFactory(request); | ||
for (const handler of target[ERROR_HANDLERS]) { | ||
if (handler.accepts(error)) { | ||
try { | ||
await instance[handler.handlerName](error, request, reply); | ||
return; | ||
} | ||
catch (e) { | ||
error = e; | ||
} | ||
} | ||
} | ||
throw error; | ||
}); | ||
} | ||
} | ||
function registerHooks(hooks, instance, controllerInstance) { | ||
hooks.forEach((hook) => { | ||
instance.addHook(hook.name, (...args) => controllerInstance[hook.handlerName](...args)); | ||
}); | ||
} | ||
function registerErrorHandlers(errorHandlers, instance, classInstance) { | ||
instance.setErrorHandler(createErrorsHandler(errorHandlers, classInstance)); | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2RlY29yYXRvcnMvc3RyYXRlZ2llcy9jb250cm9sbGVyLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBSUgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBRWhGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7QUFFaEUsU0FBUyxhQUFhLENBQUMsV0FBd0I7SUFDN0MsT0FBTyxLQUFLLFVBQVUsU0FBUyxDQUFDLE9BQXVCO1FBQ3JELElBQUksZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDakMsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNuRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFJRDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQThDO0lBQ2pGLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ2hFLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQUUscUJBQXFCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRTNELE1BQU0sZ0JBQWdCLENBQUMsYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUM1RixNQUFNLGtCQUFrQixHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDN0MsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRS9HLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUFFLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUcsSUFBSSxnQkFBZ0IsQ0FBQyxXQUFXLENBQUM7WUFBRSxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDcEgsSUFBSSxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQUUsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUUzRixPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFRCxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM5RCxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUFFLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzRCxNQUFNLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUYsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTNDLElBQUksV0FBVyxDQUFDLFdBQVcsQ0FBQztZQUMxQixXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3hDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUM7Z0JBRXhELFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FDZCxHQUFHLEVBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUM3SCxLQUFLLFdBQVcsT0FBTyxFQUFFLEdBQUcsSUFBSTtvQkFDOUIsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDbEQsT0FBTyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDN0QsQ0FBQyxDQUNGLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksZ0JBQWdCLENBQUMsV0FBVyxDQUFDO1lBQy9CLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDekQsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBRTNGLE9BQU8sYUFBYSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUMsQ0FBQztRQUVMLElBQUksUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUN2QixXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDbEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBbUIsRUFBRSxLQUFLLEVBQUUsT0FBdUIsRUFBRSxHQUFHLElBQWUsRUFBRSxFQUFFO2dCQUMvRixNQUFNLGtCQUFrQixHQUFHLE1BQU0sT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNoRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztDQUNGLENBQUM7QUFFRixTQUFTLGdCQUFnQixDQUN2QixRQUFvQixFQUNwQixRQUF5QixFQUN6QixrQkFBMEYsRUFDMUYsSUFBaUI7SUFFakIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQzNCLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQ3RCLE9BQU8sQ0FBQyxHQUFHLEVBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUNuSixDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsYUFBdUIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQzFFLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FDcEIsS0FBYyxFQUNkLFFBQXlCLEVBQ3pCLGtCQUF5RztJQUV6RyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDckIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBbUIsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBcUIsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNuSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUM1QixhQUE4QixFQUM5QixRQUF5QixFQUN6QixhQUFtRztJQUVuRyxRQUFRLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBGYXN0aWZ5SW5zdGFuY2UsIEZhc3RpZnlSZXBseSwgRmFzdGlmeVJlcXVlc3QsIEZhc3RpZnlTY2hlbWEgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCB0eXBlIHsgSUVycm9ySGFuZGxlciwgSUhhbmRsZXIsIElIb29rIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pbmRleC5qcyc7XG5pbXBvcnQgeyBob29rc1JlZ2lzdHJ5IH0gZnJvbSAnLi4vLi4vcGx1Z2lucy9saWZlLWN5Y2xlLmpzJztcbmltcG9ydCB7IFJlZ2lzdHJhYmxlIH0gZnJvbSAnLi4vLi4vcGx1Z2lucy9zaGFyZWQtaW50ZXJmYWNlcy5qcyc7XG5pbXBvcnQgeyBDb250cm9sbGVyVHlwZSB9IGZyb20gJy4uLy4uL3JlZ2lzdHJ5L2NvbnRyb2xsZXItdHlwZS5qcyc7XG5pbXBvcnQgeyBFUlJPUl9IQU5ETEVSUywgSEFORExFUlMsIEhPT0tTIH0gZnJvbSAnLi4vLi4vc3ltYm9scy9pbmRleC5qcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1BbmRXYWl0IH0gZnJvbSAnLi4vLi4vdXRpbHMvdHJhbnNmb3JtLWFuZC13YWl0LmpzJztcbmltcG9ydCB7IGhhc0Vycm9ySGFuZGxlcnMsIGhhc0hhbmRsZXJzLCBoYXNIb29rcyB9IGZyb20gJy4uL2hlbHBlcnMvY2xhc3MtcHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyBjcmVhdGVFcnJvcnNIYW5kbGVyIH0gZnJvbSAnLi4vaGVscGVycy9jcmVhdGUtZXJyb3JzLWhhbmRsZXIuanMnO1xuaW1wb3J0IHsgaW5qZWN0VGFnc0ludG9Td2FnZ2VyLCBUYWdPYmplY3QgfSBmcm9tICcuLi9oZWxwZXJzL3N3YWdnZXItaGVscGVyLmpzJztcblxuY29uc3QgY29udHJvbGxlcnNDYWNoZSA9IG5ldyBXZWFrTWFwPEZhc3RpZnlSZXF1ZXN0LCB1bmtub3duPigpO1xuXG5mdW5jdGlvbiB0YXJnZXRGYWN0b3J5KGNvbnN0cnVjdG9yOiBSZWdpc3RyYWJsZSkge1xuICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gZ2V0VGFyZ2V0KHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0KSB7XG4gICAgaWYgKGNvbnRyb2xsZXJzQ2FjaGUuaGFzKHJlcXVlc3QpKSByZXR1cm4gY29udHJvbGxlcnNDYWNoZS5nZXQocmVxdWVzdCk7XG4gICAgY29uc3QgdGFyZ2V0ID0gbmV3IGNvbnN0cnVjdG9yKCk7XG4gICAgYXdhaXQgdHJhbnNmb3JtQW5kV2FpdChob29rc1JlZ2lzdHJ5LmFmdGVyQ29udHJvbGxlckNyZWF0aW9uLCAoaG9vaykgPT4gaG9vayh0YXJnZXQsIGNvbnN0cnVjdG9yKSk7XG4gICAgY29udHJvbGxlcnNDYWNoZS5zZXQocmVxdWVzdCwgdGFyZ2V0KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuXG50eXBlIENvbnRyb2xsZXJGYWN0b3J5ID0gKGluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UsIGNvbnN0cnVjdG9yOiBSZWdpc3RyYWJsZSwgdGFnczogVGFnT2JqZWN0W10pID0+IHVua25vd247XG5cbi8qKlxuICogVmFyaW91cyBzdHJhdGVnaWVzIHdoaWNoIGNhbiBiZSBhcHBsaWVkIHRvIGNvbnRyb2xsZXJcbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqIFRoZXJlIGFyZSBmZXcgYXZhaWxhYmxlIHN0cmF0ZWdpZXM6XG4gKiAtICpTSU5HTEVUT04qIHN0cmF0ZWd5IGNyZWF0ZXMgb25lIGluc3RhbmNlIG9mIGNvbnRyb2xsZXIgd2hpY2ggd2lsbCBoYW5kbGUgYWxsIHJlcXVlc3RzXG4gKiAtICpSRVFVRVNUKiBzdHJhdGVneSB3aWxsIGNyZWF0ZSBuZXcgaW5zdGFuY2UgZm9yIGVhY2ggcmVxdWVzdC9ob29rXG4gKlxuICogQnkgZGVmYXVsdCwgY29udHJvbGxlcnMgdXNlICpTSU5HTEVUT04qIHN0cmF0ZWd5XG4gKlxuICogQHNlZSBDb250cm9sbGVyXG4gKiBAc2VlIENvbnRyb2xsZXJDb25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IENvbnRyb2xsZXJUeXBlU3RyYXRlZ2llczogUmVjb3JkPENvbnRyb2xsZXJUeXBlLCBDb250cm9sbGVyRmFjdG9yeT4gPSB7XG4gIFtDb250cm9sbGVyVHlwZS5TSU5HTEVUT05dOiBhc3luYyAoaW5zdGFuY2UsIGNvbnN0cnVjdG9yLCB0YWdzKSA9PiB7XG4gICAgaWYgKHRhZ3MubGVuZ3RoID4gMCkgaW5qZWN0VGFnc0ludG9Td2FnZ2VyKGluc3RhbmNlLCB0YWdzKTtcblxuICAgIGF3YWl0IHRyYW5zZm9ybUFuZFdhaXQoaG9va3NSZWdpc3RyeS5iZWZvcmVDb250cm9sbGVyQ3JlYXRpb24sIChob29rKSA9PiBob29rKGNvbnN0cnVjdG9yKSk7XG4gICAgY29uc3QgY29udHJvbGxlckluc3RhbmNlID0gbmV3IGNvbnN0cnVjdG9yKCk7XG4gICAgYXdhaXQgdHJhbnNmb3JtQW5kV2FpdChob29rc1JlZ2lzdHJ5LmFmdGVyQ29udHJvbGxlckNyZWF0aW9uLCAoaG9vaykgPT4gaG9vayhjb250cm9sbGVySW5zdGFuY2UsIGNvbnN0cnVjdG9yKSk7XG5cbiAgICBpZiAoaGFzSGFuZGxlcnMoY29uc3RydWN0b3IpKSByZWdpc3RlckhhbmRsZXJzKGNvbnN0cnVjdG9yW0hBTkRMRVJTXSwgaW5zdGFuY2UsIGNvbnRyb2xsZXJJbnN0YW5jZSwgdGFncyk7XG4gICAgaWYgKGhhc0Vycm9ySGFuZGxlcnMoY29uc3RydWN0b3IpKSByZWdpc3RlckVycm9ySGFuZGxlcnMoY29uc3RydWN0b3JbRVJST1JfSEFORExFUlNdLCBpbnN0YW5jZSwgY29udHJvbGxlckluc3RhbmNlKTtcbiAgICBpZiAoaGFzSG9va3MoY29uc3RydWN0b3IpKSByZWdpc3Rlckhvb2tzKGNvbnN0cnVjdG9yW0hPT0tTXSwgaW5zdGFuY2UsIGNvbnRyb2xsZXJJbnN0YW5jZSk7XG5cbiAgICByZXR1cm4gY29udHJvbGxlckluc3RhbmNlO1xuICB9LFxuXG4gIFtDb250cm9sbGVyVHlwZS5SRVFVRVNUXTogYXN5bmMgKGluc3RhbmNlLCBjb25zdHJ1Y3RvciwgdGFncykgPT4ge1xuICAgIGlmICh0YWdzLmxlbmd0aCA+IDApIGluamVjdFRhZ3NJbnRvU3dhZ2dlcihpbnN0YW5jZSwgdGFncyk7XG5cbiAgICBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGhvb2tzUmVnaXN0cnkuYmVmb3JlQ29udHJvbGxlckNyZWF0aW9uLCAoaG9vaykgPT4gaG9vayhjb25zdHJ1Y3RvcikpO1xuICAgIGNvbnN0IGZhY3RvcnkgPSB0YXJnZXRGYWN0b3J5KGNvbnN0cnVjdG9yKTtcblxuICAgIGlmIChoYXNIYW5kbGVycyhjb25zdHJ1Y3RvcikpXG4gICAgICBjb25zdHJ1Y3RvcltIQU5ETEVSU10uZm9yRWFjaCgoaGFuZGxlcikgPT4ge1xuICAgICAgICBjb25zdCB7IHVybCwgbWV0aG9kLCBoYW5kbGVyTWV0aG9kLCBvcHRpb25zIH0gPSBoYW5kbGVyO1xuXG4gICAgICAgIGluc3RhbmNlW21ldGhvZF0oXG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIHRhZ3MubGVuZ3RoID4gMCA/IHsgLi4ub3B0aW9ucywgc2NoZW1hOiB7IHRhZ3M6IHRhZ3MubWFwKCh0YWcpID0+IHRhZy5uYW1lKSwgLi4ub3B0aW9ucy5zY2hlbWEgfSBhcyBGYXN0aWZ5U2NoZW1hIH0gOiBvcHRpb25zLFxuICAgICAgICAgIGFzeW5jIGZ1bmN0aW9uIChyZXF1ZXN0LCAuLi5hcmdzKSB7XG4gICAgICAgICAgICBjb25zdCBjb250cm9sbGVySW5zdGFuY2UgPSBhd2FpdCBmYWN0b3J5KHJlcXVlc3QpO1xuICAgICAgICAgICAgcmV0dXJuIGNvbnRyb2xsZXJJbnN0YW5jZVtoYW5kbGVyTWV0aG9kXShyZXF1ZXN0LCAuLi5hcmdzKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfSk7XG5cbiAgICBpZiAoaGFzRXJyb3JIYW5kbGVycyhjb25zdHJ1Y3RvcikpXG4gICAgICBpbnN0YW5jZS5zZXRFcnJvckhhbmRsZXIoYXN5bmMgKGVycm9yLCByZXF1ZXN0LCAuLi5yZXN0KSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2xsZXJJbnN0YW5jZSA9IGF3YWl0IGZhY3RvcnkocmVxdWVzdCk7XG4gICAgICAgIGNvbnN0IGVycm9yc0hhbmRsZXIgPSBjcmVhdGVFcnJvcnNIYW5kbGVyKGNvbnN0cnVjdG9yW0VSUk9SX0hBTkRMRVJTXSwgY29udHJvbGxlckluc3RhbmNlKTtcblxuICAgICAgICByZXR1cm4gZXJyb3JzSGFuZGxlcihlcnJvciwgcmVxdWVzdCwgLi4ucmVzdCk7XG4gICAgICB9KTtcblxuICAgIGlmIChoYXNIb29rcyhjb25zdHJ1Y3RvcikpXG4gICAgICBjb25zdHJ1Y3RvcltIT09LU10uZm9yRWFjaCgoaG9vaykgPT5cbiAgICAgICAgaW5zdGFuY2UuYWRkSG9vayhob29rLm5hbWUgYXMgJ29uUmVxdWVzdCcsIGFzeW5jIChyZXF1ZXN0OiBGYXN0aWZ5UmVxdWVzdCwgLi4ucmVzdDogdW5rbm93bltdKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udHJvbGxlckluc3RhbmNlID0gYXdhaXQgZmFjdG9yeShyZXF1ZXN0KTtcbiAgICAgICAgICByZXR1cm4gY29udHJvbGxlckluc3RhbmNlW2hvb2suaGFuZGxlck5hbWVdKHJlcXVlc3QsIC4uLnJlc3QpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiByZWdpc3RlckhhbmRsZXJzKFxuICBoYW5kbGVyczogSUhhbmRsZXJbXSxcbiAgaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSxcbiAgY29udHJvbGxlckluc3RhbmNlOiBSZWNvcmQ8c3RyaW5nLCAocmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsIHJlcGx5OiBGYXN0aWZ5UmVwbHkpID0+IHZvaWQ+LFxuICB0YWdzOiBUYWdPYmplY3RbXSxcbik6IHZvaWQge1xuICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgaW5zdGFuY2VbaGFuZGxlci5tZXRob2RdKFxuICAgICAgaGFuZGxlci51cmwsXG4gICAgICB0YWdzLmxlbmd0aCA+IDAgPyB7IC4uLmhhbmRsZXIub3B0aW9ucywgc2NoZW1hOiB7IHRhZ3M6IHRhZ3MubWFwKChpdCkgPT4gaXQubmFtZSksIC4uLmhhbmRsZXIub3B0aW9ucy5zY2hlbWEgfSBhcyBGYXN0aWZ5U2NoZW1hIH0gOiBoYW5kbGVyLm9wdGlvbnMsXG4gICAgICAoLi4uYXJncykgPT4gY29udHJvbGxlckluc3RhbmNlW2hhbmRsZXIuaGFuZGxlck1ldGhvZCBhcyBzdHJpbmddKC4uLmFyZ3MpLFxuICAgICk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiByZWdpc3Rlckhvb2tzKFxuICBob29rczogSUhvb2tbXSxcbiAgaW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSxcbiAgY29udHJvbGxlckluc3RhbmNlOiBSZWNvcmQ8c3RyaW5nLCAocmVxdWVzdDogRmFzdGlmeVJlcXVlc3QsIHJlcGx5OiBGYXN0aWZ5UmVwbHksIGRvbmU6IHVua25vd24pID0+IHZvaWQ+LFxuKTogdm9pZCB7XG4gIGhvb2tzLmZvckVhY2goKGhvb2spID0+IHtcbiAgICBpbnN0YW5jZS5hZGRIb29rKGhvb2submFtZSBhcyAnb25SZXF1ZXN0JywgKC4uLmFyZ3MpID0+IGNvbnRyb2xsZXJJbnN0YW5jZVtob29rLmhhbmRsZXJOYW1lIGFzIHN0cmluZ10oLi4uYXJncykpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcmVnaXN0ZXJFcnJvckhhbmRsZXJzKFxuICBlcnJvckhhbmRsZXJzOiBJRXJyb3JIYW5kbGVyW10sXG4gIGluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UsXG4gIGNsYXNzSW5zdGFuY2U6IFJlY29yZDxzdHJpbmcsIChlcnJvcjogRXJyb3IsIHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0LCByZXBseTogRmFzdGlmeVJlcGx5KSA9PiB2b2lkPixcbikge1xuICBpbnN0YW5jZS5zZXRFcnJvckhhbmRsZXIoY3JlYXRlRXJyb3JzSGFuZGxlcihlcnJvckhhbmRsZXJzLCBjbGFzc0luc3RhbmNlKSk7XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2RlY29yYXRvcnMvc3RyYXRlZ2llcy9jb250cm9sbGVyLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBR0gsT0FBTyxFQUFFLGFBQWEsRUFBZSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxxQkFBcUIsRUFBYSxNQUFNLDhCQUE4QixDQUFDO0FBRWhGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQTJCLENBQUM7QUFFaEUsU0FBUyxhQUFhLENBQUMsTUFBbUI7SUFDeEMsT0FBTyxLQUFLLFVBQVUsU0FBUyxDQUFDLE9BQXVCO1FBQ3JELElBQUksZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sZ0JBQWdCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDOUIsTUFBTSxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2hILGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEMsT0FB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QUMsSUFBbUIsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUU7Z0JBQzNFLE1BQU0sUUFBUSxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QyxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7U0FDSjtLQUNGO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUM1QixlQUFlLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxLQUFZLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JFLE1BQU0sUUFBUSxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlDLEtBQUssTUFBTSxPQUFPLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUM1QyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzFCLElBQUk7d0JBQ0YsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLFdBQXFCLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO3dCQUNyRSxPQUFPO3FCQUNSO29CQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNWLEtBQUssR0FBRyxDQUFVLENBQUM7cUJBQ3BCO2lCQUNGO2FBQ0Y7WUFFRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0tBQ0o7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgRmFzdGlmeUluc3RhbmNlLCBGYXN0aWZ5UmVxdWVzdCwgRmFzdGlmeVNjaGVtYSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgaG9va3NSZWdpc3RyeSwgUmVnaXN0cmFibGUgfSBmcm9tICcuLi8uLi9wbHVnaW5zL2luZGV4LmpzJztcbmltcG9ydCB7IENvbnRyb2xsZXJUeXBlIH0gZnJvbSAnLi4vLi4vcmVnaXN0cnkvY29udHJvbGxlci10eXBlLmpzJztcbmltcG9ydCB7IEVSUk9SX0hBTkRMRVJTLCBIQU5ETEVSUywgSE9PS1MgfSBmcm9tICcuLi8uLi9zeW1ib2xzL2luZGV4LmpzJztcbmltcG9ydCB7IHRyYW5zZm9ybUFuZFdhaXQgfSBmcm9tICcuLi8uLi91dGlscy90cmFuc2Zvcm0tYW5kLXdhaXQuanMnO1xuaW1wb3J0IHsgaGFzRXJyb3JIYW5kbGVycywgaGFzSGFuZGxlcnMsIGhhc0hvb2tzIH0gZnJvbSAnLi4vaGVscGVycy9jbGFzcy1wcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGluamVjdFRhZ3NJbnRvU3dhZ2dlciwgVGFnT2JqZWN0IH0gZnJvbSAnLi4vaGVscGVycy9zd2FnZ2VyLWhlbHBlci5qcyc7XG5cbmNvbnN0IGNvbnRyb2xsZXJzQ2FjaGUgPSBuZXcgV2Vha01hcDxGYXN0aWZ5UmVxdWVzdCwgdW5rbm93bj4oKTtcblxuZnVuY3Rpb24gdGFyZ2V0RmFjdG9yeSh0YXJnZXQ6IFJlZ2lzdHJhYmxlKSB7XG4gIHJldHVybiBhc3luYyBmdW5jdGlvbiBnZXRUYXJnZXQocmVxdWVzdDogRmFzdGlmeVJlcXVlc3QpIHtcbiAgICBpZiAoY29udHJvbGxlcnNDYWNoZS5oYXMocmVxdWVzdCkpIHJldHVybiBjb250cm9sbGVyc0NhY2hlLmdldChyZXF1ZXN0KTtcbiAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyB0YXJnZXQoKTtcbiAgICBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGhvb2tzUmVnaXN0cnkuYWZ0ZXJDb250cm9sbGVyQ3JlYXRpb24sIChob29rKSA9PiBob29rKHJlcXVlc3Quc2VydmVyLCB0YXJnZXQsIGluc3RhbmNlKSk7XG4gICAgY29udHJvbGxlcnNDYWNoZS5zZXQocmVxdWVzdCwgaW5zdGFuY2UpO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfTtcbn1cblxudHlwZSBDb250cm9sbGVyRmFjdG9yeSA9IChmYXN0aWZ5SW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSwgdGFyZ2V0OiBSZWdpc3RyYWJsZSwgdGFnczogVGFnT2JqZWN0W10pID0+IHVua25vd247XG5cbi8qKlxuICogVmFyaW91cyBzdHJhdGVnaWVzIHdoaWNoIGNhbiBiZSBhcHBsaWVkIHRvIGNvbnRyb2xsZXJcbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICpcbiAqIFRoZXJlIGFyZSBmZXcgYXZhaWxhYmxlIHN0cmF0ZWdpZXM6XG4gKiAtICpTSU5HTEVUT04qIHN0cmF0ZWd5IGNyZWF0ZXMgb25lIGluc3RhbmNlIG9mIGNvbnRyb2xsZXIgd2hpY2ggd2lsbCBoYW5kbGUgYWxsIHJlcXVlc3RzXG4gKiAtICpSRVFVRVNUKiBzdHJhdGVneSB3aWxsIGNyZWF0ZSBuZXcgaW5zdGFuY2UgZm9yIGVhY2ggcmVxdWVzdC9ob29rXG4gKlxuICogQnkgZGVmYXVsdCwgY29udHJvbGxlcnMgdXNlICpTSU5HTEVUT04qIHN0cmF0ZWd5XG4gKlxuICogQHNlZSBDb250cm9sbGVyXG4gKiBAc2VlIENvbnRyb2xsZXJDb25maWdcbiAqL1xuZXhwb3J0IGNvbnN0IENvbnRyb2xsZXJUeXBlU3RyYXRlZ2llczogUmVjb3JkPENvbnRyb2xsZXJUeXBlLCBDb250cm9sbGVyRmFjdG9yeT4gPSB7XG4gIFtDb250cm9sbGVyVHlwZS5TSU5HTEVUT05dOiBhc3luYyAoZmFzdGlmeUluc3RhbmNlLCB0YXJnZXQsIHRhZ3MpID0+IHtcbiAgICBpZiAodGFncy5sZW5ndGggPiAwKSBpbmplY3RUYWdzSW50b1N3YWdnZXIoZmFzdGlmeUluc3RhbmNlLCB0YWdzKTtcblxuICAgIGF3YWl0IHRyYW5zZm9ybUFuZFdhaXQoaG9va3NSZWdpc3RyeS5iZWZvcmVDb250cm9sbGVyQ3JlYXRpb24sIChob29rKSA9PiBob29rKGZhc3RpZnlJbnN0YW5jZSwgdGFyZ2V0KSk7XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgdGFyZ2V0KCk7XG4gICAgYXdhaXQgdHJhbnNmb3JtQW5kV2FpdChob29rc1JlZ2lzdHJ5LmFmdGVyQ29udHJvbGxlckNyZWF0aW9uLCAoaG9vaykgPT4gaG9vayhmYXN0aWZ5SW5zdGFuY2UsIHRhcmdldCwgaW5zdGFuY2UpKTtcblxuICAgIHJlZ2lzdGVyQ29udHJvbGxlcihmYXN0aWZ5SW5zdGFuY2UsIHRhcmdldCwgKCkgPT4gaW5zdGFuY2UsIHRhZ3MpO1xuXG4gICAgcmV0dXJuIGluc3RhbmNlO1xuICB9LFxuXG4gIFtDb250cm9sbGVyVHlwZS5SRVFVRVNUXTogYXN5bmMgKGZhc3RpZnlJbnN0YW5jZSwgdGFyZ2V0LCB0YWdzKSA9PiB7XG4gICAgaWYgKHRhZ3MubGVuZ3RoID4gMCkgaW5qZWN0VGFnc0ludG9Td2FnZ2VyKGZhc3RpZnlJbnN0YW5jZSwgdGFncyk7XG5cbiAgICBhd2FpdCB0cmFuc2Zvcm1BbmRXYWl0KGhvb2tzUmVnaXN0cnkuYmVmb3JlQ29udHJvbGxlckNyZWF0aW9uLCAoaG9vaykgPT4gaG9vayhmYXN0aWZ5SW5zdGFuY2UsIHRhcmdldCkpO1xuICAgIHJlZ2lzdGVyQ29udHJvbGxlcihmYXN0aWZ5SW5zdGFuY2UsIHRhcmdldCwgdGFyZ2V0RmFjdG9yeSh0YXJnZXQpLCB0YWdzKTtcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyQ29udHJvbGxlcihmYXN0aWZ5SW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSwgdGFyZ2V0OiBSZWdpc3RyYWJsZSwgdGFyZ2V0RmFjdG9yeTogKHJlcXVlc3Q6IEZhc3RpZnlSZXF1ZXN0KSA9PiBhbnksIHRhZ3M6IFRhZ09iamVjdFtdKSB7XG4gIGlmIChoYXNIYW5kbGVycyh0YXJnZXQpKSB7XG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHRhcmdldFtIQU5ETEVSU10pIHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPVxuICAgICAgICB0YWdzLmxlbmd0aCA+IDAgPyB7IC4uLmhhbmRsZXIub3B0aW9ucywgc2NoZW1hOiB7IHRhZ3M6IHRhZ3MubWFwKChpdCkgPT4gaXQubmFtZSksIC4uLmhhbmRsZXIub3B0aW9ucy5zY2hlbWEgfSBhcyBGYXN0aWZ5U2NoZW1hIH0gOiBoYW5kbGVyLm9wdGlvbnM7XG4gICAgICBmYXN0aWZ5SW5zdGFuY2VbaGFuZGxlci5tZXRob2RdKGhhbmRsZXIudXJsLCBvcHRpb25zLCBhc3luYyAocmVxdWVzdCwgLi4ucmVzdCkgPT4ge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGF3YWl0IHRhcmdldEZhY3RvcnkocmVxdWVzdCk7XG4gICAgICAgIHJldHVybiBpbnN0YW5jZVtoYW5kbGVyLmhhbmRsZXJNZXRob2RdKHJlcXVlc3QsIC4uLnJlc3QpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGhhc0hvb2tzKHRhcmdldCkpIHtcbiAgICBmb3IgKGNvbnN0IGhvb2sgb2YgdGFyZ2V0W0hPT0tTXSkge1xuICAgICAgZmFzdGlmeUluc3RhbmNlLmFkZEhvb2soaG9vay5uYW1lIGFzICdvblJlcXVlc3QnLCBhc3luYyAocmVxdWVzdCwgLi4ucmVzdCkgPT4ge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGF3YWl0IHRhcmdldEZhY3RvcnkocmVxdWVzdCk7XG4gICAgICAgIHJldHVybiBpbnN0YW5jZVtob29rLmhhbmRsZXJOYW1lXShyZXF1ZXN0LCAuLi5yZXN0KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChoYXNFcnJvckhhbmRsZXJzKHRhcmdldCkpIHtcbiAgICBmYXN0aWZ5SW5zdGFuY2Uuc2V0RXJyb3JIYW5kbGVyKGFzeW5jIChlcnJvcjogRXJyb3IsIHJlcXVlc3QsIHJlcGx5KSA9PiB7XG4gICAgICBjb25zdCBpbnN0YW5jZSA9IGF3YWl0IHRhcmdldEZhY3RvcnkocmVxdWVzdCk7XG4gICAgICBmb3IgKGNvbnN0IGhhbmRsZXIgb2YgdGFyZ2V0W0VSUk9SX0hBTkRMRVJTXSkge1xuICAgICAgICBpZiAoaGFuZGxlci5hY2NlcHRzKGVycm9yKSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCBpbnN0YW5jZVtoYW5kbGVyLmhhbmRsZXJOYW1lIGFzIHN0cmluZ10oZXJyb3IsIHJlcXVlc3QsIHJlcGx5KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBlcnJvciA9IGUgYXMgRXJyb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xuICB9XG59XG4iXX0= |
@@ -12,17 +12,7 @@ /** | ||
/** | ||
* Config for application bootstrap | ||
* Common configuration part | ||
*/ | ||
export interface AutoLoadConfig { | ||
export interface CommonConfig { | ||
/** | ||
* Path to directory which contains files to load | ||
*/ | ||
directory: PathLike; | ||
/** | ||
* Mask used to filter files to load | ||
* @default /\.(handler|controller)\./ | ||
*/ | ||
mask?: string | RegExp; | ||
/** | ||
* By default application will fails to bootstrap if one or more of loaded files does not contain valid controller or handler | ||
* This option allows to change this behavior | ||
* Indicates whether bootstrap should fail on invalid controllers/request handlers | ||
* @default false | ||
@@ -36,18 +26,31 @@ */ | ||
} | ||
export interface ControllersListConfig { | ||
/** | ||
* Controllers and request handlers autoload configuration | ||
* | ||
* Accepts directory and mask to load | ||
* In order to work properly controllers/request handlers must be default exported | ||
*/ | ||
export interface AutoLoadConfig extends CommonConfig { | ||
/** | ||
* List of Controller classes to bootstrap | ||
* Path to directory which contains files to load | ||
* If not specified then autoload will not be used | ||
* | ||
* @default not specified | ||
*/ | ||
controllers: Constructable<unknown>[]; | ||
directory: PathLike; | ||
/** | ||
* By default application will fails to bootstrap if one or more of loaded files does not contain valid controller or handler | ||
* This option allows to change this behavior | ||
* @default false | ||
* Mask used to filter files to load | ||
* @default /\.(handler|controller)\./ | ||
*/ | ||
skipBroken?: boolean; | ||
mask?: string | RegExp; | ||
} | ||
/** | ||
* Configuration contains explicitly passed controllers/request handlers to load | ||
*/ | ||
export interface ControllersListConfig extends CommonConfig { | ||
/** | ||
* Global prefix to be applied for all routes | ||
* List of Controller classes to bootstrap | ||
*/ | ||
prefix?: string; | ||
controllers: Constructable<unknown>[]; | ||
} | ||
export declare type BootstrapConfig = AutoLoadConfig | ControllersListConfig; |
@@ -9,2 +9,2 @@ /** | ||
export {}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9pbnRlcmZhY2VzL2Jvb3RzdHJhcC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgUGF0aExpa2UgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICcuLi9wbHVnaW5zL2luZGV4LmpzJztcblxuLyoqXG4gKiBDb25maWcgZm9yIGFwcGxpY2F0aW9uIGJvb3RzdHJhcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Mb2FkQ29uZmlnIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gZGlyZWN0b3J5IHdoaWNoIGNvbnRhaW5zIGZpbGVzIHRvIGxvYWRcbiAgICovXG4gIGRpcmVjdG9yeTogUGF0aExpa2U7XG5cbiAgLyoqXG4gICAqIE1hc2sgdXNlZCB0byBmaWx0ZXIgZmlsZXMgdG8gbG9hZFxuICAgKiBAZGVmYXVsdCAvXFwuKGhhbmRsZXJ8Y29udHJvbGxlcilcXC4vXG4gICAqL1xuICBtYXNrPzogc3RyaW5nIHwgUmVnRXhwO1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGFwcGxpY2F0aW9uIHdpbGwgZmFpbHMgdG8gYm9vdHN0cmFwIGlmIG9uZSBvciBtb3JlIG9mIGxvYWRlZCBmaWxlcyBkb2VzIG5vdCBjb250YWluIHZhbGlkIGNvbnRyb2xsZXIgb3IgaGFuZGxlclxuICAgKiBUaGlzIG9wdGlvbiBhbGxvd3MgdG8gY2hhbmdlIHRoaXMgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNraXBCcm9rZW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHbG9iYWwgcHJlZml4IHRvIGJlIGFwcGxpZWQgZm9yIGFsbCByb3V0ZXNcbiAgICovXG4gIHByZWZpeD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250cm9sbGVyc0xpc3RDb25maWcge1xuICAvKipcbiAgICogTGlzdCBvZiBDb250cm9sbGVyIGNsYXNzZXMgdG8gYm9vdHN0cmFwXG4gICAqL1xuICBjb250cm9sbGVyczogQ29uc3RydWN0YWJsZTx1bmtub3duPltdO1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGFwcGxpY2F0aW9uIHdpbGwgZmFpbHMgdG8gYm9vdHN0cmFwIGlmIG9uZSBvciBtb3JlIG9mIGxvYWRlZCBmaWxlcyBkb2VzIG5vdCBjb250YWluIHZhbGlkIGNvbnRyb2xsZXIgb3IgaGFuZGxlclxuICAgKiBUaGlzIG9wdGlvbiBhbGxvd3MgdG8gY2hhbmdlIHRoaXMgYmVoYXZpb3JcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNraXBCcm9rZW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHbG9iYWwgcHJlZml4IHRvIGJlIGFwcGxpZWQgZm9yIGFsbCByb3V0ZXNcbiAgICovXG4gIHByZWZpeD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQm9vdHN0cmFwQ29uZmlnID0gQXV0b0xvYWRDb25maWcgfCBDb250cm9sbGVyc0xpc3RDb25maWc7XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9pbnRlcmZhY2VzL2Jvb3RzdHJhcC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFuZHJleSBDaGFsa2luIDxMMmpMaWdhQGdtYWlsLmNvbT4gKGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhKS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYS9mYXN0aWZ5LWRlY29yYXRvcnMvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5cbmltcG9ydCB0eXBlIHsgUGF0aExpa2UgfSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7IENvbnN0cnVjdGFibGUgfSBmcm9tICcuLi9wbHVnaW5zL2luZGV4LmpzJztcblxuLyoqXG4gKiBDb21tb24gY29uZmlndXJhdGlvbiBwYXJ0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIGJvb3RzdHJhcCBzaG91bGQgZmFpbCBvbiBpbnZhbGlkIGNvbnRyb2xsZXJzL3JlcXVlc3QgaGFuZGxlcnNcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNraXBCcm9rZW4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHbG9iYWwgcHJlZml4IHRvIGJlIGFwcGxpZWQgZm9yIGFsbCByb3V0ZXNcbiAgICovXG4gIHByZWZpeD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb250cm9sbGVycyBhbmQgcmVxdWVzdCBoYW5kbGVycyBhdXRvbG9hZCBjb25maWd1cmF0aW9uXG4gKlxuICogQWNjZXB0cyBkaXJlY3RvcnkgYW5kIG1hc2sgdG8gbG9hZFxuICogSW4gb3JkZXIgdG8gd29yayBwcm9wZXJseSBjb250cm9sbGVycy9yZXF1ZXN0IGhhbmRsZXJzIG11c3QgYmUgZGVmYXVsdCBleHBvcnRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9Mb2FkQ29uZmlnIGV4dGVuZHMgQ29tbW9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gZGlyZWN0b3J5IHdoaWNoIGNvbnRhaW5zIGZpbGVzIHRvIGxvYWRcbiAgICogSWYgbm90IHNwZWNpZmllZCB0aGVuIGF1dG9sb2FkIHdpbGwgbm90IGJlIHVzZWRcbiAgICpcbiAgICogQGRlZmF1bHQgbm90IHNwZWNpZmllZFxuICAgKi9cbiAgZGlyZWN0b3J5OiBQYXRoTGlrZTtcblxuICAvKipcbiAgICogTWFzayB1c2VkIHRvIGZpbHRlciBmaWxlcyB0byBsb2FkXG4gICAqIEBkZWZhdWx0IC9cXC4oaGFuZGxlcnxjb250cm9sbGVyKVxcLi9cbiAgICovXG4gIG1hc2s/OiBzdHJpbmcgfCBSZWdFeHA7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBjb250YWlucyBleHBsaWNpdGx5IHBhc3NlZCBjb250cm9sbGVycy9yZXF1ZXN0IGhhbmRsZXJzIHRvIGxvYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb250cm9sbGVyc0xpc3RDb25maWcgZXh0ZW5kcyBDb21tb25Db25maWcge1xuICAvKipcbiAgICogTGlzdCBvZiBDb250cm9sbGVyIGNsYXNzZXMgdG8gYm9vdHN0cmFwXG4gICAqL1xuICBjb250cm9sbGVyczogQ29uc3RydWN0YWJsZTx1bmtub3duPltdO1xufVxuXG5leHBvcnQgdHlwZSBCb290c3RyYXBDb25maWcgPSBBdXRvTG9hZENvbmZpZyB8IENvbnRyb2xsZXJzTGlzdENvbmZpZztcbiJdfQ== |
{ | ||
"name": "fastify-decorators", | ||
"version": "4.0.0-next.3", | ||
"version": "4.0.0-next.4", | ||
"description": "Framework aimed to provide useful TypeScript decorators to implement controllers, services and request handlers, built with Fastify.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -11,1 +11,2 @@ /** | ||
export * from '../decorators/helpers/class-properties.js'; | ||
export { Container } from '../decorators/helpers/container.js'; |
@@ -11,2 +11,3 @@ /** | ||
export * from '../decorators/helpers/class-properties.js'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYywyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbmRyZXkgQ2hhbGtpbiA8TDJqTGlnYUBnbWFpbC5jb20+IChodHRwczovL2dpdGh1Yi5jb20vTDJqTGlnYSkuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EvZmFzdGlmeS1kZWNvcmF0b3JzL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpZmUtY3ljbGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZWQtaW50ZXJmYWNlcy5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4uL2RlY29yYXRvcnMvaGVscGVycy9jbGFzcy1wcm9wZXJ0aWVzLmpzJztcbiJdfQ== | ||
export { Container } from '../decorators/helpers/container.js'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcGx1Z2lucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgQW5kcmV5IENoYWxraW4gPEwyakxpZ2FAZ21haWwuY29tPiAoaHR0cHM6Ly9naXRodWIuY29tL0wyakxpZ2EpLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9MMmpMaWdhL2Zhc3RpZnktZGVjb3JhdG9ycy9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWZlLWN5Y2xlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmVkLWludGVyZmFjZXMuanMnO1xuXG5leHBvcnQgKiBmcm9tICcuLi9kZWNvcmF0b3JzL2hlbHBlcnMvY2xhc3MtcHJvcGVydGllcy5qcyc7XG5leHBvcnQgeyBDb250YWluZXIgfSBmcm9tICcuLi9kZWNvcmF0b3JzL2hlbHBlcnMvY29udGFpbmVyLmpzJztcbiJdfQ== |
import { FastifyInstance } from 'fastify'; | ||
import { Registrable } from './shared-interfaces.js'; | ||
export declare type AppInitHook = (fastifyInstance: FastifyInstance) => unknown | Promise<unknown>; | ||
export declare type BeforeControllerCreationHook = (target: Registrable) => unknown | Promise<unknown>; | ||
export declare type AfterControllerCreationHook = (instance: unknown, target: Registrable) => unknown | Promise<unknown>; | ||
export declare type BeforeControllerCreationHook = (fastifyInstance: FastifyInstance, target: Registrable) => unknown | Promise<unknown>; | ||
export declare type AfterControllerCreationHook = (fastifyInstance: FastifyInstance, target: Registrable, instance: unknown) => unknown | Promise<unknown>; | ||
export declare type AppReadyHook = (fastifyInstance: FastifyInstance) => unknown | Promise<unknown>; | ||
@@ -7,0 +7,0 @@ export declare type AppDestroyHook = (fastifyInstance: FastifyInstance) => unknown | Promise<unknown>; |
@@ -11,2 +11,2 @@ export const hooksRegistry = { | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZS1jeWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wbHVnaW5zL2xpZmUtY3ljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBa0I7SUFDMUMsT0FBTyxFQUFFLEVBQUU7SUFDWCx3QkFBd0IsRUFBRSxFQUFFO0lBQzVCLHVCQUF1QixFQUFFLEVBQUU7SUFDM0IsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUM7QUFPRixNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLEtBQVEsRUFDUixNQVVTO0lBRVQsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUF1QixDQUFDLENBQUM7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhc3RpZnlJbnN0YW5jZSB9IGZyb20gJ2Zhc3RpZnknO1xuaW1wb3J0IHsgUmVnaXN0cmFibGUgfSBmcm9tICcuL3NoYXJlZC1pbnRlcmZhY2VzLmpzJztcblxuZXhwb3J0IHR5cGUgQXBwSW5pdEhvb2sgPSAoZmFzdGlmeUluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UpID0+IHVua25vd24gfCBQcm9taXNlPHVua25vd24+O1xuZXhwb3J0IHR5cGUgQmVmb3JlQ29udHJvbGxlckNyZWF0aW9uSG9vayA9ICh0YXJnZXQ6IFJlZ2lzdHJhYmxlKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPjtcbmV4cG9ydCB0eXBlIEFmdGVyQ29udHJvbGxlckNyZWF0aW9uSG9vayA9IChpbnN0YW5jZTogdW5rbm93biwgdGFyZ2V0OiBSZWdpc3RyYWJsZSkgPT4gdW5rbm93biB8IFByb21pc2U8dW5rbm93bj47XG5leHBvcnQgdHlwZSBBcHBSZWFkeUhvb2sgPSAoZmFzdGlmeUluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UpID0+IHVua25vd24gfCBQcm9taXNlPHVua25vd24+O1xuZXhwb3J0IHR5cGUgQXBwRGVzdHJveUhvb2sgPSAoZmFzdGlmeUluc3RhbmNlOiBGYXN0aWZ5SW5zdGFuY2UpID0+IHVua25vd24gfCBQcm9taXNlPHVua25vd24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvb2tzUmVnaXN0cnkge1xuICBhcHBJbml0OiBBcHBJbml0SG9va1tdO1xuICBiZWZvcmVDb250cm9sbGVyQ3JlYXRpb246IEJlZm9yZUNvbnRyb2xsZXJDcmVhdGlvbkhvb2tbXTtcbiAgYWZ0ZXJDb250cm9sbGVyQ3JlYXRpb246IEFmdGVyQ29udHJvbGxlckNyZWF0aW9uSG9va1tdO1xuICBhcHBSZWFkeTogQXBwUmVhZHlIb29rW107XG4gIGFwcERlc3Ryb3k6IEFwcERlc3Ryb3lIb29rW107XG59XG5cbmV4cG9ydCBjb25zdCBob29rc1JlZ2lzdHJ5OiBIb29rc1JlZ2lzdHJ5ID0ge1xuICBhcHBJbml0OiBbXSxcbiAgYmVmb3JlQ29udHJvbGxlckNyZWF0aW9uOiBbXSxcbiAgYWZ0ZXJDb250cm9sbGVyQ3JlYXRpb246IFtdLFxuICBhcHBSZWFkeTogW10sXG4gIGFwcERlc3Ryb3k6IFtdLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxpemF0aW9uSG9vazxUIGV4dGVuZHMgJ2FwcEluaXQnPihzdGFnZTogVCwgaG9va0ZuOiBBcHBJbml0SG9vayk6IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5pdGlhbGl6YXRpb25Ib29rPFQgZXh0ZW5kcyAnYmVmb3JlQ29udHJvbGxlckNyZWF0aW9uJz4oc3RhZ2U6IFQsIGhvb2tGbjogQmVmb3JlQ29udHJvbGxlckNyZWF0aW9uSG9vayk6IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5pdGlhbGl6YXRpb25Ib29rPFQgZXh0ZW5kcyAnYWZ0ZXJDb250cm9sbGVyQ3JlYXRpb24nPihzdGFnZTogVCwgaG9va0ZuOiBBZnRlckNvbnRyb2xsZXJDcmVhdGlvbkhvb2spOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxpemF0aW9uSG9vazxUIGV4dGVuZHMgJ2FwcFJlYWR5Jz4oc3RhZ2U6IFQsIGhvb2tGbjogQXBwUmVhZHlIb29rKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbml0aWFsaXphdGlvbkhvb2s8VCBleHRlbmRzICdhcHBEZXN0cm95Jz4oc3RhZ2U6IFQsIGhvb2tGbjogQXBwRGVzdHJveUhvb2spOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxpemF0aW9uSG9vazxUIGV4dGVuZHMga2V5b2YgSG9va3NSZWdpc3RyeT4oXG4gIHN0YWdlOiBULFxuICBob29rRm46IFQgZXh0ZW5kcyAnYXBwSW5pdCdcbiAgICA/IEFwcEluaXRIb29rXG4gICAgOiBUIGV4dGVuZHMgJ2JlZm9yZUNvbnRyb2xsZXJDcmVhdGlvbidcbiAgICA/IEJlZm9yZUNvbnRyb2xsZXJDcmVhdGlvbkhvb2tcbiAgICA6IFQgZXh0ZW5kcyAnYWZ0ZXJDb250cm9sbGVyQ3JlYXRpb24nXG4gICAgPyBBZnRlckNvbnRyb2xsZXJDcmVhdGlvbkhvb2tcbiAgICA6IFQgZXh0ZW5kcyAnYXBwUmVhZHknXG4gICAgPyBBcHBSZWFkeUhvb2tcbiAgICA6IFQgZXh0ZW5kcyAnYXBwRGVzdHJveSdcbiAgICA/IEFwcERlc3Ryb3lIb29rXG4gICAgOiBuZXZlcixcbik6IHZvaWQge1xuICBob29rc1JlZ2lzdHJ5W3N0YWdlXS5wdXNoKGhvb2tGbiBhcyAoKSA9PiB1bmtub3duKTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlmZS1jeWNsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wbHVnaW5zL2xpZmUtY3ljbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBa0I7SUFDMUMsT0FBTyxFQUFFLEVBQUU7SUFDWCx3QkFBd0IsRUFBRSxFQUFFO0lBQzVCLHVCQUF1QixFQUFFLEVBQUU7SUFDM0IsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUM7QUFPRixNQUFNLFVBQVUsd0JBQXdCLENBQWdDLEtBQVEsRUFBRSxNQUEyQjtJQUMzRyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQXVCLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmFzdGlmeUluc3RhbmNlIH0gZnJvbSAnZmFzdGlmeSc7XG5pbXBvcnQgeyBSZWdpc3RyYWJsZSB9IGZyb20gJy4vc2hhcmVkLWludGVyZmFjZXMuanMnO1xuXG5leHBvcnQgdHlwZSBBcHBJbml0SG9vayA9IChmYXN0aWZ5SW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSkgPT4gdW5rbm93biB8IFByb21pc2U8dW5rbm93bj47XG5leHBvcnQgdHlwZSBCZWZvcmVDb250cm9sbGVyQ3JlYXRpb25Ib29rID0gKGZhc3RpZnlJbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlLCB0YXJnZXQ6IFJlZ2lzdHJhYmxlKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPjtcbmV4cG9ydCB0eXBlIEFmdGVyQ29udHJvbGxlckNyZWF0aW9uSG9vayA9IChmYXN0aWZ5SW5zdGFuY2U6IEZhc3RpZnlJbnN0YW5jZSwgdGFyZ2V0OiBSZWdpc3RyYWJsZSwgaW5zdGFuY2U6IHVua25vd24pID0+IHVua25vd24gfCBQcm9taXNlPHVua25vd24+O1xuZXhwb3J0IHR5cGUgQXBwUmVhZHlIb29rID0gKGZhc3RpZnlJbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPjtcbmV4cG9ydCB0eXBlIEFwcERlc3Ryb3lIb29rID0gKGZhc3RpZnlJbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlKSA9PiB1bmtub3duIHwgUHJvbWlzZTx1bmtub3duPjtcblxuZXhwb3J0IGludGVyZmFjZSBIb29rc1JlZ2lzdHJ5IHtcbiAgYXBwSW5pdDogQXBwSW5pdEhvb2tbXTtcbiAgYmVmb3JlQ29udHJvbGxlckNyZWF0aW9uOiBCZWZvcmVDb250cm9sbGVyQ3JlYXRpb25Ib29rW107XG4gIGFmdGVyQ29udHJvbGxlckNyZWF0aW9uOiBBZnRlckNvbnRyb2xsZXJDcmVhdGlvbkhvb2tbXTtcbiAgYXBwUmVhZHk6IEFwcFJlYWR5SG9va1tdO1xuICBhcHBEZXN0cm95OiBBcHBEZXN0cm95SG9va1tdO1xufVxuXG5leHBvcnQgY29uc3QgaG9va3NSZWdpc3RyeTogSG9va3NSZWdpc3RyeSA9IHtcbiAgYXBwSW5pdDogW10sXG4gIGJlZm9yZUNvbnRyb2xsZXJDcmVhdGlvbjogW10sXG4gIGFmdGVyQ29udHJvbGxlckNyZWF0aW9uOiBbXSxcbiAgYXBwUmVhZHk6IFtdLFxuICBhcHBEZXN0cm95OiBbXSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbml0aWFsaXphdGlvbkhvb2s8VCBleHRlbmRzICdhcHBJbml0Jz4oc3RhZ2U6IFQsIGhvb2tGbjogQXBwSW5pdEhvb2spOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxpemF0aW9uSG9vazxUIGV4dGVuZHMgJ2JlZm9yZUNvbnRyb2xsZXJDcmVhdGlvbic+KHN0YWdlOiBULCBob29rRm46IEJlZm9yZUNvbnRyb2xsZXJDcmVhdGlvbkhvb2spOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluaXRpYWxpemF0aW9uSG9vazxUIGV4dGVuZHMgJ2FmdGVyQ29udHJvbGxlckNyZWF0aW9uJz4oc3RhZ2U6IFQsIGhvb2tGbjogQWZ0ZXJDb250cm9sbGVyQ3JlYXRpb25Ib29rKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbml0aWFsaXphdGlvbkhvb2s8VCBleHRlbmRzICdhcHBSZWFkeSc+KHN0YWdlOiBULCBob29rRm46IEFwcFJlYWR5SG9vayk6IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5pdGlhbGl6YXRpb25Ib29rPFQgZXh0ZW5kcyAnYXBwRGVzdHJveSc+KHN0YWdlOiBULCBob29rRm46IEFwcERlc3Ryb3lIb29rKTogdm9pZDtcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbml0aWFsaXphdGlvbkhvb2s8VCBleHRlbmRzIGtleW9mIEhvb2tzUmVnaXN0cnk+KHN0YWdlOiBULCBob29rRm46IEhvb2tzUmVnaXN0cnlbVF1bMF0pOiB2b2lkIHtcbiAgaG9va3NSZWdpc3RyeVtzdGFnZV0ucHVzaChob29rRm4gYXMgKCkgPT4gdW5rbm93bik7XG59XG4iXX0= |
import { FastifyInstance } from 'fastify'; | ||
import type { CREATOR } from '../symbols/index.js'; | ||
export { CREATOR } from '../symbols/index.js'; | ||
export interface Constructable<T> { | ||
export interface Constructable<T = any> { | ||
new (...args: any): T; | ||
@@ -9,4 +9,4 @@ } | ||
[CREATOR]: { | ||
register(instance?: FastifyInstance, prefix?: string): Promise<void>; | ||
register(instance: FastifyInstance, prefix?: string): Promise<void> | void; | ||
}; | ||
} |
export { CREATOR } from '../symbols/index.js'; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcGx1Z2lucy9zaGFyZWQtaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYXN0aWZ5SW5zdGFuY2UgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCB0eXBlIHsgQ1JFQVRPUiB9IGZyb20gJy4uL3N5bWJvbHMvaW5kZXguanMnO1xuXG5leHBvcnQgeyBDUkVBVE9SIH0gZnJvbSAnLi4vc3ltYm9scy9pbmRleC5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3RydWN0YWJsZTxUPiB7XG4gIG5ldyAoLi4uYXJnczogYW55KTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyYWJsZTxUID0gYW55PiBleHRlbmRzIENvbnN0cnVjdGFibGU8VD4ge1xuICBbQ1JFQVRPUl06IHtcbiAgICByZWdpc3RlcihpbnN0YW5jZT86IEZhc3RpZnlJbnN0YW5jZSwgcHJlZml4Pzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgfTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLWludGVyZmFjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcGx1Z2lucy9zaGFyZWQtaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYXN0aWZ5SW5zdGFuY2UgfSBmcm9tICdmYXN0aWZ5JztcbmltcG9ydCB0eXBlIHsgQ1JFQVRPUiB9IGZyb20gJy4uL3N5bWJvbHMvaW5kZXguanMnO1xuXG5leHBvcnQgeyBDUkVBVE9SIH0gZnJvbSAnLi4vc3ltYm9scy9pbmRleC5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3RydWN0YWJsZTxUID0gYW55PiB7XG4gIG5ldyAoLi4uYXJnczogYW55KTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyYWJsZTxUID0gYW55PiBleHRlbmRzIENvbnN0cnVjdGFibGU8VD4ge1xuICBbQ1JFQVRPUl06IHtcbiAgICByZWdpc3RlcihpbnN0YW5jZTogRmFzdGlmeUluc3RhbmNlLCBwcmVmaXg/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHwgdm9pZDtcbiAgfTtcbn1cbiJdfQ== |
@@ -1,2 +0,2 @@ | ||
[![Fastify decorators](https://raw.githubusercontent.com/L2jLiga/fastify-decorators/v4.0.0-next.3/assets/logo.png)](https://github.com/L2jLiga/fastify-decorators) | ||
[![Fastify decorators](https://raw.githubusercontent.com/L2jLiga/fastify-decorators/v4.0.0-next.4/assets/logo.png)](https://github.com/L2jLiga/fastify-decorators) | ||
@@ -262,6 +262,6 @@ [![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/v4.0.0-next.3/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/docs/Bootstrapping.md | ||
[controllers]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/docs/Controllers.md | ||
[request handlers]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/docs/Request%20Handlers.md | ||
[testing]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/docs/Testing.md | ||
[migration guide (v4)]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.3/docs/Migration%20to%20v4.md | ||
[bootstrapping]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/docs/Bootstrapping.md | ||
[controllers]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/docs/Controllers.md | ||
[request handlers]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/docs/Request%20Handlers.md | ||
[testing]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/docs/Testing.md | ||
[migration guide (v4)]: https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/https://github.com/L2jLiga/fastify-decorators/blob/v4.0.0-next.4/docs/Migration%20to%20v4.md |
Sorry, the diff of this file is not supported yet
200355
66
1143