@aiao/rxdb-angular 0.0.2 → 0.0.7

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 (41) hide show
  1. package/eslint.config.mjs +58 -0
  2. package/ng-package.json +7 -0
  3. package/package.json +13 -23
  4. package/project.json +48 -0
  5. package/src/InfiniteScrollingList.ts +123 -0
  6. package/src/devtools/devtools.html +99 -0
  7. package/src/devtools/devtools.interface.ts +3 -0
  8. package/src/devtools/devtools.scss +49 -0
  9. package/src/devtools/devtools.spec.ts +30 -0
  10. package/src/devtools/devtools.ts +207 -0
  11. package/src/devtools/entity-table-item.ts +47 -0
  12. package/src/devtools/entity-table-tools.html +56 -0
  13. package/src/devtools/entity-table-tools.scss +8 -0
  14. package/src/devtools/entity-table-tools.ts +153 -0
  15. package/src/devtools/event-tools.html +15 -0
  16. package/src/devtools/event-tools.scss +18 -0
  17. package/src/devtools/event-tools.ts +45 -0
  18. package/src/devtools/scroll-advanced-calc.service.ts +41 -0
  19. package/src/devtools/settings.html +46 -0
  20. package/src/devtools/settings.scss +19 -0
  21. package/src/devtools/settings.ts +122 -0
  22. package/src/hooks.ts +307 -0
  23. package/src/index.ts +7 -0
  24. package/src/rxdb-change-detector.directive.spec.ts +94 -0
  25. package/src/rxdb-change-detector.directive.ts +35 -0
  26. package/src/rxdb.provider.ts +13 -0
  27. package/src/rxdb.service.spec.ts +31 -0
  28. package/src/rxdb.service.ts +35 -0
  29. package/src/test-setup.ts +14 -0
  30. package/src/use-action.spec.ts +88 -0
  31. package/src/use-action.ts +20 -0
  32. package/src/use-state.spec.ts +105 -0
  33. package/src/use-state.ts +28 -0
  34. package/tsconfig.json +33 -0
  35. package/tsconfig.lib.json +42 -0
  36. package/tsconfig.lib.prod.json +10 -0
  37. package/tsconfig.spec.json +23 -0
  38. package/vite.config.mts +55 -0
  39. package/fesm2022/aiao-rxdb-angular.mjs +0 -47
  40. package/fesm2022/aiao-rxdb-angular.mjs.map +0 -1
  41. package/index.d.ts +0 -15
