UNPKG

@cloudideaas/hydrainstall

Version:

Installs Windows requirements for @cloudideaas/hydra. Hydra is a app generation tool with resulting source code. Generated front-end support for Ionic/Angular. Restful service layer support for .NET Core. Back-end support for SQL Server. Other supported

124 lines (84 loc) 2.48 kB
const StringBuilder = require('stringbuilder'); declare global { // export interface Object { // oneOf(...values): boolean; // } // export interface Number { // oneOf(...values): boolean; // } export interface String { getEndingCount(ending: string) : number; } } let getEndingCount = function(ending: string) { let thisString = this; let length = thisString.length; let end = thisString.substring(length - 2, length); let x = 0; while (end === ending) { thisString = thisString.substring(0, length - Math.min(length, 2)); length = thisString.length; end = thisString.substring(length - 2, length); x++; } return x; }; String.prototype.getEndingCount = getEndingCount; let oneOf = function(...values) { let equals: boolean = false; values.forEach(v => { if (this === v) { equals = true; } }); return equals; }; // Object.prototype.oneOf = oneOf; // Number.prototype.oneOf = oneOf; import { Readable, Writable, Duplex } from "stream"; declare module "stream" { interface Readable { readJson<T>(listener: (T) => void); readText(listener: (response : string) => void); } interface Writable { writeJson(obj : any); } interface Duplex { readJson<T>(listener: (T) => void); readText(listener: (response : string) => void); writeJson(obj : any); } } let readText = function(listener: (response : string) => void) { return this.on("data", listener); }; let readJson = function(listener: (T) => void) { let dataListener : (data : string) => void = null; dataListener = (data : string) => { var obj = JSON.parse(data); listener(obj); this.removeListener("data", dataListener); }; return this.on("data", dataListener); }; let writeJson = function(obj : any) { let output: string = JSON.stringify(obj); this.write(output + "\r\n\r\n"); }; Readable.prototype.readJson = readJson; Readable.prototype.readText = readText; Writable.prototype.writeJson = writeJson; Duplex.prototype.readJson = readJson; Duplex.prototype.writeJson = writeJson; import { Socket } from "net"; declare module "net" { interface Socket { writeLine(output : string); } } let writeLine = function(output : string) { this.write(output + "\r\n"); }; Socket.prototype.writeLine = writeLine; export { };