Skip to content

Commit

Permalink
Remove some any types
Browse files Browse the repository at this point in the history
  • Loading branch information
luaneyed committed Jun 17, 2020
1 parent 074c0ed commit 5f27758
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 20 deletions.
7 changes: 6 additions & 1 deletion lib/javascript.d.ts
@@ -1,3 +1,8 @@
/// <reference types="node" />
import repl from 'repl';
import { RinoreOptions } from '.';
export declare const start: (rinoreOptions: RinoreOptions) => repl.REPLServer;
declare type ReplServer = repl.REPLServer & {
original_eval: repl.REPLEval;
};
export declare const start: (rinoreOptions: RinoreOptions) => ReplServer;
export {};
17 changes: 9 additions & 8 deletions lib/javascript.js
Expand Up @@ -4,22 +4,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.start = void 0;
const util_1 = require("util");
const os_1 = __importDefault(require("os"));
const repl_1 = __importDefault(require("repl"));
const util_1 = require("util");
const bluebird_1 = __importDefault(require("bluebird"));
const context_1 = require("./context");
const history_1 = require("./history");
const utils_1 = require("./utils");
function replaceEval(replServer) {
const originalEval = replServer.eval;
replServer.eval = (cmd, context, filename, callback) => {
const new_server = Object.assign(replServer, { original_eval: replServer.eval });
const custom_eval = (cmd, context, filename, callback) => {
let assignTo = '';
if (/^\s*([a-zA-Z_$][0-9a-zA-Z_$]*)\s=/.test(cmd)) {
assignTo = RegExp.$1;
}
const runner = new bluebird_1.default((resolve, reject) => {
originalEval(cmd, context, filename, (error, result) => {
new_server.original_eval(cmd, context, filename, (error, result) => {
if (error) {
reject(error);
}
Expand All @@ -34,9 +34,10 @@ function replaceEval(replServer) {
}
callback(null, result);
}).catch((error) => {
callback(error);
callback(error, undefined);
});
};
return Object.assign(new_server, { eval: custom_eval });
}
function replaceCompleter(replServer) {
const originalCompleter = replServer.completer;
Expand Down Expand Up @@ -84,7 +85,7 @@ exports.start = (rinoreOptions) => {
const replServer = repl_1.default.start(options);
history_1.setupHistory(replServer, rinoreOptions.historyFile || '.rinore_history_js', 1000);
context_1.setupContext(replServer);
replaceEval(replServer);
const new_server = replaceEval(replServer);
if (utils_1.getMajorNodeVersion() >= 12) {
// show argument on preview
Function.prototype[util_1.inspect.custom] = function () {
Expand All @@ -94,7 +95,7 @@ exports.start = (rinoreOptions) => {
};
}
else {
replaceCompleter(replServer);
replaceCompleter(new_server);
}
return replServer;
return new_server;
};
27 changes: 16 additions & 11 deletions src/javascript.ts
@@ -1,22 +1,25 @@
import { inspect } from 'util';
import os from 'os';
import repl from 'repl';
import { inspect } from 'util';
import Bluebird from 'bluebird';

import { setupContext } from './context';
import { setupHistory } from './history';
import { getMajorNodeVersion } from './utils';
import { RinoreOptions } from '.';

function replaceEval(replServer: any) {
const originalEval = replServer.eval;
replServer.eval = (cmd: string, context: { [key: string]: any },
filename: string, callback: (error?: any, result?: any) => void) => {
type ReplServer = repl.REPLServer & { original_eval: repl.REPLEval };

function replaceEval(replServer: repl.REPLServer): ReplServer {
const new_server = Object.assign(replServer, { original_eval: replServer.eval });
const custom_eval: repl.REPLEval = (cmd, context, filename, callback) => {
let assignTo = '';
if (/^\s*([a-zA-Z_$][0-9a-zA-Z_$]*)\s=/.test(cmd)) {
assignTo = RegExp.$1;
}

const runner = new Bluebird((resolve, reject) => {
originalEval(cmd, context, filename, (error?: any, result?: any) => {
new_server.original_eval(cmd, context, filename, (error, result) => {
if (error) {
reject(error);
} else {
Expand All @@ -30,9 +33,11 @@ function replaceEval(replServer: any) {
}
callback(null, result);
}).catch((error) => {
callback(error);
callback(error, undefined);
});
};

return Object.assign(new_server, { eval: custom_eval });
}

function replaceCompleter(replServer: any) {
Expand Down Expand Up @@ -71,7 +76,7 @@ function replaceCompleter(replServer: any) {
};
}

export const start = (rinoreOptions: RinoreOptions): repl.REPLServer => {
export const start = (rinoreOptions: RinoreOptions): ReplServer => {
const options: { [key: string]: any } = {
historySize: 1000,
input: rinoreOptions.input,
Expand All @@ -82,7 +87,7 @@ export const start = (rinoreOptions: RinoreOptions): repl.REPLServer => {
const replServer = repl.start(options);
setupHistory(replServer, rinoreOptions.historyFile || '.rinore_history_js', 1000);
setupContext(replServer);
replaceEval(replServer);
const new_server = replaceEval(replServer);
if (getMajorNodeVersion() >= 12) {
// show argument on preview
(Function.prototype as any)[inspect.custom] = function () {
Expand All @@ -91,7 +96,7 @@ export const start = (rinoreOptions: RinoreOptions): repl.REPLServer => {
return `[Function: ${this.name}(${argsMatch[1]})]`;
};
} else {
replaceCompleter(replServer);
replaceCompleter(new_server);
}
return replServer;
return new_server;
};

0 comments on commit 5f27758

Please sign in to comment.