or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

color-system.mdcore-structure.mddom-manipulation.mddrawing-shapes.mdevents-input.mdimage-processing.mdindex.mdio-data.mdmath-vectors.mdtransforms.mdtypography.mdutilities.mdwebgl-3d.md

io-data.mddocs/

0

# I/O & Data Loading

1

2

File loading capabilities for JSON, XML, images, fonts, and other assets, plus data export functionality for saving content and data structures.

3

4

## Capabilities

5

6

### File Loading Functions

7

8

Core functions for loading various file types and data formats.

9

10

```javascript { .api }

11

/**

12

* Load JSON data from file or URL

13

* @param {string} path - Path to JSON file

14

* @param {object} [jsonpOptions] - JSONP options for cross-domain requests

15

* @param {string} [datatype] - Data type hint

16

* @param {function} [callback] - Success callback

17

* @param {function} [errorCallback] - Error callback

18

* @returns {object} JSON data object

19

*/

20

function loadJSON(path, jsonpOptions, datatype, callback, errorCallback);

21

22

/**

23

* Load text file as array of strings (one per line)

24

* @param {string} filename - Path to text file

25

* @param {function} [callback] - Success callback

26

* @param {function} [errorCallback] - Error callback

27

* @returns {string[]} Array of strings

28

*/

29

function loadStrings(filename, callback, errorCallback);

30

31

/**

32

* Load tabular data (CSV/TSV) as p5.Table

33

* @param {string} filename - Path to data file

34

* @param {object|string} [options] - Loading options or file extension

35

* @param {function} [callback] - Success callback

36

* @param {function} [errorCallback] - Error callback

37

* @returns {p5.Table} Table object

38

*/

39

function loadTable(filename, options, callback, errorCallback);

40

41

/**

42

* Load XML data

43

* @param {string} filename - Path to XML file

44

* @param {function} [callback] - Success callback

45

* @param {function} [errorCallback] - Error callback

46

* @returns {p5.XML} XML object

47

*/

48

function loadXML(filename, callback, errorCallback);

49

50

/**

51

* Load binary data

52

* @param {string} file - Path to binary file

53

* @param {function} [callback] - Success callback

54

* @param {function} [errorCallback] - Error callback

55

* @returns {object} Binary data object

56

*/

57

function loadBytes(file, callback, errorCallback);

58

```

59

60

### Data Export Functions

61

62

Functions for saving data and canvas content to files.

63

64

```javascript { .api }

65

/**

66

* Save data to file

67

* @param {object|string} objectOrFilename - Data object or filename

68

* @param {string} [filename] - Filename if first param is data

69

* @param {object} [options] - Save options

70

*/

71

function save(objectOrFilename, filename, options);

72

73

/**

74

* Save JSON data to file

75

* @param {object} json - JSON data object

76

* @param {string} filename - Output filename

77

* @param {boolean} [optimize] - Whether to optimize/minimize JSON

78

*/

79

function saveJSON(json, filename, optimize);

80

81

/**

82

* Save string array to text file

83

* @param {string[]} list - Array of strings

84

* @param {string} filename - Output filename

85

* @param {string} [extension] - File extension

86

* @param {boolean} [isCRLF] - Use Windows line endings

87

*/

88

function saveStrings(list, filename, extension, isCRLF);

89

90

/**

91

* Save table data as CSV

92

* @param {p5.Table} table - Table to save

93

* @param {string} filename - Output filename

94

* @param {object} [options] - Save options

95

*/

96

function saveTable(table, filename, options);

97

98

/**

99

* Save canvas as image file

100

* @param {string|p5.Element} [selectedCanvas] - Canvas element or filename

101

* @param {string} [filename] - Output filename

102

* @param {string} [extension] - File extension (png, jpg)

103

*/

104

function saveCanvas(selectedCanvas, filename, extension);

105

```

106

107

### Data Structure Classes

108

109

Classes for working with structured data.

110

111

