@mblaney/holster 0.3.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/holster.js +3 -3
- package/build/holster.js.map +3 -3
- package/examples/user.js +3 -3
- package/package.json +1 -1
- package/src/get.js +17 -10
- package/src/ham.js +18 -20
- package/src/holster.js +214 -91
- package/src/sea.js +16 -4
- package/src/user.js +21 -22
- package/src/utils.js +13 -6
- package/src/wire.js +21 -15
- package/test/holster.get.test.js +32 -2
- package/test/holster.on.test.js +46 -5
- package/test/holster.put.test.js +19 -2
- package/test/holster.secure.test.js +1 -9
- package/test/holster.user.get.test.js +27 -4
- package/test/holster.user.lex.test.js +2 -2
- package/test/holster.user.on.test.js +58 -4
- package/test/holster.user.put.test.js +121 -59
- package/test/wire.test.js +7 -8
|
@@ -85,6 +85,28 @@ describe("holster.user.put", () => {
|
|
|
85
85
|
})
|
|
86
86
|
})
|
|
87
87
|
|
|
88
|
+
test("put and get values in for loop", (t, done) => {
|
|
89
|
+
;(async () => {
|
|
90
|
+
for (let i = 0; i < 5; i++) {
|
|
91
|
+
// Need to be careful putting user properties in a loop as they are
|
|
92
|
+
// verified per node, so wait for each update to return.
|
|
93
|
+
const err = await new Promise(res => {
|
|
94
|
+
user.get("for" + i).put(i, res)
|
|
95
|
+
})
|
|
96
|
+
assert.equal(err, null)
|
|
97
|
+
}
|
|
98
|
+
})()
|
|
99
|
+
|
|
100
|
+
setTimeout(async () => {
|
|
101
|
+
for (let i = 0; i < 5; i++) {
|
|
102
|
+
user.get("for" + i, data => {
|
|
103
|
+
assert.equal(data, i)
|
|
104
|
+
if (i === 4) setTimeout(done, 100)
|
|
105
|
+
})
|
|
106
|
+
}
|
|
107
|
+
}, 500)
|
|
108
|
+
})
|
|
109
|
+
|
|
88
110
|
test("chained get before put", (t, done) => {
|
|
89
111
|
user
|
|
90
112
|
.get("hello")
|
|
@@ -291,28 +313,80 @@ describe("holster.user.put", () => {
|
|
|
291
313
|
})
|
|
292
314
|
})
|
|
293
315
|
|
|
294
|
-
test("
|
|
295
|
-
|
|
316
|
+
test("put string with set", (t, done) => {
|
|
317
|
+
user.get("set").put("first", true, err => {
|
|
318
|
+
assert.equal(err, null)
|
|
296
319
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
320
|
+
setTimeout(() => {
|
|
321
|
+
user.get("set", data => {
|
|
322
|
+
assert.equal(Object.values(data)[0], "first")
|
|
323
|
+
|
|
324
|
+
user.get("set").put("second", true, err => {
|
|
325
|
+
assert.equal(err, null)
|
|
326
|
+
|
|
327
|
+
setTimeout(() => {
|
|
328
|
+
user.get("set", data => {
|
|
329
|
+
for (const value of Object.values(data)) {
|
|
330
|
+
assert.ok(value === "first" || value === "second")
|
|
331
|
+
}
|
|
332
|
+
done()
|
|
333
|
+
})
|
|
334
|
+
}, 2)
|
|
335
|
+
})
|
|
336
|
+
})
|
|
337
|
+
}, 2)
|
|
301
338
|
})
|
|
339
|
+
})
|
|
302
340
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
341
|
+
test("put object with set", (t, done) => {
|
|
342
|
+
const set1 = {
|
|
343
|
+
key: "value 1",
|
|
344
|
+
child: "child value 1",
|
|
345
|
+
}
|
|
346
|
+
const set2 = {
|
|
347
|
+
key: "value 2",
|
|
348
|
+
child: "child value 2",
|
|
349
|
+
}
|
|
350
|
+
user.get("set2").put(set1, true, err => {
|
|
351
|
+
assert.equal(err, null)
|
|
352
|
+
|
|
353
|
+
setTimeout(() => {
|
|
354
|
+
user.get("set2", data => {
|
|
355
|
+
assert.deepEqual(Object.values(data)[0], set1)
|
|
356
|
+
|
|
357
|
+
user.get("set2").put(set2, true, err => {
|
|
358
|
+
assert.equal(err, null)
|
|
359
|
+
|
|
360
|
+
setTimeout(() => {
|
|
361
|
+
user.get("set2", data => {
|
|
362
|
+
for (const value of Object.values(data)) {
|
|
363
|
+
if (value.key === "value 1") {
|
|
364
|
+
assert.deepEqual(value, set1)
|
|
365
|
+
}
|
|
366
|
+
if (value.key === "value 2") {
|
|
367
|
+
assert.deepEqual(value, set2)
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
done()
|
|
371
|
+
})
|
|
372
|
+
}, 100)
|
|
373
|
+
})
|
|
374
|
+
})
|
|
375
|
+
}, 100)
|
|
376
|
+
})
|
|
377
|
+
})
|
|
378
|
+
|
|
379
|
+
test("get number using public key - logged in", (t, done) => {
|
|
380
|
+
user.get([alice, "pi"], data => {
|
|
306
381
|
assert.equal(data, 3.14159)
|
|
307
|
-
|
|
308
|
-
else ok = true
|
|
382
|
+
done()
|
|
309
383
|
})
|
|
310
384
|
})
|
|
311
385
|
|
|
312
386
|
test("get number using public key - logged out", (t, done) => {
|
|
313
387
|
user.leave()
|
|
314
388
|
|
|
315
|
-
|
|
389
|
+
user.get([alice, "pi"], data => {
|
|
316
390
|
assert.equal(data, 3.14159)
|
|
317
391
|
done()
|
|
318
392
|
})
|
|
@@ -322,13 +396,10 @@ describe("holster.user.put", () => {
|
|
|
322
396
|
const plain = {
|
|
323
397
|
key: "hello plain value",
|
|
324
398
|
}
|
|
325
|
-
|
|
326
|
-
.
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
assert.deepEqual(data, plain)
|
|
330
|
-
done()
|
|
331
|
-
})
|
|
399
|
+
user.get([alice, "hello"]).next("plain", data => {
|
|
400
|
+
assert.deepEqual(data, plain)
|
|
401
|
+
done()
|
|
402
|
+
})
|
|
332
403
|
})
|
|
333
404
|
|
|
334
405
|
test("get nested object using public key", (t, done) => {
|
|
@@ -338,23 +409,17 @@ describe("holster.user.put", () => {
|
|
|
338
409
|
has: "child value",
|
|
339
410
|
},
|
|
340
411
|
}
|
|
341
|
-
|
|
412
|
+
user.get([alice, "nested"], data => {
|
|
342
413
|
assert.deepEqual(data, nested)
|
|
343
414
|
|
|
344
|
-
|
|
345
|
-
.
|
|
346
|
-
.get("nested")
|
|
347
|
-
.next("key", data => {
|
|
348
|
-
assert.equal(data, "nested value")
|
|
415
|
+
user.get([alice, "nested"]).next("key", data => {
|
|
416
|
+
assert.equal(data, "nested value")
|
|
349
417
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
.next("child", data => {
|
|
354
|
-
assert.deepEqual(data, {has: "child value"})
|
|
355
|
-
done()
|
|
356
|
-
})
|
|
418
|
+
user.get([alice, "nested"]).next("child", data => {
|
|
419
|
+
assert.deepEqual(data, {has: "child value"})
|
|
420
|
+
done()
|
|
357
421
|
})
|
|
422
|
+
})
|
|
358
423
|
})
|
|
359
424
|
})
|
|
360
425
|
|
|
@@ -365,35 +430,32 @@ describe("holster.user.put", () => {
|
|
|
365
430
|
has: "hello child value",
|
|
366
431
|
},
|
|
367
432
|
}
|
|
368
|
-
|
|
369
|
-
.
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
.
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
assert.deepEqual(data, {has: "hello child value"})
|
|
387
|
-
done()
|
|
388
|
-
})
|
|
389
|
-
})
|
|
390
|
-
})
|
|
433
|
+
user.get([alice, "hello"]).next("nested", data => {
|
|
434
|
+
assert.deepEqual(data, nested)
|
|
435
|
+
|
|
436
|
+
user
|
|
437
|
+
.get([alice, "hello"])
|
|
438
|
+
.next("nested")
|
|
439
|
+
.next("key", data => {
|
|
440
|
+
assert.equal(data, "hello nested value")
|
|
441
|
+
|
|
442
|
+
user
|
|
443
|
+
.get([alice, "hello"])
|
|
444
|
+
.next("nested")
|
|
445
|
+
.next("child", data => {
|
|
446
|
+
assert.deepEqual(data, {has: "hello child value"})
|
|
447
|
+
done()
|
|
448
|
+
})
|
|
449
|
+
})
|
|
450
|
+
})
|
|
391
451
|
})
|
|
392
452
|
|
|
393
453
|
test("cleanup", (t, done) => {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
454
|
+
setTimeout(() => {
|
|
455
|
+
fs.rm("test/holster.user.put", {recursive: true, force: true}, err => {
|
|
456
|
+
assert.equal(err, null)
|
|
457
|
+
done()
|
|
458
|
+
})
|
|
459
|
+
}, 100)
|
|
398
460
|
})
|
|
399
461
|
})
|
package/test/wire.test.js
CHANGED
|
@@ -109,8 +109,6 @@ describe("wire", () => {
|
|
|
109
109
|
_: {
|
|
110
110
|
"#": "not on disk",
|
|
111
111
|
">": {test: 1},
|
|
112
|
-
p: undefined,
|
|
113
|
-
s: undefined,
|
|
114
112
|
},
|
|
115
113
|
test: "property",
|
|
116
114
|
},
|
|
@@ -138,8 +136,6 @@ describe("wire", () => {
|
|
|
138
136
|
_: {
|
|
139
137
|
"#": "key",
|
|
140
138
|
">": {value: 1},
|
|
141
|
-
p: undefined,
|
|
142
|
-
s: undefined,
|
|
143
139
|
},
|
|
144
140
|
value: "wire test",
|
|
145
141
|
},
|
|
@@ -151,9 +147,12 @@ describe("wire", () => {
|
|
|
151
147
|
})
|
|
152
148
|
|
|
153
149
|
test("cleanup", (t, done) => {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
// Timeout to let extra wire sends finish before tests end.
|
|
151
|
+
setTimeout(() => {
|
|
152
|
+
fs.rm("test/wire", {recursive: true, force: true}, err => {
|
|
153
|
+
assert.equal(err, null)
|
|
154
|
+
done()
|
|
155
|
+
})
|
|
156
|
+
}, 100)
|
|
158
157
|
})
|
|
159
158
|
})
|