lib0 0.2.115-1 → 0.2.115-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/coverage/tmp/{coverage-27668-1761218485882-0.json → coverage-32703-1763495370274-0.json} +1 -1
  2. package/delta/abstract.d.ts +2 -2
  3. package/delta/abstract.d.ts.map +1 -1
  4. package/delta/d2.d.ts +318 -112
  5. package/delta/d2.d.ts.map +1 -1
  6. package/delta/d2.js +837 -155
  7. package/delta/d2.test.d.ts +6 -1
  8. package/delta/d2.test.d.ts.map +1 -1
  9. package/delta/map.d.ts +19 -23
  10. package/delta/map.d.ts.map +1 -1
  11. package/delta/map.js +1 -1
  12. package/delta/node.d.ts +8 -10
  13. package/delta/node.d.ts.map +1 -1
  14. package/delta/ops.d.ts +26 -28
  15. package/delta/ops.d.ts.map +1 -1
  16. package/delta/t2.d.ts +184 -0
  17. package/delta/t2.d.ts.map +1 -0
  18. package/delta/t2.js +890 -0
  19. package/delta/t3.test.d.ts +19 -0
  20. package/delta/t3.test.d.ts.map +1 -0
  21. package/dist/aes-gcm.cjs +2 -2
  22. package/dist/binding.cjs +1 -1
  23. package/dist/{broadcastchannel-b4eaea6e.cjs → broadcastchannel-d0c108a2.cjs} +2 -2
  24. package/dist/{broadcastchannel-b4eaea6e.cjs.map → broadcastchannel-d0c108a2.cjs.map} +1 -1
  25. package/dist/broadcastchannel.cjs +4 -4
  26. package/dist/{buffer-adc4e6ea.cjs → buffer-7f6fa8fa.cjs} +3 -3
  27. package/dist/{buffer-adc4e6ea.cjs.map → buffer-7f6fa8fa.cjs.map} +1 -1
  28. package/dist/buffer.cjs +3 -3
  29. package/dist/component.cjs +1 -1
  30. package/dist/d2.cjs +845 -159
  31. package/dist/d2.cjs.map +1 -1
  32. package/dist/{decoding-50b9ce38.cjs → decoding-76e75827.cjs} +2 -2
  33. package/dist/{decoding-50b9ce38.cjs.map → decoding-76e75827.cjs.map} +1 -1
  34. package/dist/decoding.cjs +2 -2
  35. package/dist/delta/abstract.d.ts +2 -2
  36. package/dist/delta/abstract.d.ts.map +1 -1
  37. package/dist/delta/d2.d.ts +318 -112
  38. package/dist/delta/d2.d.ts.map +1 -1
  39. package/dist/delta/d2.test.d.ts +6 -1
  40. package/dist/delta/d2.test.d.ts.map +1 -1
  41. package/dist/delta/map.d.ts +19 -23
  42. package/dist/delta/map.d.ts.map +1 -1
  43. package/dist/delta/node.d.ts +8 -10
  44. package/dist/delta/node.d.ts.map +1 -1
  45. package/dist/delta/ops.d.ts +26 -28
  46. package/dist/delta/ops.d.ts.map +1 -1
  47. package/dist/delta/t2.d.ts +184 -0
  48. package/dist/delta/t2.d.ts.map +1 -0
  49. package/dist/delta/t3.test.d.ts +19 -0
  50. package/dist/delta/t3.test.d.ts.map +1 -0
  51. package/dist/{dom-2b123630.cjs → dom-f5047a64.cjs} +1 -1
  52. package/dist/{dom-2b123630.cjs.map → dom-f5047a64.cjs.map} +1 -1
  53. package/dist/dom.cjs +1 -1
  54. package/dist/{encoding-7f85922c.cjs → encoding-1a745c43.cjs} +10 -2
  55. package/dist/encoding-1a745c43.cjs.map +1 -0
  56. package/dist/encoding.cjs +1 -1
  57. package/dist/encoding.d.ts +5 -3
  58. package/dist/encoding.d.ts.map +1 -1
  59. package/dist/encoding.test.d.ts.map +1 -1
  60. package/dist/index.cjs +6 -6
  61. package/dist/jwt.cjs +3 -3
  62. package/dist/list.test.d.ts +1 -0
  63. package/dist/list.test.d.ts.map +1 -1
  64. package/dist/logging.cjs +1 -1
  65. package/dist/map.cjs +1 -1
  66. package/dist/map.cjs.map +1 -1
  67. package/dist/mutex.test.d.ts +3 -0
  68. package/dist/mutex.test.d.ts.map +1 -0
  69. package/dist/{prng-004c76e8.cjs → prng-99204216.cjs} +2 -2
  70. package/dist/{prng-004c76e8.cjs.map → prng-99204216.cjs.map} +1 -1
  71. package/dist/prng.cjs +4 -4
  72. package/dist/rabin-gf2-polynomial.cjs +3 -3
  73. package/dist/rabin-uncached.cjs +3 -3
  74. package/dist/rabin.cjs +3 -3
  75. package/dist/schema.cjs +72 -11
  76. package/dist/schema.cjs.map +1 -1
  77. package/dist/schema.d.ts +21 -13
  78. package/dist/schema.d.ts.map +1 -1
  79. package/dist/schema.test.d.ts +2 -0
  80. package/dist/schema.test.d.ts.map +1 -1
  81. package/dist/t2.cjs +932 -0
  82. package/dist/t2.cjs.map +1 -0
  83. package/dist/testing.cjs +4 -4
  84. package/encoding.d.ts +5 -3
  85. package/encoding.d.ts.map +1 -1
  86. package/encoding.js +9 -1
  87. package/encoding.test.d.ts.map +1 -1
  88. package/list.test.d.ts +1 -0
  89. package/list.test.d.ts.map +1 -1
  90. package/mutex.test.d.ts +3 -0
  91. package/mutex.test.d.ts.map +1 -0
  92. package/package.json +1 -1
  93. package/schema.d.ts +21 -13
  94. package/schema.d.ts.map +1 -1
  95. package/schema.js +68 -11
  96. package/schema.test.d.ts +2 -0
  97. package/schema.test.d.ts.map +1 -1
  98. package/test.js +3 -1
  99. package/coverage/tmp/coverage-27667-1761218530660-0.json +0 -1
  100. package/dist/encoding-7f85922c.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"t2.cjs","sources":["../delta/t2.js"],"sourcesContent":["/* eslint-disable */\n// @ts-nocheck\nimport * as delta from './d2.js'\nimport * as s from '../schema.js'\nimport * as error from '../error.js'\n\n/**\n * Creates a transformer template after receiving schema for DeltaA.\n *\n * @template {delta.DeltaAny} DeltaA\n * @typedef {<DA extends DeltaA> ($deltaA: s.Schema<DA>) => Template<any,DA,any>} TransformerFactory\n */\n\n/**\n * @template {TransformerFactory<any>} T\n * @template {delta.DeltaAny} DeltaA\n * @typedef {T extends (($deltaA: s.Schema<DeltaA>) => Template<any,DeltaA,infer DeltaB>) ? DeltaB : never } DeltaBFromTransformerFactory\n */\n\n/**\n * @template {delta.DeltaAny|null} [DeltaA=delta.DeltaAny|null]\n * @template {delta.DeltaAny|null} [DeltaB=delta.DeltaAny|null]\n * @typedef {{ a: DeltaA, b: DeltaB }} TransformResult\n */\n\n/**\n * @template {s.Unwrap<delta.$delta>|null} DeltaA\n * @template {s.Unwrap<delta.$delta>|null} DeltaB\n * @param {DeltaA} a\n * @param {DeltaB} b\n * @return {TransformResult<DeltaA,DeltaB>}\n */\nexport const transformResult = (a, b) => ({ a, b })\nexport const transformResultEmpty = transformResult(null, null)\n\n/**\n * @template {any} State\n * @template {delta.DeltaAny} DeltaA\n * @template {delta.DeltaAny} DeltaB\n * @typedef {object} TransformerDef\n * @property {s.Schema<DeltaA>} TransformerDef.$in\n * @property {s.Schema<DeltaB>} TransformerDef.$out\n * @property {function (this: Template<State,DeltaA,DeltaB>): State} TransformerDef.state\n * @property {(deltaIn:NoInfer<DeltaA>,s:NoInfer<State>) => TransformResult<NoInfer<DeltaA>?,NoInfer<DeltaB>?>} TransformerDef.applyA\n * @property {(deltaOut:NoInfer<DeltaB>,s:NoInfer<State>) => TransformResult<NoInfer<DeltaA>?,NoInfer<DeltaB>?>} TransformerDef.applyB\n */\n\n/**\n * A Delta Transformer ensures that it keeps two sources A and B in-sync, even if they use a\n * different update format.\n *\n * @template {any} State\n * @template {delta.DeltaAny} DeltaA\n * @template {delta.DeltaAny} DeltaB\n */\nexport class Transformer {\n /**\n * @param {Template<State,DeltaA,DeltaB>} t\n * @param {State} s\n */\n constructor (t, s) {\n this.t = t\n this._state = s\n /**\n * Pending a op, for internal use only\n * @type {DeltaA?}\n */\n this._pa = null\n /**\n * Pending a op, for internal use only\n * @type {DeltaB?}\n */\n this._pb = null\n /**\n * Whether this transformer value has been initially consumebd by the parent transformer.\n */\n this._init = false\n /**\n * @type {Transformer<any,any,any>?}\n */\n this.parent = null\n }\n\n /**\n * @param {DeltaA} deltaA\n * @return {TransformResult<DeltaA?,DeltaB?>}\n */\n applyA (deltaA) {\n return this.t._applyA(deltaA, this._state)\n }\n\n /**\n * @param {DeltaB} deltaB\n * @return {TransformResult<DeltaA?,DeltaB?>}\n */\n applyB (deltaB) {\n return this.t._applyB(deltaB, this._state)\n }\n}\n\n/**\n * @param {Array<Transformer<any,delta.DeltaAny,delta.DeltaAny>>} trs\n * @param {TransformResult} output\n * @return {boolean}\n */\nconst _forwardPipe = (trs, output) => {\n let again = false\n for (let i = 0; i < trs.length; i++) {\n const tr = trs[i]\n if (tr._pa === null) continue\n const { a, b } = tr.applyA(tr._pa)\n tr._pa = null\n if (a !== null) {\n if (i === 0) {\n output.a = delta.mergeDeltas(output.a, a)\n } else {\n // need to interate back to integrate the produced backwards-change\n again = true\n trs[i - 1]._pb = a\n }\n }\n if (b !== null) {\n if (i === trs.length - 1) {\n output.b = delta.mergeDeltas(output.b, b)\n } else {\n trs[i + 1]._pa = b\n }\n }\n }\n return again\n}\n\n/**\n * @param {Array<Transformer<any,delta.DeltaAny,delta.DeltaAny>>} trs\n * @param {TransformResult} output\n * @return {boolean}\n */\nconst _backwardPipe = (trs, output) => {\n let again = false\n for (let i = trs.length - 1; i >= 0; i--) {\n const tr = trs[i]\n if (tr._pb === null) continue\n const { a, b } = tr.applyA(tr._pb)\n tr._pb = null\n if (a !== null) {\n if (i === 0) {\n output.a = delta.mergeDeltas(output.a, a)\n } else {\n // need to interate back to integrate the produced backwards-change\n trs[i - 1]._pb = a\n }\n }\n if (b !== null) {\n if (i === trs.length - 1) {\n output.b = delta.mergeDeltas(output.b, b)\n } else {\n // need to interate back to integrate the produced backwards-change\n again = true\n trs[i + 1]._pa = a\n }\n }\n }\n return again\n}\n\n/**\n * @template State\n * @template {delta.DeltaAny} DeltaA\n * @template {delta.DeltaAny} DeltaB\n */\nexport class Template {\n /**\n * @param {TransformerDef<State,DeltaA,DeltaB>} def\n */\n constructor ({ $in, $out, state, applyA, applyB }) {\n /**\n * @type {s.Schema<DeltaA>}\n */\n this.$in = $in\n /**\n * @type {s.Schema<DeltaB>}\n */\n this.$out = $out\n /**\n * @type {() => State}\n */\n this._state = state\n /**\n * @type {typeof applyA}\n */\n this._applyA = applyA\n /**\n * @type {typeof applyB}\n */\n this._applyB = applyB\n /**\n * Cache for stateless transformers.\n *\n * @type {Transformer<State,DeltaA,DeltaB>?}\n */\n this._tr = null\n }\n\n /**\n * @template {delta.DeltaAny} R\n * @param {($d: s.Schema<DeltaB>) => Template<any,DeltaB,R>} t\n * @return {Template<any,DeltaA,R>}\n */\n pipe (t) {\n /**\n * @type {TransformerPipeTemplate<any,any>}\n */\n const tpipe = new TransformerPipeTemplate()\n tpipe.templates.push(this, t(this.$out))\n return tpipe\n }\n\n init () {\n if (this._tr != null) return this._tr\n // reuse stateless transformers\n const s = this._state()\n if (s === null) {\n return (this._tr = new Transformer(this, s))\n }\n return new Transformer(this, s)\n }\n}\n\n/**\n * @template {delta.DeltaAny} DeltaA\n * @template {delta.DeltaAny} DeltaB\n * @param {s.Schema<DeltaA>} $deltaA\n * @param {s.Schema<DeltaB>} $deltaB\n * @return {s.Schema<Template<any,DeltaA,DeltaB>>}\n */\nexport const $template = ($deltaA, $deltaB) => /** @type {s.Schema<Template<any,any,any>>} */ (s.$instanceOf(Template, o => o.$in.extends($deltaA) && o.$out.extends($deltaB)))\nexport const $templateAny = /** @type {s.Schema<Template<any,any,any>>} */ (s.$instanceOf(Template))\n\n/**\n * @template {delta.DeltaAny} DeltaA\n * @template {delta.DeltaAny} DeltaB\n * @typedef {Template<any,DeltaA,DeltaB>|(\n * DeltaB extends delta.Map<infer MKV>\n * ? (MKV|DeltaB)\n * : (DeltaB extends delta.Array<infer MArr> ? (MArr|DeltaB) : DeltaB))\n * } MaybeFixedTemplate\n */\n\n/**\n * @template X\n * @typedef {X extends Template<any,any,infer D> ? (D extends delta.Value<infer V> ? V : D) : X} UnwrapTemplateForArray\n */\n\n/**\n * @template {any} MaybeFixed\n * @typedef {MaybeFixed extends Template<any,any,any>\n * ? MaybeFixed\n * : Template<any,any,\n * MaybeFixed extends delta.AbstractDelta\n * ? MaybeFixed\n * : (MaybeFixed extends Array<any>\n * ? delta.Array<UnwrapTemplateForArray<MaybeFixed[number]>>\n * : (MaybeFixed extends {[key:string]:any} ? delta.Map<MaybeFixed> : never))\n * >\n * } MaybeFixedTemplateToTemplate\n */\n\n/**\n * @template MaybeFixed\n * @param {MaybeFixed} maybeFixed\n * @return {MaybeFixed extends Template<any,any,delta.Delta> ? (Extract<MaybeFixed,Template<any,any,any>>) : Template<any,any,MaybeFixed extends delta.Delta ? Extract<MaybeFixed,delta.Delta> : delta.Array<MaybeFixed[keyof MaybeFixed]>>}\n */\nexport const maybeFixedToTemplate = maybeFixed => $templateAny.check(maybeFixed)\n ? /** @type {any} */ (maybeFixed)\n : (delta.$delta.check(maybeFixed)\n ? /** @type {any} */ (fixed(maybeFixed))\n : (s.$arrayAny.check(maybeFixed)\n ? /** @type {any} */ (fixed(delta.array().insert(maybeFixed).done()))\n : (s.$objectAny.check(maybeFixed) ? /** @type {any} */ (fixed(delta.map().setMany(maybeFixed).done())) : error.unexpectedCase())\n )\n )\n\n/**\n * @template {delta.AbstractDelta} DeltaA\n * @template {Template<any,DeltaA,any>} Tr\n * @param {s.Schema<DeltaA>} _$deltaA\n * @param {Tr} transformer\n * @return {<DA extends DeltaA>($d:s.Schema<DA>) => Tr extends Template<any,any,infer DeltaB> ? Template<any,DA,DeltaB> : never}\n */\nexport const transformStatic = (_$deltaA, transformer) => () => /** @type {any} */ (transformer)\n\n/**\n * @template {delta.AbstractDelta} DeltaA\n * @template {<DA extends DeltaA> ($deltaA: s.Schema<DA>) => Template<any,DA,any>} TF\n * @param {s.Schema<DeltaA>} _$deltaA\n * @param {TF} transformerFactory\n * @return {TF}\n */\nexport const transform = (_$deltaA, transformerFactory) => transformerFactory\n\n/**\n * @type {TransformerDef<any,any,any>}\n */\nconst pipeTemplateDef = {\n $in: s.$any,\n $out: s.$any,\n state: function () { return /** @type {TransformerPipeTemplate<any,any>} */ (/** @type {unknown} */ (this)).templates.map(t => t.init()) },\n applyA: (dchange, trs) => {\n const output = transformResult(null, null)\n let again = true\n trs[0]._pa = dchange\n while (again) {\n // apply forwards\n again = _forwardPipe(trs, output)\n // iterate back\n if (again) {\n again = _backwardPipe(trs, output)\n }\n }\n return output\n },\n applyB: (dchange, trs) => {\n const output = transformResult(null, null)\n let again = true\n trs[trs.length - 1]._pb = dchange\n while (again) {\n // iterate back\n again = _backwardPipe(trs, output)\n // apply forwards\n if (again) {\n again = _forwardPipe(trs, output)\n }\n }\n return output\n }\n}\n\n/**\n * @todo just have something like \"previousTemplate\" to implement pipe. This can be assembled when\n * init the template.\n * @template {s.Unwrap<typeof delta.$delta>} DeltaA\n * @template {s.Unwrap<typeof delta.$delta>} DeltaB\n * @extends {Template<any,DeltaA,DeltaB>}\n */\nclass TransformerPipeTemplate extends Template {\n constructor () {\n super(pipeTemplateDef)\n /**\n * @type {Array<Template<any,DeltaA,DeltaB>>}\n */\n this.templates = []\n }\n\n /**\n * @template {delta.AbstractDelta} R\n * @param {($d: s.Schema<DeltaB>) => Template<any,DeltaB,R>} t\n * @return {Template<any,DeltaA,R>}\n */\n pipe (t) {\n /**\n * @type {TransformerPipeTemplate<any,any>}\n */\n const tpipe = new TransformerPipeTemplate()\n tpipe.templates = this.templates.slice()\n tpipe.templates.push(t(this.$out))\n return /** @type {any} */ (tpipe)\n }\n}\n\n/**\n * @template {delta.AbstractDelta} DeltaA\n * @template {delta.AbstractDelta} DeltaB\n * @template {delta.AbstractDelta} DeltaC\n * @param {($s: s.Schema<DeltaA>) => Template<any,DeltaA,DeltaB>} t1\n * @param {($s: s.Schema<DeltaB>) => Template<any,DeltaB,DeltaC>} t2\n * @return {($d: s.Schema<DeltaA>) => Template<any,DeltaA,DeltaC>}\n */\nexport const pipe = (t1, t2) => ($d) => {\n /**\n * @type {TransformerPipeTemplate<any,any>}\n */\n const tpipe = new TransformerPipeTemplate()\n const t1t = t1($d)\n tpipe.templates.push(t1t, t2(t1t.$out))\n return tpipe\n}\n\n/**\n * @template {any} State\n * @template {s.Unwrap<typeof delta.$delta>} DeltaIn\n * @template {s.Unwrap<typeof delta.$delta>} DeltaOut\n * @param {TransformerDef<State,DeltaIn,DeltaOut>} def\n * @return {Template<State,DeltaIn,DeltaOut>}\n */\nexport const template = def => new Template(/** @type {any} */ (def))\n\n/**\n * @template FixedContent\n * @param {FixedContent} fixedContent\n * @return {Template<any,any,FixedContent extends delta.AbstractDelta ? FixedContent : delta.Value<FixedContent>>}\n */\nexport const fixed = fixedContent => {\n const staticDelta = delta.$delta.check(fixedContent) ? fixedContent : delta.value().set(fixedContent).done()\n return template({\n $in: s.$any,\n $out: s.$any,\n state: () => ({ e: false }),\n applyA: (_d, s) => {\n if (!s.e) {\n s.e = true\n return transformResult(null, staticDelta)\n }\n return transformResultEmpty\n },\n applyB: () => {\n // @todo should reverse the change and give back\n error.unexpectedCase()\n }\n })\n}\n\n/**\n * @template MaybeTemplate\n * @typedef {[MaybeTemplate] extends [Template<any,any,any>] ? MaybeTemplate : Template<any,any,\n * [MaybeTemplate] extends [delta.AbstractDelta] ? MaybeTemplate : delta.Value<MaybeTemplate>\n * >} AnyToTemplate\n */\n\n/**\n * @template {{ [key: string]: any }} MaybeTemplateMap\n * @typedef {{ [K in keyof MaybeTemplateMap]: AnyToTemplate<MaybeTemplateMap[K]> }} AnyMapToTemplate\n */\n\n/**\n * @template {Array<any>} MaybeTemplateArray\n * @typedef {{ [K in keyof MaybeTemplateArray]: AnyToTemplate<MaybeTemplateArray[K]> }} AnyArrayToTemplate\n */\n\n/**\n * @template {{ [key:string]: any }} T\n * @typedef {Template<\n * any,\n * AnyMapToTemplate<T>[keyof T] extends Template<any, infer DeltaA,any> ? DeltaA : never,\n * delta.Map<{ [K in keyof T]: AnyToTemplate<T[K]> extends Template<any, any, infer DeltaB>\n * ? (DeltaB extends delta.Value<infer V> ? V : DeltaB) : AnyToTemplate<T[K]> }>\n * >} MapDefToTemplate\n */\n\n/**\n * @template {{ [key:string]: any }} T\n * @param {T} definition\n * @return {MapDefToTemplate<T> extends Template<any,infer A,infer B> ? Template<any,A,B> : never}\n */\nexport const map = (definition) => {\n /**\n * @type {{ [key:string]: Template<any,any,any> }}\n */\n const def = {}\n for (const key in definition) {\n const d = definition[key]\n def[key] = $templateAny.check(d) ? d : fixed(d)\n }\n return template({\n $in: s.$any,\n $out: s.$any,\n state: () => {\n const mapState = /** @type {{ [key: string]: Transformer<any,any,any> }} */ ({})\n for (const key in def) {\n mapState[key] = def[key].init()\n }\n return /** @type {{ [key in keyof T]: T extends Template<any,infer SDIn, infer SDOut> ? Transformer<any, SDIn, SDOut>: never }} */ (mapState)\n },\n applyA: (d, state) => {\n return _applyMapOpHelper(state, [{ d, src: null }])\n },\n applyB: (d, state) => {\n s.assert(d, delta.$mapAny)\n /**\n * @type {Array<{ d: delta.AbstractDelta, src: Transformer<any,any,any>? }>}\n */\n const reverseAChanges = []\n d.forEach(op => {\n if (delta.$deleteOp.check(op)) {\n error.unexpectedCase()\n }\n const src = state[op.key]\n // src expects a delta value\n const res = src.applyB(delta.$modifyOp.check(op) ? delta.value().modify(op.value) : delta.value().set(op.value))\n src._pa = res.a\n src._pb = res.b\n if (res.a != null) {\n reverseAChanges.push({ d: res.a, src })\n }\n })\n return _applyMapOpHelper(state, reverseAChanges)\n }\n })\n}\n\n/**\n * @param {{ [key: string]: Transformer<any, any, any> }} state\n * @param {Array<{ d: delta.AbstractDelta, src: Transformer<any,any,any>? }>} reverseAChanges\n * @return {TransformResult<delta.AbstractDelta?,delta.Map<any>?>}\n */\nconst _applyMapOpHelper = (state, reverseAChanges) => {\n /**\n * @type {TransformResult<delta.AbstractDelta?,delta.Map<any>?>}\n */\n const applyResult = transformResult(null, null)\n while (reverseAChanges.length > 0) {\n /**\n * @type {Array<{ d: delta.AbstractDelta, src: Transformer<any,any,any>? }>}\n */\n let nextReverseAChanges = []\n for (const key in state) {\n const s = state[key]\n let transformPriority = false // false until own is found\n for (let i = 0; i < reverseAChanges.length; i++) {\n // changes are applied in reverseAChanges order.\n // rebase against all concurrent (the op stored on transformer), then apply\n const r = reverseAChanges[i]\n if (r.src === s) {\n transformPriority = true // own has less priority, concurrent is applied with higher prio\n continue // don't apply own\n }\n let rd = r.d\n if (s._pa != null) {\n rd = rd.clone()\n rd.rebase(s._pa, transformPriority)\n }\n const res = s.applyA(rd)\n s._pa = res.a\n s._pb = delta.mergeDeltas(s._pb, res.b)\n if (res.a != null) {\n nextReverseAChanges.push({ d: res.a, src: s })\n }\n }\n }\n // merge changes for output\n for (let i = 0; i < reverseAChanges.length; i++) {\n const rc = reverseAChanges[i]\n if (rc.src != null) { // don't apply received deltas\n applyResult.a = delta.mergeDeltas(applyResult.a, rc.d)\n }\n }\n reverseAChanges = nextReverseAChanges\n nextReverseAChanges = []\n }\n // accumulate b changes stored on transformers\n const bRes = delta.map()\n for (const key in state) {\n const s = state[key]\n if (s._pb) {\n if (s._init) {\n bRes.modify(key, s._pb)\n } else {\n s._init = true\n bRes.set(key, s._pb)\n }\n }\n }\n if (bRes._changes.size > 0) {\n // opt values (iff delta is of type DeltaValue, map the change to the map)\n bRes._changes.forEach((change, key) => {\n if (delta.$valueAny.check(change.value)) {\n const changeOp = change.value.change\n if (delta.$insertOp.check(changeOp) || delta.$modifyOp.check(changeOp)) {\n bRes.set(key, changeOp.value)\n } else if (delta.$deleteOp.check(changeOp)) {\n bRes.delete(key)\n } else {\n error.unexpectedCase()\n }\n }\n })\n applyResult.b = bRes\n }\n return applyResult\n}\n\n/**\n * @todo This is similar to dt.map. Consider the similarities and try to merge them.\n *\n * @template {Array<any>} T\n * @param {T} definition\n * @return {Template<\n * any,\n * AnyArrayToTemplate<T>[number] extends Template<any, infer DeltaA, any> ? DeltaA : never,\n * delta.Array<AnyArrayToTemplate<T>[number] extends Template<any, any, infer DeltaB> ? delta.ValueUnwrap<DeltaB> : never>\n * >}\n */\nexport const array = (definition) => {\n /**\n * @type {Array<Template<any,any,any>>}\n */\n const def = []\n for (let i = 0; i < definition.length; i++) {\n const d = definition[i]\n def[i] = $templateAny.check(d) ? d : fixed(d)\n }\n return /** @type {any} */ (template({\n $in: s.$any,\n $out: delta.$arrayAny,\n state: () => {\n const arrState = /** @type {Transformer<any,any,any>[]} */ ([])\n for (let i = 0; i < def.length; i++) {\n arrState[i] = def[i].init()\n }\n return /** @type {(T extends Template<any,infer SDIn, infer SDOut> ? Transformer<any, SDIn, SDOut>: never)[]} */ (arrState)\n },\n applyA: (d, state) => {\n return _applyArrayOpHelper(state, [{ d, src: null }])\n },\n applyB: (d, state) => {\n s.assert(d, delta.$arrayAny)\n /**\n * @type {Array<{ d: delta.AbstractDelta, src: Transformer<any,any,any>? }>}\n */\n const reverseAChanges = []\n d.forEach((op, index) => {\n if (delta.$deleteOp.check(op) || delta.$insertOp.check(op)) {\n error.unexpectedCase()\n } else if (delta.$modifyOp.check(op)) {\n const src = state[index]\n const res = src.applyB(op.modify)\n src._pa = res.a\n src._pb = res.b\n if (res.a != null) {\n reverseAChanges.push({ d: res.a, src })\n }\n }\n })\n return _applyArrayOpHelper(state, reverseAChanges)\n }\n }))\n}\n\n/**\n * @param {Transformer<any, any, any>[]} state\n * @param {Array<{ d: delta.AbstractDelta, src: Transformer<any,any,any>? }>} reverseAChanges\n * @return {TransformResult<delta.AbstractDelta?,delta.Array<any>?>}\n */\nconst _applyArrayOpHelper = (state, reverseAChanges) => {\n /**\n * @type {TransformResult<delta.AbstractDelta?,delta.Array<any>?>}\n */\n const applyResult = transformResult(null, null)\n while (reverseAChanges.length > 0) {\n /**\n * @type {Array<{ d: delta.AbstractDelta, src: Transformer<any,any,any>? }>}\n */\n let nextReverseAChanges = []\n for (let i = 0; i < state.length; i++) {\n const s = state[i]\n let transformPriority = false // false until own is found\n for (let i = 0; i < reverseAChanges.length; i++) {\n // changes are applied in reverseAChanges order.\n // rebase against all concurrent (the op stored on transformer), then apply\n const r = reverseAChanges[i]\n if (r.src === s) {\n transformPriority = true // own has less priority, concurrent is applied with higher prio\n continue // don't apply own\n }\n let rd = r.d\n if (s._pa != null) {\n rd = rd.clone()\n rd.rebase(s._pa, transformPriority)\n }\n const res = s.applyA(rd)\n s._pa = res.a\n s._pb = delta.mergeDeltas(s._pb, res.b)\n if (res.a != null) {\n nextReverseAChanges.push({ d: res.a, src: s })\n }\n }\n }\n // merge changes for output\n for (let i = 0; i < nextReverseAChanges.length; i++) {\n applyResult.a = delta.mergeDeltas(applyResult.a, nextReverseAChanges[i].d)\n }\n reverseAChanges = nextReverseAChanges\n nextReverseAChanges = []\n }\n // accumulate b changes stored on transformers\n const bRes = delta.array()\n let performedChange = false\n for (let i = 0; i < state.length; i++) {\n const s = state[i]\n let spb = s._pb\n if (spb) {\n if (delta.$valueAny.check(spb)) {\n spb = spb.get()\n }\n if (s._init) {\n bRes.modify(spb)\n } else {\n s._init = true\n bRes.insert([spb])\n }\n performedChange = true\n } else {\n bRes.retain(1)\n }\n }\n if (performedChange) {\n applyResult.b = bRes.done()\n }\n return applyResult\n}\n\n/**\n * @param {TransformResult<delta.AbstractDelta?, delta.Node<any,any,any>>} res\n * @param {{ attrs: Transformer<any,any,any>, children: Transformer<any,any,any> }} state\n * @param {delta.AbstractDelta?} nextAAttrs apply this in reverse!\n * @param {delta.AbstractDelta?} nextAChildren\n */\nconst _nodeApplyA = (res, state, nextAAttrs, nextAChildren) => {\n while (nextAAttrs != null || nextAChildren != null) {\n const resChildren = nextAChildren && state.children.applyA(nextAChildren)\n const resAttrs = (nextAAttrs || resChildren?.a) ? state.attrs.applyA(delta.mergeDeltas(nextAAttrs, resChildren?.a)) : null\n nextAChildren = resAttrs?.a\n nextAAttrs = null\n res.a = delta.mergeDeltas(delta.mergeDeltas(res.a, resChildren?.a), resAttrs?.a)\n resChildren?.b && res.b.children.apply(resChildren.b)\n resAttrs?.b && res.b.attributes.apply(resAttrs.b)\n }\n}\n\n/**\n * @template {{ [key:string]: any } | Template<any,any,delta.Map<any>>} T\n * @typedef {T extends Template<any,any,any> ? T : MapDefToTemplate<T>} MapOrMapDefToTemplate\n */\n\n/**\n * @template {string} NodeName\n * @template {{ [key:string]:any } | Template<any,any,delta.Map<{[key:string]:any}>>} Attrs - accepts map or map definition\n * @template {Template<any,any,delta.Array<any,any>> | Array<any>} Children\n * @param {NodeName} name\n * @param {Attrs} attributes\n * @param {Children} children\n * @return {Template<\n * any,\n * MapOrMapDefToTemplate<Attrs> extends Template<any, infer A, any> ? A : never,\n * delta.Node<\n * NodeName,\n * MapOrMapDefToTemplate<Attrs> extends Template<any,any,delta.Map<infer M>> ? M : never,\n * MaybeFixedTemplateToTemplate<Children> extends Template<any,any,delta.Array<infer BChildren,any>> ? BChildren : never,\n * any\n * >\n * >}\n */\nexport const node = (name, attributes, children) => {\n const attrs = /** @type {Template<any,any,delta.Map<any>>} */ ($templateAny.check(attributes) ? attributes : map(attributes))\n const childs = /** @type {Template<any,any,delta.Array<any>>} */ (maybeFixedToTemplate(children))\n // @todo this should be properly inferred\n return /** @type {any} */ (template({\n $in: s.$any,\n $out: delta.$node(s.$literal(name), s.$any, s.$any),\n state: () => ({\n attrs: attrs.init(),\n children: childs.init()\n }),\n applyA: (d, state) => {\n const res = transformResult(null, /** @type {delta.Node<NodeName,any,any,any>} */ (delta.node(name)))\n _nodeApplyA(res, state, d, d)\n return res\n },\n applyB: (d, state) => {\n s.assert(d, delta.$nodeAny)\n const res = transformResult(null, /** @type {delta.Node<NodeName,any,any,any>} */ (delta.node(name)))\n const childrenRes = d.children.ops.length === 0 ? transformResultEmpty : state.children.applyB(/** @type {delta.Array<any,any>} */(d.children))\n const attrsRes = d.attributes._changes.size === 0 ? transformResultEmpty : state.attrs.applyB(d.attributes)\n attrsRes.b && res.b.attributes.apply(attrsRes.b)\n childrenRes.b && res.b.children.apply(/** @type {delta.Array<any,false>} */ (childrenRes.b))\n res.a = delta.mergeDeltas(attrsRes.a, childrenRes.a)\n _nodeApplyA(res, state, childrenRes.a, attrsRes.a)\n return res\n }\n }))\n}\n\n/**\n * @template {{[k:string]:any}} KV\n * @typedef {delta.Map<KV> | delta.Node<any,KV,any,any>} _FollowPath\n */\n\n/**\n * @template {any} D\n * @template {string[]} Path\n * @typedef {Path extends []\n * ? D\n * : Path extends [infer P, ...infer PRest]\n * ? (\n * P extends string ? (D extends _AttrDeltaType<{ [K in P]: infer V }> ? QueryFollowPath<V,PRest extends string[] ? PRest : never> : never) : never\n * )\n * : never\n * } QueryFollowPath\n */\n\n/**\n * @template {{[k:string]:any}} Attrs\n * @typedef {delta.Map<Partial<Attrs>> | delta.Node<any,Partial<Attrs>,any,any>} _AttrDeltaType\n */\n\n/**\n * @template {Array<string>} Path\n * @typedef {Path extends [infer P, ...infer PRest] ? (_AttrDeltaType<{ [K in (P extends string ? P : any)]: PathToDelta<PRest extends Array<string> ? PRest : any> }>) : any} PathToDelta\n */\n\n/**\n * @template {Array<string>} Path\n * @param {Path} path\n * @return {<DA extends PathToDelta<Path>>($in: s.Schema<DA>) => Template<any, DA, delta.Value<QueryFollowPath<DA,Path>>>}\n */\nexport const query = (...path) => transformStatic(s.$any, template({\n $in: delta.$delta,\n $out: delta.$valueAny,\n state: () => null,\n applyA: d => {\n d = delta.$nodeAny.check(d) ? d.attributes : d\n let cd = /** @type {delta.Map<any>?} */ (delta.$mapAny.cast(d))\n let overwritten = false\n for (let i = 0; i < path.length && cd != null; i++) {\n if (delta.$mapAny.check(cd)) {\n const c = cd.get(path[i])\n if (delta.$insertOp.check(c)) {\n overwritten = true\n cd = c.value\n } else if (delta.$deleteOp.check(c)) {\n overwritten = true\n cd = null\n break\n } else if (delta.$modifyOp.check(c)) {\n cd = c.value\n }\n } else {\n cd = null\n }\n }\n const dv = delta.value()\n if (overwritten) {\n // @todo implement some kind of \"ValueDelta\" with insert, delete, modify ops. dmap is supposed\n // to automatically translate this.\n if (cd == null) {\n dv.delete()\n } else {\n dv.set(cd)\n }\n } else {\n dv.modify(cd)\n }\n return transformResult(null, dv)\n },\n applyB: (d) => {\n const dop = d.change\n let resD = delta.map()\n let i = path.length - 1\n const p = path[i]\n if (delta.$modifyOp.check(dop)) {\n resD.modify(p, dop.value)\n } else if (delta.$insertOp.check(dop)) {\n resD.set(p, dop.value)\n } else if (delta.$deleteOp.check(dop)) {\n resD.delete(p)\n }\n for (i--; i >= 0; i--) {\n const tmpDmap = delta.map()\n tmpDmap.modify(p, resD)\n resD = tmpDmap\n }\n return /** @type {TransformResult<any,null>} */ (transformResult(resD, null))\n }\n}))\n\n/**\n * @template {delta.AbstractDelta} Delta\n * @param {s.Schema<Delta>} $in\n * @return {Template<null,Delta,Delta>}\n */\nexport const id = $in => template({\n $in,\n $out: $in,\n state: () => null,\n applyA: d => {\n return transformResult(null, d)\n },\n applyB: d => {\n return transformResult(d, null)\n }\n})\n"],"names":["delta.mergeDeltas","s.$instanceOf","delta.$delta","s.$arrayAny","delta.array","s.$objectAny","delta.map","error.unexpectedCase","s.$any","delta.value","s.assert","delta.$mapAny","delta.$deleteOp","delta.$modifyOp","delta.$valueAny.check","delta.$insertOp","delta.$arrayAny","delta.$node","s.$literal","delta.node","delta.$nodeAny","delta.$valueAny","delta.$nodeAny.check","delta.$mapAny.cast","delta.$mapAny.check"],"mappings":"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"}
