mirror of
				https://github.com/Xahau/Validation-Ledger-Tx-Store-to-xPOP.git
				synced 2025-11-04 04:15:48 +00:00 
			
		
		
		
	Add hosted helper fns
This commit is contained in:
		
							
								
								
									
										24
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								README.md
									
									
									
									
									
								
							@@ -84,3 +84,27 @@ A health check endpoint lives on `/health`, and returns e.g.:
 | 
			
		||||
    "txCount": 276
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Tools (Utils)
 | 
			
		||||
 | 
			
		||||
This package provides some internal helper functions:
 | 
			
		||||
 | 
			
		||||
- NPM (backend): https://www.npmjs.com/package/xpopgen
 | 
			
		||||
- CDN (browser): https://cdn.jsdelivr.net/npm/xpopgen/npm/browser.min.js
 | 
			
		||||
 | 
			
		||||
#### JS (backend)
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
import { ledgerIndexToFolders } from 'xpop-utils/npm/utils.mjs'
 | 
			
		||||
console.log(ledgerIndexToFolders(123456789))
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### JS (browser)
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
<script src="https://cdn.jsdelivr.net/npm/xpopgen/npm/browser.min.js"></script>
 | 
			
		||||
<script>
 | 
			
		||||
  const { ledgerIndexToFolders } = require('xpop-utils')
 | 
			
		||||
  console.log(ledgerIndexToFolders(123456789))
 | 
			
		||||
</script>
 | 
			
		||||
```
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								npm/browser.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								npm/browser.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
require=(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.ledgerIndexToFolders = void 0;
 | 
			
		||||
const ledgerIndexToFolders = ledgerIndex => {
 | 
			
		||||
  return String(ledgerIndex).split('').reverse().join('') // Reverse
 | 
			
		||||
  .replace(/([0-9]{3})/g, '$1/').split('').reverse().join('') // Reverse
 | 
			
		||||
  .replace(/^\//, ''); // Remove prefix slash on i%3
 | 
			
		||||
};
 | 
			
		||||
exports.ledgerIndexToFolders = ledgerIndexToFolders;
 | 
			
		||||
 | 
			
		||||
},{}],"xpop-utils":[function(require,module,exports){
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "ledgerIndexToFolders", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _ledgerIndexToFolders.ledgerIndexToFolders;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
var _ledgerIndexToFolders = require("../lib/ledgerIndexToFolders.mjs");
 | 
			
		||||
 | 
			
		||||
},{"../lib/ledgerIndexToFolders.mjs":1}]},{},[]);
 | 
			
		||||
							
								
								
									
										1
									
								
								npm/browser.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								npm/browser.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
require=function e(r,o,n){function t(l,u){if(!o[l]){if(!r[l]){var d="function"==typeof require&&require;if(!u&&d)return d(l,!0);if(i)return i(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var f=o[l]={exports:{}};r[l][0].call(f.exports,(function(e){return t(r[l][1][e]||e)}),f,f.exports,e,r,o,n)}return o[l].exports}for(var i="function"==typeof require&&require,l=0;l<n.length;l++)t(n[l]);return t}({1:[function(e,r,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),o.ledgerIndexToFolders=void 0;o.ledgerIndexToFolders=e=>String(e).split("").reverse().join("").replace(/([0-9]{3})/g,"$1/").split("").reverse().join("").replace(/^\//,"")},{}],"xpop-utils":[function(e,r,o){"use strict";Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"ledgerIndexToFolders",{enumerable:!0,get:function(){return n.ledgerIndexToFolders}});var n=e("../lib/ledgerIndexToFolders.mjs")},{"../lib/ledgerIndexToFolders.mjs":1}]},{},[]);
 | 
			
		||||
							
								
								
									
										5
									
								
								npm/utils.mjs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								npm/utils.mjs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
			
		||||
import { ledgerIndexToFolders } from '../lib/ledgerIndexToFolders.mjs'
 | 
			
		||||
 | 
			
		||||
export {
 | 
			
		||||
  ledgerIndexToFolders,
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2440
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										2440
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								package.json
									
									
									
									
									
								
							@@ -6,7 +6,9 @@
 | 
			
		||||
  "scripts": {
 | 
			
		||||
    "dev": "nodemon .",
 | 
			
		||||
    "xpopdev": "source .env && nodemon --max-old-space-size=40 .",
 | 
			
		||||
    "serve": "serve ./store/"
 | 
			
		||||
    "serve": "serve ./store/",
 | 
			
		||||
    "minify": "cat ./npm/browser.js | terser --compress --mangle > ./npm/browser.min.js",
 | 
			
		||||
    "browserify": "browserify -p esmify -r ./npm/utils.mjs:xpop-utils -o ./npm/browser.js && npm run minify"
 | 
			
		||||
  },
 | 
			
		||||
  "author": "Wietse Wind <w@xrpl-labs.com>",
 | 
			
		||||
  "license": "MIT",
 | 
			
		||||
@@ -16,13 +18,23 @@
 | 
			
		||||
      "/store/**"
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "git://github.com:Xahau/Validation-Ledger-Tx-Store-to-xPOP.git"
 | 
			
		||||
  },
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/Xahau/Validation-Ledger-Tx-Store-to-xPOP/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/Xahau/Validation-Ledger-Tx-Store-to-xPOP/#readme",
 | 
			
		||||
  "files": [
 | 
			
		||||
    "lib/xpop/V1.mjs",
 | 
			
		||||
    "lib/ledgerIndexToFolders.mjs",
 | 
			
		||||
    "npm/utils.mjs",
 | 
			
		||||
    "README.md"
 | 
			
		||||
  ],
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "buffer": "^6.0.3",
 | 
			
		||||
    "cors": "^2.8.5",
 | 
			
		||||
    "dotenv": "^16.3.1",
 | 
			
		||||
    "ed25519": "^0.0.5",
 | 
			
		||||
    "elliptic": "^6.5.4",
 | 
			
		||||
@@ -37,7 +49,10 @@
 | 
			
		||||
    "xrpl-client": "^2.2.0"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "serve": "^14.2.1"
 | 
			
		||||
    "browserify": "^17.0.0",
 | 
			
		||||
    "esmify": "^2.1.1",
 | 
			
		||||
    "serve": "^14.2.1",
 | 
			
		||||
    "terser": "^5.21.0"
 | 
			
		||||
  },
 | 
			
		||||
  "optionalDependencies": {
 | 
			
		||||
    "bufferutil": "^4.0.7",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user