mol_crypto_lib 0.0.948 → 0.1.950

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/README.md CHANGED
@@ -2,29 +2,27 @@
2
2
 
3
3
  Simple API for effective cross platform cryptography with minimal extra size.
4
4
 
5
- ## Symmetric encoding
5
+ ## (a)Symmetric Encryption, Signing, Hashing
6
6
 
7
- ```typescript
8
- // Any DataView or ArrayBuffer
9
- const data = new Uint8Array([1,2,3])
10
-
11
- // Should be unique for every encryption (but may be predictable)
12
- const salt = $mol_crypto_salt() // 4 bytes
13
7
 
14
- // Generates secret key
15
- const Alice = await $mol_crypto_secret.generate()
8
+ ```typescript
9
+ const Alice = await $mol_crypto_key_private.generate() // 96 B
10
+ const Bella = await $mol_crypto_key_private.generate() // 96 B
16
11
 
17
- // Serialize secret key to ArrayBuffer (16 byte)
18
- const key = await Alice.serial()
12
+ const secret = await $mol_crypto_secret.derive(
13
+ Alice.toString(), // 96 -> 129 B
14
+ Bella.public().toString() // 64 -> 86 B
15
+ )
19
16
 
20
- // Reuse secret key from ArrayBuffer
21
- const Bob = await $mol_crypto_secret.from( key )
17
+ const data = new Uint8Array([ 1, 2, 3 ]) // 3 B
18
+ const salt = $mol_crypto_salt() // 12 B
22
19
 
23
- // Use secret key and salt to encrypt data (4 bytes + data length )
24
- const closed = await Alice.encrypt( data, salt )
20
+ const closed = await secret.encrypt( data, salt ) // 3+4 B
21
+ const digest = $mol_crypto_hash( closed ) // 20 B
22
+ const sign = await Alice.sign( digest ) // 64 B
25
23
 
26
- // Use secret key and salt to decrypt data
27
- const opened = await Bob.decrypt( closed, salt )
24
+ const verified = await Alice.public().verify( digest, sign )
25
+ const opened = await secret.decrypt( closed, salt ) // 3 B
28
26
  ```
29
27
 
30
28
  ## Authentication
@@ -34,58 +32,6 @@ const opened = await Bob.decrypt( closed, salt )
34
32
  const Alice = await $mol_crypto_secret_id()
35
33
  ```
36
34
 
37
- ## Asymmetric encoding
38
-
39
- ```typescript
40
- // Any DataView or ArrayBuffer
41
- const data = new Uint8Array([1,2,3])
42
-
43
- // Generates private-public key pair
44
- const pair = await $mol_crypto_cipher_pair()
45
-
46
- // Serialize public key to ArrayBuffer (162 bytes)
47
- const key_public = await pair.public.serial()
48
-
49
- // Serialize private key to ArrayBuffer (~640 bytes)
50
- const key_private = await pair.private.serial()
51
-
52
- // Reuse keys from ArrayBuffer
53
- const Alice = await $mol_crypto_cipher_public.from( key_public )
54
- const Bob = await $mol_crypto_cipher_private.from( key_private )
55
-
56
- // Use public key to encrypt data (max 86 bytes input, 128 bytes output)
57
- const closed = await Alice.encrypt( data )
58
-
59
- // Use private key to decrypt data
60
- const opened = await Bob.decrypt( closed )
61
- ```
62
-
63
- ## Asymmetric signing
64
-
65
- ```typescript
66
- // Any DataView or ArrayBuffer
67
- const data = new Uint8Array([1,2,3])
68
-
69
- // Generates private-public key pair
70
- const pair = await $mol_crypto_auditor_pair()
71
-
72
- // Serialize public key to ArrayBuffer (62 bytes)
73
- const key_public = await pair.public.serial()
74
-
75
- // Serialize private key to ArrayBuffer (~195 bytes)
76
- const key_private = await pair.private.serial()
77
-
78
- // Reuse keys from ArrayBuffer
79
- const Alice = await $mol_crypto_auditor_public.from( key_public )
80
- const Bob = await $mol_crypto_auditor_private.from( key_private )
81
-
82
- // Make sign for data (32 bytes)
83
- const sign = await Alice.sign( data )
84
-
85
- // Use sign to verify data
86
- const = await Bob.verify( data, sign )
87
- ```
88
-
89
35
  # Usage from NPM
90
36
 