package/dist/testing.cjs CHANGED
@@ -8,7 +8,7 @@ var object = require('./object-18980796.cjs');
8
8
  var string = require('./string-fddc5f8b.cjs');
9
9
  var math = require('./math-96d5e8c4.cjs');
10
10
  var random = require('./random.cjs');
11
- var prng = require('./prng-004c76e8.cjs');
11
+ var prng = require('./prng-99204216.cjs');
12
12
  var statistics = require('./statistics-65f6114b.cjs');
13
13
  var array = require('./array-78849c95.cjs');
14
14
  var environment = require('./environment-90227ead.cjs');
@@ -20,10 +20,10 @@ var traits = require('./traits.cjs');
20
20
  require('./function-e7d18feb.cjs');
21
21
  require('./binary-ac8e39e2.cjs');
22
22
  require('lib0/webcrypto');
23
- require('./buffer-adc4e6ea.cjs');
24
- require('./encoding-7f85922c.cjs');
23
+ require('./buffer-7f6fa8fa.cjs');
24
+ require('./encoding-1a745c43.cjs');
25
25
  require('./number-1fb57bba.cjs');
26
- require('./decoding-50b9ce38.cjs');
26
+ require('./decoding-76e75827.cjs');
27
27
  require('./error-0c1f634f.cjs');
