faf7e12c13eaaaa19677086fd5b2f06c4bca86a5
Christian Fraß [add] typescript logic

Christian Fraß authored 3 years ago

source/helpers/database.ts   1) // import {int} from './types';
source/helpers/database.ts   2) 
source/helpers/database.ts   3) 
source/helpers/database.ts   4) namespace helpers.database
source/helpers/database.ts   5) {
source/helpers/database.ts   6) 	
source/helpers/database.ts   7) 	/**
source/helpers/database.ts   8) 	 */
source/helpers/database.ts   9) 	type type_query = {
source/helpers/database.ts  10) 		sql_template : string;
source/helpers/database.ts  11) 		arguments : {[name : string] : any};
source/helpers/database.ts  12) 	};
source/helpers/database.ts  13) 	
source/helpers/database.ts  14) 	
source/helpers/database.ts  15) 	/**
source/helpers/database.ts  16) 	 */
source/helpers/database.ts  17) 	function resolve_path
source/helpers/database.ts  18) 	(
source/helpers/database.ts  19) 		path_raw : string
source/helpers/database.ts  20) 	) : string
source/helpers/database.ts  21) 	{
source/helpers/database.ts  22) 		return ("sql/" + path_raw.replace(new RegExp("\\.", "g"), "/") + ".sql");
source/helpers/database.ts  23) 	}
source/helpers/database.ts  24) 	
source/helpers/database.ts  25) 	
source/helpers/database.ts  26) 	/**
source/helpers/database.ts  27) 	 */
source/helpers/database.ts  28) 	function fix_query
source/helpers/database.ts  29) 	(
source/helpers/database.ts  30) 		query : type_query,
source/helpers/database.ts  31) 	) : type_query
source/helpers/database.ts  32) 	{
source/helpers/database.ts  33) 		return {
source/helpers/database.ts  34) 			"sql_template": query.sql_template.replace
source/helpers/database.ts  35) 			(
source/helpers/database.ts  36) 				new RegExp(":([0-9a-zA-Z_-]+)", "g"),
source/helpers/database.ts  37) 				"$$$1"
source/helpers/database.ts  38) 			),
source/helpers/database.ts  39) 			"arguments": (
source/helpers/database.ts  40) 				() =>
source/helpers/database.ts  41) 				{
source/helpers/database.ts  42) 					let arguments_ : {[name : string] : any} = {};
source/helpers/database.ts  43) 					Object.keys(query.arguments).forEach
source/helpers/database.ts  44) 					(
source/helpers/database.ts  45) 						(name) => {arguments_["$" + name] = query.arguments[name];}
source/helpers/database.ts  46) 					);
source/helpers/database.ts  47) 					return arguments_;
source/helpers/database.ts  48) 				}
source/helpers/database.ts  49) 			) (),
source/helpers/database.ts  50) 		};
source/helpers/database.ts  51) 	}
source/helpers/database.ts  52) 	
source/helpers/database.ts  53) 	
source/helpers/database.ts  54) 	/**
source/helpers/database.ts  55) 	 */
source/helpers/database.ts  56) 	function query_do_free_
source/helpers/database.ts  57) 	(
source/helpers/database.ts  58) 		query : type_query
source/helpers/database.ts  59) 	) : Promise<void>
source/helpers/database.ts  60) 	{
source/helpers/database.ts  61) 		const nm_sqlite3 = require("sqlite3");
source/helpers/database.ts  62) 		const query_fixed : type_query = fix_query(query);
source/helpers/database.ts  63) 		// console.info("---\n" + query_fixed.sql_template + "\n" + JSON.stringify(query_fixed.arguments) + "\n---\n");
source/helpers/database.ts  64) 		return (
source/helpers/database.ts  65) 			new Promise<void>
source/helpers/database.ts  66) 			(
source/helpers/database.ts  67) 				(resolve, reject) =>
source/helpers/database.ts  68) 				{
Christian Fraß [mod] helpers:database

Christian Fraß authored 3 years ago

source/helpers/database.ts  69) 					const database/* : nm_sqlite3.Database*/ = new nm_sqlite3.Database("data.sqlite");
Christian Fraß [add] typescript logic

Christian Fraß authored 3 years ago

