yummies 3.0.7 → 3.0.9
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 +5 -0
- package/complex/index.d.ts +2 -0
- package/complex/index.d.ts.map +1 -0
- package/complex/index.js +1 -0
- package/complex/modules-factory.d.ts +49 -0
- package/complex/modules-factory.d.ts.map +1 -0
- package/complex/modules-factory.js +50 -0
- package/html.d.ts +2 -2
- package/html.d.ts.map +1 -1
- package/html.js +2 -2
- package/package.json +11 -1
- package/utility-types.d.ts +1 -0
- package/utils/types.d.ts +1 -0
- package/utils/types.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/complex/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
package/complex/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './modules-factory';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { AllPropertiesOptional, AnyObject, Class, EmptyObject } from '../utils/types';
|
|
2
|
+
type ModuleLoaderConfig<TPredefinedDeps extends AnyObject = EmptyObject> = {
|
|
3
|
+
factory<TInstance, TDeps extends TPredefinedDeps>(moduleClass: Class<TInstance, [TDeps]>, deps: TDeps): TInstance;
|
|
4
|
+
} & (TPredefinedDeps extends EmptyObject ? {
|
|
5
|
+
deps?: TPredefinedDeps;
|
|
6
|
+
} : {
|
|
7
|
+
deps: TPredefinedDeps;
|
|
8
|
+
});
|
|
9
|
+
/**
|
|
10
|
+
* Класс `ModulesFactory` является универсальной фабрикой для создания экземпляров указанного класса с зависимостями.
|
|
11
|
+
* Он использует объект конфигурации для определения того, как эти экземпляры создаются.
|
|
12
|
+
*
|
|
13
|
+
* Важное примечание - эта сущность работает только с классами конструктор которых имеет один параметр
|
|
14
|
+
*
|
|
15
|
+
* @template TPredefinedDeps - Тип, расширяющий `AnyObject`, представляющий предопределенные зависимости, которые использует фабрика.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```
|
|
19
|
+
* const factory = new ModulesFactory({
|
|
20
|
+
* factory: (MyClass, deps) => new MyClass(deps),
|
|
21
|
+
* deps: { someDependency: new Dependency() }
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* const instance = factory.create(MyClass, { extraDependency: new ExtraDependency() });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class ModulesFactory<TPredefinedDeps extends AnyObject = EmptyObject> {
|
|
28
|
+
private config;
|
|
29
|
+
/**
|
|
30
|
+
* Создает новый экземпляр `ModulesFactory`.
|
|
31
|
+
*
|
|
32
|
+
* @param config - Объект конфигурации для фабрики, включающий функцию фабрики и необязательные зависимости.
|
|
33
|
+
*/
|
|
34
|
+
constructor(config: ModuleLoaderConfig<TPredefinedDeps>);
|
|
35
|
+
/**
|
|
36
|
+
* Создает экземпляр указанного класса, внедряя необходимые зависимости.
|
|
37
|
+
*
|
|
38
|
+
* @template TInstance - Тип создаваемого экземпляра.
|
|
39
|
+
* @template TDeps - Тип зависимостей, необходимых для экземпляра.
|
|
40
|
+
*
|
|
41
|
+
* @param Constructor - Конструктор класса для создаваемого экземпляра.
|
|
42
|
+
* @param args - Необязательные дополнительные зависимости для объединения с предопределенными зависимостями.
|
|
43
|
+
*
|
|
44
|
+
* @returns Экземпляр указанного класса с внедренными зависимостями.
|
|
45
|
+
*/
|
|
46
|
+
create<TInstance, TDeps extends TPredefinedDeps = TPredefinedDeps>(Constructor: Class<TInstance, [TDeps]>, ...args: AllPropertiesOptional<Omit<TDeps, keyof TPredefinedDeps>> extends true ? [extraDeps?: Omit<TDeps, keyof TPredefinedDeps>] : [extraDeps: Omit<TDeps, keyof TPredefinedDeps>]): TInstance;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
49
|
+
//# sourceMappingURL=modules-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modules-factory.d.ts","sourceRoot":"","sources":["../../src/complex/modules-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,KAAK,EACL,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB,KAAK,kBAAkB,CAAC,eAAe,SAAS,SAAS,GAAG,WAAW,IAAI;IACzE,OAAO,CAAC,SAAS,EAAE,KAAK,SAAS,eAAe,EAC9C,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EACtC,IAAI,EAAE,KAAK,GACV,SAAS,CAAC;CAEd,GAAG,CAAC,eAAe,SAAS,WAAW,GACpC;IAAE,IAAI,CAAC,EAAE,eAAe,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc,CAAC,eAAe,SAAS,SAAS,GAAG,WAAW;IAM7D,OAAO,CAAC,MAAM;IAL1B;;;;OAIG;gBACiB,MAAM,EAAE,kBAAkB,CAAC,eAAe,CAAC;IAE/D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,SAAS,EAAE,KAAK,SAAS,eAAe,GAAG,eAAe,EAC/D,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EACtC,GAAG,IAAI,EAAE,qBAAqB,CAC5B,IAAI,CAAC,KAAK,EAAE,MAAM,eAAe,CAAC,CACnC,SAAS,IAAI,GACV,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,eAAe,CAAC,CAAC,GAChD,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,eAAe,CAAC,CAAC;CAOtD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Класс `ModulesFactory` является универсальной фабрикой для создания экземпляров указанного класса с зависимостями.
|
|
3
|
+
* Он использует объект конфигурации для определения того, как эти экземпляры создаются.
|
|
4
|
+
*
|
|
5
|
+
* Важное примечание - эта сущность работает только с классами конструктор которых имеет один параметр
|
|
6
|
+
*
|
|
7
|
+
* @template TPredefinedDeps - Тип, расширяющий `AnyObject`, представляющий предопределенные зависимости, которые использует фабрика.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```
|
|
11
|
+
* const factory = new ModulesFactory({
|
|
12
|
+
* factory: (MyClass, deps) => new MyClass(deps),
|
|
13
|
+
* deps: { someDependency: new Dependency() }
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* const instance = factory.create(MyClass, { extraDependency: new ExtraDependency() });
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export class ModulesFactory {
|
|
20
|
+
/**
|
|
21
|
+
* Создает новый экземпляр `ModulesFactory`.
|
|
22
|
+
*
|
|
23
|
+
* @param config - Объект конфигурации для фабрики, включающий функцию фабрики и необязательные зависимости.
|
|
24
|
+
*/
|
|
25
|
+
constructor(config) {
|
|
26
|
+
Object.defineProperty(this, "config", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
configurable: true,
|
|
29
|
+
writable: true,
|
|
30
|
+
value: config
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Создает экземпляр указанного класса, внедряя необходимые зависимости.
|
|
35
|
+
*
|
|
36
|
+
* @template TInstance - Тип создаваемого экземпляра.
|
|
37
|
+
* @template TDeps - Тип зависимостей, необходимых для экземпляра.
|
|
38
|
+
*
|
|
39
|
+
* @param Constructor - Конструктор класса для создаваемого экземпляра.
|
|
40
|
+
* @param args - Необязательные дополнительные зависимости для объединения с предопределенными зависимостями.
|
|
41
|
+
*
|
|
42
|
+
* @returns Экземпляр указанного класса с внедренными зависимостями.
|
|
43
|
+
*/
|
|
44
|
+
create(Constructor, ...args) {
|
|
45
|
+
return this.config.factory(Constructor, {
|
|
46
|
+
...this.config.deps,
|
|
47
|
+
...args[0],
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
package/html.d.ts
CHANGED
|
@@ -20,9 +20,9 @@ export declare const checkElementHasParent: (element: HTMLElement | null, parent
|
|
|
20
20
|
* Executes a function within a view transition if supported by the browser.
|
|
21
21
|
*
|
|
22
22
|
* @param {VoidFunction} fn - The function to be executed.
|
|
23
|
-
* @returns {
|
|
23
|
+
* @returns {ViewTransition} - The result of the executed function.
|
|
24
24
|
*
|
|
25
25
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/startViewTransition | MDN: Document.startViewTransition}
|
|
26
26
|
*/
|
|
27
|
-
export declare const startViewTransitionSafety: (fn: VoidFunction) =>
|
|
27
|
+
export declare const startViewTransitionSafety: (fn: VoidFunction) => ViewTransition | undefined;
|
|
28
28
|
//# sourceMappingURL=html.d.ts.map
|
package/html.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA,OAAe,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAIjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,MAAM,GAAG,IAa1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,cACnB,MAAM,GAAG,IAAI,aACb,MAAM,SAgBlB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,UAI7C;AAED,eAAO,MAAM,gBAAgB,YAAa,WAAW,GAAG,IAAI,WAU3D,CAAC;AAEF,eAAO,MAAM,SAAS,MAAO,KAAK,YAKjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAAU,WAAW,SAgBzD,CAAC;AA0DF,eAAO,MAAM,YAAY,SACjB,KAAK,CAAC,MAAM,CAAC,WACV,OAAO,CAAC,eAAe,CAAC,WAMlC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,WAAW,GAAG,IAAI,UACnB,KAAK,CAAC,WAAW,CAAC,YAe3B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,OAAQ,YAAY,
|
|
1
|
+
{"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../src/html.ts"],"names":[],"mappings":"AAAA,OAAe,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAIjD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,WAAY,MAAM,KAAG,MAAM,GAAG,IAa1D,CAAC;AAEF,eAAO,MAAM,mBAAmB,cACnB,MAAM,GAAG,IAAI,aACb,MAAM,SAgBlB,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,UAI7C;AAED,eAAO,MAAM,gBAAgB,YAAa,WAAW,GAAG,IAAI,WAU3D,CAAC;AAEF,eAAO,MAAM,SAAS,MAAO,KAAK,YAKjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,SAAU,WAAW,SAgBzD,CAAC;AA0DF,eAAO,MAAM,YAAY,SACjB,KAAK,CAAC,MAAM,CAAC,WACV,OAAO,CAAC,eAAe,CAAC,WAMlC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,WAAW,GAAG,IAAI,UACnB,KAAK,CAAC,WAAW,CAAC,YAe3B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,OAAQ,YAAY,+BAKzD,CAAC"}
|
package/html.js
CHANGED
|
@@ -141,7 +141,7 @@ export const checkElementHasParent = (element, parent) => {
|
|
|
141
141
|
* Executes a function within a view transition if supported by the browser.
|
|
142
142
|
*
|
|
143
143
|
* @param {VoidFunction} fn - The function to be executed.
|
|
144
|
-
* @returns {
|
|
144
|
+
* @returns {ViewTransition} - The result of the executed function.
|
|
145
145
|
*
|
|
146
146
|
* @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Document/startViewTransition | MDN: Document.startViewTransition}
|
|
147
147
|
*/
|
|
@@ -149,5 +149,5 @@ export const startViewTransitionSafety = (fn) => {
|
|
|
149
149
|
if (document.startViewTransition) {
|
|
150
150
|
return document.startViewTransition(fn);
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
fn();
|
|
153
153
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yummies",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.9",
|
|
4
4
|
"keywords": [],
|
|
5
5
|
"author": "js2me",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,6 +38,16 @@
|
|
|
38
38
|
"default": "./async.js",
|
|
39
39
|
"types": "./async.d.ts"
|
|
40
40
|
},
|
|
41
|
+
"./complex": {
|
|
42
|
+
"import": "./complex/index.js",
|
|
43
|
+
"default": "./complex/index.js",
|
|
44
|
+
"types": "./complex/index.d.ts"
|
|
45
|
+
},
|
|
46
|
+
"./complex/modules-factory": {
|
|
47
|
+
"import": "./complex/modules-factory.js",
|
|
48
|
+
"default": "./complex/modules-factory.js",
|
|
49
|
+
"types": "./complex/modules-factory.d.ts"
|
|
50
|
+
},
|
|
41
51
|
"./cookie": {
|
|
42
52
|
"import": "./cookie.js",
|
|
43
53
|
"default": "./cookie.js",
|
package/utility-types.d.ts
CHANGED
|
@@ -41,4 +41,5 @@ type RenameKey<TObject, TOldKey extends keyof TObject, TNewKey extends string> =
|
|
|
41
41
|
} : {
|
|
42
42
|
[K in TNewKey]: TObject[TOldKey];
|
|
43
43
|
};
|
|
44
|
+
type IsObjectEmpty<T extends AnyObject> = T extends EmptyObject ? true : keyof T extends never ? true : never;
|
|
44
45
|
//# sourceMappingURL=types.d.ts.map
|
package/utils/types.d.ts
CHANGED
|
@@ -41,4 +41,5 @@ export type RenameKey<TObject, TOldKey extends keyof TObject, TNewKey extends st
|
|
|
41
41
|
} : {
|
|
42
42
|
[K in TNewKey]: TObject[TOldKey];
|
|
43
43
|
};
|
|
44
|
+
export type IsObjectEmpty<T extends AnyObject> = T extends EmptyObject ? true : keyof T extends never ? true : never;
|
|
44
45
|
//# sourceMappingURL=types.d.ts.map
|
package/utils/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"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"}
|