91
37
  ```
package/node.d.ts CHANGED
@@ -253,34 +253,16 @@ declare namespace $ {
253
253
  }
254
254
 
255
255
  declare namespace $ {
256
- function $mol_crypto_cipher_pair(this: $): Promise<{
257
- public: $mol_crypto_cipher_public;
258
- private: $mol_crypto_cipher_private;
259
- }>;
260
- class $mol_crypto_cipher_public extends Object {
261
- readonly native: CryptoKey & {
262
- type: 'public';
263
- };
264
- static size: number;
265
- constructor(native: CryptoKey & {
266
- type: 'public';
267
- });
268
- static from(serial: BufferSource): Promise<$mol_crypto_cipher_public>;
269
- serial(): Promise<ArrayBuffer>;
270
- encrypt(data: BufferSource): Promise<ArrayBuffer>;
271
- }
272
- class $mol_crypto_cipher_private extends Object {
273
- readonly native: CryptoKey & {
274
- type: 'private';
275
- };
276
- constructor(native: CryptoKey & {
277
- type: 'private';
278
- });
279
- static from(serial: BufferSource): Promise<$mol_crypto_cipher_private>;
280
- serial(): Promise<ArrayBuffer>;
281
- decrypt(data: BufferSource): Promise<ArrayBuffer>;
282
- }
283
- const $mol_crypto_cipher_ecrypted_size = 128;
256
+ var $mol_dom_context: typeof globalThis;
257
+ }
258
+
259
+ declare namespace $ {
260
+ }
261
+
262
+ declare namespace $ {
263
+ function $mol_crypto_secret_id(this: $): Promise<$mol_crypto_secret>;
264
+ function $mol_crypto_secret_id_new(this: $): Promise<$mol_crypto_secret>;
265
+ function $mol_crypto_secret_id_get(this: $): Promise<$mol_crypto_secret>;
284
266
  }
285
267
 
286
268
  declare namespace $ {
@@ -299,47 +281,76 @@ declare namespace $ {
299
281
  function $mol_base64_decode_node(base64Str: string): Uint8Array;
300
282
  }
301
283
 
284
+ declare namespace $ {
285
+ function $mol_base64_ae_encode(buffer: Uint8Array): string;
286
+ function $mol_base64_ae_decode(str: string): Uint8Array;
287
+ }
288
+
289
+ declare namespace $ {
290
+ class $mol_buffer extends DataView {
291
+ static from<This extends typeof $mol_buffer>(this: This, array: string | Uint8Array): InstanceType<This>;
292
+ static toString(): string;
293
+ getUint48(offset: number, LE?: boolean): number;
294
+ setUint48(offset: number, value: number, LE?: boolean): void;
295
+ int8(offset: number, next?: number): number;
296
+ uint8(offset: number, next?: number): number;
297
+ int16(offset: number, next?: number): number;
298
+ uint16(offset: number, next?: number): number;
299
+ int32(offset: number, next?: number): number;
300
+ uint32(offset: number, next?: number): number;
301
+ uint48(offset: number, next?: number): number;
302
+ int64(offset: number, next?: bigint): bigint;
303
+ uint64(offset: number, next?: bigint): bigint;
304
+ float32(offset: number, next?: number): number;
305
+ float64(offset: number, next?: number): number;
306
+ asArray(): Uint8Array;
307
+ toString(): string;
308
+ }
309
+ }
310
+
302
311
  declare namespace $ {
303
312
  function $mol_base64_url_encode(buffer: Uint8Array): string;
304
313
  function $mol_base64_url_decode(str: string): Uint8Array;
305
314
  }
306
315
 
307
316
  declare namespace $ {
308
- function $mol_crypto_auditor_pair(this: $): Promise<{
309
- public: $mol_crypto_auditor_public;
310
- private: $mol_crypto_auditor_private;
311
- }>;
312
- class $mol_crypto_auditor_public extends Object {
313
- readonly native: CryptoKey & {
314
- type: 'public';
315
- };
317
+ class $mol_wrapper extends $mol_object2 {
318
+ static wrap: (task: (...ags: any[]) => any) => (...ags: any[]) => any;
319
+ static run<Result>(task: () => Result): Result;
320
+ static func<Args extends any[], Result, Host = void>(func: (this: Host, ...args: Args) => Result): (this: Host, ...args: Args) => Result;
321
+ static get class(): <Class extends new (...args: any[]) => any>(Class: Class) => Class;
322
+ static get method(): (obj: object, name: PropertyKey, descr: PropertyDescriptor) => PropertyDescriptor;
323
+ static get field(): <Host, Field extends keyof Host, Args extends any[], Result>(obj: Host, name: Field, descr: TypedPropertyDescriptor<Result>) => TypedPropertyDescriptor<Result>;
324
+ }
325
+ }
326
+
327
+ declare namespace $ {
328
+ class $mol_memo extends $mol_wrapper {
329
+ static wrap<This extends object, Value>(task: (this: This, next?: Value) => Value): (this: This, next?: Value) => Value | undefined;
330
+ }
331
+ }
332
+
333
+ declare namespace $ {
334
+ class $mol_crypto_key extends $mol_buffer {
335
+ static from<This extends typeof $mol_crypto_key>(this: This, serial: string | ArrayBufferView): InstanceType<This>;
336
+ asArray(): Uint8Array;
337
+ toString(): string;
338
+ }
339
+ class $mol_crypto_key_public extends $mol_crypto_key {
316
340
  static size_str: number;
317
341
  static size_bin: number;
318
- constructor(native: CryptoKey & {
319
- type: 'public';
320
- });
321
- static from(serial: string | Uint8Array): Promise<$mol_crypto_auditor_public>;
322
- serial(): Promise<string>;
323
- toArray(): Promise<Uint8Array>;
342
+ native(): Promise<CryptoKey>;
324
343
  verify(data: BufferSource, sign: BufferSource): Promise<boolean>;
325
344
  }
326
- class $mol_crypto_auditor_private extends Object {
327
- readonly native: CryptoKey & {
328
- type: 'private';
329
- };
345
+ class $mol_crypto_key_private extends $mol_crypto_key {
330
346
  static size_str: number;
331
347
  static size_bin: number;
332
- constructor(native: CryptoKey & {
333
- type: 'private';
334
- });
335
- static from(serial: string | Uint8Array): Promise<$mol_crypto_auditor_private>;
336
- serial(): Promise<string>;
337
- toArray(): Promise<Uint8Array>;
348
+ static size_sign: number;
349
+ static generate(): Promise<$mol_crypto_key_private>;
350
+ native(): Promise<CryptoKey>;
351
+ public(): $mol_crypto_key_public;
338
352
  sign(data: BufferSource): Promise<ArrayBuffer>;
339
- public(): Promise<$mol_crypto_auditor_public>;
340
353
  }
341
- const $mol_crypto_auditor_sign_size = 64;
342
- function $mol_crypto_auditor_private_to_public(serial: string): string;
343
354
  }
344
355
 
345
356
  declare namespace $ {
package/node.deps.json CHANGED
@@ -1 +1 @@
1
- {"files":["mam.ts","LICENSE","README.md","yarn.lock","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/index.html","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/crypto/README.md","node/node.ts","node/node.node.ts","mol/log3/log3.ts","mol/ambient/readme.md","mol/ambient/ambient.ts","mol/delegate/delegate.ts","mol/owning/owning.ts","mol/fail/fail.ts","mol/fail/hidden/hidden.ts","mol/type/README.md","mol/type/writable/writable.ts","mol/func/name/name.ts","mol/object2/object2.ts","mol/span/span.ts","mol/tree2/to/string/string.ts","mol/tree2/tree2.ts","mol/tree2/readme.md","mol/error/syntax/syntax.ts","mol/tree2/from/string/string.ts","mol/tree2/from/json/json.ts","mol/term/readme.md","mol/term/color/color.ts","mol/log3/log3.node.ts","mol/env/env.ts","mol/env/env.node.ts","mol/exec/exec.node.ts","mol/crypto/native/native.node.ts","mol/charset/encode/encode.ts","mol/crypto/secret/secret.ts","mol/crypto/cipher/cipher.ts","mol/base64/readme.md","mol/base64/encode/encode.ts","mol/base64/encode/encode.node.ts","mol/base64/decode/decode.ts","mol/base64/decode/decode.node.ts","mol/base64/url/url.ts","mol/crypto/auditor/auditor.ts","mol/crypto/hash/hash.ts","mol/crypto/salt/salt.ts","mol/crypto/lib/lib.meta.tree"],"mods":{},"deps_in":{"mol/crypto":{"mol/crypto/lib":-9007199254740991,"mol/crypto/secret":-9007199254740991,"mol/crypto/native":-9007199254740991,"mol/crypto/cipher":-9007199254740991,"mol/crypto/auditor":-9007199254740991,"mol/crypto/hash":-9007199254740991,"mol/crypto/salt":-9007199254740991},"mol":{"mol/crypto":-9007199254740991,"mol/exec":-9007199254740991,"mol/log3":-9007199254740991,"mol/tree2":-9007199254740991,"mol/span":-9007199254740991,"mol/object2":-9007199254740991,"mol/ambient":-9007199254740991,"mol/owning":-9007199254740991,"mol/delegate":-9007199254740991,"mol/fail":-9007199254740991,"mol/type":-9007199254740991,"mol/func":-9007199254740991,"mol/error":-9007199254740991,"mol/term":-9007199254740991,"mol/env":-9007199254740991,"mol/charset":-9007199254740991,"mol/base64":-9007199254740991},"":{"mol":-9007199254740991,"node":-9007199254740991,"node_modules":-9007199254740991},"mol/crypto/secret":{"mol/crypto/lib":-9000},"mol/crypto/native":{"mol/crypto/secret":-3,"mol/crypto/cipher":-2,"mol/crypto/auditor":-2,"mol/crypto/salt":-2},"node":{"mol/crypto/native":-1,"mol/exec":-2,"mol/charset/encode":-1},"node/node.ts":{"node":0},"node_modules":{"node":-2},"mol/exec":{"mol/crypto/native":-4},"mol/log3":{"mol/exec":-2},"mol/log3/log3.ts":{"mol/log3":0},"mol/tree2/from/json":{"mol/log3":-3},"mol/tree2/from":{"mol/tree2/from/json":-9007199254740991},"mol/tree2":{"mol/tree2/from":-9007199254740991,"mol/tree2/from/string":-1,"mol/tree2/from/json":-1},"mol/span":{"mol/tree2":-2,"mol/tree2/from/string":-2,"mol/error/syntax":-3,"mol/tree2/from/json":-1},"mol/object2":{"mol/span":-1},"mol/ambient":{"mol/object2":-2},"mol/owning":{"mol/object2":-3},"mol/delegate":{"mol/owning":-3},"mol/fail/hidden":{"mol/object2":-3,"mol/tree2":-5},"mol/fail":{"mol/fail/hidden":-9007199254740991,"mol/span":-3,"mol/tree2":-4,"mol/tree2/from/string":-4,"mol/exec":-2},"mol/type/writable":{"mol/object2":-3},"mol/type":{"mol/type/writable":-9007199254740991},"mol/func/name":{"mol/object2":-3},"mol/func":{"mol/func/name":-9007199254740991},"mol/tree2/from/string":{"mol/tree2/from":-2},"mol/error/syntax":{"mol/tree2/from/string":-4},"mol/error":{"mol/error/syntax":-9007199254740991},"mol/tree2/to/string":{"mol/tree2":-3},"mol/tree2/to":{"mol/tree2/to/string":-9007199254740991},"mol/term/color":{"mol/log3":-1},"mol/term":{"mol/term/color":-9007199254740991},"mol/env":{"mol/exec":-4},"mol/env/env.ts":{"mol/env":0},"mol/charset/encode":{"mol/crypto/secret":-4},"mol/charset":{"mol/charset/encode":-9007199254740991},"mol/crypto/cipher":{"mol/crypto/lib":-9000},"mol/crypto/auditor":{"mol/crypto/lib":-9000},"mol/base64/url":{"mol/crypto/auditor":-4},"mol/base64":{"mol/base64/url":-9007199254740991,"mol/base64/encode":-9007199254740991,"mol/base64/decode":-9007199254740991},"mol/base64/encode":{"mol/base64/url":-2},"mol/base64/encode/encode.ts":{"mol/base64/encode":0},"mol/base64/decode":{"mol/base64/url":-2},"mol/base64/decode/decode.ts":{"mol/base64/decode":0},"mol/crypto/hash":{"mol/crypto/lib":-9000},"mol/crypto/salt":{"mol/crypto/lib":-9000}},"deps_out":{"mol/crypto/lib":{"mol/crypto":-9007199254740991,"mol/crypto/secret":-9000,"mol/crypto/cipher":-9000,"mol/crypto/auditor":-9000,"mol/crypto/hash":-9000,"mol/crypto/salt":-9000},"mol/crypto":{"mol":-9007199254740991},"mol":{"":-9007199254740991},"mol/crypto/secret":{"mol/crypto":-9007199254740991,"mol/crypto/native":-3,"mol/charset/encode":-4},"mol/crypto/native":{"mol/crypto":-9007199254740991,"node":-1,"mol/exec":-4},"node":{"":-9007199254740991,"node/node.ts":0,"node_modules":-2},"node_modules":{"":-9007199254740991},"mol/exec":{"mol":-9007199254740991,"mol/log3":-2,"node":-2,"mol/env":-4,"mol/fail":-2},"mol/log3":{"mol":-9007199254740991,"mol/log3/log3.ts":0,"mol/tree2/from/json":-3,"mol/term/color":-1},"mol/log3/log3.ts":{},"mol/tree2/from/json":{"mol/tree2/from":-9007199254740991,"mol/span":-1,"mol/tree2":-1},"mol/tree2/from":{"mol/tree2":-9007199254740991,"mol/tree2/from/string":-2},"mol/tree2":{"mol":-9007199254740991,"mol/span":-2,"mol/fail":-4,"mol/tree2/to/string":-3,"mol/fail/hidden":-5},"mol/span":{"mol":-9007199254740991,"mol/object2":-1,"mol/fail":-3},"mol/object2":{"mol":-9007199254740991,"mol/ambient":-2,"mol/owning":-3,"mol/fail/hidden":-3,"mol/type/writable":-3,"mol/func/name":-3},"mol/ambient":{"mol":-9007199254740991},"mol/owning":{"mol":-9007199254740991,"mol/delegate":-3},"mol/delegate":{"mol":-9007199254740991},"mol/fail/hidden":{"mol/fail":-9007199254740991},"mol/fail":{"mol":-9007199254740991},"mol/type/writable":{"mol/type":-9007199254740991},"mol/type":{"mol":-9007199254740991},"mol/func/name":{"mol/func":-9007199254740991},"mol/func":{"mol":-9007199254740991},"mol/tree2/from/string":{"mol/tree2":-1,"mol/span":-2,"mol/fail":-4,"mol/error/syntax":-4},"mol/error/syntax":{"mol/error":-9007199254740991,"mol/span":-3},"mol/error":{"mol":-9007199254740991},"mol/tree2/to/string":{"mol/tree2/to":-9007199254740991},"mol/tree2/to":{},"mol/term/color":{"mol/term":-9007199254740991},"mol/term":{"mol":-9007199254740991},"mol/env":{"mol":-9007199254740991,"mol/env/env.ts":0},"mol/env/env.ts":{},"mol/charset/encode":{"mol/charset":-9007199254740991,"node":-1},"mol/charset":{"mol":-9007199254740991},"mol/crypto/cipher":{"mol/crypto":-9007199254740991,"mol/crypto/native":-2},"mol/crypto/auditor":{"mol/crypto":-9007199254740991,"mol/crypto/native":-2,"mol/base64/url":-4},"mol/base64/url":{"mol/base64":-9007199254740991,"mol/base64/encode":-2,"mol/base64/decode":-2},"mol/base64":{"mol":-9007199254740991},"mol/base64/encode":{"mol/base64":-9007199254740991,"mol/base64/encode/encode.ts":0},"mol/base64/encode/encode.ts":{},"mol/base64/decode":{"mol/base64":-9007199254740991,"mol/base64/decode/decode.ts":0},"mol/base64/decode/decode.ts":{},"mol/crypto/hash":{"mol/crypto":-9007199254740991},"mol/crypto/salt":{"mol/crypto":-9007199254740991,"mol/crypto/native":-2}},"sloc":{"ts":1335,"LICENSE":113,"md":636,"lock":947,"js":9,"json":92,"tree":46,"CNAME":1,"html":1},"deps":{"mol/crypto/lib":{"..":-9007199254740991,"/mol/crypto/secret":-9000,"/mol/crypto/cipher":-9000,"/mol/crypto/auditor":-9000,"/mol/crypto/hash":-9000,"/mol/crypto/salt":-9000},"mol/crypto":{"..":-9007199254740991},"mol":{"..":-9007199254740991},"":{},"mol/crypto/secret":{"..":-9007199254740991,"/mol/crypto/secret":-1,"/mol/crypto/native/subtle/generate/key":-4,"/mol/charset/encode":-4,"/mol/crypto/native/subtle/digest":-4,"/mol/crypto/native/subtle/import/key":-3,"/mol/crypto/native/subtle/derive/key":-3,"/mol/crypto/native/subtle/export/key":-3,"/mol/crypto/native/subtle/encrypt":-3,"/mol/crypto/native/subtle/decrypt":-3},"mol/crypto/native":{"..":-9007199254740991,"./native.ts":0,"/mol/crypto/native":-1,"/node/crypto/webcrypto":-1},"node":{"..":-9007199254740991,"./node.ts":0,"/node":0,"module":-2,"path":-2,"fs":-2,"/mol/exec":-4},"node/node.ts":{},"node_modules":{"..":-9007199254740991},"mol/exec":{"..":-9007199254740991,"./exec.ts":0,"/mol/exec":-1,"/mol/log3/come":-2,"/node/path/relative":-3,"/node/child_process":-2,"/node/path/resolve":-4,"/mol/env":-4,"/mol/fail":-2},"mol/log3":{"..":-9007199254740991,"/mol/log3/event":-1,"/mol/log3/logger":-1,"/mol/log3/come":-1,"/mol/log3/done":-1,"/mol/log3/fail":-1,"/mol/log3/warn":-1,"/mol/log3/rise":-1,"/mol/log3/area":-1,"/mol/log3/area/lazy":-1,"/mol/log3/stack":-1,"/mol/log3/area/call":-3,"./log3.ts":0,"/mol/log3/node/make":-1,"/mol/tree2/from/json":-3,"/mol/term/color/blue":-1,"/mol/term/color/green":-1,"/mol/term/color/red":-1,"/mol/term/color/yellow":-1,"/mol/term/color/magenta":-1,"/mol/term/color/cyan":-1},"mol/log3/log3.ts":{"/mol/log3/event":-1,"/mol/log3/logger":-1,"/mol/log3/come":-1,"/mol/log3/done":-1,"/mol/log3/fail":-1,"/mol/log3/warn":-1,"/mol/log3/rise":-1,"/mol/log3/area":-1,"/mol/log3/area/lazy":-1,"/mol/log3/stack":-1,"/mol/log3/area/call":-3},"mol/tree2/from/json":{"..":-9007199254740991,"/mol/tree2/from/json":-1,"/mol/span/unknown":-1,"/mol/tree2":-1,"/mol/tree2/data":-3},"mol/tree2/from":{"..":-9007199254740991},"mol/tree2":{"..":-9007199254740991,"/mol/tree2/path":-1,"/mol/tree2/hack":-1,"/mol/tree2":-1,"/mol/tree2/belt":-1,"/mol/span":-2,"/mol/span/unknown":-3,"/mol/tree2/list":-3,"/mol/tree2/data":-3,"/mol/fail":-4,"/mol/tree2/struct":-3,"/mol/tree2/from/string":-2,"/mol/tree2/to/string":-3,"/mol/fail/hidden":-5,"/mol/tree2/empty":-1},"mol/span":{"..":-9007199254740991,"/mol/span":-1,"/mol/object2":-1,"/mol/span/begin":-2,"/mol/fail":-3},"mol/object2":{"..":-9007199254740991,"/mol/object2":-1,"/mol/ambient/ref":-2,"/mol/owning/get":-3,"/mol/fail/hidden":-3,"/mol/type/writable":-3,"/mol/func/name":-3},"mol/ambient":{"..":-9007199254740991,"/mol/ambient/ref":-1,"/mol/ambient/context":-1,"/mol/ambient":-1},"mol/owning":{"..":-9007199254740991,"/mol/owning/map":-1,"/mol/owning/allow":-1,"/mol/delegate":-3,"/mol/owning/get":-1,"/mol/owning/map/get":-2,"/mol/owning/check":-1,"/mol/owning/catch":-1,"/mol/owning/map/set":-2},"mol/delegate":{"..":-9007199254740991,"/mol/delegate":-1},"mol/fail/hidden":{"..":-9007199254740991,"/mol/fail/hidden":-1},"mol/fail":{"..":-9007199254740991,"/mol/fail":-1},"mol/type/writable":{"..":-9007199254740991,"/mol/type/writable":-1},"mol/type":{"..":-9007199254740991},"mol/func/name":{"..":-9007199254740991,"/mol/func/name":-1,"/mol/func/name/from":-1},"mol/func":{"..":-9007199254740991},"mol/tree2/from/string":{"..":-9007199254740991,"/mol/tree2/from/string":-1,"/mol/tree2":-1,"/mol/span/entire":-2,"/mol/tree2/list":-2,"/mol/fail":-4,"/mol/error/syntax":-4},"mol/error/syntax":{"..":-9007199254740991,"/mol/error/syntax":-1,"/mol/span":-3},"mol/error":{"..":-9007199254740991},"mol/tree2/to/string":{"..":-9007199254740991,"/mol/tree2/to/string":-1,"/mol/tree2":-2},"mol/tree2/to":{"..":-9007199254740991},"mol/term/color":{"..":-9007199254740991,"/mol/term/color":-1},"mol/term":{"..":-9007199254740991},"mol/env":{"..":-9007199254740991,"/mol/env":-1,"./env.ts":0},"mol/env/env.ts":{"/mol/env":-1},"mol/charset/encode":{"..":-9007199254740991,"/node/util":-1,"/mol/charset/encode":-1},"mol/charset":{"..":-9007199254740991},"mol/crypto/cipher":{"..":-9007199254740991,"/mol/crypto/cipher/pair":-1,"/mol/crypto/native/subtle/generate/key":-2,"/mol/crypto/cipher/public":-1,"/mol/crypto/cipher/private":-1,"/mol/crypto/native/subtle/import/key":-4,"/mol/crypto/native/subtle/export/key":-3,"/mol/crypto/native/subtle/encrypt":-3,"/mol/crypto/native/subtle/decrypt":-3,"/mol/crypto/cipher/ecrypted/size":-1},"mol/crypto/auditor":{"..":-9007199254740991,"/mol/crypto/auditor/pair":-1,"/mol/crypto/native/subtle/generate/key":-2,"/mol/crypto/auditor/public":-1,"/mol/crypto/auditor/private":-1,"/mol/base64/url/encode":-4,"/mol/crypto/native/subtle/import/key":-4,"/mol/crypto/native/subtle/export/key":-3,"/mol/base64/url/decode":-4,"/mol/crypto/native/subtle/verify":-3,"/mol/crypto/native/subtle/sign":-3,"/mol/crypto/auditor/public/from":-3,"/mol/crypto/auditor/private/to/public":-1,"/mol/crypto/auditor/sign/size":-1},"mol/base64/url":{"..":-9007199254740991,"/mol/base64/url/encode":-1,"/mol/base64/encode":-2,"/mol/base64/url/decode":-1,"/mol/base64/decode":-2},"mol/base64":{"..":-9007199254740991},"mol/base64/encode":{"..":-9007199254740991,"/mol/base64/encode":-1,"./encode.ts":0,"/mol/base64/encode/node":-1},"mol/base64/encode/encode.ts":{"/mol/base64/encode":-1},"mol/base64/decode":{"..":-9007199254740991,"/mol/base64/decode":-1,"./decode.ts":0,"/mol/base64/decode/node":-1},"mol/base64/decode/decode.ts":{"/mol/base64/decode":-1},"mol/crypto/hash":{"..":-9007199254740991,"/mol/crypto/hash":-1},"mol/crypto/salt":{"..":-9007199254740991,"/mol/crypto/salt":-1,"/mol/crypto/native/get/random/values":-2}}}
1
+ {"files":["mam.ts","LICENSE","README.md","yarn.lock","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/index.html","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/crypto/README.md","node/node.ts","node/node.node.ts","mol/log3/log3.ts","mol/ambient/readme.md","mol/ambient/ambient.ts","mol/delegate/delegate.ts","mol/owning/owning.ts","mol/fail/fail.ts","mol/fail/hidden/hidden.ts","mol/type/README.md","mol/type/writable/writable.ts","mol/func/name/name.ts","mol/object2/object2.ts","mol/span/span.ts","mol/tree2/to/string/string.ts","mol/tree2/tree2.ts","mol/tree2/readme.md","mol/error/syntax/syntax.ts","mol/tree2/from/string/string.ts","mol/tree2/from/json/json.ts","mol/term/readme.md","mol/term/color/color.ts","mol/log3/log3.node.ts","mol/env/env.ts","mol/env/env.node.ts","mol/exec/exec.node.ts","mol/crypto/native/native.node.ts","mol/charset/encode/encode.ts","mol/crypto/secret/secret.ts","mol/dom/context/context.ts","mol/dom/context/context.node.ts","mol/crypto/secret/id/id.ts","mol/base64/readme.md","mol/base64/encode/encode.ts","mol/base64/encode/encode.node.ts","mol/base64/decode/decode.ts","mol/base64/decode/decode.node.ts","mol/base64/ae/ae.ts","mol/buffer/buffer.ts","mol/base64/url/url.ts","mol/wrapper/wrapper.ts","mol/memo/memo.ts","mol/crypto/key/key.ts","mol/crypto/hash/hash.ts","mol/crypto/salt/salt.ts","mol/crypto/lib/package.json","mol/crypto/lib/lib.meta.tree"],"mods":{},"deps_in":{"mol/crypto":{"mol/crypto/lib":-9007199254740991,"mol/crypto/secret":-9007199254740991,"mol/crypto/native":-9007199254740991,"mol/crypto/secret/id":-5,"mol/crypto/key":-9007199254740991,"mol/crypto/hash":-9007199254740991,"mol/crypto/salt":-9007199254740991},"mol":{"mol/crypto":-9007199254740991,"mol/exec":-9007199254740991,"mol/log3":-9007199254740991,"mol/tree2":-9007199254740991,"mol/span":-9007199254740991,"mol/object2":-9007199254740991,"mol/ambient":-9007199254740991,"mol/owning":-9007199254740991,"mol/delegate":-9007199254740991,"mol/fail":-9007199254740991,"mol/type":-9007199254740991,"mol/func":-9007199254740991,"mol/error":-9007199254740991,"mol/term":-9007199254740991,"mol/env":-9007199254740991,"mol/charset":-9007199254740991,"mol/dom":-9007199254740991,"mol/buffer":-9007199254740991,"mol/base64":-9007199254740991,"mol/memo":-9007199254740991,"mol/wrapper":-9007199254740991},"":{"mol":-9007199254740991,"node":-9007199254740991,"node_modules":-9007199254740991},"mol/crypto/secret/id":{"mol/crypto/lib":-9000},"mol/crypto/secret":{"mol/crypto/secret/id":-2},"mol/crypto/native":{"mol/crypto/secret":-3,"mol/crypto/key":-3,"mol/crypto/salt":-2},"node":{"mol/crypto/native":-1,"mol/exec":-2,"mol/charset/encode":-1,"mol/dom/context":-1},"node/node.ts":{"node":0},"node_modules":{"node":-2},"mol/exec":{"mol/crypto/native":-4},"mol/log3":{"mol/exec":-2},"mol/log3/log3.ts":{"mol/log3":0},"mol/tree2/from/json":{"mol/log3":-3},"mol/tree2/from":{"mol/tree2/from/json":-9007199254740991},"mol/tree2":{"mol/tree2/from":-9007199254740991,"mol/tree2/from/string":-1,"mol/tree2/from/json":-1},"mol/span":{"mol/tree2":-2,"mol/tree2/from/string":-2,"mol/error/syntax":-3,"mol/tree2/from/json":-1},"mol/object2":{"mol/span":-1,"mol/wrapper":-1},"mol/ambient":{"mol/object2":-2},"mol/owning":{"mol/object2":-3},"mol/delegate":{"mol/owning":-3},"mol/fail/hidden":{"mol/object2":-3,"mol/tree2":-5},"mol/fail":{"mol/fail/hidden":-9007199254740991,"mol/span":-3,"mol/tree2":-4,"mol/tree2/from/string":-4,"mol/exec":-2,"mol/buffer":-3},"mol/type/writable":{"mol/object2":-3},"mol/type":{"mol/type/writable":-9007199254740991},"mol/func/name":{"mol/object2":-3,"mol/buffer":-3},"mol/func":{"mol/func/name":-9007199254740991},"mol/tree2/from/string":{"mol/tree2/from":-2},"mol/error/syntax":{"mol/tree2/from/string":-4},"mol/error":{"mol/error/syntax":-9007199254740991},"mol/tree2/to/string":{"mol/tree2":-3},"mol/tree2/to":{"mol/tree2/to/string":-9007199254740991},"mol/term/color":{"mol/log3":-1},"mol/term":{"mol/term/color":-9007199254740991},"mol/env":{"mol/exec":-4},"mol/env/env.ts":{"mol/env":0},"mol/charset/encode":{"mol/crypto/secret":-4},"mol/charset":{"mol/charset/encode":-9007199254740991},"mol/dom/context":{"mol/crypto/secret/id":-2},"mol/dom":{"mol/dom/context":-9007199254740991},"mol/dom/context/context.ts":{"mol/dom/context":0},"mol/crypto/key":{"mol/crypto/lib":-9000},"mol/buffer":{"mol/crypto/key":-1},"mol/base64/ae":{"mol/buffer":-3},"mol/base64":{"mol/base64/ae":-9007199254740991,"mol/base64/encode":-9007199254740991,"mol/base64/decode":-9007199254740991,"mol/base64/url":-9007199254740991},"mol/base64/encode":{"mol/base64/ae":-2,"mol/base64/url":-2},"mol/base64/encode/encode.ts":{"mol/base64/encode":0},"mol/base64/decode":{"mol/base64/ae":-2,"mol/base64/url":-2},"mol/base64/decode/decode.ts":{"mol/base64/decode":0},"mol/base64/url":{"mol/crypto/key":-3},"mol/memo":{"mol/crypto/key":-2},"mol/wrapper":{"mol/memo":-1},"mol/crypto/hash":{"mol/crypto/lib":-9000},"mol/crypto/salt":{"mol/crypto/lib":-9000}},"deps_out":{"mol/crypto/lib":{"mol/crypto":-9007199254740991,"mol/crypto/secret/id":-9000,"mol/crypto/key":-9000,"mol/crypto/hash":-9000,"mol/crypto/salt":-9000},"mol/crypto":{"mol":-9007199254740991},"mol":{"":-9007199254740991},"mol/crypto/secret/id":{"mol/crypto/secret":-2,"mol/dom/context":-2,"mol/crypto":-5},"mol/crypto/secret":{"mol/crypto":-9007199254740991,"mol/crypto/native":-3,"mol/charset/encode":-4},"mol/crypto/native":{"mol/crypto":-9007199254740991,"node":-1,"mol/exec":-4},"node":{"":-9007199254740991,"node/node.ts":0,"node_modules":-2},"node_modules":{"":-9007199254740991},"mol/exec":{"mol":-9007199254740991,"mol/log3":-2,"node":-2,"mol/env":-4,"mol/fail":-2},"mol/log3":{"mol":-9007199254740991,"mol/log3/log3.ts":0,"mol/tree2/from/json":-3,"mol/term/color":-1},"mol/log3/log3.ts":{},"mol/tree2/from/json":{"mol/tree2/from":-9007199254740991,"mol/span":-1,"mol/tree2":-1},"mol/tree2/from":{"mol/tree2":-9007199254740991,"mol/tree2/from/string":-2},"mol/tree2":{"mol":-9007199254740991,"mol/span":-2,"mol/fail":-4,"mol/tree2/to/string":-3,"mol/fail/hidden":-5},"mol/span":{"mol":-9007199254740991,"mol/object2":-1,"mol/fail":-3},"mol/object2":{"mol":-9007199254740991,"mol/ambient":-2,"mol/owning":-3,"mol/fail/hidden":-3,"mol/type/writable":-3,"mol/func/name":-3},"mol/ambient":{"mol":-9007199254740991},"mol/owning":{"mol":-9007199254740991,"mol/delegate":-3},"mol/delegate":{"mol":-9007199254740991},"mol/fail/hidden":{"mol/fail":-9007199254740991},"mol/fail":{"mol":-9007199254740991},"mol/type/writable":{"mol/type":-9007199254740991},"mol/type":{"mol":-9007199254740991},"mol/func/name":{"mol/func":-9007199254740991},"mol/func":{"mol":-9007199254740991},"mol/tree2/from/string":{"mol/tree2":-1,"mol/span":-2,"mol/fail":-4,"mol/error/syntax":-4},"mol/error/syntax":{"mol/error":-9007199254740991,"mol/span":-3},"mol/error":{"mol":-9007199254740991},"mol/tree2/to/string":{"mol/tree2/to":-9007199254740991},"mol/tree2/to":{},"mol/term/color":{"mol/term":-9007199254740991},"mol/term":{"mol":-9007199254740991},"mol/env":{"mol":-9007199254740991,"mol/env/env.ts":0},"mol/env/env.ts":{},"mol/charset/encode":{"mol/charset":-9007199254740991,"node":-1},"mol/charset":{"mol":-9007199254740991},"mol/dom/context":{"mol/dom":-9007199254740991,"mol/dom/context/context.ts":0,"node":-1},"mol/dom":{"mol":-9007199254740991},"mol/dom/context/context.ts":{},"mol/crypto/key":{"mol/crypto":-9007199254740991,"mol/buffer":-1,"mol/base64/url":-3,"mol/memo":-2,"mol/crypto/native":-3},"mol/buffer":{"mol":-9007199254740991,"mol/base64/ae":-3,"mol/func/name":-3,"mol/fail":-3},"mol/base64/ae":{"mol/base64":-9007199254740991,"mol/base64/encode":-2,"mol/base64/decode":-2},"mol/base64":{"mol":-9007199254740991},"mol/base64/encode":{"mol/base64":-9007199254740991,"mol/base64/encode/encode.ts":0},"mol/base64/encode/encode.ts":{},"mol/base64/decode":{"mol/base64":-9007199254740991,"mol/base64/decode/decode.ts":0},"mol/base64/decode/decode.ts":{},"mol/base64/url":{"mol/base64":-9007199254740991,"mol/base64/encode":-2,"mol/base64/decode":-2},"mol/memo":{"mol":-9007199254740991,"mol/wrapper":-1},"mol/wrapper":{"mol":-9007199254740991,"mol/object2":-1},"mol/crypto/hash":{"mol/crypto":-9007199254740991},"mol/crypto/salt":{"mol/crypto":-9007199254740991,"mol/crypto/native":-2}},"sloc":{"ts":1398,"LICENSE":113,"md":599,"lock":947,"js":9,"json":95,"tree":45,"CNAME":1,"html":1},"deps":{"mol/crypto/lib":{"..":-9007199254740991,"/mol/crypto/secret/id":-9000,"/mol/crypto/key":-9000,"/mol/crypto/hash":-9000,"/mol/crypto/salt":-9000},"mol/crypto":{"..":-9007199254740991},"mol":{"..":-9007199254740991},"":{},"mol/crypto/secret/id":{"..":-9007199254740991,"/mol/crypto/secret/id":-1,"/mol/dom/context/local/storage/get/item":-2,"/mol/crypto/secret":-2,"/mol/crypto/secret/id/get":-1,"/mol/crypto/secret/id/new":-1,"/mol/dom/context/local/storage/set/item":-2,"/mol/dom/context/navigator/credentials/create":-2,"/mol/crypto/id":-5,"/mol/crypto/secret/from":-2,"/mol/dom/context/navigator/credentials/get":-2},"mol/crypto/secret":{"..":-9007199254740991,"/mol/crypto/secret":-1,"/mol/crypto/native/subtle/generate/key":-4,"/mol/charset/encode":-4,"/mol/crypto/native/subtle/digest":-4,"/mol/crypto/native/subtle/import/key":-3,"/mol/crypto/native/subtle/derive/key":-3,"/mol/crypto/native/subtle/export/key":-3,"/mol/crypto/native/subtle/encrypt":-3,"/mol/crypto/native/subtle/decrypt":-3},"mol/crypto/native":{"..":-9007199254740991,"./native.ts":0,"/mol/crypto/native":-1,"/node/crypto/webcrypto":-1},"node":{"..":-9007199254740991,"./node.ts":0,"/node":0,"module":-2,"path":-2,"fs":-2,"/mol/exec":-4},"node/node.ts":{},"node_modules":{"..":-9007199254740991},"mol/exec":{"..":-9007199254740991,"./exec.ts":0,"/mol/exec":-1,"/mol/log3/come":-2,"/node/path/relative":-3,"/node/child_process":-2,"/node/path/resolve":-4,"/mol/env":-4,"/mol/fail":-2},"mol/log3":{"..":-9007199254740991,"/mol/log3/event":-1,"/mol/log3/logger":-1,"/mol/log3/come":-1,"/mol/log3/done":-1,"/mol/log3/fail":-1,"/mol/log3/warn":-1,"/mol/log3/rise":-1,"/mol/log3/area":-1,"/mol/log3/area/lazy":-1,"/mol/log3/stack":-1,"/mol/log3/area/call":-3,"./log3.ts":0,"/mol/log3/node/make":-1,"/mol/tree2/from/json":-3,"/mol/term/color/blue":-1,"/mol/term/color/green":-1,"/mol/term/color/red":-1,"/mol/term/color/yellow":-1,"/mol/term/color/magenta":-1,"/mol/term/color/cyan":-1},"mol/log3/log3.ts":{"/mol/log3/event":-1,"/mol/log3/logger":-1,"/mol/log3/come":-1,"/mol/log3/done":-1,"/mol/log3/fail":-1,"/mol/log3/warn":-1,"/mol/log3/rise":-1,"/mol/log3/area":-1,"/mol/log3/area/lazy":-1,"/mol/log3/stack":-1,"/mol/log3/area/call":-3},"mol/tree2/from/json":{"..":-9007199254740991,"/mol/tree2/from/json":-1,"/mol/span/unknown":-1,"/mol/tree2":-1,"/mol/tree2/data":-3},"mol/tree2/from":{"..":-9007199254740991},"mol/tree2":{"..":-9007199254740991,"/mol/tree2/path":-1,"/mol/tree2/hack":-1,"/mol/tree2":-1,"/mol/tree2/belt":-1,"/mol/span":-2,"/mol/span/unknown":-3,"/mol/tree2/list":-3,"/mol/tree2/data":-3,"/mol/fail":-4,"/mol/tree2/struct":-3,"/mol/tree2/from/string":-2,"/mol/tree2/to/string":-3,"/mol/fail/hidden":-5,"/mol/tree2/empty":-1},"mol/span":{"..":-9007199254740991,"/mol/span":-1,"/mol/object2":-1,"/mol/span/begin":-2,"/mol/fail":-3},"mol/object2":{"..":-9007199254740991,"/mol/object2":-1,"/mol/ambient/ref":-2,"/mol/owning/get":-3,"/mol/fail/hidden":-3,"/mol/type/writable":-3,"/mol/func/name":-3},"mol/ambient":{"..":-9007199254740991,"/mol/ambient/ref":-1,"/mol/ambient/context":-1,"/mol/ambient":-1},"mol/owning":{"..":-9007199254740991,"/mol/owning/map":-1,"/mol/owning/allow":-1,"/mol/delegate":-3,"/mol/owning/get":-1,"/mol/owning/map/get":-2,"/mol/owning/check":-1,"/mol/owning/catch":-1,"/mol/owning/map/set":-2},"mol/delegate":{"..":-9007199254740991,"/mol/delegate":-1},"mol/fail/hidden":{"..":-9007199254740991,"/mol/fail/hidden":-1},"mol/fail":{"..":-9007199254740991,"/mol/fail":-1},"mol/type/writable":{"..":-9007199254740991,"/mol/type/writable":-1},"mol/type":{"..":-9007199254740991},"mol/func/name":{"..":-9007199254740991,"/mol/func/name":-1,"/mol/func/name/from":-1},"mol/func":{"..":-9007199254740991},"mol/tree2/from/string":{"..":-9007199254740991,"/mol/tree2/from/string":-1,"/mol/tree2":-1,"/mol/span/entire":-2,"/mol/tree2/list":-2,"/mol/fail":-4,"/mol/error/syntax":-4},"mol/error/syntax":{"..":-9007199254740991,"/mol/error/syntax":-1,"/mol/span":-3},"mol/error":{"..":-9007199254740991},"mol/tree2/to/string":{"..":-9007199254740991,"/mol/tree2/to/string":-1,"/mol/tree2":-2},"mol/tree2/to":{"..":-9007199254740991},"mol/term/color":{"..":-9007199254740991,"/mol/term/color":-1},"mol/term":{"..":-9007199254740991},"mol/env":{"..":-9007199254740991,"/mol/env":-1,"./env.ts":0},"mol/env/env.ts":{"/mol/env":-1},"mol/charset/encode":{"..":-9007199254740991,"/node/util":-1,"/mol/charset/encode":-1},"mol/charset":{"..":-9007199254740991},"mol/dom/context":{"..":-9007199254740991,"/mol/dom/context":-1,"./context.ts":0,"/node/jsdom":-1},"mol/dom":{"..":-9007199254740991},"mol/dom/context/context.ts":{"/mol/dom/context":-1},"mol/crypto/key":{"..":-9007199254740991,"/mol/crypto/key":-1,"/mol/buffer":-1,"/mol/base64/url/decode":-5,"/mol/memo/method":-2,"/mol/base64/url/encode":-3,"/mol/crypto/key/public":-1,"/mol/crypto/native/subtle/import/key":-3,"/mol/crypto/native/subtle/verify":-3,"/mol/crypto/key/private":-1,"/mol/crypto/native/subtle/generate/key":-3,"/mol/crypto/native/subtle/export/key":-3,"/mol/crypto/native/subtle/sign":-3},"mol/buffer":{"..":-9007199254740991,"/mol/buffer":-1,"/mol/base64/ae/decode":-3,"/mol/func/name":-3,"/mol/fail":-3,"/mol/base64/ae/encode":-3},"mol/base64/ae":{"..":-9007199254740991,"/mol/base64/ae/encode":-1,"/mol/base64/encode":-2,"/mol/base64/ae/decode":-1,"/mol/base64/decode":-2},"mol/base64":{"..":-9007199254740991},"mol/base64/encode":{"..":-9007199254740991,"/mol/base64/encode":-1,"./encode.ts":0,"/mol/base64/encode/node":-1},"mol/base64/encode/encode.ts":{"/mol/base64/encode":-1},"mol/base64/decode":{"..":-9007199254740991,"/mol/base64/decode":-1,"./decode.ts":0,"/mol/base64/decode/node":-1},"mol/base64/decode/decode.ts":{"/mol/base64/decode":-1},"mol/base64/url":{"..":-9007199254740991,"/mol/base64/url/encode":-1,"/mol/base64/encode":-2,"/mol/base64/url/decode":-1,"/mol/base64/decode":-2},"mol/memo":{"..":-9007199254740991,"/mol/memo":-1,"/mol/wrapper":-1},"mol/wrapper":{"..":-9007199254740991,"/mol/wrapper":-1,"/mol/object2":-1},"mol/crypto/hash":{"..":-9007199254740991,"/mol/crypto/hash":-1},"mol/crypto/salt":{"..":-9007199254740991,"/mol/crypto/salt":-1,"/mol/crypto/native/get/random/values":-2}}}