@zhin.js/schema 1.0.69 → 1.0.71

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/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './schema.js';
2
+ export * from './validate.js';
2
3
  export * from './utils.js';
3
- //# sourceMappingURL=index.d.ts.map
package/lib/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export * from './schema.js';
2
+ export * from './validate.js';
2
3
  export * from './utils.js';
3
- //# sourceMappingURL=index.js.map
package/lib/schema.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { safeParseSchema, type SchemaSafeParseResult } from './validate.js';
2
+ export { SchemaValidationError, type SchemaSafeParseResult, type SchemaValidationIssue } from './validate.js';
3
+ export { safeParseSchema };
1
4
  export declare class Schema<S = any, T = S> {
2
5
  meta: Schema.Meta<S, T>;
3
6
  options: Schema.Options;
@@ -41,19 +44,26 @@ export declare class Schema<S = any, T = S> {
41
44
  static date(key?: string): Schema<number | Date, Date>;
42
45
  /** 声明一个字典类型 */
43
46
  static dict<X extends Schema>(input: X, key?: string): Schema<Record<string, Schema.Types<X>>, Record<string, Schema.Types<X>>>;
44
- static object<X extends Record<string, Schema>>(input: X, key?: string): Schema<Schema.RecordTypes<X>, Schema.RecordTypes<X>>;
47
+ static object<X extends Record<string, Schema<any, any>>>(input: X, key?: string): Schema<Schema.RecordTypes<X>, Schema.RecordTypes<X>>;
45
48
  /** 声明一个列表类型 */
46
49
  static list<X extends Schema>(inner: X, key?: string): Schema<Schema.Types<X>[], Schema.Types<X>[]>;
47
50
  /** 声明一个元组类型 */
48
51
  static tuple<X extends readonly any[]>(list: X, key?: string): Schema<Schema.Tuple<X>, Schema.Tuple<X>>;
49
52
  /** 声明一个联合类型 */
50
- static union<X extends readonly any[]>(list: X, key?: string): Schema<Schema.Union<X>, Schema.Union<X>>;
53
+ static union<X extends readonly Schema[]>(list: X, key?: string): Schema<Schema.Union<X>>;
51
54
  /** 声明一个交叉类型 */
52
55
  static intersect<X extends readonly any[]>(list: X, key?: string): Schema<Schema.Intersect<X>, Schema.Intersect<X>>;
53
56
  /** 声明一个常量 */
54
57
  static const<X extends string | number | boolean>(value: X, key?: string): Schema<X, X>;
55
58
  /** 声明任意类型 */
56
59
  static any(key?: any): Schema<any, any>;
60
+ /**
61
+ * 按判别字段声明联合类型(各分支自动补上 `discriminator: const(tag)`)。
62
+ * 用于 Segment / 消息体等 tagged union。
63
+ */
64
+ static discriminatedUnion<D extends string, V extends Record<string, Record<string, Schema<any, any>>>>(discriminator: D, variants: V, key?: string): Schema<any>;
65
+ /** validate-only:不填默认值、不 throw */
66
+ safeParse(value?: unknown): SchemaSafeParseResult<T>;
57
67
  static resolve<T extends string>(type: T): Schema.Formatter;
58
68
  static extend<T extends string>(type: T, formatter: Schema.Formatter): void;
59
69
  }
@@ -101,4 +111,3 @@ export declare namespace Schema {
101
111
  };
102
112
  function formatOptionList<T extends (any | Schema.Option)[]>(list: T): Schema.Option[];
103
113
  }
104
- //# sourceMappingURL=schema.d.ts.map
package/lib/schema.js CHANGED
@@ -1,4 +1,7 @@
1
1
  import { isEmpty } from './utils.js';
