@atproto/common 0.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.
@@ -0,0 +1,2 @@
1
+ import pino from 'pino';
2
+ export declare const subsystemLogger: (name: string) => pino.Logger;
@@ -0,0 +1,14 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { Stream, Readable, Transform, TransformCallback } from 'stream';
4
+ export declare const forwardStreamErrors: (...streams: Stream[]) => void;
5
+ export declare const cloneStream: (stream: Readable) => Readable;
6
+ export declare const streamSize: (stream: Readable) => Promise<number>;
7
+ export declare const bytesToStream: (bytes: Uint8Array) => Readable;
8
+ export declare class MaxSizeChecker extends Transform {
9
+ maxSize: number;
10
+ createError: () => Error;
11
+ totalSize: number;
12
+ constructor(maxSize: number, createError: () => Error);
13
+ _transform(chunk: Uint8Array, _enc: BufferEncoding, cb: TransformCallback): void | this;
14
+ }
package/dist/tid.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ export declare class TID {
2
+ str: string;
3
+ constructor(str: string);
4
+ static next(): TID;
5
+ static nextStr(): string;
6
+ static fromTime(timestamp: number, clockid: number): TID;
7
+ static fromStr(str: string): TID;
8
+ static newestFirst(a: TID, b: TID): number;
9
+ static oldestFirst(a: TID, b: TID): number;
10
+ static is(str: string): boolean;
11
+ timestamp(): number;
12
+ clockid(): number;
13
+ formatted(): string;
14
+ toString(): string;
15
+ compareTo(other: TID): number;
16
+ equals(other: TID): boolean;
17
+ newerThan(other: TID): boolean;
18
+ olderThan(other: TID): boolean;
19
+ }
20
+ export default TID;
@@ -0,0 +1,14 @@
1
+ import * as mf from 'multiformats/cid';
2
+ import { z } from 'zod';
3
+ export declare const isCid: (str: string) => boolean;
4
+ declare const bytes: z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>;
5
+ export declare type Bytes = z.infer<typeof bytes>;
6
+ export declare const def: {
7
+ string: z.ZodString;
8
+ cid: z.ZodEffects<z.ZodEffects<z.ZodAny, any, any>, mf.CID, any>;
9
+ strToCid: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, mf.CID, string>;
10
+ bytes: z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>;
11
+ strToInt: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, number, string>;
12
+ strToBool: z.ZodEffects<z.ZodString, boolean, string>;
13
+ };
14
+ export {};
package/dist/util.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /// <reference types="node" />
2
+ export declare const noUndefinedVals: <T>(obj: Record<string, T>) => Record<string, T>;
3
+ export declare const wait: (ms: number) => Promise<unknown>;
4
+ export declare const flattenUint8Arrays: (arrs: Uint8Array[]) => Uint8Array;
5
+ export declare const streamToArray: (stream: AsyncIterable<Uint8Array>) => Promise<Uint8Array>;
6
+ export declare const s32encode: (i: number) => string;
7
+ export declare const s32decode: (s: string) => number;
8
+ export declare const asyncFilter: <T>(arr: T[], fn: (t: T) => Promise<boolean>) => Promise<T[]>;
9
+ export declare const isErrnoException: (err: unknown) => err is NodeJS.ErrnoException;
10
+ export declare const errHasMsg: (err: unknown, msg: string) => boolean;
package/jest.config.js ADDED
@@ -0,0 +1,6 @@
1
+ const base = require('../../jest.config.base.js')
2
+
3
+ module.exports = {
4
+ ...base,
5
+ displayName: 'Common',
6
+ }
package/package.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "@atproto/common",
3
+ "version": "0.0.1",
4
+ "main": "dist/index.js",
5
+ "license": "MIT",
6
+ "scripts": {
7
+ "test": "jest",
8
+ "prettier": "prettier --check src/",
9
+ "prettier:fix": "prettier --write src/",
10
+ "lint": "eslint . --ext .ts,.tsx",
11
+ "lint:fix": "yarn lint --fix",
12
+ "verify": "run-p prettier lint",
13
+ "verify:fix": "yarn prettier:fix && yarn lint:fix",
14
+ "build": "node ./build.js",
15
+ "postbuild": "tsc --build tsconfig.build.json",
16
+ "update-main-to-dist": "node ./update-pkg.js --update-main-to-dist",
17
+ "update-main-to-src": "node ./update-pkg.js --update-main-to-src",
18
+ "prepublish": "npm run update-main-to-dist",
19
+ "postpublish": "npm run update-main-to-src"
20
+ },
21
+ "dependencies": {
22
+ "@ipld/dag-cbor": "^7.0.3",
23
+ "multiformats": "^9.6.4",
24
+ "pino": "^8.6.1",
25
+ "zod": "^3.14.2"
26
+ }
27
+ }
package/src/blocks.ts ADDED
@@ -0,0 +1,40 @@
1
+ import { CID } from 'multiformats/cid'
2
+ import * as Block from 'multiformats/block'
3
+ import * as rawCodec from 'multiformats/codecs/raw'
4
+ import { sha256 as blockHasher } from 'multiformats/hashes/sha2'
5
+ import * as mf from 'multiformats'
6
+ import * as blockCodec from '@ipld/dag-cbor'
7
+
8
+ export const valueToIpldBlock = async (data: unknown) => {
9
+ return Block.encode({
10
+ value: data,
11
+ codec: blockCodec,
12
+ hasher: blockHasher,
13
+ })
14
+ }
15
+
16
+ export const sha256RawToCid = (hash: Uint8Array): CID => {
17
+ const digest = mf.digest.create(blockHasher.code, hash)
18
+ return CID.createV1(rawCodec.code, digest)
19
+ }
20
+
21
+ export const cidForData = async (data: unknown): Promise<CID> => {
22
+ const block = await valueToIpldBlock(data)
23
+ return block.cid
24
+ }
25
+
26
+ export const valueToIpldBytes = (value: unknown): Uint8Array => {
27
+ return blockCodec.encode(value)
28
+ }
29
+
30
+ export const ipldBytesToValue = (bytes: Uint8Array) => {
31
+ return blockCodec.decode(bytes)
32
+ }
33
+
34
+ export const ipldBytesToRecord = (bytes: Uint8Array): object => {
35
+ const val = ipldBytesToValue(bytes)
36
+ if (typeof val !== 'object' || val === null) {
37
+ throw new Error(`Expected object, got: ${val}`)
38
+ }
39
+ return val
40
+ }
package/src/check.ts ADDED
@@ -0,0 +1,16 @@
1
+ export interface Def<T> {
2
+ parse: (obj: unknown) => T
3
+ safeParse: (obj: unknown) => { success: boolean }
4
+ }
5
+
6
+ export const is = <T>(obj: unknown, def: Def<T>): obj is T => {
7
+ return def.safeParse(obj).success
8
+ }
9
+
10
+ export const assure = <T>(def: Def<T>, obj: unknown): T => {
11
+ return def.parse(obj)
12
+ }
13
+
14
+ export const isObject = (obj: unknown): obj is Record<string, unknown> => {
15
+ return typeof obj === 'object' && obj !== null
16
+ }
package/src/index.ts ADDED
@@ -0,0 +1,9 @@
1
+ export * as check from './check'
2
+ export * as util from './util'
3
+
4
+ export * from './util'
5
+ export * from './tid'
6
+ export * from './blocks'
7
+ export * from './logger'
8
+ export * from './types'
9
+ export * from './streams'
package/src/logger.ts ADDED
@@ -0,0 +1,36 @@
1
+ import pino from 'pino'
2
+
3
+ const allSystemsEnabled = !process.env.LOG_SYSTEMS
4
+ const enabledSystems = (process.env.LOG_SYSTEMS || '')
5
+ .replace(',', ' ')
6
+ .split(' ')
7
+
8
+ const enabledEnv = process.env.LOG_ENABLED
9
+ const enabled =
10
+ enabledEnv === 'true' || enabledEnv === 't' || enabledEnv === '1'
11
+
12
+ const level = process.env.LOG_LEVEL || 'info'
13
+
14
+ const config = {
15
+ enabled,
16
+ level,
17
+ }
18
+
19
+ const rootLogger = process.env.LOG_DESTINATION
20
+ ? pino(config, pino.destination(process.env.LOG_DESTINATION))
21
+ : pino(config)
22
+
23
+ const subsystems: Record<string, pino.Logger> = {}
24
+
25
+ export const subsystemLogger = (name: string): pino.Logger => {
26
+ if (subsystems[name]) return subsystems[name]
27
+ const subsystemEnabled =
28
+ enabled && (allSystemsEnabled || enabledSystems.indexOf(name) > -1)
29
+
30
+ // can't disable child loggers, so we just set their level to fatal to effectively turn them off
31
+ subsystems[name] = rootLogger.child(
32
+ { name },
33
+ { level: subsystemEnabled ? level : 'silent' },
34
+ )
35
+ return subsystems[name]
36
+ }
package/src/streams.ts ADDED
@@ -0,0 +1,52 @@
1
+ import {
2
+ Stream,
3
+ Readable,
4
+ PassThrough,
5
+ Transform,
6
+ TransformCallback,
7
+ } from 'stream'
8
+
9
+ export const forwardStreamErrors = (...streams: Stream[]) => {
10
+ for (let i = 0; i < streams.length; ++i) {
11
+ const stream = streams[i]
12
+ const next = streams[i + 1]
13
+ if (next) {
14
+ stream.once('error', (err) => next.emit('error', err))
15
+ }
16
+ }
17
+ }
18
+
19
+ export const cloneStream = (stream: Readable): Readable => {
20
+ const passthrough = new PassThrough()
21
+ forwardStreamErrors(stream, passthrough)
22
+ return stream.pipe(passthrough)
23
+ }
24
+
25
+ export const streamSize = async (stream: Readable): Promise<number> => {
26
+ let size = 0
27
+ for await (const chunk of stream) {
28
+ size += chunk.length
29
+ }
30
+ return size
31
+ }
32
+
33
+ export const bytesToStream = (bytes: Uint8Array): Readable => {
34
+ const stream = new Readable()
35
+ stream.push(bytes)
36
+ stream.push(null)
37
+ return stream
38
+ }
39
+
40
+ export class MaxSizeChecker extends Transform {
41
+ totalSize = 0
42
+ constructor(public maxSize: number, public createError: () => Error) {
43
+ super()
44
+ }
45
+ _transform(chunk: Uint8Array, _enc: BufferEncoding, cb: TransformCallback) {
46
+ this.totalSize += chunk.length
47
+ if (this.totalSize > this.maxSize) {
48
+ return this.destroy(this.createError())
49
+ }
50
+ return cb(null, chunk)
51
+ }
52
+ }
package/src/tid.ts ADDED
@@ -0,0 +1,108 @@
1
+ import { s32encode, s32decode } from './util'
2
+ let lastTimestamp = 0
3
+ let timestampCount = 0
4
+ let clockid: number | null = null
5
+
6
+ export class TID {
7
+ str: string
8
+
9
+ constructor(str: string) {
10
+ const noDashes = str.replace(/-/g, '')
11
+ if (noDashes.length !== 13) {
12
+ throw new Error(`Poorly formatted TID: ${noDashes.length} length`)
13
+ }
14
+ this.str = noDashes
15
+ }
16
+
17
+ static next(): TID {
18
+ // javascript does not have microsecond precision
19
+ // instead, we append a counter to the timestamp to indicate if multiple timestamps were created within the same millisecond
20
+ // take max of current time & last timestamp to prevent tids moving backwards if system clock drifts backwards
21
+ const time = Math.max(Date.now(), lastTimestamp)
22
+ if (time === lastTimestamp) {
23
+ timestampCount++
24
+ }
25
+ lastTimestamp = time
26
+ const timestamp = time * 1000 + timestampCount
27
+ // the bottom 32 clock ids can be randomized & are not guaranteed to be collision resistant
28
+ // we use the same clockid for all tids coming from this machine
29
+ if (clockid === null) {
30
+ clockid = Math.floor(Math.random() * 32)
31
+ }
32
+ return TID.fromTime(timestamp, clockid)
33
+ }
34
+
35
+ static nextStr(): string {
36
+ return TID.next().toString()
37
+ }
38
+
39
+ static fromTime(timestamp: number, clockid: number): TID {
40
+ // base32 encode with encoding variant sort (s32)
41
+ const str = `${s32encode(timestamp)}${s32encode(clockid).padStart(2, '2')}`
42
+ return new TID(str)
43
+ }
44
+
45
+ static fromStr(str: string): TID {
46
+ return new TID(str)
47
+ }
48
+
49
+ static newestFirst(a: TID, b: TID): number {
50
+ return a.compareTo(b) * -1
51
+ }
52
+
53
+ static oldestFirst(a: TID, b: TID): number {
54
+ return a.compareTo(b)
55
+ }
56
+
57
+ static is(str: string): boolean {
58
+ try {
59
+ TID.fromStr(str)
60
+ return true
61
+ } catch (err) {
62
+ return false
63
+ }
64
+ }
65
+
66
+ timestamp(): number {
67
+ const substr = this.str.slice(0, 11)
68
+ return s32decode(substr)
69
+ }
70
+
71
+ clockid(): number {
72
+ const substr = this.str.slice(11, 13)
73
+ return s32decode(substr)
74
+ }
75
+
76
+ formatted(): string {
77
+ const str = this.toString()
78
+ return `${str.slice(0, 4)}-${str.slice(4, 7)}-${str.slice(
79
+ 7,
80
+ 11,
81
+ )}-${str.slice(11, 13)}`
82
+ }
83
+
84
+ toString(): string {
85
+ return this.str
86
+ }
87
+
88
+ // newer > older
89
+ compareTo(other: TID): number {
90
+ if (this.str > other.str) return 1
91
+ if (this.str < other.str) return -1
92
+ return 0
93
+ }
94
+
95
+ equals(other: TID): boolean {
96
+ return this.compareTo(other) === 0
97
+ }
98
+
99
+ newerThan(other: TID): boolean {
100
+ return this.compareTo(other) > 0
101
+ }
102
+
103
+ olderThan(other: TID): boolean {
104
+ return this.compareTo(other) < 0
105
+ }
106
+ }
107
+
108
+ export default TID
package/src/types.ts ADDED
@@ -0,0 +1,44 @@
1
+ import * as mf from 'multiformats/cid'
2
+ import { z } from 'zod'
3
+
4
+ const cid = z
5
+ .any()
6
+ .refine((obj: unknown) => mf.CID.asCID(obj) !== null, {
7
+ message: 'Not a CID',
8
+ })
9
+ .transform((obj: unknown) => mf.CID.asCID(obj) as mf.CID)
10
+
11
+ export const isCid = (str: string): boolean => {
12
+ try {
13
+ mf.CID.parse(str)
14
+ return true
15
+ } catch (err) {
16
+ return false
17
+ }
18
+ }
19
+
20
+ const strToCid = z
21
+ .string()
22
+ .refine(isCid, { message: 'Not a valid CID' })
23
+ .transform((str: string) => mf.CID.parse(str))
24
+
25
+ const bytes = z.instanceof(Uint8Array)
26
+ export type Bytes = z.infer<typeof bytes>
27
+
28
+ const strToInt = z
29
+ .string()
30
+ .refine((str) => !isNaN(parseInt(str)), {
31
+ message: 'Cannot parse string to integer',
32
+ })
33
+ .transform((str) => parseInt(str))
34
+
35
+ const strToBool = z.string().transform((str) => str === 'true' || str === 't')
36
+
37
+ export const def = {
38
+ string: z.string(),
39
+ cid,
40
+ strToCid,
41
+ bytes,
42
+ strToInt,
43
+ strToBool,
44
+ }
package/src/util.ts ADDED
@@ -0,0 +1,75 @@
1
+ export const noUndefinedVals = <T>(
2
+ obj: Record<string, T>,
3
+ ): Record<string, T> => {
4
+ Object.keys(obj).forEach((k) => {
5
+ if (obj[k] === undefined) {
6
+ delete obj[k]
7
+ }
8
+ })
9
+ return obj
10
+ }
11
+
12
+ export const wait = (ms: number) => {
13
+ return new Promise((res) => setTimeout(res, ms))
14
+ }
15
+
16
+ export const flattenUint8Arrays = (arrs: Uint8Array[]): Uint8Array => {
17
+ const length = arrs.reduce((acc, cur) => {
18
+ return acc + cur.length
19
+ }, 0)
20
+ const flattened = new Uint8Array(length)
21
+ let offset = 0
22
+ arrs.forEach((arr) => {
23
+ flattened.set(arr, offset)
24
+ offset += arr.length
25
+ })
26
+ return flattened
27
+ }
28
+
29
+ export const streamToArray = async (
30
+ stream: AsyncIterable<Uint8Array>,
31
+ ): Promise<Uint8Array> => {
32
+ const arrays: Uint8Array[] = []
33
+ for await (const chunk of stream) {
34
+ arrays.push(chunk)
35
+ }
36
+ return flattenUint8Arrays(arrays)
37
+ }
38
+
39
+ const S32_CHAR = '234567abcdefghijklmnopqrstuvwxyz'
40
+
41
+ export const s32encode = (i: number): string => {
42
+ let s = ''
43
+ while (i) {
44
+ const c = i % 32
45
+ i = Math.floor(i / 32)
46
+ s = S32_CHAR.charAt(c) + s
47
+ }
48
+ return s
49
+ }
50
+
51
+ export const s32decode = (s: string): number => {
52
+ let i = 0
53
+ for (const c of s) {
54
+ i = i * 32 + S32_CHAR.indexOf(c)
55
+ }
56
+ return i
57
+ }
58
+
59
+ export const asyncFilter = async <T>(
60
+ arr: T[],
61
+ fn: (t: T) => Promise<boolean>,
62
+ ) => {
63
+ const results = await Promise.all(arr.map((t) => fn(t)))
64
+ return arr.filter((_, i) => results[i])
65
+ }
66
+
67
+ export const isErrnoException = (
68
+ err: unknown,
69
+ ): err is NodeJS.ErrnoException => {
70
+ return !!err && 'code' in err
71
+ }
72
+
73
+ export const errHasMsg = (err: unknown, msg: string): boolean => {
74
+ return !!err && typeof err === 'object' && err['message'] === msg
75
+ }
@@ -0,0 +1,18 @@
1
+ import TID from '../src/tid'
2
+
3
+ describe('TIDs', () => {
4
+ it('creates a new TID', () => {
5
+ const tid = TID.next()
6
+ const str = tid.toString()
7
+ expect(typeof str).toEqual('string')
8
+ expect(str.length).toEqual(13)
9
+ })
10
+
11
+ it('parses a TID', () => {
12
+ const tid = TID.next()
13
+ const str = tid.toString()
14
+ const parsed = TID.fromStr(str)
15
+ expect(parsed.timestamp()).toEqual(tid.timestamp())
16
+ expect(parsed.clockid()).toEqual(tid.clockid())
17
+ })
18
+ })
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "exclude": ["**/*.spec.ts", "**/*.test.ts"]
4
+ }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.webworker.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/multiformats/types/src/bases/interface.d.ts","../../node_modules/multiformats/types/src/hashes/interface.d.ts","../../node_modules/multiformats/types/src/cid.d.ts","../../node_modules/multiformats/types/src/hashes/digest.d.ts","../../node_modules/multiformats/types/src/hashes/hasher.d.ts","../../node_modules/multiformats/types/src/varint.d.ts","../../node_modules/multiformats/types/src/bytes.d.ts","../../node_modules/multiformats/types/src/index.d.ts","../../node_modules/multiformats/types/src/codecs/interface.d.ts","../../node_modules/multiformats/types/src/block.d.ts","../../node_modules/multiformats/types/src/codecs/raw.d.ts","../../node_modules/multiformats/types/src/hashes/sha2.d.ts","../../node_modules/@ipld/dag-cbor/types/index.d.ts","./src/blocks.ts","./src/check.ts","./src/util.ts","./src/tid.ts","../../node_modules/@types/node/ts4.8/assert.d.ts","../../node_modules/@types/node/ts4.8/assert/strict.d.ts","../../node_modules/@types/node/ts4.8/globals.d.ts","../../node_modules/@types/node/ts4.8/async_hooks.d.ts","../../node_modules/@types/node/ts4.8/buffer.d.ts","../../node_modules/@types/node/ts4.8/child_process.d.ts","../../node_modules/@types/node/ts4.8/cluster.d.ts","../../node_modules/@types/node/ts4.8/console.d.ts","../../node_modules/@types/node/ts4.8/constants.d.ts","../../node_modules/@types/node/ts4.8/crypto.d.ts","../../node_modules/@types/node/ts4.8/dgram.d.ts","../../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../../node_modules/@types/node/ts4.8/dns.d.ts","../../node_modules/@types/node/ts4.8/dns/promises.d.ts","../../node_modules/@types/node/ts4.8/domain.d.ts","../../node_modules/@types/node/ts4.8/dom-events.d.ts","../../node_modules/@types/node/ts4.8/events.d.ts","../../node_modules/@types/node/ts4.8/fs.d.ts","../../node_modules/@types/node/ts4.8/fs/promises.d.ts","../../node_modules/@types/node/ts4.8/http.d.ts","../../node_modules/@types/node/ts4.8/http2.d.ts","../../node_modules/@types/node/ts4.8/https.d.ts","../../node_modules/@types/node/ts4.8/inspector.d.ts","../../node_modules/@types/node/ts4.8/module.d.ts","../../node_modules/@types/node/ts4.8/net.d.ts","../../node_modules/@types/node/ts4.8/os.d.ts","../../node_modules/@types/node/ts4.8/path.d.ts","../../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../../node_modules/@types/node/ts4.8/process.d.ts","../../node_modules/@types/node/ts4.8/punycode.d.ts","../../node_modules/@types/node/ts4.8/querystring.d.ts","../../node_modules/@types/node/ts4.8/readline.d.ts","../../node_modules/@types/node/ts4.8/readline/promises.d.ts","../../node_modules/@types/node/ts4.8/repl.d.ts","../../node_modules/@types/node/ts4.8/stream.d.ts","../../node_modules/@types/node/ts4.8/stream/promises.d.ts","../../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../../node_modules/@types/node/ts4.8/stream/web.d.ts","../../node_modules/@types/node/ts4.8/string_decoder.d.ts","../../node_modules/@types/node/ts4.8/test.d.ts","../../node_modules/@types/node/ts4.8/timers.d.ts","../../node_modules/@types/node/ts4.8/timers/promises.d.ts","../../node_modules/@types/node/ts4.8/tls.d.ts","../../node_modules/@types/node/ts4.8/trace_events.d.ts","../../node_modules/@types/node/ts4.8/tty.d.ts","../../node_modules/@types/node/ts4.8/url.d.ts","../../node_modules/@types/node/ts4.8/util.d.ts","../../node_modules/@types/node/ts4.8/v8.d.ts","../../node_modules/@types/node/ts4.8/vm.d.ts","../../node_modules/@types/node/ts4.8/wasi.d.ts","../../node_modules/@types/node/ts4.8/worker_threads.d.ts","../../node_modules/@types/node/ts4.8/zlib.d.ts","../../node_modules/@types/node/ts4.8/globals.global.d.ts","../../node_modules/@types/node/ts4.8/index.d.ts","../../node_modules/pino-abstract-transport/index.d.ts","../../node_modules/pino-pretty/index.d.ts","../../node_modules/pino-std-serializers/index.d.ts","../../node_modules/sonic-boom/types/index.d.ts","../../node_modules/pino/pino.d.ts","./src/logger.ts","../../node_modules/zod/lib/helpers/typealiases.d.ts","../../node_modules/zod/lib/helpers/util.d.ts","../../node_modules/zod/lib/zoderror.d.ts","../../node_modules/zod/lib/locales/en.d.ts","../../node_modules/zod/lib/errors.d.ts","../../node_modules/zod/lib/helpers/parseutil.d.ts","../../node_modules/zod/lib/helpers/enumutil.d.ts","../../node_modules/zod/lib/helpers/errorutil.d.ts","../../node_modules/zod/lib/helpers/partialutil.d.ts","../../node_modules/zod/lib/types.d.ts","../../node_modules/zod/lib/external.d.ts","../../node_modules/zod/lib/index.d.ts","../../node_modules/zod/index.d.ts","./src/types.ts","./src/streams.ts","./src/index.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/bn.js/index.d.ts","../../node_modules/@types/connect/index.d.ts","../../node_modules/@types/body-parser/index.d.ts","../../node_modules/@types/cors/index.d.ts","../../node_modules/@types/elliptic/index.d.ts","../../node_modules/@types/range-parser/index.d.ts","../../node_modules/@types/qs/index.d.ts","../../node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/@types/mime/mime.d.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/serve-static/index.d.ts","../../node_modules/@types/express/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/http-errors/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@jest/expect-utils/build/index.d.ts","../../node_modules/chalk/index.d.ts","../../node_modules/@sinclair/typebox/typebox.d.ts","../../node_modules/@jest/schemas/build/index.d.ts","../../node_modules/pretty-format/build/index.d.ts","../../node_modules/jest-diff/build/index.d.ts","../../node_modules/jest-matcher-utils/build/index.d.ts","../../node_modules/expect/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/jsonwebtoken/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/nodemailer/lib/dkim/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/mail-message.d.ts","../../node_modules/@types/nodemailer/lib/xoauth2/index.d.ts","../../node_modules/@types/nodemailer/lib/mailer/index.d.ts","../../node_modules/@types/nodemailer/lib/mime-node/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-connection/index.d.ts","../../node_modules/@types/nodemailer/lib/shared/index.d.ts","../../node_modules/@types/nodemailer/lib/json-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/sendmail-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/ses-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-pool/index.d.ts","../../node_modules/@types/nodemailer/lib/smtp-transport/index.d.ts","../../node_modules/@types/nodemailer/lib/stream-transport/index.d.ts","../../node_modules/@types/nodemailer/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/pg-types/index.d.ts","../../node_modules/pg-protocol/dist/messages.d.ts","../../node_modules/pg-protocol/dist/serializer.d.ts","../../node_modules/pg-protocol/dist/parser.d.ts","../../node_modules/pg-protocol/dist/index.d.ts","../../node_modules/@types/pg/index.d.ts","../../node_modules/@types/prettier/index.d.ts","../../node_modules/@types/sharp/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","d11a03592451da2d1065e09e61f4e2a9bf68f780f4f6623c18b57816a9679d17","aea179452def8a6152f98f63b191b84e7cbd69b0e248c91e61fb2e52328abe8c",{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true},{"version":"3260e3386d9535b804205bdddb5618a9a27735bd22927f48ad54363abcd23d45","affectsGlobalScope":true},{"version":"adb09ec0a64fc17dbbc4a228b3b18aa5f01db3440a6b0cbb02354df58674d584","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"34c839eaaa6d78c8674ae2c37af2236dee6831b13db7b4ef4df3ec889a04d4f2","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"ab7d58e6161a550ff92e5aff755dc37fe896245348332cd5f1e1203479fe0ed1","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"a4da0551fd39b90ca7ce5f68fb55d4dc0c1396d589b612e1902f68ee090aaada","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"930446bf32192f698b78f8ea4b309d8c2cfe02ab5ad78e4db907417405ebf5e7","5d3e07dbeabff37885262d9b4bd21c3185d95a09a268ab795f81135046a32bf4","7d309fbde13b5e30eff77c07a28b66451b0b50b83564d0cfa6a2a52c8b69aae6","853c5447ea8851049c1d008e130d23030d9fe3b5a8405a0ae7e55b00e173692d","ba0b552579e1bbafd93208f9bc84a61838148bd17f22a8ea55c46eea9c895e7a","87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","1428847d803b8342711c0b22208df4f83590cce15ef2c8f36ba53cea24f4616d","6bea75e2b9873f7c123ffef3edf16e7c49ff7cefd2756543d51786fb354c3211","ebb7adfc90de5d2001075bfc4b8e2530c7649d1cd219d75589b45cba22d06782","7b684ae75736b26fddc21144deda04c3ae391f95f8eb241ceb23b27096f76963","2f686fbec43c87bc9b9c3d0e237f780e0e822d2c3a9a25fc99a16030a294b764","2cb05bc199aa0aedcedced658aa99b423c2f7e56f11bd301adb6415e8c464696",{"version":"52aa4cb8a16a1632f7e48beb792744ee02c90c6dbbc1d0cafcf2c9bd7936f2ed","signature":"f307a7a7f4a91d942a2fe3d86b924958acfe9abb17c276bc0d54aff2473fd768"},{"version":"cb917ce33e6748b02f26f78b00838a77eb5aeedb63914cc60ff74d4d46fe0d2a","signature":"08ddca46f52ee663f9ffc40167bcd4b8e3ade34463c267e2488b5e307beeeda5"},{"version":"f14b59e2caa9ae4d7443b0960ca463bc03dd23c219d3690b57b05d7e3275d1e7","signature":"922115e8547a7ee41826d4884ec71736690540849ec53ec92e59fcea4534bb43"},{"version":"a4c7f74586dafdf53d17e7b022bec236b43c3a52aef698db104ea45faab2af72","signature":"0d837990881aea32ce4bcae03ebd9504c2f56eeafcf2f96047c1eac783455d88"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"02873d070f9cb79f50833fbf4a9a27ac578a2edf8ddb8421eba1b37faba83bfb","affectsGlobalScope":true},"21a167fec8f933752fb8157f06d28fab6817af3ad9b0bdb1908a10762391eab9",{"version":"c0db280fa6b09d7b8d6720a19a47f485956a41ee0e6914f1b704033eb69c6058","affectsGlobalScope":true},"0c0cee62cb619aed81133b904f644515ba3064487002a7da83fd8aa07b1b4abd","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","afcc1c426b76db7ec80e563d4fb0ba9e6bcc6e63c2d7e9342e649dc56d26347f","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","489532ff54b714f0e0939947a1c560e516d3ae93d51d639ab02e907a0e950114","f30bb836526d930a74593f7b0f5c1c46d10856415a8f69e5e2fc3db80371e362","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"816ad2e607a96de5bcac7d437f843f5afd8957f1fa5eefa6bba8e4ed7ca8fd84","affectsGlobalScope":true},"cec36af22f514322f870e81d30675c78df82ae8bf4863f5fd4e4424c040c678d","d903fafe96674bc0b2ac38a5be4a8fc07b14c2548d1cdb165a80ea24c44c0c54","b01a80007e448d035a16c74b5c95a5405b2e81b12fabcf18b75aa9eb9ef28990","04eb6578a588d6a46f50299b55f30e3a04ef27d0c5a46c57d8fcc211cd530faa","dbe5aa5a5dd8bd1c6a8d11b1310c3f0cdabaacc78a37b394a8c7b14faeb5fb84","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"d4ac44f01d42f541631c5fc88d0ed8efac29a3a3ad9a745d9fd58f8b61ed132e","7c013aa892414a7fdcfd861ae524a668eaa3ede8c7c0acafaf611948122c8d93","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"b3624aed92dab6da8484280d3cb3e2f4130ec3f4ef3f8201c95144ae9e898bb6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","3163f47436da41706c6e2b3c1511f3b7cce9f9f3905b2f3e01246c48b4ba7d14","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","213fc4f2b172d8beb74b77d7c1b41488d67348066d185e4263470cbb010cd6e8",{"version":"970a90f76d4d219ad60819d61f5994514087ba94c985647a3474a5a3d12714ed","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","4c8525f256873c7ba3135338c647eaf0ca7115a1a2805ae2d0056629461186ce","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"f0900cd5d00fe1263ff41201fb8073dbeb984397e4af3b8002a5c207a30bdc33","affectsGlobalScope":true},{"version":"f7db71191aa7aac5d6bc927ed6e7075c2763d22c7238227ec0c63c8cf5cb6a8b","affectsGlobalScope":true},"06d7c42d256f0ce6afe1b2b6cfbc97ab391f29dadb00dd0ae8e8f23f5bc916c3","ec4bd1b200670fb567920db572d6701ed42a9641d09c4ff6869768c8f81b404c","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"da26af7362f53d122283bc69fed862b9a9fe27e01bc6a69d1d682e0e5a4df3e6","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","0d47fc0aed3e69968b3e168c4f2afba7f02fe81b7d40f34c5fbe4c8ed14222ac","955081e7442259cc2cbf0f7f122bc2fa10387c3c5298a8bd4cd402dbcefce4cf","043e933c8127f2215f940035bfac94354b82a49f419bb77af0045f0c57e6a05e","9d9f4da63084ac107eddda8b4ea92d7ee443e0c86601e8c844943b82fd3ef6f8","bde15a4b72e85c0816548fe37f82ae6fe9a6238e5b60ebe9a9449f9293e2d456",{"version":"dacf98eb56a73c300285659e07ecc8ca9289c99a506e94ad9685d4728cc1561a","signature":"c9b4ecb1490eed2496638377f08f4d38b6faccf8cc19b78f5e30bc56c1fbef52"},"9afae14803f3b7343ed6d193173008715c1fa3421a353a818c805244ed737a84","bb98c05ae5cb9bd7cb7ad76fe517251a661787a6f24337b842f47faf393f79c7","a93bf95f7009c90e7d1edb092560d4052e3ebbe9b9ad2d796bcd95dc4306825c","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","014b34d4c2ef27191fdf3feabb6557ec92127f813910725b6e79ed9a49e466b6","72efc3e8cee3cb13144cb63bb8aacf28f918439a2ff222de89e0e5d7ba9c7170","b61efb129c7011068cb4ccbbd86d5741ac82653476b09f46d3d06dd99b5b687e","2b7961486503fa279a4f1a52928d8c31fc6558c335b750878721467210552dd7","d1f62988c7e8e8650f7ed39520a766648155abbf75dd89f60e24f069433301d4","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802",{"version":"ae7ec9add53f145824f5e169d2c798b3507bebd9326eb3709036a868d2144db6","signature":"c3f8e442783090a1ce1d24690a56c0e50df55089934ec077f43aadf164af4952"},{"version":"b97b3071f36975c893f9dd28a0d113482891fd402d3ac787bded362d7d35af67","signature":"0a101d10248bf1874c8c7daaba122a6700c0a904392e5c4c68b1109047ab016a"},{"version":"1953fb9bcb47ec55e148a074c8cf5a5f960560a16733638b3ad9617263b47e17","signature":"9105ec562fee1314988ab5489f9331d97d39702ddf92b80ed9eaa80020373a7f"},"c561efdf5ba0b62619745d4761fe2d9756f23db972e039367d15922fed67fd2f","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","7ec238b220ea991b6643e24191b1f552a65956d5f6de4c6144e700b9985265d8","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","dae3d1adc67ac3dbd1cd471889301339ec439837b5df565982345be20c8fca9a","5426e62886b7be7806312d31a00e8f7dccd6fe63ba9bbefe99ee2eab29cc48a3","01f7828047b5c6703d3c601473618b448f5506a88fcac852638b0715c3abf4eb","6d829824ead8999f87b6df21200df3c6150391b894b4e80662caa462bd48d073","afc559c1b93df37c25aef6b3dfa2d64325b0e112e887ee18bf7e6f4ec383fc90","6fbd58e4015b9ae31ea977d4d549eb24a1102cc798b57ec5d70868b542c06612","b8a427b9fe88504a6fb092e21adfe272d144394a2ced7f9e4adc3de7efa6e216","16d51f964ec125ad2024cf03f0af444b3bc3ec3614d9345cc54d09bab45c9a4c","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc",{"version":"ae3fe461989bbd951344efc1f1fe932360ce7392e6126bdb225a82a1bbaf15ee","affectsGlobalScope":true},"5b9ecf7da4d71cf3832dbb8336150fa924631811f488ad4690c2dfec2b4fb1d7","951c85f75aac041dddbedfedf565886a7b494e29ec1532e2a9b4a6180560b50e","f47887b61c6cf2f48746980390d6cb5b8013518951d912cfb37fe748071942be","15c88bfd1b8dc7231ff828ae8df5d955bae5ebca4cf2bcb417af5821e52299ae","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","f463d61cf39c3a6a5f96cdf7adfdb72a0b1d663f7b5d5b6dd042adba835430c2","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","763e521cf114b80e0dd0e21ca49b9f8ae62e8999555a5e7bade8ce36b33001c2","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","3e6bbb0883148627ca0854a9f62d820aaf1a0f1842f5568176721fef156b8f23","ffcc5500e77223169833fc6eb59b3a507944a1f89574e0a1276b0ea7fc22c4a4","22f13de9e2fe5f0f4724797abd3d34a1cdd6e47ef81fc4933fea3b8bf4ad524b","e3ba509d3dce019b3190ceb2f3fc88e2610ab717122dabd91a9efaa37804040d","cda0cb09b995489b7f4c57f168cd31b83dcbaa7aad49612734fb3c9c73f6e4f2","f72f8428f3c1caa22e9c247d046603b85b442c0dae7b77a7a0bc092c18867cb7",{"version":"195f63105abc03e72b6a176e3e34dfb5ac932b55db378fdc7874b1617e24b465","affectsGlobalScope":true},"f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","bb4ed283cfb3db7ec1d4bb79c37f5e96d39b340f1f4de995c4b0b836c8d5fa05","8841e2aa774b89bd23302dede20663306dc1b9902431ac64b24be8b8d0e3f649","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05","bb654d426b82e0846cd4bd7de91d637039ecdfd63c94447373490178f80846fe","db90f54098b237753ac9c846e39cd49aa538dcad07a2e1c68a138f3c0f8e621d","92ad68795c32309fb43576cacb38bd2677deeed38f5730dcd4a8c5e65463ae15","4b16417aab5a4b276fd4a7db95120a8c7b4d49a6d68ddfe075e9f46dcbf22f00","eecb2ea10a1500dcc6bdeff14be1fb43806f63a9b8562e16e1b4fc8baa8dfa8d","221a6ab66d611349faaf80af49c7a34d95623787610fd153fed4da0811abdcae","f3d84d6f83cf131e4db335dc8100898adbeb01dd4cf4e2fe695ab220eac98be4","6521aaade4e1d23cbc4b665083b004aeaca23f3347ba2422f88d1828968a0056","e79130cf2ba010f2b79747bf43b086252ad041b130768331a1144c0a86185877","e9709ed827c40789c669736fc78e2ab603605e8e81325d1e6d7a5eb451810dd0","dafce7a7b279977940b6b4b50017625e4f922f73094433d2875994bdc0b27e87","6fc76efbb61d3336833ef44ff3f37552667f26c2a73b368f3b4b259f19f2c234","479496e5bb48f2f5e981ef646665bc09fd9ab080e86e9ea882ca4369411604af","6c559dee3c6251c261b67df08e01d4cbc89cbd7a63300150c636705733cebfff","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","17230b34bb564a3a2e36f9d3985372ccab4ad1722df2c43f7c5c2b553f68e5db","87ed0f84f0691d5c724b23159db96342e6b04ac69201b02c65936f4281ce1fbe","13868c5792808236b17dfe2803eafce911ea4d09d3b2fda95391891a494f988f","0dfe35191a04e8f9dc7caeb9f52f2ee07402736563d12cbccd15fb5f31ac877f","fa5c2d3fcd8e227e180815df0a0903ed4b116400452af8a75ac5b68e5e1de9da","93c4fc5b5237c09bc9ed65cb8f0dc1d89034406ab40500b89701341994897142","9adb78bae51a473d33f40da9bdb50c0e491d1cc7a5db776665853effa0cd3374","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","28288f5e5f8b7b895ed2abe6359c1da3e0d14a64b5aef985071285671f347c01"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDeclarationOnly":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":1,"module":1,"noImplicitAny":false,"outDir":"./dist","removeComments":true,"rootDir":"./src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictPropertyInitialization":false,"target":7},"fileIdsList":[[120,150],[120],[65,120],[120,175],[120,150,151,152,153,154],[120,150,152],[120,127],[93,120,127,157],[93,120,127],[93,120],[120,156],[90,93,120,127,161,162],[120,158,162,163,166],[91,120,127],[120,170],[120,171],[120,177,180],[120,164],[120,165],[74,120],[77,120],[78,83,111,120],[79,90,91,98,108,119,120],[79,80,90,98,120],[81,120],[82,83,91,99,120],[83,108,116,120],[84,86,90,98,120],[85,120],[86,87,120],[90,120],[88,90,120],[90,91,92,108,119,120],[90,91,92,105,108,111,120],[120,124],[93,98,108,119,120],[90,91,93,94,98,108,116,119,120],[93,95,108,116,119,120],[74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126],[90,96,120],[97,119,120],[86,90,98,108,120],[99,120],[100,120],[77,101,120],[102,118,120,124],[103,120],[104,120],[90,105,106,120],[105,107,120,122],[78,90,108,109,110,111,120],[78,108,110,120],[108,109,120],[111,120],[112,120],[90,114,115,120],[114,115,120],[83,98,108,116,120],[117,120],[98,118,120],[78,93,104,119,120],[83,120],[108,120,121],[120,122],[120,123],[78,83,90,92,101,108,119,120,122,124],[108,120,125],[120,127,187,189,193,194,195,196,197,198],[108,120,127],[90,120,127,187,189,190,192,199],[90,98,108,119,120,127,186,187,188,190,191,192,199],[108,120,127,189,190],[108,120,127,189,191],[120,127,187,189,190,192,199],[108,120,127,191],[90,98,108,116,120,127,188,190,192],[90,120,127,187,189,190,191,192,199],[90,108,120,127,187,188,189,190,191,192,199],[90,108,120,127,187,189,190,192,199],[93,108,120,127,192],[90,108,116,120,127,202,203,206,207],[93,120,127,165],[120,211],[120,173,179],[120,177],[120,174,178],[58,64,65,120],[57,58,120],[58,120],[58,60,120],[61,120],[59,60,61,62,63,120],[120,127,203,204,205],[108,120,127,203],[108,120,127,128,132],[90,120,124,129,130,131],[120,176],[90,120,127],[120,145],[120,136,137],[120,134,135,136,138,139,143],[120,135,136],[120,144],[120,136],[120,134,135,136,139,140,141,142],[120,134,135,145],[59,64,66,67,68,69,120],[70,71,72,73,120,133,147,148],[120,132],[108,120],[72,120],[59,120,146],[59,66],[70,71,72,73,133,147,148],[132],[108],[59,146]],"referencedMap":[[152,1],[150,2],[69,3],[173,2],[176,4],[175,2],[155,5],[151,1],[153,6],[154,1],[156,7],[158,8],[157,9],[159,10],[160,11],[163,12],[167,13],[168,14],[169,2],[170,2],[171,15],[172,16],[181,17],[182,2],[183,7],[165,18],[164,19],[184,2],[185,2],[74,20],[75,20],[77,21],[78,22],[79,23],[80,24],[81,25],[82,26],[83,27],[84,28],[85,29],[86,30],[87,30],[89,31],[88,32],[90,31],[91,33],[92,34],[76,35],[126,2],[93,36],[94,37],[95,38],[127,39],[96,40],[97,41],[98,42],[99,43],[100,44],[101,45],[102,46],[103,47],[104,48],[105,49],[106,49],[107,50],[108,51],[110,52],[109,53],[111,54],[112,55],[113,2],[114,56],[115,57],[116,58],[117,59],[118,60],[119,61],[120,62],[121,63],[122,64],[123,65],[124,66],[125,67],[199,68],[186,69],[193,70],[189,71],[187,72],[190,73],[194,74],[195,70],[192,75],[191,76],[196,77],[197,78],[198,79],[188,80],[200,2],[201,2],[207,81],[208,2],[162,2],[161,2],[166,82],[209,69],[210,2],[211,2],[212,83],[174,2],[180,84],[178,85],[179,86],[57,2],[66,87],[63,2],[59,88],[65,2],[67,3],[60,89],[61,90],[58,2],[68,91],[64,92],[62,2],[206,93],[203,7],[205,94],[204,7],[202,2],[128,69],[129,95],[130,9],[132,96],[177,97],[131,98],[11,2],[12,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[4,2],[27,2],[24,2],[25,2],[26,2],[28,2],[29,2],[30,2],[5,2],[31,2],[32,2],[33,2],[34,2],[6,2],[35,2],[36,2],[37,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[54,2],[55,2],[1,2],[10,2],[56,2],[13,2],[146,99],[138,100],[144,101],[140,2],[141,2],[139,102],[142,99],[134,2],[135,2],[145,103],[137,104],[143,105],[136,106],[70,107],[71,2],[149,108],[133,109],[148,110],[73,111],[147,112],[72,2]],"exportedModulesMap":[[152,1],[150,2],[69,3],[173,2],[176,4],[175,2],[155,5],[151,1],[153,6],[154,1],[156,7],[158,8],[157,9],[159,10],[160,11],[163,12],[167,13],[168,14],[169,2],[170,2],[171,15],[172,16],[181,17],[182,2],[183,7],[165,18],[164,19],[184,2],[185,2],[74,20],[75,20],[77,21],[78,22],[79,23],[80,24],[81,25],[82,26],[83,27],[84,28],[85,29],[86,30],[87,30],[89,31],[88,32],[90,31],[91,33],[92,34],[76,35],[126,2],[93,36],[94,37],[95,38],[127,39],[96,40],[97,41],[98,42],[99,43],[100,44],[101,45],[102,46],[103,47],[104,48],[105,49],[106,49],[107,50],[108,51],[110,52],[109,53],[111,54],[112,55],[113,2],[114,56],[115,57],[116,58],[117,59],[118,60],[119,61],[120,62],[121,63],[122,64],[123,65],[124,66],[125,67],[199,68],[186,69],[193,70],[189,71],[187,72],[190,73],[194,74],[195,70],[192,75],[191,76],[196,77],[197,78],[198,79],[188,80],[200,2],[201,2],[207,81],[208,2],[162,2],[161,2],[166,82],[209,69],[210,2],[211,2],[212,83],[174,2],[180,84],[178,85],[179,86],[57,2],[66,87],[63,2],[59,88],[65,2],[67,3],[60,89],[61,90],[58,2],[68,91],[64,92],[62,2],[206,93],[203,7],[205,94],[204,7],[202,2],[128,69],[129,95],[130,9],[132,96],[177,97],[131,98],[11,2],[12,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[4,2],[27,2],[24,2],[25,2],[26,2],[28,2],[29,2],[30,2],[5,2],[31,2],[32,2],[33,2],[34,2],[6,2],[35,2],[36,2],[37,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[54,2],[55,2],[1,2],[10,2],[56,2],[13,2],[146,99],[138,100],[144,101],[140,2],[141,2],[139,102],[142,99],[134,2],[135,2],[145,103],[137,104],[143,105],[136,106],[70,113],[149,114],[133,115],[148,116],[147,117]],"semanticDiagnosticsPerFile":[152,150,69,173,176,175,155,151,153,154,156,158,157,159,160,163,167,168,169,170,171,172,181,182,183,165,164,184,185,74,75,77,78,79,80,81,82,83,84,85,86,87,89,88,90,91,92,76,126,93,94,95,127,96,97,98,99,100,101,102,103,104,105,106,107,108,110,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,199,186,193,189,187,190,194,195,192,191,196,197,198,188,200,201,207,208,162,161,166,209,210,211,212,174,180,178,179,57,66,63,59,65,67,60,61,58,68,64,62,206,203,205,204,202,128,129,130,132,177,131,11,12,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,35,36,37,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,54,55,1,10,56,13,146,138,144,140,141,139,142,134,135,145,137,143,136,70,71,149,133,148,73,147,72],"latestChangedDtsFile":"./dist/index.d.ts"},"version":"4.8.4"}
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "rootDir": "./src",
5
+ "outDir": "./dist", // Your outDir,
6
+ "emitDeclarationOnly": true
7
+ },
8
+ "include": ["./src","__tests__/**/**.ts"],
9
+ }
package/update-pkg.js ADDED
@@ -0,0 +1,14 @@
1
+ const pkgJson = require('@npmcli/package-json')
2
+
3
+ if (process.argv.includes('--update-main-to-dist')) {
4
+ return pkgJson
5
+ .load(__dirname)
6
+ .then((pkg) => pkg.update({ main: 'dist/index.js' }))
7
+ .then((pkg) => pkg.save())
8
+ }
9
+ if (process.argv.includes('--update-main-to-src')) {
10
+ return pkgJson
11
+ .load(__dirname)
12
+ .then((pkg) => pkg.update({ main: 'src/index.ts' }))
13
+ .then((pkg) => pkg.save())
14
+ }