Comparing version 0.0.2 to 0.0.3
@@ -7,2 +7,10 @@ "use strict"; | ||
var _regenerator = require("babel-runtime/regenerator"); | ||
var _regenerator2 = _interopRequireDefault(_regenerator); | ||
var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator"); | ||
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); | ||
var _assign = require("babel-runtime/core-js/object/assign"); | ||
@@ -40,3 +48,3 @@ | ||
value: function rawValueToString(value) { | ||
this.renderer(value); | ||
return this.renderer(value); | ||
} | ||
@@ -50,5 +58,39 @@ }, { | ||
key: "getValue", | ||
value: function getValue(key) { | ||
return this.rawValueToString(this.getRawValue(key)); | ||
} | ||
value: function () { | ||
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(key) { | ||
var value; | ||
return _regenerator2.default.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
_context.next = 2; | ||
return this.getRawValue(key); | ||
case 2: | ||
value = _context.sent; | ||
if (value) { | ||
_context.next = 5; | ||
break; | ||
} | ||
return _context.abrupt("return", null); | ||
case 5: | ||
return _context.abrupt("return", this.rawValueToString(value)); | ||
case 6: | ||
case "end": | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee, this); | ||
})); | ||
function getValue(_x) { | ||
return _ref.apply(this, arguments); | ||
} | ||
return getValue; | ||
}() | ||
}]); | ||
@@ -55,0 +97,0 @@ return SMCMS; |
{ | ||
"name": "smcms", | ||
"version": "0.0.2", | ||
"version": "0.0.3", | ||
"description": "A small CMS for Node.js apps.", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -21,3 +21,3 @@ # smcms | ||
## Stores | ||
A backend is used to store the data, and must support certain | ||
A store is used to store the data, and must support certain | ||
operations: | ||
@@ -24,0 +24,0 @@ * retrieve a value from a key |
@@ -6,2 +6,11 @@ import { expect } from 'chai'; | ||
const noopRenderer = v => v; | ||
const replaceRenderer = v => v.replace(/\d+/g, '#'); | ||
const echoStore = { | ||
getValue: k => k, | ||
}; | ||
const nullStore = { | ||
getValue: () => null, | ||
}; | ||
describe('SMCMS', () => { | ||
@@ -13,2 +22,22 @@ it('sets store from options', async () => { | ||
}); | ||
describe('getValue', () => { | ||
it('gets value from backend', async () => { | ||
const smcms = new SMCMS({ | ||
store: echoStore, | ||
renderer: noopRenderer, | ||
}); | ||
expect(await smcms.getValue('some value')).to.equal('some value'); | ||
}); | ||
it('returns null (without calling renderer) for null values', async () => { | ||
const smcms = new SMCMS({ | ||
store: nullStore, | ||
renderer: replaceRenderer, | ||
}); | ||
expect(await smcms.getValue('some key')).to.equal(null); | ||
}); | ||
}); | ||
}); |
import { expect } from 'chai'; | ||
import GithubStore from '../../backends/GithubStore'; | ||
import GithubStore from '../../stores/GithubStore'; | ||
@@ -8,17 +8,17 @@ const { before, describe, it } = global; | ||
it('sets rootPath', async () => { | ||
const backend = new GithubStore({ rootPath: 'foo' }); | ||
const store = new GithubStore({ rootPath: 'foo' }); | ||
expect(backend.config.rootPath).to.equal('foo'); | ||
expect(store.config.rootPath).to.equal('foo'); | ||
}); | ||
it('sets auth', async () => { | ||
const backend = new GithubStore({ username: 'foo', token: 'bar' }); | ||
const store = new GithubStore({ username: 'foo', token: 'bar' }); | ||
expect(backend.config.token).to.equal('bar'); | ||
expect(store.config.token).to.equal('bar'); | ||
}); | ||
describe('getValue', () => { | ||
let backend; | ||
let store; | ||
before(() => { | ||
backend = new GithubStore({ | ||
store = new GithubStore({ | ||
owner: 'truebill', | ||
@@ -31,3 +31,3 @@ repo: 'smcms', | ||
it('returns a value', async () => { | ||
const value = await backend.getValue('test1.simple'); | ||
const value = await store.getValue('test1.simple'); | ||
expect(value).to.equal('Here is some **content**!'); | ||
@@ -37,3 +37,3 @@ }); | ||
it('returns null if file at path does not exist', async () => { | ||
const value = await backend.getValue('test1.nothing'); | ||
const value = await store.getValue('test1.nothing'); | ||
expect(value).to.be.null; | ||
@@ -40,0 +40,0 @@ }); |
@@ -13,3 +13,3 @@ const defaultOptions = { | ||
rawValueToString(value) { | ||
this.renderer(value); | ||
return this.renderer(value); | ||
} | ||
@@ -21,5 +21,8 @@ | ||
getValue(key) { | ||
return this.rawValueToString(this.getRawValue(key)); | ||
async getValue(key) { | ||
const value = await this.getRawValue(key); | ||
if (!value) return null; | ||
return this.rawValueToString(value); | ||
} | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
15594
364
0