@hyperledger/anoncreds-nodejs 0.1.0-dev.10

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 (40) hide show
  1. package/LICENSE +192 -0
  2. package/README.md +38 -0
  3. package/build/NodeJSAnoncreds.d.ts +233 -0
  4. package/build/NodeJSAnoncreds.js +346 -0
  5. package/build/NodeJSAnoncreds.js.map +1 -0
  6. package/build/ffi/alloc.d.ts +5 -0
  7. package/build/ffi/alloc.js +18 -0
  8. package/build/ffi/alloc.js.map +1 -0
  9. package/build/ffi/conversion.d.ts +8 -0
  10. package/build/ffi/conversion.js +8 -0
  11. package/build/ffi/conversion.js.map +1 -0
  12. package/build/ffi/index.d.ts +5 -0
  13. package/build/ffi/index.js +18 -0
  14. package/build/ffi/index.js.map +1 -0
  15. package/build/ffi/primitives.d.ts +14 -0
  16. package/build/ffi/primitives.js +21 -0
  17. package/build/ffi/primitives.js.map +1 -0
  18. package/build/ffi/serialize.d.ts +24 -0
  19. package/build/ffi/serialize.js +55 -0
  20. package/build/ffi/serialize.js.map +1 -0
  21. package/build/ffi/structures.d.ts +119 -0
  22. package/build/ffi/structures.js +112 -0
  23. package/build/ffi/structures.js.map +1 -0
  24. package/build/index.d.ts +3 -0
  25. package/build/index.js +19 -0
  26. package/build/index.js.map +1 -0
  27. package/build/library/NativeBindingInterface.d.ts +27 -0
  28. package/build/library/NativeBindingInterface.js +4 -0
  29. package/build/library/NativeBindingInterface.js.map +1 -0
  30. package/build/library/bindings.d.ts +179 -0
  31. package/build/library/bindings.js +171 -0
  32. package/build/library/bindings.js.map +1 -0
  33. package/build/library/index.d.ts +3 -0
  34. package/build/library/index.js +16 -0
  35. package/build/library/index.js.map +1 -0
  36. package/build/library/register.d.ts +43 -0
  37. package/build/library/register.js +62 -0
  38. package/build/library/register.js.map +1 -0
  39. package/package.json +53 -0
  40. package/scripts/arch.js +22 -0
