Exemplo n.º 1
0
/*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'));
Exemplo n.º 2
0
/*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' },`