@nexus-ioc/testing 0.4.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +16 -5
  2. package/dist/{core → cjs/core}/hash-testing-util.js +6 -4
  3. package/dist/cjs/core/hash-testing-util.js.map +1 -0
  4. package/dist/{core → cjs/core}/testing-container.js +6 -7
  5. package/dist/cjs/core/testing-container.js.map +1 -0
  6. package/dist/cjs/core/testing-creator.js.map +1 -0
  7. package/dist/cjs/index.js.map +1 -0
  8. package/dist/cjs/interfaces/index.js.map +1 -0
  9. package/dist/cjs/interfaces/module-testing-container.interface.js.map +1 -0
  10. package/dist/esm/core/hash-testing-util.js +25 -0
  11. package/dist/esm/core/hash-testing-util.js.map +1 -0
  12. package/dist/esm/core/testing-container.js +73 -0
  13. package/dist/esm/core/testing-container.js.map +1 -0
  14. package/dist/esm/core/testing-creator.js +9 -0
  15. package/dist/esm/core/testing-creator.js.map +1 -0
  16. package/dist/esm/index.js +3 -0
  17. package/dist/esm/index.js.map +1 -0
  18. package/dist/esm/interfaces/index.js +2 -0
  19. package/dist/esm/interfaces/index.js.map +1 -0
  20. package/dist/esm/interfaces/module-testing-container.interface.js +2 -0
  21. package/dist/esm/interfaces/module-testing-container.interface.js.map +1 -0
  22. package/dist/esm/package.json +1 -0
  23. package/dist/types/core/hash-testing-util.d.ts +7 -0
  24. package/dist/{interfaces → types/interfaces}/module-testing-container.interface.d.ts +1 -1
  25. package/package.json +41 -19
  26. package/dist/core/hash-testing-util.d.ts +0 -6
  27. package/dist/core/hash-testing-util.js.map +0 -1
  28. package/dist/core/testing-container.js.map +0 -1
  29. package/dist/core/testing-creator.js.map +0 -1
  30. package/dist/index.js.map +0 -1
  31. package/dist/interfaces/index.js.map +0 -1
  32. package/dist/interfaces/module-testing-container.interface.js.map +0 -1
  33. /package/dist/{core → cjs/core}/testing-creator.js +0 -0
  34. /package/dist/{index.js → cjs/index.js} +0 -0
  35. /package/dist/{interfaces → cjs/interfaces}/index.js +0 -0
  36. /package/dist/{interfaces → cjs/interfaces}/module-testing-container.interface.js +0 -0
  37. /package/dist/{core → types/core}/testing-container.d.ts +0 -0
  38. /package/dist/{core → types/core}/testing-creator.d.ts +0 -0
  39. /package/dist/{index.d.ts → types/index.d.ts} +0 -0
  40. /package/dist/{interfaces → types/interfaces}/index.d.ts +0 -0