@@ -0,0 +1,346 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeJSAnoncreds = void 0;
4
+ const anoncreds_shared_1 = require("@hyperledger/anoncreds-shared");
5
+ const util_1 = require("util");
6
+ const ffi_1 = require("./ffi");
7
+ const library_1 = require("./library");
8
+ function handleReturnPointer(returnValue) {
9
+ if (returnValue.address() === 0) {
10
+ throw anoncreds_shared_1.AnoncredsError.customError({ message: 'Unexpected null pointer' });
11
+ }
12
+ return returnValue.deref();
13
+ }
14
+ class NodeJSAnoncreds {
15
+ handleError() {
16
+ const nativeError = (0, ffi_1.allocateStringBuffer)();
17
+ (0, library_1.getNativeAnoncreds)().anoncreds_get_current_error(nativeError);
18
+ const anoncredsErrorObject = JSON.parse(nativeError.deref());
19
+ if (anoncredsErrorObject.code === 0)
20
+ return;
21
+ throw new anoncreds_shared_1.AnoncredsError(anoncredsErrorObject);
22
+ }
23
+ get nativeAnoncreds() {
24
+ return (0, library_1.getNativeAnoncreds)();
25
+ }
26
+ generateNonce() {
27
+ const ret = (0, ffi_1.allocateStringBuffer)();
28
+ this.nativeAnoncreds.anoncreds_generate_nonce(ret);
29
+ this.handleError();
30
+ return handleReturnPointer(ret);
31
+ }
32
+ createSchema(options) {
33
+ const { name, version, issuerId, attributeNames } = (0, ffi_1.serializeArguments)(options);
34
+ const ret = (0, ffi_1.allocatePointer)();
35
+ this.nativeAnoncreds.anoncreds_create_schema(name, version, issuerId, attributeNames, ret);
36
+ this.handleError();
37
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
38
+ }
39
+ revocationRegistryDefinitionGetAttribute(options) {
40
+ const { objectHandle, name } = (0, ffi_1.serializeArguments)(options);
41
+ const ret = (0, ffi_1.allocateStringBuffer)();
42
+ this.nativeAnoncreds.anoncreds_revocation_registry_definition_get_attribute(objectHandle, name, ret);
43
+ this.handleError();
44
+ return handleReturnPointer(ret);
45
+ }
46
+ credentialGetAttribute(options) {
47
+ const { objectHandle, name } = (0, ffi_1.serializeArguments)(options);
48
+ const ret = (0, ffi_1.allocateStringBuffer)();
49
+ this.nativeAnoncreds.anoncreds_credential_get_attribute(objectHandle, name, ret);
50
+ this.handleError();
51
+ return handleReturnPointer(ret);
52
+ }
53
+ createCredentialDefinition(options) {
54
+ const { schemaId, issuerId, schema, tag, signatureType, supportRevocation } = (0, ffi_1.serializeArguments)(options);
55
+ const credentialDefinitionPtr = (0, ffi_1.allocatePointer)();
56
+ const credentialDefinitionPrivatePtr = (0, ffi_1.allocatePointer)();
57
+ const keyCorrectnessProofPtr = (0, ffi_1.allocatePointer)();
58
+ this.nativeAnoncreds.anoncreds_create_credential_definition(schemaId, schema, tag, issuerId, signatureType, supportRevocation, credentialDefinitionPtr, credentialDefinitionPrivatePtr, keyCorrectnessProofPtr);
59
+ this.handleError();
60
+ return {
61
+ credentialDefinition: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialDefinitionPtr)),
62
+ credentialDefinitionPrivate: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialDefinitionPrivatePtr)),
63
+ keyCorrectnessProof: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(keyCorrectnessProofPtr)),
64
+ };
65
+ }
66
+ createCredential(options) {
67
+ var _a, _b, _c;
68
+ const { credentialDefinition, credentialDefinitionPrivate, credentialOffer, credentialRequest, revocationRegistryId, } = (0, ffi_1.serializeArguments)(options);
69
+ const attributeNames = (0, ffi_1.StringListStruct)({
70
+ count: Object.keys(options.attributeRawValues).length,
71
+ data: Object.keys(options.attributeRawValues),
72
+ });
73
+ const attributeRawValues = (0, ffi_1.StringListStruct)({
74
+ count: Object.keys(options.attributeRawValues).length,
75
+ data: Object.values(options.attributeRawValues),
76
+ });
77
+ const attributeEncodedValues = options.attributeEncodedValues
78
+ ? (0, ffi_1.StringListStruct)({
79
+ count: Object.keys(options.attributeEncodedValues).length,
80
+ data: Object.values(options.attributeEncodedValues),
81
+ })
82
+ : undefined;
83
+ let revocationConfiguration;
84
+ if (options.revocationConfiguration) {
85
+ const { revocationRegistryDefinition: registryDefinition, revocationRegistryDefinitionPrivate: registryDefinitionPrivate, registryIndex, tailsPath, } = (0, ffi_1.serializeArguments)(options.revocationConfiguration);
86
+ revocationConfiguration = (0, ffi_1.CredRevInfoStruct)({
87
+ reg_def: registryDefinition,
88
+ reg_def_private: registryDefinitionPrivate,
89
+ reg_idx: registryIndex,
90
+ tails_path: tailsPath,
91
+ });
92
+ }
93
+ const credentialPtr = (0, ffi_1.allocatePointer)();
94
+ this.nativeAnoncreds.anoncreds_create_credential(credentialDefinition, credentialDefinitionPrivate, credentialOffer, credentialRequest, attributeNames, attributeRawValues, attributeEncodedValues, revocationRegistryId, (_b = (_a = options.revocationStatusList) === null || _a === void 0 ? void 0 : _a.handle) !== null && _b !== void 0 ? _b : 0, (_c = revocationConfiguration === null || revocationConfiguration === void 0 ? void 0 : revocationConfiguration.ref().address()) !== null && _c !== void 0 ? _c : 0, credentialPtr);
95
+ this.handleError();
96
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialPtr));
97
+ }
98
+ encodeCredentialAttributes(options) {
99
+ const { attributeRawValues } = (0, ffi_1.serializeArguments)(options);
100
+ const ret = (0, ffi_1.allocateStringBuffer)();
101
+ this.nativeAnoncreds.anoncreds_encode_credential_attributes(attributeRawValues, ret);
102
+ this.handleError();
103
+ const result = handleReturnPointer(ret);
104
+ return result.split(',');
105
+ }
106
+ processCredential(options) {
107
+ var _a, _b;
108
+ const { credential, credentialRequestMetadata, masterSecret, credentialDefinition } = (0, ffi_1.serializeArguments)(options);
109
+ const ret = (0, ffi_1.allocatePointer)();
110
+ this.nativeAnoncreds.anoncreds_process_credential(credential, credentialRequestMetadata, masterSecret, credentialDefinition, (_b = (_a = options.revocationRegistryDefinition) === null || _a === void 0 ? void 0 : _a.handle) !== null && _b !== void 0 ? _b : 0, ret);
111
+ this.handleError();
112
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
113
+ }
114
+ createCredentialOffer(options) {
115
+ const { schemaId, credentialDefinitionId, keyCorrectnessProof } = (0, ffi_1.serializeArguments)(options);
116
+ const ret = (0, ffi_1.allocatePointer)();
117
+ this.nativeAnoncreds.anoncreds_create_credential_offer(schemaId, credentialDefinitionId, keyCorrectnessProof, ret);
118
+ this.handleError();
119
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
120
+ }
121
+ createCredentialRequest(options) {
122
+ const { entropy, proverDid, credentialDefinition, masterSecret, masterSecretId, credentialOffer } = (0, ffi_1.serializeArguments)(options);
123
+ const credentialRequestPtr = (0, ffi_1.allocatePointer)();
124
+ const credentialRequestMetadataPtr = (0, ffi_1.allocatePointer)();
125
+ this.nativeAnoncreds.anoncreds_create_credential_request(entropy, proverDid, credentialDefinition, masterSecret, masterSecretId, credentialOffer, credentialRequestPtr, credentialRequestMetadataPtr);
126
+ this.handleError();
127
+ return {
128
+ credentialRequest: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialRequestPtr)),
129
+ credentialRequestMetadata: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(credentialRequestMetadataPtr)),
130
+ };
131
+ }
132
+ createMasterSecret() {
133
+ const ret = (0, ffi_1.allocatePointer)();
134
+ this.nativeAnoncreds.anoncreds_create_master_secret(ret);
135
+ this.handleError();
136
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
137
+ }
138
+ createPresentation(options) {
139
+ const { presentationRequest, masterSecret } = (0, ffi_1.serializeArguments)(options);
140
+ const credentialEntries = options.credentials.map((value) => {
141
+ var _a, _b, _c;
142
+ return (0, ffi_1.CredentialEntryStruct)({
143
+ credential: value.credential.handle,
144
+ timestamp: (_a = value.timestamp) !== null && _a !== void 0 ? _a : -1,
145
+ rev_state: (_c = (_b = value.revocationState) === null || _b === void 0 ? void 0 : _b.handle) !== null && _c !== void 0 ? _c : 0,
146
+ });
147
+ });
148
+ const credentialEntryList = (0, ffi_1.CredentialEntryListStruct)({
149
+ count: credentialEntries.length,
150
+ data: credentialEntries,
151
+ });
152
+ const credentialProves = options.credentialsProve.map((value) => {
153
+ const { entryIndex: entry_idx, isPredicate: is_predicate, reveal, referent } = (0, ffi_1.serializeArguments)(value);
154
+ return (0, ffi_1.CredentialProveStruct)({ entry_idx, referent, is_predicate, reveal });
155
+ });
156
+ const credentialProveList = (0, ffi_1.CredentialProveListStruct)({
157
+ count: credentialProves.length,
158
+ data: credentialProves,
159
+ });
160
+ const selfAttestNames = (0, ffi_1.StringListStruct)({
161
+ count: Object.keys(options.selfAttest).length,
162
+ data: Object.keys(options.selfAttest),
163
+ });
164
+ const selfAttestValues = (0, ffi_1.StringListStruct)({
165
+ count: Object.values(options.selfAttest).length,
166
+ data: Object.values(options.selfAttest),
167
+ });
168
+ const schemaKeys = Object.keys(options.schemas);
169
+ const schemaIds = (0, ffi_1.StringListStruct)({
170
+ count: schemaKeys.length,
171
+ data: schemaKeys,
172
+ });
173
+ const schemaValues = Object.values(options.schemas);
174
+ const schemas = (0, ffi_1.ObjectHandleListStruct)({
175
+ count: schemaValues.length,
176
+ data: (0, ffi_1.ObjectHandleArray)(schemaValues.map((o) => o.handle)),
177
+ });
178
+ const credentialDefinitionKeys = Object.keys(options.credentialDefinitions);
179
+ const credentialDefinitionIds = (0, ffi_1.StringListStruct)({
180
+ count: credentialDefinitionKeys.length,
181
+ data: credentialDefinitionKeys,
182
+ });
183
+ const credentialDefinitionValues = Object.values(options.credentialDefinitions);
184
+ const credentialDefinitions = (0, ffi_1.ObjectHandleListStruct)({
185
+ count: credentialDefinitionValues.length,
186
+ data: (0, ffi_1.ObjectHandleArray)(credentialDefinitionValues.map((o) => o.handle)),
187
+ });
188
+ const ret = (0, ffi_1.allocatePointer)();
189
+ this.nativeAnoncreds.anoncreds_create_presentation(presentationRequest, credentialEntryList, credentialProveList, selfAttestNames, selfAttestValues, masterSecret, schemas, schemaIds, credentialDefinitions, credentialDefinitionIds, ret);
190
+ this.handleError();
191
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
192
+ }
193
+ verifyPresentation(options) {
194
+ var _a, _b, _c;
195
+ const { presentation, presentationRequest, schemas, credentialDefinitions, revocationRegistryDefinitions, revocationStatusLists, revocationRegistryDefinitionIds, schemaIds, credentialDefinitionIds, } = (0, ffi_1.serializeArguments)(options);
196
+ const nativeNonRevokedIntervalOverride = (_a = options.nonRevokedIntervalOverrides) === null || _a === void 0 ? void 0 : _a.map((value) => {
197
+ const { requestedFromTimestamp, revocationRegistryDefinitionId, overrideRevocationStatusListTimestamp } = (0, ffi_1.serializeArguments)(value);
198
+ return (0, ffi_1.NonRevokedIntervalOverrideStruct)({
199
+ rev_reg_def_id: revocationRegistryDefinitionId,
200
+ requested_from_ts: requestedFromTimestamp,
201
+ override_rev_status_list_ts: overrideRevocationStatusListTimestamp,
202
+ });
203
+ });
204
+ const nonRevokedIntervalOverrideList = (0, ffi_1.NonRevokedIntervalOverrideListStruct)({
205
+ count: (_c = (_b = options.nonRevokedIntervalOverrides) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0,
206
+ data: nativeNonRevokedIntervalOverride,
207
+ });
208
+ const ret = (0, ffi_1.allocateInt8Buffer)();
209
+ this.nativeAnoncreds.anoncreds_verify_presentation(presentation, presentationRequest, schemas, schemaIds, credentialDefinitions, credentialDefinitionIds, revocationRegistryDefinitions, revocationRegistryDefinitionIds, revocationStatusLists, nonRevokedIntervalOverrideList, ret);
210
+ this.handleError();
211
+ return Boolean(handleReturnPointer(ret));
212
+ }
213
+ createRevocationStatusList(options) {
214
+ const { timestamp, issuanceByDefault, revocationRegistryDefinition, revocationRegistryDefinitionId, issuerId } = (0, ffi_1.serializeArguments)(options);
215
+ const ret = (0, ffi_1.allocatePointer)();
216
+ this.nativeAnoncreds.anoncreds_create_revocation_status_list(revocationRegistryDefinitionId, revocationRegistryDefinition, issuerId, timestamp, issuanceByDefault, ret);
217
+ this.handleError();
218
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
219
+ }
220
+ updateRevocationStatusListTimestampOnly(options) {
221
+ const { currentRevocationStatusList, timestamp } = (0, ffi_1.serializeArguments)(options);
222
+ const ret = (0, ffi_1.allocatePointer)();
223
+ this.nativeAnoncreds.anoncreds_update_revocation_status_list_timestamp_only(timestamp, currentRevocationStatusList, ret);
224
+ this.handleError();
225
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
226
+ }
227
+ updateRevocationStatusList(options) {
228
+ const { currentRevocationStatusList, timestamp, revocationRegistryDefinition, revoked, issued } = (0, ffi_1.serializeArguments)(options);
229
+ const ret = (0, ffi_1.allocatePointer)();
230
+ this.nativeAnoncreds.anoncreds_update_revocation_status_list(timestamp, issued, revoked, revocationRegistryDefinition, currentRevocationStatusList, ret);
231
+ this.handleError();
232
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
233
+ }
234
+ createRevocationRegistryDefinition(options) {
235
+ const { credentialDefinition, credentialDefinitionId, tag, revocationRegistryType, issuerId, maximumCredentialNumber, tailsDirectoryPath, } = (0, ffi_1.serializeArguments)(options);
236
+ const revocationRegistryDefinitionPtr = (0, ffi_1.allocatePointer)();
237
+ const revocationRegistryDefinitionPrivate = (0, ffi_1.allocatePointer)();
238
+ this.nativeAnoncreds.anoncreds_create_revocation_registry_def(credentialDefinition, credentialDefinitionId, issuerId, tag, revocationRegistryType, maximumCredentialNumber, tailsDirectoryPath, revocationRegistryDefinitionPtr, revocationRegistryDefinitionPrivate);
239
+ this.handleError();
240
+ return {
241
+ revocationRegistryDefinition: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(revocationRegistryDefinitionPtr)),
242
+ revocationRegistryDefinitionPrivate: new anoncreds_shared_1.ObjectHandle(handleReturnPointer(revocationRegistryDefinitionPrivate)),
243
+ };
244
+ }
245
+ createOrUpdateRevocationState(options) {
246
+ var _a, _b;
247
+ const { revocationRegistryDefinition, revocationStatusList, revocationRegistryIndex, tailsPath } = (0, ffi_1.serializeArguments)(options);
248
+ const previousRevocationState = (_a = options.previousRevocationState) !== null && _a !== void 0 ? _a : new anoncreds_shared_1.ObjectHandle(0);
249
+ const previousRevocationStatusList = (_b = options.previousRevocationStatusList) !== null && _b !== void 0 ? _b : new anoncreds_shared_1.ObjectHandle(0);
250
+ const ret = (0, ffi_1.allocatePointer)();
251
+ this.nativeAnoncreds.anoncreds_create_or_update_revocation_state(revocationRegistryDefinition, revocationStatusList, revocationRegistryIndex, tailsPath, previousRevocationStatusList.handle, previousRevocationState.handle, ret);
252
+ this.handleError();
253
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
254
+ }
255
+ version() {
256
+ return this.nativeAnoncreds.anoncreds_version();
257
+ }
258
+ setDefaultLogger() {
259
+ this.nativeAnoncreds.anoncreds_set_default_logger();
260
+ this.handleError();
261
+ }
262
+ // This should be called when a function returns a non-zero code
263
+ getCurrentError() {
264
+ const ret = (0, ffi_1.allocateStringBuffer)();
265
+ this.nativeAnoncreds.anoncreds_get_current_error(ret);
266
+ this.handleError();
267
+ return handleReturnPointer(ret);
268
+ }
269
+ objectFromJson(method, options) {
270
+ const ret = (0, ffi_1.allocatePointer)();
271
+ const byteBuffer = anoncreds_shared_1.ByteBuffer.fromUint8Array(new util_1.TextEncoder().encode(options.json));
272
+ this.handleError();
273
+ method(byteBuffer, ret);
274
+ return new anoncreds_shared_1.ObjectHandle(handleReturnPointer(ret));
275
+ }
276
+ presentationRequestFromJson(options) {
277
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_presentation_request_from_json, options);
278
+ }
279
+ masterSecretFromJson(options) {
280
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_master_secret_from_json, options);
281
+ }
282
+ credentialRequestFromJson(options) {
283
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_request_from_json, options);
284
+ }
285
+ credentialRequestMetadataFromJson(options) {
286
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_request_metadata_from_json, options);
287
+ }
288
+ revocationRegistryDefinitionFromJson(options) {
289
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_registry_definition_from_json, options);
290
+ }
291
+ revocationRegistryFromJson(options) {
292
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_registry_from_json, options);
293
+ }
294
+ revocationStateFromJson(options) {
295
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_state_from_json, options);
296
+ }
297
+ presentationFromJson(options) {
298
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_presentation_from_json, options);
299
+ }
300
+ credentialOfferFromJson(options) {
301
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_offer_from_json, options);
302
+ }
303
+ schemaFromJson(options) {
304
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_schema_from_json, options);
305
+ }
306
+ credentialFromJson(options) {
307
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_from_json, options);
308
+ }
309
+ revocationRegistryDefinitionPrivateFromJson(options) {
310
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_registry_definition_private_from_json, options);
311
+ }
312
+ revocationRegistryDeltaFromJson(options) {
313
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_revocation_registry_delta_from_json, options);
314
+ }
315
+ credentialDefinitionFromJson(options) {
316
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_definition_from_json, options);
317
+ }
318
+ credentialDefinitionPrivateFromJson(options) {
319
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_credential_definition_private_from_json, options);
320
+ }
321
+ keyCorrectnessProofFromJson(options) {
322
+ return this.objectFromJson(this.nativeAnoncreds.anoncreds_key_correctness_proof_from_json, options);
323
+ }
324
+ getJson(options) {
325
+ const ret = (0, ffi_1.allocateByteBuffer)();
326
+ const { objectHandle } = (0, ffi_1.serializeArguments)(options);
327
+ this.nativeAnoncreds.anoncreds_object_get_json(objectHandle, ret);
328
+ this.handleError();
329
+ const returnValue = handleReturnPointer(ret);
330
+ const output = new Uint8Array((0, ffi_1.byteBufferToBuffer)(returnValue));
331
+ return new util_1.TextDecoder().decode(output);
332
+ }
333
+ getTypeName(options) {
334
+ const { objectHandle } = (0, ffi_1.serializeArguments)(options);
335
+ const ret = (0, ffi_1.allocateStringBuffer)();
336
+ this.nativeAnoncreds.anoncreds_object_get_type_name(objectHandle, ret);
337
+ this.handleError();
338
+ return handleReturnPointer(ret);
339
+ }
340
+ objectFree(options) {
341
+ this.nativeAnoncreds.anoncreds_object_free(options.objectHandle.handle);
342
+ this.handleError();
343
+ }
344
+ }
345
+ exports.NodeJSAnoncreds = NodeJSAnoncreds;
346
+ //# sourceMappingURL=NodeJSAnoncreds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeJSAnoncreds.js","sourceRoot":"","sources":["../src/NodeJSAnoncreds.ts"],"names":[],"mappings":";;;AAWA,oEAAwF;AACxF,+BAA+C;AAE/C,+BAiBc;AACd,uCAA8C;AAE9C,SAAS,mBAAmB,CAAS,WAAmB;IACtD,IAAI,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;QAC/B,MAAM,iCAAc,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAA;KACzE;IAED,OAAO,WAAW,CAAC,KAAK,EAAY,CAAA;AACtC,CAAC;AAED,MAAa,eAAe;IAClB,WAAW;QACjB,MAAM,WAAW,GAAG,IAAA,0BAAoB,GAAE,CAAA;QAC1C,IAAA,4BAAkB,GAAE,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAA;QAC7D,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAY,CAAyB,CAAA;QAE9F,IAAI,oBAAoB,CAAC,IAAI,KAAK,CAAC;YAAE,OAAM;QAE3C,MAAM,IAAI,iCAAc,CAAC,oBAAoB,CAAC,CAAA;IAChD,CAAC;IAED,IAAW,eAAe;QACxB,OAAO,IAAA,4BAAkB,GAAE,CAAA;IAC7B,CAAC;IAEM,aAAa;QAClB,MAAM,GAAG,GAAG,IAAA,0BAAoB,GAAE,CAAA;QAClC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAA;QAClD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,mBAAmB,CAAS,GAAG,CAAC,CAAA;IACzC,CAAC;IAEM,YAAY,CAAC,OAKnB;QACC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE/E,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,CAAA;QAC1F,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,wCAAwC,CAAC,OAAqD;QACnG,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE1D,MAAM,GAAG,GAAG,IAAA,0BAAoB,GAAE,CAAA;QAClC,IAAI,CAAC,eAAe,CAAC,sDAAsD,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QACpG,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,mBAAmB,CAAS,GAAG,CAAC,CAAA;IACzC,CAAC;IAEM,sBAAsB,CAAC,OAAqD;QACjF,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE1D,MAAM,GAAG,GAAG,IAAA,0BAAoB,GAAE,CAAA;QAClC,IAAI,CAAC,eAAe,CAAC,kCAAkC,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QAChF,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,mBAAmB,CAAS,GAAG,CAAC,CAAA;IACzC,CAAC;IAEM,0BAA0B,CAAC,OAOjC;QAKC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,iBAAiB,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAEzG,MAAM,uBAAuB,GAAG,IAAA,qBAAe,GAAE,CAAA;QACjD,MAAM,8BAA8B,GAAG,IAAA,qBAAe,GAAE,CAAA;QACxD,MAAM,sBAAsB,GAAG,IAAA,qBAAe,GAAE,CAAA;QAEhD,IAAI,CAAC,eAAe,CAAC,sCAAsC,CACzD,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,8BAA8B,EAC9B,sBAAsB,CACvB,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO;YACL,oBAAoB,EAAE,IAAI,+BAAY,CAAC,mBAAmB,CAAS,uBAAuB,CAAC,CAAC;YAC5F,2BAA2B,EAAE,IAAI,+BAAY,CAAC,mBAAmB,CAAS,8BAA8B,CAAC,CAAC;YAC1G,mBAAmB,EAAE,IAAI,+BAAY,CAAC,mBAAmB,CAAS,sBAAsB,CAAC,CAAC;SAC3F,CAAA;IACH,CAAC;IAEM,gBAAgB,CAAC,OAUvB;;QACC,MAAM,EACJ,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,oBAAoB,GACrB,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,cAAc,GAAG,IAAA,sBAAgB,EAAC;YACtC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM;YACrD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAkC;SAC/E,CAAC,CAAA;QAEF,MAAM,kBAAkB,GAAG,IAAA,sBAAgB,EAAC;YAC1C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,MAAM;YACrD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAkC;SACjF,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAG,OAAO,CAAC,sBAAsB;YAC3D,CAAC,CAAC,IAAA,sBAAgB,EAAC;gBACf,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,MAAM;gBACzD,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAkC;aACrF,CAAC;YACJ,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,uBAAuB,CAAA;QAC3B,IAAI,OAAO,CAAC,uBAAuB,EAAE;YACnC,MAAM,EACJ,4BAA4B,EAAE,kBAAkB,EAChD,mCAAmC,EAAE,yBAAyB,EAC9D,aAAa,EACb,SAAS,GACV,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;YAEvD,uBAAuB,GAAG,IAAA,uBAAiB,EAAC;gBAC1C,OAAO,EAAE,kBAAkB;gBAC3B,eAAe,EAAE,yBAAyB;gBAC1C,OAAO,EAAE,aAAa;gBACtB,UAAU,EAAE,SAAS;aACtB,CAAC,CAAA;SACH;QAED,MAAM,aAAa,GAAG,IAAA,qBAAe,GAAE,CAAA;QACvC,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAC9C,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,cAAmC,EACnC,kBAAuC,EACvC,sBAA2C,EAC3C,oBAAoB,EACpB,MAAA,MAAA,OAAO,CAAC,oBAAoB,0CAAE,MAAM,mCAAI,CAAC,EACzC,MAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,GAAG,GAAG,OAAO,EAAE,mCAAI,CAAC,EAC7C,aAAa,CACd,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,aAAa,CAAC,CAAC,CAAA;IACrE,CAAC;IAEM,0BAA0B,CAAC,OAA8C;QAC9E,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE1D,MAAM,GAAG,GAAG,IAAA,0BAAoB,GAAE,CAAA;QAElC,IAAI,CAAC,eAAe,CAAC,sCAAsC,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAA;QACpF,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,MAAM,MAAM,GAAG,mBAAmB,CAAS,GAAG,CAAC,CAAA;QAE/C,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAEM,iBAAiB,CAAC,OAMxB;;QACC,MAAM,EAAE,UAAU,EAAE,yBAAyB,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAEjH,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,4BAA4B,CAC/C,UAAU,EACV,yBAAyB,EACzB,YAAY,EACZ,oBAAoB,EACpB,MAAA,MAAA,OAAO,CAAC,4BAA4B,0CAAE,MAAM,mCAAI,CAAC,EACjD,GAAG,CACJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,qBAAqB,CAAC,OAI5B;QACC,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE7F,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAC7B,IAAI,CAAC,eAAe,CAAC,iCAAiC,CAAC,QAAQ,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAClH,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,uBAAuB,CAAC,OAO9B;QACC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,GAC/F,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE7B,MAAM,oBAAoB,GAAG,IAAA,qBAAe,GAAE,CAAA;QAC9C,MAAM,4BAA4B,GAAG,IAAA,qBAAe,GAAE,CAAA;QAEtD,IAAI,CAAC,eAAe,CAAC,mCAAmC,CACtD,OAAO,EACP,SAAS,EACT,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,4BAA4B,CAC7B,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO;YACL,iBAAiB,EAAE,IAAI,+BAAY,CAAC,mBAAmB,CAAS,oBAAoB,CAAC,CAAC;YACtF,yBAAyB,EAAE,IAAI,+BAAY,CAAC,mBAAmB,CAAS,4BAA4B,CAAC,CAAC;SACvG,CAAA;IACH,CAAC;IAEM,kBAAkB;QACvB,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,GAAG,CAAC,CAAA;QACxD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,kBAAkB,CAAC,OAQzB;QACC,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAEzE,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;;YAC1D,OAAA,IAAA,2BAAqB,EAAC;gBACpB,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM;gBACnC,SAAS,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAC;gBAChC,SAAS,EAAE,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,mCAAI,CAAC;aAC9C,CAAC,CAAA;SAAA,CACH,CAAA;QAED,MAAM,mBAAmB,GAAG,IAAA,+BAAyB,EAAC;YACpD,KAAK,EAAE,iBAAiB,CAAC,MAAM;YAC/B,IAAI,EAAE,iBAML;SACF,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9D,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,wBAAkB,EAAC,KAAK,CAAC,CAAA;YACxG,OAAO,IAAA,2BAAqB,EAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;QAC7E,CAAC,CAAC,CAAA;QAEF,MAAM,mBAAmB,GAAG,IAAA,+BAAyB,EAAC;YACpD,KAAK,EAAE,gBAAgB,CAAC,MAAM;YAC9B,IAAI,EAAE,gBAOL;SACF,CAAC,CAAA;QAEF,MAAM,eAAe,GAAG,IAAA,sBAAgB,EAAC;YACvC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM;YAC7C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAkC;SACvE,CAAC,CAAA;QAEF,MAAM,gBAAgB,GAAG,IAAA,sBAAgB,EAAC;YACxC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM;YAC/C,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAkC;SACzE,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,SAAS,GAAG,IAAA,sBAAgB,EAAC;YACjC,KAAK,EAAE,UAAU,CAAC,MAAM;YACxB,IAAI,EAAE,UAA2C;SAClD,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,IAAA,4BAAsB,EAAC;YACrC,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,IAAI,EAAE,IAAA,uBAAiB,EAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC3D,CAAC,CAAA;QAEF,MAAM,wBAAwB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAC3E,MAAM,uBAAuB,GAAG,IAAA,sBAAgB,EAAC;YAC/C,KAAK,EAAE,wBAAwB,CAAC,MAAM;YACtC,IAAI,EAAE,wBAAyD;SAChE,CAAC,CAAA;QAEF,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QAC/E,MAAM,qBAAqB,GAAG,IAAA,4BAAsB,EAAC;YACnD,KAAK,EAAE,0BAA0B,CAAC,MAAM;YACxC,IAAI,EAAE,IAAA,uBAAiB,EAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SACzE,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAChD,mBAAmB,EACnB,mBAAwC,EACxC,mBAAwC,EACxC,eAAoC,EACpC,gBAAqC,EACrC,YAAY,EACZ,OAA4B,EAC5B,SAA8B,EAC9B,qBAA0C,EAC1C,uBAA4C,EAC5C,GAAG,CACJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IACM,kBAAkB,CAAC,OAWzB;;QACC,MAAM,EACJ,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,+BAA+B,EAC/B,SAAS,EACT,uBAAuB,GACxB,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,gCAAgC,GAAG,MAAA,OAAO,CAAC,2BAA2B,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1F,MAAM,EAAE,sBAAsB,EAAE,8BAA8B,EAAE,qCAAqC,EAAE,GACrG,IAAA,wBAAkB,EAAC,KAAK,CAAC,CAAA;YAC3B,OAAO,IAAA,sCAAgC,EAAC;gBACtC,cAAc,EAAE,8BAA8B;gBAC9C,iBAAiB,EAAE,sBAAsB;gBACzC,2BAA2B,EAAE,qCAAqC;aACnE,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,MAAM,8BAA8B,GAAG,IAAA,0CAAoC,EAAC;YAC1E,KAAK,EAAE,MAAA,MAAA,OAAO,CAAC,2BAA2B,0CAAE,MAAM,mCAAI,CAAC;YACvD,IAAI,EAAE,gCAML;SACF,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG,IAAA,wBAAkB,GAAE,CAAA;QAEhC,IAAI,CAAC,eAAe,CAAC,6BAA6B,CAChD,YAAY,EACZ,mBAAmB,EACnB,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,uBAAuB,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,EACrB,8BAAmD,EACnD,GAAG,CACJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,OAAO,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAClD,CAAC;IAEM,0BAA0B,CAAC,OAMjC;QACC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,QAAQ,EAAE,GAC5G,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE7B,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,uCAAuC,CAC1D,8BAA8B,EAC9B,4BAA4B,EAC5B,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,GAAG,CACJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,uCAAuC,CAAC,OAG9C;QACC,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAC9E,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,sDAAsD,CACzE,SAAS,EACT,2BAA2B,EAC3B,GAAG,CACJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,0BAA0B,CAAC,OAMjC;QACC,MAAM,EAAE,2BAA2B,EAAE,SAAS,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,GAC7F,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAC7B,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,uCAAuC,CAC1D,SAAS,EACT,MAAM,EACN,OAAO,EACP,4BAA4B,EAC5B,2BAA2B,EAC3B,GAAG,CACJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,kCAAkC,CAAC,OAQzC;QACC,MAAM,EACJ,oBAAoB,EACpB,sBAAsB,EACtB,GAAG,EACH,sBAAsB,EACtB,QAAQ,EACR,uBAAuB,EACvB,kBAAkB,GACnB,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE/B,MAAM,+BAA+B,GAAG,IAAA,qBAAe,GAAE,CAAA;QACzD,MAAM,mCAAmC,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7D,IAAI,CAAC,eAAe,CAAC,wCAAwC,CAC3D,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,EACR,GAAG,EACH,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,EAClB,+BAA+B,EAC/B,mCAAmC,CACpC,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO;YACL,4BAA4B,EAAE,IAAI,+BAAY,CAAC,mBAAmB,CAAS,+BAA+B,CAAC,CAAC;YAC5G,mCAAmC,EAAE,IAAI,+BAAY,CACnD,mBAAmB,CAAS,mCAAmC,CAAC,CACjE;SACF,CAAA;IACH,CAAC;IAEM,6BAA6B,CAAC,OAOpC;;QACC,MAAM,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,SAAS,EAAE,GAC9F,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAE7B,MAAM,uBAAuB,GAAG,MAAA,OAAO,CAAC,uBAAuB,mCAAI,IAAI,+BAAY,CAAC,CAAC,CAAC,CAAA;QACtF,MAAM,4BAA4B,GAAG,MAAA,OAAO,CAAC,4BAA4B,mCAAI,IAAI,+BAAY,CAAC,CAAC,CAAC,CAAA;QAChG,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,IAAI,CAAC,eAAe,CAAC,2CAA2C,CAC9D,4BAA4B,EAC5B,oBAAoB,EACpB,uBAAuB,EACvB,SAAS,EACT,4BAA4B,CAAC,MAAM,EACnC,uBAAuB,CAAC,MAAM,EAC9B,GAAG,CACJ,CAAA;QACD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IACM,OAAO;QACZ,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,EAAE,CAAA;IACjD,CAAC;IAEM,gBAAgB;QACrB,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE,CAAA;QACnD,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,gEAAgE;IACzD,eAAe;QACpB,MAAM,GAAG,GAAG,IAAA,0BAAoB,GAAE,CAAA;QAClC,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAA;QACrD,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,mBAAmB,CAAS,GAAG,CAAC,CAAA;IACzC,CAAC;IAEO,cAAc,CAAC,MAAoD,EAAE,OAAyB;QACpG,MAAM,GAAG,GAAG,IAAA,qBAAe,GAAE,CAAA;QAE7B,MAAM,UAAU,GAAG,6BAAU,CAAC,cAAc,CAAC,IAAI,kBAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACpF,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,MAAM,CAAC,UAA+B,EAAE,GAAG,CAAC,CAAA;QAE5C,OAAO,IAAI,+BAAY,CAAC,mBAAmB,CAAS,GAAG,CAAC,CAAC,CAAA;IAC3D,CAAC;IAEM,2BAA2B,CAAC,OAAyB;QAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAA;IACpG,CAAC;IAEM,oBAAoB,CAAC,OAAyB;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,iCAAiC,EAAE,OAAO,CAAC,CAAA;IAC7F,CAAC;IAEM,yBAAyB,CAAC,OAAyB;QACxD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAA;IAClG,CAAC;IAEM,iCAAiC,CAAC,OAAyB;QAChE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAA;IAC3G,CAAC;IAEM,oCAAoC,CAAC,OAAyB;QACnE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,kDAAkD,EAAE,OAAO,CAAC,CAAA;IAC9G,CAAC;IAEM,0BAA0B,CAAC,OAAyB;QACzD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAA;IACnG,CAAC;IAEM,uBAAuB,CAAC,OAAyB;QACtD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAA;IAChG,CAAC;IAEM,oBAAoB,CAAC,OAAyB;QACnD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,gCAAgC,EAAE,OAAO,CAAC,CAAA;IAC5F,CAAC;IAEM,uBAAuB,CAAC,OAAyB;QACtD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,oCAAoC,EAAE,OAAO,CAAC,CAAA;IAChG,CAAC;IAEM,cAAc,CAAC,OAAyB;QAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAA;IACtF,CAAC;IAEM,kBAAkB,CAAC,OAAyB;QACjD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAA;IAC1F,CAAC;IAEM,2CAA2C,CAAC,OAAyB;QAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,0DAA0D,EAAE,OAAO,CAAC,CAAA;IACtH,CAAC;IAEM,+BAA+B,CAAC,OAAyB;QAC9D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,6CAA6C,EAAE,OAAO,CAAC,CAAA;IACzG,CAAC;IAEM,4BAA4B,CAAC,OAAyB;QAC3D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAA;IACrG,CAAC;IAEM,mCAAmC,CAAC,OAAyB;QAClE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,iDAAiD,EAAE,OAAO,CAAC,CAAA;IAC7G,CAAC;IAEM,2BAA2B,CAAC,OAAyB;QAC1D,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAA;IACrG,CAAC;IAEM,OAAO,CAAC,OAAuC;QACpD,MAAM,GAAG,GAAG,IAAA,wBAAkB,GAAE,CAAA;QAEhC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QACpD,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QACjE,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,MAAM,WAAW,GAAG,mBAAmB,CAAgC,GAAG,CAAC,CAAA;QAC3E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAA,wBAAkB,EAAC,WAAW,CAAC,CAAC,CAAA;QAE9D,OAAO,IAAI,kBAAW,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACzC,CAAC;IAEM,WAAW,CAAC,OAAuC;QACxD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAA;QAEpD,MAAM,GAAG,GAAG,IAAA,0BAAoB,GAAE,CAAA;QAElC,IAAI,CAAC,eAAe,CAAC,8BAA8B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;QACtE,IAAI,CAAC,WAAW,EAAE,CAAA;QAElB,OAAO,mBAAmB,CAAS,GAAG,CAAC,CAAA;IACzC,CAAC;IAEM,UAAU,CAAC,OAAuC;QACvD,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;QACvE,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;CACF;AA5qBD,0CA4qBC"}
@@ -0,0 +1,5 @@
1
+ export declare const allocateStringBuffer: () => Buffer;
2
+ export declare const allocatePointer: () => Buffer;
3
+ export declare const allocateInt8Buffer: () => Buffer;
4
+ export declare const allocateCredRevInfoStructPointer: () => Buffer;
5
+ export declare const allocateByteBuffer: () => Buffer;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allocateByteBuffer = exports.allocateCredRevInfoStructPointer = exports.allocateInt8Buffer = exports.allocatePointer = exports.allocateStringBuffer = void 0;
4
+ const ref_napi_1 = require("ref-napi");
5
+ const primitives_1 = require("../ffi/primitives");
6
+ const structures_1 = require("./structures");
7
+ // TODO: more allocations here
8
+ const allocateStringBuffer = () => (0, ref_napi_1.alloc)(primitives_1.FFI_STRING);
9
+ exports.allocateStringBuffer = allocateStringBuffer;
10
+ const allocatePointer = () => (0, ref_napi_1.alloc)(primitives_1.FFI_OBJECT_HANDLE);
11
+ exports.allocatePointer = allocatePointer;
12
+ const allocateInt8Buffer = () => (0, ref_napi_1.alloc)(primitives_1.FFI_INT8);
13
+ exports.allocateInt8Buffer = allocateInt8Buffer;
14
+ const allocateCredRevInfoStructPointer = () => (0, ref_napi_1.alloc)(structures_1.CredRevInfoStruct);
15
+ exports.allocateCredRevInfoStructPointer = allocateCredRevInfoStructPointer;
16
+ const allocateByteBuffer = () => (0, ref_napi_1.alloc)(structures_1.ByteBufferStruct);
17
+ exports.allocateByteBuffer = allocateByteBuffer;
18
+ //# sourceMappingURL=alloc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alloc.js","sourceRoot":"","sources":["../../src/ffi/alloc.ts"],"names":[],"mappings":";;;AAAA,uCAAgC;AAEhC,kDAA2E;AAE3E,6CAAkE;AAElE,8BAA8B;AAEvB,MAAM,oBAAoB,GAAG,GAAW,EAAE,CAAC,IAAA,gBAAK,EAAC,uBAAU,CAAC,CAAA;AAAtD,QAAA,oBAAoB,wBAAkC;AAE5D,MAAM,eAAe,GAAG,GAAW,EAAE,CAAC,IAAA,gBAAK,EAAC,8BAAiB,CAAC,CAAA;AAAxD,QAAA,eAAe,mBAAyC;AAE9D,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,IAAA,gBAAK,EAAC,qBAAQ,CAAC,CAAA;AAAlD,QAAA,kBAAkB,sBAAgC;AAExD,MAAM,gCAAgC,GAAG,GAAW,EAAE,CAAC,IAAA,gBAAK,EAAC,8BAAiB,CAAC,CAAA;AAAzE,QAAA,gCAAgC,oCAAyC;AAE/E,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,IAAA,gBAAK,EAAC,6BAAgB,CAAC,CAAA;AAA1D,QAAA,kBAAkB,sBAAwC"}
@@ -0,0 +1,8 @@
1
+ export declare const byteBufferToBuffer: (buffer: {
2
+ data: Buffer;
3
+ len: number;
4
+ }) => Buffer;
5
+ export declare const secretBufferToBuffer: (buffer: {
6
+ data: Buffer;
7
+ len: number;
8
+ }) => Buffer;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.secretBufferToBuffer = exports.byteBufferToBuffer = void 0;
4
+ const ref_napi_1 = require("ref-napi");
5
+ const byteBufferToBuffer = (buffer) => (0, ref_napi_1.reinterpret)(buffer.data, buffer.len);
6
+ exports.byteBufferToBuffer = byteBufferToBuffer;
7
+ exports.secretBufferToBuffer = exports.byteBufferToBuffer;
8
+ //# sourceMappingURL=conversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.js","sourceRoot":"","sources":["../../src/ffi/conversion.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAE/B,MAAM,kBAAkB,GAAG,CAAC,MAAqC,EAAE,EAAE,CAAC,IAAA,sBAAW,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;AAApG,QAAA,kBAAkB,sBAAkF;AAEpG,QAAA,oBAAoB,GAAG,0BAAkB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './alloc';
2
+ export * from './conversion';
3
+ export * from './structures';
4
+ export * from './primitives';
5
+ export * from './serialize';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./alloc"), exports);
14
+ __exportStar(require("./conversion"), exports);
15
+ __exportStar(require("./structures"), exports);
16
+ __exportStar(require("./primitives"), exports);
17
+ __exportStar(require("./serialize"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ffi/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAuB;AACvB,+CAA4B;AAC5B,+CAA4B;AAC5B,+CAA4B;AAC5B,8CAA2B"}
@@ -0,0 +1,14 @@
1
+ export declare const FFI_ISIZE = "size_t";
2
+ export declare const FFI_INT8 = "int8";
3
+ export declare const FFI_INT32 = "int32";
4
+ export declare const FFI_INT64 = "int64";
5
+ export declare const FFI_UINT = "uint";
6
+ export declare const FFI_UINT8 = "uint8";
7
+ export declare const FFI_ERRORCODE = "uint";
8
+ export declare const FFI_OBJECT_HANDLE = "size_t";
9
+ export declare const FFI_VOID: import("ref-napi").Type<void>;
10
+ export declare const FFI_STRING = "string";
11
+ export declare const FFI_ISIZE_PTR: import("ref-napi").Type<import("ref-napi").Pointer<string | number>>;
12
+ export declare const FFI_INT8_PTR: import("ref-napi").Type<import("ref-napi").Pointer<number>>;
13
+ export declare const FFI_OBJECT_HANDLE_PTR: import("ref-napi").Type<import("ref-napi").Pointer<string | number>>;
14
+ export declare const FFI_STRING_PTR: import("ref-napi").Type<import("ref-napi").Pointer<string | null>>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FFI_STRING_PTR = exports.FFI_OBJECT_HANDLE_PTR = exports.FFI_INT8_PTR = exports.FFI_ISIZE_PTR = exports.FFI_STRING = exports.FFI_VOID = exports.FFI_OBJECT_HANDLE = exports.FFI_ERRORCODE = exports.FFI_UINT8 = exports.FFI_UINT = exports.FFI_INT64 = exports.FFI_INT32 = exports.FFI_INT8 = exports.FFI_ISIZE = void 0;
4
+ const ref_napi_1 = require("ref-napi");
5
+ // Primitives
6
+ exports.FFI_ISIZE = 'size_t';
7
+ exports.FFI_INT8 = 'int8';
8
+ exports.FFI_INT32 = 'int32';
9
+ exports.FFI_INT64 = 'int64';
10
+ exports.FFI_UINT = 'uint';
11
+ exports.FFI_UINT8 = 'uint8';
12
+ exports.FFI_ERRORCODE = exports.FFI_UINT;
13
+ exports.FFI_OBJECT_HANDLE = exports.FFI_ISIZE;
14
+ exports.FFI_VOID = ref_napi_1.types.void;
15
+ exports.FFI_STRING = 'string';
16
+ // Pointers
17
+ exports.FFI_ISIZE_PTR = (0, ref_napi_1.refType)(exports.FFI_ISIZE);
18
+ exports.FFI_INT8_PTR = (0, ref_napi_1.refType)(exports.FFI_INT8);
19
+ exports.FFI_OBJECT_HANDLE_PTR = (0, ref_napi_1.refType)(exports.FFI_OBJECT_HANDLE);
20
+ exports.FFI_STRING_PTR = (0, ref_napi_1.refType)(exports.FFI_STRING);
21
+ //# sourceMappingURL=primitives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/ffi/primitives.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AAEzC,aAAa;AAEA,QAAA,SAAS,GAAG,QAAQ,CAAA;AACpB,QAAA,QAAQ,GAAG,MAAM,CAAA;AACjB,QAAA,SAAS,GAAG,OAAO,CAAA;AACnB,QAAA,SAAS,GAAG,OAAO,CAAA;AACnB,QAAA,QAAQ,GAAG,MAAM,CAAA;AACjB,QAAA,SAAS,GAAG,OAAO,CAAA;AACnB,QAAA,aAAa,GAAG,gBAAQ,CAAA;AACxB,QAAA,iBAAiB,GAAG,iBAAS,CAAA;AAC7B,QAAA,QAAQ,GAAG,gBAAK,CAAC,IAAI,CAAA;AACrB,QAAA,UAAU,GAAG,QAAQ,CAAA;AAElC,WAAW;AAEE,QAAA,aAAa,GAAG,IAAA,kBAAO,EAAC,iBAAS,CAAC,CAAA;AAClC,QAAA,YAAY,GAAG,IAAA,kBAAO,EAAC,gBAAQ,CAAC,CAAA;AAChC,QAAA,qBAAqB,GAAG,IAAA,kBAAO,EAAC,yBAAiB,CAAC,CAAA;AAClD,QAAA,cAAc,GAAG,IAAA,kBAAO,EAAC,kBAAU,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import type { ByteBufferStruct } from './structures';
2
+ import type { TypedArray } from 'ref-array-di';
3
+ import type { Pointer } from 'ref-napi';
4
+ import type { StructObject } from 'ref-struct-di';
5
+ import { ObjectHandle } from '@hyperledger/anoncreds-shared';
6
+ declare type Argument = Record<string, unknown> | Array<unknown> | Date | Uint8Array | SerializedArgument | boolean | ObjectHandle;
7
+ declare type SerializedArgument = string | number | ArrayBuffer | Buffer | StructObject<{
8
+ count: number | string;
9
+ data: TypedArray<string | number | null>;
10
+ }> | StructObject<{
11
+ count: number | string;
12
+ data: Pointer<TypedArray<string | number | null>>;
13
+ }>;
14
+ export declare type SerializedOptions<Type> = Required<{
15
+ [Property in keyof Type]: Type[Property] extends string ? string : Type[Property] extends number ? number : Type[Property] extends boolean ? number : Type[Property] extends boolean | undefined ? number : Type[Property] extends Record<string, unknown> ? string : Type[Property] extends Array<string> ? Buffer : Type[Property] extends Array<string> | undefined ? Buffer : Type[Property] extends Array<number> ? Buffer : Type[Property] extends Array<number> | undefined ? Buffer : Type[Property] extends Date ? number : Type[Property] extends Date | undefined ? number : Type[Property] extends string | undefined ? string : Type[Property] extends number | undefined ? number : Type[Property] extends Buffer ? Buffer : Type[Property] extends ObjectHandle ? number : Type[Property] extends Array<ObjectHandle> ? Buffer : Type[Property] extends Array<ObjectHandle> | undefined ? Buffer : Type[Property] extends ObjectHandle | undefined ? number : Type[Property] extends Uint8Array ? typeof ByteBufferStruct : Type[Property] extends Uint8Array | undefined ? typeof ByteBufferStruct : Type[Property] extends Array<unknown> | undefined ? string : Type[Property] extends Record<string, unknown> | undefined ? string : unknown;
16
+ }>;
17
+ declare const serializeArguments: <T extends Record<string, Argument> = Record<string, Argument>>(args: T) => Required<{ [Property in keyof T]: T[Property] extends string ? string : T[Property] extends number ? number : T[Property] extends boolean ? number : T[Property] extends boolean | undefined ? number : T[Property] extends Record<string, unknown> ? string : T[Property] extends string[] ? Buffer : T[Property] extends string[] | undefined ? Buffer : T[Property] extends number[] ? Buffer : T[Property] extends number[] | undefined ? Buffer : T[Property] extends Date ? number : T[Property] extends Date | undefined ? number : T[Property] extends string | undefined ? string : T[Property] extends number | undefined ? number : T[Property] extends Buffer ? Buffer : T[Property] extends ObjectHandle ? number : T[Property] extends ObjectHandle[] ? Buffer : T[Property] extends ObjectHandle[] | undefined ? Buffer : T[Property] extends ObjectHandle | undefined ? number : T[Property] extends Uint8Array ? import("ref-struct-di").StructType<{
18
+ len: import("ref-napi").Type<string | number>;
19
+ data: import("ref-napi").Type<Pointer<string | null>>;
20
+ }> : T[Property] extends Uint8Array | undefined ? import("ref-struct-di").StructType<{
21
+ len: import("ref-napi").Type<string | number>;
22
+ data: import("ref-napi").Type<Pointer<string | null>>;
23
+ }> : T[Property] extends unknown[] | undefined ? string : T[Property] extends Record<string, unknown> | undefined ? string : unknown; }>;
24
+ export { serializeArguments };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeArguments = void 0;
4
+ const anoncreds_shared_1 = require("@hyperledger/anoncreds-shared");
5
+ const ref_napi_1 = require("ref-napi");
6
+ const structures_1 = require("./structures");
7
+ // TODO: this method needs to be reworked.
8
+ // It is very messy
9
+ // cannot handle complex data structures well
10
+ const serialize = (arg) => {
11
+ switch (typeof arg) {
12
+ case 'undefined':
13
+ return ref_napi_1.NULL;
14
+ case 'boolean':
15
+ return Number(arg);
16
+ case 'string':
17
+ return arg;
18
+ case 'number':
19
+ return arg;
20
+ case 'function':
21
+ return arg;
22
+ case 'object':
23
+ if (arg instanceof anoncreds_shared_1.ObjectHandle) {
24
+ return arg.handle;
25
+ }
26
+ else if (Array.isArray(arg)) {
27
+ if (arg.every((it) => typeof it === 'string')) {
28
+ return (0, structures_1.StringListStruct)({ count: arg.length, data: arg });
29
+ }
30
+ else if (arg.every((it) => it instanceof anoncreds_shared_1.ObjectHandle)) {
31
+ return (0, structures_1.ObjectHandleListStruct)({
32
+ count: arg.length,
33
+ data: arg.map((i) => i.handle),
34
+ });
35
+ }
36
+ else if (arg.every((it) => typeof it === 'number')) {
37
+ return (0, structures_1.I32ListStruct)({
38
+ count: arg.length,
39
+ data: (0, structures_1.Int32Array)(arg),
40
+ });
41
+ }
42
+ }
43
+ // TODO: add more serialization here for classes and uint8arrays
44
+ return JSON.stringify(arg);
45
+ default:
46
+ throw new Error('could not serialize value');
47
+ }
48
+ };
49
+ const serializeArguments = (args) => {
50
+ const retVal = {};
51
+ Object.entries(args).forEach(([key, val]) => (retVal[key] = serialize(val)));
52
+ return retVal;
53
+ };
54
+ exports.serializeArguments = serializeArguments;
55
+ //# sourceMappingURL=serialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/ffi/serialize.ts"],"names":[],"mappings":";;;AAKA,oEAA4D;AAC5D,uCAA+B;AAE/B,6CAAkG;AAqElG,0CAA0C;AAC1C,mBAAmB;AACnB,6CAA6C;AAC7C,MAAM,SAAS,GAAG,CAAC,GAAa,EAAsB,EAAE;IACtD,QAAQ,OAAO,GAAG,EAAE;QAClB,KAAK,WAAW;YACd,OAAO,eAAI,CAAA;QACb,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;QACpB,KAAK,QAAQ;YACX,OAAO,GAAG,CAAA;QACZ,KAAK,QAAQ;YACX,OAAO,GAAG,CAAA;QACZ,KAAK,UAAU;YACb,OAAO,GAAG,CAAA;QACZ,KAAK,QAAQ;YACX,IAAI,GAAG,YAAY,+BAAY,EAAE;gBAC/B,OAAO,GAAG,CAAC,MAAM,CAAA;aAClB;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,EAAE;oBAC7C,OAAO,IAAA,6BAAgB,EAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAoC,EAAE,CAAC,CAAA;iBAC3F;qBAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,+BAAY,CAAC,EAAE;oBACxD,OAAO,IAAA,mCAAsB,EAAC;wBAC5B,KAAK,EAAE,GAAG,CAAC,MAAM;wBACjB,IAAI,EAAG,GAA2B,CAAC,GAAG,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAkC;qBACvG,CAAC,CAAA;iBACH;qBAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,EAAE;oBACpD,OAAO,IAAA,0BAAa,EAAC;wBACnB,KAAK,EAAE,GAAG,CAAC,MAAM;wBACjB,IAAI,EAAE,IAAA,uBAAU,EAAC,GAAoB,CAA2C;qBACjF,CAAC,CAAA;iBACH;aACF;YACD,gEAAgE;YAChE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC5B;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;KAC/C;AACH,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CACzB,IAAO,EACe,EAAE;IACxB,MAAM,MAAM,GAAwB,EAAE,CAAA;IACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC5E,OAAO,MAA8B,CAAA;AACvC,CAAC,CAAA;AAEQ,gDAAkB"}