@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.
- package/eslint.config.mjs +58 -0
- package/ng-package.json +7 -0
- package/package.json +13 -23
- package/project.json +48 -0
- package/src/InfiniteScrollingList.ts +123 -0
- package/src/devtools/devtools.html +99 -0
- package/src/devtools/devtools.interface.ts +3 -0
- package/src/devtools/devtools.scss +49 -0
- package/src/devtools/devtools.spec.ts +30 -0
- package/src/devtools/devtools.ts +207 -0
- package/src/devtools/entity-table-item.ts +47 -0
- package/src/devtools/entity-table-tools.html +56 -0
- package/src/devtools/entity-table-tools.scss +8 -0
- package/src/devtools/entity-table-tools.ts +153 -0
- package/src/devtools/event-tools.html +15 -0
- package/src/devtools/event-tools.scss +18 -0
- package/src/devtools/event-tools.ts +45 -0
- package/src/devtools/scroll-advanced-calc.service.ts +41 -0
- package/src/devtools/settings.html +46 -0
- package/src/devtools/settings.scss +19 -0
- package/src/devtools/settings.ts +122 -0
- package/src/hooks.ts +307 -0
- package/src/index.ts +7 -0
- package/src/rxdb-change-detector.directive.spec.ts +94 -0
- package/src/rxdb-change-detector.directive.ts +35 -0
- package/src/rxdb.provider.ts +13 -0
- package/src/rxdb.service.spec.ts +31 -0
- package/src/rxdb.service.ts +35 -0
- package/src/test-setup.ts +14 -0
- package/src/use-action.spec.ts +88 -0
- package/src/use-action.ts +20 -0
- package/src/use-state.spec.ts +105 -0
- package/src/use-state.ts +28 -0
- package/tsconfig.json +33 -0
- package/tsconfig.lib.json +42 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +23 -0
- package/vite.config.mts +55 -0
- package/fesm2022/aiao-rxdb-angular.mjs +0 -47
- package/fesm2022/aiao-rxdb-angular.mjs.map +0 -1
- 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
|
+
});
|
package/src/use-state.ts
ADDED
|
@@ -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,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
|
+
}
|
package/vite.config.mts
ADDED
|
@@ -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 };
|