@orq-ai/tiny-di 1.0.8

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.
package/README.md ADDED
@@ -0,0 +1,155 @@
1
+ # @orq-ai/tiny-di
2
+
3
+ A minimal, zero-dependency TypeScript dependency injection container with support for lazy initialization and automatic disposal.
4
+
5
+ ## 🎯 Features
6
+
7
+ - **Zero dependencies** - No external packages required
8
+ - **TypeScript first** - Full type safety and IntelliSense support
9
+ - **Lazy initialization** - Dependencies can be created on-demand via factory functions
10
+ - **Automatic disposal** - Built-in support for resource cleanup via Symbol.dispose
11
+ - **Minimal API** - Simple and intuitive API with only the essentials
12
+
13
+ ## 📥 Installation
14
+
15
+ ```bash
16
+ npm install @orq-ai/tiny-di
17
+ # or
18
+ yarn add @orq-ai/tiny-di
19
+ # or
20
+ bun add @orq-ai/tiny-di
21
+ ```
22
+
23
+ ## 🚀 Quick Start
24
+
25
+ ```typescript
26
+ import { Container, InjectionToken, inject } from "@orq-ai/tiny-di";
27
+
28
+ // Define a token for your dependency
29
+ const DATABASE_TOKEN = new InjectionToken<Database>("database");
30
+
31
+ // Register a dependency
32
+ Container.register(DATABASE_TOKEN, new Database());
33
+
34
+ // Retrieve the dependency
35
+ const db = Container.get(DATABASE_TOKEN);
36
+ // or use the helper function
37
+ const db2 = inject(DATABASE_TOKEN);
38
+ ```
39
+
40
+ ## 📚 API Reference
41
+
42
+ ### `InjectionToken<T>`
43
+
44
+ Creates a token for identifying dependencies in the container.
45
+
46
+ ```typescript
47
+ const token = new InjectionToken<MyService>("myService");
48
+
49
+ // With factory for lazy initialization
50
+ const token = new InjectionToken<MyService>("myService", () => new MyService());
51
+ ```
52
+
53
+ ### `Container`
54
+
55
+ The main dependency injection container.
56
+
57
+ #### Methods
58
+
59
+ - `register(token, value)` - Register a dependency
60
+ - `get(token)` - Retrieve a dependency
61
+ - `has(token)` - Check if a dependency exists
62
+ - `dispose()` - Dispose all dependencies (calls Symbol.dispose if available)
63
+ - `clear()` - Clear all dependencies without disposal
64
+ - `size` - Get the number of registered dependencies
65
+
66
+ ### `inject(token)`
67
+
68
+ Helper function to retrieve dependencies.
69
+
70
+ ```typescript
71
+ const service = inject(SERVICE_TOKEN);
72
+ ```
73
+
74
+ ## 💡 Examples
75
+
76
+ ### Basic Usage
77
+
78
+ ```typescript
79
+ import { Container, InjectionToken } from "@orq-ai/tiny-di";
80
+
81
+ // Define tokens
82
+ const API_TOKEN = new InjectionToken<ApiClient>("api");
83
+ const LOGGER_TOKEN = new InjectionToken<Logger>("logger");
84
+
85
+ // Register dependencies
86
+ Container.register(API_TOKEN, new ApiClient());
87
+ Container.register(LOGGER_TOKEN, new ConsoleLogger());
88
+
89
+ // Use dependencies
90
+ const api = Container.get(API_TOKEN);
91
+ const logger = Container.get(LOGGER_TOKEN);
92
+ ```
93
+
94
+ ### Lazy Initialization
95
+
96
+ ```typescript
97
+ const CONFIG_TOKEN = new InjectionToken<Config>("config", () => {
98
+ // This factory function is only called when the dependency is first requested
99
+ return loadConfigFromFile("./config.json");
100
+ });
101
+
102
+ // Config is loaded only when accessed
103
+ const config = Container.get(CONFIG_TOKEN);
104
+ ```
105
+
106
+ ### Automatic Disposal
107
+
108
+ ```typescript
109
+ class DatabaseConnection {
110
+ async [Symbol.dispose]() {
111
+ await this.close();
112
+ console.log("Database connection closed");
113
+ }
114
+ }
115
+
116
+ const DB_TOKEN = new InjectionToken<DatabaseConnection>("db");
117
+ Container.register(DB_TOKEN, new DatabaseConnection());
118
+
119
+ // Later, when shutting down
120
+ await Container.dispose(); // Automatically calls Symbol.dispose on all dependencies
121
+ ```
122
+
123
+ ### Dependency Graph
124
+
125
+ ```typescript
126
+ // Tokens with factories can depend on other tokens
127
+ const DB_TOKEN = new InjectionToken<Database>("db",
128
+ () => new Database()
129
+ );
130
+
131
+ const USER_REPO_TOKEN = new InjectionToken<UserRepository>("userRepo",
132
+ () => new UserRepository(Container.get(DB_TOKEN))
133
+ );
134
+
135
+ const USER_SERVICE_TOKEN = new InjectionToken<UserService>("userService",
136
+ () => new UserService(Container.get(USER_REPO_TOKEN))
137
+ );
138
+
139
+ // Getting the service automatically creates the entire dependency chain
140
+ const userService = Container.get(USER_SERVICE_TOKEN);
141
+ ```
142
+
143
+ ## 🧪 Testing
144
+
145
+ ```bash
146
+ bun test
147
+ ```
148
+
149
+ ## 📝 License
150
+
151
+ MIT
152
+
153
+ ---
154
+
155
+ Part of the [OrqKit](https://github.com/orq-ai/orqkit) monorepo by [Orq AI](https://orq.ai).
@@ -0,0 +1,2 @@
1
+ export * from "./lib/tiny-di.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ export * from "./lib/tiny-di.js";
@@ -0,0 +1,51 @@
1
+ /**
2
+ * A token representing a dependency in the injection system.
3
+ * Can optionally include a factory function for lazy initialization.
4
+ */
5
+ /** biome-ignore-all lint/complexity/noStaticOnlyClass: it feels better as a static class, open to other suggestions */
6
+ export declare class InjectionToken<const TYPE = unknown> {
7
+ readonly name: string | symbol | number;
8
+ readonly factory?: (() => TYPE) | undefined;
9
+ constructor(name: string | symbol | number, factory?: (() => TYPE) | undefined);
10
+ }
11
+ /**
12
+ * Main dependency injection container.
13
+ * Manages registration, retrieval, and disposal of dependencies.
14
+ */
15
+ export declare abstract class Container {
16
+ #private;
17
+ /**
18
+ * Retrieves a dependency from the container.
19
+ * If the dependency doesn't exist but has a factory, it will be created lazily.
20
+ */
21
+ static get<T>(token: InjectionToken<T>): T;
22
+ /**
23
+ * Registers a dependency in the container.
24
+ * Throws if a dependency with the same token is already registered.
25
+ */
26
+ static register<T>(token: InjectionToken<T>, value: T): void;
27
+ /**
28
+ * Checks if a dependency is registered in the container.
29
+ */
30
+ static has<T>(token: InjectionToken<T>): boolean;
31
+ /**
32
+ * Disposes all registered dependencies that implement Symbol.dispose.
33
+ * Dependencies are disposed in reverse order of registration.
34
+ */
35
+ static dispose(): Promise<void>;
36
+ /**
37
+ * Clears all registered dependencies without disposal.
38
+ * Use with caution - prefer dispose() for proper cleanup.
39
+ */
40
+ static clear(): void;
41
+ /**
42
+ * Returns the number of registered dependencies.
43
+ */
44
+ static get size(): number;
45
+ }
46
+ /**
47
+ * Helper function to retrieve a dependency from the container.
48
+ * Provides a more convenient syntax than Container.get().
49
+ */
50
+ export declare function inject<T>(token: InjectionToken<T>): T;
51
+ //# sourceMappingURL=tiny-di.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiny-di.d.ts","sourceRoot":"","sources":["../../src/lib/tiny-di.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,uHAAuH;AAEvH,qBAAa,cAAc,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO;IAE5C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM;IACvC,QAAQ,CAAC,OAAO,CAAC,GAAE,MAAM,IAAI;gBADpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAC9B,OAAO,CAAC,GAAE,MAAM,IAAI,aAAA;CAEhC;AAED;;;GAGG;AACH,8BAAsB,SAAS;;IAG7B;;;OAGG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC;IAgB1C;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAU5D;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO;IAIhD;;;OAGG;WACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrC;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACH,MAAM,KAAK,IAAI,IAAI,MAAM,CAExB;CACF;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAErD"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * A token representing a dependency in the injection system.
3
+ * Can optionally include a factory function for lazy initialization.
4
+ */
5
+ /** biome-ignore-all lint/complexity/noStaticOnlyClass: it feels better as a static class, open to other suggestions */
6
+ export class InjectionToken {
7
+ name;
8
+ factory;
9
+ constructor(name, factory) {
10
+ this.name = name;
11
+ this.factory = factory;
12
+ }
13
+ }
14
+ /**
15
+ * Main dependency injection container.
16
+ * Manages registration, retrieval, and disposal of dependencies.
17
+ */
18
+ export class Container {
19
+ static #registry = new Map();
20
+ /**
21
+ * Retrieves a dependency from the container.
22
+ * If the dependency doesn't exist but has a factory, it will be created lazily.
23
+ */
24
+ static get(token) {
25
+ const tokenExists = Container.#registry.has(token.name);
26
+ if (!tokenExists && token.factory === undefined) {
27
+ throw new Error(`No dependency registered for token ${token.name.toString()}`);
28
+ }
29
+ if (!tokenExists && token.factory !== undefined) {
30
+ Container.#registry.set(token.name, token.factory());
31
+ }
32
+ return Container.#registry.get(token.name);
33
+ }
34
+ /**
35
+ * Registers a dependency in the container.
36
+ * Throws if a dependency with the same token is already registered.
37
+ */
38
+ static register(token, value) {
39
+ if (Container.#registry.has(token.name)) {
40
+ throw new Error(`Dependency already registered for token ${String(token.name)}`);
41
+ }
42
+ Container.#registry.set(token.name, value);
43
+ }
44
+ /**
45
+ * Checks if a dependency is registered in the container.
46
+ */
47
+ static has(token) {
48
+ return Container.#registry.has(token.name);
49
+ }
50
+ /**
51
+ * Disposes all registered dependencies that implement Symbol.dispose.
52
+ * Dependencies are disposed in reverse order of registration.
53
+ */
54
+ static async dispose() {
55
+ for (const dependency of Array.from(Container.#registry.values()).reverse()) {
56
+ if (typeof dependency?.[Symbol.dispose] === "function") {
57
+ await dependency[Symbol.dispose]();
58
+ }
59
+ }
60
+ Container.#registry.clear();
61
+ }
62
+ /**
63
+ * Clears all registered dependencies without disposal.
64
+ * Use with caution - prefer dispose() for proper cleanup.
65
+ */
66
+ static clear() {
67
+ Container.#registry.clear();
68
+ }
69
+ /**
70
+ * Returns the number of registered dependencies.
71
+ */
72
+ static get size() {
73
+ return Container.#registry.size;
74
+ }
75
+ }
76
+ /**
77
+ * Helper function to retrieve a dependency from the container.
78
+ * Provides a more convenient syntax than Container.get().
79
+ */
80
+ export function inject(token) {
81
+ return Container.get(token);
82
+ }
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/tslib/tslib.d.ts","../../../node_modules/tslib/modules/index.d.ts","../src/lib/tiny-di.ts","../src/index.ts","../../../node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/undici-types/utility.d.ts","../../../node_modules/undici-types/header.d.ts","../../../node_modules/undici-types/readable.d.ts","../../../node_modules/undici-types/fetch.d.ts","../../../node_modules/undici-types/formdata.d.ts","../../../node_modules/undici-types/connector.d.ts","../../../node_modules/undici-types/client-stats.d.ts","../../../node_modules/undici-types/client.d.ts","../../../node_modules/undici-types/errors.d.ts","../../../node_modules/undici-types/dispatcher.d.ts","../../../node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/undici-types/global-origin.d.ts","../../../node_modules/undici-types/pool-stats.d.ts","../../../node_modules/undici-types/pool.d.ts","../../../node_modules/undici-types/handlers.d.ts","../../../node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/undici-types/h2c-client.d.ts","../../../node_modules/undici-types/agent.d.ts","../../../node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/undici-types/mock-agent.d.ts","../../../node_modules/undici-types/mock-client.d.ts","../../../node_modules/undici-types/mock-pool.d.ts","../../../node_modules/undici-types/mock-errors.d.ts","../../../node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/undici-types/retry-handler.d.ts","../../../node_modules/undici-types/retry-agent.d.ts","../../../node_modules/undici-types/api.d.ts","../../../node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/undici-types/interceptors.d.ts","../../../node_modules/undici-types/util.d.ts","../../../node_modules/undici-types/cookies.d.ts","../../../node_modules/undici-types/patch.d.ts","../../../node_modules/undici-types/websocket.d.ts","../../../node_modules/undici-types/eventsource.d.ts","../../../node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/undici-types/content-type.d.ts","../../../node_modules/undici-types/cache.d.ts","../../../node_modules/undici-types/index.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/sea.d.ts","../../../node_modules/@types/node/sqlite.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/index.d.ts"],"fileIdsList":[[66,109,112],[66,111,112],[112],[66,112,117,147],[66,112,113,118,124,125,132,144,155],[66,112,113,114,124,132],[66,112],[66,112,115,156],[66,112,116,117,125,133],[66,112,117,144,152],[66,112,118,120,124,132],[66,111,112,119],[66,112,120,121],[66,112,122,124],[66,111,112,124],[66,112,124,125,126,144,155],[66,112,124,125,126,139,144,147],[66,107,112],[66,107,112,120,124,127,132,144,155],[66,112,124,125,127,128,132,144,152,155],[66,112,127,129,144,152,155],[64,65,66,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[66,112,124,130],[66,112,131,155],[66,112,120,124,132,144],[66,112,133],[66,112,134],[66,111,112,135],[66,109,110,111,112,113,114,115,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161],[66,112,137],[66,112,138],[66,112,124,139,140],[66,112,139,141,156,158],[66,112,124,144,145,147],[66,112,146,147],[66,112,144,145],[66,112,147],[66,112,148],[66,109,112,144,149],[66,112,124,150,151],[66,112,150,151],[66,112,117,132,144,152],[66,112,153],[66,112,132,154],[66,112,127,138,155],[66,112,117,156],[66,112,144,157],[66,112,131,158],[66,112,159],[66,112,124,126,135,144,147,155,157,158,160],[66,112,144,161],[60,66,112],[66,74,77,80,81,112,155],[66,77,112,144,155],[66,77,81,112,155],[66,112,144],[66,71,112],[66,75,112],[66,73,74,77,112,155],[66,112,132,152],[66,112,162],[66,71,112,162],[66,73,77,112,132,155],[66,68,69,70,72,76,112,124,144,155],[66,77,85,112],[66,69,75,112],[66,77,101,102,112],[66,69,72,77,112,147,155,162],[66,77,112],[66,73,77,112,155],[66,68,112],[66,71,72,73,75,76,77,78,79,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,102,103,104,105,106,112],[66,77,94,97,112,120],[66,77,85,86,87,112],[66,75,77,86,88,112],[66,76,112],[66,69,71,77,112],[66,77,81,86,88,112],[66,81,112],[66,75,77,80,112,155],[66,69,73,77,85,112],[66,77,94,112],[66,71,77,101,112,147,160,162],[61,62,66,112],[61,66,112]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6a5253138c5432c68a1510c70fe78a644fe2e632111ba778e1978010d6edfec","impliedFormat":1},{"version":"b8f34dd1757f68e03262b1ca3ddfa668a855b872f8bdd5224d6f993a7b37dc2c","impliedFormat":99},{"version":"d9726193ffa9a67bfe953c6b9d792e83f46873aa08d0b94ebe5f2447fd9f2fe2","signature":"2ed4d7cb553a44aac1fe211a62098f6c91da53db45f369098c73cbd06fa2a1d0","impliedFormat":99},{"version":"5f732152f984fb0a2cb03952695b6ed6b01cc1e11e59e0a342770682830cf34b","impliedFormat":99},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"68834d631c8838c715f225509cfc3927913b9cc7a4870460b5b60c8dbdb99baf","impliedFormat":1},{"version":"4bc0794175abedf989547e628949888c1085b1efcd93fc482bccd77ee27f8b7c","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"33e981bf6376e939f99bd7f89abec757c64897d33c005036b9a10d9587d80187","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"af13e99445f37022c730bfcafcdc1761e9382ce1ea02afb678e3130b01ce5676","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"9666f2f84b985b62400d2e5ab0adae9ff44de9b2a34803c2c5bd3c8325b17dc0","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"249b9cab7f5d628b71308c7d9bb0a808b50b091e640ba3ed6e2d0516f4a8d91d","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"938f94db8400d0b479626b9006245a833d50ce8337f391085fad4af540279567","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"db39d9a16e4ddcd8a8f2b7b3292b362cc5392f92ad7ccd76f00bccf6838ac7de","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"067bdd82d9768baddbdc8df51d85f7b96387c47176bf7f895d2e21e2b6b2f1f4","impliedFormat":1},{"version":"42d30e7d04915facc3ded22b4127c9f517973b4c2b1326e56c10ff70daf6800a","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"bcbabfaca3f6b8a76cb2739e57710daf70ab5c9479ab70f5351c9b4932abf6bd","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"55f370475031b3d36af8dd47fb3934dff02e0f1330d13f1977c9e676af5c2e70","impliedFormat":1},{"version":"c54f0b30a787b3df16280f4675bd3d9d17bf983ae3cd40087409476bc50b922d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"5e9f8c1e042b0f598a9be018fc8c3cb670fe579e9f2e18e3388b63327544fe16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"8c81fd4a110490c43d7c578e8c6f69b3af01717189196899a6a44f93daa57a3a","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"e07c573ac1971ea89e2c56ff5fd096f6f7bba2e6dbcd5681d39257c8d954d4a8","impliedFormat":1},{"version":"363eedb495912790e867da6ff96e81bf792c8cfe386321e8163b71823a35719a","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"dba28a419aec76ed864ef43e5f577a5c99a010c32e5949fe4e17a4d57c58dd11","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"1e080418e53f9b7a05db81ab517c4e1d71b7194ee26ddd54016bcef3ac474bd4","impliedFormat":1},{"version":"9705cd157ffbb91c5cab48bdd2de5a437a372e63f870f8a8472e72ff634d47c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"3b63610eaabadf26aadf51a563e4b2a8bf56eeaab1094f2a2b21509008eaef0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"2d5d50cd0667d9710d4d2f6e077cc4e0f9dc75e106cccaea59999b36873c5a0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"f8529fe0645fd9af7441191a4961497cc7638f75a777a56248eac6a079bb275d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4445f6ce6289c5b2220398138da23752fd84152c5c95bb8b58dedefc1758c036","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1}],"root":[62,63],"options":{"composite":true,"declarationMap":true,"emitDeclarationOnly":false,"importHelpers":true,"module":199,"noEmitOnError":true,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUnusedLocals":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.lib.tsbuildinfo"},"referencedMap":[[109,1],[110,1],[111,2],[66,3],[112,4],[113,5],[114,6],[64,7],[115,8],[116,9],[117,10],[118,11],[119,12],[120,13],[121,13],[123,7],[122,14],[124,15],[125,16],[126,17],[108,18],[65,7],[127,19],[128,20],[129,21],[162,22],[130,23],[131,24],[132,25],[133,26],[134,27],[135,28],[136,29],[137,30],[138,31],[139,32],[140,32],[141,33],[142,7],[143,7],[144,34],[146,35],[145,36],[147,37],[148,38],[149,39],[150,40],[151,41],[152,42],[153,43],[154,44],[155,45],[156,46],[157,47],[158,48],[159,49],[160,50],[161,51],[67,7],[61,52],[60,7],[58,7],[59,7],[11,7],[10,7],[2,7],[12,7],[13,7],[14,7],[15,7],[16,7],[17,7],[18,7],[19,7],[3,7],[20,7],[21,7],[4,7],[22,7],[26,7],[23,7],[24,7],[25,7],[27,7],[28,7],[29,7],[5,7],[30,7],[31,7],[32,7],[33,7],[6,7],[37,7],[34,7],[35,7],[36,7],[38,7],[7,7],[39,7],[44,7],[45,7],[40,7],[41,7],[42,7],[43,7],[8,7],[49,7],[46,7],[47,7],[48,7],[50,7],[9,7],[51,7],[52,7],[53,7],[55,7],[54,7],[1,7],[56,7],[57,7],[85,53],[96,54],[83,55],[97,56],[106,57],[74,58],[75,59],[73,60],[105,61],[100,62],[104,63],[77,64],[93,65],[76,66],[103,67],[71,68],[72,62],[78,69],[79,7],[84,70],[82,69],[69,71],[107,72],[98,73],[88,74],[87,69],[89,75],[91,76],[86,77],[90,78],[101,61],[80,79],[81,80],[92,81],[70,56],[95,82],[94,69],[99,7],[68,7],[102,83],[63,84],[62,85]],"latestChangedDtsFile":"./lib/tiny-di.d.ts","version":"5.9.2"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@orq-ai/tiny-di",
3
+ "version": "1.0.8",
4
+ "description": "Minimal dependency injection container with TypeScript support",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ "./package.json": "./package.json",
11
+ ".": {
12
+ "development": "./src/index.ts",
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "default": "./dist/index.js"
16
+ }
17
+ },
18
+ "nx": {
19
+ "targets": {
20
+ "test": {
21
+ "executor": "nx:run-commands",
22
+ "options": {
23
+ "command": "bun test",
24
+ "cwd": "{projectRoot}"
25
+ }
26
+ }
27
+ }
28
+ },
29
+ "dependencies": {},
30
+ "files": [
31
+ "dist",
32
+ "README.md"
33
+ ],
34
+ "keywords": [
35
+ "dependency-injection",
36
+ "di",
37
+ "ioc",
38
+ "container",
39
+ "typescript",
40
+ "minimal"
41
+ ],
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://github.com/orq-ai/orqkit.git",
46
+ "directory": "packages/tiny-di"
47
+ },
48
+ "bugs": {
49
+ "url": "https://github.com/orq-ai/orqkit/issues"
50
+ },
51
+ "homepage": "https://github.com/orq-ai/orqkit/tree/main/packages/tiny-di#readme"
52
+ }