@titanpl/core 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/globals.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- declare var t: any;
2
1
  declare var fs_read_file: any;
3
2
  declare var fs_write_file: any;
4
3
  declare var fs_readdir: any;
package/index.js CHANGED
@@ -142,6 +142,8 @@ const native_ls_remove = natives.ls_remove;
142
142
  const native_ls_clear = natives.ls_clear;
143
143
  const native_ls_keys = natives.ls_keys;
144
144
 
145
+
146
+
145
147
  const native_session_get = natives.session_get;
146
148
  const native_session_set = natives.session_set;
147
149
  const native_session_delete = natives.session_delete;
@@ -341,14 +343,38 @@ const buffer = {
341
343
  // --- Local Storage ---
342
344
  /** Persistent Local Storage */
343
345
  const ls = {
344
- get: (key) => native_ls_get ? native_ls_get(key) || null : null,
345
- set: (key, value) => native_ls_set && native_ls_set(key, value),
346
- remove: (key) => native_ls_remove && native_ls_remove(key),
347
- clear: () => native_ls_clear && native_ls_clear(),
346
+ get: (key) => {
347
+ try {
348
+ const content = fs.readFile("titan_storage.json");
349
+ const db = JSON.parse(content || "{}");
350
+ return db[key] || null;
351
+ } catch (e) { return null; }
352
+ },
353
+ set: (key, value) => {
354
+ try {
355
+ let db = {};
356
+ try { db = JSON.parse(fs.readFile("titan_storage.json") || "{}"); } catch (e) { }
357
+ db[key] = String(value);
358
+ fs.writeFile("titan_storage.json", JSON.stringify(db));
359
+ } catch (e) { }
360
+ },
361
+ remove: (key) => {
362
+ try {
363
+ let db = {};
364
+ try { db = JSON.parse(fs.readFile("titan_storage.json") || "{}"); } catch (e) { }
365
+ delete db[key];
366
+ fs.writeFile("titan_storage.json", JSON.stringify(db));
367
+ } catch (e) { }
368
+ },
369
+ clear: () => {
370
+ try {
371
+ fs.writeFile("titan_storage.json", "{}");
372
+ } catch (e) { }
373
+ },
348
374
  keys: () => {
349
- if (!native_ls_keys) return [];
350
375
  try {
351
- return JSON.parse(native_ls_keys());
376
+ let db = JSON.parse(fs.readFile("titan_storage.json") || "{}");
377
+ return Object.keys(db);
352
378
  } catch (e) { return []; }
353
379
  }
354
380
  };
@@ -356,10 +382,41 @@ const ls = {
356
382
  // --- Sessions ---
357
383
  /** Server-side Session Management */
358
384
  const session = {
359
- get: (sessionId, key) => native_session_get ? native_session_get(sessionId, key) || null : null,
360
- set: (sessionId, key, value) => native_session_set && native_session_set(sessionId, JSON.stringify({ key, value })),
361
- delete: (sessionId, key) => native_session_delete && native_session_delete(sessionId, key),
362
- clear: (sessionId) => native_session_clear && native_session_clear(sessionId)
385
+ get: (sessionId, key) => {
386
+ try {
387
+ const content = fs.readFile("titan_sessions.json");
388
+ const db = JSON.parse(content || "{}");
389
+ const sessionData = db[sessionId] || {};
390
+ return sessionData[key] || null;
391
+ } catch (e) { return null; }
392
+ },
393
+ set: (sessionId, key, value) => {
394
+ try {
395
+ let db = {};
396
+ try { db = JSON.parse(fs.readFile("titan_sessions.json") || "{}"); } catch (e) { }
397
+ if (!db[sessionId]) db[sessionId] = {};
398
+ db[sessionId][key] = String(value);
399
+ fs.writeFile("titan_sessions.json", JSON.stringify(db));
400
+ } catch (e) { }
401
+ },
402
+ delete: (sessionId, key) => {
403
+ try {
404
+ let db = {};
405
+ try { db = JSON.parse(fs.readFile("titan_sessions.json") || "{}"); } catch (e) { }
406
+ if (db[sessionId]) {
407
+ delete db[sessionId][key];
408
+ fs.writeFile("titan_sessions.json", JSON.stringify(db));
409
+ }
410
+ } catch (e) { }
411
+ },
412
+ clear: (sessionId) => {
413
+ try {
414
+ let db = {};
415
+ try { db = JSON.parse(fs.readFile("titan_sessions.json") || "{}"); } catch (e) { }
416
+ delete db[sessionId];
417
+ fs.writeFile("titan_sessions.json", JSON.stringify(db));
418
+ } catch (e) { }
419
+ }
363
420
  };
364
421
 
365
422
 
@@ -524,6 +581,9 @@ const core = {
524
581
  time,
525
582
  url,
526
583
  buffer, // t.core.buffer
584
+ ls,
585
+ session,
586
+ cookies
527
587
  };
528
588
 
529
589
  t.fs = fs;
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@titanpl/core",
3
- "version": "2.0.1",
3
+ "version": "2.0.3",
4
4
  "description": "The official Core Standard Library for Titan Planet - provides fs, path, crypto, os, net, proc, time, and url modules",
5
5
  "main": "index.js",
6
- "types": "globals.d.ts",
6
+ "types": "index.d.ts",
7
7
  "scripts": {
8
8
  "build:native": "cd native && cargo build --release",
9
9
  "test": "titan run ext"
package/titan.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@titanpl/core",
3
3
  "description": "The official Core Standard Library for Titan Planet",
4
- "version": "2.0.1",
4
+ "version": "2.0.2",
5
5
  "main": "index.js",
6
6
  "native": {
7
7
  "path": "native/target/release/titan_core.dll",
@@ -10,7 +10,7 @@
10
10
  "symbol": "fs_read_file",
11
11
  "parameters": [
12
12
  "string"
13
- ],
13
+ ],
14
14
  "result": "string"
15
15
  },
16
16
  "fs_write_file": {