@atproto/lexicon 0.5.0 → 0.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atproto/lexicon
2
2
 
3
+ ## 0.5.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7), [`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7), [`261968fd6`](https://github.com/bluesky-social/atproto/commit/261968fd65014ded613e2bf085d61a7864b8fba7)]:
8
+ - @atproto/common-web@0.4.4
9
+
10
+ ## 0.5.1
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies [[`055a413fb`](https://github.com/bluesky-social/atproto/commit/055a413fba4fab510ec899377154f1204ab12099)]:
15
+ - @atproto/common-web@0.4.3
16
+
3
17
  ## 0.5.0
4
18
 
5
19
  ### Minor Changes
@@ -62,14 +62,7 @@ export declare class BlobRef {
62
62
  constructor(ref: CID, mimeType: string, size: number, original?: JsonBlobRef);
63
63
  static asBlobRef(obj: unknown): BlobRef | null;
64
64
  static fromJsonRef(json: JsonBlobRef): BlobRef;
65
- ipld(): TypedJsonBlobRef;
66
- toJSON(): {
67
- $type: "blob";
68
- ref: {
69
- $link: string;
70
- };
71
- mimeType: string;
72
- size: number;
73
- };
65
+ ipld(): JsonBlobRef;
66
+ toJSON(): unknown;
74
67
  }
75
68
  //# sourceMappingURL=blob-refs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blob-refs.d.ts","sourceRoot":"","sources":["../src/blob-refs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAOlB,CAAA;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,kBAAkB;;;;;;;;;EAKpB,CAAA;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;IAAkD,CAAA;AAC1E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAErD,qBAAa,OAAO;IAIT,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;IALd,QAAQ,EAAE,WAAW,CAAA;gBAGnB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,WAAW;IAUxB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI;IAO9C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAQ9C,IAAI,IAAI,gBAAgB;IASxB,MAAM,IAC8B;QAChC,KAAK,EAAE,MAAM,CAAA;QACb,GAAG,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,CAAA;QACtB,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb;CAEJ"}
1
+ {"version":3,"file":"blob-refs.d.ts","sourceRoot":"","sources":["../src/blob-refs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAOlB,CAAA;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,kBAAkB;;;;;;;;;EAKpB,CAAA;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;IAAkD,CAAA;AAC1E,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAErD,qBAAa,OAAO;IAIT,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,MAAM;IAChB,IAAI,EAAE,MAAM;IALd,QAAQ,EAAE,WAAW,CAAA;gBAGnB,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,WAAW;IAUxB,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI;IAO9C,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;IAQ9C,IAAI,IAAI,WAAW;IAInB,MAAM;CAGP"}
package/dist/blob-refs.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.BlobRef = exports.jsonBlobRef = exports.untypedJsonBlobRef = exports.typedJsonBlobRef = void 0;
4
5
  const cid_1 = require("multiformats/cid");
@@ -67,12 +68,7 @@ class BlobRef {
67
68
  }
68
69
  }
69
70
  ipld() {
70
- return {
71
- $type: 'blob',
72
- ref: this.ref,
73
- mimeType: this.mimeType,
74
- size: this.size,
75
- };
71
+ return this.original;
76
72
  }
77
73
  toJSON() {
78
74
  return (0, common_web_1.ipldToJson)(this.ipld());
@@ -1 +1 @@
1
- {"version":3,"file":"blob-refs.js","sourceRoot":"","sources":["../src/blob-refs.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,6BAAuB;AACvB,oDAA+D;AAElD,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACxB,GAAG,EAAE,mBAAM,CAAC,GAAG;IACf,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,MAAM,EAAE,CAAA;AAGE,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,CAAC;IACN,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACrB,CAAC;KACD,MAAM,EAAE,CAAA;AAGE,QAAA,WAAW,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,wBAAgB,EAAE,0BAAkB,CAAC,CAAC,CAAA;AAG1E,MAAa,OAAO;IAGlB,YACS,GAAQ,EACR,QAAgB,EAChB,IAAY,EACnB,QAAsB;QAHtB;;;;mBAAO,GAAG;WAAK;QACf;;;;mBAAO,QAAQ;WAAQ;QACvB;;;;mBAAO,IAAI;WAAQ;QALd;;;;;WAAqB;QAQ1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI;YAC1B,KAAK,EAAE,MAAM;YACb,GAAG;YACH,QAAQ;YACR,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAY;QAC3B,IAAI,kBAAK,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAiB;QAClC,IAAI,kBAAK,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAgB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,OAAO,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO;YACL,KAAK,EAAE,MAAM;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAA;IACH,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,uBAAU,EAAC,IAAI,CAAC,IAAI,EAAE,CAK5B,CAAA;IACH,CAAC;CACF;AAjDD,0BAiDC"}
1
+ {"version":3,"file":"blob-refs.js","sourceRoot":"","sources":["../src/blob-refs.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,0CAAsC;AACtC,6BAAuB;AACvB,oDAA+D;AAElD,QAAA,gBAAgB,GAAG,OAAC;KAC9B,MAAM,CAAC;IACN,KAAK,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACxB,GAAG,EAAE,mBAAM,CAAC,GAAG;IACf,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC;KACD,MAAM,EAAE,CAAA;AAGE,QAAA,kBAAkB,GAAG,OAAC;KAChC,MAAM,CAAC;IACN,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACrB,CAAC;KACD,MAAM,EAAE,CAAA;AAGE,QAAA,WAAW,GAAG,OAAC,CAAC,KAAK,CAAC,CAAC,wBAAgB,EAAE,0BAAkB,CAAC,CAAC,CAAA;AAG1E,MAAa,OAAO;IAGlB,YACS,GAAQ,EACR,QAAgB,EAChB,IAAY,EACnB,QAAsB;QAHtB;;;;mBAAO,GAAG;WAAK;QACf;;;;mBAAO,QAAQ;WAAQ;QACvB;;;;mBAAO,IAAI;WAAQ;QALd;;;;;WAAqB;QAQ1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI;YAC1B,KAAK,EAAE,MAAM;YACb,GAAG;YACH,QAAQ;YACR,IAAI;SACL,CAAA;IACH,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAY;QAC3B,IAAI,kBAAK,CAAC,EAAE,CAAC,GAAG,EAAE,mBAAW,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,IAAiB;QAClC,IAAI,kBAAK,CAAC,EAAE,CAAC,IAAI,EAAE,wBAAgB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,OAAO,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,uBAAU,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAChC,CAAC;CACF;AAvCD,0BAuCC","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport { z } from 'zod'\nimport { check, ipldToJson, schema } from '@atproto/common-web'\n\nexport const typedJsonBlobRef = z\n .object({\n $type: z.literal('blob'),\n ref: schema.cid,\n mimeType: z.string(),\n size: z.number(),\n })\n .strict()\nexport type TypedJsonBlobRef = z.infer<typeof typedJsonBlobRef>\n\nexport const untypedJsonBlobRef = z\n .object({\n cid: z.string(),\n mimeType: z.string(),\n })\n .strict()\nexport type UntypedJsonBlobRef = z.infer<typeof untypedJsonBlobRef>\n\nexport const jsonBlobRef = z.union([typedJsonBlobRef, untypedJsonBlobRef])\nexport type JsonBlobRef = z.infer<typeof jsonBlobRef>\n\nexport class BlobRef {\n public original: JsonBlobRef\n\n constructor(\n public ref: CID,\n public mimeType: string,\n public size: number,\n original?: JsonBlobRef,\n ) {\n this.original = original ?? {\n $type: 'blob',\n ref,\n mimeType,\n size,\n }\n }\n\n static asBlobRef(obj: unknown): BlobRef | null {\n if (check.is(obj, jsonBlobRef)) {\n return BlobRef.fromJsonRef(obj)\n }\n return null\n }\n\n static fromJsonRef(json: JsonBlobRef): BlobRef {\n if (check.is(json, typedJsonBlobRef)) {\n return new BlobRef(json.ref, json.mimeType, json.size)\n } else {\n return new BlobRef(CID.parse(json.cid), json.mimeType, -1, json)\n }\n }\n\n ipld(): JsonBlobRef {\n return this.original\n }\n\n toJSON() {\n return ipldToJson(this.ipld())\n }\n}\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,8CAA2B;AAC3B,8CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,6CAA0B;AAC1B,8CAA2B;AAC3B,8CAA2B","sourcesContent":["export * from './types'\nexport * from './lexicons'\nexport * from './blob-refs'\nexport * from './serialize'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../src/lexicons.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lexicons.js","sourceRoot":"","sources":["../src/lexicons.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n InvalidLexiconError,\n LexRecord,\n LexUserType,\n LexiconDefNotFoundError,\n LexiconDoc,\n ValidationError,\n ValidationResult,\n isObj,\n} from './types'\nimport { toLexUri } from './util'\nimport {\n assertValidRecord,\n assertValidXrpcInput,\n assertValidXrpcMessage,\n assertValidXrpcOutput,\n assertValidXrpcParams,\n} from './validation'\nimport { object as validateObject } from './validators/complex'\n\n/**\n * A collection of compiled lexicons.\n */\nexport class Lexicons implements Iterable<LexiconDoc> {\n docs: Map<string, LexiconDoc> = new Map()\n defs: Map<string, LexUserType> = new Map()\n\n constructor(docs?: Iterable<LexiconDoc>) {\n if (docs) {\n for (const doc of docs) {\n this.add(doc)\n }\n }\n }\n\n /**\n * @example clone a lexicon:\n * ```ts\n * const clone = new Lexicons(originalLexicon)\n * ```\n *\n * @example get docs array:\n * ```ts\n * const docs = Array.from(lexicons)\n * ```\n */\n [Symbol.iterator](): Iterator<LexiconDoc> {\n return this.docs.values()\n }\n\n /**\n * Add a lexicon doc.\n */\n add(doc: LexiconDoc): void {\n const uri = toLexUri(doc.id)\n if (this.docs.has(uri)) {\n throw new Error(`${uri} has already been registered`)\n }\n\n // WARNING\n // mutates the object\n // -prf\n resolveRefUris(doc, uri)\n\n this.docs.set(uri, doc)\n for (const [defUri, def] of iterDefs(doc)) {\n this.defs.set(defUri, def)\n }\n }\n\n /**\n * Remove a lexicon doc.\n */\n remove(uri: string) {\n uri = toLexUri(uri)\n const doc = this.docs.get(uri)\n if (!doc) {\n throw new Error(`Unable to remove \"${uri}\": does not exist`)\n }\n for (const [defUri, _def] of iterDefs(doc)) {\n this.defs.delete(defUri)\n }\n this.docs.delete(uri)\n }\n\n /**\n * Get a lexicon doc.\n */\n get(uri: string): LexiconDoc | undefined {\n uri = toLexUri(uri)\n return this.docs.get(uri)\n }\n\n /**\n * Get a definition.\n */\n getDef(uri: string): LexUserType | undefined {\n uri = toLexUri(uri)\n return this.defs.get(uri)\n }\n\n /**\n * Get a def, throw if not found. Throws on not found.\n */\n getDefOrThrow<T extends LexUserType['type'] = LexUserType['type']>(\n uri: string,\n types?: readonly T[],\n ): Extract<LexUserType, { type: T }>\n getDefOrThrow(\n uri: string,\n types?: readonly LexUserType['type'][],\n ): LexUserType {\n const def = this.getDef(uri)\n if (!def) {\n throw new LexiconDefNotFoundError(`Lexicon not found: ${uri}`)\n }\n if (types && !types.includes(def.type)) {\n throw new InvalidLexiconError(\n `Not a ${types.join(' or ')} lexicon: ${uri}`,\n )\n }\n return def\n }\n\n /**\n * Validate a record or object.\n */\n validate(lexUri: string, value: unknown): ValidationResult {\n if (!isObj(value)) {\n throw new ValidationError(`Value must be an object`)\n }\n\n const lexUriNormalized = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUriNormalized, ['record', 'object'])\n\n if (def.type === 'record') {\n return validateObject(this, 'Record', def.record, value)\n } else if (def.type === 'object') {\n return validateObject(this, 'Object', def, value)\n } else {\n // shouldn't happen\n throw new InvalidLexiconError('Definition must be a record or object')\n }\n }\n\n /**\n * Validate a record and throw on any error.\n */\n assertValidRecord(lexUri: string, value: unknown) {\n if (!isObj(value)) {\n throw new ValidationError(`Record must be an object`)\n }\n if (!('$type' in value)) {\n throw new ValidationError(`Record/$type must be a string`)\n }\n const { $type } = value\n if (typeof $type !== 'string') {\n throw new ValidationError(`Record/$type must be a string`)\n }\n\n const lexUriNormalized = toLexUri(lexUri)\n if (toLexUri($type) !== lexUriNormalized) {\n throw new ValidationError(\n `Invalid $type: must be ${lexUriNormalized}, got ${$type}`,\n )\n }\n\n const def = this.getDefOrThrow(lexUriNormalized, ['record'])\n return assertValidRecord(this, def as LexRecord, value)\n }\n\n /**\n * Validate xrpc query params and throw on any error.\n */\n assertValidXrpcParams(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, [\n 'query',\n 'procedure',\n 'subscription',\n ])\n return assertValidXrpcParams(this, def, value)\n }\n\n /**\n * Validate xrpc input body and throw on any error.\n */\n assertValidXrpcInput(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['procedure'])\n return assertValidXrpcInput(this, def, value)\n }\n\n /**\n * Validate xrpc output body and throw on any error.\n */\n assertValidXrpcOutput(lexUri: string, value: unknown) {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['query', 'procedure'])\n return assertValidXrpcOutput(this, def, value)\n }\n\n /**\n * Validate xrpc subscription message and throw on any error.\n */\n assertValidXrpcMessage<T = unknown>(lexUri: string, value: unknown): T {\n lexUri = toLexUri(lexUri)\n const def = this.getDefOrThrow(lexUri, ['subscription'])\n return assertValidXrpcMessage(this, def, value) as T\n }\n\n /**\n * Resolve a lex uri given a ref\n */\n resolveLexUri(lexUri: string, ref: string) {\n lexUri = toLexUri(lexUri)\n return toLexUri(ref, lexUri)\n }\n}\n\nfunction* iterDefs(doc: LexiconDoc): Generator<[string, LexUserType]> {\n for (const defId in doc.defs) {\n yield [`lex:${doc.id}#${defId}`, doc.defs[defId]]\n if (defId === 'main') {\n yield [`lex:${doc.id}`, doc.defs[defId]]\n }\n }\n}\n\n// WARNING\n// this method mutates objects\n// -prf\nfunction resolveRefUris(obj: any, baseUri: string): any {\n for (const k in obj) {\n if (obj.type === 'ref') {\n obj.ref = toLexUri(obj.ref, baseUri)\n } else if (obj.type === 'union') {\n obj.refs = obj.refs.map((ref) => toLexUri(ref, baseUri))\n } else if (Array.isArray(obj[k])) {\n obj[k] = obj[k].map((item: any) => {\n if (typeof item === 'string') {\n return item.startsWith('#') ? toLexUri(item, baseUri) : item\n } else if (item && typeof item === 'object') {\n return resolveRefUris(item, baseUri)\n }\n return item\n })\n } else if (obj[k] && typeof obj[k] === 'object') {\n obj[k] = resolveRefUris(obj[k], baseUri)\n }\n }\n return obj\n}\n"]}
@@ -1,10 +1,20 @@
1
1
  import { IpldValue, JsonValue } from '@atproto/common-web';
2
- import { BlobRef } from './blob-refs';
3
- export type LexValue = IpldValue | BlobRef | Array<LexValue> | {
4
- [key: string]: LexValue;
5
- };
2
+ /**
3
+ * @note this is equivalent to `unknown` because of {@link IpldValue} being `unknown`.
4
+ * @deprecated Use {@link Lex} from `@atproto/lex-data` instead.
5
+ */
6
+ export type LexValue = unknown;
7
+ /**
8
+ * @deprecated Use {@link TypedLexMap} from `@atproto/lex-data` instead.
9
+ */
6
10
  export type RepoRecord = Record<string, LexValue>;
11
+ /**
12
+ * @deprecated Use `LexValue` from `@atproto/lex-data` instead (which doesn't need conversion to IPLD).
13
+ */
7
14
  export declare const lexToIpld: (val: LexValue) => IpldValue;
15
+ /**
16
+ * @deprecated Use `LexValue` from `@atproto/lex-data` instead instead (which doesn't need conversion to IPLD).
17
+ */
8
18
  export declare const ipldToLex: (val: IpldValue) => LexValue;
9
19
  export declare const lexToJson: (val: LexValue) => JsonValue;
10
20
  export declare const stringifyLex: (val: LexValue) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,SAAS,EAIV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAA;AAElD,MAAM,MAAM,QAAQ,GAChB,SAAS,GACT,OAAO,GACP,KAAK,CAAC,QAAQ,CAAC,GACf;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,CAAA;AAE/B,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAKjD,eAAO,MAAM,SAAS,GAAI,KAAK,QAAQ,KAAG,SAwBzC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,SAAS,KAAG,QA6B1C,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,QAAQ,KAAG,SAEzC,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,QAAQ,KAAG,MAE5C,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,SAAS,KAAG,QAE1C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,QAE7C,CAAA"}
1
+ {"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,SAAS,EAIV,MAAM,qBAAqB,CAAA;AAG5B;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAA;AAE9B;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;AAKjD;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,QAAQ,KAAG,SAwBzC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,SAAS,KAAG,QA6B1C,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,QAAQ,KAAG,SAEzC,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,KAAK,QAAQ,KAAG,MAE5C,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,KAAK,SAAS,KAAG,QAE1C,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,QAE7C,CAAA"}
package/dist/serialize.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.jsonStringToLex = exports.jsonToLex = exports.stringifyLex = exports.lexToJson = exports.ipldToLex = exports.lexToIpld = void 0;
4
5
  const cid_1 = require("multiformats/cid");
@@ -6,6 +7,9 @@ const common_web_1 = require("@atproto/common-web");
6
7
  const blob_refs_1 = require("./blob-refs");
7
8
  // @NOTE avoiding use of check.is() here only because it makes
8
9
  // these implementations slow, and they often live in hot paths.
10
+ /**
11
+ * @deprecated Use `LexValue` from `@atproto/lex-data` instead (which doesn't need conversion to IPLD).
12
+ */
9
13
  const lexToIpld = (val) => {
10
14
  // walk arrays
11
15
  if (Array.isArray(val)) {
@@ -32,6 +36,9 @@ const lexToIpld = (val) => {
32
36
  return val;
33
37
  };
34
38
  exports.lexToIpld = lexToIpld;
39
+ /**
40
+ * @deprecated Use `LexValue` from `@atproto/lex-data` instead instead (which doesn't need conversion to IPLD).
41
+ */
35
42
  const ipldToLex = (val) => {
36
43
  // map arrays
37
44
  if (Array.isArray(val)) {
@@ -1 +1 @@
1
- {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialize.js","sourceRoot":"","sources":["../src/serialize.ts"],"names":[],"mappings":";AAAA,yCAAyC;;;AAEzC,0CAAsC;AACtC,oDAM4B;AAC5B,2CAAkD;AAalD,8DAA8D;AAC9D,gEAAgE;AAEhE;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,GAAa,EAAa,EAAE;IACpD,cAAc;IACd,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IACD,UAAU;IACV,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,yFAAyF;QACzF,IAAI,GAAG,YAAY,mBAAO,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC,QAAQ,CAAA;QACrB,CAAC;QACD,sBAAsB;QACtB,IAAI,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAChD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,qBAAqB;QACrB,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,eAAe;IACf,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAxBY,QAAA,SAAS,aAwBrB;AAED;;GAEG;AACI,MAAM,SAAS,GAAG,CAAC,GAAc,EAAY,EAAE;IACpD,aAAa;IACb,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,iBAAS,EAAC,IAAI,CAAC,CAAC,CAAA;IAC3C,CAAC;IACD,UAAU;IACV,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACnC,2DAA2D;QAC3D,IACE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,MAAM;YACtB,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ;gBAC7B,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC;YACzC,kBAAK,CAAC,EAAE,CAAC,GAAG,EAAE,uBAAW,CAAC,EAC1B,CAAC;YACD,OAAO,mBAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QACjC,CAAC;QACD,qBAAqB;QACrB,IAAI,SAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;YAChD,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,oBAAoB;QACpB,MAAM,QAAQ,GAAG,EAAE,CAAA;QACnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAA,iBAAS,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,eAAe;IACf,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AA7BY,QAAA,SAAS,aA6BrB;AAEM,MAAM,SAAS,GAAG,CAAC,GAAa,EAAa,EAAE;IACpD,OAAO,IAAA,uBAAU,EAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,YAAY,GAAG,CAAC,GAAa,EAAU,EAAE;IACpD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,CAAC,CAAA;AACvC,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,MAAM,SAAS,GAAG,CAAC,GAAc,EAAY,EAAE;IACpD,OAAO,IAAA,iBAAS,EAAC,IAAA,uBAAU,EAAC,GAAG,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,SAAS,aAErB;AAEM,MAAM,eAAe,GAAG,CAAC,GAAW,EAAY,EAAE;IACvD,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;AACnC,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { CID } from 'multiformats/cid'\nimport {\n IpldValue,\n JsonValue,\n check,\n ipldToJson,\n jsonToIpld,\n} from '@atproto/common-web'\nimport { BlobRef, jsonBlobRef } from './blob-refs'\n\n/**\n * @note this is equivalent to `unknown` because of {@link IpldValue} being `unknown`.\n * @deprecated Use {@link Lex} from `@atproto/lex-data` instead.\n */\nexport type LexValue = unknown\n\n/**\n * @deprecated Use {@link TypedLexMap} from `@atproto/lex-data` instead.\n */\nexport type RepoRecord = Record<string, LexValue>\n\n// @NOTE avoiding use of check.is() here only because it makes\n// these implementations slow, and they often live in hot paths.\n\n/**\n * @deprecated Use `LexValue` from `@atproto/lex-data` instead (which doesn't need conversion to IPLD).\n */\nexport const lexToIpld = (val: LexValue): IpldValue => {\n // walk arrays\n if (Array.isArray(val)) {\n return val.map((item) => lexToIpld(item))\n }\n // objects\n if (val && typeof val === 'object') {\n // convert blobs, leaving the original encoding so that we don't change CIDs on re-encode\n if (val instanceof BlobRef) {\n return val.original\n }\n // retain cids & bytes\n if (CID.asCID(val) || val instanceof Uint8Array) {\n return val\n }\n // walk plain objects\n const toReturn = {}\n for (const key of Object.keys(val)) {\n toReturn[key] = lexToIpld(val[key])\n }\n return toReturn\n }\n // pass through\n return val\n}\n\n/**\n * @deprecated Use `LexValue` from `@atproto/lex-data` instead instead (which doesn't need conversion to IPLD).\n */\nexport const ipldToLex = (val: IpldValue): LexValue => {\n // map arrays\n if (Array.isArray(val)) {\n return val.map((item) => ipldToLex(item))\n }\n // objects\n if (val && typeof val === 'object') {\n // convert blobs, using hints to avoid expensive is() check\n if (\n (val['$type'] === 'blob' ||\n (typeof val['cid'] === 'string' &&\n typeof val['mimeType'] === 'string')) &&\n check.is(val, jsonBlobRef)\n ) {\n return BlobRef.fromJsonRef(val)\n }\n // retain cids, bytes\n if (CID.asCID(val) || val instanceof Uint8Array) {\n return val\n }\n // map plain objects\n const toReturn = {}\n for (const key of Object.keys(val)) {\n toReturn[key] = ipldToLex(val[key])\n }\n return toReturn\n }\n // pass through\n return val\n}\n\nexport const lexToJson = (val: LexValue): JsonValue => {\n return ipldToJson(lexToIpld(val))\n}\n\nexport const stringifyLex = (val: LexValue): string => {\n return JSON.stringify(lexToJson(val))\n}\n\nexport const jsonToLex = (val: JsonValue): LexValue => {\n return ipldToLex(jsonToIpld(val))\n}\n\nexport const jsonStringToLex = (val: string): LexValue => {\n return jsonToLex(JSON.parse(val))\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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M,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEvD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAKrE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AASjD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2FvB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAErD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BpB,CAAA;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAKnD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAE7D;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAE9C;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AACnD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,CAGtD;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IACpC;IACE,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACT,GACD;IACE,OAAO,EAAE,KAAK,CAAA;IACd,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAEL,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAC7C,qBAAa,mBAAoB,SAAQ,KAAK;CAAG;AACjD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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M,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMvB,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAEvD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAKrE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKpB,CAAA;AACF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AASjD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2FvB,CAAA;AACD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAErD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BpB,CAAA;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAKnD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAE7D;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAE9C;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AACnD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,UAAU,CAGtD;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IACpC;IACE,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,CAAC,CAAA;CACT,GACD;IACE,OAAO,EAAE,KAAK,CAAA;IACd,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAEL,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAC7C,qBAAa,mBAAoB,SAAQ,KAAK;CAAG;AACjD,qBAAa,uBAAwB,SAAQ,KAAK;CAAG"}
package/dist/types.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.LexiconDefNotFoundError = exports.InvalidLexiconError = exports.ValidationError = exports.lexiconDoc = exports.lexUserType = exports.lexRecord = exports.lexXrpcSubscription = exports.lexXrpcProcedure = exports.lexXrpcQuery = exports.lexXrpcError = exports.lexXrpcSubscriptionMessage = exports.lexXrpcBody = exports.lexXrpcParameters = exports.lexPermissionSet = exports.lexObject = exports.lexToken = exports.lexPrimitiveArray = exports.lexArray = exports.lexBlob = exports.lexRefVariant = exports.lexRefUnion = exports.lexRef = exports.lexIpldType = exports.lexCidLink = exports.lexBytes = exports.lexPrimitive = exports.lexUnknown = exports.lexString = exports.lexStringFormat = exports.lexInteger = exports.lexBoolean = exports.lexLang = exports.languageSchema = void 0;
4
5
  exports.isValidLexiconDoc = isValidLexiconDoc;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { z } from 'zod'\nimport { validateLanguage } from '@atproto/common-web'\nimport { isValidNsid } from '@atproto/syntax'\nimport { requiredPropertiesRefinement } from './util'\n\nexport const languageSchema = z\n .string()\n .refine(validateLanguage, 'Invalid BCP47 language tag')\n\nexport const lexLang = z.record(languageSchema, z.string().optional())\n\nexport type LexLang = z.infer<typeof lexLang>\n\n// primitives\n// =\n\nexport const lexBoolean = z.object({\n type: z.literal('boolean'),\n description: z.string().optional(),\n default: z.boolean().optional(),\n const: z.boolean().optional(),\n})\nexport type LexBoolean = z.infer<typeof lexBoolean>\n\nexport const lexInteger = z.object({\n type: z.literal('integer'),\n description: z.string().optional(),\n default: z.number().int().optional(),\n minimum: z.number().int().optional(),\n maximum: z.number().int().optional(),\n enum: z.number().int().array().optional(),\n const: z.number().int().optional(),\n})\nexport type LexInteger = z.infer<typeof lexInteger>\n\nexport const lexStringFormat = z.enum([\n 'datetime',\n 'uri',\n 'at-uri',\n 'did',\n 'handle',\n 'at-identifier',\n 'nsid',\n 'cid',\n 'language',\n 'tid',\n 'record-key',\n])\nexport type LexStringFormat = z.infer<typeof lexStringFormat>\n\nexport const lexString = z.object({\n type: z.literal('string'),\n format: lexStringFormat.optional(),\n description: z.string().optional(),\n default: z.string().optional(),\n minLength: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n minGraphemes: z.number().int().optional(),\n maxGraphemes: z.number().int().optional(),\n enum: z.string().array().optional(),\n const: z.string().optional(),\n knownValues: z.string().array().optional(),\n})\nexport type LexString = z.infer<typeof lexString>\n\nexport const lexUnknown = z.object({\n type: z.literal('unknown'),\n description: z.string().optional(),\n})\nexport type LexUnknown = z.infer<typeof lexUnknown>\n\nexport const lexPrimitive = z.discriminatedUnion('type', [\n lexBoolean,\n lexInteger,\n lexString,\n lexUnknown,\n])\nexport type LexPrimitive = z.infer<typeof lexPrimitive>\n\n// ipld types\n// =\n\nexport const lexBytes = z.object({\n type: z.literal('bytes'),\n description: z.string().optional(),\n maxLength: z.number().optional(),\n minLength: z.number().optional(),\n})\nexport type LexBytes = z.infer<typeof lexBytes>\n\nexport const lexCidLink = z.object({\n type: z.literal('cid-link'),\n description: z.string().optional(),\n})\nexport type LexCidLink = z.infer<typeof lexCidLink>\n\nexport const lexIpldType = z.discriminatedUnion('type', [lexBytes, lexCidLink])\nexport type LexIpldType = z.infer<typeof lexIpldType>\n\n// references\n// =\n\nexport const lexRef = z.object({\n type: z.literal('ref'),\n description: z.string().optional(),\n ref: z.string(),\n})\nexport type LexRef = z.infer<typeof lexRef>\n\nexport const lexRefUnion = z.object({\n type: z.literal('union'),\n description: z.string().optional(),\n refs: z.string().array(),\n closed: z.boolean().optional(),\n})\nexport type LexRefUnion = z.infer<typeof lexRefUnion>\n\nexport const lexRefVariant = z.discriminatedUnion('type', [lexRef, lexRefUnion])\nexport type LexRefVariant = z.infer<typeof lexRefVariant>\n\n// blobs\n// =\n\nexport const lexBlob = z.object({\n type: z.literal('blob'),\n description: z.string().optional(),\n accept: z.string().array().optional(),\n maxSize: z.number().optional(),\n})\nexport type LexBlob = z.infer<typeof lexBlob>\n\n// complex types\n// =\n\nexport const lexArray = z.object({\n type: z.literal('array'),\n description: z.string().optional(),\n items: z.discriminatedUnion('type', [\n // lexPrimitive\n lexBoolean,\n lexInteger,\n lexString,\n lexUnknown,\n // lexIpldType\n lexBytes,\n lexCidLink,\n // lexRefVariant\n lexRef,\n lexRefUnion,\n // other\n lexBlob,\n ]),\n minLength: z.number().int().optional(),\n maxLength: z.number().int().optional(),\n})\nexport type LexArray = z.infer<typeof lexArray>\n\nexport const lexPrimitiveArray = lexArray.merge(\n z.object({\n items: lexPrimitive,\n }),\n)\nexport type LexPrimitiveArray = z.infer<typeof lexPrimitiveArray>\n\nexport const lexToken = z.object({\n type: z.literal('token'),\n description: z.string().optional(),\n})\nexport type LexToken = z.infer<typeof lexToken>\n\nexport const lexObject = z\n .object({\n type: z.literal('object'),\n description: z.string().optional(),\n required: z.string().array().optional(),\n nullable: z.string().array().optional(),\n properties: z.record(\n z.string(),\n z.discriminatedUnion('type', [\n lexArray,\n\n // lexPrimitive\n lexBoolean,\n lexInteger,\n lexString,\n lexUnknown,\n // lexIpldType\n lexBytes,\n lexCidLink,\n // lexRefVariant\n lexRef,\n lexRefUnion,\n // other\n lexBlob,\n ]),\n ),\n })\n .superRefine(requiredPropertiesRefinement)\nexport type LexObject = z.infer<typeof lexObject>\n\n// permissions\n// =\n\nconst lexPermission = z.intersection(\n z.object({\n type: z.literal('permission'),\n resource: z.string().nonempty(),\n }),\n z.record(\n z.string(),\n z\n .union([\n z.array(z.union([z.string(), z.number().int(), z.boolean()])),\n\n z.boolean(),\n z.number().int(),\n z.string(),\n ])\n .optional(),\n ),\n)\n\nexport type LexPermission = z.infer<typeof lexPermission>\n\nexport const lexPermissionSet = z.object({\n type: z.literal('permission-set'),\n description: z.string().optional(),\n title: z.string().optional(),\n 'title:lang': lexLang.optional(),\n detail: z.string().optional(),\n 'detail:lang': lexLang.optional(),\n permissions: z.array(lexPermission),\n})\n\nexport type LexPermissionSet = z.infer<typeof lexPermissionSet>\n\n// xrpc\n// =\n\nexport const lexXrpcParameters = z\n .object({\n type: z.literal('params'),\n description: z.string().optional(),\n required: z.string().array().optional(),\n properties: z.record(\n z.string(),\n z.discriminatedUnion('type', [\n lexPrimitiveArray,\n\n // lexPrimitive\n lexBoolean,\n lexInteger,\n lexString,\n lexUnknown,\n ]),\n ),\n })\n .superRefine(requiredPropertiesRefinement)\nexport type LexXrpcParameters = z.infer<typeof lexXrpcParameters>\n\nexport const lexXrpcBody = z.object({\n description: z.string().optional(),\n encoding: z.string(),\n // @NOTE using discriminatedUnion with a refined schema requires zod >= 4\n schema: z.union([lexRefVariant, lexObject]).optional(),\n})\nexport type LexXrpcBody = z.infer<typeof lexXrpcBody>\n\nexport const lexXrpcSubscriptionMessage = z.object({\n description: z.string().optional(),\n // @NOTE using discriminatedUnion with a refined schema requires zod >= 4\n schema: z.union([lexRefVariant, lexObject]).optional(),\n})\nexport type LexXrpcSubscriptionMessage = z.infer<\n typeof lexXrpcSubscriptionMessage\n>\n\nexport const lexXrpcError = z.object({\n name: z.string(),\n description: z.string().optional(),\n})\nexport type LexXrpcError = z.infer<typeof lexXrpcError>\n\nexport const lexXrpcQuery = z.object({\n type: z.literal('query'),\n description: z.string().optional(),\n parameters: lexXrpcParameters.optional(),\n output: lexXrpcBody.optional(),\n errors: lexXrpcError.array().optional(),\n})\nexport type LexXrpcQuery = z.infer<typeof lexXrpcQuery>\n\nexport const lexXrpcProcedure = z.object({\n type: z.literal('procedure'),\n description: z.string().optional(),\n parameters: lexXrpcParameters.optional(),\n input: lexXrpcBody.optional(),\n output: lexXrpcBody.optional(),\n errors: lexXrpcError.array().optional(),\n})\nexport type LexXrpcProcedure = z.infer<typeof lexXrpcProcedure>\n\nexport const lexXrpcSubscription = z.object({\n type: z.literal('subscription'),\n description: z.string().optional(),\n parameters: lexXrpcParameters.optional(),\n message: lexXrpcSubscriptionMessage.optional(),\n errors: lexXrpcError.array().optional(),\n})\nexport type LexXrpcSubscription = z.infer<typeof lexXrpcSubscription>\n\n// database\n// =\n\nexport const lexRecord = z.object({\n type: z.literal('record'),\n description: z.string().optional(),\n key: z.string().optional(),\n record: lexObject,\n})\nexport type LexRecord = z.infer<typeof lexRecord>\n\n// core\n// =\n\n// We need to use `z.custom` here because\n// lexXrpcProperty and lexObject are refined\n// `z.union` would work, but it's too slow\n// see #915 for details\nexport const lexUserType = z.custom<\n | LexRecord\n | LexPermissionSet\n | LexXrpcQuery\n | LexXrpcProcedure\n | LexXrpcSubscription\n | LexBlob\n | LexArray\n | LexToken\n | LexObject\n | LexBoolean\n | LexInteger\n | LexString\n | LexBytes\n | LexCidLink\n | LexUnknown\n>(\n (val) => {\n if (!val || typeof val !== 'object') {\n return\n }\n\n if (val['type'] === undefined) {\n return\n }\n\n switch (val['type']) {\n case 'record':\n return lexRecord.parse(val)\n\n case 'permission-set':\n return lexPermissionSet.parse(val)\n\n case 'query':\n return lexXrpcQuery.parse(val)\n case 'procedure':\n return lexXrpcProcedure.parse(val)\n case 'subscription':\n return lexXrpcSubscription.parse(val)\n\n case 'blob':\n return lexBlob.parse(val)\n\n case 'array':\n return lexArray.parse(val)\n case 'token':\n return lexToken.parse(val)\n case 'object':\n return lexObject.parse(val)\n\n case 'boolean':\n return lexBoolean.parse(val)\n case 'integer':\n return lexInteger.parse(val)\n case 'string':\n return lexString.parse(val)\n case 'bytes':\n return lexBytes.parse(val)\n case 'cid-link':\n return lexCidLink.parse(val)\n case 'unknown':\n return lexUnknown.parse(val)\n }\n },\n (val) => {\n if (!val || typeof val !== 'object') {\n return {\n message: 'Must be an object',\n fatal: true,\n }\n }\n\n if (val['type'] === undefined) {\n return {\n message: 'Must have a type',\n fatal: true,\n }\n }\n\n if (typeof val['type'] !== 'string') {\n return {\n message: 'Type property must be a string',\n fatal: true,\n }\n }\n\n return {\n message: `Invalid type: ${val['type']} must be one of: record, query, procedure, subscription, blob, array, token, object, boolean, integer, string, bytes, cid-link, unknown`,\n fatal: true,\n }\n },\n)\nexport type LexUserType = z.infer<typeof lexUserType>\n\nexport const lexiconDoc = z\n .object({\n lexicon: z.literal(1),\n id: z.string().refine(isValidNsid, {\n message: 'Must be a valid NSID',\n }),\n revision: z.number().optional(),\n description: z.string().optional(),\n defs: z.record(z.string(), lexUserType),\n })\n .refine(\n (doc) => {\n for (const [defId, def] of Object.entries(doc.defs)) {\n if (\n defId !== 'main' &&\n (def.type === 'record' ||\n def.type === 'permission-set' ||\n def.type === 'procedure' ||\n def.type === 'query' ||\n def.type === 'subscription')\n ) {\n return false\n }\n }\n return true\n },\n {\n message: `Records, permission sets, procedures, queries, and subscriptions must be the main definition.`,\n },\n )\nexport type LexiconDoc = z.infer<typeof lexiconDoc>\n\n// helpers\n// =\n\nexport function isValidLexiconDoc(v: unknown): v is LexiconDoc {\n return lexiconDoc.safeParse(v).success\n}\n\nexport function isObj<V>(v: V): v is V & object {\n return v != null && typeof v === 'object'\n}\n\nexport type DiscriminatedObject = { $type: string }\nexport function isDiscriminatedObject(v: unknown): v is DiscriminatedObject {\n return isObj(v) && '$type' in v && typeof v.$type === 'string'\n}\n\nexport function parseLexiconDoc(v: unknown): LexiconDoc {\n lexiconDoc.parse(v)\n return v as LexiconDoc\n}\n\nexport type ValidationResult<V = unknown> =\n | {\n success: true\n value: V\n }\n | {\n success: false\n error: ValidationError\n }\n\nexport class ValidationError extends Error {}\nexport class InvalidLexiconError extends Error {}\nexport class LexiconDefNotFoundError extends Error {}\n"]}
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAEA,4BAeC;AAED,oEAsCC;AAzDD,6BAAuB;AAEvB,SAAgB,QAAQ,CAAC,GAAW,EAAE,OAAgB;IACpD,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,GAAG,OAAO,GAAG,GAAG,EAAE,CAAA;IAC3B,CAAC;IACD,OAAO,OAAO,GAAG,EAAE,CAAA;AACrB,CAAC;AAED,SAAgB,4BAA4B,CAK1C,MAAkB,EAAE,GAAoB;IACxC,wBAAwB;IACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,OAAM;IACR,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,YAAY;YACjC,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ;YAChC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,mDAAmD;aAC7D,CAAC,CAAA;QACJ,CAAC;QACD,OAAM;IACR,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,mBAAmB,KAAK,eAAe;aACjD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;AAEA,4BAeC;AAED,oEAsCC;AAzDD,6BAAuB;AAEvB,SAAgB,QAAQ,CAAC,GAAW,EAAE,OAAgB;IACpD,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,GAAG,OAAO,GAAG,GAAG,EAAE,CAAA;IAC3B,CAAC;IACD,OAAO,OAAO,GAAG,EAAE,CAAA;AACrB,CAAC;AAED,SAAgB,4BAA4B,CAK1C,MAAkB,EAAE,GAAoB;IACxC,wBAAwB;IACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,OAAM;IACR,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,YAAY;YACjC,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ;YAChC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QACF,OAAM;IACR,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,mDAAmD;aAC7D,CAAC,CAAA;QACJ,CAAC;QACD,OAAM;IACR,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,OAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,OAAO,EAAE,mBAAmB,KAAK,eAAe;aACjD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { z } from 'zod'\n\nexport function toLexUri(str: string, baseUri?: string): string {\n if (str.split('#').length > 2) {\n throw new Error('Uri can only have one hash segment')\n }\n\n if (str.startsWith('lex:')) {\n return str\n }\n if (str.startsWith('#')) {\n if (!baseUri) {\n throw new Error(`Unable to resolve uri without anchor: ${str}`)\n }\n return `${baseUri}${str}`\n }\n return `lex:${str}`\n}\n\nexport function requiredPropertiesRefinement<\n ObjectType extends {\n required?: string[]\n properties?: Record<string, unknown>\n },\n>(object: ObjectType, ctx: z.RefinementCtx) {\n // Required fields check\n if (object.required === undefined) {\n return\n }\n\n if (!Array.isArray(object.required)) {\n ctx.addIssue({\n code: z.ZodIssueCode.invalid_type,\n received: typeof object.required,\n expected: 'array',\n })\n return\n }\n\n if (object.properties === undefined) {\n if (object.required.length > 0) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Required fields defined but no properties defined`,\n })\n }\n return\n }\n\n for (const field of object.required) {\n if (object.properties[field] === undefined) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Required field \"${field}\" not defined`,\n })\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;AAYA,8CAQC;AAED,sDAUC;AAED,oDASC;AAED,sDASC;AAED,wDAeC;AA9DD,kDAA4D;AAC5D,4CAA0C;AAE1C,SAAgB,iBAAiB,CAC/B,QAAkB,EAClB,GAAc,EACd,KAAc;IAEd,MAAM,GAAG,GAAG,IAAA,gBAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACzD,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,GAAG,CAAC,KAAK,CAAA;IACjC,OAAO,GAAG,CAAC,KAAK,CAAA;AAClB,CAAC;AAED,SAAgB,qBAAqB,CACnC,QAAkB,EAClB,GAA0D,EAC1D,KAAc;IAEd,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAA,aAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,MAAM,GAAG,CAAC,KAAK,CAAA;QACjC,OAAO,GAAG,CAAC,KAAK,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAClC,QAAkB,EAClB,GAAqB,EACrB,KAAc;IAEd,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACtB,qCAAqC;QACrC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3E,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,QAAkB,EAClB,GAAoC,EACpC,KAAc;IAEd,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACvB,sCAAsC;QACtC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB,CACpC,QAAkB,EAClB,GAAwB,EACxB,KAAc;IAEd,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACxB,sCAAsC;QACtC,OAAO,gBAAgB,CACrB,QAAQ,EACR,SAAS,EACT,GAAG,CAAC,OAAO,CAAC,MAAM,EAClB,KAAK,EACL,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAkB,EAClB,IAAY,EACZ,GAAgC,EAChC,KAAc,EACd,SAAS,GAAG,KAAK;IAEjB,MAAM,GAAG,GAAG,IAAA,uBAAa,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,GAAG,CAAC,KAAK,CAAA;IACjC,OAAO,GAAG,CAAC,KAAK,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":";;AAYA,8CAQC;AAED,sDAUC;AAED,oDASC;AAED,sDASC;AAED,wDAeC;AA9DD,kDAA4D;AAC5D,4CAA0C;AAE1C,SAAgB,iBAAiB,CAC/B,QAAkB,EAClB,GAAc,EACd,KAAc;IAEd,MAAM,GAAG,GAAG,IAAA,gBAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACzD,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,GAAG,CAAC,KAAK,CAAA;IACjC,OAAO,GAAG,CAAC,KAAK,CAAA;AAClB,CAAC;AAED,SAAgB,qBAAqB,CACnC,QAAkB,EAClB,GAA0D,EAC1D,KAAc;IAEd,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAA,aAAM,EAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QAC7D,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,MAAM,GAAG,CAAC,KAAK,CAAA;QACjC,OAAO,GAAG,CAAC,KAAK,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB,CAClC,QAAkB,EAClB,GAAqB,EACrB,KAAc;IAEd,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACtB,qCAAqC;QACrC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC3E,CAAC;AACH,CAAC;AAED,SAAgB,qBAAqB,CACnC,QAAkB,EAClB,GAAoC,EACpC,KAAc;IAEd,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QACvB,sCAAsC;QACtC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7E,CAAC;AACH,CAAC;AAED,SAAgB,sBAAsB,CACpC,QAAkB,EAClB,GAAwB,EACxB,KAAc;IAEd,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACxB,sCAAsC;QACtC,OAAO,gBAAgB,CACrB,QAAQ,EACR,SAAS,EACT,GAAG,CAAC,OAAO,CAAC,MAAM,EAClB,KAAK,EACL,IAAI,CACL,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAkB,EAClB,IAAY,EACZ,GAAgC,EAChC,KAAc,EACd,SAAS,GAAG,KAAK;IAEjB,MAAM,GAAG,GAAG,IAAA,uBAAa,EAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IAChE,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,MAAM,GAAG,CAAC,KAAK,CAAA;IACjC,OAAO,GAAG,CAAC,KAAK,CAAA;AAClB,CAAC","sourcesContent":["import { Lexicons } from './lexicons'\nimport {\n LexRecord,\n LexRefVariant,\n LexUserType,\n LexXrpcProcedure,\n LexXrpcQuery,\n LexXrpcSubscription,\n} from './types'\nimport { object, validateOneOf } from './validators/complex'\nimport { params } from './validators/xrpc'\n\nexport function assertValidRecord(\n lexicons: Lexicons,\n def: LexRecord,\n value: unknown,\n) {\n const res = object(lexicons, 'Record', def.record, value)\n if (!res.success) throw res.error\n return res.value\n}\n\nexport function assertValidXrpcParams(\n lexicons: Lexicons,\n def: LexXrpcProcedure | LexXrpcQuery | LexXrpcSubscription,\n value: unknown,\n) {\n if (def.parameters) {\n const res = params(lexicons, 'Params', def.parameters, value)\n if (!res.success) throw res.error\n return res.value\n }\n}\n\nexport function assertValidXrpcInput(\n lexicons: Lexicons,\n def: LexXrpcProcedure,\n value: unknown,\n) {\n if (def.input?.schema) {\n // loop: all input schema definitions\n return assertValidOneOf(lexicons, 'Input', def.input.schema, value, true)\n }\n}\n\nexport function assertValidXrpcOutput(\n lexicons: Lexicons,\n def: LexXrpcProcedure | LexXrpcQuery,\n value: unknown,\n) {\n if (def.output?.schema) {\n // loop: all output schema definitions\n return assertValidOneOf(lexicons, 'Output', def.output.schema, value, true)\n }\n}\n\nexport function assertValidXrpcMessage(\n lexicons: Lexicons,\n def: LexXrpcSubscription,\n value: unknown,\n) {\n if (def.message?.schema) {\n // loop: all output schema definitions\n return assertValidOneOf(\n lexicons,\n 'Message',\n def.message.schema,\n value,\n true,\n )\n }\n}\n\nfunction assertValidOneOf(\n lexicons: Lexicons,\n path: string,\n def: LexRefVariant | LexUserType,\n value: unknown,\n mustBeObj = false,\n) {\n const res = validateOneOf(lexicons, path, def, value, mustBeObj)\n if (!res.success) throw res.error\n return res.value\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/validators/blob.ts"],"names":[],"mappings":";;AAIA,oBAcC;AAlBD,4CAAsC;AAEtC,oCAAyE;AAEzE,SAAgB,IAAI,CAClB,QAAkB,EAClB,IAAY,EACZ,GAAgB,EAChB,KAAc;IAEd,QAAQ;IACR,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,mBAAO,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,uBAAe,CAAC,GAAG,IAAI,uBAAuB,CAAC;SAC3D,CAAA;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/validators/blob.ts"],"names":[],"mappings":";;AAIA,oBAcC;AAlBD,4CAAsC;AAEtC,oCAAyE;AAEzE,SAAgB,IAAI,CAClB,QAAkB,EAClB,IAAY,EACZ,GAAgB,EAChB,KAAc;IAEd,QAAQ;IACR,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,mBAAO,CAAC,EAAE,CAAC;QAC1C,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,IAAI,uBAAe,CAAC,GAAG,IAAI,uBAAuB,CAAC;SAC3D,CAAA;IACH,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;AACjC,CAAC","sourcesContent":["import { BlobRef } from '../blob-refs'\nimport { Lexicons } from '../lexicons'\nimport { LexUserType, ValidationError, ValidationResult } from '../types'\n\nexport function blob(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n // check\n if (!value || !(value instanceof BlobRef)) {\n return {\n success: false,\n error: new ValidationError(`${path} should be a blob ref`),\n }\n }\n return { success: true, value }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"complex.js","sourceRoot":"","sources":["../../src/validators/complex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"complex.js","sourceRoot":"","sources":["../../src/validators/complex.ts"],"names":[],"mappings":"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","sourcesContent":["import { Lexicons } from '../lexicons'\nimport {\n LexArray,\n LexRefVariant,\n LexUserType,\n ValidationError,\n ValidationResult,\n isDiscriminatedObject,\n isObj,\n} from '../types'\nimport { toLexUri } from '../util'\nimport { blob } from './blob'\nimport { validate as validatePrimitive } from './primitives'\n\nexport function validate(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n switch (def.type) {\n case 'object':\n return object(lexicons, path, def, value)\n case 'array':\n return array(lexicons, path, def, value)\n case 'blob':\n return blob(lexicons, path, def, value)\n default:\n return validatePrimitive(lexicons, path, def, value)\n }\n}\n\nexport function array(\n lexicons: Lexicons,\n path: string,\n def: LexArray,\n value: unknown,\n): ValidationResult {\n // type\n if (!Array.isArray(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be an array`),\n }\n }\n\n // maxLength\n if (typeof def.maxLength === 'number') {\n if ((value as Array<unknown>).length > def.maxLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not have more than ${def.maxLength} elements`,\n ),\n }\n }\n }\n\n // minLength\n if (typeof def.minLength === 'number') {\n if ((value as Array<unknown>).length < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not have fewer than ${def.minLength} elements`,\n ),\n }\n }\n }\n\n // items\n const itemsDef = def.items\n for (let i = 0; i < (value as Array<unknown>).length; i++) {\n const itemValue = value[i]\n const itemPath = `${path}/${i}`\n const res = validateOneOf(lexicons, itemPath, itemsDef, itemValue)\n if (!res.success) {\n return res\n }\n }\n\n return { success: true, value }\n}\n\nexport function object(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n // type\n if (!isObj(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be an object`),\n }\n }\n\n // properties\n let resultValue = value\n if ('properties' in def && def.properties != null) {\n for (const key in def.properties) {\n const keyValue = value[key]\n if (keyValue === null && def.nullable?.includes(key)) {\n continue\n }\n const propDef = def.properties[key]\n if (keyValue === undefined && !def.required?.includes(key)) {\n // Fast path for non-required undefined props.\n if (\n propDef.type === 'integer' ||\n propDef.type === 'boolean' ||\n propDef.type === 'string'\n ) {\n if (propDef.default === undefined) {\n continue\n }\n } else {\n // Other types have no defaults.\n continue\n }\n }\n const propPath = `${path}/${key}`\n const validated = validateOneOf(lexicons, propPath, propDef, keyValue)\n const propValue = validated.success ? validated.value : keyValue\n\n // Return error for bad validation, giving required rule precedence\n if (propValue === undefined) {\n if (def.required?.includes(key)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must have the property \"${key}\"`,\n ),\n }\n }\n } else {\n if (!validated.success) {\n return validated\n }\n }\n\n // Adjust value based on e.g. applied defaults, cloning shallowly if there was a changed value\n if (propValue !== keyValue) {\n if (resultValue === value) {\n // Lazy shallow clone\n resultValue = { ...value }\n }\n resultValue[key] = propValue\n }\n }\n }\n\n return { success: true, value: resultValue }\n}\n\nexport function validateOneOf(\n lexicons: Lexicons,\n path: string,\n def: LexRefVariant | LexUserType,\n value: unknown,\n mustBeObj = false, // this is the only type constraint we need currently (used by xrpc body schema validators)\n): ValidationResult {\n let concreteDef: LexUserType\n\n if (def.type === 'union') {\n if (!isDiscriminatedObject(value)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be an object which includes the \"$type\" property`,\n ),\n }\n }\n if (!refsContainType(def.refs, value.$type)) {\n if (def.closed) {\n return {\n success: false,\n error: new ValidationError(\n `${path} $type must be one of ${def.refs.join(', ')}`,\n ),\n }\n }\n return { success: true, value }\n } else {\n concreteDef = lexicons.getDefOrThrow(value.$type)\n }\n } else if (def.type === 'ref') {\n concreteDef = lexicons.getDefOrThrow(def.ref)\n } else {\n concreteDef = def\n }\n\n return mustBeObj\n ? object(lexicons, path, concreteDef, value)\n : validate(lexicons, path, concreteDef, value)\n}\n\n// to avoid bugs like #0189 this needs to handle both\n// explicit and implicit #main\nconst refsContainType = (refs: string[], type: string) => {\n const lexUri = toLexUri(type)\n if (refs.includes(lexUri)) {\n return true\n }\n\n if (lexUri.endsWith('#main')) {\n return refs.includes(lexUri.slice(0, -5))\n } else {\n return !lexUri.includes('#') && refs.includes(`${lexUri}#main`)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/validators/formats.ts"],"names":[],"mappings":"AAWA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE5D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CActE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CASjE;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWnE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWjE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWpE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAc1E;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAYlE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAUjE;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAUtE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CASjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAUvE"}
1
+ {"version":3,"file":"formats.d.ts","sourceRoot":"","sources":["../../src/validators/formats.ts"],"names":[],"mappings":"AAaA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE5D,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CActE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CASjE;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWnE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWjE;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAWpE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAc1E;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAYlE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAUjE;AAGD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAUtE;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CASjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAUvE"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* eslint-disable import/no-deprecated */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.datetime = datetime;
4
5
  exports.uri = uri;
@@ -1 +1 @@
1
- {"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/validators/formats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formats.js","sourceRoot":"","sources":["../../src/validators/formats.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable import/no-deprecated */\n\nimport { isValidISODateString } from 'iso-datestring-validator'\nimport { CID } from 'multiformats/cid'\nimport { validateLanguage } from '@atproto/common-web'\nimport {\n ensureValidAtUri,\n ensureValidDid,\n ensureValidHandle,\n ensureValidRecordKey,\n isValidNsid,\n isValidTid,\n} from '@atproto/syntax'\nimport { ValidationError, ValidationResult } from '../types'\n\nexport function datetime(path: string, value: string): ValidationResult {\n try {\n if (!isValidISODateString(value)) {\n throw new Error()\n }\n } catch {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be an valid atproto datetime (both RFC-3339 and ISO-8601)`,\n ),\n }\n }\n return { success: true, value }\n}\n\nexport function uri(path: string, value: string): ValidationResult {\n const isUri = value.match(/^\\w+:(?:\\/\\/)?[^\\s/][^\\s]*$/) !== null\n if (!isUri) {\n return {\n success: false,\n error: new ValidationError(`${path} must be a uri`),\n }\n }\n return { success: true, value }\n}\n\nexport function atUri(path: string, value: string): ValidationResult {\n try {\n ensureValidAtUri(value)\n } catch {\n return {\n success: false,\n error: new ValidationError(`${path} must be a valid at-uri`),\n }\n }\n\n return { success: true, value }\n}\n\nexport function did(path: string, value: string): ValidationResult {\n try {\n ensureValidDid(value)\n } catch {\n return {\n success: false,\n error: new ValidationError(`${path} must be a valid did`),\n }\n }\n\n return { success: true, value }\n}\n\nexport function handle(path: string, value: string): ValidationResult {\n try {\n ensureValidHandle(value)\n } catch {\n return {\n success: false,\n error: new ValidationError(`${path} must be a valid handle`),\n }\n }\n\n return { success: true, value }\n}\n\nexport function atIdentifier(path: string, value: string): ValidationResult {\n // We can discriminate based on the \"did:\" prefix\n if (value.startsWith('did:')) {\n const didResult = did(path, value)\n if (didResult.success) return didResult\n } else {\n const handleResult = handle(path, value)\n if (handleResult.success) return handleResult\n }\n\n return {\n success: false,\n error: new ValidationError(`${path} must be a valid did or a handle`),\n }\n}\n\nexport function nsid(path: string, value: string): ValidationResult {\n if (isValidNsid(value)) {\n return {\n success: true,\n value,\n }\n } else {\n return {\n success: false,\n error: new ValidationError(`${path} must be a valid nsid`),\n }\n }\n}\n\nexport function cid(path: string, value: string): ValidationResult {\n try {\n CID.parse(value)\n } catch {\n return {\n success: false,\n error: new ValidationError(`${path} must be a cid string`),\n }\n }\n return { success: true, value }\n}\n\n// The language format validates well-formed BCP 47 language tags: https://www.rfc-editor.org/info/bcp47\nexport function language(path: string, value: string): ValidationResult {\n if (validateLanguage(value)) {\n return { success: true, value }\n }\n return {\n success: false,\n error: new ValidationError(\n `${path} must be a well-formed BCP 47 language tag`,\n ),\n }\n}\n\nexport function tid(path: string, value: string): ValidationResult {\n if (isValidTid(value)) {\n return { success: true, value }\n }\n\n return {\n success: false,\n error: new ValidationError(`${path} must be a valid TID`),\n }\n}\n\nexport function recordKey(path: string, value: string): ValidationResult {\n try {\n ensureValidRecordKey(value)\n } catch {\n return {\n success: false,\n error: new ValidationError(`${path} must be a valid Record Key`),\n }\n }\n return { success: true, value }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/validators/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/validators/primitives.ts"],"names":[],"mappings":"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","sourcesContent":["import { CID } from 'multiformats/cid'\nimport { graphemeLen, utf8Len } from '@atproto/common-web'\nimport { Lexicons } from '../lexicons'\nimport {\n LexBoolean,\n LexBytes,\n LexInteger,\n LexString,\n LexUserType,\n ValidationError,\n ValidationResult,\n} from '../types'\nimport * as formats from './formats'\n\nexport function validate(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n switch (def.type) {\n case 'boolean':\n return boolean(lexicons, path, def, value)\n case 'integer':\n return integer(lexicons, path, def, value)\n case 'string':\n return string(lexicons, path, def, value)\n case 'bytes':\n return bytes(lexicons, path, def, value)\n case 'cid-link':\n return cidLink(lexicons, path, def, value)\n case 'unknown':\n return unknown(lexicons, path, def, value)\n default:\n return {\n success: false,\n error: new ValidationError(`Unexpected lexicon type: ${def.type}`),\n }\n }\n}\n\nfunction boolean(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexBoolean\n\n // type\n const type = typeof value\n if (type === 'undefined') {\n if (typeof def.default === 'boolean') {\n return { success: true, value: def.default }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a boolean`),\n }\n } else if (type !== 'boolean') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a boolean`),\n }\n }\n\n // const\n if (typeof def.const === 'boolean') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n return { success: true, value }\n}\n\nfunction integer(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexInteger\n\n // type\n const type = typeof value\n if (type === 'undefined') {\n if (typeof def.default === 'number') {\n return { success: true, value: def.default }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be an integer`),\n }\n } else if (!Number.isInteger(value)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be an integer`),\n }\n }\n\n // const\n if (typeof def.const === 'number') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n // enum\n if (Array.isArray(def.enum)) {\n if (!def.enum.includes(value as number)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be one of (${def.enum.join('|')})`,\n ),\n }\n }\n }\n\n // maximum\n if (typeof def.maximum === 'number') {\n if ((value as number) > def.maximum) {\n return {\n success: false,\n error: new ValidationError(\n `${path} can not be greater than ${def.maximum}`,\n ),\n }\n }\n }\n\n // minimum\n if (typeof def.minimum === 'number') {\n if ((value as number) < def.minimum) {\n return {\n success: false,\n error: new ValidationError(\n `${path} can not be less than ${def.minimum}`,\n ),\n }\n }\n }\n\n return { success: true, value }\n}\n\nfunction string(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexString\n\n // type\n if (typeof value === 'undefined') {\n if (typeof def.default === 'string') {\n return { success: true, value: def.default }\n }\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n } else if (typeof value !== 'string') {\n return {\n success: false,\n error: new ValidationError(`${path} must be a string`),\n }\n }\n\n // const\n if (typeof def.const === 'string') {\n if (value !== def.const) {\n return {\n success: false,\n error: new ValidationError(`${path} must be ${def.const}`),\n }\n }\n }\n\n // enum\n if (Array.isArray(def.enum)) {\n if (!def.enum.includes(value as string)) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must be one of (${def.enum.join('|')})`,\n ),\n }\n }\n }\n\n // maxLength and minLength\n if (typeof def.minLength === 'number' || typeof def.maxLength === 'number') {\n // If the JavaScript string length * 3 is below the maximum limit,\n // its UTF8 length (which <= .length * 3) will also be below.\n if (typeof def.minLength === 'number' && value.length * 3 < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be shorter than ${def.minLength} characters`,\n ),\n }\n }\n\n // If the JavaScript string length * 3 is within the maximum limit,\n // its UTF8 length (which <= .length * 3) will also be within.\n // When there's no minimal length, this lets us skip the UTF8 length check.\n let canSkipUtf8LenChecks = false\n if (\n typeof def.minLength === 'undefined' &&\n typeof def.maxLength === 'number' &&\n value.length * 3 <= def.maxLength\n ) {\n canSkipUtf8LenChecks = true\n }\n\n if (!canSkipUtf8LenChecks) {\n const len = utf8Len(value)\n\n if (typeof def.maxLength === 'number') {\n if (len > def.maxLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be longer than ${def.maxLength} characters`,\n ),\n }\n }\n }\n\n if (typeof def.minLength === 'number') {\n if (len < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be shorter than ${def.minLength} characters`,\n ),\n }\n }\n }\n }\n }\n\n // maxGraphemes and minGraphemes\n if (\n typeof def.maxGraphemes === 'number' ||\n typeof def.minGraphemes === 'number'\n ) {\n let needsMaxGraphemesCheck = false\n let needsMinGraphemesCheck = false\n\n if (typeof def.maxGraphemes === 'number') {\n if (value.length <= def.maxGraphemes) {\n // If the JavaScript string length (UTF-16) is within the maximum limit,\n // its grapheme length (which <= .length) will also be within.\n needsMaxGraphemesCheck = false\n } else {\n needsMaxGraphemesCheck = true\n }\n }\n\n if (typeof def.minGraphemes === 'number') {\n if (value.length < def.minGraphemes) {\n // If the JavaScript string length (UTF-16) is below the minimal limit,\n // its grapheme length (which <= .length) will also be below.\n // Fail early.\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be shorter than ${def.minGraphemes} graphemes`,\n ),\n }\n } else {\n needsMinGraphemesCheck = true\n }\n }\n\n if (needsMaxGraphemesCheck || needsMinGraphemesCheck) {\n const len = graphemeLen(value)\n\n if (typeof def.maxGraphemes === 'number') {\n if (len > def.maxGraphemes) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be longer than ${def.maxGraphemes} graphemes`,\n ),\n }\n }\n }\n\n if (typeof def.minGraphemes === 'number') {\n if (len < def.minGraphemes) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be shorter than ${def.minGraphemes} graphemes`,\n ),\n }\n }\n }\n }\n }\n\n if (typeof def.format === 'string') {\n switch (def.format) {\n case 'datetime':\n return formats.datetime(path, value)\n case 'uri':\n return formats.uri(path, value)\n case 'at-uri':\n return formats.atUri(path, value)\n case 'did':\n return formats.did(path, value)\n case 'handle':\n return formats.handle(path, value)\n case 'at-identifier':\n return formats.atIdentifier(path, value)\n case 'nsid':\n return formats.nsid(path, value)\n case 'cid':\n return formats.cid(path, value)\n case 'language':\n return formats.language(path, value)\n case 'tid':\n return formats.tid(path, value)\n case 'record-key':\n return formats.recordKey(path, value)\n }\n }\n\n return { success: true, value }\n}\n\nfunction bytes(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n def = def as LexBytes\n\n if (!value || !(value instanceof Uint8Array)) {\n return {\n success: false,\n error: new ValidationError(`${path} must be a byte array`),\n }\n }\n\n // maxLength\n if (typeof def.maxLength === 'number') {\n if (value.byteLength > def.maxLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be larger than ${def.maxLength} bytes`,\n ),\n }\n }\n }\n\n // minLength\n if (typeof def.minLength === 'number') {\n if (value.byteLength < def.minLength) {\n return {\n success: false,\n error: new ValidationError(\n `${path} must not be smaller than ${def.minLength} bytes`,\n ),\n }\n }\n }\n\n return { success: true, value }\n}\n\nfunction cidLink(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n if (CID.asCID(value) === null) {\n return {\n success: false,\n error: new ValidationError(`${path} must be a CID`),\n }\n }\n\n return { success: true, value }\n}\n\nfunction unknown(\n lexicons: Lexicons,\n path: string,\n def: LexUserType,\n value: unknown,\n): ValidationResult {\n // type\n if (!value || typeof value !== 'object') {\n return {\n success: false,\n error: new ValidationError(`${path} must be an object`),\n }\n }\n\n return { success: true, value }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../src/validators/xrpc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBA2CC;AA/CD,oCAA+E;AAC/E,uCAAiC;AACjC,kEAAmD;AAEnD,SAAgB,MAAM,CACpB,QAAkB,EAClB,IAAY,EACZ,GAAsB,EACtB,GAAY;IAEZ,OAAO;IACP,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAEjD,aAAa;IACb,IAAI,WAAW,GAAG,KAAgC,CAAA;IAClD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,OAAO;gBACtB,CAAC,CAAC,IAAA,eAAK,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACtE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClE,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,WAAW,CAAA;YACxD,mEAAmE;YACnE,IAAI,eAAe,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,uBAAe,CAAC,GAAG,IAAI,4BAA4B,GAAG,GAAG,CAAC;iBACtE,CAAA;YACH,CAAC;iBAAM,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,8FAA8F;YAC9F,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,qBAAqB;oBACrB,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;gBAC5B,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"xrpc.js","sourceRoot":"","sources":["../../src/validators/xrpc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBA2CC;AA/CD,oCAA+E;AAC/E,uCAAiC;AACjC,kEAAmD;AAEnD,SAAgB,MAAM,CACpB,QAAkB,EAClB,IAAY,EACZ,GAAsB,EACtB,GAAY;IAEZ,OAAO;IACP,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAEjD,aAAa;IACb,IAAI,WAAW,GAAG,KAAgC,CAAA;IAClD,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YACnC,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,OAAO;gBACtB,CAAC,CAAC,IAAA,eAAK,EAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3C,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;YACtE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAClE,MAAM,eAAe,GAAG,OAAO,SAAS,KAAK,WAAW,CAAA;YACxD,mEAAmE;YACnE,IAAI,eAAe,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,uBAAe,CAAC,GAAG,IAAI,4BAA4B,GAAG,GAAG,CAAC;iBACtE,CAAA;YACH,CAAC;iBAAM,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAClD,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,8FAA8F;YAC9F,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;oBAC1B,qBAAqB;oBACrB,WAAW,GAAG,EAAE,GAAG,KAAK,EAAE,CAAA;gBAC5B,CAAC;gBACD,WAAW,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAA;AAC9C,CAAC","sourcesContent":["import { Lexicons } from '../lexicons'\nimport { LexXrpcParameters, ValidationError, ValidationResult } from '../types'\nimport { array } from './complex'\nimport * as PrimitiveValidators from './primitives'\n\nexport function params(\n lexicons: Lexicons,\n path: string,\n def: LexXrpcParameters,\n val: unknown,\n): ValidationResult<Record<string, unknown>> {\n // type\n const value = val && typeof val === 'object' ? val : {}\n\n const requiredProps = new Set(def.required ?? [])\n\n // properties\n let resultValue = value as Record<string, unknown>\n if (typeof def.properties === 'object') {\n for (const key in def.properties) {\n const propDef = def.properties[key]\n const validated =\n propDef.type === 'array'\n ? array(lexicons, key, propDef, value[key])\n : PrimitiveValidators.validate(lexicons, key, propDef, value[key])\n const propValue = validated.success ? validated.value : value[key]\n const propIsUndefined = typeof propValue === 'undefined'\n // Return error for bad validation, giving required rule precedence\n if (propIsUndefined && requiredProps.has(key)) {\n return {\n success: false,\n error: new ValidationError(`${path} must have the property \"${key}\"`),\n }\n } else if (!propIsUndefined && !validated.success) {\n return validated\n }\n // Adjust value based on e.g. applied defaults, cloning shallowly if there was a changed value\n if (propValue !== value[key]) {\n if (resultValue === value) {\n // Lazy shallow clone\n resultValue = { ...value }\n }\n resultValue[key] = propValue\n }\n }\n }\n\n return { success: true, value: resultValue }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/lexicon",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "license": "MIT",
5
5
  "description": "atproto Lexicon schema language library",
6
6
  "keywords": [
@@ -19,7 +19,7 @@
19
19
  "iso-datestring-validator": "^2.2.2",
20
20
  "multiformats": "^9.9.0",
21
21
  "zod": "^3.23.8",
22
- "@atproto/common-web": "^0.4.2",
22
+ "@atproto/common-web": "^0.4.4",
23
23
  "@atproto/syntax": "^0.4.1"
24
24
  },
25
25
  "devDependencies": {
package/src/blob-refs.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import { z } from 'zod'
3
5
  import { check, ipldToJson, schema } from '@atproto/common-web'
@@ -55,21 +57,11 @@ export class BlobRef {
55
57
  }
56
58
  }
57
59
 
58
- ipld(): TypedJsonBlobRef {
59
- return {
60
- $type: 'blob',
61
- ref: this.ref,
62
- mimeType: this.mimeType,
63
- size: this.size,
64
- }
60
+ ipld(): JsonBlobRef {
61
+ return this.original
65
62
  }
66
63
 
67
64
  toJSON() {
68
- return ipldToJson(this.ipld()) as {
69
- $type: 'blob'
70
- ref: { $link: string }
71
- mimeType: string
72
- size: number
73
- }
65
+ return ipldToJson(this.ipld())
74
66
  }
75
67
  }
package/src/serialize.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { CID } from 'multiformats/cid'
2
4
  import {
3
5
  IpldValue,
@@ -8,17 +10,23 @@ import {
8
10
  } from '@atproto/common-web'
9
11
  import { BlobRef, jsonBlobRef } from './blob-refs'
10
12
 
11
- export type LexValue =
12
- | IpldValue
13
- | BlobRef
14
- | Array<LexValue>
15
- | { [key: string]: LexValue }
13
+ /**
14
+ * @note this is equivalent to `unknown` because of {@link IpldValue} being `unknown`.
15
+ * @deprecated Use {@link Lex} from `@atproto/lex-data` instead.
16
+ */
17
+ export type LexValue = unknown
16
18
 
19
+ /**
20
+ * @deprecated Use {@link TypedLexMap} from `@atproto/lex-data` instead.
21
+ */
17
22
  export type RepoRecord = Record<string, LexValue>
18
23
 
19
24
  // @NOTE avoiding use of check.is() here only because it makes
20
25
  // these implementations slow, and they often live in hot paths.
21
26
 
27
+ /**
28
+ * @deprecated Use `LexValue` from `@atproto/lex-data` instead (which doesn't need conversion to IPLD).
29
+ */
22
30
  export const lexToIpld = (val: LexValue): IpldValue => {
23
31
  // walk arrays
24
32
  if (Array.isArray(val)) {
@@ -45,6 +53,9 @@ export const lexToIpld = (val: LexValue): IpldValue => {
45
53
  return val
46
54
  }
47
55
 
56
+ /**
57
+ * @deprecated Use `LexValue` from `@atproto/lex-data` instead instead (which doesn't need conversion to IPLD).
58
+ */
48
59
  export const ipldToLex = (val: IpldValue): LexValue => {
49
60
  // map arrays
50
61
  if (Array.isArray(val)) {
package/src/types.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { z } from 'zod'
2
4
  import { validateLanguage } from '@atproto/common-web'
3
5
  import { isValidNsid } from '@atproto/syntax'
@@ -1,3 +1,5 @@
1
+ /* eslint-disable import/no-deprecated */
2
+
1
3
  import { isValidISODateString } from 'iso-datestring-validator'
2
4
  import { CID } from 'multiformats/cid'
3
5
  import { validateLanguage } from '@atproto/common-web'