```javascript { .api }

112

/**

113

* Table for working with tabular data (CSV/TSV)

114

*/

115

class p5.Table {

116

/** Array of column names */

117

columns;

118

/** Array of p5.TableRow objects */

119

rows;

120

121

/**

122

* Add a new row

123

* @param {p5.TableRow} [row] - Row to add (creates new if not provided)

124

* @returns {p5.TableRow} The added row

125

*/

126

addRow(row);

127

128

/**

129

* Remove a row

130

* @param {number} id - Row index to remove

131

*/

132

removeRow(id);

133

134

/**

135

* Get row by index

136

* @param {number} rowID - Row index

137

* @returns {p5.TableRow} Row object

138

*/

139

getRow(rowID);

140

141

/**

142

* Get all rows

143

* @returns {p5.TableRow[]} Array of row objects

144

*/

145

getRows();

146

147

/**

148

* Find first row matching criteria

149

* @param {string} value - Value to search for

150

* @param {string} column - Column to search in

151

* @returns {p5.TableRow} First matching row

152

*/

153

findRow(value, column);

154

155

/**

156

* Find all rows matching criteria

157

* @param {string} value - Value to search for

158

* @param {string} column - Column to search in

159

* @returns {p5.TableRow[]} Array of matching rows

160

*/

161

findRows(value, column);

162

163

/**

164

* Add a new column

165

* @param {string} [title] - Column name

166

*/

167

addColumn(title);

168

169

/**

170

* Get column count

171

* @returns {number} Number of columns

172

*/

173

getColumnCount();

174

175

/**

176

* Get row count

177

* @returns {number} Number of rows

178

*/

179

getRowCount();

180

}

181

182

/**

183

* Table row for individual row operations

184

*/

185

class p5.TableRow {

186

/**

187

* Get cell value by column name or index

188

* @param {string|number} column - Column name or index

189

* @returns {string} Cell value

190

*/

191

get(column);

192

193

/**

194

* Get cell value as number

195

* @param {string|number} column - Column name or index

196

* @returns {number} Cell value as number

197

*/

198

getNum(column);

199

200

/**

201

* Get cell value as string

202

* @param {string|number} column - Column name or index

203

* @returns {string} Cell value as string

204

*/

205

getString(column);

206

207

/**

208

* Set cell value

209

* @param {string|number} column - Column name or index

210

* @param {*} value - Value to set

211

*/

212

set(column, value);

213

214

/**

215

* Set cell value as number

216

* @param {string|number} column - Column name or index

217

* @param {number} value - Numeric value to set

218

*/

219

setNum(column, value);

220

221

/**

222

* Set cell value as string

223

* @param {string|number} column - Column name or index

224

* @param {string} value - String value to set

225

*/

226

setString(column, value);

227

}

228

229

/**

230

* XML document parsing and manipulation

231

*/

232

class p5.XML {

233

/**

234

* Get child element by name or index

235

* @param {string|number} name - Element name or index

236

* @returns {p5.XML} Child element

237

*/

238

getChild(name);

239

240

/**

241

* Get all child elements

242

* @param {string} [name] - Filter by element name

243

* @returns {p5.XML[]} Array of child elements

244

*/

245

getChildren(name);

246

247

/**

248

* Get element content as string

249

* @returns {string} Element content

250

*/

251

getContent();

252

253

/**

254

* Set element content

255

* @param {string} text - Content to set

256

*/

257

setContent(text);

258

259

/**

260

* Get attribute value

261

* @param {string} name - Attribute name

262

* @returns {string} Attribute value

263

*/

264

getAttribute(name);

265

266

/**

267

* Set attribute value

268

* @param {string} name - Attribute name

269

* @param {*} value - Attribute value

270

*/

271

setAttribute(name, value);

272

273

/**

274

* Check if attribute exists

275

* @param {string} name - Attribute name

276

* @returns {boolean} True if attribute exists

277

*/

278

hasAttribute(name);

279

}

280

```

281

282

See complete usage examples and detailed API documentation in the p5.js reference.