28
28
  require('./set-5b47859e.cjs');
29
29
  require('./map-24d263c0.cjs');
package/encoding.d.ts CHANGED
@@ -39,9 +39,7 @@ export function writeFloat32(encoder: Encoder, num: number): void;
39
39
  export function writeFloat64(encoder: Encoder, num: number): void;
40
40
  export function writeBigInt64(encoder: Encoder, num: bigint): any;
41
41
  export function writeBigUint64(encoder: Encoder, num: bigint): any;
42
- export function writeAny(encoder: Encoder, data: undefined | null | number | bigint | boolean | string | {
43
- [x: string]: any;
44
- } | Array<any> | Uint8Array): void;
42
+ export function writeAny(encoder: Encoder, data: AnyEncodable): void;
45
43
  /**
46
44
  * Now come a few stateful encoder that have their own classes.
47
45
  */
@@ -230,4 +228,8 @@ export class StringEncoder {
230
228
  write(string: string): void;
231
229
  toUint8Array(): Uint8Array<ArrayBuffer>;
232
230
  }
231
+ export type AnyEncodableArray = Array<AnyEncodable>;
232
+ export type AnyEncodable = undefined | null | number | bigint | boolean | string | {
233
+ [k: string]: AnyEncodable;
234
+ } | AnyEncodableArray | Uint8Array;
233
235
  //# sourceMappingURL=encoding.d.ts.map
