Registry / database / syllabus

syllabus

JSON →
library1.1.0jsnpmunverified

Syllabus is a collection of helpers and mix-ins for encoding Redis commands and decoding Redis replies, built upon the Sermone protocol module. The current stable version is 1.1.0 (released 2017, low release cadence). It supports over 190 Redis commands across all command groups, includes a LUA script cache via Camphora, and handles semantic versioning via Hoar. Key differentiators: it focuses on command encoding/decoding rather than full client implementation, designed to be extended; it provides a cache for LUA scripts and mixes in all Redis commands as methods. It is part of the rootslab ecosystem that also includes Libra and Spade for full client functionality.

npm install syllabus
INSTALL
IMPORT
SIG · SYLLABUS
S
syllabus
databasejavascriptv1.1.0
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Syllabus
✓ const Syllabus = require('syllabus'); const obj = new Syllabus();
✗ import { Syllabus } from 'syllabus';
Package is CJS only; no ESM or named exports. Must use require and instantiate.
new Syllabus()
✓ const s = new Syllabus();
✗ const s = Syllabus();
Syllabus is a constructor; calling without new will cause context errors.
Syllabus.lua
✓ new Syllabus().lua;
✗ Syllabus.lua
lua is an instance property, not a static one. Only available after construction.

Demonstrates basic usage: encoding a Redis SET command, decoding a reply, and using the LUA script cache.

const Syllabus = require('syllabus'); const s = new Syllabus(); // Encode a Redis SET command const encoded = s.set('foo', 'bar'); console.log(encoded); // e.g. '*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\nbar\r\n' // Decode a Redis reply const reply = s.decodeReply('+OK\r\n'); console.log(reply); // 'OK' // Use the LUA script cache const sha = s.lua.cache('return 1'); console.log(sha); // SHA1 hex string
Debug
Known issues
deprecatedThe 'sermone' module is no longer maintained and has known issues with modern Node.js versions.
fix
Consider using a full-featured Redis client like ioredis or redis instead.
affects: >=1.1.0
gotchaMissing 'new' keyword when constructing Syllabus will cause TypeError: Cannot set property of undefined.
fix
Always use new Syllabus() or const s = new Syllabus();
affects: >=1.0.0
deprecatedThe entire rootslab ecosystem (Syllabus, Libra, Spade) is in maintenance mode with no updates since 2017.
fix
Migrate to actively maintained Redis clients like ioredis or node-redis.
affects: >=1.0.0
gotchaThe 'lua' property is only available after instantiation and requires Camphora dependency.
fix
Ensure Camphora is installed and accessible; use new Syllabus().lua
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: Cannot set property 'connection' of undefined
Calling Syllabus() without new, returning undefined or a different object.
fix
Use new Syllabus() to create an instance.
Cannot find module 'sermone'
Missing peer/sibling dependency 'sermone' required by Syllabus.
fix
Install sermone: npm install sermone
Syllabus.lua is undefined
Accessing .lua statically instead of from an instance.
fix
Use new Syllabus().lua
Upgrade
Version history
1.1.0latest on npm
Audit
Dependencies
sermonerequiredRedis protocol encoder/decoder
camphorarequiredLUA script caching
hoarrequiredSemantic versioning handling
bolgiarequiredGeneral utilities
abacorequiredGeneral utilities
Agent activity
15 hits · last 30 days
node
14
OpenAI (training)
1
Resources
syllabus — npm install syllabus · libregistry