@mblaney/holster 0.3.0 → 1.0.1
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 +19 -22
- package/src/holster.js +256 -112
- 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 +36 -2
- package/test/holster.on.test.js +46 -5
- package/test/holster.put.test.js +23 -2
- package/test/holster.secure.test.js +1 -9
- package/test/holster.user.get.test.js +31 -4
- package/test/holster.user.lex.test.js +2 -2
- package/test/holster.user.on.test.js +62 -4
- package/test/holster.user.put.test.js +125 -59
- package/test/wire.test.js +7 -8
|
@@ -85,6 +85,32 @@ 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
|
+
let count = 0
|
|
102
|
+
for (let i = 0; i < 5; i++) {
|
|
103
|
+
user.get("for" + i, data => {
|
|
104
|
+
assert.equal(data, i)
|
|
105
|
+
count++
|
|
106
|
+
})
|
|
107
|
+
}
|
|
108
|
+
setTimeout(() => {
|
|
109
|
+
if (count === 5) done()
|
|
110
|
+
}, 200)
|
|
111
|
+
}, 500)
|
|
112
|
+
})
|
|
113
|
+
|
|
88
114
|
test("chained get before put", (t, done) => {
|
|
89
115
|
user
|
|
90
116
|
.get("hello")
|
|
@@ -291,28 +317,80 @@ describe("holster.user.put", () => {
|
|
|
291
317
|
})
|
|
292
318
|
})
|
|
293
319
|
|
|
294
|
-
test("
|
|
295
|
-
|
|
320
|
+
test("put string with set", (t, done) => {
|
|
321
|
+
user.get("set").put("first", true, err => {
|
|
322
|
+
assert.equal(err, null)
|
|
296
323
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
324
|
+
setTimeout(() => {
|
|
325
|
+
user.get("set", data => {
|
|
326
|
+
assert.equal(Object.values(data)[0], "first")
|
|
327
|
+
|
|
328
|
+
user.get("set").put("second", true, err => {
|
|
329
|
+
assert.equal(err, null)
|
|
330
|
+
|
|
331
|
+
setTimeout(() => {
|
|
332
|
+
user.get("set", data => {
|
|
333
|
+
for (const value of Object.values(data)) {
|
|
334
|
+
assert.ok(value === "first" || value === "second")
|
|
335
|
+
}
|
|
336
|
+
done()
|
|
337
|
+
})
|
|
338
|
+
}, 2)
|
|
339
|
+
})
|
|
340
|
+
})
|
|
341
|
+
}, 2)
|
|
301
342
|
})
|
|
343
|
+
})
|
|
344
|
+
|
|
345
|
+
test("put object with set", (t, done) => {
|
|
346
|
+
const set1 = {
|
|
347
|
+
key: "value 1",
|
|
348
|
+
child: "child value 1",
|
|
349
|
+
}
|
|
350
|
+
const set2 = {
|
|
351
|
+
key: "value 2",
|
|
352
|
+
child: "child value 2",
|
|
353
|
+
}
|
|
354
|
+
user.get("set2").put(set1, true, err => {
|
|
355
|
+
assert.equal(err, null)
|
|
302
356
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
357
|
+
setTimeout(() => {
|
|
358
|
+
user.get("set2", data => {
|
|
359
|
+
assert.deepEqual(Object.values(data)[0], set1)
|
|
360
|
+
|
|
361
|
+
user.get("set2").put(set2, true, err => {
|
|
362
|
+
assert.equal(err, null)
|
|
363
|
+
|
|
364
|
+
setTimeout(() => {
|
|
365
|
+
user.get("set2", data => {
|
|
366
|
+
for (const value of Object.values(data)) {
|
|
367
|
+
if (value.key === "value 1") {
|
|
368
|
+
assert.deepEqual(value, set1)
|
|
369
|
+
}
|
|
370
|
+
if (value.key === "value 2") {
|
|
371
|
+
assert.deepEqual(value, set2)
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
done()
|
|
375
|
+
})
|
|
376
|
+
}, 100)
|
|
377
|
+
})
|
|
378
|
+
})
|
|
379
|
+
}, 100)
|
|
380
|
+
})
|
|
381
|
+
})
|
|
382
|
+
|
|
383
|
+
test("get number using public key - logged in", (t, done) => {
|
|
384
|
+
user.get([alice, "pi"], data => {
|
|
306
385
|
assert.equal(data, 3.14159)
|
|
307
|
-
|
|
308
|
-
else ok = true
|
|
386
|
+
done()
|
|
309
387
|
})
|
|
310
388
|
})
|
|
311
389
|
|
|
312
390
|
test("get number using public key - logged out", (t, done) => {
|
|
313
391
|
user.leave()
|
|
314
392
|
|
|
315
|
-
|
|
393
|
+
user.get([alice, "pi"], data => {
|
|
316
394
|
assert.equal(data, 3.14159)
|
|
317
395
|
done()
|
|
318
396
|
})
|
|
@@ -322,13 +400,10 @@ describe("holster.user.put", () => {
|
|
|
322
400
|
const plain = {
|
|
323
401
|
key: "hello plain value",
|
|
324
402
|
}
|
|
325
|
-
|
|
326
|
-
.
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
assert.deepEqual(data, plain)
|
|
330
|
-
done()
|
|
331
|
-
})
|
|
403
|
+
user.get([alice, "hello"]).next("plain", data => {
|
|
404
|
+
assert.deepEqual(data, plain)
|
|
405
|
+
done()
|
|
406
|
+
})
|
|
332
407
|
})
|
|
333
408
|
|
|
334
409
|
test("get nested object using public key", (t, done) => {
|
|
@@ -338,23 +413,17 @@ describe("holster.user.put", () => {
|
|
|
338
413
|
has: "child value",
|
|
339
414
|
},
|
|
340
415
|
}
|
|
341
|
-
|
|
416
|
+
user.get([alice, "nested"], data => {
|
|
342
417
|
assert.deepEqual(data, nested)
|
|
343
418
|
|
|
344
|
-
|
|
345
|
-
.
|
|
346
|
-
.get("nested")
|
|
347
|
-
.next("key", data => {
|
|
348
|
-
assert.equal(data, "nested value")
|
|
419
|
+
user.get([alice, "nested"]).next("key", data => {
|
|
420
|
+
assert.equal(data, "nested value")
|
|
349
421
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
.next("child", data => {
|
|
354
|
-
assert.deepEqual(data, {has: "child value"})
|
|
355
|
-
done()
|
|
356
|
-
})
|
|
422
|
+
user.get([alice, "nested"]).next("child", data => {
|
|
423
|
+
assert.deepEqual(data, {has: "child value"})
|
|
424
|
+
done()
|
|
357
425
|
})
|
|
426
|
+
})
|
|
358
427
|
})
|
|
359
428
|
})
|
|
360
429
|
|
|
@@ -365,35 +434,32 @@ describe("holster.user.put", () => {
|
|
|
365
434
|
has: "hello child value",
|
|
366
435
|
},
|
|
367
436
|
}
|
|
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
|
-
})
|
|
437
|
+
user.get([alice, "hello"]).next("nested", data => {
|
|
438
|
+
assert.deepEqual(data, nested)
|
|
439
|
+
|
|
440
|
+
user
|
|
441
|
+
.get([alice, "hello"])
|
|
442
|
+
.next("nested")
|
|
443
|
+
.next("key", data => {
|
|
444
|
+
assert.equal(data, "hello nested value")
|
|
445
|
+
|
|
446
|
+
user
|
|
447
|
+
.get([alice, "hello"])
|
|
448
|
+
.next("nested")
|
|
449
|
+
.next("child", data => {
|
|
450
|
+
assert.deepEqual(data, {has: "hello child value"})
|
|
451
|
+
done()
|
|
452
|
+
})
|
|
453
|
+
})
|
|
454
|
+
})
|
|
391
455
|
})
|
|
392
456
|
|
|
393
457
|
test("cleanup", (t, done) => {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
458
|
+
setTimeout(() => {
|
|
459
|
+
fs.rm("test/holster.user.put", {recursive: true, force: true}, err => {
|
|
460
|
+
assert.equal(err, null)
|
|
461
|
+
done()
|
|
462
|
+
})
|
|
463
|
+
}, 100)
|
|
398
464
|
})
|
|
399
465
|
})
|
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
|
})
|