Perform a left join on the two array-of-object json datasets. Optionally, you can pass in a key name in case the left data's attribute dictionary is nested, such as in GeoJson where the attributes are under a properties object.

.geoJson(leftData, leftDataKey, rightData, rightDataKey)

Does the same thing as .left but navigates to the features array and passes in properties as the nested key name.

Database operations

Uses the tablespoon module. Check out the wiki for the full documention. All tablespoon methods are accessible under the tk.db namespace, e.g.

tk.db.createTableSync(data);

Statistics

Uses the simple-statistics module. All simple-statistics methods are accessible under the tk.stats namespace, e.g.

var mean =tk.stats.mean([1,4,19,55]);

Helpers

.discernFormat(filepath)

Given a filepath return its file extension. Used internally by .discernPaser and .discernFileFormatter.

E.g. tk.discernFormat('path/to/data.csv') returns 'csv'

.discernParser(filepath, [delimiter])

Given a filepath, optionally a delimiter, return a parser that can read that file as json. Used internally by .readData and .readDataSync.

E.g.

var csvParser =tk.discernParser('path/to/data.csv');

var json =parser('path/to/data.csv');

.discernFileFormatter(filepath)

Returns a formatter that will format json data to file type specified by the extension in filepath. Used internally by .writeData and .writeDataSync.

fs

What's the name mean?

In news writing, TK is used as a placeholder for facts or sections you don't have yet. For example:

Mrs. Williamson arrived at the office at TK EXACT TIME to speak with the board members.

Depending on whom you ask, it either stands for TO COME if you like your acronyms phonetic or TO KNOW if you don't mind the silent 'K'.

What's that have to do with this?

This library is a work in progress so it's largely TO COME. You could also say you can use it TO KNOW things since it's a collection of data utilities. Or you could say it's a (T)ool(K)it of toolkits: a TK TK.