ngx-register-base 0.0.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.
- package/README.md +24 -0
- package/esm2022/lib/functions/index.mjs +2 -0
- package/esm2022/lib/functions/rxjs.mjs +34 -0
- package/esm2022/ngx-register-base.mjs +5 -0
- package/esm2022/public-api.mjs +5 -0
- package/fesm2022/ngx-register-base.mjs +45 -0
- package/fesm2022/ngx-register-base.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/functions/index.d.ts +1 -0
- package/lib/functions/rxjs.d.ts +12 -0
- package/package.json +25 -0
- package/public-api.d.ts +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# NgxRegisterBase
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 18.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project ngx-register-base` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-register-base`.
|
|
8
|
+
> Note: Don't forget to add `--project ngx-register-base` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build ngx-register-base` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build ngx-register-base`, go to the dist folder `cd dist/ngx-register-base` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test ngx-register-base` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './rxjs';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2Z1bmN0aW9ucy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcnhqcydcbiJdfQ==
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { distinctUntilChanged, asyncScheduler, of, } from 'rxjs';
|
|
2
|
+
import { observeOn } from 'rxjs/operators';
|
|
3
|
+
import { isEqual } from 'lodash';
|
|
4
|
+
export function isNonNull(value) {
|
|
5
|
+
return value !== null;
|
|
6
|
+
}
|
|
7
|
+
export function isDefined(value) {
|
|
8
|
+
return value !== null && value !== undefined;
|
|
9
|
+
}
|
|
10
|
+
export function distinctUntilChangedJSONs() {
|
|
11
|
+
return distinctUntilChanged((prev, curr) => isEqual(prev, curr));
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Перемещает выполнение функции на указанное количество итераций в цикле событий.
|
|
15
|
+
*
|
|
16
|
+
* @param count - Количество итераций цикла событий для перемещения.
|
|
17
|
+
* @returns Оператор, который можно использовать с Observable для продолжения цепочки.
|
|
18
|
+
*/
|
|
19
|
+
export function moveInEventLoopIteration(count) {
|
|
20
|
+
return (source) => {
|
|
21
|
+
if (!count) {
|
|
22
|
+
return source;
|
|
23
|
+
}
|
|
24
|
+
let newSource = source.pipe(observeOn(asyncScheduler, 0));
|
|
25
|
+
if (count > 1) {
|
|
26
|
+
newSource = newSource.pipe(moveInEventLoopIteration(count - 1));
|
|
27
|
+
}
|
|
28
|
+
return newSource;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export function just() {
|
|
32
|
+
return of(null);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvZnVuY3Rpb25zL3J4anMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLG9CQUFvQixFQUVwQixjQUFjLEVBQ2QsRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFakMsTUFBTSxVQUFVLFNBQVMsQ0FBSSxLQUFRO0lBQ25DLE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBSSxLQUEyQjtJQUN0RCxPQUFPLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsQ0FBQztBQUMvQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ25FLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBSSxLQUFhO0lBQ3ZELE9BQU8sQ0FBQyxNQUFxQixFQUFFLEVBQUU7UUFDL0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTFELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsSUFBSTtJQUNsQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgT2JzZXJ2YWJsZSxcbiAgYXN5bmNTY2hlZHVsZXIsXG4gIG9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9ic2VydmVPbiB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICdsb2Rhc2gnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNOb25OdWxsPFQ+KHZhbHVlOiBUKTogdmFsdWUgaXMgTm9uTnVsbGFibGU8VD4ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RlZmluZWQ8VD4odmFsdWU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKTogdmFsdWUgaXMgVCB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzdGluY3RVbnRpbENoYW5nZWRKU09OczxUPigpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IGlzRXF1YWwocHJldiwgY3VycikpO1xufVxuXG4vKipcbiAqINCf0LXRgNC10LzQtdGJ0LDQtdGCINCy0YvQv9C+0LvQvdC10L3QuNC1INGE0YPQvdC60YbQuNC4INC90LAg0YPQutCw0LfQsNC90L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC40YLQtdGA0LDRhtC40Lkg0LIg0YbQuNC60LvQtSDRgdC+0LHRi9GC0LjQuS5cbiAqXG4gKiBAcGFyYW0gY291bnQgLSDQmtC+0LvQuNGH0LXRgdGC0LLQviDQuNGC0LXRgNCw0YbQuNC5INGG0LjQutC70LAg0YHQvtCx0YvRgtC40Lkg0LTQu9GPINC/0LXRgNC10LzQtdGJ0LXQvdC40Y8uXG4gKiBAcmV0dXJucyDQntC/0LXRgNCw0YLQvtGALCDQutC+0YLQvtGA0YvQuSDQvNC+0LbQvdC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgSBPYnNlcnZhYmxlINC00LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPINGG0LXQv9C+0YfQutC4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbW92ZUluRXZlbnRMb29wSXRlcmF0aW9uPFQ+KGNvdW50OiBudW1iZXIpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4ge1xuICAgIGlmICghY291bnQpIHtcbiAgICAgIHJldHVybiBzb3VyY2U7XG4gICAgfVxuXG4gICAgbGV0IG5ld1NvdXJjZSA9IHNvdXJjZS5waXBlKG9ic2VydmVPbihhc3luY1NjaGVkdWxlciwgMCkpO1xuXG4gICAgaWYgKGNvdW50ID4gMSkge1xuICAgICAgbmV3U291cmNlID0gbmV3U291cmNlLnBpcGUobW92ZUluRXZlbnRMb29wSXRlcmF0aW9uKGNvdW50IC0gMSkpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdTb3VyY2U7XG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBqdXN0KCk6IE9ic2VydmFibGU8bnVsbD4ge1xuICByZXR1cm4gb2YobnVsbCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXJlZ2lzdGVyLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbmd4LXJlZ2lzdGVyLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ngx-register-base
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/functions/index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyx1QkFBdUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmd4LXJlZ2lzdGVyLWJhc2VcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mdW5jdGlvbnMvaW5kZXgnXG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { distinctUntilChanged, asyncScheduler, of } from 'rxjs';
|
|
2
|
+
import { observeOn } from 'rxjs/operators';
|
|
3
|
+
import { isEqual } from 'lodash';
|
|
4
|
+
|
|
5
|
+
function isNonNull(value) {
|
|
6
|
+
return value !== null;
|
|
7
|
+
}
|
|
8
|
+
function isDefined(value) {
|
|
9
|
+
return value !== null && value !== undefined;
|
|
10
|
+
}
|
|
11
|
+
function distinctUntilChangedJSONs() {
|
|
12
|
+
return distinctUntilChanged((prev, curr) => isEqual(prev, curr));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Перемещает выполнение функции на указанное количество итераций в цикле событий.
|
|
16
|
+
*
|
|
17
|
+
* @param count - Количество итераций цикла событий для перемещения.
|
|
18
|
+
* @returns Оператор, который можно использовать с Observable для продолжения цепочки.
|
|
19
|
+
*/
|
|
20
|
+
function moveInEventLoopIteration(count) {
|
|
21
|
+
return (source) => {
|
|
22
|
+
if (!count) {
|
|
23
|
+
return source;
|
|
24
|
+
}
|
|
25
|
+
let newSource = source.pipe(observeOn(asyncScheduler, 0));
|
|
26
|
+
if (count > 1) {
|
|
27
|
+
newSource = newSource.pipe(moveInEventLoopIteration(count - 1));
|
|
28
|
+
}
|
|
29
|
+
return newSource;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
function just() {
|
|
33
|
+
return of(null);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/*
|
|
37
|
+
* Public API Surface of ngx-register-base
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generated bundle index. Do not edit.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
export { distinctUntilChangedJSONs, isDefined, isNonNull, just, moveInEventLoopIteration };
|
|
45
|
+
//# sourceMappingURL=ngx-register-base.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ngx-register-base.mjs","sources":["../../../projects/ngx-register-base/src/lib/functions/rxjs.ts","../../../projects/ngx-register-base/src/public-api.ts","../../../projects/ngx-register-base/src/ngx-register-base.ts"],"sourcesContent":["import {\n MonoTypeOperatorFunction,\n distinctUntilChanged,\n Observable,\n asyncScheduler,\n of,\n} from 'rxjs';\nimport { observeOn } from 'rxjs/operators';\nimport { isEqual } from 'lodash';\n\nexport function isNonNull<T>(value: T): value is NonNullable<T> {\n return value !== null;\n}\n\nexport function isDefined<T>(value: T | null | undefined): value is T {\n return value !== null && value !== undefined;\n}\n\nexport function distinctUntilChangedJSONs<T>(): MonoTypeOperatorFunction<T> {\n return distinctUntilChanged((prev, curr) => isEqual(prev, curr));\n}\n\n/**\n * Перемещает выполнение функции на указанное количество итераций в цикле событий.\n *\n * @param count - Количество итераций цикла событий для перемещения.\n * @returns Оператор, который можно использовать с Observable для продолжения цепочки.\n */\nexport function moveInEventLoopIteration<T>(count: number): MonoTypeOperatorFunction<T> {\n return (source: Observable<T>) => {\n if (!count) {\n return source;\n }\n\n let newSource = source.pipe(observeOn(asyncScheduler, 0));\n\n if (count > 1) {\n newSource = newSource.pipe(moveInEventLoopIteration(count - 1));\n }\n\n return newSource;\n };\n}\n\nexport function just(): Observable<null> {\n return of(null);\n}\n","/*\n * Public API Surface of ngx-register-base\n */\n\nexport * from './lib/functions/index'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAUM,SAAU,SAAS,CAAI,KAAQ,EAAA;IACnC,OAAO,KAAK,KAAK,IAAI;AACvB;AAEM,SAAU,SAAS,CAAI,KAA2B,EAAA;AACtD,IAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;AAC9C;SAEgB,yBAAyB,GAAA;AACvC,IAAA,OAAO,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClE;AAEA;;;;;AAKG;AACG,SAAU,wBAAwB,CAAI,KAAa,EAAA;IACvD,OAAO,CAAC,MAAqB,KAAI;QAC/B,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,MAAM;QACf;AAEA,QAAA,IAAI,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;AAEzD,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;AACb,YAAA,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACjE;AAEA,QAAA,OAAO,SAAS;AAClB,IAAA,CAAC;AACH;SAEgB,IAAI,GAAA;AAClB,IAAA,OAAO,EAAE,CAAC,IAAI,CAAC;AACjB;;AC9CA;;AAEG;;ACFH;;AAEG;;;;"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './rxjs';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MonoTypeOperatorFunction, Observable } from 'rxjs';
|
|
2
|
+
export declare function isNonNull<T>(value: T): value is NonNullable<T>;
|
|
3
|
+
export declare function isDefined<T>(value: T | null | undefined): value is T;
|
|
4
|
+
export declare function distinctUntilChangedJSONs<T>(): MonoTypeOperatorFunction<T>;
|
|
5
|
+
/**
|
|
6
|
+
* Перемещает выполнение функции на указанное количество итераций в цикле событий.
|
|
7
|
+
*
|
|
8
|
+
* @param count - Количество итераций цикла событий для перемещения.
|
|
9
|
+
* @returns Оператор, который можно использовать с Observable для продолжения цепочки.
|
|
10
|
+
*/
|
|
11
|
+
export declare function moveInEventLoopIteration<T>(count: number): MonoTypeOperatorFunction<T>;
|
|
12
|
+
export declare function just(): Observable<null>;
|
package/package.json
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ngx-register-base",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/common": "^18.2.0",
|
|
6
|
+
"@angular/core": "^18.2.0"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"tslib": "^2.3.0"
|
|
10
|
+
},
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"module": "fesm2022/ngx-register-base.mjs",
|
|
13
|
+
"typings": "index.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": {
|
|
16
|
+
"default": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./index.d.ts",
|
|
20
|
+
"esm2022": "./esm2022/ngx-register-base.mjs",
|
|
21
|
+
"esm": "./esm2022/ngx-register-base.mjs",
|
|
22
|
+
"default": "./fesm2022/ngx-register-base.mjs"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib/functions/index';
|