@learncard/didkey-plugin 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,217 @@
1
+ import { LearnCard } from '@learncard/core';
2
+ import { DidKeyPlugin, DependentMethods } from './types';
3
+ export * from './types';
4
+ /**
5
+ *
6
+ * @group Plugins
7
+ */
8
+ export declare const getDidKeyPlugin: <DidMethod extends string>(learnCard: {
9
+ plugins: any;
10
+ invoke: DependentMethods<DidMethod>;
11
+ addPlugin: <NewPlugin extends {
12
+ name: string;
13
+ displayName?: string | undefined;
14
+ description?: string | undefined;
15
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
16
+ _methods?: Record<never, never> | undefined;
17
+ read?: {} | undefined;
18
+ store?: {} | undefined;
19
+ index?: {} | undefined;
20
+ cache?: {} | undefined;
21
+ id?: {} | undefined;
22
+ }>(plugin: NewPlugin) => Promise<{
23
+ plugins: [...any[], NewPlugin];
24
+ invoke: any;
25
+ addPlugin: <NewPlugin_1 extends {
26
+ name: string;
27
+ displayName?: string | undefined;
28
+ description?: string | undefined;
29
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
30
+ _methods?: Record<never, never> | undefined;
31
+ read?: {} | undefined;
32
+ store?: {} | undefined;
33
+ index?: {} | undefined;
34
+ cache?: {} | undefined;
35
+ id?: {} | undefined;
36
+ }>(plugin: NewPlugin_1) => Promise<{
37
+ plugins: [...any[], NewPlugin, NewPlugin_1];
38
+ invoke: any;
39
+ addPlugin: <NewPlugin_2 extends {
40
+ name: string;
41
+ displayName?: string | undefined;
42
+ description?: string | undefined;
43
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
44
+ _methods?: Record<never, never> | undefined;
45
+ read?: {} | undefined;
46
+ store?: {} | undefined;
47
+ index?: {} | undefined;
48
+ cache?: {} | undefined;
49
+ id?: {} | undefined;
50
+ }>(plugin: NewPlugin_2) => Promise<{
51
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2];
52
+ invoke: any;
53
+ addPlugin: <NewPlugin_3 extends {
54
+ name: string;
55
+ displayName?: string | undefined;
56
+ description?: string | undefined;
57
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
58
+ _methods?: Record<never, never> | undefined;
59
+ read?: {} | undefined;
60
+ store?: {} | undefined;
61
+ index?: {} | undefined;
62
+ cache?: {} | undefined;
63
+ id?: {} | undefined;
64
+ }>(plugin: NewPlugin_3) => Promise<{
65
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2, NewPlugin_3];
66
+ invoke: any;
67
+ addPlugin: <NewPlugin_4 extends {
68
+ name: string;
69
+ displayName?: string | undefined;
70
+ description?: string | undefined;
71
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
72
+ _methods?: Record<never, never> | undefined;
73
+ read?: {} | undefined;
74
+ store?: {} | undefined;
75
+ index?: {} | undefined;
76
+ cache?: {} | undefined;
77
+ id?: {} | undefined;
78
+ }>(plugin: NewPlugin_4) => Promise<{
79
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2, NewPlugin_3, NewPlugin_4];
80
+ invoke: any;
81
+ addPlugin: <NewPlugin_5 extends {
82
+ name: string;
83
+ displayName?: string | undefined;
84
+ description?: string | undefined;
85
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
86
+ _methods?: Record<never, never> | undefined;
87
+ read?: {} | undefined;
88
+ store?: {} | undefined;
89
+ index?: {} | undefined;
90
+ cache?: {} | undefined;
91
+ id?: {} | undefined;
92
+ }>(plugin: NewPlugin_5) => Promise<{
93
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2, NewPlugin_3, NewPlugin_4, NewPlugin_5];
94
+ invoke: any;
95
+ addPlugin: <NewPlugin_6 extends {
96
+ name: string;
97
+ displayName?: string | undefined;
98
+ description?: string | undefined;
99
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
100
+ _methods?: Record<never, never> | undefined;
101
+ read?: {} | undefined;
102
+ store?: {} | undefined;
103
+ index?: {} | undefined;
104
+ cache?: {} | undefined;
105
+ id?: {} | undefined;
106
+ }>(plugin: NewPlugin_6) => Promise<{
107
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2, NewPlugin_3, NewPlugin_4, NewPlugin_5, NewPlugin_6];
108
+ invoke: any;
109
+ addPlugin: <NewPlugin_7 extends {
110
+ name: string;
111
+ displayName?: string | undefined;
112
+ description?: string | undefined;
113
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
114
+ _methods?: Record<never, never> | undefined;
115
+ read?: {} | undefined;
116
+ store?: {} | undefined;
117
+ index?: {} | undefined;
118
+ cache?: {} | undefined;
119
+ id?: {} | undefined;
120
+ }>(plugin: NewPlugin_7) => Promise<{
121
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2, NewPlugin_3, NewPlugin_4, NewPlugin_5, NewPlugin_6, NewPlugin_7];
122
+ invoke: any;
123
+ addPlugin: <NewPlugin_8 extends {
124
+ name: string;
125
+ displayName?: string | undefined;
126
+ description?: string | undefined;
127
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
128
+ _methods?: Record<never, never> | undefined;
129
+ read?: {} | undefined;
130
+ store?: {} | undefined;
131
+ index?: {} | undefined;
132
+ cache?: {} | undefined;
133
+ id?: {} | undefined;
134
+ }>(plugin: NewPlugin_8) => Promise<{
135
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2, NewPlugin_3, NewPlugin_4, NewPlugin_5, NewPlugin_6, NewPlugin_7, NewPlugin_8];
136
+ invoke: any;
137
+ addPlugin: <NewPlugin_9 extends {
138
+ name: string;
139
+ displayName?: string | undefined;
140
+ description?: string | undefined;
141
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
142
+ _methods?: Record<never, never> | undefined;
143
+ read?: {} | undefined;
144
+ store?: {} | undefined;
145
+ index?: {} | undefined;
146
+ cache?: {} | undefined;
147
+ id?: {} | undefined;
148
+ }>(plugin: NewPlugin_9) => Promise<{
149
+ plugins: [...any[], NewPlugin, NewPlugin_1, NewPlugin_2, NewPlugin_3, NewPlugin_4, NewPlugin_5, NewPlugin_6, NewPlugin_7, NewPlugin_8, NewPlugin_9];
150
+ invoke: any;
151
+ addPlugin: <NewPlugin_10 extends {
152
+ name: string;
153
+ displayName?: string | undefined;
154
+ description?: string | undefined;
155
+ methods: import("@learncard/core/dist/types/wallet").AddImplicitLearnCardArgument<Record<never, never>, any, Record<never, never>, never, Record<never, never>>;
156
+ _methods?: Record<never, never> | undefined;
157
+ read?: {} | undefined;
158
+ store?: {} | undefined;
159
+ index?: {} | undefined;
160
+ cache?: {} | undefined;
161
+ id?: {} | undefined;
162
+ }>(plugin: NewPlugin_10) => Promise<any>;
163
+ debug?: {
164
+ (...data: any[]): void;
165
+ (message?: any, ...optionalParams: any[]): void;
166
+ } | undefined;
167
+ }>;
168
+ debug?: {
169
+ (...data: any[]): void;
170
+ (message?: any, ...optionalParams: any[]): void;
171
+ } | undefined;
172
+ }>;
173
+ debug?: {
174
+ (...data: any[]): void;
175
+ (message?: any, ...optionalParams: any[]): void;
176
+ } | undefined;
177
+ }>;
178
+ debug?: {
179
+ (...data: any[]): void;
180
+ (message?: any, ...optionalParams: any[]): void;
181
+ } | undefined;
182
+ }>;
183
+ debug?: {
184
+ (...data: any[]): void;
185
+ (message?: any, ...optionalParams: any[]): void;
186
+ } | undefined;
187
+ }>;
188
+ debug?: {
189
+ (...data: any[]): void;
190
+ (message?: any, ...optionalParams: any[]): void;
191
+ } | undefined;
192
+ }>;
193
+ debug?: {
194
+ (...data: any[]): void;
195
+ (message?: any, ...optionalParams: any[]): void;
196
+ } | undefined;
197
+ }>;
198
+ debug?: {
199
+ (...data: any[]): void;
200
+ (message?: any, ...optionalParams: any[]): void;
201
+ } | undefined;
202
+ }>;
203
+ debug?: {
204
+ (...data: any[]): void;
205
+ (message?: any, ...optionalParams: any[]): void;
206
+ } | undefined;
207
+ }>;
208
+ debug?: {
209
+ (...data: any[]): void;
210
+ (message?: any, ...optionalParams: any[]): void;
211
+ } | undefined;
212
+ }>;
213
+ debug?: {
214
+ (...data: any[]): void;
215
+ (message?: any, ...optionalParams: any[]): void;
216
+ } | undefined;
217
+ }, key: string, defaultDidMethod: DidMethod) => Promise<DidKeyPlugin<DidMethod>>;
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ if (process.env.NODE_ENV === 'production') {
4
+ module.exports = require('./didkey-plugin.cjs.production.min.js');
5
+ } else {
6
+ module.exports = require('./didkey-plugin.cjs.development.js');
7
+ }
@@ -0,0 +1,18 @@
1
+ import { Plugin } from '@learncard/core';
2
+ import { JWK } from '@learncard/types';
3
+ /** @group DidKey Plugin */
4
+ export type Algorithm = 'ed25519' | 'secp256k1';
5
+ /** @group DidKey Plugin */
6
+ export type DependentMethods<DidMethod extends string> = {
7
+ generateEd25519KeyFromBytes: (bytes: Uint8Array) => JWK;
8
+ generateSecp256k1KeyFromBytes: (bytes: Uint8Array) => JWK;
9
+ keyToDid: (method: DidMethod, keypair: JWK) => string;
10
+ };
11
+ /** @group DidKey Plugin */
12
+ export type DidKeyPluginMethods<DidMethod extends string> = {
13
+ getSubjectDid: (method?: DidMethod) => string;
14
+ getSubjectKeypair: (algorithm?: Algorithm) => JWK;
15
+ getKey: () => string;
16
+ };
17
+ /** @group DidKey Plugin */
18
+ export type DidKeyPlugin<DidMethod extends string = string> = Plugin<'DID Key', 'id', DidKeyPluginMethods<DidMethod>, any, DependentMethods<DidMethod>>;
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@learncard/didkey-plugin",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/didkey-plugin.esm.js",
7
+ "private": false,
8
+ "files": [
9
+ "dist"
10
+ ],
11
+ "author": "Learning Economy Foundation (www.learningeconomy.io)",
12
+ "license": "MIT",
13
+ "homepage": "https://github.com/WeLibraryOS/LearnCard#readme",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/WeLibraryOS/LearnCard.git"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/WeLibraryOS/LearnCard/issues"
20
+ },
21
+ "devDependencies": {
22
+ "@types/jest": "^29.2.2",
23
+ "@types/node": "^17.0.31",
24
+ "aqu": "0.4.3",
25
+ "esbuild": "^0.14.38",
26
+ "esbuild-jest": "^0.5.0",
27
+ "esbuild-plugin-copy": "^1.3.0",
28
+ "jest": "^29.3.0",
29
+ "shx": "^0.3.4",
30
+ "ts-jest": "^29.0.3",
31
+ "@learncard/types": "5.3.0"
32
+ },
33
+ "types": "./dist/index.d.ts",
34
+ "dependencies": {
35
+ "hex-lite": "^1.5.0",
36
+ "@learncard/core": "9.0.0",
37
+ "@learncard/helpers": "^1.0.4"
38
+ },
39
+ "scripts": {
40
+ "build": "node ./scripts/build.mjs && shx cp ./scripts/mixedEntypoint.js ./dist/index.js && tsc --p tsconfig.json",
41
+ "test": "jest --passWithNoTests",
42
+ "test:watch": "jest --watch",
43
+ "test:coverage": "jest --silent --ci --coverage --coverageReporters=\"text\" --coverageReporters=\"text-summary\""
44
+ }
45
+ }