source/helpers/database.ts  70) 					database.run
source/helpers/database.ts  71) 					(
source/helpers/database.ts  72) 						query_fixed.sql_template,
source/helpers/database.ts  73) 						query_fixed.arguments,
source/helpers/database.ts  74) 						function (error)
source/helpers/database.ts  75) 						{
source/helpers/database.ts  76) 							if (error)
source/helpers/database.ts  77) 							{
source/helpers/database.ts  78) 								reject(error);
source/helpers/database.ts  79) 							}
source/helpers/database.ts  80) 							else
source/helpers/database.ts  81) 							{
source/helpers/database.ts  82) 								resolve(undefined);
source/helpers/database.ts  83) 							}
source/helpers/database.ts  84) 						}
source/helpers/database.ts  85) 					);
source/helpers/database.ts  86) 					database.close();
source/helpers/database.ts  87) 				}
source/helpers/database.ts  88) 			)
source/helpers/database.ts  89) 		);
source/helpers/database.ts  90) 	}
source/helpers/database.ts  91) 	
source/helpers/database.ts  92) 	
source/helpers/database.ts  93) 	/**
source/helpers/database.ts  94) 	 */
source/helpers/database.ts  95) 	function query_get_free_
source/helpers/database.ts  96) 	(
source/helpers/database.ts  97) 		query : type_query
source/helpers/database.ts  98) 	) : Promise<Array<type_row>>
source/helpers/database.ts  99) 	{
source/helpers/database.ts 100) 		const nm_sqlite3 = require("sqlite3");
source/helpers/database.ts 101) 		const query_fixed : type_query = fix_query(query);
source/helpers/database.ts 102) 		// console.info("---\n" + query_fixed.sql_template + "\n" + JSON.stringify(query_fixed.arguments) + "\n---\n");
source/helpers/database.ts 103) 		return (
source/helpers/database.ts 104) 			new Promise<Array<type_row>>
source/helpers/database.ts 105) 			(
source/helpers/database.ts 106) 				(resolve, reject) =>
source/helpers/database.ts 107) 				{
Christian Fraß [mod] helpers:database

Christian Fraß authored 3 years ago

source/helpers/database.ts 108) 					const database/* : nm_sqlite3.Database*/ = new nm_sqlite3.Database("data.sqlite");
Christian Fraß [add] typescript logic

Christian Fraß authored 3 years ago

source/helpers/database.ts 109) 					database.all
source/helpers/database.ts 110) 					(
source/helpers/database.ts 111) 						query_fixed.sql_template,
source/helpers/database.ts 112) 						query_fixed.arguments,
source/helpers/database.ts 113) 						function (error, rows)
source/helpers/database.ts 114) 						{
source/helpers/database.ts 115) 							// console.info({error,rows});
source/helpers/database.ts 116) 							if (error)
source/helpers/database.ts 117) 							{
source/helpers/database.ts 118) 								reject(error);
source/helpers/database.ts 119) 							}
source/helpers/database.ts 120) 							else
source/helpers/database.ts 121) 							{
source/helpers/database.ts 122) 								resolve(rows);
source/helpers/database.ts 123) 							}
source/helpers/database.ts 124) 						}
source/helpers/database.ts 125) 					);
source/helpers/database.ts 126) 					database.close();
source/helpers/database.ts 127) 				}
source/helpers/database.ts 128) 			)
source/helpers/database.ts 129) 		);
source/helpers/database.ts 130) 	}
source/helpers/database.ts 131) 	
source/helpers/database.ts 132) 		
source/helpers/database.ts 133) 	/**
source/helpers/database.ts 134) 	 */
source/helpers/database.ts 135) 	function query_put_free_
source/helpers/database.ts 136) 	(
source/helpers/database.ts 137) 		query : type_query
source/helpers/database.ts 138) 	) : Promise<int>
source/helpers/database.ts 139) 	{
source/helpers/database.ts 140) 		const nm_sqlite3 = require("sqlite3");
source/helpers/database.ts 141) 		const query_fixed : type_query = fix_query(query);
source/helpers/database.ts 142) 		// console.info("---\n" + query_fixed.sql_template + "\n" + JSON.stringify(query_fixed.arguments) + "\n---\n");
source/helpers/database.ts 143) 		return (
source/helpers/database.ts 144) 			new Promise<int>
source/helpers/database.ts 145) 			(
source/helpers/database.ts 146) 				(resolve, reject) =>
source/helpers/database.ts 147) 				{
Christian Fraß [mod] helpers:database

Christian Fraß authored 3 years ago

source/helpers/database.ts 148) 					const database/* : nm_sqlite3.Database*/ = new nm_sqlite3.Database("data.sqlite");