Add comprehensive installation and setup documentation

- Add GETTING_STARTED.md with quick start guide and development modes
- Add INSTALL.sh automated installation script
- Add INSTALLATION_CHECKLIST.md, INSTALLATION_SUCCESS.md, and INSTALLATION_SUMMARY.md
- Add QUICK_REFERENCE.md for common commands
- Add SETUP_GUIDE.md with detailed setup instructions
- Update README.md with improved project overview
- Add did-wallet app dependencies and node_modules
This commit is contained in:
Dorian
2026-01-27 17:18:21 +00:00
parent a81f655133
commit 0d073fa89e
22658 changed files with 4494151 additions and 6 deletions
+3
View File
@@ -0,0 +1,3 @@
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.InterfaceStore = factory()}(typeof self !== 'undefined' ? self : this, function () {
"use strict";var InterfaceStore=(()=>{var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var y=(e,t,s,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of p(t))!r.call(e,n)&&n!==s&&i(e,n,{get:()=>t[n],enumerable:!(o=a(t,n))||o.enumerable});return e};var l=e=>y(i({},"__esModule",{value:!0}),e);var A={};return l(A);})();
return InterfaceStore}));
+103
View File
@@ -0,0 +1,103 @@
/**
* An iterable or async iterable of values
*/
export type AwaitIterable<T> = Iterable<T> | AsyncIterable<T>;
/**
* A value or a promise of a value
*/
export type Await<T> = Promise<T> | T;
/**
* Options for async operations.
*/
export interface AbortOptions {
signal?: AbortSignal;
}
export interface Store<Key, Value, Pair, HasOptionsExtension = {}, PutOptionsExtension = {}, PutManyOptionsExtension = {}, GetOptionsExtension = {}, GetManyOptionsExtension = {}, DeleteOptionsExtension = {}, DeleteManyOptionsExtension = {}> {
/**
* Check for the existence of a value for the passed key
*
* @example
* ```js
*const exists = await store.has(new Key('awesome'))
*
*if (exists) {
* console.log('it is there')
*} else {
* console.log('it is not there')
*}
*```
*/
has: (key: Key, options?: AbortOptions & HasOptionsExtension) => Await<boolean>;
/**
* Store the passed value under the passed key
*
* @example
*
* ```js
* await store.put([{ key: new Key('awesome'), value: new Uint8Array([0, 1, 2, 3]) }])
* ```
*/
put: (key: Key, val: Value, options?: AbortOptions & PutOptionsExtension) => Await<Key>;
/**
* Store the given key/value pairs
*
* @example
* ```js
* const source = [{ key: new Key('awesome'), value: new Uint8Array([0, 1, 2, 3]) }]
*
* for await (const { key, value } of store.putMany(source)) {
* console.info(`put content for key ${key}`)
* }
* ```
*/
putMany: (source: AwaitIterable<Pair>, options?: AbortOptions & PutManyOptionsExtension) => AwaitIterable<Key>;
/**
* Retrieve the value stored under the given key
*
* @example
* ```js
* const value = await store.get(new Key('awesome'))
* console.log('got content: %s', value.toString('utf8'))
* // => got content: datastore
* ```
*/
get: (key: Key, options?: AbortOptions & GetOptionsExtension) => Await<Value>;
/**
* Retrieve values for the passed keys
*
* @example
* ```js
* for await (const { key, value } of store.getMany([new Key('awesome')])) {
* console.log(`got "${key}" = "${new TextDecoder('utf8').decode(value)}"`')
* // => got "/awesome" = "datastore"
* }
* ```
*/
getMany: (source: AwaitIterable<Key>, options?: AbortOptions & GetManyOptionsExtension) => AwaitIterable<Pair>;
/**
* Remove the record for the passed key
*
* @example
*
* ```js
* await store.delete(new Key('awesome'))
* console.log('deleted awesome content :(')
* ```
*/
delete: (key: Key, options?: AbortOptions & DeleteOptionsExtension) => Await<void>;
/**
* Remove values for the passed keys
*
* @example
*
* ```js
* const source = [new Key('awesome')]
*
* for await (const key of store.deleteMany(source)) {
* console.log(`deleted content with key ${key}`)
* }
* ```
*/
deleteMany: (source: AwaitIterable<Key>, options?: AbortOptions & DeleteManyOptionsExtension) => AwaitIterable<Key>;
}
//# sourceMappingURL=index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAE7D;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAErC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,GAAG,EAAE,EAC/D,mBAAmB,GAAG,EAAE,EAAE,uBAAuB,GAAG,EAAE,EACtD,mBAAmB,GAAG,EAAE,EAAE,uBAAuB,GAAG,EAAE,EACtD,sBAAsB,GAAG,EAAE,EAAE,0BAA0B,GAAG,EAAE;IAC5D;;;;;;;;;;;;;OAaG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,mBAAmB,KAAK,KAAK,CAAC,OAAO,CAAC,CAAA;IAE/E;;;;;;;;OAQG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,mBAAmB,KAAK,KAAK,CAAC,GAAG,CAAC,CAAA;IAEvF;;;;;;;;;;;OAWG;IACH,OAAO,EAAE,CACP,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAC3B,OAAO,CAAC,EAAE,YAAY,GAAG,uBAAuB,KAC7C,aAAa,CAAC,GAAG,CAAC,CAAA;IAEvB;;;;;;;;;OASG;IACH,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,mBAAmB,KAAK,KAAK,CAAC,KAAK,CAAC,CAAA;IAE7E;;;;;;;;;;OAUG;IACH,OAAO,EAAE,CACP,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC1B,OAAO,CAAC,EAAE,YAAY,GAAG,uBAAuB,KAC7C,aAAa,CAAC,IAAI,CAAC,CAAA;IAExB;;;;;;;;;OASG;IACH,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,sBAAsB,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;IAElF;;;;;;;;;;;;OAYG;IACH,UAAU,EAAE,CACV,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC1B,OAAO,CAAC,EAAE,YAAY,GAAG,0BAA0B,KAChD,aAAa,CAAC,GAAG,CAAC,CAAA;CACxB"}
File diff suppressed because one or more lines are too long
+6
View File
@@ -0,0 +1,6 @@
{
"AbortOptions": "https://ipfs.github.io/js-stores/interfaces/blockstore_core._internal_.AbortOptions.html",
"Store": "https://ipfs.github.io/js-stores/interfaces/blockstore_core._internal_.Store.html",
"Await": "https://ipfs.github.io/js-stores/types/blockstore_core._internal_.Await.html",
"AwaitIterable": "https://ipfs.github.io/js-stores/types/blockstore_core._internal_.AwaitIterable.html"
}