@comate/zulu 0.8.0 → 0.8.2

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.
Files changed (31) hide show
  1. package/comate-engine/node_modules/@comate/plugin-engine/dist/index.js +8 -8
  2. package/comate-engine/node_modules/@comate/plugin-host/dist/index-DRjiQy-z.js +1 -0
  3. package/comate-engine/node_modules/@comate/plugin-host/dist/index.js +1 -1
  4. package/comate-engine/node_modules/@comate/plugin-host/dist/main.js +1 -1
  5. package/comate-engine/node_modules/@comate/plugin-host/dist/user-NJTZ_OFu.js +44 -0
  6. package/comate-engine/node_modules/@comate/plugin-shared-internals/dist/index.d.ts +406 -15
  7. package/comate-engine/node_modules/@comate/plugin-shared-internals/dist/index.js +8 -8
  8. package/comate-engine/node_modules/@comate/plugin-shared-internals/package.json +4 -1
  9. package/comate-engine/node_modules/win-ca/LICENSE +21 -0
  10. package/comate-engine/node_modules/win-ca/README.md +648 -0
  11. package/comate-engine/node_modules/win-ca/lib/crypt32-ia32.node +0 -0
  12. package/comate-engine/node_modules/win-ca/lib/crypt32-x64.node +0 -0
  13. package/comate-engine/node_modules/win-ca/lib/der2.js +78 -0
  14. package/comate-engine/node_modules/win-ca/lib/fallback.js +110 -0
  15. package/comate-engine/node_modules/win-ca/lib/forge.js +16 -0
  16. package/comate-engine/node_modules/win-ca/lib/hash.js +52 -0
  17. package/comate-engine/node_modules/win-ca/lib/index.js +162 -0
  18. package/comate-engine/node_modules/win-ca/lib/inject.js +65 -0
  19. package/comate-engine/node_modules/win-ca/lib/n-api.js +62 -0
  20. package/comate-engine/node_modules/win-ca/lib/none.js +13 -0
  21. package/comate-engine/node_modules/win-ca/lib/oids.js +4 -0
  22. package/comate-engine/node_modules/win-ca/lib/roots.exe +0 -0
  23. package/comate-engine/node_modules/win-ca/lib/save.js +112 -0
  24. package/comate-engine/node_modules/win-ca/lib/unique.js +17 -0
  25. package/comate-engine/node_modules/win-ca/package.json +66 -0
  26. package/comate-engine/package.json +9 -2
  27. package/comate-engine/plugins/demo-feature/dist/index.js +72178 -7934
  28. package/comate-engine/server.js +173 -106
  29. package/dist/bundle/index.js +12 -8
  30. package/package.json +1 -1
  31. package/comate-engine/node_modules/@comate/plugin-host/dist/user-CoKKEQY1.js +0 -44