@@ -0,0 +1,105 @@
1
+ import { provideZonelessChangeDetection } from '@angular/core';
2
+ import { TestBed } from '@angular/core/testing';
3
+ import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
4
+ import { useState } from './use-state';
5
+
6
+ describe('useState', () => {
7
+ const mockLocalStorage = (() => {
8
+ let store: Record<string, string> = {};
9
+ return {
10
+ getItem: vi.fn((key: string) => store[key] || null),
11
+ setItem: vi.fn((key: string, value: string) => {
12
+ store[key] = value;
13
+ }),
14
+ clear: () => {
15
+ store = {};
16
+ }
17
+ };
18
+ })();
19
+
20
+ beforeEach(() => {
21
+ TestBed.configureTestingModule({
22
+ providers: [provideZonelessChangeDetection()]
23
+ });
24
+ Object.defineProperty(globalThis, 'localStorage', {
25
+ value: mockLocalStorage,
26
+ writable: true
27
+ });
28
+ mockLocalStorage.clear();
29
+ mockLocalStorage.getItem.mockClear();
30
+ mockLocalStorage.setItem.mockClear();
31
+ });
32
+
33
+ afterEach(() => {
34
+ TestBed.resetTestingModule();
35
+ });
36
+
37
+ it('should create a signal with initial value', () => {
38
+ TestBed.runInInjectionContext(() => {
39
+ const state = useState('test-namespace')('test-key');
40
+ const testSignal = state.signal(42);
41
+
42
+ expect(testSignal()).toBe(42);
43
+ });
44
+ });
45
+
46
+ it('should load value from localStorage if exists', () => {
47
+ mockLocalStorage.setItem('test-namespace:test-key', JSON.stringify(100));
48
+
49
+ TestBed.runInInjectionContext(() => {
50
+ const state = useState('test-namespace')('test-key');
51
+ const testSignal = state.signal(42);
52
+
53
+ expect(mockLocalStorage.getItem).toHaveBeenCalledWith('test-namespace:test-key');
54
+ expect(testSignal()).toBe(100);
55
+ });
56
+ });
57
+
58
+ it('should save value to localStorage on change', async () => {
59
+ TestBed.runInInjectionContext(() => {
60
+ const state = useState('test-namespace')('test-key');
61
+ const testSignal = state.signal(42);
62
+
63
+ testSignal.set(100);
64
+
65
+ // Wait for effect to run
66
+ TestBed.flushEffects();
67
+
68
+ expect(mockLocalStorage.setItem).toHaveBeenCalledWith('test-namespace:test-key', JSON.stringify(100));
69
+ });
70
+ });
71
+
72
+ it('should use namespace and name to construct storage key', () => {
73
+ TestBed.runInInjectionContext(() => {
74
+ const state = useState('my-app')('user-settings');
75
+ state.signal({ theme: 'dark' });
76
+
77
+ TestBed.flushEffects();
78
+
79
+ expect(mockLocalStorage.setItem).toHaveBeenCalledWith('my-app:user-settings', JSON.stringify({ theme: 'dark' }));
80
+ });
81
+ });
82
+
83
+ it('should handle objects and arrays', async () => {
84
+ TestBed.runInInjectionContext(() => {
85
+ const state = useState('test-namespace')('test-array');
86
+ const testSignal = state.signal([1, 2, 3]);
87
+
88
+ testSignal.set([4, 5, 6]);
89
+
90
+ TestBed.flushEffects();
91
+
92
+ expect(mockLocalStorage.setItem).toHaveBeenCalledWith('test-namespace:test-array', JSON.stringify([4, 5, 6]));
93
+ });
94
+ });
95
+
96
+ it('should respect CreateSignalOptions', () => {
97
+ TestBed.runInInjectionContext(() => {
98
+ const equalFn = vi.fn((a: number, b: number) => a === b);
99
+ const state = useState('test-namespace')('test-with-options');
100
+ const testSignal = state.signal(42, { equal: equalFn });
101
+
102
+ expect(testSignal()).toBe(42);
103
+ });
104
+ });
105
+ });
@@ -0,0 +1,28 @@
1
+ import { IS_BROWSER } from '@aiao/utils';
2
+ import { CreateSignalOptions, effect, signal as ngSignal, WritableSignal } from '@angular/core';
3
+
4
+ function state(namespace: string) {
5
+ return (name: string) => {
6
+ const signal = <T>(initialValue: T, options?: CreateSignalOptions<T>): WritableSignal<T> => {
7
+ if (IS_BROWSER) {
8
+ const value = localStorage.getItem(`${namespace}:${name}`);
9
+ if (value) {
10
+ initialValue = JSON.parse(value);
11
+ }
12
+ }
13
+ const a = ngSignal<T>(initialValue, options);
14
+ effect(() => {
15
+ if (IS_BROWSER) {
16
+ localStorage.setItem(`${namespace}:${name}`, JSON.stringify(a()));
17
+ }
18
+ });
19
+ return a;
20
+ };
21
+
22
+ return {
23
+ signal
24
+ };
25
+ };
26
+ }
27
+
28
+ export const useState = (namespace: string) => state(namespace);
package/tsconfig.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "angularCompilerOptions": {
3
+ "enableI18nLegacyMessageIdFormat": false,
4
+ "strictInjectionParameters": true,
5
+ "strictInputAccessModifiers": true,
6
+ "typeCheckHostBindings": true,
7
+ "strictTemplates": true
8
+ },
9
+ "compilerOptions": {
10
+ "skipLibCheck": true,
11
+ "experimentalDecorators": true,
12
+ "importHelpers": true,
13
+ "target": "es2022",
14
+ "moduleResolution": "bundler",
15
+ "strict": true,
16
+ "noImplicitOverride": true,
17
+ "noPropertyAccessFromIndexSignature": true,
18
+ "noImplicitReturns": true,
19
+ "noFallthroughCasesInSwitch": true,
20
+ "module": "preserve"
21
+ },
22
+ "extends": "../../tsconfig.angular.json",
23
+ "files": [],
24
+ "include": [],
25
+ "references": [
26
+ {
27
+ "path": "./tsconfig.lib.json"
28
+ },
29
+ {
30
+ "path": "./tsconfig.spec.json"
31
+ }
32
+ ]
33
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "../../dist/out-tsc",
4
+ "declaration": true,
5
+ "declarationMap": true,
6
+ "sourceMap": true,
7
+ "inlineSources": true,
8
+ "module": "preserve",
9
+ "moduleResolution": "bundler",
10
+ "emitDeclarationOnly": false,
11
+ "types": []
12
+ },
13
+ "exclude": [
14
+ "src/**/*.spec.ts",
15
+ "src/test-setup.ts",
16
+ "jest.config.ts",
17
+ "src/**/*.test.ts",
18
+ "vite.config.ts",
19
+ "vite.config.mts",
20
+ "vitest.config.ts",
21
+ "vitest.config.mts",
22
+ "src/**/*.test.tsx",
23
+ "src/**/*.spec.tsx",
24
+ "src/**/*.test.js",
25
+ "src/**/*.spec.js",
26
+ "src/**/*.test.jsx",
27
+ "src/**/*.spec.jsx"
28
+ ],
29
+ "extends": "./tsconfig.json",
30
+ "include": ["src/**/*.ts"],
31
+ "references": [
32
+ {
33
+ "path": "../rxdb-plugin-graph/tsconfig.lib.json"
34
+ },
35
+ {
36
+ "path": "../utils/tsconfig.lib.json"
37
+ },
38
+ {
39
+ "path": "../rxdb/tsconfig.lib.json"
40
+ }
41
+ ]
42
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "angularCompilerOptions": {
3
+ "compilationMode": "partial"
4
+ },
5
+ "compilerOptions": {
6
+ "declarationMap": false
7
+ },
8
+ "extends": "./tsconfig.lib.json",
9
+ "include": ["src/**/*.ts"]
10
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "compilerOptions": {
3
+ "outDir": "../../dist/out-tsc",
4
+ "types": ["node"]
5
+ },
6
+ "extends": "./tsconfig.json",
7
+ "include": [
8
+ "src/test-setup.ts",
9
+ "vite.config.ts",
10
+ "vite.config.mts",
11
+ "vitest.config.ts",
12
+ "vitest.config.mts",
13
+ "src/**/*.test.ts",
14
+ "src/**/*.spec.ts",
15
+ "src/**/*.test.tsx",
16
+ "src/**/*.spec.tsx",
17
+ "src/**/*.test.js",
18
+ "src/**/*.spec.js",
19
+ "src/**/*.test.jsx",
20
+ "src/**/*.spec.jsx",
21
+ "src/**/*.d.ts"
22
+ ]
23
+ }
@@ -0,0 +1,55 @@
1
+ /// <reference types='vitest' />
2
+ import angular from '@analogjs/vite-plugin-angular';
3
+ import { codecovVitePlugin } from '@codecov/vite-plugin';
4
+ import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin';
5
+ import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
6
+ import * as path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ import { defineConfig } from 'vite';
9
+
10
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
+
12
+ export default defineConfig({
13
+ root: __dirname,
14
+ cacheDir: '../../node_modules/.vite/packages/rxdb-angular',
15
+ plugins: [
16
+ angular(),
17
+ nxViteTsPaths(),
18
+ nxCopyAssetsPlugin(['*.md']),
19
+ // Codecov Bundle Analysis - 仅在 CI 环境中启用
20
+ ...(process.env['CI'] === 'true' && process.env['CODECOV_TOKEN'] ?
21
+ [
22
+ codecovVitePlugin({
23
+ enableBundleAnalysis: true,
24
+ telemetry: false,
25
+ bundleName: 'rxdb-angular',
26
+ uploadToken: process.env['CODECOV_TOKEN']
27
+ })
28
+ ]
29
+ : [])
30
+ ],
31
+ // Uncomment this if you are using workers.
32
+ // worker: {
33
+ // plugins: [ nxViteTsPaths() ],
34
+ // },
35
+ test: {
36
+ name: 'rxdb-angular',
37
+ watch: false,
38
+ globals: true,
39
+ environment: 'happy-dom',
40
+ passWithNoTests: true,
41
+ testTimeout: 10000,
42
+ hookTimeout: 10000,
43
+ include: ['{src,tests}/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
44
+ setupFiles: ['src/test-setup.ts'],
45
+ reporters: ['default', 'junit'],
46
+ outputFile: {
47
+ junit: '../../coverage/packages/rxdb-angular/junit.xml'
48
+ },
49
+ coverage: {
50
+ enabled: true,
51
+ reportsDirectory: '../../coverage/packages/rxdb-angular',
52
+ provider: 'v8' as const
53
+ }
54
+ }
55
+ });
@@ -1,47 +0,0 @@
1
- import { RxDB } from '@aiao/rxdb';
2
- import { isPlatformBrowser } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { InjectionToken, PLATFORM_ID, Injectable } from '@angular/core';
5
-
6
- const RXDB_OPTIONS = new InjectionToken('RXDB_OPTIONS');
7
-
8
- /**
9
- * RxDB 配置
10
- */
11
- const provideRxDB = (options, callback) => {
12
- return [
13
- {
14
- provide: RXDB_OPTIONS,
15
- useValue: options
16
- },
17
- {
18
- provide: RxDB,
19
- useFactory: (options, platformId) => {
20
- if (isPlatformBrowser(platformId)) {
21
- const db = new RxDB(options);
22
- if (callback)
23
- callback(db);
24
- return db;
25
- }
26
- return null;
27
- },
28
- deps: [RXDB_OPTIONS, PLATFORM_ID]
29
- }
30
- ];
31
- };
32
-
33
- class RxDBService {
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RxDBService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RxDBService, providedIn: 'root' });
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RxDBService, decorators: [{
38
- type: Injectable,
39
- args: [{ providedIn: 'root' }]
40
- }] });
41
-
42
- /**
43
- * Generated bundle index. Do not edit.
44
- */
45
-
46
- export { RxDBService, provideRxDB };
47
- //# sourceMappingURL=aiao-rxdb-angular.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aiao-rxdb-angular.mjs","sources":["../tmp-esm2022/rxdb.interface.js","../tmp-esm2022/rxdb.provider.js","../tmp-esm2022/rxdb.service.js","../tmp-esm2022/aiao-rxdb-angular.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const RXDB_OPTIONS = new InjectionToken('RXDB_OPTIONS');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhkYi5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9yeGRiLWFuZ3VsYXIvc3JjL3J4ZGIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFjLGNBQWMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnhEQk9wdGlvbnMgfSBmcm9tICdAYWlhby9yeGRiJztcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBSWERCX09QVElPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48UnhEQk9wdGlvbnM+KCdSWERCX09QVElPTlMnKTtcbiJdfQ==","import { RxDB } from '@aiao/rxdb';\nimport { isPlatformBrowser } from '@angular/common';\nimport { PLATFORM_ID } from '@angular/core';\nimport { RXDB_OPTIONS } from './rxdb.interface';\n/**\n * RxDB 配置\n */\nexport const provideRxDB = (options, callback) => {\n return [\n {\n provide: RXDB_OPTIONS,\n useValue: options\n },\n {\n provide: RxDB,\n useFactory: (options, platformId) => {\n if (isPlatformBrowser(platformId)) {\n const db = new RxDB(options);\n if (callback)\n callback(db);\n return db;\n }\n return null;\n },\n deps: [RXDB_OPTIONS, PLATFORM_ID]\n }\n ];\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhkYi5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3J4ZGItYW5ndWxhci9zcmMvcnhkYi5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFlLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRWhEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBb0IsRUFBRSxRQUE2QixFQUFjLEVBQUU7SUFDN0YsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLFlBQVk7WUFDckIsUUFBUSxFQUFFLE9BQU87U0FDbEI7UUFDRDtZQUNFLE9BQU8sRUFBRSxJQUFJO1lBQ2IsVUFBVSxFQUFFLENBQUMsT0FBb0IsRUFBRSxVQUFlLEVBQUUsRUFBRTtnQkFDcEQsSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO29CQUNsQyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDN0IsSUFBSSxRQUFRO3dCQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDM0IsT0FBTyxFQUFFLENBQUM7Z0JBQ1osQ0FBQztnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDO1NBQ2xDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ4REIsIFJ4REJPcHRpb25zIH0gZnJvbSAnQGFpYW8vcnhkYic7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBQTEFURk9STV9JRCwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJYREJfT1BUSU9OUyB9IGZyb20gJy4vcnhkYi5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIFJ4REIg6YWN572uXG4gKi9cbmV4cG9ydCBjb25zdCBwcm92aWRlUnhEQiA9IChvcHRpb25zOiBSeERCT3B0aW9ucywgY2FsbGJhY2s/OiAoZGI6IFJ4REIpID0+IHZvaWQpOiBQcm92aWRlcltdID0+IHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBSWERCX09QVElPTlMsXG4gICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogUnhEQixcbiAgICAgIHVzZUZhY3Rvcnk6IChvcHRpb25zOiBSeERCT3B0aW9ucywgcGxhdGZvcm1JZDogYW55KSA9PiB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3NlcihwbGF0Zm9ybUlkKSkge1xuICAgICAgICAgIGNvbnN0IGRiID0gbmV3IFJ4REIob3B0aW9ucyk7XG4gICAgICAgICAgaWYgKGNhbGxiYWNrKSBjYWxsYmFjayhkYik7XG4gICAgICAgICAgcmV0dXJuIGRiO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtSWERCX09QVElPTlMsIFBMQVRGT1JNX0lEXVxuICAgIH1cbiAgXTtcbn07XG4iXX0=","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RxDBService {\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RxDBService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RxDBService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.7\", ngImport: i0, type: RxDBService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhkYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvcnhkYi1hbmd1bGFyL3NyYy9yeGRiLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLFdBQVc7dUdBQVgsV0FBVzsyR0FBWCxXQUFXLGNBREUsTUFBTTs7MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJ4REJTZXJ2aWNlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlhby1yeGRiLWFuZ3VsYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9yeGRiLWFuZ3VsYXIvc3JjL2FpYW8tcnhkYi1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":";;;;;AACO,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,cAAc,CAAC;;ACG9D;AACA;AACA;AACY,MAAC,WAAW,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK;AAClD,IAAI,OAAO;AACX,QAAQ;AACR,YAAY,OAAO,EAAE,YAAY;AACjC,YAAY,QAAQ,EAAE;AACtB,SAAS;AACT,QAAQ;AACR,YAAY,OAAO,EAAE,IAAI;AACzB,YAAY,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;AACjD,gBAAgB,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE;AACnD,oBAAoB,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;AAChD,oBAAoB,IAAI,QAAQ;AAChC,wBAAwB,QAAQ,CAAC,EAAE,CAAC;AACpC,oBAAoB,OAAO,EAAE;AAC7B,gBAAgB;AAChB,gBAAgB,OAAO,IAAI;AAC3B,YAAY,CAAC;AACb,YAAY,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW;AAC5C;AACA,KAAK;AACL;;ACzBO,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACtK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC7I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;ACTb;AACA;AACA;;;;"}
package/index.d.ts DELETED
@@ -1,15 +0,0 @@
1
- import { RxDBOptions, RxDB } from '@aiao/rxdb';
2
- import * as i0 from '@angular/core';
3
- import { Provider } from '@angular/core';
4
-
5
- /**
6
- * RxDB 配置
7
- */
8
- declare const provideRxDB: (options: RxDBOptions, callback?: (db: RxDB) => void) => Provider[];
9
-
10
- declare class RxDBService {
11
- static ɵfac: i0.ɵɵFactoryDeclaration<RxDBService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<RxDBService>;
13
- }
14
-
15
- export { RxDBService, provideRxDB };