@bifold/react-hooks 0.6.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.
Files changed (35) hide show
  1. package/README.md +24 -0
  2. package/build/AgentProvider.d.ts +13 -0
  3. package/build/AgentProvider.js +77 -0
  4. package/build/AgentProvider.js.map +1 -0
  5. package/build/BasicMessageProvider.d.ts +12 -0
  6. package/build/BasicMessageProvider.js +83 -0
  7. package/build/BasicMessageProvider.js.map +1 -0
  8. package/build/ConnectionProvider.d.ts +24 -0
  9. package/build/ConnectionProvider.js +106 -0
  10. package/build/ConnectionProvider.js.map +1 -0
  11. package/build/CredentialFormatDataProvider.d.ts +19 -0
  12. package/build/CredentialFormatDataProvider.js +121 -0
  13. package/build/CredentialFormatDataProvider.js.map +1 -0
  14. package/build/CredentialProvider.d.ts +15 -0
  15. package/build/CredentialProvider.js +101 -0
  16. package/build/CredentialProvider.js.map +1 -0
  17. package/build/ExchangesProvider.d.ts +8 -0
  18. package/build/ExchangesProvider.js +76 -0
  19. package/build/ExchangesProvider.js.map +1 -0
  20. package/build/ProofFormatDataProvider.d.ts +19 -0
  21. package/build/ProofFormatDataProvider.js +119 -0
  22. package/build/ProofFormatDataProvider.js.map +1 -0
  23. package/build/ProofProvider.d.ts +15 -0
  24. package/build/ProofProvider.js +107 -0
  25. package/build/ProofProvider.js.map +1 -0
  26. package/build/QuestionAnswerProvider.d.ts +14 -0
  27. package/build/QuestionAnswerProvider.js +98 -0
  28. package/build/QuestionAnswerProvider.js.map +1 -0
  29. package/build/index.d.ts +14 -0
  30. package/build/index.js +71 -0
  31. package/build/index.js.map +1 -0
  32. package/build/recordUtils.d.ts +22 -0
  33. package/build/recordUtils.js +81 -0
  34. package/build/recordUtils.js.map +1 -0
  35. package/package.json +44 -0
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useIsModuleRegistered = exports.isModuleRegistered = exports.recordsRemovedByType = exports.recordsUpdatedByType = exports.recordsAddedByType = exports.removeRecord = exports.updateRecord = exports.addRecord = void 0;
4
+ const core_1 = require("@credo-ts/core");
5
+ const react_1 = require("react");
6
+ const rxjs_1 = require("rxjs");
7
+ const addRecord = (record, state) => {
8
+ const newRecordsState = [...state.records];
9
+ newRecordsState.unshift(record);
10
+ return {
11
+ loading: state.loading,
12
+ records: newRecordsState,
13
+ };
14
+ };
15
+ exports.addRecord = addRecord;
16
+ const updateRecord = (record, state) => {
17
+ const newRecordsState = [...state.records];
18
+ const index = newRecordsState.findIndex((r) => r.id === record.id);
19
+ if (index > -1) {
20
+ newRecordsState[index] = record;
21
+ }
22
+ return {
23
+ loading: state.loading,
24
+ records: newRecordsState,
25
+ };
26
+ };
27
+ exports.updateRecord = updateRecord;
28
+ const removeRecord = (record, state) => {
29
+ const newRecordsState = state.records.filter((r) => r.id !== record.id);
30
+ return {
31
+ loading: state.loading,
32
+ records: newRecordsState,
33
+ };
34
+ };
35
+ exports.removeRecord = removeRecord;
36
+ const filterByType = (recordClass) => {
37
+ return (0, rxjs_1.pipe)((0, rxjs_1.map)((event) => event.payload.record), (0, rxjs_1.filter)((record) => record.type === recordClass.type));
38
+ };
39
+ const recordsAddedByType = (agent, recordClass) => {
40
+ if (!agent) {
41
+ throw new Error('Agent is required to check record type');
42
+ }
43
+ if (!recordClass) {
44
+ throw new Error("The recordClass can't be undefined");
45
+ }
46
+ return agent === null || agent === void 0 ? void 0 : agent.events.observable(core_1.RepositoryEventTypes.RecordSaved).pipe(filterByType(recordClass));
47
+ };
48
+ exports.recordsAddedByType = recordsAddedByType;
49
+ const recordsUpdatedByType = (agent, recordClass) => {
50
+ if (!agent) {
51
+ throw new Error('Agent is required to update record type');
52
+ }
53
+ if (!recordClass) {
54
+ throw new Error("The recordClass can't be undefined");
55
+ }
56
+ return agent === null || agent === void 0 ? void 0 : agent.events.observable(core_1.RepositoryEventTypes.RecordUpdated).pipe(filterByType(recordClass));
57
+ };
58
+ exports.recordsUpdatedByType = recordsUpdatedByType;
59
+ const recordsRemovedByType = (agent, recordClass) => {
60
+ if (!agent) {
61
+ throw new Error('Agent is required to remove records by type');
62
+ }
63
+ if (!recordClass) {
64
+ throw new Error("The recordClass can't be undefined");
65
+ }
66
+ return agent === null || agent === void 0 ? void 0 : agent.events.observable(core_1.RepositoryEventTypes.RecordDeleted).pipe(filterByType(recordClass));
67
+ };
68
+ exports.recordsRemovedByType = recordsRemovedByType;
69
+ const isModuleRegistered = (agent, ModuleClass) => {
70
+ if (!agent) {
71
+ throw new Error('Agent is required to check if a module is enabled');
72
+ }
73
+ const foundModule = Object.values(agent.dependencyManager.registeredModules).find((module) => module instanceof ModuleClass);
74
+ return foundModule !== undefined;
75
+ };
76
+ exports.isModuleRegistered = isModuleRegistered;
77
+ const useIsModuleRegistered = (agent, ModuleClass) => {
78
+ return (0, react_1.useMemo)(() => (0, exports.isModuleRegistered)(agent, ModuleClass), [agent, ModuleClass]);
79
+ };
80
+ exports.useIsModuleRegistered = useIsModuleRegistered;
81
+ //# sourceMappingURL=recordUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recordUtils.js","sourceRoot":"","sources":["../src/recordUtils.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@bifold/react-hooks",
3
+ "main": "build/index",
4
+ "types": "build/index",
5
+ "version": "0.6.1",
6
+ "files": [
7
+ "build"
8
+ ],
9
+ "publishConfig": {
10
+ "access": "public"
11
+ },
12
+ "license": "Apache-2.0",
13
+ "description": "Exposes useful React hooks that allow easy interaction with Credo.",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/openwallet-foundation/bifold-wallet.git",
17
+ "directory": "packages/react-hooks"
18
+ },
19
+ "homepage": "https://github.com/openwallet-foundation/bifold-wallet/",
20
+ "bin": {
21
+ "bifold": "bin/bifold"
22
+ },
23
+ "scripts": {
24
+ "build": "yarn run clean && yarn run compile",
25
+ "clean": "rimraf -rf ./build",
26
+ "compile": "tsc -p tsconfig.build.json",
27
+ "prepublishOnly": "yarn run build",
28
+ "test": "jest"
29
+ },
30
+ "dependencies": {
31
+ "rxjs": "^7.2.0"
32
+ },
33
+ "devDependencies": {
34
+ "@credo-ts/core": "0.5.17",
35
+ "@credo-ts/question-answer": "0.5.17",
36
+ "@types/react": "^18.2.14",
37
+ "rimraf": "^6.1.2"
38
+ },
39
+ "peerDependencies": {
40
+ "@credo-ts/core": "0.5.17",
41
+ "@credo-ts/question-answer": "0.5.17",
42
+ "react": ">=17.0.0 <19.0.0"
43
+ }
44
+ }