package/README.md CHANGED
@@ -1,8 +1,19 @@
1
- ![npm](https://img.shields.io/npm/v/@nexus-ioc/testing)
2
- ![license](https://img.shields.io/npm/l/@nexus-ioc/testing)
3
- ![build](https://img.shields.io/github/actions/workflow/status/Isqanderm/ioc/build.yml)
4
-
5
- Test library for Nexus IoC
1
+ # @nexus-ioc/testing
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@nexus-ioc/testing.svg)](https://www.npmjs.com/package/@nexus-ioc/testing)
4
+ [![npm downloads](https://img.shields.io/npm/dm/@nexus-ioc/testing.svg)](https://www.npmjs.com/package/@nexus-ioc/testing)
5
+ [![npm downloads](https://img.shields.io/npm/dt/@nexus-ioc/testing.svg)](https://www.npmjs.com/package/@nexus-ioc/testing)
6
+ [![License: MIT](https://img.shields.io/npm/l/@nexus-ioc/testing.svg)](https://github.com/Isqanderm/ioc/blob/main/LICENSE)
7
+ [![Bundle Size](https://img.shields.io/bundlephobia/minzip/@nexus-ioc/testing)](https://bundlephobia.com/package/@nexus-ioc/testing)
8
+ [![CI](https://github.com/Isqanderm/ioc/actions/workflows/ci.yml/badge.svg)](https://github.com/Isqanderm/ioc/actions/workflows/ci.yml)
9
+ [![codecov](https://codecov.io/gh/Isqanderm/ioc/branch/main/graph/badge.svg)](https://codecov.io/gh/Isqanderm/ioc)
10
+ [![Dependencies](https://img.shields.io/librariesio/release/npm/@nexus-ioc/testing)](https://libraries.io/npm/@nexus-ioc%2Ftesting)
11
+ [![GitHub stars](https://img.shields.io/github/stars/Isqanderm/ioc.svg?style=social&label=Star)](https://github.com/Isqanderm/ioc)
12
+ [![GitHub issues](https://img.shields.io/github/issues/Isqanderm/ioc.svg)](https://github.com/Isqanderm/ioc/issues)
13
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.0+-blue.svg)](https://www.typescriptlang.org/)
14
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/Isqanderm/ioc/blob/main/CONTRIBUTING.md)
15
+
16
+ > Test library for Nexus IoC
6
17
 
7
18
  ## Table of Contents
8
19
 
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HashTestingUtil = void 0;
4
- const random_string_generator_util_1 = require("@nexus-ioc/core/dist/utils/random-string-generator.util");
5
4
  class HashTestingUtil {
5
+ constructor() {
6
+ this.increment = 1;
7
+ }
6
8
  async hashString(value) {
7
9
  let index = 0;
8
10
  return new Array(64)
@@ -16,11 +18,11 @@ class HashTestingUtil {
16
18
  })
17
19
  .join("");
18
20
  }
19
- async hashObject(value) {
21
+ async hashObject(_value) {
20
22
  return "";
21
23
  }
22
- randomStringGenerator() {
23
- return (0, random_string_generator_util_1.randomStringGenerator)();
24
+ incrementString() {
25
+ return `${this.increment++}`;
24
26
  }
25
27
  }
26
28
  exports.HashTestingUtil = HashTestingUtil;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-testing-util.js","sourceRoot":"","sources":["../../../src/core/hash-testing-util.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAA5B;QACS,cAAS,GAAG,CAAC,CAAC;IAwBvB,CAAC;IAvBA,KAAK,CAAC,UAAU,CAAC,KAAa;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,CAAC;YAER,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,KAAK,GAAG,CAAC,CAAC;YACX,CAAC;YAED,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC9B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,eAAe;QACd,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IAC9B,CAAC;CACD;AAzBD,0CAyBC"}
@@ -2,8 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Test = void 0;
4
4
  const core_1 = require("@nexus-ioc/core");
5
- const container_1 = require("@nexus-ioc/core/dist/core/modules/container");
6
- const container_not_compiled_error_1 = require("@nexus-ioc/core/dist/errors/container-not-compiled.error");
5
+ const shared_1 = require("@nexus-ioc/shared");
7
6
  const hash_testing_util_1 = require("./hash-testing-util");
8
7
  const testing_creator_1 = require("./testing-creator");
9
8
  class Test {
@@ -11,7 +10,7 @@ class Test {
11
10
  this.metatype = metatype;
12
11
  this.scannerPlugins = [];
13
12
  this.hashTestingUtil = new hash_testing_util_1.HashTestingUtil();
14
- this.container = new container_1.Container(this.hashTestingUtil);
13
+ this.container = new core_1.Container(this.hashTestingUtil);
15
14
  this.moduleTestingCreator = new testing_creator_1.TestingCreator();
16
15
  this._moduleContainer = null;
17
16
  this._moduleDecorator = core_1.NsModule;
@@ -32,7 +31,7 @@ class Test {
32
31
  }
33
32
  get(token) {
34
33
  if (!this.containerCompiled) {
35
- throw new container_not_compiled_error_1.ContainerNotCompiledError();
34
+ throw new shared_1.ContainerNotCompiledError();
36
35
  }
37
36
  return this.container.get(token);
38
37
  }
@@ -48,13 +47,13 @@ class Test {
48
47
  }
49
48
  get module() {
50
49
  if (!this.containerCompiled) {
51
- throw new container_not_compiled_error_1.ContainerNotCompiledError();
50
+ throw new shared_1.ContainerNotCompiledError();
52
51
  }
53
52
  return this._module;
54
53
  }
55
54
  get moduleContainer() {
56
55
  if (!this.containerCompiled) {
57
- throw new container_not_compiled_error_1.ContainerNotCompiledError();
56
+ throw new shared_1.ContainerNotCompiledError();
58
57
  }
59
58
  return this._moduleContainer;
60
59
  }
@@ -69,7 +68,7 @@ class Test {
69
68
  }
70
69
  get errors() {
71
70
  if (!this.containerCompiled) {
72
- throw new container_not_compiled_error_1.ContainerNotCompiledError();
71
+ throw new shared_1.ContainerNotCompiledError();
73
72
  }
74
73
  return this._moduleContainer?.errors;
75
74
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing-container.js","sourceRoot":"","sources":["../../../src/core/testing-container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing-creator.js","sourceRoot":"","sources":["../../../src/core/testing-creator.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IAC1B,MAAM,CACL,QAAW,EACX,eAAgD;QAEhD,MAAM,MAAM,GAAG;SAAQ,CAAC;QAExB,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AAXD,wCAWC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,8DAAgD;AAAvC,yGAAA,IAAI,OAAA;AACb,uDAA6B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,+EAAqD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-testing-container.interface.js","sourceRoot":"","sources":["../../../src/interfaces/module-testing-container.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ export class HashTestingUtil {
2
+ constructor() {
3
+ this.increment = 1;
4
+ }
5
+ async hashString(value) {
6
+ let index = 0;
7
+ return new Array(64)
8
+ .fill(null)
9
+ .map(() => {
10
+ index++;
11
+ if (index >= value.length) {
12
+ index = 0;
13
+ }
14
+ return value.charAt(index);
15
+ })
16
+ .join("");
17
+ }
18
+ async hashObject(_value) {
19
+ return "";
20
+ }
21
+ incrementString() {
22
+ return `${this.increment++}`;
23
+ }
24
+ }
25
+ //# sourceMappingURL=hash-testing-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash-testing-util.js","sourceRoot":"","sources":["../../../src/core/hash-testing-util.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,eAAe;IAA5B;QACS,cAAS,GAAG,CAAC,CAAC;IAwBvB,CAAC;IAvBA,KAAK,CAAC,UAAU,CAAC,KAAa;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,CAAC;YAER,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,KAAK,GAAG,CAAC,CAAC;YACX,CAAC;YAED,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC9B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,eAAe;QACd,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;IAC9B,CAAC;CACD"}
@@ -0,0 +1,73 @@
1
+ import { Container, NsModule as ModuleDecorator, } from "@nexus-ioc/core";
2
+ import { ContainerNotCompiledError } from "@nexus-ioc/shared";
3
+ import { HashTestingUtil } from "./hash-testing-util.js";
4
+ import { TestingCreator } from "./testing-creator.js";
5
+ export class Test {
6
+ constructor(metatype) {
7
+ this.metatype = metatype;
8
+ this.scannerPlugins = [];
9
+ this.hashTestingUtil = new HashTestingUtil();
10
+ this.container = new Container(this.hashTestingUtil);
11
+ this.moduleTestingCreator = new TestingCreator();
12
+ this._moduleContainer = null;
13
+ this._moduleDecorator = ModuleDecorator;
14
+ this._module = null;
15
+ this.containerCompiled = false;
16
+ }
17
+ static createModule(metatype) {
18
+ return new Test(metatype);
19
+ }
20
+ async addModule(metatype) {
21
+ return this.container.addModule(metatype);
22
+ }
23
+ async getModule(metatype) {
24
+ return this.container.getModule(metatype);
25
+ }
26
+ async replaceModule(metatypeToReplace, newMetatype) {
27
+ return this.container.replaceModule(metatypeToReplace, newMetatype);
28
+ }
29
+ get(token) {
30
+ if (!this.containerCompiled) {
31
+ throw new ContainerNotCompiledError();
32
+ }
33
+ return this.container.get(token);
34
+ }
35
+ async compile() {
36
+ this._module = this.moduleTestingCreator.create(this.metatype, this._moduleDecorator);
37
+ this._moduleContainer = await this.container.addModule(this._module);
38
+ await this.container.run(this._moduleContainer.metatype);
39
+ this.containerCompiled = true;
40
+ for (const scannerPlugin of this.scannerPlugins) {
41
+ await scannerPlugin.scan(this.container.graph);
42
+ }
43
+ return this._moduleContainer;
44
+ }
45
+ get module() {
46
+ if (!this.containerCompiled) {
47
+ throw new ContainerNotCompiledError();
48
+ }
49
+ return this._module;
50
+ }
51
+ get moduleContainer() {
52
+ if (!this.containerCompiled) {
53
+ throw new ContainerNotCompiledError();
54
+ }
55
+ return this._moduleContainer;
56
+ }
57
+ addScannerPlugin(scanner) {
58
+ const plugins = Array.isArray(scanner) ? scanner : [scanner];
59
+ this.scannerPlugins.push(...plugins);
60
+ return this;
61
+ }
62
+ setModuleDecorator(decorator) {
63
+ this._moduleDecorator = decorator;
64
+ return this;
65
+ }
66
+ get errors() {
67
+ if (!this.containerCompiled) {
68
+ throw new ContainerNotCompiledError();
69
+ }
70
+ return this._moduleContainer?.errors;
71
+ }
72
+ }
73
+ //# sourceMappingURL=testing-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing-container.js","sourceRoot":"","sources":["../../../src/core/testing-container.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export class TestingCreator {
2
+ create(metatype, moduleDecorator) {
3
+ const module = class {
4
+ };
5
+ moduleDecorator(metatype)(module);
6
+ return module;
7
+ }
8
+ }
9
+ //# sourceMappingURL=testing-creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing-creator.js","sourceRoot":"","sources":["../../../src/core/testing-creator.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAc;IAC1B,MAAM,CACL,QAAW,EACX,eAAgD;QAEhD,MAAM,MAAM,GAAG;SAAQ,CAAC;QAExB,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC;IACf,CAAC;CACD"}
@@ -0,0 +1,3 @@
1
+ export { Test } from "./core/testing-container.js";
2
+ export * from "./interfaces/index.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,cAAc,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./module-testing-container.interface.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=module-testing-container.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-testing-container.interface.js","sourceRoot":"","sources":["../../../src/interfaces/module-testing-container.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"type":"module"}
@@ -0,0 +1,7 @@
1
+ import type { HashUtilInterface } from "@nexus-ioc/shared";
2
+ export declare class HashTestingUtil implements HashUtilInterface {
3
+ private increment;
4
+ hashString(value: string): Promise<string>;
5
+ hashObject(_value: object): Promise<string>;
6
+ incrementString(): string;
7
+ }
@@ -1,5 +1,5 @@
1
1
  import type { ContainerBaseInterface, ModuleContainerInterface, ModuleMetadata, ModulePluginInterface } from "@nexus-ioc/core";
2
- export interface ModuleTestingContainerInterface<T extends ModuleMetadata> extends ContainerBaseInterface, ModulePluginInterface {
2
+ export interface ModuleTestingContainerInterface<_T extends ModuleMetadata> extends ContainerBaseInterface, ModulePluginInterface {
3
3
  setModuleDecorator(decorator: <M extends ModuleMetadata = ModuleMetadata>(metadata: M) => ClassDecorator): this;
4
4
  compile(): Promise<ModuleContainerInterface>;
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-ioc/testing",
3
- "version": "0.4.1",
3
+ "version": "0.6.1",
4
4
  "description": "Testing helpers for Nexus IoC library",
5
5
  "author": "IsqanderM <aleksandr.melnik.personal@gmail.com>",
6
6
  "homepage": "https://github.com/Isqanderm/ioc#readme",
@@ -15,43 +15,65 @@
15
15
  "lib": "src",
16
16
  "test": "__test__"
17
17
  },
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
18
21
  "files": [
19
22
  "dist",
20
23
  "package.json",
21
24
  "LICENSE",
22
25
  "README.md"
23
26
  ],
24
- "main": "./dist/index.js",
25
- "module": "./dist/index.js",
26
- "types": "./dist/index.d.ts",
27
+ "main": "./dist/cjs/index.js",
28
+ "module": "./dist/esm/index.js",
29
+ "types": "./dist/types/index.d.ts",
30
+ "exports": {
31
+ ".": {
32
+ "import": {
33
+ "types": "./dist/types/index.d.ts",
34
+ "default": "./dist/esm/index.js"
35
+ },
36
+ "require": {
37
+ "types": "./dist/types/index.d.ts",
38
+ "default": "./dist/cjs/index.js"
39
+ }
40
+ }
41
+ },
42
+ "sideEffects": false,
27
43
  "license": "MIT",
28
44
  "peerDependencies": {
29
- "reflect-metadata": "^0.1.12 || ^0.2.0",
30
- "@nexus-ioc/core": "^0.4.0"
45
+ "@nexus-ioc/core": "^0.4.0",
46
+ "reflect-metadata": "^0.1.12 || ^0.2.0"
31
47
  },
32
48
  "devDependencies": {
33
- "@types/jest": "^29.5.12",
34
- "@types/node": "^22.5.4",
35
- "jest": "^29.7.0",
49
+ "@nexus-ioc/core": "^0.6.1",
50
+ "@types/node": "^24.8.1",
51
+ "@vitest/coverage-v8": "^3.0.0",
36
52
  "reflect-metadata": "^0.1.12 || ^0.2.0",
37
- "sinon": "^18.0.0",
38
- "ts-jest": "^29.1.4",
39
- "ts-node": "^10.9.2",
40
- "typescript": "^5.5.3"
53
+ "sinon": "^21.0.0",
54
+ "typescript": "^5.9.3",
55
+ "vite": "^7.0.0",
56
+ "vitest": "^3.0.0"
41
57
  },
42
58
  "dependencies": {
59
+ "@nexus-ioc/shared": "^0.6.1",
43
60
  "tslib": "^2.7.0"
44
61
  },
45
62
  "scripts": {
46
- "build": "tsc",
47
- "test": "echo 0",
48
- "clean": "rm -rf ./dist && rm tsconfig.tsbuildinfo",
49
- "test:watch": "jest --watch",
63
+ "build": "npm run build:cjs && npm run build:esm",
64
+ "build:cjs": "tsc -p tsconfig.cjs.json",
65
+ "build:esm": "tsc -p tsconfig.esm.json && node ../../scripts/fix-esm-imports.js dist/esm && echo '{\"type\":\"module\"}' > dist/esm/package.json",
66
+ "test": "vitest run",
67
+ "clean": "rm -rf ./dist && rm -f tsconfig*.tsbuildinfo",
68
+ "test:watch": "vitest",
69
+ "test:ui": "vitest --ui",
70
+ "test:coverage": "vitest run --coverage",
50
71
  "code:format": "npx @biomejs/biome format --write",
51
72
  "code:lint": "npx @biomejs/biome lint --write",
52
73
  "code:check": "npx @biomejs/biome check",
53
74
  "code:check:ci": "npx @biomejs/biome ci",
54
75
  "code:check:apply": "npx @biomejs/biome check --write",
55
- "test:ready": "echo 0"
56
- }
76
+ "test:ready": "npm run build"
77
+ },
78
+ "gitHead": "1246f1b9b3ba543f6618a6165adc68630ce26928"
57
79
  }
@@ -1,6 +0,0 @@
1
- import type { HashUtilInterface } from "@nexus-ioc/core/dist/interfaces";
2
- export declare class HashTestingUtil implements HashUtilInterface {
3
- hashString(value: string): Promise<string>;
4
- hashObject(value: object): Promise<string>;
5
- randomStringGenerator(): string;
6
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"hash-testing-util.js","sourceRoot":"","sources":["../../src/core/hash-testing-util.ts"],"names":[],"mappings":";;;AACA,0GAAgG;AAEhG,MAAa,eAAe;IAC3B,KAAK,CAAC,UAAU,CAAC,KAAa;QAC7B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,OAAO,IAAI,KAAK,CAAC,EAAE,CAAC;aAClB,IAAI,CAAC,IAAI,CAAC;aACV,GAAG,CAAC,GAAG,EAAE;YACT,KAAK,EAAE,CAAC;YAER,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC3B,KAAK,GAAG,CAAC,CAAC;YACX,CAAC;YAED,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAa;QAC7B,OAAO,EAAE,CAAC;IACX,CAAC;IAED,qBAAqB;QACpB,OAAO,IAAA,oDAAqB,GAAE,CAAC;IAChC,CAAC;CACD;AAxBD,0CAwBC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing-container.js","sourceRoot":"","sources":["../../src/core/testing-container.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"testing-creator.js","sourceRoot":"","sources":["../../src/core/testing-creator.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IAC1B,MAAM,CACL,QAAW,EACX,eAAgD;QAEhD,MAAM,MAAM,GAAG;SAAQ,CAAC;QAExB,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;QAElC,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AAXD,wCAWC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,8DAAgD;AAAvC,yGAAA,IAAI,OAAA;AACb,uDAA6B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,+EAAqD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"module-testing-container.interface.js","sourceRoot":"","sources":["../../src/interfaces/module-testing-container.interface.ts"],"names":[],"mappings":""}
File without changes
File without changes
File without changes
File without changes
File without changes