/*jslint indent: 2, maxlen: 80, continue: false, unparam: false, node: true */ /* -*- tab-width: 2 -*- */ 'use strict'; var makeTokenObj = require('tokenobj'), usersDb = require('demofake-userdb')(), flags = { admin: makeTokenObj('User is an administrator'), member: makeTokenObj('User has registered'), }, realRank, fakeRank, D = require('./lib_demo.js'); usersDb.hasRank = usersDb.hasPropEql.bind(usersDb, 'rank'); usersDb.addUsersFromFile('admins', { rank: flags.admin }); usersDb.addUsersFromFile('members', { rank: flags.member }); usersDb.addUsersFromFile('guests'); console.log(String(usersDb)); //= `[DemoFakeUserDb: 4 users: Ash, Pinky, Brain, RandomJ]` D.annot("An admin record as JSON:"); D.jsonDump(usersDb.getUser('Ash')); //= `{ "nick": "Ash",` //= ` "icon": 42,` //= ` "mail": "*****@*****.**",` //= ` "rank": { "tokenPurpose": "User is an administrator" } }` D.annot("Although the token is represented in a meaningful way,"); D.annot("JSON can't transport its real uniqueness:"); D.jsonDump(usersDb.getUser('RandomJ'));
/*jslint indent: 2, maxlen: 80, continue: false, unparam: false, node: true */ /* -*- tab-width: 2 -*- */ 'use strict'; //#u var tokenObj = require('tokenobj'), D = require('./lib_demo.js'), real = tokenObj('totally legit'), fake = tokenObj(real.tokenPurpose), tkn; console.dir({ real: real, fake: fake }); //= `{ real: TokenObject { tokenPurpose: 'totally legit' },` //= ` fake: TokenObject { tokenPurpose: 'totally legit' } }` D.jsonDump({ real: real, fake: fake }); //= `{ "real": { "tokenPurpose": "totally legit" },` //= ` "fake": { "tokenPurpose": "totally legit" } }` //#m D.vEqualStr.log(real, fake); //= `[Token: totally legit] !== [Token: totally legit]` tkn = tokenObj.wrap(['Created in ', ' weather'], D.checkWeather()); console.dir(tkn); //= `TokenObject { tokenPurpose: 'Created in rainy weather' }` tkn = D.weathers.map(tokenObj.wrap.bind(null, ['Created in ', ' weather'])); console.dir(tkn); //= `[ TokenObject { tokenPurpose: 'Created in rainy weather' },` //= ` TokenObject { tokenPurpose: 'Created in sunny weather' },` //= ` TokenObject { tokenPurpose: 'Created in stormy weather' },`