-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
31 lines (26 loc) · 842 Bytes
/
index.js
File metadata and controls
31 lines (26 loc) · 842 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// ==================== //
// Sql Tagged Templates //
// ==================== //
"use strict";
const D = require("./lib/definitions");
const _priv_ = D.sym_private;
const privateMethods = require("./lib/privateMethods.js");
const publicMethods = require("./lib/tplAPI.js");
const staticMethods = require("./lib/staticAPI.js");
// Constructor:
function sqltt(sourceTpl, options = {}) {
const me = this;
me.version = D.version;
me[_priv_] = {};
me[_priv_].options = options;
Object.entries(privateMethods).map( // Kinda private methods
([k,v])=>me[_priv_][k]=v.bind(me)
);
me[_priv_].loadTemplate(sourceTpl);
me[_priv_].sqlCache = {};
};
// Public methods:
Object.assign(sqltt.prototype, publicMethods);
// Static mehtods and properties:
Object.assign(sqltt, staticMethods);
module.exports = sqltt;