@@ -0,0 +1,78 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var forge$, formatters, list, k, v, isBuffer, bufferFrom;
3
+ module.exports = der2;
4
+ forge$ = require('./forge');
5
+ formatters = {
6
+ der: der,
7
+ pem: pem,
8
+ txt: txt,
9
+ asn1: asn1,
10
+ x509: x509
11
+ };
12
+ list = [];
13
+ for (k in formatters) {
14
+ v = formatters[k];
15
+ der2[k] = list.length;
16
+ list.push(v);
17
+ }
18
+ der2.forge = der2.x509;
19
+ isBuffer = Buffer.isBuffer;
20
+ bufferFrom = Buffer.from || function(data, encoding){
21
+ return new Buffer(data, encoding);
22
+ };
23
+ function der2(format, blob){
24
+ var converter;
25
+ converter = list[format] || list[0];
26
+ if (blob != null) {
27
+ return converter(blob);
28
+ } else {
29
+ return converter;
30
+ }
31
+ }
32
+ function der(it){
33
+ if (isBuffer(it)) {
34
+ return it;
35
+ } else {
36
+ return bufferFrom(it, 'binary');
37
+ }
38
+ }
39
+ function pem(it){
40
+ var lines, i$, to$, i;
41
+ it = der(it).toString('base64');
42
+ lines = ['-----BEGIN CERTIFICATE-----'];
43
+ for (i$ = 0, to$ = it.length; i$ < to$; i$ += 64) {
44
+ i = i$;
45
+ lines.push(it.substr(i, 64));
46
+ }
47
+ lines.push('-----END CERTIFICATE-----', '');
48
+ return lines.join("\r\n");
49
+ }
50
+ function txt(it){
51
+ var crt;
52
+ crt = asn1(it);
53
+ return "Subject\t" + crt.subject.value.map(function(it){
54
+ return bufferFrom(it.value[0].value[1].value, 'binary').toString('utf8');
55
+ }).join('/') + "\nValid\t" + crt.valid.value.map(function(it){
56
+ return it.value;
57
+ }).join(' - ') + "\n" + pem(it);
58
+ }
59
+ function asn1(it){
60
+ var asn1parser, crt, serial, hasSerial;
61
+ asn1parser = forge$().asn1;
62
+ it = it.toString('binary');
63
+ crt = asn1parser.fromDer(it).value[0].value;
64
+ serial = crt[0];
65
+ hasSerial = serial.tagClass === asn1parser.Class.CONTEXT_SPECIFIC && serial.type === 0 && serial.constructed;
66
+ crt = crt.slice(hasSerial);
67
+ return {
68
+ serial: crt[0],
69
+ valid: crt[3],
70
+ issuer: crt[2],
71
+ subject: crt[4]
72
+ };
73
+ }
74
+ function x509(it){
75
+ return forge$().pki.certificateFromAsn1(
76
+ forge$().asn1.fromDer(
77
+ it.toString('binary')));
78
+ }
@@ -0,0 +1,110 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var path, child_process, split, bin, execFileProperties, bufferFrom, out$ = typeof exports != 'undefined' && exports || this;
3
+ path = require('path');
4
+ child_process = require('child_process');
5
+ split = require('split');
6
+ execFileProperties = {
7
+ maxBuffer: 1024 * 1024 * 1024
8
+ };
9
+ function exe(newBin){
10
+ var old;
11
+ newBin == null && (newBin = 'roots.exe');
12
+ old = bin;
13
+ bin = path.resolve(__dirname, newBin);
14
+ return old;
15
+ } exe();
16
+ out$.exe = exe;
17
+ out$.sync = sync;
18
+ function sync(args){
19
+ var queue, index;
20
+ return {
21
+ run: run,
22
+ next: next,
23
+ done: done
24
+ };
25
+ function next(){
26
+ if (!queue) {
27
+ queue = [];
28
+ index = 0;
29
+ run(function(it){
30
+ if (it) {
31
+ queue.push(it);
32
+ }
33
+ });
34
+ }
35
+ if (index < queue.length) {
36
+ return queue[index++];
37
+ }
38
+ queue = [];
39
+ }
40
+ function done(){
41
+ queue = [];
42
+ }
43
+ function run(callback){
44
+ splitter(callback).on('end', function(){
45
+ callback();
46
+ }).end(child_process.execFileSync(bin, args, execFileProperties));
47
+ }
48
+ }
49
+ out$.async = async;
50
+ function async(args){
51
+ var queue, requests, finished;
52
+ return {
53
+ run: run,
54
+ next: next,
55
+ done: done
56
+ };
57
+ function next(){
58
+ if (!queue) {
59
+ queue = [];
60
+ requests = [];
61
+ run(enqueue);
62
+ }
63
+ return queue.length
64
+ ? Promise.resolve(queue.shift())
65
+ : finished
66
+ ? Promise.resolve()
67
+ : new Promise(function(it){
68
+ requests.push(it);
69
+ });
70
+ }
71
+ function enqueue(it){
72
+ if (finished) {
73
+ return;
74
+ }
75
+ if (!it) {
76
+ suspend();
77
+ } else if (requests.length) {
78
+ requests.shift()(it);
79
+ } else {
80
+ queue.push(it);
81
+ }
82
+ }
83
+ function done(){
84
+ queue = [];
85
+ suspend();
86
+ }
87
+ function suspend(){
88
+ var i$, ref$, len$, resolver;
89
+ finished = true;
90
+ for (i$ = 0, len$ = (ref$ = requests).length; i$ < len$; ++i$) {
91
+ resolver = ref$[i$];
92
+ resolver();
93
+ }
94
+ }
95
+ function run(callback){
96
+ child_process.execFile(bin, args, execFileProperties, function(){}).stdout.pipe(splitter(callback)).on('end', function(){
97
+ callback();
98
+ });
99
+ }
100
+ }
101
+ function splitter(callback){
102
+ return split(function(line){
103
+ if (line.length) {
104
+ callback(bufferFrom(line, 'hex'));
105
+ }
106
+ });
107
+ }
108
+ bufferFrom = Buffer.from || function(data, encoding){
109
+ return new Buffer(data, encoding);
110
+ };
@@ -0,0 +1,16 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var forge;
3
+ module.exports = loader;
4
+ function loader(){
5
+ var oids, k, ref$, v;
6
+ if (!forge) {
7
+ forge = require('node-forge');
8
+ oids = forge.oids;
9
+ for (k in ref$ = require('./oids')) {
10
+ v = ref$[k];
11
+ oids[k] == null && (oids[k] = v);
12
+ oids[v] == null && (oids[v] = k);
13
+ }
14
+ }
15
+ return forge;
16
+ }
@@ -0,0 +1,52 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var crypto, forge, der2, asn1, toASN1, bufferFrom;
3
+ crypto = require('crypto');
4
+ forge = require('./forge');
5
+ der2 = require('./der2');
6
+ asn1 = forge().asn1;
7
+ toASN1 = der2(der2.asn1);
8
+ module.exports = dispatch;
9
+ bufferFrom = Buffer.from || function(data, encoding){
10
+ return new Buffer(data, encoding);
11
+ };
12
+ function hash(it){
13
+ var sha1;
14
+ sha1 = crypto.createHash('sha1');
15
+ toASN1(it).subject.value.forEach(function(it){
16
+ var pair, unicod;
17
+ it = asn1.copy(it);
18
+ pair = it.value[0].value[1];
19
+ if (!pair.value) {
20
+ return;
21
+ }
22
+ pair.type = asn1.Type.UTF8;
23
+ unicod = bufferFrom(pair.value, 'binary').toString('utf8');
24
+ unicod = unicod.trim().replace(/[A-Z]+/g, function(it){
25
+ return it.toLowerCase();
26
+ }).replace(/\s+/g, ' ');
27
+ pair.value = bufferFrom(unicod, 'utf8').toString('binary');
28
+ sha1.update(asn1.toDer(it).getBytes(), 'binary');
29
+ });
30
+ return hex(sha1);
31
+ }
32
+ function hash0(it){
33
+ var md5, subj;
34
+ md5 = crypto.createHash('md5');
35
+ subj = toASN1(it).subject;
36
+ md5.update(asn1.toDer(subj).getBytes(), 'binary');
37
+ return hex(md5);
38
+ }
39
+ function hex(it){
40
+ it = it.digest().slice(0, 4);
41
+ it.writeUInt32LE(it.readUInt32BE(0), 0);
42
+ return it.toString('hex');
43
+ }
44
+ function dispatch(ver, blob){
45
+ var fn;
46
+ fn = 0 === ver ? hash0 : hash;
47
+ if (blob != null) {
48
+ return fn(blob);
49
+ } else {
50
+ return fn;
51
+ }
52
+ }
@@ -0,0 +1,162 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var disabled, der2;
3
+ module.exports = api;
4
+ api.disabled = disabled = process.platform !== 'win32';
5
+ api.nApi = false;
6
+ api.der2 = der2 = require('./der2');
7
+ api.hash = hash;
8
+ api.inject = inject;
9
+
10
+ function hash(){
11
+ return (api.hash = require('./hash')).apply(this, arguments);
12
+ }
13
+ function inject(){
14
+ return (api.inject = require('./inject').inject).apply(this, arguments);
15
+ }
16
+ function api(params){
17
+ var engine, store, async, Process, unique, mapper, saver, injector;
18
+ params == null && (params = {});
19
+ params.rootInstance = this;
20
+ engine = disabled || params.disabled
21
+ ? require('./none')
22
+ : require('./n-api');
23
+ if (!(store = params.store)) {
24
+ store = [];
25
+ } else if (!Array.isArray(store)) {
26
+ store = [store];
27
+ }
28
+ engine = engine[(async = params.async) ? 'async' : 'sync'](store);
29
+ Process = async ? asyncProcess : syncProcess;
30
+ if (false !== params.unique) {
31
+ unique = require('./unique')();
32
+ }
33
+ mapper = der2(params.format);
34
+ if (Array.isArray(params.ondata)) {
35
+ params.ondata = params.ondata.push.bind(params.ondata);
36
+ }
37
+ if (params.save || params.$ave) {
38
+ saver = require('./save')(params);
39
+ }
40
+ if (params.inject) {
41
+ injector = require('./inject')(params.inject);
42
+ }
43
+ if (params.generator) {
44
+ return (async ? asyncGenerator : syncGenerator)();
45
+ }
46
+ engine.run(function(it){
47
+ if (!it || !unique || unique(it)) {
48
+ Process(it);
49
+ }
50
+ });
51
+ function syncProcess(it){
52
+ if (saver) {
53
+ saver(it);
54
+ }
55
+ if (it) {
56
+ if (injector) {
57
+ injector(it);
58
+ }
59
+ if (typeof params.ondata == 'function') {
60
+ params.ondata(mapper(it));
61
+ }
62
+ } else {
63
+ if (typeof params.onend == 'function') {
64
+ params.onend();
65
+ }
66
+ }
67
+ }
68
+ function asyncProcess(it){
69
+ Promise.resolve(it).then(syncProcess);
70
+ }
71
+ function syncGenerator(){
72
+ var ref$;
73
+ return ref$ = {}, ref$[Symbol.iterator] = myself, ref$['return'] = Return, ref$.next = syncNext, ref$;
74
+ }
75
+ function asyncGenerator(){
76
+ var ref$, ref1$;
77
+ return ref$ = {}, ref$[(ref1$ = Symbol.asyncIterator) != null ? ref1$ : '@'] = myself, ref$['return'] = Return, ref$.next = asyncNext, ref$;
78
+ }
79
+ function genProcess(it){
80
+ Process(it);
81
+ return {
82
+ done: !it,
83
+ value: it != null ? mapper(it) : it
84
+ };
85
+ }
86
+ function Return(it){
87
+ engine.done();
88
+ return {
89
+ done: true,
90
+ value: it
91
+ };
92
+ }
93
+ function syncNext(){
94
+ var der;
95
+ while ((der = engine.next()) && unique && !unique(der)) {}
96
+ return genProcess(der);
97
+ }
98
+ function asyncNext(){
99
+ function fire(){
100
+ return Promise.resolve().then(engine.next).then(function(it){
101
+ if (it && unique && !unique(it)) {
102
+ return fire();
103
+ } else {
104
+ return genProcess(it);
105
+ }
106
+ });
107
+ }
108
+ return fire();
109
+ }
110
+ }
111
+ function myself(){
112
+ return this;
113
+ }
114
+
115
+ api.all = all;
116
+ api.each = each;
117
+ each.async = async;
118
+
119
+ function each(){
120
+ var params;
121
+ upgradeAPI(arguments, params = {
122
+ unique: true,
123
+ ondata: function(it){
124
+ if (typeof params.$cb == 'function') {
125
+ params.$cb(it);
126
+ }
127
+ }
128
+ });
129
+ }
130
+ function async(){
131
+ var params;
132
+ upgradeAPI(arguments, params = {
133
+ async: true,
134
+ ondata: function(it){
135
+ if (typeof params.$cb == 'function') {
136
+ params.$cb(void 8, it);
137
+ }
138
+ },
139
+ onend: function(){
140
+ if (typeof params.$cb == 'function') {
141
+ params.$cb();
142
+ }
143
+ }
144
+ });
145
+ }
146
+ function all(){
147
+ var result;
148
+ upgradeAPI(arguments, {
149
+ ondata: result = []
150
+ });
151
+ return result;
152
+ }
153
+ function upgradeAPI(args, defaults){
154
+ var format;
155
+ format = args[0];
156
+ defaults.unique == null && (defaults.unique = false);
157
+ defaults.format = format != null
158
+ ? format
159
+ : api.der2.x509;
160
+ defaults.$cb = args[1] || format;
161
+ api(defaults);
162
+ }
@@ -0,0 +1,65 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var https, tls, der2, toPEM, agentOptions, roots, patchMode, saveCreateSecureContext;
3
+ https = require('https');
4
+ tls = require('tls');
5
+ der2 = require('./der2');
6
+ module.exports = iFactory;
7
+ iFactory.inject = inject;
8
+ toPEM = der2(der2.pem);
9
+ agentOptions = https.globalAgent.options;
10
+ roots = [];
11
+ function iFactory(mode){
12
+ inject(mode, []);
13
+ return add;
14
+ }
15
+ function add(der){
16
+ roots.push(
17
+ toPEM(
18
+ der));
19
+ }
20
+ patchMode = 0;
21
+ function inject(mode, array){
22
+ if (array) {
23
+ roots.length = 0;
24
+ roots.push.apply(roots, array);
25
+ }
26
+ mode = '+' === mode
27
+ ? 2
28
+ : mode ? 1 : 0;
29
+ if (mode === patchMode) {
30
+ return;
31
+ }
32
+ switch (patchMode) {
33
+ case 1:
34
+ if (agentOptions.ca === roots) {
35
+ delete agentOptions.ca;
36
+ }
37
+ break;
38
+ case 2:
39
+ if (tls.createSecureContext === createSecureContext) {
40
+ tls.createSecureContext = saveCreateSecureContext;
41
+ saveCreateSecureContext = void 8;
42
+ }
43
+ }
44
+ switch (patchMode = mode) {
45
+ case 1:
46
+ agentOptions.ca = roots;
47
+ break;
48
+ case 2:
49
+ if (!saveCreateSecureContext) {
50
+ saveCreateSecureContext = tls.createSecureContext;
51
+ tls.createSecureContext = createSecureContext;
52
+ }
53
+ }
54
+ }
55
+ function createSecureContext(options){
56
+ var ctx, i$, ref$, len$, crt;
57
+ ctx = saveCreateSecureContext.apply(this, arguments);
58
+ if (2 === patchMode && !(options != null && options.ca)) {
59
+ for (i$ = 0, len$ = (ref$ = roots).length; i$ < len$; ++i$) {
60
+ crt = ref$[i$];
61
+ ctx.context.addCACert(crt);
62
+ }
63
+ }
64
+ return ctx;
65
+ }
@@ -0,0 +1,62 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var crypt32, out$ = typeof exports != 'undefined' && exports || this;
3
+ crypt32 = require("win-ca/lib/crypt32-" + process.arch);
4
+ out$.sync = sync;
5
+ function sync(args){
6
+ var handle, current;
7
+ current = args.length
8
+ ? 0
9
+ : -1;
10
+ return {
11
+ next: next,
12
+ done: done,
13
+ run: run
14
+ };
15
+ function next(){
16
+ var that;
17
+ while (current < args.length) {
18
+ handle == null && (handle = current < 0
19
+ ? crypt32()
20
+ : crypt32(args[current]));
21
+ if (that = handle.next()) {
22
+ return that;
23
+ }
24
+ handle.done();
25
+ handle = void 8;
26
+ current++;
27
+ }
28
+ }
29
+ function done(){
30
+ if (handle != null) {
31
+ handle.done();
32
+ }
33
+ handle = void 8;
34
+ current = args.length;
35
+ }
36
+ function run(it){
37
+ var that;
38
+ while (that = next()) {
39
+ it(that);
40
+ }
41
+ it();
42
+ }
43
+ }
44
+ out$.async = async;
45
+ function async(it){
46
+ var res, next;
47
+ res = sync(it);
48
+ next = res.next;
49
+ res.run = run;
50
+ return res;
51
+ function run(callback){
52
+ function fire(){
53
+ return Promise.resolve().then(next).then(function(it){
54
+ if (it) {
55
+ callback(it);
56
+ return fire();
57
+ }
58
+ callback();
59
+ });
60
+ } fire();
61
+ }
62
+ }
@@ -0,0 +1,13 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var async, out$ = typeof exports != 'undefined' && exports || this;
3
+ out$.sync = sync;
4
+ function sync(){
5
+ return {
6
+ next: function(){},
7
+ done: function(){},
8
+ run: function(it){
9
+ return it();
10
+ }
11
+ };
12
+ }
13
+ out$.async = async = sync;
@@ -0,0 +1,4 @@
1
+ // Generated by LiveScript 1.6.0
2
+ module.exports = {
3
+ dc: '0.9.2342.19200300.100.1.25'
4
+ };
@@ -0,0 +1,112 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var fs, os, path, makeDir, der2, hash, toPEM, to$, writeFile, readdir, unlink;
3
+ fs = require('fs');
4
+ os = require('os');
5
+ path = require('path');
6
+ makeDir = require('make-dir');
7
+ der2 = require('./der2');
8
+ hash = require('./hash');
9
+ module.exports = save;
10
+ toPEM = der2(der2.txt);
11
+ to$ = hash();
12
+ writeFile = promisify(fs.writeFile);
13
+ readdir = promisify(fs.readdir);
14
+ unlink = promisify(fs.unlink);
15
+ function save(params){
16
+ var folder, chain, PEM, hashes, names;
17
+ hashes = {};
18
+ names = new Set;
19
+ return later;
20
+ function later(it){
21
+ return Promise.resolve(it).then(saver);
22
+ }
23
+ function saver(der){
24
+ if (der) {
25
+ chain || (chain = mkdir(params.save || params.$ave).then(function(it){
26
+ return folder = it;
27
+ }));
28
+ chain = chain.then(function(){
29
+ if (folder) {
30
+ return single(der);
31
+ }
32
+ });
33
+ } else if (chain) {
34
+ chain.then(cleanUp).then(function(){
35
+ if (PEM != null) {
36
+ PEM.end();
37
+ }
38
+ if (folder && params.$ave) {
39
+ process.env.SSL_CERT_DIR = params.rootInstance.path = folder;
40
+ }
41
+ if (typeof params.onsave == 'function') {
42
+ params.onsave(folder);
43
+ }
44
+ });
45
+ } else {
46
+ if (typeof params.onsave == 'function') {
47
+ params.onsave();
48
+ }
49
+ }
50
+ }
51
+ function single(der){
52
+ var pem, hash;
53
+ (PEM || (PEM = fs.createWriteStream(name('roots.pem')))).write(pem = toPEM(der));
54
+ hashes[hash = to$(der)] || (hashes[hash] = 0);
55
+ return writeFile(name(hash + "." + (hashes[hash]++)), pem)['catch'](ignore);
56
+ }
57
+ function name(it){
58
+ names.add(it);
59
+ return path.join(folder, it);
60
+ }
61
+ function cleanUp(){
62
+ if (folder) {
63
+ readdir(folder).then(function(it){
64
+ return Promise.all(it.filter(function(it){
65
+ return !names.has(it);
66
+ }).map(function(it){
67
+ return path.join(folder, it);
68
+ }).map(function(it){
69
+ return unlink(it)['catch'](ignore);
70
+ }));
71
+ })['catch'](ignore);
72
+ }
73
+ }
74
+ }
75
+ function defaults(){
76
+ return [path.join(__dirname, '../pem'), path.join(os.homedir(), '.local/win-ca/pem')];
77
+ }
78
+ function mkdir(dst){
79
+ var idx;
80
+ if ('string' === typeof dst) {
81
+ dst = [dst];
82
+ } else if (!Array.isArray(dst)) {
83
+ dst = defaults();
84
+ }
85
+ idx = 0;
86
+ return nextDir();
87
+ function nextDir(){
88
+ if (idx < dst.length) {
89
+ return makeDir(dst[idx++])['catch'](nextDir);
90
+ } else {
91
+ return Promise.resolve();
92
+ }
93
+ }
94
+ }
95
+ function promisify(fn){
96
+ return function(){
97
+ var args, this$ = this;
98
+ args = [].slice.call(arguments);
99
+ return new Promise(function(resolve, reject){
100
+ args.push(callback);
101
+ fn.apply(this$, args);
102
+ function callback(error, value){
103
+ if (error) {
104
+ reject(error);
105
+ } else {
106
+ resolve(value);
107
+ }
108
+ }
109
+ });
110
+ };
111
+ }
112
+ function ignore(){}
@@ -0,0 +1,17 @@
1
+ // Generated by LiveScript 1.6.0
2
+ var crypto;
3
+ crypto = require('crypto');
4
+ module.exports = unique;
5
+ function unique(){
6
+ var seen;
7
+ seen = new Set;
8
+ function pass(it){
9
+ var sha;
10
+ sha = crypto.createHash('sha256').update(it).digest('base64');
11
+ if (!seen.has(sha)) {
12
+ seen.add(sha);
13
+ return true;
14
+ }
15
+ }
16
+ return pass;
17
+ }