2
+ import { safeParseSchema } from './validate.js';
3
+ export { SchemaValidationError } from './validate.js';
4
+ export { safeParseSchema };
2
5
  export class Schema {
3
6
  meta;
4
7
  options;
@@ -159,6 +162,21 @@ export class Schema {
159
162
  static any(key) {
160
163
  return new Schema({ type: 'any', key });
161
164
  }
165
+ /**
166
+ * 按判别字段声明联合类型(各分支自动补上 `discriminator: const(tag)`)。
167
+ * 用于 Segment / 消息体等 tagged union。
168
+ */
169
+ static discriminatedUnion(discriminator, variants, key) {
170
+ const branches = Object.entries(variants).map(([tag, shape]) => Schema.object({
171
+ [discriminator]: Schema.const(tag),
172
+ ...shape,
173
+ }));
174
+ return Schema.union(branches);
175
+ }
176
+ /** validate-only:不填默认值、不 throw */
177
+ safeParse(value) {
178
+ return safeParseSchema(this, value);
179
+ }
162
180
  static resolve(type) {
163
181
  return Schema.formatters.get(type);
164
182
  }
@@ -339,4 +357,3 @@ Schema.extend('intersect', function (key, value) {
339
357
  Schema.extend('any', function (key, value) {
340
358
  return Schema.checkDefault(this, key, value);
341
359
  });
342
- //# sourceMappingURL=schema.js.map
package/lib/utils.d.ts CHANGED
@@ -6,4 +6,3 @@ export declare function isEmpty(value: any): boolean;
6
6
  * 深度合并对象
7
7
  */
8
8
  export declare function deepMerge<T>(target: T, source: Partial<T>): T;
9
- //# sourceMappingURL=utils.d.ts.map
package/lib/utils.js CHANGED
@@ -27,4 +27,3 @@ export function deepMerge(target, source) {
27
27
  }
28
28
  return result;
29
29
  }
30
- //# sourceMappingURL=utils.js.map
@@ -0,0 +1,18 @@
1
+ import type { Schema } from './schema.js';
2
+ export declare class SchemaValidationError extends Error {
3
+ readonly issues: SchemaValidationIssue[];
4
+ constructor(message: string, issues?: SchemaValidationIssue[]);
5
+ static fromUnknown(err: unknown, path?: string): SchemaValidationError;
6
+ }
7
+ export interface SchemaValidationIssue {
8
+ path: string;
9
+ message: string;
10
+ }
11
+ export type SchemaSafeParseResult<T> = {
12
+ success: true;
13
+ data: T;
14
+ } | {
15
+ success: false;
16
+ error: SchemaValidationError;
17
+ };
18
+ export declare function safeParseSchema<T>(schema: Schema<T>, value: unknown): SchemaSafeParseResult<T>;
@@ -0,0 +1,144 @@
1
+ export class SchemaValidationError extends Error {
2
+ issues;
3
+ constructor(message, issues = []) {
4
+ super(message);
5
+ this.name = 'SchemaValidationError';
6
+ this.issues = issues;
7
+ }
8
+ static fromUnknown(err, path = 'value') {
9
+ if (err instanceof SchemaValidationError)
10
+ return err;
11
+ const message = err instanceof Error ? err.message : String(err);
12
+ return new SchemaValidationError(message, [{ path, message }]);
13
+ }
14
+ }
15
+ function issue(path, message) {
16
+ return new SchemaValidationError(message, [{ path, message }]);
17
+ }
18
+ function isEmptyValue(value) {
19
+ return value === undefined || value === null || value === '';
20
+ }
21
+ function validateOnly(schema, path, value) {
22
+ if (schema.meta.required && isEmptyValue(value)) {
23
+ throw issue(path, `${path} is required`);
24
+ }
25
+ switch (schema.meta.type) {
26
+ case 'string':
27
+ if (value !== undefined && typeof value !== 'string') {
28
+ throw issue(path, `${path} is not a string`);
29
+ }
30
+ return value;
31
+ case 'number':
32
+ if (value !== undefined && typeof value !== 'number') {
33
+ throw issue(path, `${path} is not a number`);
34
+ }
35
+ return value;
36
+ case 'boolean':
37
+ if (value !== undefined && typeof value !== 'boolean') {
38
+ throw issue(path, `${path} is not a boolean`);
39
+ }
40
+ return value;
41
+ case 'const':
42
+ if (value !== undefined && value !== schema.meta.default) {
43
+ throw issue(path, `${path} const value not match`);
44
+ }
45
+ return value ?? schema.meta.default;
46
+ case 'any':
47
+ return value;
48
+ case 'dict': {
49
+ if (value === undefined)
50
+ return value;
51
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
52
+ throw issue(path, `${path} is not an object`);
53
+ }
54
+ const inner = schema.options.inner;
55
+ for (const [k, v] of Object.entries(value)) {
56
+ validateOnly(inner, `${path}.${k}`, v);
57
+ }
58
+ return value;
59
+ }
60
+ case 'object': {
61
+ if (value === undefined)
62
+ return value;
63
+ if (typeof value !== 'object' || value === null || Array.isArray(value)) {
64
+ throw issue(path, `${path} is not an object`);
65
+ }
66
+ const shape = schema.options.object ?? {};
67
+ const record = value;
68
+ for (const [k, propSchema] of Object.entries(shape)) {
69
+ const propValue = record[k];
70
+ if (propValue === undefined) {
71
+ if (propSchema.meta.required) {
72
+ throw issue(`${path}.${k}`, `${path}.${k} is required`);
73
+ }
74
+ continue;
75
+ }
76
+ validateOnly(propSchema, `${path}.${k}`, propValue);
77
+ }
78
+ return value;
79
+ }
80
+ case 'list': {
81
+ if (value === undefined)
82
+ return value;
83
+ if (!Array.isArray(value))
84
+ throw issue(path, `${path} is not a list`);
85
+ const inner = schema.options.inner;
86
+ value.forEach((item, index) => {
87
+ validateOnly(inner, `${path}[${index}]`, item);
88
+ });
89
+ return value;
90
+ }
91
+ case 'tuple': {
92
+ if (value === undefined)
93
+ return value;
94
+ if (!Array.isArray(value))
95
+ throw issue(path, `${path} is not a tuple`);
96
+ const list = schema.options.list ?? [];
97
+ if (value.length !== list.length) {
98
+ throw issue(path, `${path} tuple length mismatch`);
99
+ }
100
+ value.forEach((item, index) => {
101
+ validateOnly(list[index], `${path}[${index}]`, item);
102
+ });
103
+ return value;
104
+ }
105
+ case 'union': {
106
+ if (value === undefined)
107
+ return value;
108
+ const variants = schema.options.list ?? [];
109
+ let lastError;
110
+ for (const variant of variants) {
111
+ try {
112
+ return validateOnly(variant, path, value);
113
+ }
114
+ catch (err) {
115
+ lastError = SchemaValidationError.fromUnknown(err, path);
116
+ }
117
+ }
118
+ throw lastError ?? issue(path, `${path} union type not match`);
119
+ }
120
+ case 'intersect': {
121
+ if (value === undefined)
122
+ return value;
123
+ let current = value;
124
+ for (const branch of schema.options.list ?? []) {
125
+ current = validateOnly(branch, path, current);
126
+ }
127
+ return current;
128
+ }
129
+ case 'regexp':
130
+ case 'date':
131
+ return value;
132
+ default:
133
+ throw issue(path, `${path} has unsupported schema type ${schema.meta.type}`);
134
+ }
135
+ }
136
+ export function safeParseSchema(schema, value) {
137
+ try {
138
+ const data = validateOnly(schema, 'value', value);
139
+ return { success: true, data };
140
+ }
141
+ catch (err) {
142
+ return { success: false, error: SchemaValidationError.fromUnknown(err) };
143
+ }
144
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/schema",
3
- "version": "1.0.69",
3
+ "version": "1.0.71",
4
4
  "description": "Configuration validation and schema system for Zhin.js",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "devDependencies": {
19
19
  "typescript": "^6.0.3",
20
- "@types/node": "^25.9.1"
20
+ "@types/node": "^26.1.0"
21
21
  },
22
22
  "repository": {
23
23
  "type": "git",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAEA,qBAAa,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;IAGnB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,OAAO;IAH3B,CAAC,MAAM,CAAC,WAAW,CAAC,SAAY;gBAE5B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EACvB,OAAO,GAAE,MAAM,CAAC,OAAY;IAiBvC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;IAS7C,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAmB7B,CAAC,MAAM,CAAC,WAAW,CAAC;;;;IAMpB,aAAa;IACb,QAAQ,IAAI,IAAI;IAIhB,WAAW;IACX,MAAM,IAAI,IAAI;IAId,WAAW;IACX,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAItC,YAAY;IACZ,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI;IAI9B,aAAa;IACb,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI;IAI5C,eAAe;IACf,QAAQ,IAAI,IAAI;IAKhB,YAAY;IACZ,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIxB,YAAY;IACZ,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIxB,YAAY;IACZ,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzB,aAAa;IACb,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B,eAAe;IACf,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAG3C,gBAAgB;IAChB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAG3C,eAAe;IACf,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IAG7C,eAAe;IACf,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM;IAG1B,eAAe;IACf,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM;IAGxB,eAAe;IACf,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM;IAGpD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAE,MAAW;IAG1E,eAAe;IACf,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM;IAGpD,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM;IAG5D,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM;IAG5D,eAAe;IACf,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM;IAGhE,aAAa;IACb,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM;IAGxE,aAAa;IACb,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG;IAGpB,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS;IAG3D,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS;CAGvE;AACD,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,GAAG;IAC3B,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;CAChC;AACD,yBAAiB,MAAM,CAAC;IACb,MAAM,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAgC,CAAC;IAC/E,KAAY,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IACnF,KAAY,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,KAAK,CAAC,EAAE,IAAI,CAAC;QACb,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;KACjB,CAAC;IACF,UAAiB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC;QAChC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,CAAC,CAAC;QACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IACD,UAAiB,OAAO;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC5B;IACD,KAAY,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7D,KAAY,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACvD;SACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/B,GACC,OAAO,CAAC;IACd,KAAY,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAChF,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GACnB,KAAK,CAAC;IACZ,KAAY,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GACpF,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GACvB,OAAO,CAAC;IACd,KAAY,KAAK,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAChF,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GACvB,EAAE,CAAC;IACT,SAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,GAAE,CAAS,KAuDzF;IACD,KAAY,MAAM,CAAC,CAAC,GAAG,GAAG,IAAI;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC;KACZ,CAAC;IACF,SAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAU5F;CACJ"}
package/lib/schema.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAqB7D"}
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,KAAU;IAChC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS,CAAI,MAAS,EAAE,MAAkB;IACxD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAEtC,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI;gBACvD,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,IAAI;gBACvD,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9D,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACL,MAAc,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}