@aether-baas/react-native 3.1.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/dist/index.d.ts +62 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +88 -0
- package/dist/index.js.map +1 -0
- package/package.json +68 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type ClientConfig, type StorageAdapter, type TenantUser, type AuthChangeEvent } from '@aether-baas/core';
|
|
3
|
+
/**
|
|
4
|
+
* Adapter para @react-native-async-storage/async-storage.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createAsyncStorageAdapter(asyncStorage: {
|
|
7
|
+
getItem: (key: string) => Promise<string | null>;
|
|
8
|
+
setItem: (key: string, value: string) => Promise<void>;
|
|
9
|
+
removeItem: (key: string) => Promise<void>;
|
|
10
|
+
clear?: () => Promise<void>;
|
|
11
|
+
getAllKeys?: () => Promise<readonly string[]>;
|
|
12
|
+
}): StorageAdapter;
|
|
13
|
+
/**
|
|
14
|
+
* Adapter para expo-secure-store (tokens sensíveis).
|
|
15
|
+
*/
|
|
16
|
+
export declare function createSecureStoreAdapter(secureStore: {
|
|
17
|
+
getItemAsync: (key: string) => Promise<string | null>;
|
|
18
|
+
setItemAsync: (key: string, value: string) => Promise<void>;
|
|
19
|
+
deleteItemAsync: (key: string) => Promise<void>;
|
|
20
|
+
}): StorageAdapter;
|
|
21
|
+
/**
|
|
22
|
+
* Adapter para react-native-mmkv (storage ultra-rápido).
|
|
23
|
+
*/
|
|
24
|
+
export declare function createMMKVAdapter(mmkv: {
|
|
25
|
+
getString: (key: string) => string | undefined;
|
|
26
|
+
set: (key: string, value: string) => void;
|
|
27
|
+
delete: (key: string) => void;
|
|
28
|
+
clearAll?: () => void;
|
|
29
|
+
getAllKeys?: () => string[];
|
|
30
|
+
}): StorageAdapter;
|
|
31
|
+
export interface AetherProviderProps {
|
|
32
|
+
config: ClientConfig;
|
|
33
|
+
storage: StorageAdapter;
|
|
34
|
+
secureStorage?: StorageAdapter;
|
|
35
|
+
children: ReactNode;
|
|
36
|
+
onAuthStateChange?: (event: AuthChangeEvent, user: TenantUser | null) => void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Provider do Aether para React Native.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```tsx
|
|
43
|
+
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
44
|
+
* import { AetherProvider, createAsyncStorageAdapter } from '@aether/react-native';
|
|
45
|
+
*
|
|
46
|
+
* export default function App() {
|
|
47
|
+
* return (
|
|
48
|
+
* <AetherProvider
|
|
49
|
+
* config={{ baseUrl: '...', apiKey: '...' }}
|
|
50
|
+
* storage={createAsyncStorageAdapter(AsyncStorage)}
|
|
51
|
+
* >
|
|
52
|
+
* <Navigation />
|
|
53
|
+
* </AetherProvider>
|
|
54
|
+
* );
|
|
55
|
+
* }
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function AetherProvider({ config, storage, secureStorage, children, onAuthStateChange, }: AetherProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
export { useAetherContext, useAetherClient, useAuth, useCollection, useDocument, useStorage, useFunctions, useFunction, useAI, useAIAsk, useAISearch, AuthGuard, GuestGuard, RoleGuard, ShowIfAuthenticated, ShowIfGuest, ShowIfRole, } from '@aether-baas/react';
|
|
60
|
+
export type { StorageAdapter } from '@aether-baas/core';
|
|
61
|
+
export declare const VERSION = "3.1.1";
|
|
62
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAMA,OAAc,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAS3B;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE;IACtD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAC/C,GAAG,cAAc,CAUjB;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE;IACpD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtD,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD,GAAG,cAAc,CAMjB;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IACtC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/C,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,MAAM,EAAE,CAAC;CAC7B,GAAG,cAAc,CAQjB;AAMD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;CAC/E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,OAAO,EACP,aAAa,EACb,QAAQ,EACR,iBAAiB,GAClB,EAAE,mBAAmB,2CAYrB;AAMD,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,SAAS,EACT,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,WAAW,EACX,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// =============================================================================
|
|
3
|
+
// @aether/react-native
|
|
4
|
+
// =============================================================================
|
|
5
|
+
// SDK para React Native com adapters específicos para mobile.
|
|
6
|
+
// =============================================================================
|
|
7
|
+
import { useMemo } from 'react';
|
|
8
|
+
import { PlataformaClient, } from '@aether-baas/core';
|
|
9
|
+
import { AetherProvider as BaseAetherProvider, } from '@aether-baas/react';
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// ASYNC STORAGE ADAPTER
|
|
12
|
+
// =============================================================================
|
|
13
|
+
/**
|
|
14
|
+
* Adapter para @react-native-async-storage/async-storage.
|
|
15
|
+
*/
|
|
16
|
+
export function createAsyncStorageAdapter(asyncStorage) {
|
|
17
|
+
return {
|
|
18
|
+
getItem: (key) => asyncStorage.getItem(key),
|
|
19
|
+
setItem: (key, value) => asyncStorage.setItem(key, value),
|
|
20
|
+
removeItem: (key) => asyncStorage.removeItem(key),
|
|
21
|
+
clear: asyncStorage.clear ? () => asyncStorage.clear() : undefined,
|
|
22
|
+
getAllKeys: asyncStorage.getAllKeys
|
|
23
|
+
? async () => [...await asyncStorage.getAllKeys()]
|
|
24
|
+
: undefined,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
// =============================================================================
|
|
28
|
+
// SECURE STORE ADAPTER (EXPO)
|
|
29
|
+
// =============================================================================
|
|
30
|
+
/**
|
|
31
|
+
* Adapter para expo-secure-store (tokens sensíveis).
|
|
32
|
+
*/
|
|
33
|
+
export function createSecureStoreAdapter(secureStore) {
|
|
34
|
+
return {
|
|
35
|
+
getItem: (key) => secureStore.getItemAsync(key),
|
|
36
|
+
setItem: (key, value) => secureStore.setItemAsync(key, value),
|
|
37
|
+
removeItem: (key) => secureStore.deleteItemAsync(key),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// =============================================================================
|
|
41
|
+
// MMKV ADAPTER
|
|
42
|
+
// =============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Adapter para react-native-mmkv (storage ultra-rápido).
|
|
45
|
+
*/
|
|
46
|
+
export function createMMKVAdapter(mmkv) {
|
|
47
|
+
return {
|
|
48
|
+
getItem: (key) => mmkv.getString(key) ?? null,
|
|
49
|
+
setItem: (key, value) => mmkv.set(key, value),
|
|
50
|
+
removeItem: (key) => mmkv.delete(key),
|
|
51
|
+
clear: mmkv.clearAll ? () => mmkv.clearAll() : undefined,
|
|
52
|
+
getAllKeys: mmkv.getAllKeys ? () => mmkv.getAllKeys() : undefined,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Provider do Aether para React Native.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```tsx
|
|
60
|
+
* import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
61
|
+
* import { AetherProvider, createAsyncStorageAdapter } from '@aether/react-native';
|
|
62
|
+
*
|
|
63
|
+
* export default function App() {
|
|
64
|
+
* return (
|
|
65
|
+
* <AetherProvider
|
|
66
|
+
* config={{ baseUrl: '...', apiKey: '...' }}
|
|
67
|
+
* storage={createAsyncStorageAdapter(AsyncStorage)}
|
|
68
|
+
* >
|
|
69
|
+
* <Navigation />
|
|
70
|
+
* </AetherProvider>
|
|
71
|
+
* );
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export function AetherProvider({ config, storage, secureStorage, children, onAuthStateChange, }) {
|
|
76
|
+
const client = useMemo(() => {
|
|
77
|
+
const aether = new PlataformaClient({ ...config, persistSession: true });
|
|
78
|
+
aether.setStorageAdapter(secureStorage ?? storage);
|
|
79
|
+
return aether;
|
|
80
|
+
}, [config, storage, secureStorage]);
|
|
81
|
+
return (_jsx(BaseAetherProvider, { client: client, onAuthStateChange: onAuthStateChange, children: children }));
|
|
82
|
+
}
|
|
83
|
+
// =============================================================================
|
|
84
|
+
// RE-EXPORTS
|
|
85
|
+
// =============================================================================
|
|
86
|
+
export { useAetherContext, useAetherClient, useAuth, useCollection, useDocument, useStorage, useFunctions, useFunction, useAI, useAIAsk, useAISearch, AuthGuard, GuestGuard, RoleGuard, ShowIfAuthenticated, ShowIfGuest, ShowIfRole, } from '@aether-baas/react';
|
|
87
|
+
export const VERSION = '3.1.1';
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aether-baas/react-native",
|
|
3
|
+
"version": "3.1.1",
|
|
4
|
+
"description": "Aether SDK para React Native - Adapters e componentes para mobile",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"README.md"
|
|
18
|
+
],
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@aether-baas/react": "3.1.1",
|
|
21
|
+
"@aether-baas/core": "3.1.1"
|
|
22
|
+
},
|
|
23
|
+
"peerDependencies": {
|
|
24
|
+
"react": ">=17.0.0",
|
|
25
|
+
"react-native": ">=0.70.0"
|
|
26
|
+
},
|
|
27
|
+
"peerDependenciesMeta": {
|
|
28
|
+
"@react-native-async-storage/async-storage": {
|
|
29
|
+
"optional": true
|
|
30
|
+
},
|
|
31
|
+
"expo-secure-store": {
|
|
32
|
+
"optional": true
|
|
33
|
+
},
|
|
34
|
+
"react-native-mmkv": {
|
|
35
|
+
"optional": true
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"@types/react": "^18.2.0",
|
|
40
|
+
"react": "^18.2.0",
|
|
41
|
+
"typescript": "^5.3.0"
|
|
42
|
+
},
|
|
43
|
+
"engines": {
|
|
44
|
+
"node": ">=18"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"aether",
|
|
48
|
+
"react-native",
|
|
49
|
+
"mobile",
|
|
50
|
+
"baas",
|
|
51
|
+
"firebase",
|
|
52
|
+
"supabase",
|
|
53
|
+
"expo"
|
|
54
|
+
],
|
|
55
|
+
"author": "Allan Felipe de Souza",
|
|
56
|
+
"license": "MIT",
|
|
57
|
+
"repository": {
|
|
58
|
+
"type": "git",
|
|
59
|
+
"url": "https://github.com/allanfsouza/aether-sdk",
|
|
60
|
+
"directory": "packages/react-native"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"build": "tsc",
|
|
64
|
+
"dev": "tsc --watch",
|
|
65
|
+
"clean": "rm -rf dist",
|
|
66
|
+
"typecheck": "tsc --noEmit"
|
|
67
|
+
}
|
|
68
|
+
}
|