🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@robinpath/cache

Package Overview
Dependencies
Maintainers
4
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@robinpath/cache - npm Package Compare versions

Comparing version
0.1.2
to
0.3.0
+15
dist/cache.d.ts
/**
* RobinPath Cache Module (Node port)
*
* Process-local key-value cache with optional TTL. The store lives in module
* scope so it is scoped to the current Node.js process and shared across
* all scripts that reference it. No persistence, no network, no credentials.
*
* Exposes `configureCache(host)` for parity; the host reference is unused.
*/
import type { BuiltinHandler, FunctionMetadata, ModuleHost, ModuleMetadata } from "@robinpath/core";
export declare function configureCache(h: ModuleHost): void;
export declare const CacheFunctions: Record<string, BuiltinHandler>;
export declare const CacheFunctionMetadata: Record<string, FunctionMetadata>;
export declare const CacheModuleMetadata: ModuleMetadata;
//# sourceMappingURL=cache.d.ts.map
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAWzB,wBAAgB,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CAElD;AAsJD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAazD,CAAC;AA4BF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA+SlE,CAAC;AAIF,eAAO,MAAM,mBAAmB,EAAE,cAkCjC,CAAC"}
/**
* RobinPath Cache Module (Node port)
*
* Process-local key-value cache with optional TTL. The store lives in module
* scope so it is scoped to the current Node.js process and shared across
* all scripts that reference it. No persistence, no network, no credentials.
*
* Exposes `configureCache(host)` for parity; the host reference is unused.
*/
const state = {};
export function configureCache(h) {
state.host = h;
}
const store = new Map();
// ── Helpers ─────────────────────────────────────────────────────────────
function isExpired(entry) {
return entry.expiresAt !== null && Date.now() > entry.expiresAt;
}
function getNonExpiredKeys() {
const result = [];
for (const [key, entry] of store) {
if (isExpired(entry)) {
store.delete(key);
}
else {
result.push(key);
}
}
return result;
}
// ── Handlers ────────────────────────────────────────────────────────────
const set = (args) => {
const key = String(args[0] ?? "");
const value = args[1];
const ttl = args[2] != null ? Number(args[2]) : null;
const expiresAt = ttl != null && ttl > 0 ? Date.now() + ttl * 1000 : null;
store.set(key, { value, expiresAt });
return true;
};
const get = (args) => {
const key = String(args[0] ?? "");
const defaultValue = args[1] !== undefined ? args[1] : null;
const entry = store.get(key);
if (!entry)
return defaultValue;
if (isExpired(entry)) {
store.delete(key);
return defaultValue;
}
return entry.value;
};
const has = (args) => {
const key = String(args[0] ?? "");
const entry = store.get(key);
if (!entry)
return false;
if (isExpired(entry)) {
store.delete(key);
return false;
}
return true;
};
const del = (args) => {
const key = String(args[0] ?? "");
store.delete(key);
return true;
};
const clear = () => {
store.clear();
return true;
};
const keys = () => {
return getNonExpiredKeys();
};
const values = () => {
const result = [];
for (const [key, entry] of store) {
if (isExpired(entry)) {
store.delete(key);
}
else {
result.push(entry.value);
}
}
return result;
};
const size = () => {
return getNonExpiredKeys().length;
};
const ttl = (args) => {
const key = String(args[0] ?? "");
const entry = store.get(key);
if (!entry)
return null;
if (isExpired(entry)) {
store.delete(key);
return null;
}
if (entry.expiresAt === null)
return -1;
return Math.max(0, Math.round((entry.expiresAt - Date.now()) / 1000));
};
const setMany = (args) => {
const pairs = args[0];
const ttlSeconds = args[1] != null ? Number(args[1]) : null;
const expiresAt = ttlSeconds != null && ttlSeconds > 0
? Date.now() + ttlSeconds * 1000
: null;
if (pairs == null || typeof pairs !== "object" || Array.isArray(pairs)) {
return 0;
}
let count = 0;
for (const [key, value] of Object.entries(pairs)) {
store.set(key, { value, expiresAt });
count++;
}
return count;
};
const getMany = (args) => {
const keysArr = args[0];
if (!Array.isArray(keysArr))
return {};
const result = {};
for (const k of keysArr) {
const key = String(k);
const entry = store.get(key);
if (!entry)
continue;
if (isExpired(entry)) {
store.delete(key);
continue;
}
result[key] = entry.value;
}
return result;
};
const deleteMany = (args) => {
const keysArr = args[0];
if (!Array.isArray(keysArr))
return 0;
let count = 0;
for (const k of keysArr) {
const key = String(k);
if (store.has(key)) {
store.delete(key);
count++;
}
}
return count;
};
// ── Exports: functions map ──────────────────────────────────────────────
export const CacheFunctions = {
set,
get,
has,
delete: del,
clear,
keys,
values,
size,
ttl,
setMany,
getMany,
deleteMany,
};
// ── Shared parameter descriptors ────────────────────────────────────────
const keyParam = {
name: "key",
title: "Key",
description: "Cache key.",
dataType: "string",
formInputType: "text",
required: true,
allowExpression: true,
placeholder: "user:1",
};
const ttlParam = {
name: "ttl",
title: "TTL (seconds)",
description: "Time-to-live in seconds (omit for no expiry).",
dataType: "number",
formInputType: "number",
required: false,
allowExpression: true,
advanced: true,
};
// ── Exports: function metadata ──────────────────────────────────────────
export const CacheFunctionMetadata = {
set: {
title: "Set",
summary: "Store a value in the cache with an optional TTL",
description: "Overwrites any existing entry. TTL is in seconds; omit (or pass null) for no expiry.",
group: "mutate",
action: "write",
icon: "save",
capability: "write",
sideEffects: ["mutates_cache"],
idempotent: true,
since: "1.0.0",
tags: ["cache", "set"],
parameters: [
keyParam,
{
name: "value",
title: "Value",
description: "Value to store.",
dataType: "any",
formInputType: "text",
required: true,
allowExpression: true,
},
ttlParam,
],
returnType: "boolean",
returnDescription: "True if the value was stored.",
errors: {},
examples: [
{ title: "With TTL", code: 'cache.set "user:1" "Alice" 60' },
],
example: 'cache.set "user:1" "Alice" 60',
},
get: {
title: "Get",
summary: "Retrieve a value from the cache",
description: "Returns the default value if the key is missing or expired. Expired entries are evicted on access.",
group: "read",
action: "read",
icon: "search",
capability: "read",
sideEffects: [],
idempotent: true,
since: "1.0.0",
tags: ["cache", "get"],
parameters: [
keyParam,
{
name: "defaultValue",
title: "Default",
description: "Returned when the key is not found or expired.",
dataType: "any",
formInputType: "text",
required: false,
allowExpression: true,
},
],
returnType: "any",
returnDescription: "The cached value, the default, or null.",
errors: {},
examples: [
{ title: "With default", code: 'cache.get "user:1" "unknown"' },
],
example: 'cache.get "user:1" "unknown"',
},
has: {
title: "Has",
summary: "Check if a non-expired key exists",
description: "Returns true only if the key is present and has not expired.",
group: "read",
action: "read",
icon: "check",
capability: "read",
sideEffects: [],
idempotent: true,
since: "1.0.0",
tags: ["cache", "has"],
parameters: [keyParam],
returnType: "boolean",
returnDescription: "True if the key exists and has not expired.",
errors: {},
examples: [{ title: "Check", code: 'cache.has "user:1"' }],
example: 'cache.has "user:1"',
},
delete: {
title: "Delete",
summary: "Remove a key from the cache",
description: "Removes the entry regardless of TTL. Idempotent.",
group: "mutate",
action: "delete",
icon: "trash",
capability: "write",
sideEffects: ["mutates_cache"],
idempotent: true,
since: "1.0.0",
tags: ["cache", "delete"],
parameters: [keyParam],
returnType: "boolean",
returnDescription: "True if the key was deleted.",
errors: {},
examples: [{ title: "Delete", code: 'cache.delete "user:1"' }],
example: 'cache.delete "user:1"',
},
clear: {
title: "Clear",
summary: "Remove all entries from the cache",
description: "Wipes the entire process-local cache.",
group: "mutate",
action: "delete",
icon: "trash-2",
capability: "write",
sideEffects: ["mutates_cache"],
idempotent: true,
since: "1.0.0",
tags: ["cache", "clear"],
parameters: [],
returnType: "boolean",
returnDescription: "True if the cache was cleared.",
errors: {},
examples: [{ title: "Clear", code: "cache.clear" }],
example: "cache.clear",
},
keys: {
title: "Keys",
summary: "List all non-expired keys",
description: "Returns every key that is currently present and not expired. Expired entries are evicted as a side effect.",
group: "inspect",
action: "read",
icon: "list",
capability: "read",
sideEffects: [],
idempotent: true,
since: "1.0.0",
tags: ["cache", "keys"],
parameters: [],
returnType: "array",
returnDescription: "Array of non-expired cache keys.",
errors: {},
examples: [{ title: "List", code: "cache.keys" }],
example: "cache.keys",
},
values: {
title: "Values",
summary: "List all non-expired values",
description: "Returns every value currently in the cache, in insertion order.",
group: "inspect",
action: "read",
icon: "list",
capability: "read",
sideEffects: [],
idempotent: true,
since: "1.0.0",
tags: ["cache", "values"],
parameters: [],
returnType: "array",
returnDescription: "Array of non-expired cache values.",
errors: {},
examples: [{ title: "List", code: "cache.values" }],
example: "cache.values",
},
size: {
title: "Size",
summary: "Number of non-expired entries",
description: "Count of entries that are present and not expired.",
group: "inspect",
action: "read",
icon: "hash",
capability: "read",
sideEffects: [],
idempotent: true,
since: "1.0.0",
tags: ["cache", "size"],
parameters: [],
returnType: "number",
returnDescription: "Count of non-expired cache entries.",
errors: {},
examples: [{ title: "Count", code: "cache.size" }],
example: "cache.size",
},
ttl: {
title: "TTL",
summary: "Remaining TTL for a key",
description: "Returns the remaining seconds before the key expires, -1 if no expiry is set, or null if the key does not exist.",
group: "inspect",
action: "read",
icon: "timer",
capability: "read",
sideEffects: [],
idempotent: true,
since: "1.0.0",
tags: ["cache", "ttl"],
parameters: [keyParam],
returnType: "number",
returnDescription: "Remaining TTL in seconds, -1, or null.",
errors: {},
examples: [{ title: "TTL", code: 'cache.ttl "user:1"' }],
example: 'cache.ttl "user:1"',
},
setMany: {
title: "Set many",
summary: "Store several keys at once",
description: "All entries share the same TTL.",
group: "mutate",
action: "write",
icon: "save",
capability: "write",
sideEffects: ["mutates_cache"],
idempotent: true,
since: "1.0.0",
tags: ["cache", "batch", "set"],
parameters: [
{
name: "entries",
title: "Entries",
description: "Object of key-value pairs to store.",
dataType: "object",
formInputType: "json",
required: true,
allowExpression: true,
language: "json",
rows: 4,
},
ttlParam,
],
returnType: "number",
returnDescription: "Number of entries stored.",
errors: {},
examples: [
{ title: "Batch set", code: 'cache.setMany {"a": 1, "b": 2} 120' },
],
example: 'cache.setMany {"a": 1, "b": 2} 120',
},
getMany: {
title: "Get many",
summary: "Retrieve several values at once",
description: "Missing or expired keys are omitted from the result.",
group: "read",
action: "read",
icon: "search",
capability: "read",
sideEffects: [],
idempotent: true,
since: "1.0.0",
tags: ["cache", "batch", "get"],
parameters: [
{
name: "keys",
title: "Keys",
description: "Array of cache keys.",
dataType: "array",
formInputType: "json",
required: true,
allowExpression: true,
language: "json",
rows: 3,
},
],
returnType: "object",
returnDescription: "Object of key-value pairs for found non-expired keys.",
errors: {},
examples: [
{ title: "Batch get", code: 'cache.getMany ["a", "b", "c"]' },
],
example: 'cache.getMany ["a", "b", "c"]',
},
deleteMany: {
title: "Delete many",
summary: "Remove several keys at once",
description: "Missing keys are ignored. Returns the number actually removed.",
group: "mutate",
action: "delete",
icon: "trash",
capability: "write",
sideEffects: ["mutates_cache"],
idempotent: true,
since: "1.0.0",
tags: ["cache", "batch", "delete"],
parameters: [
{
name: "keys",
title: "Keys",
description: "Array of cache keys to delete.",
dataType: "array",
formInputType: "json",
required: true,
allowExpression: true,
language: "json",
rows: 3,
},
],
returnType: "number",
returnDescription: "Number of entries deleted.",
errors: {},
examples: [
{ title: "Batch delete", code: 'cache.deleteMany ["a", "b"]' },
],
example: 'cache.deleteMany ["a", "b"]',
},
};
// ── Exports: module metadata ────────────────────────────────────────────
export const CacheModuleMetadata = {
slug: "cache",
title: "Cache",
summary: "In-memory key-value cache with optional TTL expiration for temporary data storage",
description: "Simple process-local cache. Good for deduping work inside a single script run or sharing computed values between consecutive scripts in the same process. Not suitable for cross-process or cross-invocation persistence — pair with a persistent store for that.",
category: "infrastructure",
icon: "icon.svg",
color: "#0ea5e9",
version: "0.2.0",
docsUrl: "https://docs.robinpath.com/modules/cache",
status: "stable",
requires: [],
minNodeVersion: "18.0.0",
credentialsType: null,
operationGroups: {
read: {
title: "Read",
description: "Get, has, getMany.",
order: 1,
},
mutate: {
title: "Mutate",
description: "Set, delete, clear, setMany, deleteMany.",
order: 2,
},
inspect: {
title: "Inspect",
description: "Keys, values, size, ttl.",
order: 3,
},
},
methods: Object.keys(CacheFunctions),
};
//# sourceMappingURL=cache.js.map
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"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"}
import type { ModuleAdapter } from "@robinpath/core";
declare const CacheModule: ModuleAdapter;
export default CacheModule;
export { CacheModule };
export { CacheFunctions, CacheFunctionMetadata, CacheModuleMetadata, configureCache, } from "./cache.js";
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAQrD,QAAA,MAAM,WAAW,EAAE,aASlB,CAAC;AAEF,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC"}
import { CacheFunctions, CacheFunctionMetadata, CacheModuleMetadata, configureCache, } from "./cache.js";
const CacheModule = {
name: "cache",
functions: CacheFunctions,
functionMetadata: CacheFunctionMetadata,
moduleMetadata: CacheModuleMetadata,
// No credentials — cache is process-local and in-memory.
credentialTypes: [],
configure: configureCache,
global: false,
};
export default CacheModule;
export { CacheModule };
export { CacheFunctions, CacheFunctionMetadata, CacheModuleMetadata, configureCache, } from "./cache.js";
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,GAAkB;IACjC,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,cAAc;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,cAAc,EAAE,mBAAmB;IACnC,yDAAyD;IACzD,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,cAAc;IACzB,MAAM,EAAE,KAAK;CACd,CAAC;AAEF,eAAe,WAAW,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;AACvB,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,GACf,MAAM,YAAY,CAAC"}
+9
-4
{
"name": "@robinpath/cache",
"version": "0.1.2",
"version": "0.3.0",
"publishConfig": {

@@ -24,6 +24,6 @@ "access": "public"

"peerDependencies": {
"@robinpath/core": ">=0.20.0"
"@robinpath/core": ">=0.40.0"
},
"devDependencies": {
"@robinpath/core": "^0.30.1",
"@robinpath/core": "^0.40.0",
"tsx": "^4.19.0",

@@ -42,4 +42,9 @@ "typescript": "^5.6.0"

"auth": "none",
"functionCount": 12
"functionCount": 12,
"language": "nodejs",
"platforms": [
"cloud",
"cli"
]
}
}

@@ -22,3 +22,3 @@ # @robinpath/cache

```bash
npm install @robinpath/cache
robinpath add @robinpath/cache
```

@@ -25,0 +25,0 @@