beignet 0.0.1
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/.eslintignore +4 -0
- package/.eslintrc +40 -0
- package/.prettierrc +9 -0
- package/LICENSE +21 -0
- package/README.md +166 -0
- package/dist/electrum/constants.js +31 -0
- package/dist/electrum/constants.js.map +1 -0
- package/dist/electrum/index.js +552 -0
- package/dist/electrum/index.js.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/shapes/electrum.js +14 -0
- package/dist/shapes/electrum.js.map +1 -0
- package/dist/shapes/index.js +19 -0
- package/dist/shapes/index.js.map +1 -0
- package/dist/shapes/wallet.js +115 -0
- package/dist/shapes/wallet.js.map +1 -0
- package/dist/transaction/index.js +692 -0
- package/dist/transaction/index.js.map +1 -0
- package/dist/types/electrum/constants.d.ts +7 -0
- package/dist/types/electrum/index.d.ts +85 -0
- package/dist/types/electrum.js +9 -0
- package/dist/types/electrum.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.js +20 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/shapes/electrum.d.ts +5 -0
- package/dist/types/shapes/index.d.ts +2 -0
- package/dist/types/shapes/wallet.d.ts +10 -0
- package/dist/types/transaction/index.d.ts +92 -0
- package/dist/types/transaction.js +12 -0
- package/dist/types/transaction.js.map +1 -0
- package/dist/types/types/electrum.d.ts +113 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/transaction.d.ts +51 -0
- package/dist/types/types/wallet.d.ts +400 -0
- package/dist/types/utils/conversion.d.ts +10 -0
- package/dist/types/utils/derivation-path.d.ts +19 -0
- package/dist/types/utils/electrum.d.ts +10 -0
- package/dist/types/utils/exchange-rate.d.ts +30 -0
- package/dist/types/utils/helpers.d.ts +23 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/result.d.ts +16 -0
- package/dist/types/utils/transaction.d.ts +21 -0
- package/dist/types/utils/wallet.d.ts +47 -0
- package/dist/types/wallet/constants.d.ts +12 -0
- package/dist/types/wallet/index.d.ts +214 -0
- package/dist/types/wallet.js +36 -0
- package/dist/types/wallet.js.map +1 -0
- package/dist/utils/conversion.js +52 -0
- package/dist/utils/conversion.js.map +1 -0
- package/dist/utils/derivation-path.js +104 -0
- package/dist/utils/derivation-path.js.map +1 -0
- package/dist/utils/electrum.js +149 -0
- package/dist/utils/electrum.js.map +1 -0
- package/dist/utils/exchange-rate.js +49 -0
- package/dist/utils/exchange-rate.js.map +1 -0
- package/dist/utils/helpers.js +137 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/index.js +24 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/result.js +36 -0
- package/dist/utils/result.js.map +1 -0
- package/dist/utils/transaction.js +327 -0
- package/dist/utils/transaction.js.map +1 -0
- package/dist/utils/wallet.js +227 -0
- package/dist/utils/wallet.js.map +1 -0
- package/dist/wallet/constants.js +15 -0
- package/dist/wallet/constants.js.map +1 -0
- package/dist/wallet/index.js +2113 -0
- package/dist/wallet/index.js.map +1 -0
- package/docs/html/.nojekyll +1 -0
- package/docs/html/assets/highlight.css +22 -0
- package/docs/html/assets/main.js +58 -0
- package/docs/html/assets/search.js +1 -0
- package/docs/html/assets/style.css +1367 -0
- package/docs/html/classes/Electrum.html +812 -0
- package/docs/html/classes/Transaction.html +687 -0
- package/docs/html/classes/Wallet.html +2030 -0
- package/docs/html/enums/EAddressType.html +227 -0
- package/docs/html/enums/EAvailableNetworks.html +255 -0
- package/docs/html/enums/EBoostType.html +220 -0
- package/docs/html/enums/EFeeId.html +241 -0
- package/docs/html/enums/EPaymentType.html +220 -0
- package/docs/html/enums/EProtocol.html +220 -0
- package/docs/html/enums/EUnit.html +227 -0
- package/docs/html/functions/availableNetworks.html +200 -0
- package/docs/html/functions/constructByteCountParam.html +210 -0
- package/docs/html/functions/decodeOpReturnMessage.html +202 -0
- package/docs/html/functions/decodeRawTransaction.html +210 -0
- package/docs/html/functions/err.html +214 -0
- package/docs/html/functions/formatKeyDerivationPath.html +219 -0
- package/docs/html/functions/formatPeerData.html +207 -0
- package/docs/html/functions/generateMnemonic.html +223 -0
- package/docs/html/functions/generateWalletId.html +202 -0
- package/docs/html/functions/getAddressFromScriptPubKey.html +209 -0
- package/docs/html/functions/getAddressTypeFromPath.html +206 -0
- package/docs/html/functions/getByteCount.html +206 -0
- package/docs/html/functions/getDataFallback.html +207 -0
- package/docs/html/functions/getDefaultPort.html +209 -0
- package/docs/html/functions/getDefaultWalletData.html +200 -0
- package/docs/html/functions/getDefaultWalletDataKeys.html +200 -0
- package/docs/html/functions/getExchangeRates.html +200 -0
- package/docs/html/functions/getHighestUsedIndexFromTxHashes.html +216 -0
- package/docs/html/functions/getKeyDerivationPath.html +211 -0
- package/docs/html/functions/getKeyDerivationPathObject.html +216 -0
- package/docs/html/functions/getKeyDerivationPathString.html +220 -0
- package/docs/html/functions/getKeyValue.html +206 -0
- package/docs/html/functions/getPeers.html +211 -0
- package/docs/html/functions/getProtocolForPort.html +209 -0
- package/docs/html/functions/getScriptHash.html +210 -0
- package/docs/html/functions/getSeed.html +209 -0
- package/docs/html/functions/getSeedHash.html +206 -0
- package/docs/html/functions/getSha256.html +206 -0
- package/docs/html/functions/getStorageKeyValues.html +209 -0
- package/docs/html/functions/getTxFee.html +210 -0
- package/docs/html/functions/getWalletDataStorageKey.html +206 -0
- package/docs/html/functions/isValidBech32mEncodedString.html +211 -0
- package/docs/html/functions/objectKeys-1.html +211 -0
- package/docs/html/functions/objectsMatch.html +210 -0
- package/docs/html/functions/ok.html +214 -0
- package/docs/html/functions/parseOnChainPaymentRequest.html +204 -0
- package/docs/html/functions/reduceValue.html +215 -0
- package/docs/html/functions/removeDustOutputs.html +206 -0
- package/docs/html/functions/setReplaceByFee.html +210 -0
- package/docs/html/functions/shuffleArray.html +211 -0
- package/docs/html/functions/validateAddress.html +216 -0
- package/docs/html/functions/validateMnemonic.html +206 -0
- package/docs/html/functions/validateTransaction.html +206 -0
- package/docs/html/index.html +360 -0
- package/docs/html/interfaces/IAddInput.html +231 -0
- package/docs/html/interfaces/IAddress.html +247 -0
- package/docs/html/interfaces/IAddressData.html +231 -0
- package/docs/html/interfaces/IAddressType.html +199 -0
- package/docs/html/interfaces/IAddressTypeData.html +252 -0
- package/docs/html/interfaces/IAddresses.html +199 -0
- package/docs/html/interfaces/IBoostedTransaction.html +238 -0
- package/docs/html/interfaces/IBoostedTransactions.html +199 -0
- package/docs/html/interfaces/ICreateTransaction.html +224 -0
- package/docs/html/interfaces/ICustomGetAddress.html +231 -0
- package/docs/html/interfaces/ICustomGetScriptHash.html +224 -0
- package/docs/html/interfaces/IElectrumGetAddressBalanceRes.html +235 -0
- package/docs/html/interfaces/IExchangeRates.html +210 -0
- package/docs/html/interfaces/IFormattedPeerData.html +245 -0
- package/docs/html/interfaces/IFormattedTransaction.html +343 -0
- package/docs/html/interfaces/IFormattedTransactions.html +199 -0
- package/docs/html/interfaces/IGenerateAddresses.html +252 -0
- package/docs/html/interfaces/IGenerateAddressesResponse.html +224 -0
- package/docs/html/interfaces/IGetAddress.html +231 -0
- package/docs/html/interfaces/IGetAddressBalanceRes.html +226 -0
- package/docs/html/interfaces/IGetAddressByPath.html +224 -0
- package/docs/html/interfaces/IGetAddressHistoryResponse.html +269 -0
- package/docs/html/interfaces/IGetAddressResponse.html +231 -0
- package/docs/html/interfaces/IGetAddressScriptHashesHistoryResponse.html +245 -0
- package/docs/html/interfaces/IGetDerivationPath.html +259 -0
- package/docs/html/interfaces/IGetFeeEstimatesResponse.html +238 -0
- package/docs/html/interfaces/IGetHeaderResponse.html +245 -0
- package/docs/html/interfaces/IGetNextAvailableAddressResponse.html +238 -0
- package/docs/html/interfaces/IGetTransactions.html +245 -0
- package/docs/html/interfaces/IGetTransactionsFromInputs.html +245 -0
- package/docs/html/interfaces/IGetUtxosResponse.html +224 -0
- package/docs/html/interfaces/IHeader.html +231 -0
- package/docs/html/interfaces/IIndexes.html +238 -0
- package/docs/html/interfaces/IKeyDerivationPath.html +247 -0
- package/docs/html/interfaces/IKeyDerivationPathData.html +224 -0
- package/docs/html/interfaces/INewBlock.html +224 -0
- package/docs/html/interfaces/IOnchainFees.html +245 -0
- package/docs/html/interfaces/IOutput.html +231 -0
- package/docs/html/interfaces/IPeerData.html +231 -0
- package/docs/html/interfaces/IRbfData.html +252 -0
- package/docs/html/interfaces/ISend.html +224 -0
- package/docs/html/interfaces/ISendTransaction.html +322 -0
- package/docs/html/interfaces/ISendTx.html +231 -0
- package/docs/html/interfaces/ISetupTransaction.html +238 -0
- package/docs/html/interfaces/ISubscribeToAddress.html +247 -0
- package/docs/html/interfaces/ISubscribeToHeader.html +245 -0
- package/docs/html/interfaces/ITargets.html +238 -0
- package/docs/html/interfaces/ITransaction.html +281 -0
- package/docs/html/interfaces/ITxHash.html +217 -0
- package/docs/html/interfaces/ITxHashes.html +235 -0
- package/docs/html/interfaces/IUtxo.html +275 -0
- package/docs/html/interfaces/IVin.html +252 -0
- package/docs/html/interfaces/IVout.html +246 -0
- package/docs/html/interfaces/IWallet.html +350 -0
- package/docs/html/interfaces/IWalletData.html +343 -0
- package/docs/html/types/ElectrumConnectionPubSub.html +233 -0
- package/docs/html/types/ElectrumConnectionSubscription.html +204 -0
- package/docs/html/types/InputData.html +203 -0
- package/docs/html/types/ObjectKeys.html +198 -0
- package/docs/html/types/Result.html +201 -0
- package/docs/html/types/TAddressIndexInfo.html +204 -0
- package/docs/html/types/TAddressLabel.html +193 -0
- package/docs/html/types/TAddressType.html +193 -0
- package/docs/html/types/TAddressTypeContent.html +198 -0
- package/docs/html/types/TAddressTypes.html +193 -0
- package/docs/html/types/TAvailableNetworks.html +193 -0
- package/docs/html/types/TConnectToElectrumRes.html +193 -0
- package/docs/html/types/TDecodeRawTx.html +214 -0
- package/docs/html/types/TElectrumNetworks.html +193 -0
- package/docs/html/types/TGetAddressHistory.html +200 -0
- package/docs/html/types/TGetByteCountInput.html +193 -0
- package/docs/html/types/TGetByteCountInputs.html +193 -0
- package/docs/html/types/TGetByteCountOutput.html +193 -0
- package/docs/html/types/TGetByteCountOutputs.html +193 -0
- package/docs/html/types/TGetData.html +211 -0
- package/docs/html/types/TGetTotalFeeObj.html +204 -0
- package/docs/html/types/TKeyDerivationAccount.html +193 -0
- package/docs/html/types/TKeyDerivationChange.html +193 -0
- package/docs/html/types/TKeyDerivationCoinType.html +193 -0
- package/docs/html/types/TKeyDerivationIndex.html +193 -0
- package/docs/html/types/TKeyDerivationPurpose.html +193 -0
- package/docs/html/types/TMessageDataMap.html +210 -0
- package/docs/html/types/TMessageKeys.html +193 -0
- package/docs/html/types/TOnMessage.html +213 -0
- package/docs/html/types/TProcessUnconfirmedTransactions.html +202 -0
- package/docs/html/types/TProtocol.html +193 -0
- package/docs/html/types/TServer.html +204 -0
- package/docs/html/types/TSetData.html +213 -0
- package/docs/html/types/TSetupTransactionResponse.html +193 -0
- package/docs/html/types/TStorage.html +200 -0
- package/docs/html/types/TSubscribedReceive.html +193 -0
- package/docs/html/types/TTransactionMessage.html +198 -0
- package/docs/html/types/TTxResponse.html +206 -0
- package/docs/html/types/TTxResult.html +200 -0
- package/docs/html/types/TUnspentAddressScriptHashData.html +198 -0
- package/docs/html/types/TWalletDataKeys.html +193 -0
- package/docs/html/variables/defaultElectrumPorts.html +193 -0
- package/docs/html/variables/electrumConnection.html +199 -0
- package/docs/html/variables/mostUsedExchangeTickers.html +241 -0
- package/docs/markdown/.nojekyll +1 -0
- package/docs/markdown/README.md +1875 -0
- package/docs/markdown/classes/Electrum.md +718 -0
- package/docs/markdown/classes/Transaction.md +536 -0
- package/docs/markdown/classes/Wallet.md +2189 -0
- package/docs/markdown/enums/EAddressType.md +41 -0
- package/docs/markdown/enums/EAvailableNetworks.md +85 -0
- package/docs/markdown/enums/EBoostType.md +30 -0
- package/docs/markdown/enums/EFeeId.md +63 -0
- package/docs/markdown/enums/EPaymentType.md +30 -0
- package/docs/markdown/enums/EProtocol.md +30 -0
- package/docs/markdown/enums/EUnit.md +41 -0
- package/docs/markdown/interfaces/IAddInput.md +41 -0
- package/docs/markdown/interfaces/IAddress.md +69 -0
- package/docs/markdown/interfaces/IAddressData.md +41 -0
- package/docs/markdown/interfaces/IAddressType.md +7 -0
- package/docs/markdown/interfaces/IAddressTypeData.md +74 -0
- package/docs/markdown/interfaces/IAddresses.md +7 -0
- package/docs/markdown/interfaces/IBoostedTransaction.md +52 -0
- package/docs/markdown/interfaces/IBoostedTransactions.md +7 -0
- package/docs/markdown/interfaces/ICreateTransaction.md +30 -0
- package/docs/markdown/interfaces/ICustomGetAddress.md +41 -0
- package/docs/markdown/interfaces/ICustomGetScriptHash.md +30 -0
- package/docs/markdown/interfaces/IElectrumGetAddressBalanceRes.md +55 -0
- package/docs/markdown/interfaces/IExchangeRates.md +7 -0
- package/docs/markdown/interfaces/IFormattedPeerData.md +63 -0
- package/docs/markdown/interfaces/IFormattedTransaction.md +217 -0
- package/docs/markdown/interfaces/IFormattedTransactions.md +7 -0
- package/docs/markdown/interfaces/IGenerateAddresses.md +74 -0
- package/docs/markdown/interfaces/IGenerateAddressesResponse.md +30 -0
- package/docs/markdown/interfaces/IGetAddress.md +41 -0
- package/docs/markdown/interfaces/IGetAddressBalanceRes.md +36 -0
- package/docs/markdown/interfaces/IGetAddressByPath.md +30 -0
- package/docs/markdown/interfaces/IGetAddressHistoryResponse.md +121 -0
- package/docs/markdown/interfaces/IGetAddressResponse.md +41 -0
- package/docs/markdown/interfaces/IGetAddressScriptHashesHistoryResponse.md +63 -0
- package/docs/markdown/interfaces/IGetDerivationPath.md +100 -0
- package/docs/markdown/interfaces/IGetFeeEstimatesResponse.md +52 -0
- package/docs/markdown/interfaces/IGetHeaderResponse.md +63 -0
- package/docs/markdown/interfaces/IGetNextAvailableAddressResponse.md +52 -0
- package/docs/markdown/interfaces/IGetTransactions.md +63 -0
- package/docs/markdown/interfaces/IGetTransactionsFromInputs.md +63 -0
- package/docs/markdown/interfaces/IGetUtxosResponse.md +30 -0
- package/docs/markdown/interfaces/IHeader.md +41 -0
- package/docs/markdown/interfaces/IIndexes.md +52 -0
- package/docs/markdown/interfaces/IKeyDerivationPath.md +69 -0
- package/docs/markdown/interfaces/IKeyDerivationPathData.md +30 -0
- package/docs/markdown/interfaces/INewBlock.md +30 -0
- package/docs/markdown/interfaces/IOnchainFees.md +63 -0
- package/docs/markdown/interfaces/IOutput.md +41 -0
- package/docs/markdown/interfaces/IPeerData.md +41 -0
- package/docs/markdown/interfaces/IRbfData.md +74 -0
- package/docs/markdown/interfaces/ISend.md +30 -0
- package/docs/markdown/interfaces/ISendTransaction.md +184 -0
- package/docs/markdown/interfaces/ISendTx.md +41 -0
- package/docs/markdown/interfaces/ISetupTransaction.md +52 -0
- package/docs/markdown/interfaces/ISubscribeToAddress.md +60 -0
- package/docs/markdown/interfaces/ISubscribeToHeader.md +59 -0
- package/docs/markdown/interfaces/ITargets.md +52 -0
- package/docs/markdown/interfaces/ITransaction.md +88 -0
- package/docs/markdown/interfaces/ITxHash.md +19 -0
- package/docs/markdown/interfaces/ITxHashes.md +55 -0
- package/docs/markdown/interfaces/IUtxo.md +112 -0
- package/docs/markdown/interfaces/IVin.md +70 -0
- package/docs/markdown/interfaces/IVout.md +52 -0
- package/docs/markdown/interfaces/IWallet.md +209 -0
- package/docs/markdown/interfaces/IWalletData.md +217 -0
- package/example/helpers.ts +76 -0
- package/example/index.ts +77 -0
- package/package.json +69 -0
- package/src/electrum/constants.ts +28 -0
- package/src/electrum/index.ts +838 -0
- package/src/index.ts +6 -0
- package/src/shapes/electrum.ts +13 -0
- package/src/shapes/index.ts +2 -0
- package/src/shapes/wallet.ts +133 -0
- package/src/transaction/index.ts +1078 -0
- package/src/types/electrum.ts +139 -0
- package/src/types/index.ts +3 -0
- package/src/types/transaction.ts +58 -0
- package/src/types/wallet.ts +503 -0
- package/src/utils/conversion.ts +88 -0
- package/src/utils/derivation-path.ts +171 -0
- package/src/utils/electrum.ts +188 -0
- package/src/utils/exchange-rate.ts +70 -0
- package/src/utils/helpers.ts +191 -0
- package/src/utils/index.ts +7 -0
- package/src/utils/result.ts +79 -0
- package/src/utils/transaction.ts +417 -0
- package/src/utils/wallet.ts +351 -0
- package/src/wallet/constants.ts +24 -0
- package/src/wallet/index.ts +3304 -0
- package/tests/constants.ts +9 -0
- package/tests/derivation.test.ts +146 -0
- package/tests/electrum.test.ts +137 -0
- package/tests/storage.test.ts +222 -0
- package/tests/transaction.test.ts +187 -0
- package/tests/wallet.test.ts +307 -0
- package/tsconfig.json +32 -0
- package/typedoc.json +5 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wallet/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--light-code-background: #FFFFFF;
|
|
3
|
+
--dark-code-background: #1E1E1E;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@media (prefers-color-scheme: light) { :root {
|
|
7
|
+
--code-background: var(--light-code-background);
|
|
8
|
+
} }
|
|
9
|
+
|
|
10
|
+
@media (prefers-color-scheme: dark) { :root {
|
|
11
|
+
--code-background: var(--dark-code-background);
|
|
12
|
+
} }
|
|
13
|
+
|
|
14
|
+
:root[data-theme='light'] {
|
|
15
|
+
--code-background: var(--light-code-background);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
:root[data-theme='dark'] {
|
|
19
|
+
--code-background: var(--dark-code-background);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
pre, code { background: var(--code-background); }
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use strict";(()=>{var Se=Object.create;var re=Object.defineProperty;var we=Object.getOwnPropertyDescriptor;var Te=Object.getOwnPropertyNames;var ke=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var Pe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ie=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Te(e))!Qe.call(t,i)&&i!==r&&re(t,i,{get:()=>e[i],enumerable:!(n=we(e,i))||n.enumerable});return t};var Ce=(t,e,r)=>(r=t!=null?Se(ke(t)):{},Ie(e||!t||!t.__esModule?re(r,"default",{value:t,enumerable:!0}):r,t));var ae=Pe((se,oe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i<n.length;i++){var s=n[i],o=e[s];if(Array.isArray(o)){r[s]=o.slice();continue}if(typeof o=="string"||typeof o=="number"||typeof o=="boolean"){r[s]=o;continue}throw new TypeError("clone is not deep and does not support nested objects")}return r},t.FieldRef=function(e,r,n){this.docRef=e,this.fieldName=r,this._stringValue=n},t.FieldRef.joiner="/",t.FieldRef.fromString=function(e){var r=e.indexOf(t.FieldRef.joiner);if(r===-1)throw"malformed field ref string";var n=e.slice(0,r),i=e.slice(r+1);return new t.FieldRef(i,n,e)},t.FieldRef.prototype.toString=function(){return this._stringValue==null&&(this._stringValue=this.fieldName+t.FieldRef.joiner+this.docRef),this._stringValue};t.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var r=0;r<this.length;r++)this.elements[e[r]]=!0}else this.length=0},t.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},t.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},t.Set.prototype.contains=function(e){return!!this.elements[e]},t.Set.prototype.intersect=function(e){var r,n,i,s=[];if(e===t.Set.complete)return this;if(e===t.Set.empty)return e;this.length<e.length?(r=this,n=e):(r=e,n=this),i=Object.keys(r.elements);for(var o=0;o<i.length;o++){var a=i[o];a in n.elements&&s.push(a)}return new t.Set(s)},t.Set.prototype.union=function(e){return e===t.Set.complete?t.Set.complete:e===t.Set.empty?this:new t.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},t.idf=function(e,r){var n=0;for(var i in e)i!="_index"&&(n+=Object.keys(e[i]).length);var s=(r-n+.5)/(n+.5);return Math.log(1+Math.abs(s))},t.Token=function(e,r){this.str=e||"",this.metadata=r||{}},t.Token.prototype.toString=function(){return this.str},t.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},t.Token.prototype.clone=function(e){return e=e||function(r){return r},new t.Token(e(this.str,this.metadata),this.metadata)};t.tokenizer=function(e,r){if(e==null||e==null)return[];if(Array.isArray(e))return e.map(function(m){return new t.Token(t.utils.asString(m).toLowerCase(),t.utils.clone(r))});for(var n=e.toString().toLowerCase(),i=n.length,s=[],o=0,a=0;o<=i;o++){var l=n.charAt(o),u=o-a;if(l.match(t.tokenizer.separator)||o==i){if(u>0){var d=t.utils.clone(r)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(n.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index.
|
|
3
|
+
`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n<r;n++){for(var i=this._stack[n],s=[],o=0;o<e.length;o++){var a=i(e[o],o,e);if(!(a==null||a===""))if(Array.isArray(a))for(var l=0;l<a.length;l++)s.push(a[l]);else s.push(a)}e=s}return e},t.Pipeline.prototype.runString=function(e,r){var n=new t.Token(e,r);return this.run([n]).map(function(i){return i.toString()})},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})};t.Vector=function(e){this._magnitude=0,this.elements=e||[]},t.Vector.prototype.positionForIndex=function(e){if(this.elements.length==0)return 0;for(var r=0,n=this.elements.length/2,i=n-r,s=Math.floor(i/2),o=this.elements[s*2];i>1&&(o<e&&(r=s),o>e&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(o<e)return(s+1)*2},t.Vector.prototype.insert=function(e,r){this.upsert(e,r,function(){throw"duplicate index"})},t.Vector.prototype.upsert=function(e,r,n){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=n(this.elements[i+1],r):this.elements.splice(i,0,e,r)},t.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,r=this.elements.length,n=1;n<r;n+=2){var i=this.elements[n];e+=i*i}return this._magnitude=Math.sqrt(e)},t.Vector.prototype.dot=function(e){for(var r=0,n=this.elements,i=e.elements,s=n.length,o=i.length,a=0,l=0,u=0,d=0;u<s&&d<o;)a=n[u],l=i[d],a<l?u+=2:a>l?d+=2:a==l&&(r+=n[u+1]*i[d+1],u+=2,d+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r<this.elements.length;r+=2,n++)e[n]=this.elements[r];return e},t.Vector.prototype.toJSON=function(){return this.elements};t.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},r={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},n="[^aeiou]",i="[aeiouy]",s=n+"[^aeiouy]*",o=i+"[aeiou]*",a="^("+s+")?"+o+s,l="^("+s+")?"+o+s+"("+o+")?$",u="^("+s+")?"+o+s+o+s,d="^("+s+")?"+i,m=new RegExp(a),y=new RegExp(u),b=new RegExp(l),g=new RegExp(d),E=/^(.+?)(ss|i)es$/,f=/^(.+?)([^s])s$/,p=/^(.+?)eed$/,w=/^(.+?)(ed|ing)$/,S=/.$/,k=/(at|bl|iz)$/,_=new RegExp("([^aeiouylsz])\\1$"),B=new RegExp("^"+s+i+"[^aeiouwxy]$"),A=/^(.+?[^aeiou])y$/,j=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,q=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,V=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,$=/^(.+?)(s|t)(ion)$/,I=/^(.+?)e$/,z=/ll$/,W=new RegExp("^"+s+i+"[^aeiouwxy]$"),H=function(c){var v,C,T,h,x,O,F;if(c.length<3)return c;if(T=c.substr(0,1),T=="y"&&(c=T.toUpperCase()+c.substr(1)),h=E,x=f,h.test(c)?c=c.replace(h,"$1$2"):x.test(c)&&(c=c.replace(x,"$1$2")),h=p,x=w,h.test(c)){var L=h.exec(c);h=m,h.test(L[1])&&(h=S,c=c.replace(h,""))}else if(x.test(c)){var L=x.exec(c);v=L[1],x=g,x.test(v)&&(c=v,x=k,O=_,F=B,x.test(c)?c=c+"e":O.test(c)?(h=S,c=c.replace(h,"")):F.test(c)&&(c=c+"e"))}if(h=A,h.test(c)){var L=h.exec(c);v=L[1],c=v+"i"}if(h=j,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+e[C])}if(h=q,h.test(c)){var L=h.exec(c);v=L[1],C=L[2],h=m,h.test(v)&&(c=v+r[C])}if(h=V,x=$,h.test(c)){var L=h.exec(c);v=L[1],h=y,h.test(v)&&(c=v)}else if(x.test(c)){var L=x.exec(c);v=L[1]+L[2],x=y,x.test(v)&&(c=v)}if(h=I,h.test(c)){var L=h.exec(c);v=L[1],h=y,x=b,O=W,(h.test(v)||x.test(v)&&!O.test(v))&&(c=v)}return h=z,x=y,h.test(c)&&x.test(c)&&(h=S,c=c.replace(h,"")),T=="y"&&(c=T.toLowerCase()+c.substr(1)),c};return function(R){return R.update(H)}}(),t.Pipeline.registerFunction(t.stemmer,"stemmer");t.generateStopWordFilter=function(e){var r=e.reduce(function(n,i){return n[i]=i,n},{});return function(n){if(n&&r[n.toString()]!==n.toString())return n}},t.stopWordFilter=t.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),t.Pipeline.registerFunction(t.stopWordFilter,"stopWordFilter");t.trimmer=function(e){return e.update(function(r){return r.replace(/^\W+/,"").replace(/\W+$/,"")})},t.Pipeline.registerFunction(t.trimmer,"trimmer");t.TokenSet=function(){this.final=!1,this.edges={},this.id=t.TokenSet._nextId,t.TokenSet._nextId+=1},t.TokenSet._nextId=1,t.TokenSet.fromArray=function(e){for(var r=new t.TokenSet.Builder,n=0,i=e.length;n<i;n++)r.insert(e[n]);return r.finish(),r.root},t.TokenSet.fromClause=function(e){return"editDistance"in e?t.TokenSet.fromFuzzyString(e.term,e.editDistance):t.TokenSet.fromString(e.term)},t.TokenSet.fromFuzzyString=function(e,r){for(var n=new t.TokenSet,i=[{node:n,editsRemaining:r,str:e}];i.length;){var s=i.pop();if(s.str.length>0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),y;m in s.node.edges?y=s.node.edges[m]:(y=new t.TokenSet,s.node.edges[m]=y),s.str.length==1&&(y.final=!0),i.push({node:y,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i<s;i++){var o=e[i],a=i==s-1;if(o=="*")r.edges[o]=r,r.final=a;else{var l=new t.TokenSet;l.final=a,r.edges[o]=l,r=l}}return n},t.TokenSet.prototype.toArray=function(){for(var e=[],r=[{prefix:"",node:this}];r.length;){var n=r.pop(),i=Object.keys(n.node.edges),s=i.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<s;o++){var a=i[o];r.push({prefix:n.prefix.concat(a),node:n.node.edges[a]})}}return e},t.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",r=Object.keys(this.edges).sort(),n=r.length,i=0;i<n;i++){var s=r[i],o=this.edges[s];e=e+s+o.id}return e},t.TokenSet.prototype.intersect=function(e){for(var r=new t.TokenSet,n=void 0,i=[{qNode:e,output:r,node:this}];i.length;){n=i.pop();for(var s=Object.keys(n.qNode.edges),o=s.length,a=Object.keys(n.node.edges),l=a.length,u=0;u<o;u++)for(var d=s[u],m=0;m<l;m++){var y=a[m];if(y==d||d=="*"){var b=n.node.edges[y],g=n.qNode.edges[d],E=b.final&&g.final,f=void 0;y in n.output.edges?(f=n.output.edges[y],f.final=f.final||E):(f=new t.TokenSet,f.final=E,n.output.edges[y]=f),i.push({qNode:g,output:f,node:b})}}}return r},t.TokenSet.Builder=function(){this.previousWord="",this.root=new t.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},t.TokenSet.Builder.prototype.insert=function(e){var r,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var i=0;i<e.length&&i<this.previousWord.length&&e[i]==this.previousWord[i];i++)n++;this.minimize(n),this.uncheckedNodes.length==0?r=this.root:r=this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(var i=n;i<e.length;i++){var s=new t.TokenSet,o=e[i];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=e},t.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},t.TokenSet.Builder.prototype.minimize=function(e){for(var r=this.uncheckedNodes.length-1;r>=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l<this.fields.length;l++)i[this.fields[l]]=new t.Vector;e.call(r,r);for(var l=0;l<r.clauses.length;l++){var u=r.clauses[l],d=null,m=t.Set.empty;u.usePipeline?d=this.pipeline.runString(u.term,{fields:u.fields}):d=[u.term];for(var y=0;y<d.length;y++){var b=d[y];u.term=b;var g=t.TokenSet.fromClause(u),E=this.tokenSet.intersect(g).toArray();if(E.length===0&&u.presence===t.Query.presence.REQUIRED){for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=t.Set.empty}break}for(var w=0;w<E.length;w++)for(var S=E[w],k=this.invertedIndex[S],_=k._index,f=0;f<u.fields.length;f++){var p=u.fields[f],B=k[p],A=Object.keys(B),j=S+"/"+p,q=new t.Set(A);if(u.presence==t.Query.presence.REQUIRED&&(m=m.union(q),o[p]===void 0&&(o[p]=t.Set.complete)),u.presence==t.Query.presence.PROHIBITED){a[p]===void 0&&(a[p]=t.Set.empty),a[p]=a[p].union(q);continue}if(i[p].upsert(_,u.boost,function(Ee,be){return Ee+be}),!s[j]){for(var V=0;V<A.length;V++){var $=A[V],I=new t.FieldRef($,p),z=B[$],W;(W=n[I])===void 0?n[I]=new t.MatchData(S,p,z):W.add(S,p,z)}s[j]=!0}}}if(u.presence===t.Query.presence.REQUIRED)for(var f=0;f<u.fields.length;f++){var p=u.fields[f];o[p]=o[p].intersect(m)}}for(var H=t.Set.complete,R=t.Set.empty,l=0;l<this.fields.length;l++){var p=this.fields[l];o[p]&&(H=H.intersect(o[p])),a[p]&&(R=R.union(a[p]))}var c=Object.keys(n),v=[],C=Object.create(null);if(r.isNegated()){c=Object.keys(this.fieldVectors);for(var l=0;l<c.length;l++){var I=c[l],T=t.FieldRef.fromString(I);n[I]=new t.MatchData}}for(var l=0;l<c.length;l++){var T=t.FieldRef.fromString(c[l]),h=T.docRef;if(H.contains(h)&&!R.contains(h)){var x=this.fieldVectors[T],O=i[T.fieldName].similarity(x),F;if((F=C[h])!==void 0)F.score+=O,F.matchData.combine(n[T]);else{var L={ref:h,score:O,matchData:n[T]};C[h]=L,v.push(L)}}}return v.sort(function(xe,Le){return Le.score-xe.score})},t.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map(function(n){return[n,this.invertedIndex[n]]},this),r=Object.keys(this.fieldVectors).map(function(n){return[n,this.fieldVectors[n].toJSON()]},this);return{version:t.version,fields:this.fields,fieldVectors:r,invertedIndex:e,pipeline:this.pipeline.toJSON()}},t.Index.load=function(e){var r={},n={},i=e.fieldVectors,s=Object.create(null),o=e.invertedIndex,a=new t.TokenSet.Builder,l=t.Pipeline.load(e.pipeline);e.version!=t.version&&t.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+t.version+"' does not match serialized index '"+e.version+"'");for(var u=0;u<i.length;u++){var d=i[u],m=d[0],y=d[1];n[m]=new t.Vector(y)}for(var u=0;u<o.length;u++){var d=o[u],b=d[0],g=d[1];a.insert(b),s[b]=g}return a.finish(),r.fields=e.fields,r.fieldVectors=n,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=l,new t.Index(r)};t.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=t.tokenizer,this.pipeline=new t.Pipeline,this.searchPipeline=new t.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},t.Builder.prototype.ref=function(e){this._ref=e},t.Builder.prototype.field=function(e,r){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=r||{}},t.Builder.prototype.b=function(e){e<0?this._b=0:e>1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s<i.length;s++){var o=i[s],a=this._fields[o].extractor,l=a?a(e):e[o],u=this.tokenizer(l,{fields:[o]}),d=this.pipeline.run(u),m=new t.FieldRef(n,o),y=Object.create(null);this.fieldTermFrequencies[m]=y,this.fieldLengths[m]=0,this.fieldLengths[m]+=d.length;for(var b=0;b<d.length;b++){var g=d[b];if(y[g]==null&&(y[g]=0),y[g]+=1,this.invertedIndex[g]==null){var E=Object.create(null);E._index=this.termIndex,this.termIndex+=1;for(var f=0;f<i.length;f++)E[i[f]]=Object.create(null);this.invertedIndex[g]=E}this.invertedIndex[g][o][n]==null&&(this.invertedIndex[g][o][n]=Object.create(null));for(var p=0;p<this.metadataWhitelist.length;p++){var w=this.metadataWhitelist[p],S=g.metadata[w];this.invertedIndex[g][o][n][w]==null&&(this.invertedIndex[g][o][n][w]=[]),this.invertedIndex[g][o][n][w].push(S)}}}},t.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),r=e.length,n={},i={},s=0;s<r;s++){var o=t.FieldRef.fromString(e[s]),a=o.fieldName;i[a]||(i[a]=0),i[a]+=1,n[a]||(n[a]=0),n[a]+=this.fieldLengths[o]}for(var l=Object.keys(this._fields),s=0;s<l.length;s++){var u=l[s];n[u]=n[u]/i[u]}this.averageFieldLength=n},t.Builder.prototype.createFieldVectors=function(){for(var e={},r=Object.keys(this.fieldTermFrequencies),n=r.length,i=Object.create(null),s=0;s<n;s++){for(var o=t.FieldRef.fromString(r[s]),a=o.fieldName,l=this.fieldLengths[o],u=new t.Vector,d=this.fieldTermFrequencies[o],m=Object.keys(d),y=m.length,b=this._fields[a].boost||1,g=this._documents[o.docRef].boost||1,E=0;E<y;E++){var f=m[E],p=d[f],w=this.invertedIndex[f]._index,S,k,_;i[f]===void 0?(S=t.idf(this.invertedIndex[f],this.documentCount),i[f]=S):S=i[f],k=S*((this._k1+1)*p)/(this._k1*(1-this._b+this._b*(l/this.averageFieldLength[a]))+p),k*=b,k*=g,_=Math.round(k*1e3)/1e3,u.insert(w,_)}e[o]=u}this.fieldVectors=e},t.Builder.prototype.createTokenSet=function(){this.tokenSet=t.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},t.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new t.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},t.Builder.prototype.use=function(e){var r=Array.prototype.slice.call(arguments,1);r.unshift(this),e.apply(this,r)},t.MatchData=function(e,r,n){for(var i=Object.create(null),s=Object.keys(n||{}),o=0;o<s.length;o++){var a=s[o];i[a]=n[a].slice()}this.metadata=Object.create(null),e!==void 0&&(this.metadata[e]=Object.create(null),this.metadata[e][r]=i)},t.MatchData.prototype.combine=function(e){for(var r=Object.keys(e.metadata),n=0;n<r.length;n++){var i=r[n],s=Object.keys(e.metadata[i]);this.metadata[i]==null&&(this.metadata[i]=Object.create(null));for(var o=0;o<s.length;o++){var a=s[o],l=Object.keys(e.metadata[i][a]);this.metadata[i][a]==null&&(this.metadata[i][a]=Object.create(null));for(var u=0;u<l.length;u++){var d=l[u];this.metadata[i][a][d]==null?this.metadata[i][a][d]=e.metadata[i][a][d]:this.metadata[i][a][d]=this.metadata[i][a][d].concat(e.metadata[i][a][d])}}}},t.MatchData.prototype.add=function(e,r,n){if(!(e in this.metadata)){this.metadata[e]=Object.create(null),this.metadata[e][r]=n;return}if(!(r in this.metadata[e])){this.metadata[e][r]=n;return}for(var i=Object.keys(n),s=0;s<i.length;s++){var o=i[s];o in this.metadata[e][r]?this.metadata[e][r][o]=this.metadata[e][r][o].concat(n[o]):this.metadata[e][r][o]=n[o]}},t.Query=function(e){this.clauses=[],this.allFields=e},t.Query.wildcard=new String("*"),t.Query.wildcard.NONE=0,t.Query.wildcard.LEADING=1,t.Query.wildcard.TRAILING=2,t.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},t.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=t.Query.wildcard.NONE),e.wildcard&t.Query.wildcard.LEADING&&e.term.charAt(0)!=t.Query.wildcard&&(e.term="*"+e.term),e.wildcard&t.Query.wildcard.TRAILING&&e.term.slice(-1)!=t.Query.wildcard&&(e.term=""+e.term+"*"),"presence"in e||(e.presence=t.Query.presence.OPTIONAL),this.clauses.push(e),this},t.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=t.Query.presence.PROHIBITED)return!1;return!0},t.Query.prototype.term=function(e,r){if(Array.isArray(e))return e.forEach(function(i){this.term(i,t.utils.clone(r))},this),this;var n=r||{};return n.term=e.toString(),this.clause(n),this},t.QueryParseError=function(e,r,n){this.name="QueryParseError",this.message=e,this.start=r,this.end=n},t.QueryParseError.prototype=new Error,t.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},t.QueryLexer.prototype.run=function(){for(var e=t.QueryLexer.lexText;e;)e=e(this)},t.QueryLexer.prototype.sliceString=function(){for(var e=[],r=this.start,n=this.pos,i=0;i<this.escapeCharPositions.length;i++)n=this.escapeCharPositions[i],e.push(this.str.slice(r,n)),r=n+1;return e.push(this.str.slice(r,this.pos)),this.escapeCharPositions.length=0,e.join("")},t.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},t.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},t.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos<this.length},t.QueryLexer.EOS="EOS",t.QueryLexer.FIELD="FIELD",t.QueryLexer.TERM="TERM",t.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",t.QueryLexer.BOOST="BOOST",t.QueryLexer.PRESENCE="PRESENCE",t.QueryLexer.lexField=function(e){return e.backup(),e.emit(t.QueryLexer.FIELD),e.ignore(),t.QueryLexer.lexText},t.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof se=="object"?oe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ne=[];function G(t,e){ne.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureActivePageVisible(),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible())}createComponents(e){ne.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n,app:this}),n.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),r=e?.parentElement;for(;r&&!r.classList.contains(".tsd-navigation");)r instanceof HTMLDetailsElement&&(r.open=!0),r=r.parentElement;if(e){let n=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=n}}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let r=e.parentElement;for(;r&&r.tagName!=="SECTION";)r=r.parentElement;if(r&&r.offsetParent==null){this.alwaysVisibleMember=r,r.classList.add("always-visible");let n=document.createElement("p");n.classList.add("warning"),n.textContent="This member is normally hidden due to your filter settings.",r.prepend(n)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let r;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(r),r=setTimeout(()=>{e.classList.remove("visible"),r=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let r;return()=>{clearTimeout(r),r=setTimeout(()=>t(),e)}};var ce=Ce(ae());function de(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("tsd-search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Oe(t,n,r,s)}function Oe(t,e,r,n){r.addEventListener("input",ie(()=>{Re(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Fe(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function _e(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ce.Index.load(window.searchData.index))}function Re(t,e,r,n){if(_e(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0;o<s.length;o++){let a=s[o],l=n.data.rows[Number(a.ref)],u=1;l.name.toLowerCase().startsWith(i.toLowerCase())&&(u*=1+1/(1+Math.abs(l.name.length-i.length))),a.score*=u}s.sort((o,a)=>a.score-o.score);for(let o=0,a=Math.min(10,s.length);o<a;o++){let l=n.data.rows[Number(s[o].ref)],u=le(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(u+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(u=`<span class="parent">${le(l.parent,i)}.</span>${u}`);let d=document.createElement("li");d.classList.value=l.classes??"";let m=document.createElement("a");m.href=n.base+l.url,m.innerHTML=u,d.append(m),e.appendChild(d)}}function ue(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling??void 0;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function Fe(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function le(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(K(t.substring(s,o)),`<b>${K(t.substring(o,o+n.length))}</b>`),s=o+n.length,o=r.indexOf(n,s);return i.push(K(t.substring(s))),i.join("")}var Me={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>Me[e])}var P=class{constructor(e){this.el=e.el,this.app=e.app}};var M="mousedown",fe="mousemove",N="mouseup",J={x:0,y:0},he=!1,ee=!1,De=!1,D=!1,pe=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(pe?"is-mobile":"not-mobile");pe&&"ontouchstart"in document.documentElement&&(De=!0,M="touchstart",fe="touchmove",N="touchend");document.addEventListener(M,t=>{ee=!0,D=!1;let e=M=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=M=="touchstart"?t.targetTouches[0]:t,r=J.x-(e.pageX||0),n=J.y-(e.pageY||0);D=Math.sqrt(r*r+n*n)>10}});document.addEventListener(N,()=>{ee=!1});document.addEventListener("click",t=>{he&&(t.preventDefault(),t.stopImmediatePropagation(),he=!1)});var X=class extends P{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(M,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){D||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!D&&this.active&&r.target.closest(".col-sidebar")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substring(0,i.indexOf("#"))),n.href.substring(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var me=document.head.appendChild(document.createElement("style"));me.dataset.for="filters";var Y=class extends P{constructor(r){super(r);this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),me.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; }
|
|
4
|
+
`}fromLocalStorage(){let r=Q.getItem(this.key);return r?r==="true":this.el.checked}setLocalStorage(r){Q.setItem(this.key,r.toString()),this.value=r,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let n=Array.from(r.querySelectorAll(".tsd-index-link")).every(i=>i.offsetParent==null);r.style.display=n?"none":"block"})}};var Z=class extends P{constructor(r){super(r);this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update()),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ve(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ye(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ye(t.value)})}function ye(t){document.documentElement.dataset.theme=t}de();G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var ge=document.getElementById("tsd-theme");ge&&ve(ge);var Ae=new U;Object.defineProperty(window,"app",{value:Ae});document.querySelectorAll("summary a").forEach(t=>{t.addEventListener("click",()=>{location.assign(t.href)})});})();
|
|
5
|
+
/*! Bundled license information:
|
|
6
|
+
|
|
7
|
+
lunr/lunr.js:
|
|
8
|
+
(**
|
|
9
|
+
* lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
|
|
10
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
11
|
+
* @license MIT
|
|
12
|
+
*)
|
|
13
|
+
(*!
|
|
14
|
+
* lunr.utils
|
|
15
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
16
|
+
*)
|
|
17
|
+
(*!
|
|
18
|
+
* lunr.Set
|
|
19
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
20
|
+
*)
|
|
21
|
+
(*!
|
|
22
|
+
* lunr.tokenizer
|
|
23
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
24
|
+
*)
|
|
25
|
+
(*!
|
|
26
|
+
* lunr.Pipeline
|
|
27
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
28
|
+
*)
|
|
29
|
+
(*!
|
|
30
|
+
* lunr.Vector
|
|
31
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
32
|
+
*)
|
|
33
|
+
(*!
|
|
34
|
+
* lunr.stemmer
|
|
35
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
36
|
+
* Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
|
|
37
|
+
*)
|
|
38
|
+
(*!
|
|
39
|
+
* lunr.stopWordFilter
|
|
40
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
41
|
+
*)
|
|
42
|
+
(*!
|
|
43
|
+
* lunr.trimmer
|
|
44
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
45
|
+
*)
|
|
46
|
+
(*!
|
|
47
|
+
* lunr.TokenSet
|
|
48
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
49
|
+
*)
|
|
50
|
+
(*!
|
|
51
|
+
* lunr.Index
|
|
52
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
53
|
+
*)
|
|
54
|
+
(*!
|
|
55
|
+
* lunr.Builder
|
|
56
|
+
* Copyright (C) 2020 Oliver Nightingale
|
|
57
|
+
*)
|
|
58
|
+
*/
|