package/encoding.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["encoding.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["encoding.js"],"names":[],"mappings":"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"}
package/encoding.js CHANGED
@@ -496,6 +496,14 @@ const isFloat32 = num => {
496
496
  return floatTestBed.getFloat32(0) === num
497
497
  }
498
498
 
499
+ /**
500
+ * @typedef {Array<AnyEncodable>} AnyEncodableArray
501
+ */
502
+
503
+ /**
504
+ * @typedef {undefined|null|number|bigint|boolean|string|{[k:string]:AnyEncodable}|AnyEncodableArray|Uint8Array} AnyEncodable
505
+ */
506
+
499
507
  /**
500
508
  * Encode data with efficient binary format.
501
509
  *
@@ -531,7 +539,7 @@ const isFloat32 = num => {
531
539
  * lib0/encoding.js
532
540
  *
533
541
  * @param {Encoder} encoder
534
- * @param {undefined|null|number|bigint|boolean|string|Object<string,any>|Array<any>|Uint8Array} data
542
+ * @param {AnyEncodable} data
535
543
  */
536
544
  export const writeAny = (encoder, data) => {
537
545
  switch (typeof data) {
@@ -1 +1 @@
1
- {"version":3,"file":"encoding.test.d.ts","sourceRoot":"","sources":["encoding.test.js"],"names":[],"mappings":"AA6CO,8DAkCN;AAwCM,sCAQN;AAEM,sEA2CN;AAEM,gEAoDN;AAEM,sDAiDN;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,yCAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,mDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,kDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,kDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,0CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAGqB;AAKnC,oCAFI,CAAC,CAAC,QAAQ,QAkBpB;AAyCM,2CAFI,CAAC,CAAC,QAAQ,QAgCpB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAuBpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAqCpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QAyBpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAyBpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAqBpB;;UAvZa,CAAS,IAAgB,EAAhB,QAAQ,CAAC,OAAO,KAAE,GAAG;WAC9B,CAAS,IAAgB,EAAhB,QAAQ,CAAC,OAAO,EAAC,IAAG,EAAH,GAAG,KAAE,IAAI;SACnC,CAAS,IAAS,EAAT,IAAI,CAAC,IAAI,KAAE,GAAG;aACvB,CAAS,IAAG,EAAH,GAAG,EAAC,IAAG,EAAH,GAAG,KAAE,OAAO;UACzB,MAAM;;mBA/cD,cAAc;0BAFP,eAAe;0BADf,eAAe;sBAEnB,WAAW"}
1
+ {"version":3,"file":"encoding.test.d.ts","sourceRoot":"","sources":["encoding.test.js"],"names":[],"mappings":"AA6CO,8DAkCN;AAwCM,sCAQN;AAEM,sEA2CN;AAEM,gEAoDN;AAEM,sDAiDN;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAIpB;AAKM,yCAFI,CAAC,CAAC,QAAQ,QASpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,mDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,kDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,kDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAKpB;AAKM,0CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAWpB;AAKM,6CAFI,CAAC,CAAC,QAAQ,QAGqB;AAKnC,oCAFI,CAAC,CAAC,QAAQ,QAkBpB;AAyCM,2CAFI,CAAC,CAAC,QAAQ,QAgCpB;AAKM,iDAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAuBpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,2CAFI,CAAC,CAAC,QAAQ,QAkBpB;AAKM,oCAFI,CAAC,CAAC,QAAQ,QAqCpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAYpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QAyBpB;AAKM,4CAFI,CAAC,CAAC,QAAQ,QAyBpB;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAapB;AAKM,8CAFI,CAAC,CAAC,QAAQ,QAqBpB;;UAvZa,CAAS,IAAgB,EAAhB,QAAQ,CAAC,OAAO,KAAE,GAAG;WAC9B,CAAS,IAAgB,EAAhB,QAAQ,CAAC,OAAO,EAAC,IAAG,EAAH,GAAG,KAAE,IAAI;SACnC,CAAS,IAAS,EAAT,IAAI,CAAC,IAAI,KAAE,GAAG;aACvB,CAAS,IAAG,EAAH,GAAG,EAAC,IAAG,EAAH,GAAG,KAAE,OAAO;UACzB,MAAM;;mBAhdD,cAAc;0BAFP,eAAe;0BADf,eAAe;sBAEnB,WAAW"}
package/list.test.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export function testAssignability(_tc: t.TestCase): void;
2
2
  export function testEnqueueDequeue(_tc: t.TestCase): void;
3
3
  export function testSelectivePop(_tc: t.TestCase): void;
4
+ export function testEquality(): void;
4
5
  import * as t from './testing.js';
5
6
  //# sourceMappingURL=list.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["list.test.js"],"names":[],"mappings":"AAmBO,uCAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QA8BpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QA+BpB;mBAlGkB,cAAc"}
1
+ {"version":3,"file":"list.test.d.ts","sourceRoot":"","sources":["list.test.js"],"names":[],"mappings":"AA2BO,uCAFI,CAAC,CAAC,QAAQ,QAcpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QA8BpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QA+BpB;AAEM,qCAgBN;mBA5HkB,cAAc"}
@@ -0,0 +1,3 @@
1
+ export function testMutex(_tc: t.TestCase): void;
2
+ import * as t from './testing.js';
3
+ //# sourceMappingURL=mutex.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutex.test.d.ts","sourceRoot":"","sources":["mutex.test.js"],"names":[],"mappings":"AAMO,+BAFI,CAAC,CAAC,QAAQ,QAmBpB;mBAvBkB,cAAc"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lib0",
3
- "version": "0.2.115-1",
3
+ "version": "0.2.115-3",
4
4
  "description": "",
5
5
  "sideEffects": false,
6
6
  "type": "module",
package/schema.d.ts CHANGED
@@ -132,18 +132,18 @@ export class $Custom extends Schema<any> {
132
132
  export function $custom(check: (o: any) => boolean): Schema<any>;
133
133
  export const $$custom: Schema<$Custom>;
134
134
  /**
135
- * @template {LiteralType} T
135
+ * @template {Primitive} T
136
136
  * @extends {Schema<T>}
137
137
  */
138
- export class $Literal<T extends LiteralType> extends Schema<T> {
138
+ export class $Literal<T extends Primitive> extends Schema<T> {
139
139
  /**
140
140
  * @param {Array<T>} literals
141
141
  */
142
142
  constructor(literals: Array<T>);
143
143
  shape: T[];
144
144
  }
145
- export function $literal<T extends LiteralType[]>(...literals: T): CastToSchema<$Literal<T[number]>>;
146
- export const $$literal: Schema<$Literal<LiteralType>>;
145
+ export function $literal<T extends Primitive[]>(...literals: T): CastToSchema<$Literal<T[number]>>;
146
+ export const $$literal: Schema<$Literal<Primitive>>;
147
147
  /**
148
148
  * @template {Array<string|Schema<string|number>>} T
149
149
  * @extends {Schema<CastStringTemplateArgsToTemplate<T>>}
@@ -198,7 +198,7 @@ export class $Object<S extends {
198
198
  }
199
199
  export function $object<S extends {
200
200
  [key: string | symbol | number]: Schema<any>;
201
- }>(def: S): _ObjectDefToSchema<S> extends Schema<infer S_1> ? Schema<S_1> : never;
201
+ }>(def: S): _ObjectDefToSchema<S> extends Schema<infer S_1> ? Schema<{ [K in keyof S_1]: S_1[K]; }> : never;
202
202
  export const $$object: Schema<$Object<{
203
203
  [key: string]: Schema<any>;
204
204
  [key: number]: Schema<any>;
@@ -326,6 +326,10 @@ export class $Lambda<Args extends Array<Schema<any>>> extends Schema<_LArgsToLam
326
326
  }
327
327
  export function $lambda<Args extends Schema<any>[]>(...args: Args): Schema<(...args: UnwrapArray<TuplePop<Args>>) => Unwrap<TupleLast<Args>>>;
328
328
  export const $$lambda: Schema<$Lambda<Schema<any>[]>>;
329
+ /**
330
+ * @type {Schema<Function>}
331
+ */
332
+ export const $function: Schema<Function>;
329
333
  /**
330
334
  * @template {Array<Schema<any>>} T
331
335
  * @extends {Schema<Intersect<UnwrapArray<T>>>}
@@ -366,9 +370,9 @@ export const $$any: Schema<Schema<any>>;
366
370
  export const $bigint: Schema<bigint>;
367
371
  export const $$bigint: Schema<Schema<bigint>>;
368
372
  /**
369
- * @type {Schema<Symbol>}
373
+ * @type {Schema<symbol>}
370
374
  */
371
- export const $symbol: Schema<Symbol>;
375
+ export const $symbol: Schema<symbol>;
372
376
  export const $$symbol: Schema<Schema<Symbol>>;
373
377
  /**
374
378
  * @type {Schema<number>}
@@ -397,15 +401,17 @@ export const $void: Schema<void>;
397
401
  export const $$void: Schema<Schema<void>>;
398
402
  export const $null: Schema<null>;
399
403
  export const $$null: Schema<Schema<null>>;
404
+ export const $uint8Array: Schema<Uint8Array<ArrayBuffer>>;
405
+ export const $$uint8Array: Schema<Schema<Uint8Array>>;
400
406
  /**
401
- * @type {Schema<number|string|null|boolean>}
407
+ * @type {Schema<Primitive>}
402
408
  */
403
- export const $primitive: Schema<number | string | null | boolean>;
409
+ export const $primitive: Schema<Primitive>;
404
410
  /**
405
411
  * @typedef {JSON[]} JSONArray
406
412
  */
407
413
  /**
408
- * @typedef {Unwrap<$primitive>|JSONArray|{ [key:string]:JSON }} JSON
414
+ * @typedef {Primitive|JSONArray|{ [key:string]:JSON }} JSON
409
415
  */
410
416
  /**
411
417
  * @type {Schema<null|number|string|boolean|JSON[]|{[key:string]:JSON}>}
@@ -413,6 +419,7 @@ export const $primitive: Schema<number | string | null | boolean>;
413
419
  export const $json: Schema<null | number | string | boolean | JSON[] | {
414
420
  [key: string]: JSON;
415
421
  }>;
422
+ export function $<IN>(o: IN): ReadSchema<IN>;
416
423
  /**
417
424
  * Assert that a variable is of this specific type.
418
425
  * The assertion check is only performed in non-production environments.
@@ -420,7 +427,7 @@ export const $json: Schema<null | number | string | boolean | JSON[] | {
420
427
  * @type {<T>(o:any,schema:Schema<T>) => asserts o is T}
421
428
  */
422
429
  export const assert: <T>(o: any, schema: Schema<T>) => asserts o is T;
423
- export type LiteralType = string | number | bigint | boolean | null | undefined;
430
+ export type Primitive = string | number | bigint | boolean | null | undefined | symbol;
424
431
  export type AnyObject = {
425
432
  [k: string | number | symbol]: any;
426
433
  };
@@ -441,9 +448,10 @@ export type _ObjectDefToSchema<S extends {
441
448
  }> = Schema<{ [Key in keyof S as S[Key] extends $Optional<Schema<any>> ? Key : never]?: S[Key] extends $Optional<Schema<infer Type>> ? Type : never; } & { [Key in keyof S as S[Key] extends $Optional<Schema<any>> ? never : Key]: S[Key] extends Schema<infer Type> ? Type : never; }>;
442
449
  export type _LArgsToLambdaDef<Args extends Schema<any>[]> = (...args: UnwrapArray<TuplePop<Args>>) => Unwrap<TupleLast<Args>>;
443
450
  export type JSONArray = JSON[];
444
- export type JSON = Unwrap<Schema<string | number | boolean | null>> | JSONArray | {
451
+ export type JSON = Primitive | JSONArray | {
445
452
  [key: string]: JSON;
446
453
  };
454
+ export type ReadSchema<IN extends unknown> = IN extends Schema<any> ? IN : (IN extends string | number | boolean | null ? Schema<IN> : (IN extends new (...args: any[]) => any ? Schema<InstanceType<IN>> : (IN extends any[] ? Schema<{ [K in keyof IN]: Unwrap<ReadSchema<IN[K]>>; }[number]> : (IN extends object ? (_ObjectDefToSchema<{ [K in keyof IN]: ReadSchema<IN[K]>; }> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K]; }> : never) : never))));
447
455
  import * as traits from './traits.js';
448
456
  declare class ValidationError {
449
457
  /**
@@ -478,7 +486,7 @@ declare class $Optional<S extends Schema<any>> extends Schema<Unwrap<S> | undefi
478
486
  get [isOptionalSymbol](): boolean;
479
487
  }
480
488
  /**
481
- * @typedef {string|number|bigint|boolean|null|undefined} LiteralType
489
+ * @typedef {string|number|bigint|boolean|null|undefined|symbol} Primitive
482
490
  */
483
491
  /**
484
492
  * @typedef {{ [k:string|number|symbol]: any }} AnyObject
package/schema.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["schema.js"],"names":[],"mappings":"AAqHA;;;GAGG;AACH,oBAHa,CAAC,aACE,MAAM,CAAC,aAAa;IAIlC;;;;OAIG;IACH,mCAAuB;IAEvB;;OAEG;IACH,eAFW,MAAM,CAAC,GAAG,CAAC,WAMrB;IAED;;;;OAIG;IACH,cAFW,MAAM,CAAC,GAAG,CAAC,WAKrB;IAWD;;;;;;;OAOG;IACH,YAHW,CAAC,GACA,OAAO,CAIlB;IAGD;;;;;;OAMG;IACH,UAJW,GAAG,SACH,eAAe,GACd,EAAE,IAAI,CAAC,CAIlB;IAGD;;OAEG;IACH,gBAFU,MAAM,CAAC,CAAC,OAAC,CAAC,CAInB;IAED;;OAEG;IACH,gBAFU,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAI7B;IAED;;;;;;;;;;;OAWG;IACH,KAJa,EAAE,KACJ,EAAE,GACD,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE,EAAC,CAAC,CAAC,CAAC,CAK3F;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAHW,CAAC,GACA,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAKlC;IAvFD,0BAAiC;IAEjC;;OAEG;IACH,oCAFW,MAAM,WAIhB;CAiFF;AAED;;;GAGG;AAEH;;;GAGG;AACH,4BAHuE,CAAC,SAA1D,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAE;IAIpE;;;OAGG;IACH,eAHW,CAAC,SACD,CAAC,CAAC,CAAC,EAAC,QAAQ,CAAC,CAAC,CAAC,KAAG,OAAO,CAAC,GAAC,IAAI,EAMzC;IAFC,SAAc;IACd,SALa,QAAQ,CAAC,CAAC,CAAC,KAAG,OAAO,SAKnB;IAGjB;;;;OAIG;IACH,SAJW,GAAG,QACH,eAAe,GACd,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAO/H;CACF;AAQM,+BALgE,CAAC,SAA1D,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAE,KAC3D,CAAC,UACD,CAAC,CAAC,CAAC,EAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAC,IAAI,GAChC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAEoC;AAC/E,mEAlC4B,GAAG,EAAE,KAAK,GAAG,eAAc,GAAG,EAAE,KAAK,GAAG,IAkCP;AAE7D;;;;GAIG;AACH;IACE;;OAEG;IACH,mBAFW,CAAC,CAAC,EAAC,GAAG,KAAK,OAAO,EAQ5B;IAJC;;OAEG;IACH,OAFU,CAAC,CAAC,EAAC,GAAG,KAAK,OAAO,CAEV;IAGpB;;;;OAIG;IACH,SAJW,GAAG,OACH,eAAe,GACd,CAAC,IAAI,GAAG,CAOnB;CACF;AAMM,+BAHI,CAAC,CAAC,EAAC,GAAG,KAAK,OAAO,GACjB,MAAM,CAAC,GAAG,CAAC,CAE2B;AAClD,uCAA+C;AAE/C;;;GAGG;AACH,sBAH2B,CAAC,SAAd,WAAY;IAIxB;;OAEG;IACH,sBAFW,KAAK,CAAC,CAAC,CAAC,EAKlB;IADC,WAAqB;CAexB;AAOM,yBAJsB,CAAC,SAAhB,WAAW,EAAG,eACjB,CAAC,GACA,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAEkB;AAC/D,sDAAiD;AAwCjD;;;GAGG;AACH,6BAHmD,CAAC,SAAtC,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC,MAAM,GAAC,MAAM,CAAC,CAAE;IAIhD;;OAEG;IACH,mBAFW,CAAC,EAMX;IAFC,SAAkB;IAClB,WAAqH;CAcxH;AAOM,gCAJ4C,CAAC,SAAtC,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC,MAAM,GAAC,MAAM,CAAC,CAAE,eACvC,CAAC,GACA,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAEiC;AAC7E,6FAA+D;AA8B/D,wDAAmD;AAiBnD;;GAEG;AACH,qBAFU,MAAM,CAAC,KAAK,CAAC,CAEW;AAClC,qCAA6C;AAE7C;;;GAGG;AAEH;;;GAGG;AACH,qBAHyD,CAAC,SAA7C;IAAE,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;CAAE;IAItD;;;OAGG;IACH,mBAHW,CAAC,YACD,OAAO,EASjB;IALC;;OAEG;IACH,OAFU,CAAC,CAEO;IAClB,oBAAyB;IAG3B;;OAEG;IACH,eAFU,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAI1C;IAED;;;;OAIG;IACH,SAJW,GAAG,OACH,eAAe,GACd,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAahC;CACF;AAcM,wBAJoD,CAAC,SAA/C;IAAG,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;CAAG,OAC/C,CAAC,GACA,kBAAkB,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAC,CAAC,GAAG,MAAM,CAAC,GAAC,CAAC,GAAG,KAAK,CAEV;AACnE;;;;IAA+C;AAC/C;;GAEG;AACH,yBAFU,MAAM,CAAC;IAAC,CAAC,GAAG,EAAC,MAAM,GAAG,GAAG,CAAA;CAAC,CAAC,CAEmE;AAExG;;;;GAIG;AACH,qBAJ4C,IAAI,SAAlC,MAAM,CAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAE,EAChB,MAAM,SAAnB,MAAM,CAAC,GAAG,CAAE,oBACH,GAAG;IAGxB;;;OAGG;IACH,kBAHW,IAAI,UACJ,MAAM,EAOhB;IAHC;;;MAEC;IAGH;;;;OAIG;IACH,SAJW,GAAG,OACH,eAAe,GACd,CAAC,IAAI,GAAG,KAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAE,CASzD;CACF;AASM,wBANqC,IAAI,SAAlC,MAAM,CAAC,MAAM,GAAC,MAAM,GAAC,MAAM,CAAE,EAChB,MAAM,SAAnB,MAAM,CAAC,GAAG,CAAE,QACf,IAAI,UACJ,MAAM,GACL,YAAY,CAAC,OAAO,CAAC,IAAI,EAAC,MAAM,CAAC,CAAC,CAEoB;AAClE,sFAA+C;AAE/C;;;GAGG;AACH,oBAH6B,CAAC,SAAhB,MAAM,CAAC,GAAG,CAAC,EAAG,oBACL,GAAG,0CAA0C,IAAI;IAGtE;;OAEG;IACH,mBAFW,CAAC,EAKX;IADC,SAAkB;IAGpB;;;;OAIG;IACH,SAJW,GAAG,OACH,eAAe,GACd,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE,CASlF;CACF;AAOM,uBAJ2B,CAAC,SAArB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE,UACtB,CAAC,GACA,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAEc;AACjD,oDAA6C;AAE7C;;;GAGG;AACH,oBAH2B,CAAC,SAAd,MAAM,CAAC,GAAG,CAAE,yCACuB,CAAC;IAGhD;;OAEG;IACH,eAFW,KAAK,CAAC,CAAC,CAAC,EAQlB;IAJC;;OAEG;IACH,OAFU,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAC,CAAC,GAAG,GAAC,GAAG,KAAK,CAAC,CAEL;IAGpD;;;;OAIG;IACH,SAJW,GAAG,QACH,eAAe,GACd,CAAC,IAAI,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAC,CAAC,GAAG,GAAC,GAAG,KAAK,CAAC,CAO5D;CACF;AAOM,uBAJ2B,CAAC,SAArB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE,UACtB,CAAC,GACA,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAEtB;AACjD,kDAA6C;AAC7C;;GAEG;AACH,wBAFU,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAEyB;AAErD;;;GAGG;AACH,yBAHa,CAAC;IAIZ;;;OAGG;IACH,yBAHW,KAAK,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC,SACtB,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,OAAO,CAAC,GAAC,IAAI,EAMjC;IAFC,qBALsB,GAAG,KAAK,CAAC,CAKP;IACxB,SALa,CAAC,KAAK,OAAO,SAKX;IAGjB;;;;OAIG;IACH,SAJW,GAAG,OACH,eAAe,GACd,CAAC,IAAI,CAAC,CAOjB;CACF;AAQM,4BALM,CAAC,KACH,KAAK,GAAG,IAAI,EAAC,GAAG,KAAK,CAAC,UACtB,CAAC,CAAC,CAAC,EAAC,CAAC,KAAK,OAAO,CAAC,GAAC,IAAI,GACtB,MAAM,CAAC,CAAC,CAAC,CAEoD;AACzE,wDAAuD;AAEvD,+CAA2C;AAE3C;;;GAGG;AAEH;;;GAGG;AACH,qBAHkC,IAAI,SAAxB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE;IAI/B;;OAEG;IACH,kBAFW,IAAI,EAOd;IAHC,YAA0B;IAC1B,oBAAqC;IACrC,iBAAyB;IAG3B;;;;OAIG;IACH,SAJW,GAAG,OACH,eAAe,GACd,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAOvC;CACF;AAOM,wBAJsB,IAAI,SAAnB,MAAM,CAAC,GAAG,CAAC,EAAG,WACjB,IAAI,GACH,MAAM,CAAC,CAAC,GAAG,IAAI,EAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAED;AACjF,sDAA+C;AAE/C;;;GAGG;AACH,2BAHkC,CAAC,SAArB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE;IAI/B;;OAEG;IACH,eAFW,CAAC,EAQX;IAJC;;OAEG;IACH,OAFU,CAAC,CAEG;CAejB;AAOM,2BAJsB,CAAC,SAAhB,MAAM,CAAC,GAAG,CAAC,EAAG,UACjB,CAAC,GACA,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAEkB;AAC5D,+DAAiF;AAEjF;;;GAGG;AACH,oBAHa,CAAC;IAMZ;;OAEG;IACH,eAFW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAK1B;IADC,mBAAc;CAajB;AAOM,uBAJ2B,CAAC,SAArB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE,cACtB,CAAC,GACA,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAE6E;AACpL,sBAAkC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAA6B;AAGlF;;GAEG;AACH,mBAFU,MAAM,CAAC,GAAG,CAAC,CAEU;AAC/B,oBAAgC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAmD;AAEtG;;GAEG;AACH,sBAFU,MAAM,CAAC,MAAM,CAAC,CAEqB;AAC7C,uBAAmC,MAAM,CAAC,MAAM,QAAQ,CAAC,CAA8D;AAEvH;;GAEG;AACH,sBAFU,MAAM,CAAC,MAAM,CAAC,CAEqB;AAC7C,uBAAmC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAA8D;AAEvH;;GAEG;AACH,sBAFU,MAAM,CAAC,MAAM,CAAC,CAEqB;AAC7C,uBAAmC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAA8D;AAEvH;;GAEG;AACH,sBAFU,MAAM,CAAC,MAAM,CAAC,CAEqB;AAC7C,uBAAmC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAA8D;AAEvH;;GAEG;AACH,uBAFU,MAAM,CAAC,OAAO,CAAC,CAEsB;AAC/C,wBAAoC,MAAM,CAAC,MAAM,SAAS,CAAC,CAA+D;AAE1H;;GAEG;AACH,yBAFU,MAAM,CAAC,SAAS,CAAC,CAEkB;AAC7C,0BAAsC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAsF;AAErJ;;GAEG;AACH,oBAFU,MAAM,CAAC,IAAI,CAAC,CAEkB;AACxC,qBAAiC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAkB;AAEvE,iCAAmC;AACnC,qBAAiC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAiF;AAEtI;;GAEG;AACH,yBAFU,MAAM,CAAC,MAAM,GAAC,MAAM,GAAC,IAAI,GAAC,OAAO,CAAC,CAEuB;AAEnE;;GAEG;AACH;;GAEG;AACH;;GAEG;AACH,oBAFU,MAAM,CAAC,IAAI,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO,GAAC,IAAI,EAAE,GAAC;IAAC,CAAC,GAAG,EAAC,MAAM,GAAE,IAAI,CAAA;CAAC,CAAC,CASnE;AAGJ;;;;;GAKG;AACH,qBAFU,CAAC,CAAC,EAAE,CAAC,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,CASlD;0BA33BQ,MAAM,GAAC,MAAM,GAAC,MAAM,GAAC,OAAO,GAAC,IAAI,GAAC,SAAS;wBAI3C;IAAE,CAAC,CAAC,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,GAAG,CAAA;CAAE;mBAIjC,CAAC,IACD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;mBAIjC,CAAC,IACD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;wBAIZ,CAAC,SAAtB,SAAU,OAAO,EAAG,IACpB,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE;yBAI5F,CAAC,IACD,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;sBAIjC,GAAG,SAAd,OAAO,EAAG,IACX,GAAG,SAAS,CAAC,GAAG,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;qBAInC,GAAG,SAAd,OAAO,EAAG,IACX,GAAG,SAAS,CAAC,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,KAAK;sBAI1B,CAAC,SAAtB,SAAU,OAAO,EAAG,IACpB,CAAC,SAAS,EAAE,GAClB,EAAE,GACF,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,GACvB,KAAK,GACL,CAAC,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GACtC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,GACvB,KAAK;qBAoL2D,MAAM,SAA/D,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAE,IACzD,MAAM,SAAS,CAAC,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,KAAK,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;6CAiHxF,EAAE,SAAvC,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC,MAAM,GAAC,MAAM,CAAC,CAAE,IACrC,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,GAAC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,SAAS,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC,MAAM,GAAC,MAAM,CAAC,CAAC,GAAG,gCAAgC,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;0BA2H1Q,CAAC,SAAhD;IAAG,CAAC,GAAG,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;CAAG,IAC9C,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE;+BAgD3N,CAAC,SAA/C;IAAG,CAAC,GAAG,EAAC,MAAM,GAAC,MAAM,GAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;CAAG,IAC7C,MAAM,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,GAAE,CAAC;8BAgLjQ,IAAI,SAAnB,MAAM,CAAC,GAAG,CAAC,EAAG,IACf,CAAC,GAAG,IAAI,EAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;wBA0K9D,IAAI,EAAE;mBAGN,MAAM,0CAAY,GAAC,SAAS,GAAC;IAAE,CAAC,GAAG,EAAC,MAAM,GAAE,IAAI,CAAA;CAAE;wBAp2BvC,aAAa;AAwDrC;IAEI;;;OAGG;IACH,QAFU,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,OAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,OAAC,CAAA;KAAE,CAAC,CAEnE;IAGlB;;;;;OAKG;IACH,aALW,MAAM,OAAC,YACP,MAAM,OACN,MAAM,YACN,MAAM,OAAC,QAIjB;IAED,mBAOC;CACF;AA8UD;;;GAGG;AACH,wBAH2B,CAAC,SAAd,MAAM,CAAC,GAAG,CAAE;IAIxB;;OAEG;IACH,mBAFW,CAAC,EAKX;IADC,SAAkB;IAepB,kCAAyC;CAC1C;AAvbD;;GAEG;AAEH;;GAEG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;;;;;GAUG;AAEH,0CAAsC;AAwYtC;;GAEG;AACH;;CAUC;AA3CD,8CAA2C"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["schema.js"],"names":[],"mappings":"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"}
package/schema.js CHANGED
@@ -13,7 +13,7 @@ import * as fun from './function.js'
13
13
  import * as string from './string.js'
14
14
 
15
15
  /**
16
- * @typedef {string|number|bigint|boolean|null|undefined} LiteralType
16
+ * @typedef {string|number|bigint|boolean|null|undefined|symbol} Primitive
17
17
  */
18
18
 
19
19
  /**
@@ -87,6 +87,7 @@ class ValidationError {
87
87
  const s = []
88
88
  for (let i = this._rerrs.length - 1; i > 0; i--) {
89
89
  const r = this._rerrs[i]
90
+ /* c8 ignore next */
90
91
  s.push(string.repeat(' ', (this._rerrs.length - i) * 2) + `${r.path != null ? `[${r.path}] ` : ''}${r.has} doesn't match ${r.expected}. ${r.message}`)
91
92
  }
92
93
  return s.join('\n')
@@ -317,7 +318,7 @@ export const $custom = check => new $Custom(check)
317
318
  export const $$custom = $constructedBy($Custom)
318
319
 
319
320
  /**
320
- * @template {LiteralType} T
321
+ * @template {Primitive} T
321
322
  * @extends {Schema<T>}
322
323
  */
323
324
  export class $Literal extends Schema {
@@ -344,7 +345,7 @@ export class $Literal extends Schema {
344
345
  }
345
346
 
346
347
  /**
347
- * @template {LiteralType[]} T
348
+ * @template {Primitive[]} T
348
349
  * @param {T} literals
349
350
  * @return {CastToSchema<$Literal<T[number]>>}
350
351
  */
@@ -373,7 +374,7 @@ const _schemaStringTemplateToRegex = s => {
373
374
  return [_regexEscape(s)]
374
375
  }
375
376
  if ($$literal.check(s)) {
376
- return s.shape.map(v => v + '')
377
+ return /** @type {Array<string|number>} */ (s.shape).map(v => v + '')
377
378
  }
378
379
  if ($$number.check(s)) {
379
380
  return ['[+-]?\\d+.?\\d*']
@@ -464,6 +465,7 @@ class $Never extends Schema {
464
465
  * @return {_o is never}
465
466
  */
466
467
  check (_o, err) {
468
+ /* c8 ignore next */
467
469
  err?.extend(null, 'never', typeof _o)
468
470
  return false
469
471
  }
@@ -498,6 +500,8 @@ export class $Object extends Schema {
498
500
  this._isPartial = partial
499
501
  }
500
502
 
503
+ static _dilutes = true
504
+
501
505
  /**
502
506
  * @type {Schema<Partial<$ObjectToType<S>>>}
503
507
  */
@@ -534,14 +538,14 @@ export class $Object extends Schema {
534
538
  /**
535
539
  * @template {{ [key:string|symbol|number]: Schema<any> }} S
536
540
  * @param {S} def
537
- * @return {_ObjectDefToSchema<S> extends Schema<infer S> ? Schema<S> : never}
541
+ * @return {_ObjectDefToSchema<S> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K] }> : never}
538
542
  */
539
543
  export const $object = def => /** @type {any} */ (new $Object(def))
540
544
  export const $$object = $constructedBy($Object)
541
545
  /**
542
546
  * @type {Schema<{[key:string]: any}>}
543
547
  */
544
- export const $objectAny = $custom(o => o != null && (o.constructor == null || o.constructor === Object))
548
+ export const $objectAny = $custom(o => o != null && (o.constructor === Object || o.constructor == null))
545
549
 
546
550
  /**
547
551
  * @template {Schema<string|number|symbol>} Keys
@@ -742,6 +746,11 @@ export class $Lambda extends Schema {
742
746
  export const $lambda = (...args) => new $Lambda(args.length > 0 ? args : [$void])
743
747
  export const $$lambda = $constructedBy($Lambda)
744
748
 
749
+ /**
750
+ * @type {Schema<Function>}
751
+ */
752
+ export const $function = $custom(o => typeof o === 'function')
753
+
745
754
  /**
746
755
  * @template {Array<Schema<any>>} T
747
756
  * @extends {Schema<Intersect<UnwrapArray<T>>>}
@@ -812,7 +821,11 @@ export class $Union extends Schema {
812
821
  * @param {T} schemas
813
822
  * @return {CastToSchema<$Union<T extends [] ? never : (T extends Array<Schema<infer S>> ? S : never)>>}
814
823
  */
815
- export const $union = (...schemas) => $$union.check(schemas[0]) ? new $Union([...schemas[0].shape, ...schemas.slice(1)]) : (schemas.length === 1 ? schemas[0] : new $Union(schemas))
824
+ export const $union = (...schemas) => schemas.findIndex($s => $$union.check($s)) >= 0
825
+ ? $union(...schemas.map($s => $$union.check($s) ? $s.shape : [$s]).flat(1))
826
+ : (schemas.length === 1
827
+ ? schemas[0]
828
+ : new $Union(schemas))
816
829
  export const $$union = /** @type {Schema<$Union<any>>} */ ($constructedBy($Union))
817
830
 
818
831
  const _t = () => true
@@ -829,7 +842,7 @@ export const $bigint = $constructedBy(BigInt)
829
842
  export const $$bigint = /** @type {Schema<Schema<BigInt>>} */ ($constructedBy($ConstructedBy, o => o.shape === BigInt))
830
843
 
831
844
  /**
832
- * @type {Schema<Symbol>}
845
+ * @type {Schema<symbol>}
833
846
  */
834
847
  export const $symbol = $constructedBy(Symbol)
835
848
  export const $$symbol = /** @type {Schema<Schema<Symbol>>} */ ($constructedBy($ConstructedBy, o => o.shape === Symbol))
@@ -867,16 +880,19 @@ export const $$void = /** @type {Schema<Schema<void>>} */ ($$undefined)
867
880
  export const $null = $literal(null)
868
881
  export const $$null = /** @type {Schema<Schema<null>>} */ ($constructedBy($Literal, o => o.shape.length === 1 && o.shape[0] === null))
869
882
 
883
+ export const $uint8Array = $constructedBy(Uint8Array)
884
+ export const $$uint8Array = /** @type {Schema<Schema<Uint8Array>>} */ ($constructedBy($ConstructedBy, o => o.shape === Uint8Array))
885
+
870
886
  /**
871
- * @type {Schema<number|string|null|boolean>}
887
+ * @type {Schema<Primitive>}
872
888
  */
873
- export const $primitive = $union($number, $string, $null, $boolean)
889
+ export const $primitive = $union($number, $string, $null, $undefined, $bigint, $boolean, $symbol)
874
890
 
875
891
  /**
876
892
  * @typedef {JSON[]} JSONArray
877
893
  */
878
894
  /**
879
- * @typedef {Unwrap<$primitive>|JSONArray|{ [key:string]:JSON }} JSON
895
+ * @typedef {Primitive|JSONArray|{ [key:string]:JSON }} JSON
880
896
  */
881
897
  /**
882
898
  * @type {Schema<null|number|string|boolean|JSON[]|{[key:string]:JSON}>}
@@ -890,6 +906,47 @@ export const $json = (() => {
890
906
  return $json
891
907
  })()
892
908
 
909
+ /**
910
+ * @template {any} IN
911
+ * @typedef {IN extends Schema<any> ? IN
912
+ * : (IN extends string|number|boolean|null ? Schema<IN>
913
+ * : (IN extends new (...args:any[])=>any ? Schema<InstanceType<IN>>
914
+ * : (IN extends any[] ? Schema<{ [K in keyof IN]: Unwrap<ReadSchema<IN[K]>> }[number]>
915
+ * : (IN extends object ? (_ObjectDefToSchema<{[K in keyof IN]:ReadSchema<IN[K]>}> extends Schema<infer S> ? Schema<{ [K in keyof S]: S[K] }> : never)
916
+ * : never)
917
+ * )
918
+ * )
919
+ * )
920
+ * } ReadSchema
921
+ */
922
+
923
+ /**
924
+ * @template IN
925
+ * @param {IN} o
926
+ * @return {ReadSchema<IN>}
927
+ */
928
+ export const $ = o => {
929
+ if ($$schema.check(o)) {
930
+ return /** @type {any} */ (o)
931
+ } else if ($objectAny.check(o)) {
932
+ /**
933
+ * @type {any}
934
+ */
935
+ const o2 = {}
936
+ for (const k in o) {
937
+ o2[k] = $(o[k])
938
+ }
939
+ return /** @type {any} */ ($object(o2))
940
+ } else if ($arrayAny.check(o)) {
941
+ return /** @type {any} */ ($union(...o.map($)))
942
+ } else if ($primitive.check(o)) {
943
+ return /** @type {any} */ ($literal(o))
944
+ } else if ($function.check(o)) {
945
+ return /** @type {any} */ ($constructedBy(/** @type {any} */ (o)))
946
+ }
947
+ error.unexpectedCase()
948
+ }
949
+
893
950
  /* c8 ignore start */
894
951
  /**
895
952
  * Assert that a variable is of this specific type.
package/schema.test.d.ts CHANGED
@@ -5,5 +5,7 @@ export function testMetaSchemas(_tc: t.TestCase): void;
5
5
  export function testStringTemplate(_tc: t.TestCase): void;
6
6
  export function testSchemaExtends(_tc: t.TestCase): void;
7
7
  export function testSchemaErrors(_tc: t.TestCase): void;
8
+ export function testUnionMerging(_tc: t.TestCase): void;
9
+ export function testConvenienceHelper(): void;
8
10
  import * as t from './testing.js';
9
11
  //# sourceMappingURL=schema.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["schema.test.js"],"names":[],"mappings":"AAOO,iCAFI,CAAC,CAAC,QAAQ,QA4OpB;AAEM,yCAMN;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,qCAFI,CAAC,CAAC,QAAQ,QA0BpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAmBpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAQpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QASpB;mBAvVkB,cAAc"}
1
+ {"version":3,"file":"schema.test.d.ts","sourceRoot":"","sources":["schema.test.js"],"names":[],"mappings":"AAOO,iCAFI,CAAC,CAAC,QAAQ,QAoPpB;AAEM,yCAMN;AAKM,+CAFI,CAAC,CAAC,QAAQ,QAiBpB;AAKM,qCAFI,CAAC,CAAC,QAAQ,QA0BpB;AAKM,wCAFI,CAAC,CAAC,QAAQ,QAmBpB;AAKM,uCAFI,CAAC,CAAC,QAAQ,QAUpB;AAKM,sCAFI,CAAC,CAAC,QAAQ,QASpB;AAMM,sCAFI,CAAC,CAAC,QAAQ,QAcpB;AAEM,8CAqBN;mBA1YkB,cAAc"}
package/test.js CHANGED
@@ -46,6 +46,7 @@ import * as deltaText from './delta/text.test.js'
46
46
  import * as deltaNode from './delta/node.test.js'
47
47
  import * as deltaTransformer from './delta/transformer.test.js'
48
48
  import * as deltaBinding from './delta/binding.test.js'
49
+ import * as mutex from './mutex.test.js'
49
50
  import { isBrowser, isNode } from './environment.js'
50
51
 
51
52
  /* c8 ignore next */
@@ -99,7 +100,8 @@ runTests({
99
100
  deltaText,
100
101
  deltaNode,
101
102
  deltaTransformer,
102
- deltaBinding
103
+ deltaBinding,
104
+ mutex
103
105
  }).then(success => {
104
106
  /* c8 ignore next */
105
107
  if (isNode) {