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
+4
View File
@@ -0,0 +1,4 @@
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.ItPeekable = factory()}(typeof self !== 'undefined' ? self : this, function () {
"use strict";var ItPeekable=(()=>{var u=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var n in t)u(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of l(t))!s.call(e,r)&&r!==n&&u(e,r,{get:()=>t[r],enumerable:!(o=a(t,r))||o.enumerable});return e};var m=e=>c(u({},"__esModule",{value:!0}),e);var h={};y(h,{default:()=>f});function b(e){let[t,n]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],o=[];return{peek:()=>t.next(),push:r=>{o.push(r)},next:()=>o.length>0?{done:!1,value:o.shift()}:t.next(),[n](){return this}}}var f=b;return m(h);})();
return ItPeekable}));
//# sourceMappingURL=index.min.js.map
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../src/index.ts"],
"sourcesContent": ["/**\n * @packageDocumentation\n *\n * Lets you look at the contents of an async iterator and decide what to do\n *\n * @example\n *\n * ```javascript\n * import peekable from 'it-peekable'\n *\n * // This can also be an iterator, generator, etc\n * const values = [0, 1, 2, 3, 4]\n *\n * const it = peekable(value)\n *\n * const first = it.peek()\n *\n * console.info(first) // 0\n *\n * it.push(first)\n *\n * console.info([...it])\n * // [ 0, 1, 2, 3, 4 ]\n * ```\n *\n * Async sources must be awaited:\n *\n * ```javascript\n * import peekable from 'it-peekable'\n *\n * const values = async function * () {\n * yield * [0, 1, 2, 3, 4]\n * }\n *\n * const it = peekable(values())\n *\n * const first = await it.peek()\n *\n * console.info(first) // 0\n *\n * it.push(first)\n *\n * console.info(await all(it))\n * // [ 0, 1, 2, 3, 4 ]\n * ```\n */\n\nexport interface Peek <T> {\n peek(): IteratorResult<T, undefined>\n}\n\nexport interface AsyncPeek <T> {\n peek(): Promise<IteratorResult<T, undefined>>\n}\n\nexport interface Push <T> {\n push(value: T): void\n}\n\nexport type Peekable <T> = Iterable<T> & Peek<T> & Push<T> & Iterator<T>\n\nexport type AsyncPeekable <T> = AsyncIterable<T> & AsyncPeek<T> & Push<T> & AsyncIterator<T>\n\nfunction peekable <T> (iterable: Iterable<T>): Peekable<T>\nfunction peekable <T> (iterable: AsyncIterable<T>): AsyncPeekable<T>\nfunction peekable <T> (iterable: Iterable<T> | AsyncIterable<T>): Peekable<T> | AsyncPeekable<T> {\n // @ts-expect-error can't use Symbol.asyncIterator to index iterable since it might be Iterable\n const [iterator, symbol] = iterable[Symbol.asyncIterator] != null\n // @ts-expect-error can't use Symbol.asyncIterator to index iterable since it might be Iterable\n ? [iterable[Symbol.asyncIterator](), Symbol.asyncIterator]\n // @ts-expect-error can't use Symbol.iterator to index iterable since it might be AsyncIterable\n : [iterable[Symbol.iterator](), Symbol.iterator]\n\n const queue: any[] = []\n\n // @ts-expect-error can't use symbol to index peekable\n return {\n peek: () => {\n return iterator.next()\n },\n push: (value: any) => {\n queue.push(value)\n },\n next: () => {\n if (queue.length > 0) {\n return {\n done: false,\n value: queue.shift()\n }\n }\n\n return iterator.next()\n },\n [symbol] () {\n return this\n }\n }\n}\n\nexport default peekable\n"],
"mappings": ";8bAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAiEA,SAASC,EAAcC,EAAwC,CAE7D,GAAM,CAACC,EAAUC,CAAM,EAAIF,EAAS,OAAO,aAAa,GAAK,KAEzD,CAACA,EAAS,OAAO,aAAa,EAAC,EAAI,OAAO,aAAa,EAEvD,CAACA,EAAS,OAAO,QAAQ,EAAC,EAAI,OAAO,QAAQ,EAE3CG,EAAe,CAAA,EAGrB,MAAO,CACL,KAAM,IACGF,EAAS,KAAI,EAEtB,KAAOG,GAAc,CACnBD,EAAM,KAAKC,CAAK,CAClB,EACA,KAAM,IACAD,EAAM,OAAS,EACV,CACL,KAAM,GACN,MAAOA,EAAM,MAAK,GAIfF,EAAS,KAAI,EAEtB,CAACC,CAAM,GAAC,CACN,OAAO,IACT,EAEJ,CAEA,IAAAJ,EAAeC",
"names": ["index_exports", "__export", "index_default", "peekable", "iterable", "iterator", "symbol", "queue", "value"]
}
+61
View File
@@ -0,0 +1,61 @@
/**
* @packageDocumentation
*
* Lets you look at the contents of an async iterator and decide what to do
*
* @example
*
* ```javascript
* import peekable from 'it-peekable'
*
* // This can also be an iterator, generator, etc
* const values = [0, 1, 2, 3, 4]
*
* const it = peekable(value)
*
* const first = it.peek()
*
* console.info(first) // 0
*
* it.push(first)
*
* console.info([...it])
* // [ 0, 1, 2, 3, 4 ]
* ```
*
* Async sources must be awaited:
*
* ```javascript
* import peekable from 'it-peekable'
*
* const values = async function * () {
* yield * [0, 1, 2, 3, 4]
* }
*
* const it = peekable(values())
*
* const first = await it.peek()
*
* console.info(first) // 0
*
* it.push(first)
*
* console.info(await all(it))
* // [ 0, 1, 2, 3, 4 ]
* ```
*/
export interface Peek<T> {
peek(): IteratorResult<T, undefined>;
}
export interface AsyncPeek<T> {
peek(): Promise<IteratorResult<T, undefined>>;
}
export interface Push<T> {
push(value: T): void;
}
export type Peekable<T> = Iterable<T> & Peek<T> & Push<T> & Iterator<T>;
export type AsyncPeekable<T> = AsyncIterable<T> & AsyncPeek<T> & Push<T> & AsyncIterator<T>;
declare function peekable<T>(iterable: Iterable<T>): Peekable<T>;
declare function peekable<T>(iterable: AsyncIterable<T>): AsyncPeekable<T>;
export default peekable;
//# sourceMappingURL=index.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,MAAM,WAAW,IAAI,CAAE,CAAC;IACtB,IAAI,IAAI,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;CACrC;AAED,MAAM,WAAW,SAAS,CAAE,CAAC;IAC3B,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,IAAI,CAAE,CAAC;IACtB,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;CACrB;AAED,MAAM,MAAM,QAAQ,CAAE,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAExE,MAAM,MAAM,aAAa,CAAE,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAE5F,iBAAS,QAAQ,CAAE,CAAC,EAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC1D,iBAAS,QAAQ,CAAE,CAAC,EAAG,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;AAmCpE,eAAe,QAAQ,CAAA"}
+78
View File
@@ -0,0 +1,78 @@
/**
* @packageDocumentation
*
* Lets you look at the contents of an async iterator and decide what to do
*
* @example
*
* ```javascript
* import peekable from 'it-peekable'
*
* // This can also be an iterator, generator, etc
* const values = [0, 1, 2, 3, 4]
*
* const it = peekable(value)
*
* const first = it.peek()
*
* console.info(first) // 0
*
* it.push(first)
*
* console.info([...it])
* // [ 0, 1, 2, 3, 4 ]
* ```
*
* Async sources must be awaited:
*
* ```javascript
* import peekable from 'it-peekable'
*
* const values = async function * () {
* yield * [0, 1, 2, 3, 4]
* }
*
* const it = peekable(values())
*
* const first = await it.peek()
*
* console.info(first) // 0
*
* it.push(first)
*
* console.info(await all(it))
* // [ 0, 1, 2, 3, 4 ]
* ```
*/
function peekable(iterable) {
// @ts-expect-error can't use Symbol.asyncIterator to index iterable since it might be Iterable
const [iterator, symbol] = iterable[Symbol.asyncIterator] != null
// @ts-expect-error can't use Symbol.asyncIterator to index iterable since it might be Iterable
? [iterable[Symbol.asyncIterator](), Symbol.asyncIterator]
// @ts-expect-error can't use Symbol.iterator to index iterable since it might be AsyncIterable
: [iterable[Symbol.iterator](), Symbol.iterator];
const queue = [];
// @ts-expect-error can't use symbol to index peekable
return {
peek: () => {
return iterator.next();
},
push: (value) => {
queue.push(value);
},
next: () => {
if (queue.length > 0) {
return {
done: false,
value: queue.shift()
};
}
return iterator.next();
},
[symbol]() {
return this;
}
};
}
export default peekable;
//# sourceMappingURL=index.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAoBH,SAAS,QAAQ,CAAM,QAAwC;IAC7D,+FAA+F;IAC/F,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI;QAC/D,+FAA+F;QAC/F,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC;QAC1D,+FAA+F;QAC/F,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAA;IAElD,MAAM,KAAK,GAAU,EAAE,CAAA;IAEvB,sDAAsD;IACtD,OAAO;QACL,IAAI,EAAE,GAAG,EAAE;YACT,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC;QACD,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO;oBACL,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;iBACrB,CAAA;YACH,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;QACxB,CAAC;QACD,CAAC,MAAM,CAAC;YACN,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAA;AACH,CAAC;AAED,eAAe,QAAQ,CAAA"}