@sphereon/ssi-sdk.qr-code-generator 0.33.1-next.3 → 0.33.1-next.68
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.cjs +208 -0
- package/dist/index.cjs.map +1 -0
- package/dist/{types/IQRCodeGenerator.d.ts → index.d.cts} +46 -23
- package/dist/index.d.ts +113 -4
- package/dist/index.js +174 -19
- package/dist/index.js.map +1 -1
- package/package.json +22 -14
- package/dist/agent/QrCodeProvider.d.ts +0 -23
- package/dist/agent/QrCodeProvider.d.ts.map +0 -1
- package/dist/agent/QrCodeProvider.js +0 -109
- package/dist/agent/QrCodeProvider.js.map +0 -1
- package/dist/agent/utils/didcomm-oob-message.d.ts +0 -6
- package/dist/agent/utils/didcomm-oob-message.d.ts.map +0 -1
- package/dist/agent/utils/didcomm-oob-message.js +0 -17
- package/dist/agent/utils/didcomm-oob-message.js.map +0 -1
- package/dist/agent/utils/index.d.ts +0 -3
- package/dist/agent/utils/index.d.ts.map +0 -1
- package/dist/agent/utils/index.js +0 -22
- package/dist/agent/utils/index.js.map +0 -1
- package/dist/agent/utils/react-qr.d.ts +0 -6
- package/dist/agent/utils/react-qr.d.ts.map +0 -1
- package/dist/agent/utils/react-qr.js +0 -62
- package/dist/agent/utils/react-qr.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/types/IQRCodeGenerator.d.ts.map +0 -1
- package/dist/types/IQRCodeGenerator.js +0 -23
- package/dist/types/IQRCodeGenerator.js.map +0 -1
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
|
|
31
|
+
// src/index.ts
|
|
32
|
+
var index_exports = {};
|
|
33
|
+
__export(index_exports, {
|
|
34
|
+
QRType: () => QRType,
|
|
35
|
+
QrCodeProvider: () => QrCodeProvider,
|
|
36
|
+
StatusCode: () => StatusCode,
|
|
37
|
+
events: () => events
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(index_exports);
|
|
40
|
+
|
|
41
|
+
// src/types/IQRCodeGenerator.ts
|
|
42
|
+
var QRType = /* @__PURE__ */ function(QRType2) {
|
|
43
|
+
QRType2["URI"] = "uri";
|
|
44
|
+
QRType2["SIOPV2"] = "openid-vc";
|
|
45
|
+
QRType2["DIDCOMM_V2_OOB_INVITATION"] = "https://didcomm.org/out-of-band/2.0/invitation";
|
|
46
|
+
QRType2["OpenID4VCI"] = "openid-credential-offer";
|
|
47
|
+
return QRType2;
|
|
48
|
+
}({});
|
|
49
|
+
var StatusCode = /* @__PURE__ */ function(StatusCode2) {
|
|
50
|
+
StatusCode2["OK"] = "OK";
|
|
51
|
+
StatusCode2["CREATED"] = "CREATED";
|
|
52
|
+
return StatusCode2;
|
|
53
|
+
}({});
|
|
54
|
+
var events = /* @__PURE__ */ function(events2) {
|
|
55
|
+
events2["QR_CODE_CODE_CREATED"] = "QrCodeCreated";
|
|
56
|
+
return events2;
|
|
57
|
+
}({});
|
|
58
|
+
|
|
59
|
+
// src/agent/utils/react-qr.tsx
|
|
60
|
+
var import_react_qr_code = __toESM(require("react-qr-code"), 1);
|
|
61
|
+
var import_react = __toESM(require("react"), 1);
|
|
62
|
+
async function generateQRCodeValueImpl(args, orig, context) {
|
|
63
|
+
const { onGenerate } = orig;
|
|
64
|
+
const { id } = orig.data;
|
|
65
|
+
const value = args.data.object;
|
|
66
|
+
const result = {
|
|
67
|
+
id,
|
|
68
|
+
value,
|
|
69
|
+
data: orig.data,
|
|
70
|
+
renderingProps: "renderingProps" in orig ? orig.renderingProps : void 0,
|
|
71
|
+
context
|
|
72
|
+
};
|
|
73
|
+
if (onGenerate) {
|
|
74
|
+
onGenerate(result);
|
|
75
|
+
}
|
|
76
|
+
if (context) {
|
|
77
|
+
context.agent.emit(events.QR_CODE_CODE_CREATED, result);
|
|
78
|
+
}
|
|
79
|
+
return result;
|
|
80
|
+
}
|
|
81
|
+
__name(generateQRCodeValueImpl, "generateQRCodeValueImpl");
|
|
82
|
+
async function generateQRCodeReactElement(args, context) {
|
|
83
|
+
return generateQRCodeReactElementImpl(args, args, context);
|
|
84
|
+
}
|
|
85
|
+
__name(generateQRCodeReactElement, "generateQRCodeReactElement");
|
|
86
|
+
async function generateQRCodeReactElementImpl(args, orig, context) {
|
|
87
|
+
const { renderingProps } = args;
|
|
88
|
+
const { bgColor, fgColor, level, size, title } = renderingProps;
|
|
89
|
+
const result = await generateQRCodeValueImpl(args, orig, context);
|
|
90
|
+
return /* @__PURE__ */ import_react.default.createElement(import_react_qr_code.default, {
|
|
91
|
+
value: result.value,
|
|
92
|
+
bgColor,
|
|
93
|
+
fgColor,
|
|
94
|
+
level,
|
|
95
|
+
size,
|
|
96
|
+
title
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
__name(generateQRCodeReactElementImpl, "generateQRCodeReactElementImpl");
|
|
100
|
+
|
|
101
|
+
// src/agent/utils/didcomm-oob-message.tsx
|
|
102
|
+
var import_base64url = __toESM(require("base64url"), 1);
|
|
103
|
+
var DidCommOutOfBandMessage = class {
|
|
104
|
+
static {
|
|
105
|
+
__name(this, "DidCommOutOfBandMessage");
|
|
106
|
+
}
|
|
107
|
+
static toJson(props) {
|
|
108
|
+
return JSON.stringify(props).replace("goalCode", "goal-code");
|
|
109
|
+
}
|
|
110
|
+
static urlEncode(payload) {
|
|
111
|
+
return (0, import_base64url.default)(this.toJson(payload));
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
// src/agent/QrCodeProvider.tsx
|
|
116
|
+
var QrCodeProvider = class _QrCodeProvider {
|
|
117
|
+
static {
|
|
118
|
+
__name(this, "QrCodeProvider");
|
|
119
|
+
}
|
|
120
|
+
methods = {
|
|
121
|
+
qrDIDCommOobInvitationElement: _QrCodeProvider.qrDIDCommOobInvitationElement.bind(this),
|
|
122
|
+
qrDIDCommOobInvitationValue: _QrCodeProvider.qrDIDCommOobInvitationValue.bind(this),
|
|
123
|
+
qrSIOPv2Element: _QrCodeProvider.qrSIOPv2Element.bind(this),
|
|
124
|
+
qrSIOPv2Value: _QrCodeProvider.qrSIOPv2Value.bind(this),
|
|
125
|
+
qrURIElement: _QrCodeProvider.qrURIElement.bind(this),
|
|
126
|
+
qrOpenID4VCIElement: _QrCodeProvider.qrOpenID4VCIElement.bind(this),
|
|
127
|
+
qrOpenID4VCIValue: _QrCodeProvider.qrOpenID4VCIValue.bind(this)
|
|
128
|
+
};
|
|
129
|
+
/** {@inheritDoc IQRCodeGenerator.uriElement} */
|
|
130
|
+
static async qrURIElement(args, context) {
|
|
131
|
+
return generateQRCodeReactElement(args, context);
|
|
132
|
+
}
|
|
133
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */
|
|
134
|
+
static async qrDIDCommOobInvitationValue(args, context) {
|
|
135
|
+
const { object } = args.data;
|
|
136
|
+
const encoded = DidCommOutOfBandMessage.urlEncode(object.oobInvitation);
|
|
137
|
+
const delim = object.baseURI.includes("?") ? "&" : "?";
|
|
138
|
+
return object.baseURI.includes("oob=") ? object.baseURI.replace("oob=", `oob=${encoded}`) : `${object.baseURI}${delim}_oob=${encoded}`;
|
|
139
|
+
}
|
|
140
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */
|
|
141
|
+
static async qrDIDCommOobInvitationElement(args, context) {
|
|
142
|
+
const content = await _QrCodeProvider.qrDIDCommOobInvitationValue(args, context);
|
|
143
|
+
return generateQRCodeReactElementImpl({
|
|
144
|
+
...args,
|
|
145
|
+
data: {
|
|
146
|
+
...args.data,
|
|
147
|
+
object: content
|
|
148
|
+
}
|
|
149
|
+
}, args, context);
|
|
150
|
+
}
|
|
151
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Value} */
|
|
152
|
+
static async qrSIOPv2Value(args, context) {
|
|
153
|
+
const { object } = args.data;
|
|
154
|
+
if (typeof object === "string") {
|
|
155
|
+
return object;
|
|
156
|
+
}
|
|
157
|
+
const scheme = (object.scheme ?? "openid-vc://").replace("://?", "").replace("://", "") + "://";
|
|
158
|
+
const requestUri = `request_uri=${object.requestUri.replace("request_uri=", "")}`;
|
|
159
|
+
return `${scheme}?${requestUri}`;
|
|
160
|
+
}
|
|
161
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Element} */
|
|
162
|
+
static async qrSIOPv2Element(args, context) {
|
|
163
|
+
const content = await _QrCodeProvider.qrSIOPv2Value(args, context);
|
|
164
|
+
return generateQRCodeReactElementImpl({
|
|
165
|
+
...args,
|
|
166
|
+
data: {
|
|
167
|
+
...args.data,
|
|
168
|
+
object: content
|
|
169
|
+
}
|
|
170
|
+
}, args, context);
|
|
171
|
+
}
|
|
172
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */
|
|
173
|
+
static async qrOpenID4VCIElement(args, context) {
|
|
174
|
+
const content = await _QrCodeProvider.qrOpenID4VCIValue(args, context);
|
|
175
|
+
return generateQRCodeReactElementImpl({
|
|
176
|
+
...args,
|
|
177
|
+
data: {
|
|
178
|
+
...args.data,
|
|
179
|
+
object: content
|
|
180
|
+
}
|
|
181
|
+
}, args, context);
|
|
182
|
+
}
|
|
183
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */
|
|
184
|
+
static async qrOpenID4VCIValue(args, context) {
|
|
185
|
+
const { object } = args.data;
|
|
186
|
+
if (!object.credentialOffer && !object.credentialOfferUri) {
|
|
187
|
+
throw new Error("Please provide credential_offer or credential_offer_uri");
|
|
188
|
+
}
|
|
189
|
+
const scheme = (object.scheme ?? "openid-credential-offer://").replace("://?", "").replace("://", "") + "://";
|
|
190
|
+
const baseUri = object.baseUri ?? "";
|
|
191
|
+
let url;
|
|
192
|
+
const splitBaseUri = baseUri.split("://");
|
|
193
|
+
const hasScheme = splitBaseUri.length > 1;
|
|
194
|
+
if (hasScheme && object.scheme) {
|
|
195
|
+
if (splitBaseUri[0] !== object.scheme) {
|
|
196
|
+
throw new Error("The uri must contain the same scheme or omit it");
|
|
197
|
+
}
|
|
198
|
+
url = `${baseUri}`;
|
|
199
|
+
} else {
|
|
200
|
+
url = `${scheme}${baseUri}`;
|
|
201
|
+
}
|
|
202
|
+
const credentialOfferUri = `?credential_offer_uri=${object.credentialOfferUri?.replace("credential_offer_uri=", "")}`;
|
|
203
|
+
const credentialOffer = `?credential_offer=${object.credentialOffer?.replace("credential_offer=", "")}`;
|
|
204
|
+
const value = object.credentialOffer ? credentialOffer : credentialOfferUri;
|
|
205
|
+
return `${url}${value}`;
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/types/IQRCodeGenerator.ts","../src/agent/utils/react-qr.tsx","../src/agent/utils/didcomm-oob-message.tsx","../src/agent/QrCodeProvider.tsx"],"sourcesContent":["/**\n * @public\n */\n\nexport * from './agent/QrCodeProvider'\nexport * from './types/IQRCodeGenerator'\n","import { IAgentContext, IPluginMethodMap } from '@veramo/core'\n\nexport interface IQRCodeGenerator extends IPluginMethodMap {\n qrDIDCommOobInvitationElement(\n args: CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<JSX.Element>\n\n qrDIDCommOobInvitationValue(\n args: CreateValueArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<string>\n\n qrSIOPv2Element(args: CreateElementArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<JSX.Element>\n\n qrSIOPv2Value(args: CreateValueArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<string>\n\n qrURIElement(args: CreateElementArgs<QRType.URI, URIData>, context: IRequiredContext): Promise<JSX.Element>\n\n qrOpenID4VCIElement(args: CreateElementArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<JSX.Element>\n qrOpenID4VCIValue(args: CreateValueArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<string>\n}\n\nexport interface CreateValueArgs<T extends QRType, D> {\n onGenerate?: (result: ValueResult<T, D>) => void\n data: QRData<T, D>\n}\n\nexport interface CreateElementArgs<T extends QRType, D> extends CreateValueArgs<T, D> {\n renderingProps: QRRenderingProps\n}\n\nexport interface ValueResult<T extends QRType, D> {\n id: string\n value: string\n data: QRData<T, D>\n renderingProps?: QRRenderingProps\n context?: IRequiredContext\n}\n\nexport enum QRType {\n URI = 'uri',\n SIOPV2 = 'openid-vc',\n DIDCOMM_V2_OOB_INVITATION = 'https://didcomm.org/out-of-band/2.0/invitation',\n OpenID4VCI = 'openid-credential-offer',\n}\n\nexport type SIOPv2Scheme = 'openid' | 'openid-vc' | string\nexport interface SIOPv2DataWithScheme {\n scheme?: SIOPv2Scheme\n requestUri: string\n}\n\nexport type OpenID4VCIScheme = 'openid-credential-offer' | 'https' | string\nexport interface OpenID4VCIDataWithScheme {\n scheme?: OpenID4VCIScheme\n baseUri?: string\n credentialOfferUri?: string\n credentialOffer?: string\n}\n\nexport interface DIDCommV2OOBInvitationData {\n baseURI: string\n oobInvitation: DIDCommV2OOBInvitation\n}\n\n/**\n * {\n * \"type\": \"https://didcomm.org/out-of-band/2.0/invitation\",\n * \"id\": \"599f3638-b563-4937-9487-dfe55099d900\",\n * \"from\": \"did:example:verifier\",\n * \"body\": {\n * \"goal_code\": \"streamlined-vp\",\n * \"accept\": ['didcomm/v2']\n * }\n * }\n */\nexport interface DIDCommV2OOBInvitation {\n type: 'https://didcomm.org/out-of-band/2.0/invitation'\n id: string\n from: DID\n\n body: Body\n}\n\nexport type URIData = string\n\nexport type DID = string\n\nexport interface Body {\n goal_code: GoalCode\n accept: [AcceptMode]\n}\n\nexport type GoalCode = 'streamlined-vp' | 'streamlined-vc'\n\nexport type AcceptMode = 'didcomm/v2' | string\n\n/*OIDC4VP = 'oidc4vp',\nSIOPV2_WITH_OIDC4VP = 'siopv2+oidc4vp',\nSIOP_V2 = 'siopv2',*/\n\nexport enum StatusCode {\n OK = 'OK',\n CREATED = 'CREATED',\n}\n\nexport interface QRData<T extends QRType, D> {\n id: string\n type: T\n object: D\n}\n\nexport interface QRRenderingProps {\n bgColor?: string\n fgColor?: string\n level?: 'L' | 'M' | 'Q' | 'H'\n size?: number\n title?: string\n}\n\nexport enum events {\n QR_CODE_CODE_CREATED = 'QrCodeCreated',\n}\n\nexport type IRequiredContext = IAgentContext<Record<string, never>>\n","import { CreateElementArgs, CreateValueArgs, events, IRequiredContext, QRType, ValueResult } from '../../types/IQRCodeGenerator'\nimport QRCode from 'react-qr-code'\nimport React from 'react'\n\nexport async function generateQRCodeValue<T extends QRType>(\n args: CreateValueArgs<T, string> | CreateElementArgs<T, string>,\n context?: IRequiredContext,\n): Promise<ValueResult<T, string>> {\n return generateQRCodeValueImpl(args, args, context)\n}\n\nexport async function generateQRCodeValueImpl<T extends QRType>(\n args: CreateValueArgs<T, string> | CreateElementArgs<T, string>,\n orig: CreateValueArgs<T, any> | CreateElementArgs<T, any>,\n context?: IRequiredContext,\n): Promise<ValueResult<T, string>> {\n const { onGenerate } = orig\n const { id } = orig.data\n\n const value = args.data.object\n\n const result: ValueResult<T, string> = {\n id,\n value,\n data: orig.data,\n renderingProps: 'renderingProps' in orig ? orig.renderingProps : undefined,\n context,\n }\n\n if (onGenerate) {\n onGenerate(result)\n }\n if (context) {\n context.agent.emit(events.QR_CODE_CODE_CREATED, result)\n }\n\n return result\n}\n\nexport async function generateQRCodeReactElement<T extends QRType>(\n args: CreateElementArgs<T, string>,\n context: IRequiredContext,\n): Promise<JSX.Element> {\n return generateQRCodeReactElementImpl(args, args, context)\n}\n\nexport async function generateQRCodeReactElementImpl<T extends QRType>(\n args: CreateElementArgs<T, string>,\n orig: CreateElementArgs<T, any>,\n context: IRequiredContext,\n): Promise<JSX.Element> {\n const { renderingProps } = args\n const { bgColor, fgColor, level, size, title } = renderingProps\n const result: ValueResult<T, string> = await generateQRCodeValueImpl(args, orig, context)\n\n // @ts-ignore\n return <QRCode value={result.value} bgColor={bgColor} fgColor={fgColor} level={level} size={size} title={title} />\n}\n","import { DIDCommV2OOBInvitation } from '../../types/IQRCodeGenerator'\nimport base64url from 'base64url'\n\nexport class DidCommOutOfBandMessage {\n public static toJson(props: DIDCommV2OOBInvitation): string {\n return JSON.stringify(props).replace('goalCode', 'goal-code')\n }\n\n public static urlEncode(payload: DIDCommV2OOBInvitation) {\n return base64url(this.toJson(payload))\n }\n}\n","import { IAgentPlugin } from '@veramo/core'\n\nimport {\n CreateElementArgs,\n CreateValueArgs,\n DIDCommV2OOBInvitationData,\n IQRCodeGenerator,\n IRequiredContext,\n OpenID4VCIDataWithScheme,\n QRType,\n SIOPv2DataWithScheme,\n URIData,\n} from '../types/IQRCodeGenerator'\nimport { DidCommOutOfBandMessage, generateQRCodeReactElement } from './utils'\nimport { generateQRCodeReactElementImpl } from './utils/react-qr'\n\n/**\n * {@inheritDoc IQRCodeGenerator}\n */\nexport class QrCodeProvider implements IAgentPlugin {\n readonly methods: IQRCodeGenerator = {\n qrDIDCommOobInvitationElement: QrCodeProvider.qrDIDCommOobInvitationElement.bind(this),\n qrDIDCommOobInvitationValue: QrCodeProvider.qrDIDCommOobInvitationValue.bind(this),\n qrSIOPv2Element: QrCodeProvider.qrSIOPv2Element.bind(this),\n qrSIOPv2Value: QrCodeProvider.qrSIOPv2Value.bind(this),\n qrURIElement: QrCodeProvider.qrURIElement.bind(this),\n qrOpenID4VCIElement: QrCodeProvider.qrOpenID4VCIElement.bind(this),\n qrOpenID4VCIValue: QrCodeProvider.qrOpenID4VCIValue.bind(this),\n }\n\n /** {@inheritDoc IQRCodeGenerator.uriElement} */\n\n private static async qrURIElement(args: CreateElementArgs<QRType.URI, URIData>, context: IRequiredContext): Promise<JSX.Element> {\n return generateQRCodeReactElement(args, context)\n }\n\n /** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */\n private static async qrDIDCommOobInvitationValue(\n args: CreateValueArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<string> {\n const { object } = args.data\n const encoded = DidCommOutOfBandMessage.urlEncode(object.oobInvitation)\n const delim = object.baseURI.includes('?') ? '&' : '?'\n return object.baseURI.includes('oob=') ? object.baseURI.replace('oob=', `oob=${encoded}`) : `${object.baseURI}${delim}_oob=${encoded}`\n }\n\n /** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */\n private static async qrDIDCommOobInvitationElement(\n args: CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<JSX.Element> {\n const content = await QrCodeProvider.qrDIDCommOobInvitationValue(args, context)\n return generateQRCodeReactElementImpl(\n {\n ...args,\n data: { ...args.data, object: content },\n } as CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, string>,\n args,\n context,\n )\n }\n\n /** {@inheritDoc IQRCodeGenerator.siopv2Value} */\n private static async qrSIOPv2Value(args: CreateValueArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<string> {\n const { object } = args.data\n if (typeof object === 'string') {\n return object\n }\n\n const scheme = (object.scheme ?? 'openid-vc://').replace('://?', '').replace('://', '') + '://'\n const requestUri = `request_uri=${object.requestUri.replace('request_uri=', '')}`\n return `${scheme}?${requestUri}`\n }\n\n /** {@inheritDoc IQRCodeGenerator.siopv2Element} */\n private static async qrSIOPv2Element(\n args: CreateElementArgs<QRType.SIOPV2, SIOPv2DataWithScheme>,\n context: IRequiredContext,\n ): Promise<JSX.Element> {\n const content = await QrCodeProvider.qrSIOPv2Value(args, context)\n return generateQRCodeReactElementImpl(\n { ...args, data: { ...args.data, object: content } } as CreateElementArgs<QRType.SIOPV2, string>,\n args,\n context,\n )\n }\n\n /** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */\n private static async qrOpenID4VCIElement(args: CreateElementArgs<QRType.OpenID4VCI, any>, context: IRequiredContext): Promise<JSX.Element> {\n const content = await QrCodeProvider.qrOpenID4VCIValue(args, context)\n return generateQRCodeReactElementImpl(\n { ...args, data: { ...args.data, object: content } } as CreateElementArgs<QRType.OpenID4VCI, string>,\n args,\n context,\n )\n }\n\n /** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */\n private static async qrOpenID4VCIValue(\n args: CreateValueArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>,\n context: IRequiredContext,\n ): Promise<string> {\n const { object } = args.data\n if (!object.credentialOffer && !object.credentialOfferUri) {\n throw new Error('Please provide credential_offer or credential_offer_uri')\n }\n const scheme = (object.scheme ?? 'openid-credential-offer://').replace('://?', '').replace('://', '') + '://'\n const baseUri = object.baseUri ?? ''\n let url\n const splitBaseUri = baseUri.split('://')\n const hasScheme = splitBaseUri.length > 1\n if (hasScheme && object.scheme) {\n if (splitBaseUri[0] !== object.scheme) {\n throw new Error('The uri must contain the same scheme or omit it')\n }\n url = `${baseUri}`\n } else {\n url = `${scheme}${baseUri}`\n }\n const credentialOfferUri = `?credential_offer_uri=${object.credentialOfferUri?.replace('credential_offer_uri=', '')}`\n const credentialOffer = `?credential_offer=${object.credentialOffer?.replace('credential_offer=', '')}`\n const value = object.credentialOffer ? credentialOffer : credentialOfferUri\n return `${url}${value}`\n }\n}\n"],"mappings":"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","names":["QRType","StatusCode","events","generateQRCodeValueImpl","args","orig","context","onGenerate","id","data","value","object","result","renderingProps","undefined","agent","emit","events","QR_CODE_CODE_CREATED","generateQRCodeReactElement","generateQRCodeReactElementImpl","bgColor","fgColor","level","size","title","React","QRCode","DidCommOutOfBandMessage","toJson","props","JSON","stringify","replace","urlEncode","payload","base64url","QrCodeProvider","methods","qrDIDCommOobInvitationElement","bind","qrDIDCommOobInvitationValue","qrSIOPv2Element","qrSIOPv2Value","qrURIElement","qrOpenID4VCIElement","qrOpenID4VCIValue","args","context","generateQRCodeReactElement","object","data","encoded","DidCommOutOfBandMessage","urlEncode","oobInvitation","delim","baseURI","includes","replace","content","generateQRCodeReactElementImpl","scheme","requestUri","credentialOffer","credentialOfferUri","Error","baseUri","url","splitBaseUri","split","hasScheme","length","value"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { IAgentContext,
|
|
2
|
-
|
|
1
|
+
import { IPluginMethodMap, IAgentContext, IAgentPlugin } from '@veramo/core';
|
|
2
|
+
|
|
3
|
+
interface IQRCodeGenerator extends IPluginMethodMap {
|
|
3
4
|
qrDIDCommOobInvitationElement(args: CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>, context: IRequiredContext): Promise<JSX.Element>;
|
|
4
5
|
qrDIDCommOobInvitationValue(args: CreateValueArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>, context: IRequiredContext): Promise<string>;
|
|
5
6
|
qrSIOPv2Element(args: CreateElementArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<JSX.Element>;
|
|
@@ -8,39 +9,39 @@ export interface IQRCodeGenerator extends IPluginMethodMap {
|
|
|
8
9
|
qrOpenID4VCIElement(args: CreateElementArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<JSX.Element>;
|
|
9
10
|
qrOpenID4VCIValue(args: CreateValueArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<string>;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
+
interface CreateValueArgs<T extends QRType, D> {
|
|
12
13
|
onGenerate?: (result: ValueResult<T, D>) => void;
|
|
13
14
|
data: QRData<T, D>;
|
|
14
15
|
}
|
|
15
|
-
|
|
16
|
+
interface CreateElementArgs<T extends QRType, D> extends CreateValueArgs<T, D> {
|
|
16
17
|
renderingProps: QRRenderingProps;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
interface ValueResult<T extends QRType, D> {
|
|
19
20
|
id: string;
|
|
20
21
|
value: string;
|
|
21
22
|
data: QRData<T, D>;
|
|
22
23
|
renderingProps?: QRRenderingProps;
|
|
23
24
|
context?: IRequiredContext;
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
+
declare enum QRType {
|
|
26
27
|
URI = "uri",
|
|
27
28
|
SIOPV2 = "openid-vc",
|
|
28
29
|
DIDCOMM_V2_OOB_INVITATION = "https://didcomm.org/out-of-band/2.0/invitation",
|
|
29
30
|
OpenID4VCI = "openid-credential-offer"
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
type SIOPv2Scheme = 'openid' | 'openid-vc' | string;
|
|
33
|
+
interface SIOPv2DataWithScheme {
|
|
33
34
|
scheme?: SIOPv2Scheme;
|
|
34
35
|
requestUri: string;
|
|
35
36
|
}
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
type OpenID4VCIScheme = 'openid-credential-offer' | 'https' | string;
|
|
38
|
+
interface OpenID4VCIDataWithScheme {
|
|
38
39
|
scheme?: OpenID4VCIScheme;
|
|
39
40
|
baseUri?: string;
|
|
40
41
|
credentialOfferUri?: string;
|
|
41
42
|
credentialOffer?: string;
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
+
interface DIDCommV2OOBInvitationData {
|
|
44
45
|
baseURI: string;
|
|
45
46
|
oobInvitation: DIDCommV2OOBInvitation;
|
|
46
47
|
}
|
|
@@ -55,38 +56,60 @@ export interface DIDCommV2OOBInvitationData {
|
|
|
55
56
|
* }
|
|
56
57
|
* }
|
|
57
58
|
*/
|
|
58
|
-
|
|
59
|
+
interface DIDCommV2OOBInvitation {
|
|
59
60
|
type: 'https://didcomm.org/out-of-band/2.0/invitation';
|
|
60
61
|
id: string;
|
|
61
62
|
from: DID;
|
|
62
63
|
body: Body;
|
|
63
64
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
type URIData = string;
|
|
66
|
+
type DID = string;
|
|
67
|
+
interface Body {
|
|
67
68
|
goal_code: GoalCode;
|
|
68
69
|
accept: [AcceptMode];
|
|
69
70
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
type GoalCode = 'streamlined-vp' | 'streamlined-vc';
|
|
72
|
+
type AcceptMode = 'didcomm/v2' | string;
|
|
73
|
+
declare enum StatusCode {
|
|
73
74
|
OK = "OK",
|
|
74
75
|
CREATED = "CREATED"
|
|
75
76
|
}
|
|
76
|
-
|
|
77
|
+
interface QRData<T extends QRType, D> {
|
|
77
78
|
id: string;
|
|
78
79
|
type: T;
|
|
79
80
|
object: D;
|
|
80
81
|
}
|
|
81
|
-
|
|
82
|
+
interface QRRenderingProps {
|
|
82
83
|
bgColor?: string;
|
|
83
84
|
fgColor?: string;
|
|
84
85
|
level?: 'L' | 'M' | 'Q' | 'H';
|
|
85
86
|
size?: number;
|
|
86
87
|
title?: string;
|
|
87
88
|
}
|
|
88
|
-
|
|
89
|
+
declare enum events {
|
|
89
90
|
QR_CODE_CODE_CREATED = "QrCodeCreated"
|
|
90
91
|
}
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
type IRequiredContext = IAgentContext<Record<string, never>>;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* {@inheritDoc IQRCodeGenerator}
|
|
96
|
+
*/
|
|
97
|
+
declare class QrCodeProvider implements IAgentPlugin {
|
|
98
|
+
readonly methods: IQRCodeGenerator;
|
|
99
|
+
/** {@inheritDoc IQRCodeGenerator.uriElement} */
|
|
100
|
+
private static qrURIElement;
|
|
101
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */
|
|
102
|
+
private static qrDIDCommOobInvitationValue;
|
|
103
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */
|
|
104
|
+
private static qrDIDCommOobInvitationElement;
|
|
105
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Value} */
|
|
106
|
+
private static qrSIOPv2Value;
|
|
107
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Element} */
|
|
108
|
+
private static qrSIOPv2Element;
|
|
109
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */
|
|
110
|
+
private static qrOpenID4VCIElement;
|
|
111
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */
|
|
112
|
+
private static qrOpenID4VCIValue;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export { type AcceptMode, type Body, type CreateElementArgs, type CreateValueArgs, type DID, type DIDCommV2OOBInvitation, type DIDCommV2OOBInvitationData, type GoalCode, type IQRCodeGenerator, type IRequiredContext, type OpenID4VCIDataWithScheme, type OpenID4VCIScheme, type QRData, type QRRenderingProps, QRType, QrCodeProvider, type SIOPv2DataWithScheme, type SIOPv2Scheme, StatusCode, type URIData, type ValueResult, events };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,115 @@
|
|
|
1
|
+
import { IPluginMethodMap, IAgentContext, IAgentPlugin } from '@veramo/core';
|
|
2
|
+
|
|
3
|
+
interface IQRCodeGenerator extends IPluginMethodMap {
|
|
4
|
+
qrDIDCommOobInvitationElement(args: CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>, context: IRequiredContext): Promise<JSX.Element>;
|
|
5
|
+
qrDIDCommOobInvitationValue(args: CreateValueArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>, context: IRequiredContext): Promise<string>;
|
|
6
|
+
qrSIOPv2Element(args: CreateElementArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<JSX.Element>;
|
|
7
|
+
qrSIOPv2Value(args: CreateValueArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<string>;
|
|
8
|
+
qrURIElement(args: CreateElementArgs<QRType.URI, URIData>, context: IRequiredContext): Promise<JSX.Element>;
|
|
9
|
+
qrOpenID4VCIElement(args: CreateElementArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<JSX.Element>;
|
|
10
|
+
qrOpenID4VCIValue(args: CreateValueArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<string>;
|
|
11
|
+
}
|
|
12
|
+
interface CreateValueArgs<T extends QRType, D> {
|
|
13
|
+
onGenerate?: (result: ValueResult<T, D>) => void;
|
|
14
|
+
data: QRData<T, D>;
|
|
15
|
+
}
|
|
16
|
+
interface CreateElementArgs<T extends QRType, D> extends CreateValueArgs<T, D> {
|
|
17
|
+
renderingProps: QRRenderingProps;
|
|
18
|
+
}
|
|
19
|
+
interface ValueResult<T extends QRType, D> {
|
|
20
|
+
id: string;
|
|
21
|
+
value: string;
|
|
22
|
+
data: QRData<T, D>;
|
|
23
|
+
renderingProps?: QRRenderingProps;
|
|
24
|
+
context?: IRequiredContext;
|
|
25
|
+
}
|
|
26
|
+
declare enum QRType {
|
|
27
|
+
URI = "uri",
|
|
28
|
+
SIOPV2 = "openid-vc",
|
|
29
|
+
DIDCOMM_V2_OOB_INVITATION = "https://didcomm.org/out-of-band/2.0/invitation",
|
|
30
|
+
OpenID4VCI = "openid-credential-offer"
|
|
31
|
+
}
|
|
32
|
+
type SIOPv2Scheme = 'openid' | 'openid-vc' | string;
|
|
33
|
+
interface SIOPv2DataWithScheme {
|
|
34
|
+
scheme?: SIOPv2Scheme;
|
|
35
|
+
requestUri: string;
|
|
36
|
+
}
|
|
37
|
+
type OpenID4VCIScheme = 'openid-credential-offer' | 'https' | string;
|
|
38
|
+
interface OpenID4VCIDataWithScheme {
|
|
39
|
+
scheme?: OpenID4VCIScheme;
|
|
40
|
+
baseUri?: string;
|
|
41
|
+
credentialOfferUri?: string;
|
|
42
|
+
credentialOffer?: string;
|
|
43
|
+
}
|
|
44
|
+
interface DIDCommV2OOBInvitationData {
|
|
45
|
+
baseURI: string;
|
|
46
|
+
oobInvitation: DIDCommV2OOBInvitation;
|
|
47
|
+
}
|
|
1
48
|
/**
|
|
2
|
-
*
|
|
49
|
+
* {
|
|
50
|
+
* "type": "https://didcomm.org/out-of-band/2.0/invitation",
|
|
51
|
+
* "id": "599f3638-b563-4937-9487-dfe55099d900",
|
|
52
|
+
* "from": "did:example:verifier",
|
|
53
|
+
* "body": {
|
|
54
|
+
* "goal_code": "streamlined-vp",
|
|
55
|
+
* "accept": ['didcomm/v2']
|
|
56
|
+
* }
|
|
57
|
+
* }
|
|
3
58
|
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
59
|
+
interface DIDCommV2OOBInvitation {
|
|
60
|
+
type: 'https://didcomm.org/out-of-band/2.0/invitation';
|
|
61
|
+
id: string;
|
|
62
|
+
from: DID;
|
|
63
|
+
body: Body;
|
|
64
|
+
}
|
|
65
|
+
type URIData = string;
|
|
66
|
+
type DID = string;
|
|
67
|
+
interface Body {
|
|
68
|
+
goal_code: GoalCode;
|
|
69
|
+
accept: [AcceptMode];
|
|
70
|
+
}
|
|
71
|
+
type GoalCode = 'streamlined-vp' | 'streamlined-vc';
|
|
72
|
+
type AcceptMode = 'didcomm/v2' | string;
|
|
73
|
+
declare enum StatusCode {
|
|
74
|
+
OK = "OK",
|
|
75
|
+
CREATED = "CREATED"
|
|
76
|
+
}
|
|
77
|
+
interface QRData<T extends QRType, D> {
|
|
78
|
+
id: string;
|
|
79
|
+
type: T;
|
|
80
|
+
object: D;
|
|
81
|
+
}
|
|
82
|
+
interface QRRenderingProps {
|
|
83
|
+
bgColor?: string;
|
|
84
|
+
fgColor?: string;
|
|
85
|
+
level?: 'L' | 'M' | 'Q' | 'H';
|
|
86
|
+
size?: number;
|
|
87
|
+
title?: string;
|
|
88
|
+
}
|
|
89
|
+
declare enum events {
|
|
90
|
+
QR_CODE_CODE_CREATED = "QrCodeCreated"
|
|
91
|
+
}
|
|
92
|
+
type IRequiredContext = IAgentContext<Record<string, never>>;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* {@inheritDoc IQRCodeGenerator}
|
|
96
|
+
*/
|
|
97
|
+
declare class QrCodeProvider implements IAgentPlugin {
|
|
98
|
+
readonly methods: IQRCodeGenerator;
|
|
99
|
+
/** {@inheritDoc IQRCodeGenerator.uriElement} */
|
|
100
|
+
private static qrURIElement;
|
|
101
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */
|
|
102
|
+
private static qrDIDCommOobInvitationValue;
|
|
103
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */
|
|
104
|
+
private static qrDIDCommOobInvitationElement;
|
|
105
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Value} */
|
|
106
|
+
private static qrSIOPv2Value;
|
|
107
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Element} */
|
|
108
|
+
private static qrSIOPv2Element;
|
|
109
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */
|
|
110
|
+
private static qrOpenID4VCIElement;
|
|
111
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */
|
|
112
|
+
private static qrOpenID4VCIValue;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export { type AcceptMode, type Body, type CreateElementArgs, type CreateValueArgs, type DID, type DIDCommV2OOBInvitation, type DIDCommV2OOBInvitationData, type GoalCode, type IQRCodeGenerator, type IRequiredContext, type OpenID4VCIDataWithScheme, type OpenID4VCIScheme, type QRData, type QRRenderingProps, QRType, QrCodeProvider, type SIOPv2DataWithScheme, type SIOPv2Scheme, StatusCode, type URIData, type ValueResult, events };
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,177 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
|
|
4
|
+
// src/types/IQRCodeGenerator.ts
|
|
5
|
+
var QRType = /* @__PURE__ */ function(QRType2) {
|
|
6
|
+
QRType2["URI"] = "uri";
|
|
7
|
+
QRType2["SIOPV2"] = "openid-vc";
|
|
8
|
+
QRType2["DIDCOMM_V2_OOB_INVITATION"] = "https://didcomm.org/out-of-band/2.0/invitation";
|
|
9
|
+
QRType2["OpenID4VCI"] = "openid-credential-offer";
|
|
10
|
+
return QRType2;
|
|
11
|
+
}({});
|
|
12
|
+
var StatusCode = /* @__PURE__ */ function(StatusCode2) {
|
|
13
|
+
StatusCode2["OK"] = "OK";
|
|
14
|
+
StatusCode2["CREATED"] = "CREATED";
|
|
15
|
+
return StatusCode2;
|
|
16
|
+
}({});
|
|
17
|
+
var events = /* @__PURE__ */ function(events2) {
|
|
18
|
+
events2["QR_CODE_CODE_CREATED"] = "QrCodeCreated";
|
|
19
|
+
return events2;
|
|
20
|
+
}({});
|
|
21
|
+
|
|
22
|
+
// src/agent/utils/react-qr.tsx
|
|
23
|
+
import QRCode from "react-qr-code";
|
|
24
|
+
import React from "react";
|
|
25
|
+
async function generateQRCodeValueImpl(args, orig, context) {
|
|
26
|
+
const { onGenerate } = orig;
|
|
27
|
+
const { id } = orig.data;
|
|
28
|
+
const value = args.data.object;
|
|
29
|
+
const result = {
|
|
30
|
+
id,
|
|
31
|
+
value,
|
|
32
|
+
data: orig.data,
|
|
33
|
+
renderingProps: "renderingProps" in orig ? orig.renderingProps : void 0,
|
|
34
|
+
context
|
|
35
|
+
};
|
|
36
|
+
if (onGenerate) {
|
|
37
|
+
onGenerate(result);
|
|
38
|
+
}
|
|
39
|
+
if (context) {
|
|
40
|
+
context.agent.emit(events.QR_CODE_CODE_CREATED, result);
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
__name(generateQRCodeValueImpl, "generateQRCodeValueImpl");
|
|
45
|
+
async function generateQRCodeReactElement(args, context) {
|
|
46
|
+
return generateQRCodeReactElementImpl(args, args, context);
|
|
47
|
+
}
|
|
48
|
+
__name(generateQRCodeReactElement, "generateQRCodeReactElement");
|
|
49
|
+
async function generateQRCodeReactElementImpl(args, orig, context) {
|
|
50
|
+
const { renderingProps } = args;
|
|
51
|
+
const { bgColor, fgColor, level, size, title } = renderingProps;
|
|
52
|
+
const result = await generateQRCodeValueImpl(args, orig, context);
|
|
53
|
+
return /* @__PURE__ */ React.createElement(QRCode, {
|
|
54
|
+
value: result.value,
|
|
55
|
+
bgColor,
|
|
56
|
+
fgColor,
|
|
57
|
+
level,
|
|
58
|
+
size,
|
|
59
|
+
title
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
__name(generateQRCodeReactElementImpl, "generateQRCodeReactElementImpl");
|
|
63
|
+
|
|
64
|
+
// src/agent/utils/didcomm-oob-message.tsx
|
|
65
|
+
import base64url from "base64url";
|
|
66
|
+
var DidCommOutOfBandMessage = class {
|
|
67
|
+
static {
|
|
68
|
+
__name(this, "DidCommOutOfBandMessage");
|
|
69
|
+
}
|
|
70
|
+
static toJson(props) {
|
|
71
|
+
return JSON.stringify(props).replace("goalCode", "goal-code");
|
|
72
|
+
}
|
|
73
|
+
static urlEncode(payload) {
|
|
74
|
+
return base64url(this.toJson(payload));
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
// src/agent/QrCodeProvider.tsx
|
|
79
|
+
var QrCodeProvider = class _QrCodeProvider {
|
|
80
|
+
static {
|
|
81
|
+
__name(this, "QrCodeProvider");
|
|
82
|
+
}
|
|
83
|
+
methods = {
|
|
84
|
+
qrDIDCommOobInvitationElement: _QrCodeProvider.qrDIDCommOobInvitationElement.bind(this),
|
|
85
|
+
qrDIDCommOobInvitationValue: _QrCodeProvider.qrDIDCommOobInvitationValue.bind(this),
|
|
86
|
+
qrSIOPv2Element: _QrCodeProvider.qrSIOPv2Element.bind(this),
|
|
87
|
+
qrSIOPv2Value: _QrCodeProvider.qrSIOPv2Value.bind(this),
|
|
88
|
+
qrURIElement: _QrCodeProvider.qrURIElement.bind(this),
|
|
89
|
+
qrOpenID4VCIElement: _QrCodeProvider.qrOpenID4VCIElement.bind(this),
|
|
90
|
+
qrOpenID4VCIValue: _QrCodeProvider.qrOpenID4VCIValue.bind(this)
|
|
91
|
+
};
|
|
92
|
+
/** {@inheritDoc IQRCodeGenerator.uriElement} */
|
|
93
|
+
static async qrURIElement(args, context) {
|
|
94
|
+
return generateQRCodeReactElement(args, context);
|
|
95
|
+
}
|
|
96
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */
|
|
97
|
+
static async qrDIDCommOobInvitationValue(args, context) {
|
|
98
|
+
const { object } = args.data;
|
|
99
|
+
const encoded = DidCommOutOfBandMessage.urlEncode(object.oobInvitation);
|
|
100
|
+
const delim = object.baseURI.includes("?") ? "&" : "?";
|
|
101
|
+
return object.baseURI.includes("oob=") ? object.baseURI.replace("oob=", `oob=${encoded}`) : `${object.baseURI}${delim}_oob=${encoded}`;
|
|
102
|
+
}
|
|
103
|
+
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */
|
|
104
|
+
static async qrDIDCommOobInvitationElement(args, context) {
|
|
105
|
+
const content = await _QrCodeProvider.qrDIDCommOobInvitationValue(args, context);
|
|
106
|
+
return generateQRCodeReactElementImpl({
|
|
107
|
+
...args,
|
|
108
|
+
data: {
|
|
109
|
+
...args.data,
|
|
110
|
+
object: content
|
|
111
|
+
}
|
|
112
|
+
}, args, context);
|
|
113
|
+
}
|
|
114
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Value} */
|
|
115
|
+
static async qrSIOPv2Value(args, context) {
|
|
116
|
+
const { object } = args.data;
|
|
117
|
+
if (typeof object === "string") {
|
|
118
|
+
return object;
|
|
119
|
+
}
|
|
120
|
+
const scheme = (object.scheme ?? "openid-vc://").replace("://?", "").replace("://", "") + "://";
|
|
121
|
+
const requestUri = `request_uri=${object.requestUri.replace("request_uri=", "")}`;
|
|
122
|
+
return `${scheme}?${requestUri}`;
|
|
123
|
+
}
|
|
124
|
+
/** {@inheritDoc IQRCodeGenerator.siopv2Element} */
|
|
125
|
+
static async qrSIOPv2Element(args, context) {
|
|
126
|
+
const content = await _QrCodeProvider.qrSIOPv2Value(args, context);
|
|
127
|
+
return generateQRCodeReactElementImpl({
|
|
128
|
+
...args,
|
|
129
|
+
data: {
|
|
130
|
+
...args.data,
|
|
131
|
+
object: content
|
|
132
|
+
}
|
|
133
|
+
}, args, context);
|
|
134
|
+
}
|
|
135
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */
|
|
136
|
+
static async qrOpenID4VCIElement(args, context) {
|
|
137
|
+
const content = await _QrCodeProvider.qrOpenID4VCIValue(args, context);
|
|
138
|
+
return generateQRCodeReactElementImpl({
|
|
139
|
+
...args,
|
|
140
|
+
data: {
|
|
141
|
+
...args.data,
|
|
142
|
+
object: content
|
|
143
|
+
}
|
|
144
|
+
}, args, context);
|
|
145
|
+
}
|
|
146
|
+
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */
|
|
147
|
+
static async qrOpenID4VCIValue(args, context) {
|
|
148
|
+
const { object } = args.data;
|
|
149
|
+
if (!object.credentialOffer && !object.credentialOfferUri) {
|
|
150
|
+
throw new Error("Please provide credential_offer or credential_offer_uri");
|
|
10
151
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
152
|
+
const scheme = (object.scheme ?? "openid-credential-offer://").replace("://?", "").replace("://", "") + "://";
|
|
153
|
+
const baseUri = object.baseUri ?? "";
|
|
154
|
+
let url;
|
|
155
|
+
const splitBaseUri = baseUri.split("://");
|
|
156
|
+
const hasScheme = splitBaseUri.length > 1;
|
|
157
|
+
if (hasScheme && object.scheme) {
|
|
158
|
+
if (splitBaseUri[0] !== object.scheme) {
|
|
159
|
+
throw new Error("The uri must contain the same scheme or omit it");
|
|
160
|
+
}
|
|
161
|
+
url = `${baseUri}`;
|
|
162
|
+
} else {
|
|
163
|
+
url = `${scheme}${baseUri}`;
|
|
164
|
+
}
|
|
165
|
+
const credentialOfferUri = `?credential_offer_uri=${object.credentialOfferUri?.replace("credential_offer_uri=", "")}`;
|
|
166
|
+
const credentialOffer = `?credential_offer=${object.credentialOffer?.replace("credential_offer=", "")}`;
|
|
167
|
+
const value = object.credentialOffer ? credentialOffer : credentialOfferUri;
|
|
168
|
+
return `${url}${value}`;
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
export {
|
|
172
|
+
QRType,
|
|
173
|
+
QrCodeProvider,
|
|
174
|
+
StatusCode,
|
|
175
|
+
events
|
|
18
176
|
};
|
|
19
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
-
__exportStar(require("./agent/QrCodeProvider"), exports);
|
|
21
|
-
__exportStar(require("./types/IQRCodeGenerator"), exports);
|
|
22
177
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,yDAAsC;AACtC,2DAAwC"}
|
|
1
|
+
{"version":3,"sources":["../src/types/IQRCodeGenerator.ts","../src/agent/utils/react-qr.tsx","../src/agent/utils/didcomm-oob-message.tsx","../src/agent/QrCodeProvider.tsx"],"sourcesContent":["import { IAgentContext, IPluginMethodMap } from '@veramo/core'\n\nexport interface IQRCodeGenerator extends IPluginMethodMap {\n qrDIDCommOobInvitationElement(\n args: CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<JSX.Element>\n\n qrDIDCommOobInvitationValue(\n args: CreateValueArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<string>\n\n qrSIOPv2Element(args: CreateElementArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<JSX.Element>\n\n qrSIOPv2Value(args: CreateValueArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<string>\n\n qrURIElement(args: CreateElementArgs<QRType.URI, URIData>, context: IRequiredContext): Promise<JSX.Element>\n\n qrOpenID4VCIElement(args: CreateElementArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<JSX.Element>\n qrOpenID4VCIValue(args: CreateValueArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>, context: IRequiredContext): Promise<string>\n}\n\nexport interface CreateValueArgs<T extends QRType, D> {\n onGenerate?: (result: ValueResult<T, D>) => void\n data: QRData<T, D>\n}\n\nexport interface CreateElementArgs<T extends QRType, D> extends CreateValueArgs<T, D> {\n renderingProps: QRRenderingProps\n}\n\nexport interface ValueResult<T extends QRType, D> {\n id: string\n value: string\n data: QRData<T, D>\n renderingProps?: QRRenderingProps\n context?: IRequiredContext\n}\n\nexport enum QRType {\n URI = 'uri',\n SIOPV2 = 'openid-vc',\n DIDCOMM_V2_OOB_INVITATION = 'https://didcomm.org/out-of-band/2.0/invitation',\n OpenID4VCI = 'openid-credential-offer',\n}\n\nexport type SIOPv2Scheme = 'openid' | 'openid-vc' | string\nexport interface SIOPv2DataWithScheme {\n scheme?: SIOPv2Scheme\n requestUri: string\n}\n\nexport type OpenID4VCIScheme = 'openid-credential-offer' | 'https' | string\nexport interface OpenID4VCIDataWithScheme {\n scheme?: OpenID4VCIScheme\n baseUri?: string\n credentialOfferUri?: string\n credentialOffer?: string\n}\n\nexport interface DIDCommV2OOBInvitationData {\n baseURI: string\n oobInvitation: DIDCommV2OOBInvitation\n}\n\n/**\n * {\n * \"type\": \"https://didcomm.org/out-of-band/2.0/invitation\",\n * \"id\": \"599f3638-b563-4937-9487-dfe55099d900\",\n * \"from\": \"did:example:verifier\",\n * \"body\": {\n * \"goal_code\": \"streamlined-vp\",\n * \"accept\": ['didcomm/v2']\n * }\n * }\n */\nexport interface DIDCommV2OOBInvitation {\n type: 'https://didcomm.org/out-of-band/2.0/invitation'\n id: string\n from: DID\n\n body: Body\n}\n\nexport type URIData = string\n\nexport type DID = string\n\nexport interface Body {\n goal_code: GoalCode\n accept: [AcceptMode]\n}\n\nexport type GoalCode = 'streamlined-vp' | 'streamlined-vc'\n\nexport type AcceptMode = 'didcomm/v2' | string\n\n/*OIDC4VP = 'oidc4vp',\nSIOPV2_WITH_OIDC4VP = 'siopv2+oidc4vp',\nSIOP_V2 = 'siopv2',*/\n\nexport enum StatusCode {\n OK = 'OK',\n CREATED = 'CREATED',\n}\n\nexport interface QRData<T extends QRType, D> {\n id: string\n type: T\n object: D\n}\n\nexport interface QRRenderingProps {\n bgColor?: string\n fgColor?: string\n level?: 'L' | 'M' | 'Q' | 'H'\n size?: number\n title?: string\n}\n\nexport enum events {\n QR_CODE_CODE_CREATED = 'QrCodeCreated',\n}\n\nexport type IRequiredContext = IAgentContext<Record<string, never>>\n","import { CreateElementArgs, CreateValueArgs, events, IRequiredContext, QRType, ValueResult } from '../../types/IQRCodeGenerator'\nimport QRCode from 'react-qr-code'\nimport React from 'react'\n\nexport async function generateQRCodeValue<T extends QRType>(\n args: CreateValueArgs<T, string> | CreateElementArgs<T, string>,\n context?: IRequiredContext,\n): Promise<ValueResult<T, string>> {\n return generateQRCodeValueImpl(args, args, context)\n}\n\nexport async function generateQRCodeValueImpl<T extends QRType>(\n args: CreateValueArgs<T, string> | CreateElementArgs<T, string>,\n orig: CreateValueArgs<T, any> | CreateElementArgs<T, any>,\n context?: IRequiredContext,\n): Promise<ValueResult<T, string>> {\n const { onGenerate } = orig\n const { id } = orig.data\n\n const value = args.data.object\n\n const result: ValueResult<T, string> = {\n id,\n value,\n data: orig.data,\n renderingProps: 'renderingProps' in orig ? orig.renderingProps : undefined,\n context,\n }\n\n if (onGenerate) {\n onGenerate(result)\n }\n if (context) {\n context.agent.emit(events.QR_CODE_CODE_CREATED, result)\n }\n\n return result\n}\n\nexport async function generateQRCodeReactElement<T extends QRType>(\n args: CreateElementArgs<T, string>,\n context: IRequiredContext,\n): Promise<JSX.Element> {\n return generateQRCodeReactElementImpl(args, args, context)\n}\n\nexport async function generateQRCodeReactElementImpl<T extends QRType>(\n args: CreateElementArgs<T, string>,\n orig: CreateElementArgs<T, any>,\n context: IRequiredContext,\n): Promise<JSX.Element> {\n const { renderingProps } = args\n const { bgColor, fgColor, level, size, title } = renderingProps\n const result: ValueResult<T, string> = await generateQRCodeValueImpl(args, orig, context)\n\n // @ts-ignore\n return <QRCode value={result.value} bgColor={bgColor} fgColor={fgColor} level={level} size={size} title={title} />\n}\n","import { DIDCommV2OOBInvitation } from '../../types/IQRCodeGenerator'\nimport base64url from 'base64url'\n\nexport class DidCommOutOfBandMessage {\n public static toJson(props: DIDCommV2OOBInvitation): string {\n return JSON.stringify(props).replace('goalCode', 'goal-code')\n }\n\n public static urlEncode(payload: DIDCommV2OOBInvitation) {\n return base64url(this.toJson(payload))\n }\n}\n","import { IAgentPlugin } from '@veramo/core'\n\nimport {\n CreateElementArgs,\n CreateValueArgs,\n DIDCommV2OOBInvitationData,\n IQRCodeGenerator,\n IRequiredContext,\n OpenID4VCIDataWithScheme,\n QRType,\n SIOPv2DataWithScheme,\n URIData,\n} from '../types/IQRCodeGenerator'\nimport { DidCommOutOfBandMessage, generateQRCodeReactElement } from './utils'\nimport { generateQRCodeReactElementImpl } from './utils/react-qr'\n\n/**\n * {@inheritDoc IQRCodeGenerator}\n */\nexport class QrCodeProvider implements IAgentPlugin {\n readonly methods: IQRCodeGenerator = {\n qrDIDCommOobInvitationElement: QrCodeProvider.qrDIDCommOobInvitationElement.bind(this),\n qrDIDCommOobInvitationValue: QrCodeProvider.qrDIDCommOobInvitationValue.bind(this),\n qrSIOPv2Element: QrCodeProvider.qrSIOPv2Element.bind(this),\n qrSIOPv2Value: QrCodeProvider.qrSIOPv2Value.bind(this),\n qrURIElement: QrCodeProvider.qrURIElement.bind(this),\n qrOpenID4VCIElement: QrCodeProvider.qrOpenID4VCIElement.bind(this),\n qrOpenID4VCIValue: QrCodeProvider.qrOpenID4VCIValue.bind(this),\n }\n\n /** {@inheritDoc IQRCodeGenerator.uriElement} */\n\n private static async qrURIElement(args: CreateElementArgs<QRType.URI, URIData>, context: IRequiredContext): Promise<JSX.Element> {\n return generateQRCodeReactElement(args, context)\n }\n\n /** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */\n private static async qrDIDCommOobInvitationValue(\n args: CreateValueArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<string> {\n const { object } = args.data\n const encoded = DidCommOutOfBandMessage.urlEncode(object.oobInvitation)\n const delim = object.baseURI.includes('?') ? '&' : '?'\n return object.baseURI.includes('oob=') ? object.baseURI.replace('oob=', `oob=${encoded}`) : `${object.baseURI}${delim}_oob=${encoded}`\n }\n\n /** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */\n private static async qrDIDCommOobInvitationElement(\n args: CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, DIDCommV2OOBInvitationData>,\n context: IRequiredContext,\n ): Promise<JSX.Element> {\n const content = await QrCodeProvider.qrDIDCommOobInvitationValue(args, context)\n return generateQRCodeReactElementImpl(\n {\n ...args,\n data: { ...args.data, object: content },\n } as CreateElementArgs<QRType.DIDCOMM_V2_OOB_INVITATION, string>,\n args,\n context,\n )\n }\n\n /** {@inheritDoc IQRCodeGenerator.siopv2Value} */\n private static async qrSIOPv2Value(args: CreateValueArgs<QRType.SIOPV2, SIOPv2DataWithScheme>, context: IRequiredContext): Promise<string> {\n const { object } = args.data\n if (typeof object === 'string') {\n return object\n }\n\n const scheme = (object.scheme ?? 'openid-vc://').replace('://?', '').replace('://', '') + '://'\n const requestUri = `request_uri=${object.requestUri.replace('request_uri=', '')}`\n return `${scheme}?${requestUri}`\n }\n\n /** {@inheritDoc IQRCodeGenerator.siopv2Element} */\n private static async qrSIOPv2Element(\n args: CreateElementArgs<QRType.SIOPV2, SIOPv2DataWithScheme>,\n context: IRequiredContext,\n ): Promise<JSX.Element> {\n const content = await QrCodeProvider.qrSIOPv2Value(args, context)\n return generateQRCodeReactElementImpl(\n { ...args, data: { ...args.data, object: content } } as CreateElementArgs<QRType.SIOPV2, string>,\n args,\n context,\n )\n }\n\n /** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */\n private static async qrOpenID4VCIElement(args: CreateElementArgs<QRType.OpenID4VCI, any>, context: IRequiredContext): Promise<JSX.Element> {\n const content = await QrCodeProvider.qrOpenID4VCIValue(args, context)\n return generateQRCodeReactElementImpl(\n { ...args, data: { ...args.data, object: content } } as CreateElementArgs<QRType.OpenID4VCI, string>,\n args,\n context,\n )\n }\n\n /** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */\n private static async qrOpenID4VCIValue(\n args: CreateValueArgs<QRType.OpenID4VCI, OpenID4VCIDataWithScheme>,\n context: IRequiredContext,\n ): Promise<string> {\n const { object } = args.data\n if (!object.credentialOffer && !object.credentialOfferUri) {\n throw new Error('Please provide credential_offer or credential_offer_uri')\n }\n const scheme = (object.scheme ?? 'openid-credential-offer://').replace('://?', '').replace('://', '') + '://'\n const baseUri = object.baseUri ?? ''\n let url\n const splitBaseUri = baseUri.split('://')\n const hasScheme = splitBaseUri.length > 1\n if (hasScheme && object.scheme) {\n if (splitBaseUri[0] !== object.scheme) {\n throw new Error('The uri must contain the same scheme or omit it')\n }\n url = `${baseUri}`\n } else {\n url = `${scheme}${baseUri}`\n }\n const credentialOfferUri = `?credential_offer_uri=${object.credentialOfferUri?.replace('credential_offer_uri=', '')}`\n const credentialOffer = `?credential_offer=${object.credentialOffer?.replace('credential_offer=', '')}`\n const value = object.credentialOffer ? credentialOffer : credentialOfferUri\n return `${url}${value}`\n }\n}\n"],"mappings":"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","names":["QRType","StatusCode","events","QRCode","React","generateQRCodeValueImpl","args","orig","context","onGenerate","id","data","value","object","result","renderingProps","undefined","agent","emit","events","QR_CODE_CODE_CREATED","generateQRCodeReactElement","generateQRCodeReactElementImpl","bgColor","fgColor","level","size","title","QRCode","base64url","DidCommOutOfBandMessage","toJson","props","JSON","stringify","replace","urlEncode","payload","base64url","QrCodeProvider","methods","qrDIDCommOobInvitationElement","bind","qrDIDCommOobInvitationValue","qrSIOPv2Element","qrSIOPv2Value","qrURIElement","qrOpenID4VCIElement","qrOpenID4VCIValue","args","context","generateQRCodeReactElement","object","data","encoded","DidCommOutOfBandMessage","urlEncode","oobInvitation","delim","baseURI","includes","replace","content","generateQRCodeReactElementImpl","scheme","requestUri","credentialOffer","credentialOfferUri","Error","baseUri","url","splitBaseUri","split","hasScheme","length","value"]}
|
package/package.json
CHANGED
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.qr-code-generator",
|
|
3
|
-
"version": "0.33.1-next.
|
|
3
|
+
"version": "0.33.1-next.68+b6c8b366",
|
|
4
4
|
"description": "QR Code provider (react)",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.cjs",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
"react-native": "./dist/index.js",
|
|
12
|
+
"import": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"require": {
|
|
17
|
+
"types": "./dist/index.d.cts",
|
|
18
|
+
"require": "./dist/index.cjs"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
8
21
|
"veramo": {
|
|
9
22
|
"pluginInterfaces": {
|
|
10
23
|
"IQRCodeGenerator": "./src/types/IQRCodeGenerator.ts"
|
|
11
24
|
}
|
|
12
25
|
},
|
|
13
26
|
"scripts": {
|
|
14
|
-
"build": "
|
|
15
|
-
"build:clean": "tsc --build --clean && tsc --build"
|
|
27
|
+
"build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json"
|
|
16
28
|
},
|
|
17
29
|
"dependencies": {
|
|
18
30
|
"@veramo/core": "4.2.0",
|
|
@@ -22,22 +34,19 @@
|
|
|
22
34
|
},
|
|
23
35
|
"devDependencies": {
|
|
24
36
|
"@inrupt/jest-jsdom-polyfills": "^1.8.0",
|
|
25
|
-
"@sphereon/ssi-sdk.agent-config": "0.33.1-next.
|
|
37
|
+
"@sphereon/ssi-sdk.agent-config": "0.33.1-next.68+b6c8b366",
|
|
26
38
|
"@testing-library/jest-dom": "^5.17.0",
|
|
27
39
|
"@testing-library/react": "^14.3.1",
|
|
28
|
-
"@types/jest": "^27.5.2",
|
|
29
40
|
"@types/react": "^18.3.3",
|
|
30
41
|
"@types/uuid": "^9.0.8",
|
|
31
42
|
"global-jsdom": "^8.8.0",
|
|
32
|
-
"jest": "^27.5.1",
|
|
33
43
|
"jest-environment-jsdom": "^27.5.1",
|
|
34
44
|
"jsdom": "^21.1.2",
|
|
35
|
-
"react-dom": "^18.3.1"
|
|
36
|
-
"ts-jest": "^27.1.5"
|
|
45
|
+
"react-dom": "^18.3.1"
|
|
37
46
|
},
|
|
38
47
|
"files": [
|
|
39
|
-
"dist
|
|
40
|
-
"src
|
|
48
|
+
"dist",
|
|
49
|
+
"src",
|
|
41
50
|
"README.md",
|
|
42
51
|
"LICENSE"
|
|
43
52
|
],
|
|
@@ -58,6 +67,5 @@
|
|
|
58
67
|
"OpenID4VCI",
|
|
59
68
|
"QR Code"
|
|
60
69
|
],
|
|
61
|
-
"
|
|
62
|
-
"gitHead": "fd1a6fba306a83a73ff7c531db87fa207dbf436d"
|
|
70
|
+
"gitHead": "b6c8b36636fa3777494f55860d6a75f2e5a5611e"
|
|
63
71
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { IAgentPlugin } from '@veramo/core';
|
|
2
|
-
import { IQRCodeGenerator } from '../types/IQRCodeGenerator';
|
|
3
|
-
/**
|
|
4
|
-
* {@inheritDoc IQRCodeGenerator}
|
|
5
|
-
*/
|
|
6
|
-
export declare class QrCodeProvider implements IAgentPlugin {
|
|
7
|
-
readonly methods: IQRCodeGenerator;
|
|
8
|
-
/** {@inheritDoc IQRCodeGenerator.uriElement} */
|
|
9
|
-
private static qrURIElement;
|
|
10
|
-
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */
|
|
11
|
-
private static qrDIDCommOobInvitationValue;
|
|
12
|
-
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */
|
|
13
|
-
private static qrDIDCommOobInvitationElement;
|
|
14
|
-
/** {@inheritDoc IQRCodeGenerator.siopv2Value} */
|
|
15
|
-
private static qrSIOPv2Value;
|
|
16
|
-
/** {@inheritDoc IQRCodeGenerator.siopv2Element} */
|
|
17
|
-
private static qrSIOPv2Element;
|
|
18
|
-
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */
|
|
19
|
-
private static qrOpenID4VCIElement;
|
|
20
|
-
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */
|
|
21
|
-
private static qrOpenID4VCIValue;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=QrCodeProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QrCodeProvider.d.ts","sourceRoot":"","sources":["../../src/agent/QrCodeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,OAAO,EAIL,gBAAgB,EAMjB,MAAM,2BAA2B,CAAA;AAIlC;;GAEG;AACH,qBAAa,cAAe,YAAW,YAAY;IACjD,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAQjC;IAED,gDAAgD;mBAE3B,YAAY;IAIjC,+DAA+D;mBAC1C,2BAA2B;IAUhD,iEAAiE;mBAC5C,6BAA6B;IAelD,iDAAiD;mBAC5B,aAAa;IAWlC,mDAAmD;mBAC9B,eAAe;IAYpC,yDAAyD;mBACpC,mBAAmB;IASxC,uDAAuD;mBAClC,iBAAiB;CA0BvC"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.QrCodeProvider = void 0;
|
|
13
|
-
const utils_1 = require("./utils");
|
|
14
|
-
const react_qr_1 = require("./utils/react-qr");
|
|
15
|
-
/**
|
|
16
|
-
* {@inheritDoc IQRCodeGenerator}
|
|
17
|
-
*/
|
|
18
|
-
class QrCodeProvider {
|
|
19
|
-
constructor() {
|
|
20
|
-
this.methods = {
|
|
21
|
-
qrDIDCommOobInvitationElement: QrCodeProvider.qrDIDCommOobInvitationElement.bind(this),
|
|
22
|
-
qrDIDCommOobInvitationValue: QrCodeProvider.qrDIDCommOobInvitationValue.bind(this),
|
|
23
|
-
qrSIOPv2Element: QrCodeProvider.qrSIOPv2Element.bind(this),
|
|
24
|
-
qrSIOPv2Value: QrCodeProvider.qrSIOPv2Value.bind(this),
|
|
25
|
-
qrURIElement: QrCodeProvider.qrURIElement.bind(this),
|
|
26
|
-
qrOpenID4VCIElement: QrCodeProvider.qrOpenID4VCIElement.bind(this),
|
|
27
|
-
qrOpenID4VCIValue: QrCodeProvider.qrOpenID4VCIValue.bind(this),
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
/** {@inheritDoc IQRCodeGenerator.uriElement} */
|
|
31
|
-
static qrURIElement(args, context) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
return (0, utils_1.generateQRCodeReactElement)(args, context);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationValue} */
|
|
37
|
-
static qrDIDCommOobInvitationValue(args, context) {
|
|
38
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const { object } = args.data;
|
|
40
|
-
const encoded = utils_1.DidCommOutOfBandMessage.urlEncode(object.oobInvitation);
|
|
41
|
-
const delim = object.baseURI.includes('?') ? '&' : '?';
|
|
42
|
-
return object.baseURI.includes('oob=') ? object.baseURI.replace('oob=', `oob=${encoded}`) : `${object.baseURI}${delim}_oob=${encoded}`;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
/** {@inheritDoc IQRCodeGenerator.didCommOobInvitationElement} */
|
|
46
|
-
static qrDIDCommOobInvitationElement(args, context) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const content = yield QrCodeProvider.qrDIDCommOobInvitationValue(args, context);
|
|
49
|
-
return (0, react_qr_1.generateQRCodeReactElementImpl)(Object.assign(Object.assign({}, args), { data: Object.assign(Object.assign({}, args.data), { object: content }) }), args, context);
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
/** {@inheritDoc IQRCodeGenerator.siopv2Value} */
|
|
53
|
-
static qrSIOPv2Value(args, context) {
|
|
54
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
var _a;
|
|
56
|
-
const { object } = args.data;
|
|
57
|
-
if (typeof object === 'string') {
|
|
58
|
-
return object;
|
|
59
|
-
}
|
|
60
|
-
const scheme = ((_a = object.scheme) !== null && _a !== void 0 ? _a : 'openid-vc://').replace('://?', '').replace('://', '') + '://';
|
|
61
|
-
const requestUri = `request_uri=${object.requestUri.replace('request_uri=', '')}`;
|
|
62
|
-
return `${scheme}?${requestUri}`;
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
/** {@inheritDoc IQRCodeGenerator.siopv2Element} */
|
|
66
|
-
static qrSIOPv2Element(args, context) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const content = yield QrCodeProvider.qrSIOPv2Value(args, context);
|
|
69
|
-
return (0, react_qr_1.generateQRCodeReactElementImpl)(Object.assign(Object.assign({}, args), { data: Object.assign(Object.assign({}, args.data), { object: content }) }), args, context);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIElement} */
|
|
73
|
-
static qrOpenID4VCIElement(args, context) {
|
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
const content = yield QrCodeProvider.qrOpenID4VCIValue(args, context);
|
|
76
|
-
return (0, react_qr_1.generateQRCodeReactElementImpl)(Object.assign(Object.assign({}, args), { data: Object.assign(Object.assign({}, args.data), { object: content }) }), args, context);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
/** {@inheritDoc IQRCodeGenerator.qrOpenID4VCIValue} */
|
|
80
|
-
static qrOpenID4VCIValue(args, context) {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
var _a, _b, _c, _d;
|
|
83
|
-
const { object } = args.data;
|
|
84
|
-
if (!object.credentialOffer && !object.credentialOfferUri) {
|
|
85
|
-
throw new Error('Please provide credential_offer or credential_offer_uri');
|
|
86
|
-
}
|
|
87
|
-
const scheme = ((_a = object.scheme) !== null && _a !== void 0 ? _a : 'openid-credential-offer://').replace('://?', '').replace('://', '') + '://';
|
|
88
|
-
const baseUri = (_b = object.baseUri) !== null && _b !== void 0 ? _b : '';
|
|
89
|
-
let url;
|
|
90
|
-
const splitBaseUri = baseUri.split('://');
|
|
91
|
-
const hasScheme = splitBaseUri.length > 1;
|
|
92
|
-
if (hasScheme && object.scheme) {
|
|
93
|
-
if (splitBaseUri[0] !== object.scheme) {
|
|
94
|
-
throw new Error('The uri must contain the same scheme or omit it');
|
|
95
|
-
}
|
|
96
|
-
url = `${baseUri}`;
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
url = `${scheme}${baseUri}`;
|
|
100
|
-
}
|
|
101
|
-
const credentialOfferUri = `?credential_offer_uri=${(_c = object.credentialOfferUri) === null || _c === void 0 ? void 0 : _c.replace('credential_offer_uri=', '')}`;
|
|
102
|
-
const credentialOffer = `?credential_offer=${(_d = object.credentialOffer) === null || _d === void 0 ? void 0 : _d.replace('credential_offer=', '')}`;
|
|
103
|
-
const value = object.credentialOffer ? credentialOffer : credentialOfferUri;
|
|
104
|
-
return `${url}${value}`;
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.QrCodeProvider = QrCodeProvider;
|
|
109
|
-
//# sourceMappingURL=QrCodeProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QrCodeProvider.js","sourceRoot":"","sources":["../../src/agent/QrCodeProvider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { DIDCommV2OOBInvitation } from '../../types/IQRCodeGenerator';
|
|
2
|
-
export declare class DidCommOutOfBandMessage {
|
|
3
|
-
static toJson(props: DIDCommV2OOBInvitation): string;
|
|
4
|
-
static urlEncode(payload: DIDCommV2OOBInvitation): string;
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=didcomm-oob-message.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"didcomm-oob-message.d.ts","sourceRoot":"","sources":["../../../src/agent/utils/didcomm-oob-message.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAGrE,qBAAa,uBAAuB;WACpB,MAAM,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM;WAI7C,SAAS,CAAC,OAAO,EAAE,sBAAsB;CAGxD"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DidCommOutOfBandMessage = void 0;
|
|
7
|
-
const base64url_1 = __importDefault(require("base64url"));
|
|
8
|
-
class DidCommOutOfBandMessage {
|
|
9
|
-
static toJson(props) {
|
|
10
|
-
return JSON.stringify(props).replace('goalCode', 'goal-code');
|
|
11
|
-
}
|
|
12
|
-
static urlEncode(payload) {
|
|
13
|
-
return (0, base64url_1.default)(this.toJson(payload));
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.DidCommOutOfBandMessage = DidCommOutOfBandMessage;
|
|
17
|
-
//# sourceMappingURL=didcomm-oob-message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"didcomm-oob-message.js","sourceRoot":"","sources":["../../../src/agent/utils/didcomm-oob-message.tsx"],"names":[],"mappings":";;;;;;AACA,0DAAiC;AAEjC,MAAa,uBAAuB;IAC3B,MAAM,CAAC,MAAM,CAAC,KAA6B;QAChD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IAC/D,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,OAA+B;QACrD,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IACxC,CAAC;CACF;AARD,0DAQC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agent/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAC5E,cAAc,uBAAuB,CAAA"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.generateQRCodeValue = exports.generateQRCodeReactElement = void 0;
|
|
18
|
-
var react_qr_1 = require("./react-qr");
|
|
19
|
-
Object.defineProperty(exports, "generateQRCodeReactElement", { enumerable: true, get: function () { return react_qr_1.generateQRCodeReactElement; } });
|
|
20
|
-
Object.defineProperty(exports, "generateQRCodeValue", { enumerable: true, get: function () { return react_qr_1.generateQRCodeValue; } });
|
|
21
|
-
__exportStar(require("./didcomm-oob-message"), exports);
|
|
22
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agent/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAA4E;AAAnE,sHAAA,0BAA0B,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AACxD,wDAAqC"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { CreateElementArgs, CreateValueArgs, IRequiredContext, QRType, ValueResult } from '../../types/IQRCodeGenerator';
|
|
2
|
-
export declare function generateQRCodeValue<T extends QRType>(args: CreateValueArgs<T, string> | CreateElementArgs<T, string>, context?: IRequiredContext): Promise<ValueResult<T, string>>;
|
|
3
|
-
export declare function generateQRCodeValueImpl<T extends QRType>(args: CreateValueArgs<T, string> | CreateElementArgs<T, string>, orig: CreateValueArgs<T, any> | CreateElementArgs<T, any>, context?: IRequiredContext): Promise<ValueResult<T, string>>;
|
|
4
|
-
export declare function generateQRCodeReactElement<T extends QRType>(args: CreateElementArgs<T, string>, context: IRequiredContext): Promise<JSX.Element>;
|
|
5
|
-
export declare function generateQRCodeReactElementImpl<T extends QRType>(args: CreateElementArgs<T, string>, orig: CreateElementArgs<T, any>, context: IRequiredContext): Promise<JSX.Element>;
|
|
6
|
-
//# sourceMappingURL=react-qr.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-qr.d.ts","sourceRoot":"","sources":["../../../src/agent/utils/react-qr.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAU,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAIhI,wBAAsB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EACxD,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/D,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAEjC;AAED,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EAC5D,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,EAC/D,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,EACzD,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAsBjC;AAED,wBAAsB,0BAA0B,CAAC,CAAC,SAAS,MAAM,EAC/D,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,EAClC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAEtB;AAED,wBAAsB,8BAA8B,CAAC,CAAC,SAAS,MAAM,EACnE,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,EAClC,IAAI,EAAE,iBAAiB,CAAC,CAAC,EAAE,GAAG,CAAC,EAC/B,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAOtB"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.generateQRCodeValue = generateQRCodeValue;
|
|
16
|
-
exports.generateQRCodeValueImpl = generateQRCodeValueImpl;
|
|
17
|
-
exports.generateQRCodeReactElement = generateQRCodeReactElement;
|
|
18
|
-
exports.generateQRCodeReactElementImpl = generateQRCodeReactElementImpl;
|
|
19
|
-
const IQRCodeGenerator_1 = require("../../types/IQRCodeGenerator");
|
|
20
|
-
const react_qr_code_1 = __importDefault(require("react-qr-code"));
|
|
21
|
-
const react_1 = __importDefault(require("react"));
|
|
22
|
-
function generateQRCodeValue(args, context) {
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
return generateQRCodeValueImpl(args, args, context);
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
function generateQRCodeValueImpl(args, orig, context) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
const { onGenerate } = orig;
|
|
30
|
-
const { id } = orig.data;
|
|
31
|
-
const value = args.data.object;
|
|
32
|
-
const result = {
|
|
33
|
-
id,
|
|
34
|
-
value,
|
|
35
|
-
data: orig.data,
|
|
36
|
-
renderingProps: 'renderingProps' in orig ? orig.renderingProps : undefined,
|
|
37
|
-
context,
|
|
38
|
-
};
|
|
39
|
-
if (onGenerate) {
|
|
40
|
-
onGenerate(result);
|
|
41
|
-
}
|
|
42
|
-
if (context) {
|
|
43
|
-
context.agent.emit(IQRCodeGenerator_1.events.QR_CODE_CODE_CREATED, result);
|
|
44
|
-
}
|
|
45
|
-
return result;
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
function generateQRCodeReactElement(args, context) {
|
|
49
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
return generateQRCodeReactElementImpl(args, args, context);
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
function generateQRCodeReactElementImpl(args, orig, context) {
|
|
54
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
const { renderingProps } = args;
|
|
56
|
-
const { bgColor, fgColor, level, size, title } = renderingProps;
|
|
57
|
-
const result = yield generateQRCodeValueImpl(args, orig, context);
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
return react_1.default.createElement(react_qr_code_1.default, { value: result.value, bgColor: bgColor, fgColor: fgColor, level: level, size: size, title: title });
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=react-qr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"react-qr.js","sourceRoot":"","sources":["../../../src/agent/utils/react-qr.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAIA,kDAKC;AAED,0DA0BC;AAED,gEAKC;AAED,wEAWC;AAzDD,mEAAgI;AAChI,kEAAkC;AAClC,kDAAyB;AAEzB,SAAsB,mBAAmB,CACvC,IAA+D,EAC/D,OAA0B;;QAE1B,OAAO,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IACrD,CAAC;CAAA;AAED,SAAsB,uBAAuB,CAC3C,IAA+D,EAC/D,IAAyD,EACzD,OAA0B;;QAE1B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;QAC3B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAA;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QAE9B,MAAM,MAAM,GAA2B;YACrC,EAAE;YACF,KAAK;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC1E,OAAO;SACR,CAAA;QAED,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAA;QACzD,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAAA;AAED,SAAsB,0BAA0B,CAC9C,IAAkC,EAClC,OAAyB;;QAEzB,OAAO,8BAA8B,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5D,CAAC;CAAA;AAED,SAAsB,8BAA8B,CAClD,IAAkC,EAClC,IAA+B,EAC/B,OAAyB;;QAEzB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAA;QAC/B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,CAAA;QAC/D,MAAM,MAAM,GAA2B,MAAM,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QAEzF,aAAa;QACb,OAAO,8BAAC,uBAAM,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAAA;IACpH,CAAC;CAAA"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IQRCodeGenerator.d.ts","sourceRoot":"","sources":["../../src/types/IQRCodeGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.events = exports.StatusCode = exports.QRType = void 0;
|
|
4
|
-
var QRType;
|
|
5
|
-
(function (QRType) {
|
|
6
|
-
QRType["URI"] = "uri";
|
|
7
|
-
QRType["SIOPV2"] = "openid-vc";
|
|
8
|
-
QRType["DIDCOMM_V2_OOB_INVITATION"] = "https://didcomm.org/out-of-band/2.0/invitation";
|
|
9
|
-
QRType["OpenID4VCI"] = "openid-credential-offer";
|
|
10
|
-
})(QRType || (exports.QRType = QRType = {}));
|
|
11
|
-
/*OIDC4VP = 'oidc4vp',
|
|
12
|
-
SIOPV2_WITH_OIDC4VP = 'siopv2+oidc4vp',
|
|
13
|
-
SIOP_V2 = 'siopv2',*/
|
|
14
|
-
var StatusCode;
|
|
15
|
-
(function (StatusCode) {
|
|
16
|
-
StatusCode["OK"] = "OK";
|
|
17
|
-
StatusCode["CREATED"] = "CREATED";
|
|
18
|
-
})(StatusCode || (exports.StatusCode = StatusCode = {}));
|
|
19
|
-
var events;
|
|
20
|
-
(function (events) {
|
|
21
|
-
events["QR_CODE_CODE_CREATED"] = "QrCodeCreated";
|
|
22
|
-
})(events || (exports.events = events = {}));
|
|
23
|
-
//# sourceMappingURL=IQRCodeGenerator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IQRCodeGenerator.js","sourceRoot":"","sources":["../../src/types/IQRCodeGenerator.ts"],"names":[],"mappings":";;;AAwCA,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,qBAAW,CAAA;IACX,8BAAoB,CAAA;IACpB,sFAA4E,CAAA;IAC5E,gDAAsC,CAAA;AACxC,CAAC,EALW,MAAM,sBAAN,MAAM,QAKjB;AAqDD;;qBAEqB;AAErB,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,uBAAS,CAAA;IACT,iCAAmB,CAAA;AACrB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAgBD,IAAY,MAEX;AAFD,WAAY,MAAM;IAChB,gDAAsC,CAAA;AACxC,CAAC,EAFW,MAAM,sBAAN,MAAM,QAEjB"}
|