UNPKG

envio

Version:

A latency and sync speed optimized, developer friendly blockchain data indexer.

110 lines (100 loc) 3.13 kB
// Generated by ReScript, PLEASE EDIT WITH CARE import * as Address from "./Address.res.mjs"; import * as Process from "process"; import * as Internal from "./Internal.res.mjs"; import * as Stdlib_Option from "@rescript/runtime/lib/es6/Stdlib_Option.js"; import * as S$RescriptSchema from "rescript-schema/src/S.res.mjs"; function durationToMs(duration) { if (typeof duration !== "number") { if (duration === "second") { return 1000; } else { return 60000; } } else { return duration; } } function createEffect(options, handler) { let outputSchema = S$RescriptSchema.schema(param => options.output); let itemSchema = S$RescriptSchema.schema(s => ({ id: s.m(S$RescriptSchema.string), output: s.m(outputSchema) })); let match = options.cache; let match$1 = options.rateLimit; let tmp; if (match$1 === false) { tmp = undefined; } else { let calls = match$1.calls; tmp = { callsPerDuration: calls, durationMs: durationToMs(match$1.per), availableCalls: calls, windowStartTime: Date.now(), queueCount: 0, nextWindowPromise: undefined }; } return { name: options.name, handler: handler, storageMeta: { itemSchema: itemSchema, outputSchema: outputSchema, table: Internal.makeCacheTable(options.name) }, defaultShouldCache: match !== undefined ? match : false, output: outputSchema, input: S$RescriptSchema.schema(param => options.input), activeCallsCount: 0, prevCallStartTimerRef: null, rateLimit: tmp }; } function isNonInteractive() { let env = Process.env; if (process.stdout.isTTY !== true || Stdlib_Option.isSome(env["CLAUDECODE"]) || Stdlib_Option.isSome(env["CI"])) { return true; } else { return env["TERM"] === "dumb"; } } let mockAddresses = [ "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266", "0x70997970C51812dc3A010C7d01b50e0d17dc79C8", "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC", "0x90F79bf6EB2c4f870365E785982E1f101E93b906", "0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65", "0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc", "0x976EA74026E726554dB657fA54763abd0C3a0aa9", "0x14dC79964da2C08b23698B3D3cc7Ca32193d9955", "0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f", "0xa0Ee7A142d267C1f36714E4a8F75612F20a79720", "0xBcd4042DE499D14e55001CcbB24a551F3b954096", "0x71bE63f3384f5fb98995898A86B02Fb2426c5788", "0xFABB0ac9d68B0B445fB7357272Ff202C5651694a", "0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec", "0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097", "0xcd3B766CCDd6AE721141F452C550Ca635964ce71", "0x2546BcD3c84621e976D8185a91A922aE77ECEc30", "0xbDA5747bFD65F08deb54cb465eB87D40e51B197E", "0xdD2FD4581271e230360230F9337D5c0430Bf44C0", "0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199" ].map(Address.Evm.fromStringOrThrow); let defaultAddress = mockAddresses[0]; let Addresses = { mockAddresses: mockAddresses, defaultAddress: defaultAddress }; let TestHelpers = { Addresses: Addresses }; export { durationToMs, createEffect, isNonInteractive, TestHelpers, } /* mockAddresses Not a pure module */