nestjs-vk
Advanced tools
Comparing version 4.4.0-rc.2 to 4.4.2
export * from './core'; | ||
export * from './listeners'; | ||
export * from './params'; | ||
export * from './scene'; |
@@ -17,1 +17,2 @@ "use strict"; | ||
__exportStar(require("./params"), exports); | ||
__exportStar(require("./scene"), exports); |
@@ -7,2 +7,3 @@ "use strict"; | ||
exchangeKeyForValue(type, data, args) { | ||
var _a; | ||
const [ctx, next] = args; | ||
@@ -15,3 +16,3 @@ switch (type) { | ||
case vk_paramtype_enum_1.VkParamtype.MESSAGE: | ||
return data && ctx.message ? ctx.message[data] : ctx.message; | ||
return data && ctx.message ? (_a = ctx.message) === null || _a === void 0 ? void 0 : _a[data] : ctx.message; | ||
default: | ||
@@ -18,0 +19,0 @@ return null; |
@@ -21,3 +21,3 @@ import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; | ||
useHearManager?: boolean | HearManager<MessageContext>; | ||
notRelpyMessage?: boolean; | ||
notReplyMessage?: boolean; | ||
} | ||
@@ -24,0 +24,0 @@ export interface VkOptionsFactory { |
@@ -30,5 +30,8 @@ import { OnModuleInit } from '@nestjs/common'; | ||
private filterUpdates; | ||
private registerScenes; | ||
private filterScenes; | ||
private registerListeners; | ||
private registerSceneSteps; | ||
private registerIfListener; | ||
createContextCallback<T extends Record<string, unknown>>(instance: T, prototype: unknown, methodName: string): (...args: any[]) => Promise<any>; | ||
} |
@@ -57,4 +57,5 @@ "use strict"; | ||
if (this.vkOptions.useSceneManager !== false) { | ||
this.vk.updates.use((this.vkOptions.useSceneManager instanceof scenes_1.SceneManager && this.vkOptions.useSceneManager.middleware) || | ||
this.sceneManager.middleware); | ||
const sceneManager = (this.vkOptions.useSceneManager instanceof scenes_1.SceneManager && this.vkOptions.useSceneManager) || this.sceneManager; | ||
this.vk.updates.use(sceneManager.middleware); | ||
this.vk.updates.use(sceneManager.middlewareIntercept); | ||
} | ||
@@ -77,3 +78,3 @@ this.explore(); | ||
this.registerUpdates(modules); | ||
// this.registerScenes(modules); | ||
this.registerScenes(modules); | ||
} | ||
@@ -93,24 +94,18 @@ registerUpdates(modules) { | ||
} | ||
/* private registerScenes(modules: Module[]): void { | ||
const scenes = this.flatMap<InstanceWrapper>(modules, (wrapper) => this.filterScenes(wrapper)); | ||
scenes.forEach((wrapper) => { | ||
const sceneId = this.metadataAccessor.getSceneMetadata(wrapper.instance.constructor); | ||
// TODO: make it | ||
const scene = new StepScene(sceneId); | ||
this.sceneManager.addScenes([scene]); | ||
// // // this.registerListeners(scene, wrapper); | ||
}); | ||
registerScenes(modules) { | ||
const scenes = this.flatMap(modules, (wrapper) => this.filterScenes(wrapper)); | ||
scenes.forEach((wrapper) => { | ||
const sceneId = this.metadataAccessor.getSceneMetadata(wrapper.instance.constructor); | ||
this.registerSceneSteps(sceneId, wrapper); | ||
}); | ||
} | ||
private filterScenes(wrapper: InstanceWrapper): InstanceWrapper<unknown> { | ||
const { instance } = wrapper; | ||
if (!instance) return undefined; | ||
const isScene = this.metadataAccessor.isScene(wrapper.metatype); | ||
if (!isScene) return undefined; | ||
return wrapper; | ||
} */ | ||
filterScenes(wrapper) { | ||
const { instance } = wrapper; | ||
if (!instance) | ||
return undefined; | ||
const isScene = this.metadataAccessor.isScene(wrapper.metatype); | ||
if (!isScene) | ||
return undefined; | ||
return wrapper; | ||
} | ||
registerListeners(updates, wrapper) { | ||
@@ -121,2 +116,36 @@ const { instance } = wrapper; | ||
} | ||
registerSceneSteps(sceneId, wrapper) { | ||
const { instance } = wrapper; | ||
const prototype = Object.getPrototypeOf(instance); | ||
const steps = []; | ||
let enterHandler; | ||
let leaveHandler; | ||
let index = 0; | ||
this.metadataScanner.scanFromPrototype(instance, prototype, (methodName) => { | ||
const methodRef = prototype[methodName]; | ||
const action = this.metadataAccessor.getSceneActionMetadata(methodRef); | ||
if (action) { | ||
if (action === 'enter') { | ||
enterHandler = this.createContextCallback(instance, prototype, methodName); | ||
} | ||
else { | ||
leaveHandler = this.createContextCallback(instance, prototype, methodName); | ||
} | ||
return; | ||
} | ||
const step = this.metadataAccessor.getSceneStepMetadata(methodRef); | ||
steps.push({ step: step !== null && step !== void 0 ? step : index++, methodName }); | ||
}); | ||
const scene = new scenes_1.StepScene(sceneId, { | ||
enterHandler, | ||
leaveHandler, | ||
steps: steps | ||
.sort((a, b) => a.step - b.step) | ||
.map((e) => { | ||
const listenerCallbackFn = this.createContextCallback(instance, prototype, e.methodName); | ||
return listenerCallbackFn; | ||
}), | ||
}); | ||
this.sceneManager.addScenes([scene]); | ||
} | ||
registerIfListener(updates, instance, prototype, methodName) { | ||
@@ -136,3 +165,3 @@ const methodRef = prototype[methodName]; | ||
if (typeof result === 'string' || typeof result === 'object') { | ||
if (this.vkOptions.notRelpyMessage) { | ||
if (this.vkOptions.notReplyMessage) { | ||
await ctx.send(result); | ||
@@ -156,5 +185,5 @@ } | ||
case 'hears': { | ||
if (this.vkOptions.useHearManager === false) { | ||
break; | ||
} | ||
// if (this.vkOptions.useHearManager === false) { | ||
// break; | ||
// } | ||
if (method === 'onFallback') { | ||
@@ -161,0 +190,0 @@ this.hearManagerProvider.onFallback(getHandler()); |
@@ -10,2 +10,4 @@ import { Reflector } from '@nestjs/core'; | ||
getSceneMetadata(target: Function): string | undefined; | ||
getSceneStepMetadata(target: Function): number | undefined; | ||
getSceneActionMetadata(target: Function): 'enter' | 'leave'; | ||
} |
@@ -36,2 +36,8 @@ "use strict"; | ||
} | ||
getSceneStepMetadata(target) { | ||
return this.reflector.get(vk_constants_1.VK_SCENE_STEP_METADATA, target); | ||
} | ||
getSceneActionMetadata(target) { | ||
return this.reflector.get(vk_constants_1.VK_SCENE_ACTION_METADATA, target); | ||
} | ||
}; | ||
@@ -38,0 +44,0 @@ MetadataAccessorService = __decorate([ |
@@ -7,2 +7,4 @@ export declare const VK_MODULE_OPTIONS = "VK_MODULE_OPTIONS"; | ||
export declare const VK_LISTENERS_METADATA = "VK_LISTENERS_METADATA"; | ||
export declare const VK_SCENE_STEP_METADATA = "VK_SCENE_STEP_METADATA"; | ||
export declare const VK_SCENE_ACTION_METADATA = "VK_SCENE_ACTION_METADATA"; | ||
export declare const PARAM_ARGS_METADATA = "__routeArguments__"; | ||
@@ -9,0 +11,0 @@ export declare const VK_SESSION_MANAGER = "VkSessionManager"; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.VK_HEAR_MANAGER = exports.VK_SCENE_MANAGER = exports.VK_SESSION_MANAGER = exports.PARAM_ARGS_METADATA = exports.VK_LISTENERS_METADATA = exports.VK_SCENE_METADATA = exports.VK_UPDATE_METADATA = exports.DEFAULT_VK_API_NAME = exports.VK_API_NAME = exports.VK_MODULE_OPTIONS = void 0; | ||
exports.VK_HEAR_MANAGER = exports.VK_SCENE_MANAGER = exports.VK_SESSION_MANAGER = exports.PARAM_ARGS_METADATA = exports.VK_SCENE_ACTION_METADATA = exports.VK_SCENE_STEP_METADATA = exports.VK_LISTENERS_METADATA = exports.VK_SCENE_METADATA = exports.VK_UPDATE_METADATA = exports.DEFAULT_VK_API_NAME = exports.VK_API_NAME = exports.VK_MODULE_OPTIONS = void 0; | ||
const constants_1 = require("@nestjs/common/constants"); | ||
@@ -11,2 +11,4 @@ exports.VK_MODULE_OPTIONS = 'VK_MODULE_OPTIONS'; | ||
exports.VK_LISTENERS_METADATA = 'VK_LISTENERS_METADATA'; | ||
exports.VK_SCENE_STEP_METADATA = 'VK_SCENE_STEP_METADATA'; | ||
exports.VK_SCENE_ACTION_METADATA = 'VK_SCENE_ACTION_METADATA'; | ||
exports.PARAM_ARGS_METADATA = constants_1.ROUTE_ARGS_METADATA; | ||
@@ -13,0 +15,0 @@ exports.VK_SESSION_MANAGER = 'VkSessionManager'; |
{ | ||
"name": "nestjs-vk", | ||
"version": "4.4.0-rc.2", | ||
"version": "4.4.2", | ||
"description": "VK-IO module for NestJS", | ||
"keywords": [ | ||
"nest", | ||
"nestjs", | ||
"nestjs-module", | ||
"vk", | ||
"vk-io", | ||
"vk bot", | ||
"vk bot api", | ||
"bot", | ||
"bot api", | ||
"bot framework" | ||
], | ||
"homepage": "https://github.com/xTCry/nestjs-vk#readme", | ||
@@ -27,7 +15,9 @@ "bugs": { | ||
"scripts": { | ||
"prebuild-nest": "rimraf dist", | ||
"build-nest": "nest build", | ||
"build": "rimraf dist && tsc -p tsconfig.json", | ||
"prepublish:npm": "npm run build", | ||
"publish:npm": "npm publish --access public" | ||
"prepublishOnly": "npm run build", | ||
"publish:npm": "npm publish --access public", | ||
"release": "standard-version", | ||
"release:minor": "standard-version --release-as minor", | ||
"release:patch": "standard-version --release-as patch", | ||
"release:major": "standard-version --release-as major" | ||
}, | ||
@@ -40,12 +30,13 @@ "dependencies": { | ||
"rimraf": "^3.0.2", | ||
"vk-io": "^4.4.0" | ||
"standard-version": "^9.3.2", | ||
"vk-io": "^4.0.0" | ||
}, | ||
"devDependencies": { | ||
"@nestjs/common": "7.6.18", | ||
"@nestjs/core": "7.6.18", | ||
"@types/lodash": "4.14.171", | ||
"@nestjs/core": "7.6.18", | ||
"@nestjs/common": "7.6.18", | ||
"middleware-io": "^2.8.0", | ||
"prettier": "2.3.2", | ||
"reflect-metadata": "0.1.13", | ||
"rxjs": "6.6.7", | ||
"middleware-io": "^2.8.0", | ||
"typescript": "4.3.5" | ||
@@ -57,5 +48,17 @@ }, | ||
"reflect-metadata": "^0.1.13", | ||
"vk-io": "^4.0.0", | ||
"typescript": "^4.1.2" | ||
} | ||
"typescript": "^4.1.2", | ||
"vk-io": "^4.0.0" | ||
}, | ||
"keywords": [ | ||
"nest", | ||
"nestjs", | ||
"nestjs-module", | ||
"vk", | ||
"vk-io", | ||
"vk bot", | ||
"vk bot api", | ||
"bot", | ||
"bot api", | ||
"bot framework" | ||
] | ||
} |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
69406
96
1267
0
12
+ Addedstandard-version@^9.3.2
+ Added@babel/code-frame@7.24.2(transitive)
+ Added@babel/helper-validator-identifier@7.24.5(transitive)
+ Added@babel/highlight@7.24.5(transitive)
+ Added@hutson/parse-repository-url@3.0.2(transitive)
+ Added@types/minimist@1.2.5(transitive)
+ Added@types/normalize-package-data@2.4.4(transitive)
+ AddedJSONStream@1.3.5(transitive)
+ Addedadd-stream@1.0.0(transitive)
+ Addedansi-regex@5.0.1(transitive)
+ Addedansi-styles@3.2.1(transitive)
+ Addedarray-ify@1.0.0(transitive)
+ Addedarrify@1.0.1(transitive)
+ Addedbuffer-from@1.1.2(transitive)
+ Addedcamelcase@5.3.1(transitive)
+ Addedcamelcase-keys@6.2.2(transitive)
+ Addedchalk@2.4.2(transitive)
+ Addedcliui@7.0.4(transitive)
+ Addedcolor-convert@1.9.3(transitive)
+ Addedcolor-name@1.1.3(transitive)
+ Addedcompare-func@2.0.0(transitive)
+ Addedconcat-stream@2.0.0(transitive)
+ Addedconventional-changelog@3.1.25(transitive)
+ Addedconventional-changelog-angular@5.0.13(transitive)
+ Addedconventional-changelog-atom@2.0.8(transitive)
+ Addedconventional-changelog-codemirror@2.0.8(transitive)
+ Addedconventional-changelog-config-spec@2.1.0(transitive)
+ Addedconventional-changelog-conventionalcommits@4.6.3(transitive)
+ Addedconventional-changelog-core@4.2.4(transitive)
+ Addedconventional-changelog-ember@2.0.9(transitive)
+ Addedconventional-changelog-eslint@3.0.9(transitive)
+ Addedconventional-changelog-express@2.0.6(transitive)
+ Addedconventional-changelog-jquery@3.0.11(transitive)
+ Addedconventional-changelog-jshint@2.0.9(transitive)
+ Addedconventional-changelog-preset-loader@2.3.4(transitive)
+ Addedconventional-changelog-writer@5.0.1(transitive)
+ Addedconventional-commits-filter@2.0.7(transitive)
+ Addedconventional-commits-parser@3.2.4(transitive)
+ Addedconventional-recommended-bump@6.1.0(transitive)
+ Addedcore-util-is@1.0.3(transitive)
+ Addeddargs@7.0.0(transitive)
+ Addeddateformat@3.0.3(transitive)
+ Addeddecamelize@1.2.0(transitive)
+ Addeddecamelize-keys@1.1.1(transitive)
+ Addeddetect-indent@6.1.0(transitive)
+ Addeddetect-newline@3.1.0(transitive)
+ Addeddot-prop@5.3.0(transitive)
+ Addeddotgitignore@2.1.0(transitive)
+ Addedemoji-regex@8.0.0(transitive)
+ Addederror-ex@1.3.2(transitive)
+ Addedescalade@3.1.2(transitive)
+ Addedescape-string-regexp@1.0.5(transitive)
+ Addedfigures@3.2.0(transitive)
+ Addedfind-up@2.1.03.0.04.1.05.0.0(transitive)
+ Addedfunction-bind@1.1.2(transitive)
+ Addedget-caller-file@2.0.5(transitive)
+ Addedget-pkg-repo@4.2.1(transitive)
+ Addedgit-raw-commits@2.0.11(transitive)
+ Addedgit-remote-origin-url@2.0.0(transitive)
+ Addedgit-semver-tags@4.1.1(transitive)
+ Addedgitconfiglocal@1.0.0(transitive)
+ Addedgraceful-fs@4.2.11(transitive)
+ Addedhandlebars@4.7.8(transitive)
+ Addedhard-rejection@2.1.0(transitive)
+ Addedhas-flag@3.0.0(transitive)
+ Addedhasown@2.0.2(transitive)
+ Addedhosted-git-info@2.8.94.1.0(transitive)
+ Addedindent-string@4.0.0(transitive)
+ Addedini@1.3.8(transitive)
+ Addedis-arrayish@0.2.1(transitive)
+ Addedis-core-module@2.13.1(transitive)
+ Addedis-fullwidth-code-point@3.0.0(transitive)
+ Addedis-obj@2.0.0(transitive)
+ Addedis-plain-obj@1.1.0(transitive)
+ Addedis-text-path@1.0.1(transitive)
+ Addedisarray@1.0.0(transitive)
+ Addedjs-tokens@4.0.0(transitive)
+ Addedjson-parse-better-errors@1.0.2(transitive)
+ Addedjson-parse-even-better-errors@2.3.1(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedjsonparse@1.3.1(transitive)
+ Addedkind-of@6.0.3(transitive)
+ Addedlines-and-columns@1.2.4(transitive)
+ Addedload-json-file@4.0.0(transitive)
+ Addedlocate-path@2.0.03.0.05.0.06.0.0(transitive)
+ Addedlodash.ismatch@4.4.0(transitive)
+ Addedlru-cache@6.0.0(transitive)
+ Addedmap-obj@1.0.14.3.0(transitive)
+ Addedmeow@8.1.2(transitive)
+ Addedmin-indent@1.0.1(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedminimist-options@4.1.0(transitive)
+ Addedmodify-values@1.0.1(transitive)
+ Addedneo-async@2.6.2(transitive)
+ Addednormalize-package-data@2.5.03.0.3(transitive)
+ Addedp-limit@1.3.02.3.03.1.0(transitive)
+ Addedp-locate@2.0.03.0.04.1.05.0.0(transitive)
+ Addedp-try@1.0.02.2.0(transitive)
+ Addedparse-json@4.0.05.2.0(transitive)
+ Addedpath-exists@3.0.04.0.0(transitive)
+ Addedpath-parse@1.0.7(transitive)
+ Addedpath-type@3.0.0(transitive)
+ Addedpicocolors@1.0.0(transitive)
+ Addedpify@2.3.03.0.0(transitive)
+ Addedprocess-nextick-args@2.0.1(transitive)
+ Addedq@1.5.1(transitive)
+ Addedquick-lru@4.0.1(transitive)
+ Addedread-pkg@3.0.05.2.0(transitive)
+ Addedread-pkg-up@3.0.07.0.1(transitive)
+ Addedreadable-stream@2.3.83.6.2(transitive)
+ Addedredent@3.0.0(transitive)
+ Addedrequire-directory@2.1.1(transitive)
+ Addedresolve@1.22.8(transitive)
+ Addedsafe-buffer@5.1.2(transitive)
+ Addedsemver@5.7.26.3.17.6.2(transitive)
+ Addedsource-map@0.6.1(transitive)
+ Addedspdx-correct@3.2.0(transitive)
+ Addedspdx-exceptions@2.5.0(transitive)
+ Addedspdx-expression-parse@3.0.1(transitive)
+ Addedspdx-license-ids@3.0.17(transitive)
+ Addedsplit@1.0.1(transitive)
+ Addedsplit2@3.2.2(transitive)
+ Addedstandard-version@9.5.0(transitive)
+ Addedstring-width@4.2.3(transitive)
+ Addedstring_decoder@1.1.1(transitive)
+ Addedstringify-package@1.0.1(transitive)
+ Addedstrip-ansi@6.0.1(transitive)
+ Addedstrip-bom@3.0.0(transitive)
+ Addedstrip-indent@3.0.0(transitive)
+ Addedsupports-color@5.5.0(transitive)
+ Addedsupports-preserve-symlinks-flag@1.0.0(transitive)
+ Addedtext-extensions@1.9.0(transitive)
+ Addedthrough@2.3.8(transitive)
+ Addedthrough2@2.0.54.0.2(transitive)
+ Addedtrim-newlines@3.0.1(transitive)
+ Addedtype-fest@0.6.00.8.1(transitive)
+ Addedtypedarray@0.0.6(transitive)
+ Addeduglify-js@3.17.4(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addedvalidate-npm-package-license@3.0.4(transitive)
+ Addedwordwrap@1.0.0(transitive)
+ Addedwrap-ansi@7.0.0(transitive)
+ Addedxtend@4.0.2(transitive)
+ Addedy18n@5.0.8(transitive)
+ Addedyallist@4.0.0(transitive)
+ Addedyargs@16.2.0(transitive)
+ Addedyargs-parser@20.2.9(transitive)
+ Addedyocto-queue@0.1.0(transitive)
Updatedvk-io@^4.0.0