@decaf-ts/db-decorators 0.8.3 → 0.8.5

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 (48) hide show
  1. package/README.md +1 -1
  2. package/dist/db-decorators.cjs +1 -1
  3. package/dist/db-decorators.cjs.map +1 -1
  4. package/dist/db-decorators.js +1 -1
  5. package/dist/db-decorators.js.map +1 -1
  6. package/lib/esm/index.d.ts +1 -1
  7. package/lib/esm/index.js +1 -1
  8. package/lib/esm/model/constants.d.ts +1 -0
  9. package/lib/esm/model/constants.js +1 -0
  10. package/lib/esm/model/constants.js.map +1 -1
  11. package/lib/esm/model/decorators.d.ts +2 -1
  12. package/lib/esm/model/decorators.js +16 -4
  13. package/lib/esm/model/decorators.js.map +1 -1
  14. package/lib/esm/model/index.d.ts +1 -1
  15. package/lib/esm/model/index.js +1 -1
  16. package/lib/esm/model/index.js.map +1 -1
  17. package/lib/esm/model/validation.js +28 -20
  18. package/lib/esm/model/validation.js.map +1 -1
  19. package/lib/esm/overrides/Model.d.ts +3 -0
  20. package/lib/esm/overrides/overrides.js +12 -4
  21. package/lib/esm/overrides/overrides.js.map +1 -1
  22. package/lib/esm/repository/constants.js +1 -0
  23. package/lib/esm/repository/constants.js.map +1 -1
  24. package/lib/esm/repository/types.d.ts +1 -0
  25. package/lib/esm/validation/decorators.js +2 -0
  26. package/lib/esm/validation/decorators.js.map +1 -1
  27. package/lib/index.cjs +1 -1
  28. package/lib/index.d.ts +1 -1
  29. package/lib/model/constants.cjs +1 -0
  30. package/lib/model/constants.d.ts +1 -0
  31. package/lib/model/constants.js.map +1 -1
  32. package/lib/model/decorators.cjs +15 -2
  33. package/lib/model/decorators.d.ts +2 -1
  34. package/lib/model/decorators.js.map +1 -1
  35. package/lib/model/index.cjs +1 -1
  36. package/lib/model/index.d.ts +1 -1
  37. package/lib/model/index.js.map +1 -1
  38. package/lib/model/validation.cjs +27 -19
  39. package/lib/model/validation.js.map +1 -1
  40. package/lib/overrides/Model.d.ts +3 -0
  41. package/lib/overrides/overrides.cjs +12 -4
  42. package/lib/overrides/overrides.js.map +1 -1
  43. package/lib/repository/constants.cjs +1 -0
  44. package/lib/repository/constants.js.map +1 -1
  45. package/lib/repository/types.d.ts +1 -0
  46. package/lib/validation/decorators.cjs +2 -0
  47. package/lib/validation/decorators.js.map +1 -1
  48. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/model/decorators.ts","../src/repository/utils.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","ON","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","BlockOperationIf","readonly","meta","description","async","for","define","decorator","innerValidationDecorator","timestampHandler","context","timestamp","format","decorationKey","updateValidationKey","date","required","indexOf","serializeOnCreateUpdate","JSON","stringify","serializeAfterAll","parse","serialize","type","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","oldModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","Model","pk","oldListModel","find","el","isModel","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","designType","getPropDesignTypes","some","TYPE","isArray","propErrors","isConstr","isPropertyModel","instance","Constr","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","join","status","reason","hashOnCreateUpdate","composedFromCreateUpdate","suffix","separator","filterEmpty","hashResult","composed","arg","composedFrom","property","composedFromKeys","versionCreateUpdate","version","Number","transient","attribute","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","logger","extraPrefix","replace","obj","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","pkProps","merge","extract","assign","saveOperation","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","wrapMethodWithContextForUpdate","o","Repository","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","PACKAGE_NAME","registerLibrary"],"mappings":"ukBAQa,MAAAA,EAAS,CACpBC,QAAYC,EAAUC,MAAb,gBACTC,WAAY,aACZC,MAAO,SACPC,GAAI,KACJC,MAAO,QACPC,OAAQ,SACRC,UAAW,YACXC,SAAU,WACVC,UAAW,YACXC,UAAW,YACXC,KAAM,OACNC,SAAU,WACVC,QAAS,UACTC,SAAU,iBASCC,EAAmB,IAQnBC,EAA2B,wBCrB3BC,EAAyB,CACpCb,GAAI,CACFc,QAAS,qBACTC,SAAU,uBAEZX,SAAU,CACRU,QAAS,0BAEXT,UAAW,CACTU,SAAU,yBACVC,KAAM,sCACNF,QAAS,oCAcAG,EAAuB,CAClCtB,QAAS,wBACTU,UAAWX,EAAOW,UAClBD,SAAUV,EAAOU,UCfZ,IAAMc,EAAN,cAAgCC,EACrC,WAAAC,GACEC,MAAMR,EAAuBT,SAASU,QACvC,CAUD,SAAAQ,CAAUC,KAAeC,GAExB,CAUM,eAAAC,CACLF,EACAG,EACAC,GAEA,QAAcC,IAAVL,EAEJ,OAAOM,EAAQN,EAAOG,QAClBE,EACAE,KAAKC,WAAWJ,GAAWG,KAAKH,QACrC,GAnCUT,EAAiBc,EAAA,CAD7BC,EAAUhB,EAAqBb,qCACnBc,GCAN,IAAMgB,EAAN,cAAiCf,EACtC,WAAAC,GACEC,MAAMR,EAAuBR,UAAUS,QACxC,CAUD,SAAAQ,CAAUC,KAAeC,GAExB,CAUM,eAAAC,CACLF,EACAG,EACAC,GAEA,QAAcC,IAAVL,EAAJ,CAEAI,EAAUA,GAAWG,KAAKC,WAAWJ,GAAWG,KAAKH,SAErD,IACEJ,EAAQ,IAAIY,KAAKZ,GACjBG,EAAW,IAAIS,KAAKT,EAErB,CAAC,MAAOU,GACP,OAAOT,CACR,CAED,OAAOJ,EAASG,OAAqBE,EAAVD,CAZK,CAajC,GA3CUO,EAAkBF,EAAA,CAD9BC,EAAUhB,EAAqBZ,sCACnB6B,GCCP,MAAgBG,UAAwBlB,EAC5C,WAAAC,CACEO,EAAkBW,EAAkBC,WACjCC,GAEHnB,MAAMM,KAAYa,EACnB,MC/BSC,EAkBAC,EAwBAC,ECjCZC,EAAWC,UAAsBC,GACxB7B,EAAqBtB,QAAUmD,EDVxC,CAAYL,IACVA,EAAA,QAAA,6BACAA,EAAA,OAAA,SACAA,EAAA,KAAA,OACAA,EAAA,OAAA,SACAA,EAAA,OAAA,SACAA,EAAA,GAAA,MACAA,EAAA,MAAA,SACAA,EAAA,MAAA,OACD,EATD,CAAYA,IAAAA,EASX,CAAA,IASD,CAAYC,IACVA,EAAA,WAAA,aACAA,EAAA,UAAA,WACD,EAHD,CAAYA,IAAAA,EAGX,CAAA,IAqBD,CAAYC,IACVA,EAAA,WAAA,YACAA,EAAA,SAAA,UACAA,EAAA,WAAA,YACAA,EAAA,WAAA,WACD,EALD,CAAYA,IAAAA,EAKX,CAAA,IAoBY,MAAAI,EAAiD,CAC5DC,OAAQ,CAACP,EAAcO,QACvBC,KAAM,CAACR,EAAcQ,MACrBC,OAAQ,CAACT,EAAcS,QACvBC,OAAQ,CAACV,EAAcU,QACvBC,cAAe,CAACX,EAAcO,OAAQP,EAAcS,QACpDG,YAAa,CAACZ,EAAcQ,KAAMR,EAAcO,QAChDM,IAAK,CACHb,EAAcO,OACdP,EAAcQ,KACdR,EAAcS,OACdT,EAAcU,eErDLI,EAAb,WAAAnC,GACmBU,KAAK0B,MASlB,EAwIL,CA1HC,GAAAC,CACEC,EACAC,EACAC,EACAC,GAEAA,EAAQA,GAAS,GACjB,MAAMC,EAAQhC,KAAKiC,aAAaL,GAC1BM,EAAOlC,KAAKmC,kBAAkBP,EAAQI,GAE5C,GAAIE,EAAM,CACR,MAAME,EAAWpC,KAAKqC,eACpBH,EACAL,EACAC,EACAE,GAEEI,GAAUE,QACZP,EAAMQ,WAAWH,EAEpB,MAAM,GACa,iBAAXR,GACPA,IAAWY,OAAOC,WAClBD,OAAOE,eAAed,KAAYY,OAAOC,UAEzC,OAAOV,EAGT,IAAIY,EAAQH,OAAOE,eAAed,GAClC,OAAKe,GACDA,EAAMrD,aAAeqD,EAAMrD,YAAY4C,OAASA,IAClDS,EAAQH,OAAOE,eAAeC,IAC3BA,EAEE3C,KAAK2B,IAAagB,EAAOd,EAASC,EAAWC,GAFjCA,GAHAA,CAMpB,CAgBD,QAAAa,CACEC,EACAf,EACAF,EACAC,GAEA,MAAMK,EAAON,EAAOtC,YAAY4C,KAC1BY,EAAcC,EAAWC,eAAeH,GACxCI,EAAUjD,KAAKkD,eAAetB,EAAOtC,aAEtCU,KAAK0B,MAAMQ,KAAOlC,KAAK0B,MAAMQ,GAAQ,IACrClC,KAAK0B,MAAMQ,GAAML,KAAU7B,KAAK0B,MAAMQ,GAAML,GAAW,CAAA,GACvD7B,KAAK0B,MAAMQ,GAAML,GAASC,KAC7B9B,KAAK0B,MAAMQ,GAAML,GAASC,GAAa,IACpC9B,KAAK0B,MAAMQ,GAAML,GAASC,GAAWmB,KACxCjD,KAAK0B,MAAMQ,GAAML,GAASC,GAAWmB,GAAW,IAC9CjD,KAAK0B,MAAMQ,GAAML,GAASC,GAAWmB,GAASH,KAClD9C,KAAK0B,MAAMQ,GAAML,GAASC,GAAWmB,GAASH,GAAeD,EAC9D,CAEO,YAAAZ,CACNL,GAEA,GAAKA,GAA4B,iBAAXA,EACtB,MAAsB,mBAAXA,EAA8BA,EAClCA,EAAOtC,WACf,CAEO,iBAAA6C,CACNP,EACAI,GAEA,MAAsB,iBAAXJ,EAA4BA,EAChCI,GAAOE,IACf,CAEO,cAAAgB,CAAetB,GACrB,IAAKA,EAAQ,OAAOuB,EAAWC,eAC/B,IACE,OAAOC,EAASC,UAAU1B,EAC3B,CAAC,MACA,OAAOuB,EAAWC,cACnB,CACF,CAEO,cAAAf,CACNH,EACAL,EACAC,EACAE,GAEA,MAAMuB,EAAcvD,KAAK0B,MAAMQ,KAAQL,KAAWC,GAClD,IAAKyB,EAAa,OAClB,MACMC,EACJD,EAFcvD,KAAKkD,eAAelB,KAGlCuB,EAAYJ,EAAWC,iBACvBpD,KAAKyD,YAAYF,GACnB,IAAKC,EAAQ,OACb,MAAMpB,EAAWI,OAAOkB,OAAOF,GAC/B,OAAOpB,EAASE,OAAUF,OAA2CtC,CACtE,CAEO,WAAA2D,CACNF,GAEA,IAAK,MAAMnB,KAAYI,OAAOkB,OAAOH,GACnC,GAAInB,GAAYI,OAAOmB,KAAKvB,GAAUE,OAAQ,OAAOF,CAGxD,QCjJUW,EAGX,WAAAzD,GAAwB,CAQxB,qBAAO0D,CAAeH,GACpB,OAAIA,EAAQX,KAAaW,EAAQX,KAK1B0B,EAAQC,KAAKhB,EAAQiB,WAC7B,CAQD,UAAO9C,CAAI+C,GACT,OAAOpD,EAAc9C,QAAUkG,CAChC,CAeD,UAAOpC,CACLqC,EACAnC,EACAC,GAEA,OAAOiB,EAAWkB,SAAStC,IAAaqC,EAAYnC,EAASC,EAC9D,CAQO,oBAAOoC,GAEb,OADKnB,EAAWkB,WAAUlB,EAAWkB,SAAW,IAAIxC,GAC7CsB,EAAWkB,QACnB,CAYD,eAAOrB,CACLC,EACAf,EACAF,EACAC,GAEAkB,EAAWmB,gBAAgBtB,SACzBC,EACAf,EACAF,EACAC,EAEH,EChGG,MAAgBsC,UAAkBC,MAEtC,WAAA9E,CAAsB4C,EAAcmC,EAAqBC,GACvD,GAAID,aAAeF,EAAW,OAAOE,EAErC9E,MADgB,IAAI2C,MAASmC,aAAeD,MAAQC,EAAIxE,QAAUwE,KAElErE,KAAKsE,KAAOA,EACRD,aAAeD,QAAOpE,KAAKuE,MAAQF,EAAIE,MAC5C,EAWG,MAAOC,UAAwBL,EACnC,WAAA7E,CAAY+E,EAAqBnC,EAAOsC,EAAgBtC,KAAMoC,EAAO,KACnE/E,MAAM2C,EAAMmC,EAAKC,EAClB,EAgBG,MAAOG,UAAwBD,EACnC,WAAAlF,CAAY+E,GACV9E,MAAM8E,EAAKI,EAAgBvC,KAAM,IAClC,EAiBG,MAAOwC,UAAsBP,EACjC,WAAA7E,CAAY+E,EAAqBnC,EAAOwC,EAAcxC,KAAMoC,EAAO,KACjE/E,MAAM2C,EAAMmC,EAAKC,EAClB,EAiBG,MAAOK,UAA2BD,EACtC,WAAApF,CAAY+E,GACV9E,MAAM8E,EAAKM,EAAmBzC,KAAM,IACrC,EAiBG,MAAO0C,UAAsBJ,EACjC,WAAAlF,CAAY+E,GACV9E,MAAM8E,EAAKO,EAAc1C,KAAM,IAChC,EAgBG,MAAO2C,UAAsBL,EACjC,WAAAlF,CAAY+E,GACV9E,MAAM8E,EAAKQ,EAAc3C,KAAM,IAChC,ECnGH,MAEM4C,EAA8B,CAAEC,SAFd,IA4CXC,EAAiB,CAC5BC,EACAC,EACAC,EACApD,KAEA,MAAMG,EAAOiD,EAAE7F,YAAY4C,KAC3B,IAAKA,EAAM,MAAM,IAAIwC,EAAc,mCACnC3C,EAAQA,GAAS,GAEbkD,EAAIG,MAAMhD,SAASF,IAAS+C,EAAIG,MAAMhD,SAASF,GAAMgD,KACvDnD,EAAQ,IAAKkD,EAAIG,MAAMhD,SAASF,GAAMgD,MAAUnD,IAElD,IAAIY,EAAQH,OAAOE,eAAeyC,GAClC,OAAIxC,IAAUH,OAAOC,UAAkBV,GACnCY,EAAMrD,YAAY4C,OAASA,IAAMS,EAAQH,OAAOE,eAAeC,IAE5DqC,EAAeC,EAAKC,EAAMvC,EAAOZ,GAC1C,WAiBgBsD,EAKdC,EACAC,EACAC,GAEA,MAAMzD,EAA2B,GACjC,IAAK,MAAMmD,KAAQK,EAAY,CAC7B,MAAME,EAA4BF,EAAWL,GAC7C,IAAK,MAAMD,KAAOQ,EAAM,CACtB,MAAMzE,IAAEA,GAAQiE,EACV7C,EAAoDW,EAAWpB,IAInE2D,EAAOJ,EAAMM,EAASxE,GACxB,IAAKoB,IAAaA,EAASE,OACzB,MAAM,IAAIoC,EACR,uDAAuDc,EAASxE,oBAAsBkE,KAG1F,MAAMQ,EAAcV,EAAeC,EAAKC,EAAMI,GAC9C,IAAKI,EACH,MAAM,IAAIhB,EAAc,4CAE1B,IAAK,MAAM7B,KAAWT,EAAU,CAC9B,MAAMuD,EAAYD,EAAY7C,EAAQX,MACtC,IAAKyD,EACH,MAAM,IAAIjB,EACR,yCAAyC7B,EAAQX,MAErD,MAAM0D,EAAQD,EAAkCC,KAChD7D,EAAM8D,KAAK,CACThD,UACA+C,KAAM,CAACA,GACPV,KAAM,CAACA,IAEV,CACF,CACF,CACD,OAAOnD,CACT,CAUM,SAAU+D,EACdP,GAEA,MAAMQ,EAAUR,EAAWS,OACzB,CAACC,EAAKhB,KACJ,IAAKA,IAAQA,EAAIW,OAASX,EAAIC,KAC5B,MAAM,IAAIR,EAAc,wCAG1B,IAAKO,EAAIW,KAAK,GAAGM,MAEf,OADAD,EAAIE,IAAIC,SAAUnB,GACXgB,EAGT,MAAMI,EAAWpB,EAAIW,KAAK,GAAGM,MAE7B,GAAKD,EAAIK,IAAID,GAGN,CACL,MAAME,EAAWN,EAAItE,IAAI0E,GAEzBJ,EAAIE,IAAIE,EAAU,CAChBxD,QAAS0D,EAAS1D,QAClB+C,KAAM,IAAIW,EAASX,QAASX,EAAIW,MAChCV,KAAM,IAAIqB,EAASrB,QAASD,EAAIC,OAEnC,MATCe,EAAIE,IAAIE,EAAU,IAAKpB,IAWzB,OAAOgB,GAET,IAAIO,KAGAC,EAASC,MAAMC,KAAKZ,EAAQrC,UAiBlC,OAdA+C,EAAOG,QAASV,IACd,MAAMW,EAAWX,EAAMN,KAAKkB,IAAI,CAACC,EAAGC,KAAO,CACzCpB,KAAMmB,EACN7B,KAAMgB,EAAMhB,KAAK8B,MAGnBH,EAASI,KACP,CAACC,EAAGC,KAAOD,EAAEtB,KAAKwB,eAAiB,KAAOD,EAAEvB,KAAKwB,eAAiB,KAGpElB,EAAMN,KAAOiB,EAASC,IAAKO,GAAMA,EAAEzB,MACnCM,EAAMhB,KAAO2B,EAASC,IAAKO,GAAMA,EAAEnC,QAG9BuB,CACT,CAUM,SAAUa,EACd/B,GASA,OANAA,EAAW0B,KAAK,CAACC,EAAGC,KACAD,EAAEtB,KAAK,GAAGb,UAxMR,KAyMFoC,EAAEvB,KAAK,GAAGb,UAzMR,KA6MfQ,CACT,UAYgBgC,EACd1E,EAGA+C,EACA4B,GAEA,OAAOC,GAAGxG,EAAaK,cAAeuB,EAAS+C,EAAM4B,EACvD,UAWgBE,EACd7E,EACA+C,EACA4B,GAEA,OAAOC,GAAGxG,EAAaG,OAAQyB,EAAS+C,EAAM4B,EAChD,UAWgBG,EACd9E,EACA+C,EACA4B,GAEA,OAAOC,GAAGxG,EAAaC,OAAQ2B,EAAS+C,EAAM4B,EAChD,UAYgBI,GACd/E,EACA+C,EACA4B,GAEA,OAAOC,GAAGxG,EAAaE,KAAM0B,EAAS+C,EAAM4B,EAC9C,UAYgBK,GACdhF,EACA+C,EACA4B,GAEA,OAAOC,GAAGxG,EAAaI,OAAQwB,EAAS+C,EAAM4B,EAChD,UAYgBM,GACdjF,EACA+C,EACA4B,GAEA,OAAOC,GAAGxG,EAAaO,IAAKqB,EAAS+C,EAAM4B,EAC7C,CAmBgB,SAAAC,GACdM,EAAsB9G,EAAaO,IACnCqB,EACA+C,EACA4B,GAEA,OAAO1F,GAAUnB,EAAcqH,GAAID,EAAIlF,EAAS+C,EAAM4B,EACxD,UAWgBS,GACdpF,EAGA+C,EACA4B,GAEA,OAAOU,GAAMjH,EAAaK,cAAeuB,EAAS+C,EAAM4B,EAC1D,UAYgBW,GACdtF,EACA+C,EACA4B,GAEA,OAAOU,GAAMjH,EAAaG,OAAQyB,EAAS+C,EAAM4B,EACnD,UAYgBY,GACdvF,EACA+C,EACA4B,GAEA,OAAOU,GAAMjH,EAAaC,OAAQ2B,EAAS+C,EAAM4B,EACnD,UAYgBa,GACdxF,EACA+C,EACA4B,GAEA,OAAOU,GAAMjH,EAAaE,KAAM0B,EAAS+C,EAAM4B,EACjD,UAWgBc,GACdzF,EACA+C,EACA4B,GAEA,OAAOU,GAAMjH,EAAaI,OAAQwB,EAAS+C,EAAM4B,EACnD,UAYgBe,GACd1F,EACA+C,EACA4B,GAEA,OAAOU,GAAMjH,EAAaO,IAAKqB,EAAS+C,EAAM4B,EAChD,CAmBgB,SAAAU,GACdH,EAAsB9G,EAAaO,IACnCqB,EACA+C,EACA4B,GAEA,OAAO1F,GAAUnB,EAAc6H,MAAOT,EAAIlF,EAAS+C,EAAM4B,EAC3D,CA8BgB,SAAA1F,GACd2G,EACA3G,EAA6Bb,EAAaO,IAC1CqB,EACA6F,EACAlB,EAAuB1C,GAEvB,MAAO,CAAClD,EAAa+G,KACnB,MAAMzG,EAAON,EAAOtC,YAAY4C,KAC1BqD,EAAazD,EAAUkE,OAAO,CAACjE,EAAcgG,KACjD,MAAMa,EAAcH,EAASV,EAC7B,IAAInC,EAAOvC,EAASwF,cAClBjH,EAAOtC,YACPqJ,EACAC,GAEGhD,IACHA,EAAO,CACL9D,UAAWiG,EACX3F,SAAU,CAAE,IAGhB,MAAM0G,EAAa/F,EAAWC,eAAeH,GAE7C,IAAIkG,EAAYvB,EAEhB,GAAIkB,EAAW,CACb,GAAIlG,OAAOmB,KAAK+E,GAAWM,OAAQhI,GAAQA,KAAOwG,GAAWlF,OAAS,EACpE,MAAM,IAAIoC,EACR,mEAGJqE,EAAY,IAAKvB,KAAckB,EAChC,CAsBD,OAnBG9C,EAAKxD,SAASF,IACd0D,EAAKxD,SAASF,GAAMyG,IACnBG,KAAclD,EAAKxD,SAASF,GAAMyG,KAEpC/C,EAAKxD,SAASF,GAAQ0D,EAAKxD,SAASF,IAAS,GAC7C0D,EAAKxD,SAASF,GAAMyG,GAClB/C,EAAKxD,SAASF,GAAMyG,IAAgB,CAAA,EACtC/C,EAAKxD,SAASF,GAAMyG,GAAaG,GAAc,CAC7ClD,KAAMmD,GAERhH,EAAM8D,KA1gBd,EAAgBkC,EAAmBlF,IAC1B,CAACjB,EAAa+G,KACnB5F,EAAWH,SAASC,EAASkF,EAAInG,EAAQ+G,IAygBnCM,CAAOL,EAA8B/F,GACrCqG,EACE7F,EAASrC,IAAIJ,EAAgBuI,WAAYR,EAAaC,GACtDhD,KAKC7D,GACN,IACH,OAAOqH,KAAS7D,EAAT6D,CAAqBxH,EAAQ+G,GAExC,CAyCgB,SAAAU,GACdrI,EACA6B,GAEA,MAAO,IAAIyG,IACFC,EAASvI,EAAK,CAAEtB,KAAM4J,EAAQzG,WAEzC,CA0Ba,MAAA2G,GAAmBC,GAC9BJ,GACE1I,EAAc9C,QAAU8C,EAAc+I,MACtC,CAACD,EAA8B3H,IACtB2H,EAAWE,SAAS7H,GAH/BuH,CAKEI,GA0BSG,GACX/G,GAEAwG,GACE1I,EAAc9C,QAAU8C,EAAc+I,MACtC7G,EAFFwG,GC1qBI,SAAUQ,GACdhK,EAAkBd,EAAuBT,SAASU,SAElD,MAAMgC,EAAMpD,EAAOU,SACbwL,EAAO,CACXjK,QAASA,EACTkK,YAAa,oCACbC,OAAO,GAET,OAAO7G,EAAW8G,IAAIjJ,GACnBkJ,OAAO,CACNC,UAAWC,EACX1K,KAAM,CAACmK,GAAU7I,EAAK8I,KAEvBV,OACL,CAiBOY,eAAeK,GAMpBC,EACA1E,EACA5E,EACAsE,GAECA,EAActE,GAAOsJ,EAAQC,SAChC,CAiDM,SAAUA,GACdzI,EAA6Bb,EAAaK,cAC1CkJ,EAAiB1L,GAEjB,MAAM2L,EAAgB7M,EAAOW,UACvBmM,EAAsB5J,EAAWC,UAAUnD,EAAOW,WAqBxD,OAAO4E,EAAW8G,IAAIQ,GACnBP,OAAO,CACNC,UArBJ,CAAYrI,EAA4B0I,KACtC,MAAMjF,EAAoB,CACxBoF,EAAKH,EAAQzL,EAAuBR,UAAUW,MAC9C0L,EAAS7L,EAAuBR,UAAUU,UAC1CiK,EAAapI,EAAWE,IAAIpD,EAAOW,WAAY,CAC7CuD,UAAWA,EACX0I,OAAQA,IAEV/C,GAAG3F,EAAWuI,KAShB,OAPiD,IAA7CvI,EAAU+I,QAAQlK,EAAcS,QAClCmE,EAAWM,KACTqD,EAAawB,EAAqB,CAChC7K,QAASd,EAAuBR,UAAUS,WAG3CuG,EAAWM,KAAKgE,MACdT,KAAS7D,EACjB,EAIG7F,KAAM,CAACoC,EAAW0I,KAEnBpB,OACL,CAiBOY,eAAec,GAMpBR,EACA1E,EACA5E,EACAsE,GAEA,GAAKA,EAAMtE,GACX,IACEsE,EAAMtE,GAAO+J,KAAKC,UAAU1F,EAAMtE,GAEnC,CAAC,MAAOV,GACP,MAAM,IAAIqE,EACR,uBAAuB3D,EAAI8C,gCAAgCwB,EAAMhG,YAAY4C,UAEhF,CACH,CAiBO8H,eAAeiB,GAMpBX,EACA1E,EACA5E,EACAsE,GAEA,GAAKA,EAAMtE,IACe,iBAAfsE,EAAMtE,GAEjB,IACEsE,EAAMtE,GAAO+J,KAAKG,MAAM5F,EAAMtE,GAC/B,CAAC,MAAOV,GACP,MAAM,IAAIqE,EACR,yBAAyB3D,EAAI8C,gCAAgCwB,EAAMhG,YAAY4C,SAAS5B,IAE3F,CACH,UA6BgB6K,KACd,OAAO/B,EACL7B,EAAeuD,IACf5C,GAAMjH,EAAaO,IAAKyJ,IACxBG,EAAK,CAACC,OAAQ7I,SACd+G,EAAS3L,EAAOS,UAAW,CAAE,GAEjC,UC/PgBiN,KAOd,OAAOlC,EAAMwB,IAAYf,KALhB,CAAqBvE,EAAeJ,IAClCgE,EAAa7F,EAASrC,IAAIpD,EAAOM,GAAIgH,GAAO,CAAE,EAA9CgE,CAAgD5D,EAAOJ,GAKpE,CCegB,SAAAqG,GACdjG,EACAkG,GAEA,MAAMC,EAA6B,GACnC,IAAK,MAAMvG,KAAQI,EAAO,CACxB,IACG9C,OAAOC,UAAUiJ,eAAeC,KAAKrG,EAAOJ,IAC7CsG,EAAc7B,SAASzE,GAEvB,SAEF,MAAMK,EACJlC,EAASuI,cAActG,EAAMhG,YAA4B4F,IAAS,GAUpEuG,EAAoB5F,KAAK,CAAEX,OAAMK,cAClC,CAED,OAAOkG,CACT,CAEM,SAAUI,GAIdC,EACAC,EACA7G,EACAiF,EACAH,GAEA,MAAM7J,EAA6BW,EAAWa,IAC5CwI,EAAUnJ,KAGZ,IAAKb,EACH,MAAUiE,MAAM,yBAAyB+F,EAAUnJ,KAIrD,IAAKb,EAAUR,gBAAiB,OAAOqM,OAAqBlM,EAAWkK,GAGvE,IAAKA,GAASG,EAAUH,MAAO,OAAOgC,OAAqBlM,EAAWkK,GAEtE,MAAMiC,EAAiBzJ,OAAOkB,OAAOyG,IAAc,CAAA,EAO7C+B,EAAa/L,EAAUR,gBAC1BmM,EAAiB5G,GACjB6G,EAAiB7G,MACf+G,GAGL,OAAOD,EAAqBE,EAAYlC,EAC1C,CAEM,SAAUmC,GAIdL,EACAC,EACA7G,EACAK,EACAyE,GAEA,MAAMoC,EAAmD,CAAA,EAEzD,IAAK,MAAMC,KAAgB9G,EAAY,CACrC,MAAM4E,EAAY,IAAK5E,EAAW8G,GAAerL,IAAKqL,GAEtD,IAAKrC,GAASG,EAAUH,MAAO,SAE/B,IAAIsC,EAAmBT,GACrBC,EACAC,EACA7G,EACAiF,EACAH,GAQF,GAAIG,EAAUnJ,MAAQuL,EAAeC,QAAUF,GAAoBtC,GAAQ,CACzE,MAAMyC,EAAgBX,EAAiB5G,GACjCwH,EAAgBX,EAAiB7G,GAEjCyH,EACJF,aAAwBG,IAAM,IAAIH,GAAgBA,EAC9CI,EACJH,aAAwBE,IAAM,IAAIF,GAAgBA,EAEpD,GAAIC,GAAWrK,OAAQ,CACrB,MAGMwK,EAAe,CAFnB3C,EAAU4C,OAAS5C,EAAU6C,OAAS7C,EAAU8C,aAErBC,OAAOpG,IAAKqG,KAEvCA,GADAA,EAAiB,mBAANA,GAAqBA,EAAEjL,KAAaiL,EAANA,KAC1BjL,KAAQiL,EAAUjL,KAAOiL,GACjC9B,IAAU+B,eAGbC,EAAOV,EAAU7F,IAAKwG,IAE1B,MAAMhC,EAAKiC,EAAMC,GAAGF,GAAmB,GACvC,IAAKhC,EAAI,MAAO,0BAEhB,MAAMmC,EAAeZ,EAAUa,KAC5BC,GAAYrC,IAAOiC,EAAMC,GAAGG,GAAW,IAG1C,OAAIJ,EAAMK,QAAQN,GACTA,EAAW9N,UAAUiO,GAGvBX,EAAanD,gBAAgB2D,QAChCxN,EACA,kCAGN,GAAIkK,EACFsC,EAAmBuB,QAAQC,IAAIT,GAAMU,KAAM3B,GACxBA,EAAO4B,MAAOC,IAAOA,QACpBnO,EAAYsM,OAE3B,CACL,MAAM8B,EAAWb,EAAKW,MAAOC,IAA2BA,GACxD3B,EAAmBe,EAAK/K,OAAS,IAAM4L,EAAWb,OAAOvN,CAC1D,CACF,CACF,CAEGwM,IAAmBF,EAAejC,EAAUnJ,KAAOsL,EACxD,CAED,IAAKtC,EACH,OAAOxH,OAAOmB,KAAKyI,GAAQ9J,OAAS,EAAK8J,OAAiBtM,EAE5D,MAAM6D,EAAOnB,OAAOmB,KAAKyI,GACnB+B,EAAW3L,OAAOkB,OAAO0I,GAC/B,OAAOyB,QAAQC,IAAIK,GAAUJ,KAAMK,IACjC,MAAMC,EAA8B,CAAA,EACpC,IAAK,IAAIrH,EAAI,EAAGA,EAAIoH,EAAe9L,OAAQ0E,IAAK,CAC9C,MAAMsH,EAAMF,EAAepH,QACflH,IAARwO,IACFD,EAAI1K,EAAKqD,IAAMsH,EAElB,CACD,OAAO9L,OAAOmB,KAAK0K,GAAK/L,OAAS,EAAI+L,OAAMvO,GAE/C,CAiCM,SAAUyO,GACdxC,EACAD,EACA9B,KACGwB,GAEH,MAAMgD,EAAyBjD,GAC7BO,EACAN,GAGIY,EAA8B,CAAA,EAC9BqC,EAAoC,CAAA,EAE1C,IAAK,MAAMvJ,KAAEA,EAAIK,WAAEA,KAAgBiJ,EAAwB,CACzD,MAAM3M,EAAiBqD,EAAPmG,GACVqD,EAAa5C,EAAiB5G,IAE9ByJ,YAAEA,EAAWC,WAAEA,GAAevL,EAASwL,mBAC3C/C,EAASxM,YACT4F,GAEF,IAAKyJ,EAAa,SAGlB,GAAIA,EAAYG,KAAM3B,GAAM,CAACzG,MAAMxE,KAAM0K,IAAI1K,MAAMyH,SAASwD,IAAK,CAC/D,IACG5H,IACA/C,OAAOmB,KAAK4B,GAAYoE,SAAS4C,EAAeC,MACjD,CACAJ,EAAOvK,GAAW,CAChB,CAAC0K,EAAewC,MAAO,0BAA0BlN,iCAEnD,QACD,CAED,GACE6M,KACEhI,MAAMsI,QAAQN,IAAcA,aAAqB9B,KACnD,CACAR,EAAOvK,GAAW,CAChB,CAAC0K,EAAewC,MAAO,aAAoB7J,EAAPmG,wCAEtC,QACD,CACF,CAGD,MAAM4D,EACJ9C,GAAmBL,EAAUC,EAAUlK,EAAS0D,EAAYyE,IAAU,GAIlEkF,EAAW3B,EAAM4B,gBAAgBrD,EAAUjK,GAGjD,GAFqB6M,SAEDQ,EAAU,CAC5B,MAAME,EAAWV,EAEXW,GAAU3I,MAAMsI,QAAQJ,GAAcA,EAAa,CAACA,IACvD9H,IAAKC,IACa,mBAANA,GAAqBA,EAAE7E,OAAM6E,EAAIA,KACrCwG,EAAM5L,IAAIoF,EAAE7E,MAAQ6E,KAE5B2G,KAAM3G,KAAQA,GAGZsI,GAAYD,aAAoBC,EAMnCZ,EAAa5M,GAAWuN,EAAS5P,UAAWuM,EAAiB7G,KAL7D+J,EAAW1C,EAAewC,MAASM,EAE/B,gCAAgCA,EAAOnN,KADvC,iEAAiEyM,EAAY7K,sBAAsBjC,WAEhGoN,EAAWnR,EAAUiR,MAI/B,EAIGvM,OAAOmB,KAAKsL,GAAY3M,OAAS,GAAK0H,KACxCoC,EAAOvK,GAAWoN,GAGfjF,GACHxH,OAAO8M,QAAQb,EAAa5M,IAAY,CAAA,GAAI+E,QAAQ,EAAE5F,EAAKuO,WAC3CzP,IAAVyP,IACFnD,EAAO,GAAGvK,KAAWb,KAASuO,IAIrC,CAGD,IAAKvF,EACH,OACExH,OAAOmB,KAAKyI,GAAQ9J,OAAS,EACzB,IAAIkN,EAAqBpD,QACzBtM,EAIR,MAAM2P,EAAcrD,EAEdzI,EAAOnB,OAAOmB,KAAK8L,GACnBtB,EAAW3L,OAAOkB,OAAO+L,GAC/B,OAAO5B,QAAQ6B,WAAWvB,GAAUJ,KAAK/D,MAAO2F,IAC9C,MAAMvD,EAAsB,CAAA,EAE5B,IAAK,MAAOwD,EAAYC,KAAqBrN,OAAO8M,QAAQb,GAAe,CACzE,MAAMqB,QAA6BD,EAK/BC,GACFtN,OAAO8M,QAAQQ,GAAqBlJ,QAClC,EAAEmJ,EAAYC,WACelQ,IAAvBkQ,IAEF5D,EADkB,CAACwD,EAAYG,GAAYE,KAAK,MAC5BD,IAI7B,CAED,IAAK,IAAIhJ,EAAI,EAAGA,EAAI2I,EAAQrN,OAAQ0E,IAAK,CACvC,MAAMhG,EAAM2C,EAAKqD,GACXqH,EAAMsB,EAAQ3I,GAED,cAAfqH,EAAI6B,aAAwCpQ,IAAduO,EAAI5O,MACnC2M,EAAepL,GAAOqN,EAAI5O,MACH,aAAf4O,EAAI6B,SACZ9D,EAAepL,GACdqN,EAAI8B,kBAAkB/L,MAClBiK,EAAI8B,OAAOtQ,SACJwO,EAAI8B,QAAU,qBAArB9E,GAET,CAED,OAAO7I,OAAOmB,KAAKyI,GAAQ9J,OAAS,EAChC,IAAIkN,EAAqBpD,QACzBtM,GAER,CC1VM,SAAUsQ,GAMd9F,EACA1E,EACA5E,EACAsE,EACAyG,GAEA,QAA0B,IAAfzG,EAAMtE,GAAsB,OACvC,MAAM6C,EAAOD,EAAQC,KAAMyB,EAActE,IACrC+K,GAAazG,EAActE,KAAS6C,IACxCyB,EAAMtE,GAAO6C,EACf,UASgBA,KACd,OAAOuF,EACL7B,EAAe6I,IACflH,EAAatL,EAAOa,KAAM,CAAE,GAEhC,CAwCM,SAAU4R,GAIL/F,EAAiC1E,EAAS5E,EAAcsE,GACjE,IACE,MAAM5F,KAAEA,EAAI0L,KAAEA,EAAI5F,OAAEA,EAAM8K,OAAEA,EAAMC,UAAEA,EAASC,YAAEA,EAAWC,WAAEA,GAC1D7K,EACI8K,EAAWhR,EACdoH,IAAK6J,IACJ,KAAMA,KAAOrL,GACX,MAAM,IAAIZ,EAAc,YAAYiM,+BACtC,GAAa,SAATvF,EAAiB,OAAOuF,EAC5B,QAAmC,IAAvBrL,EAAcqL,GAAsB,CAC9C,GAAIH,EAAa,CACf,IAAK9J,MAAMsI,QAAQwB,GAAc,OACjC,GAAIA,EAAY7G,SAASgH,GAAM,MAChC,CACD,MAAM,IAAIjM,EACR,YAAYhF,6CAEf,CACD,OAAS4F,EAAcqL,GAAa7M,aAErCkF,OAAQ9B,IAAOsJ,KAAgBtJ,GAE9B1B,GAAQkL,EAASnO,QAAQiD,GACzB8K,GAAQI,EAAS7K,KAAKyK,GAE1B,MAAMvM,EAAc2M,EACjB5J,IAAKO,GACgB,iBAANA,GAAmC,oBAAjBA,EAAEvD,WAC9BiH,KAAKC,UAAU3D,GACfA,GAEL4I,KAAKM,GAEPjL,EAActE,GAAOyP,EAAa7M,EAAQC,KAAKE,GAAOA,CACxD,CAAC,MAAOzD,GACP,MAAM,IAAIoE,EAAc,4BAA4BpE,EACrD,CACH,CAgBA,SAASsQ,GACPlR,EACA+Q,GAAsB,EACtBF,EAAoB1R,EACpB2R,GAAkC,EAClCpF,EAA0B,SAC1B5F,EAAS,GACT8K,EAAS,GACT9I,EAAuB,CAAEzC,SAAU,KA+BnC,OAAO5B,EAAW8G,IAAIrM,EAAOc,UAC1BwL,OAAO,CACNC,UA/BJ,CACEzK,EACA+Q,EACAF,EACAnF,EACA5F,EACA8K,EACA9I,IAEO,CAAqB5F,EAAgBiP,KAC1C,MAAMjL,EAA6B,CACjClG,KAAMA,EACN+Q,WAAYA,EACZF,UAAWA,EACXnF,KAAMA,EACN5F,OAAQA,EACR8K,OAAQA,EACRE,YAAaA,GAGTjL,EAAa,CACjBgC,EAAe8I,GAA0BzK,EAAM4B,GAC/C0B,EAAa7F,EAASrC,IAAIpD,EAAOc,SAAUmS,GAAWjL,IAGxD,OADI6K,GAAYlL,EAAWM,KAAKhC,MACzBuF,KAAS7D,EAAT6D,CAAqBxH,EAAQiP,EACtC,EAMEnR,KAAM,CAACA,EAAM+Q,EAAYF,EAAWnF,EAAM5F,EAAQ8K,EAAQ9I,KAE3D4B,OACL,CAeM,SAAU0H,GACdpR,EACA6Q,EAAoB1R,EACpB2R,GAAkC,EAClC3M,GAAgB,EAChB2B,EAAS,GACT8K,EAAS,GACT9I,EAAuB,CAAEzC,SAAU,KAEnC,OAAO6L,GACLlR,EACAmE,EACA0M,EACAC,EACA,OACAhL,EACA8K,EACA9I,EAEJ,CAeM,SAAUkJ,GACdhR,EACA6Q,EAAoB1R,EACpB2R,GAAkC,EAClC3M,GAAgB,EAChB2B,EAAS,GACT8K,EAAS,GACT9I,EAAuB,CAAEzC,SAAU,KAEnC,OAAO6L,GACLlR,EACAmE,EACA0M,EACAC,EACA,SACAhL,EACA8K,EACA9I,EAEJ,CAgCM,SAAUuJ,GAAoBjP,GAClC,MAAO,CAIIwI,EAAiC1E,EAAS5E,EAAcsE,KACjE,IACE,OAAQxD,GACN,KAAKnB,EAAcO,OAChBoE,EAActE,GAAO,EACtB,MACF,KAAKL,EAAcS,OAChBkE,EAActE,KACf,MACF,QACE,MAAM,IAAI0D,EAAc,sBAAsB5C,GAEnD,CAAC,MAAOxB,GACP,MAAM,IAAIoE,EAAc,6BAA6BpE,EACtD,CACH,CACF,UASgB0Q,KACd,MAAMhQ,EAAMpD,EAAOe,QACnB,OAAOwE,EAAW8G,IAAIjJ,GACnBkJ,OACCkB,EAAK6F,QACLtJ,EAASoJ,GAAoBpQ,EAAcO,SAC3CwG,EAASqJ,GAAoBpQ,EAAcS,SAC3C8H,EAAalI,GAAK,IAEnBoI,OACL,UASgB8H,KACd,OAAO/N,EAAW8G,IAAIrM,EAAOY,WAC1B0L,OAAO,CAAmB5E,EAAY6L,KACrCjI,EAAatL,EAAOY,WAAW,EAA/B0K,CAAqC5D,EAAMhG,aAC3C4J,EAAa7F,EAASrC,IAAIpD,EAAOY,UAAW2S,GAAY,GAAxDjI,CACE5D,EACA6L,EAEJ,GACC/H,OACL,CCnVM,SAAUgI,GACdC,GAEA,OAAOA,EAAOrL,OAAO,CAACjE,EAA2BzB,EAAG0G,KAC9C1G,IACFyB,EACmB,iBAAVA,EACHA,EAAQ,QAAQiF,MAAM1G,EAAEwD,aACxB,MAAMkD,MAAM1G,EAAEwD,cACf/B,QACNjC,EACL,CAeOkK,eAAesH,GAKpBC,EACAjH,EACAhF,EACAxD,EACA0D,EACAuG,GAEA,MAAMxG,EACJiM,GAAgBlM,EAAOxD,EAAW0D,GAEpC,IAAKD,EAAY,OAEjB,MAEMkM,EAAmBnK,EADCxB,EADAT,EAAsBC,EAAOC,EAAYC,KAInE,IAAK,MAAMP,KAAOwM,EAAkB,CAClC,MAAM/R,EAAc,CAClB4K,EACArF,EAAIW,KAAKtD,OAAS,EAAI2C,EAAIW,KAAOX,EAAIW,KAAK,GAC1CX,EAAIC,KAAK5C,OAAS,EAAI2C,EAAIC,KAAOD,EAAIC,KAAK,GAC1CI,GAGF,GACE,CAAC3E,EAAcS,OAAQP,EAAsB6Q,YAAY/H,SACvD7H,GAEF,CACA,IAAKiK,EACH,MAAM,IAAIrH,EAAc,0CAC1BhF,EAAKmG,KAAKkG,EACX,CACD,UACS9G,EAAIpC,QAA4CuG,MACrDmI,EACA7R,EAEH,CAAC,MAAOY,GACP,MAAM+D,EAAM,6BAA6BY,EAAIpC,QAAQX,YAAY+C,EAAIC,WAAWI,EAAMhG,YAAY4C,sBAAsB5B,IACxH,GAAIgK,EAAQ3I,IAAI,uBAAwB,MAAM,IAAI+C,EAAcL,GAChEiG,EAAQqH,OAAO1H,IAAIqH,IAAqB/B,MAAMlL,EAC/C,CACF,CACH,UAYgBmN,GACdlM,EACAxD,EACA8P,GAEA,MAAMpM,EAASoM,GAAaC,QAAQ,OAAQ,IAEtCtM,EAAalC,EAAS1B,IAC1B2D,EAAMhG,YACNsB,EAAgBuI,YAGlB,GAAK5D,EACL,OAAO/C,OAAOmB,KAAK4B,GAAYS,OAC7B,CAACjE,EAAwDoI,KACvD,MAAM2H,EAAMtM,EACRD,EAAW4E,GAAW3E,IAAW,CAAE,EACnCD,EAAW4E,GACTlF,EAAMzC,OAAOmB,KAAKmO,GAAK9I,OAAQjC,GAAWA,IAAMjF,GAChD2D,EAAO,GACb,IAAK,MAAMsB,KAAK9B,EAAKQ,EAAKI,KAAK,CAAE7E,IAAK+F,EAAG3B,MAAO0M,EAAI/K,KAMpD,OAJItB,GAAQA,EAAKnD,SACVP,IAAOA,EAAQ,CAAA,GACpBA,EAAMoI,GAAa1E,GAEd1D,QAETjC,EAEJ,CChIAyN,EAAM9K,UAAUsP,YAAc,WAC5B,OAAO1O,EAAS0O,YAAY/R,KAC9B,EAYAuN,EAAM9K,UAAUjD,UAAY,SAE1BwS,KACGC,IAECD,GAAqBA,aAA2BzE,IAClD0E,EAAW1P,QAAQyP,GACnBA,OAAkBlS,GAGpB,MAAMkK,EAAQhK,KAAKkS,UACb7E,EAAO8E,EAASnS,KAAMgK,KAAUiI,GAEtC,OAAIjI,EACK6D,QAAQuE,QAAQ/E,GAAMU,KAAMsE,GAC7BA,IAAiBL,EACZK,EAEF9D,GAAgByD,EAAiBhS,KAAMgK,KAAUiI,IAIxD5E,IAAS2E,EAAwB3E,EAG9BkB,GAAgByD,EAAiBhS,KAAMgK,KAAUiI,EAC1D,EAEA1E,EAAM9K,UAAU6P,UAAY,WAG1B,OAAO/E,EAAM+E,UAAUtS,KACzB,EAECuN,EAAc+E,UACbhN,IAEA,IAAKjC,EAAS0O,YAAYzM,GAAQ,MAAO,CAAEA,MAAOA,GAClD,MAAMmG,EAAsBpI,EAASkP,sBACnCjN,EAAMhG,aAGFkT,EAAiBnP,EAAS1B,IAC9B2D,EAAMhG,YACN1B,EAAOY,WAGH4N,EAAS,CACb9G,MAAO,CAAyB,EAChC4L,UAAW,CAAyB,GAEtC,IAAK,MAAMlQ,KAAOyK,EAEhB,GADoBjJ,OAAOmB,KAAK6O,GAAgB7I,SAAS3I,GACxC,CACfoL,EAAO8E,UAAY9E,EAAO8E,WAAa,CAAA,EACvC,IACE9E,EAAO8E,UAAUlQ,GAAOsE,EAAMtE,EAC/B,CAAC,MAAOV,GACP,MAAM,IAAIqE,EACR,0CAA0C3D,MAAQV,IAErD,CACF,MACC8L,EAAO9G,MAAQ8G,EAAO9G,OAAS,CAAA,EAC/B8G,EAAO9G,MAAMtE,GAAQsE,EAA8BtE,GAKvD,OADAoL,EAAO9G,MAAQiI,EAAMkF,MAAMrG,EAAO9G,MAAOA,EAAMhG,YAAY4C,MACpDkK,CACT,EAECmB,EAAcC,IAAK,CAClBlI,EACAoN,GAAW,KAEX,IAAKpN,EAAO,MAAUlB,MAAM,yBAC5B,MAAMuO,EAASrN,aAAiBiI,EAAQjI,EAAMhG,YAAcgG,EACtDsN,EAASvP,EAAS1B,IAAIgR,EAAuB/U,EAAOM,IAC1D,IAAK0U,EACH,MAAUxO,MACR,qCAAoCuO,GAAQzQ,MAAQ,kBAGxD,MAAMlB,EAAMwB,OAAOmB,KAAKiP,GAAQ,GAChC,IAAKF,EAAU,OAAO1R,EACtB,GAAIsE,aAAiBiI,EAAO,OAAOjI,EAAMtE,GACzC,MAAUoD,MAAM,sDAClB,GAAEyO,KAAKtF,GAENA,EAAcuF,SACbxN,GAEOjC,EAAS1B,IACd2D,EACAjC,EAASrC,IAAIpD,EAAOM,GAAIqP,EAAMC,GAAGlI,MAEnCuN,KAAKtF,GAENA,EAAcwE,aACbzM,GAEOjC,EAAS0O,YAAYzM,IAC5BuN,KAAKtF,GAENA,EAAcmD,UAAW,CACxBpL,EACAJ,KAEA,MAAMyN,EACJrN,aAAiBiI,EAASjI,EAAMhG,YAAiCgG,EACnE,OAAIJ,EACK7B,EAAS1B,IAAIgR,EAAQtP,EAASrC,IAAIpD,EAAOc,SAAUwG,MACnD7B,EAAS1B,IAAIgR,EAAQ/U,EAAOc,SACvC,GAAEmU,KAAKtF,GAWNA,EAAcwF,OAAQ,CACrBhH,EACAD,EACAxM,KAGA,MAAM0T,EAAW1N,GACf9C,OAAO8M,QAAQhK,GAAOU,OAAO,CAACjE,GAA6Bf,EAAKsN,WAC3C,IAARA,IAAqBvM,EAAMf,GAAOsN,GACtCvM,GACN,CAAE,GAEP,OAAO,IAPPzC,EAAcA,GAAgByM,EAASzM,aAQrCkD,OAAOyQ,OAAO,CAAE,EAAED,EAAQjH,GAAWiH,EAAQlH,IAEjD,GAAE+G,KAAKtF,GAENlK,EAAiB6P,eAAgB,CAChC5N,EACAqD,EACA7G,EACAyH,KAEKZ,GACLtF,EAAS8C,IACPb,EACAjC,EAASrC,IAAIJ,EAAgBuI,WAAYR,EAAa7G,GACtDyH,EAEJ,GAAEsJ,KAAKxP,GAENA,EAAiBwF,eAAgB,CAChCvD,EACAqD,EACA7G,KAEA,GAAK6G,GAAgB7G,EACrB,OAAOuB,EAAS1B,IACd2D,EACAjC,EAASrC,IAAIJ,EAAgBuI,WAAYR,EAAa7G,GAE1D,GAAE+Q,KAAKxP,GAENA,EAAiB0O,aAChBzM,KAESjC,EAAS1B,IACC,mBAAV2D,EAAwBA,EAAMhG,YAAsBgG,EAC3D1H,EAAOY,YAETqU,KAAKxP,GChMM,MAAA8P,GAGT,CACFC,mBAAetT,EACfuT,cAAe,GACfC,4BAA6B,GAC7BC,SAAU,GACVC,gBAAgB,EAChBC,eAAgB,GAChB3R,eAAWhC,EACX4T,qBAAqB,EACrBC,sBAAsB,EACtBC,kBAAkB,EAClBC,gBAAgB,EAChBC,qBAAqB,EACrBC,gBAAgB,EAChBC,uBAAuB,GCOZC,GAIXtD,IAEO,IAAIuD,IAAaC,WACtB3R,OAAOyQ,OAAO,CAAE,EAAEtC,EAAK,CACrBpG,UAAW,IAAIlK,KACfsR,OAAQhB,EAAIgB,QAAUyC,EAAQzS,eA+DvBuS,GACX,WAAA5U,GAWSU,KAAA0B,MACP,IAAI2S,EAXJ7R,OAAO8R,eAAetU,KAAM,QAAS,CACnCP,MAAO,IAAI4U,EACXE,UAAU,EACVC,YAAY,EACZC,cAAc,GAEjB,QAEMzU,KAAO0U,QAAwBT,EAAsB,CAW5D,UAAAE,CAA6B1U,GAO3B,OANA+C,OAAO8R,eAAetU,KAAM,QAAS,CACnCP,MAAQO,KAAK0B,MAAiCyS,WAAW1U,GACzD8U,UAAU,EACVC,YAAY,EACZC,cAAc,IAETzU,IACR,CAED,UAAI2R,GACF,OAAQ3R,KAAK0B,MAAciQ,MAC5B,CAED,aAAIpH,GACF,OAAQvK,KAAK0B,MAAc6I,SAC5B,CAOD,GAAA5I,CAAuBX,GACrB,IACE,OAAQhB,KAAK0B,MAAiCC,IAC5CX,EAEH,CAAC,MAAOV,GACP,MAAMqU,EAAU3U,KAAK0B,MAAc0R,cAGnC,GAAIuB,EAAQ,OAAOA,EAAOhT,IAAIX,GAC9B,MAAMV,CACP,CACF,CAKD,gBAAOsU,CACLtK,EACAuK,GAEA,OAAOX,GAAQQ,QACblS,OAAOyQ,OAAO,CAAA,EAAK3I,EAAgB5I,MAAOmT,GAAa,CAAE,GAE5D,CAKD,iBAAalO,CACX7E,EAMA+S,EACAvP,KAEG5F,GAEH,OAAOwU,GAAQQ,QACblS,OAAOyQ,OAAO,CAAE,EAAEE,GAA2C0B,EAAW,CACtE/S,UAAWA,EACXwD,MAAOA,EACPqM,OAAQkD,EAAUlD,QAAWyC,EAAQzS,QAG1C,CAKD,iBAAajC,CACXoC,EAMAwD,EACA5F,EACAoV,EACAD,GAEA,MAAME,EAAOrV,EAAKsV,MAElBhL,eAAeiL,IACb,OAAIH,EACKA,EAAWxK,QAAQxI,EAAW+S,GAAa,CAAA,EAAIvP,KAAU5F,GAC3DwU,GAAQvN,KAAW7E,EAAW+S,GAAa,CAAA,EAAIvP,KAAU5F,EACjE,CAED,IAAI2H,EAeJ,OAdI0N,EACEA,aAAgBb,IAClB7M,EAAI0N,EACJrV,EAAKmG,KAAKkP,KAEVrV,EAAKmG,KAAKkP,GACV1N,QAAW4N,IACXvV,EAAKmG,KAAKwB,KAGZA,QAAW4N,IACXvV,EAAKmG,KAAKwB,IAGL,CAAEiD,QAASjD,EAAG3H,KAAMA,EAC5B,EC/NG,SAAUwV,GACdpD,EACA5J,EACA1C,EACA2P,GAEA,MAAMjT,EAAOiT,GAAwBjN,EAAMhG,KAE3C4P,EAAI5P,GAAQ,IAAIkT,MAAMtD,EAAI5P,GAAO,CAC/BkH,MAAOY,MAAOpI,EAAQyT,EAASC,KAC7B,IAAI3F,EAAUnK,EAAOmG,KAAK0J,KAAYC,GAOtC,OANI3F,aAAmB9B,UAAS8B,QAAgBA,GAEhDA,EAAU/N,EAAO+J,KAAK0J,KAAY1F,GAE9BA,aAAmB9B,UAAS8B,QAAgBA,GAEzCA,IAGb,CAaM,SAAU4F,GACdzD,EACA0D,EACAlF,EACAmF,GAEA,MAAMvT,EAAOuT,GAA0BD,EAAOtT,KAC9C4P,EAAI5P,GAAQ,IAAIkT,MAAMtD,EAAI5P,GAAO,CAC/BkH,MAAOY,MAAOpI,EAAQyT,EAASC,KAC7B,IAAI3F,EAAU/N,EAAO+J,KAAK0J,KAAYC,GAOtC,OANI3F,aAAmB9B,UAAS8B,QAAgBA,GAEhDA,EAAUW,EAAO3E,KAAK0J,KAAY1F,GAE9BA,aAAmB9B,UAAS8B,QAAgBA,GAEzCA,IAGb,CAeM,SAAU+F,GACd5D,EACA0D,EACAG,EACAzN,EACA0N,GAEA,MAAM1T,EAAO0T,GAA0BD,EAAOzT,KAC9C4P,EAAI5P,GAAQ,IAAIkT,MAAMtD,EAAI5P,GAAO,CAC/BkH,MAAOY,MAAOpI,EAAQyT,EAASC,KAC7B,IAAIO,EAAkBL,EAAO7J,KAAK0J,KAAYC,GAC1CO,aAA2BhI,UAC7BgI,QAAwBA,GAC1B,MAAMvL,EAAUuL,EAAgBA,EAAgBvT,OAAS,GACzD,KAAMgI,aAAmB4J,IACvB,MAAM,IAAIxP,EAAc,qBAC1B,IAAIiL,EAAU/N,EAAO+J,KAAK0J,KAAYQ,GAItC,OAHIlG,aAAmB9B,UAAS8B,QAAgBA,GAChDA,EAAUzH,EAAMyD,KAAK0J,EAAS1F,EAASrF,GACnCqF,aAAmB9B,UAAS8B,QAAgBA,GACzCA,IAGb,CAEM,SAAUmG,GACdhE,EACA0D,EACAG,EACAzN,EACA0N,GAEA,MAAM1T,EAAO0T,GAA0BD,EAAOzT,KAC9C4P,EAAI5P,GAAQ,IAAIkT,MAAMtD,EAAI5P,GAAO,CAC/BkH,MAAOY,MAAOpI,EAAQyT,EAASC,KAC7B,IAAIO,EAAkBL,EAAO7J,KAAK0J,KAAYC,GAC1CO,aAA2BhI,UAC7BgI,QAAwBA,GAC1B,MAAM9J,EAAW8J,EAAgBb,MAC3B1K,EAAUuL,EAAgBA,EAAgBvT,OAAS,GACzD,KAAMgI,aAAmB4J,IACvB,MAAM,IAAIxP,EAAc,qBAC1B,GACE4F,EAAQ3I,IAAI,2BACX2I,EAAQ3I,IAAI,0BACXoK,aAAoBwB,MACpB7G,MAAMsI,QAAQjD,KAAcA,EAASiC,MAAO+H,GAAMA,aAAaxI,IAEjE,MAAM,IAAI7I,EAAc,wCAG1B,IAAIiL,EAAU/N,EAAO+J,KAAK0J,KAAYQ,GAItC,OAHIlG,aAAmB9B,UAAS8B,QAAgBA,GAChDA,EAAUzH,EAAMyD,KAAK0J,EAAS1F,EAAS5D,EAAUzB,GAC7CqF,aAAmB9B,UAAS8B,QAAgBA,GACzCA,IAGb,OCnCsBqG,GAapB,SAAI,GACF,IAAKhW,KAAKiW,OACR,MAAM,IAAIvR,EAAc,iDAC1B,OAAO1E,KAAKiW,MACb,CAQD,MAAczI,GACZ,OAAOD,EAAMC,GAAGxN,KAAK+M,MACtB,CAQD,WAAc+F,GACZ,OAAOvF,EAAMuF,QAAQ9S,KAAK+M,MAC3B,CAED,WAAAzN,CAAsB0N,GAChBA,IAAOhN,KAAKiW,OAASjJ,GAEzB,MAAMkJ,EAAOlW,KACb,CAACA,KAAKmW,OAAQnW,KAAKoW,KAAMpW,KAAKqW,QAAQzP,QAASzB,IAC7C,MAAMjD,EAAOiD,EAAEjD,KACfwT,GACEQ,EACCA,EAAahU,EAAO,UACrBiD,EACC+Q,EAAahU,EAAO,aAGzB4T,GACEI,EACCA,EAAalW,KAAKsW,OAAOpU,KAAO,UACjClC,KAAKsW,OACJJ,EAAalW,KAAKsW,OAAOpU,KAAO,UAEpC,CAoBD,eAAMqU,CAAUC,KAAgB9W,GAC9B,OAAOmO,QAAQC,IAAI0I,EAAO1P,IAAK3B,GAAMnF,KAAKmW,OAAOhR,KAAMzF,IACxD,CAWS,kBAAM+W,CACdnR,KACG5F,GAEH,MAAMgX,QAAoCxC,GAAQxU,KAChDiB,EAAcO,OACdlB,KAAK+M,MACLrN,GAYF,GAVA4F,EAAQ,IAAItF,KAAK+M,MAAMzH,GAClBoR,EAAYpM,QAAQ3I,IAAI,yBACrB2P,GACJtR,KACA0W,EAAYpM,QACZhF,EACA3E,EAAcO,OACdP,EAAcqH,KAGb0O,EAAYpM,QAAQ3I,IAAI,oBAAqB,CAChD,MAAM0P,QAAexD,QAAQuE,QAAQ9M,EAAM9F,aAC3C,GAAI6R,EAAQ,MAAM,IAAI5M,EAAgB4M,EAAOvN,WAC9C,CAED,MAAO,CAACwB,KAAUoR,EAAYhX,KAC/B,CAUS,kBAAMiX,CAAarR,EAAUgF,GASrC,OARKA,EAAQ3I,IAAI,yBACT2P,GACJtR,KACAsK,EACAhF,EACA3E,EAAcO,OACdP,EAAc6H,OAEXlD,CACR,CAWS,qBAAMsR,CACdJ,KACG9W,GAEH,MAAMgX,QAAoBxC,GAAQxU,KAChCiB,EAAcO,OACdlB,KAAK+M,MACLrN,GAEImU,EAAiB6C,EAAYpM,QAAQ3I,IAAI,kBACzCkV,EAAiBH,EAAYpM,QAAQ3I,IAAI,oBAiB/C,GAfA6U,QAAe3I,QAAQC,IACrB0I,EAAO1P,IAAIkD,MAAO7E,IAChB,MAAMG,EAAQ,IAAItF,KAAK+M,MAAM5H,GAS7B,OARK0O,SACGvC,GACJtR,KACA0W,EAAYpM,QACZhF,EACA3E,EAAcO,OACdP,EAAcqH,IAEX1C,MAINuR,EAAgB,CACnB,MAIMxF,EAASD,SAJgBvD,QAAQC,IACrC0I,EAAO1P,IAAK3B,GAAM0I,QAAQuE,QAAQjN,EAAE3F,gBAKtC,GAAI6R,EAAQ,MAAM,IAAI5M,EAAgB4M,EACvC,CACD,MAAO,CAACmF,KAAWE,EAAYhX,KAChC,CAUS,qBAAMoX,CAAgBN,EAAalM,GAa3C,OAZKA,EAAQ3I,IAAI,yBACTkM,QAAQC,IACZ0I,EAAO1P,IAAK3B,GACVmM,GACEtR,KACAsK,EACAnF,EACAxE,EAAcO,OACdP,EAAc6H,SAIfgO,CACR,CAoBD,aAAMO,CAAQpT,KAA2BjE,GACvC,aAAamO,QAAQC,IAAInK,EAAKmD,IAAKwE,GAAOtL,KAAKoW,KAAK9K,KAAO5L,IAC5D,CAUS,gBAAMsX,CAAW1R,EAAUgF,GASnC,OARKA,EAAQ3I,IAAI,yBACT2P,GACJtR,KACAsK,EACAhF,EACA3E,EAAcQ,KACdR,EAAc6H,OAEXlD,CACR,CAWS,gBAAM2R,CACdjW,KACGtB,GAEH,MAAMgX,QAAoBxC,GAAQxU,KAChCiB,EAAcQ,KACdnB,KAAK+M,MACLrN,GAEI4F,EAAW,IAAItF,KAAK+M,MAS1B,OARAzH,EAAMtF,KAAKwN,IAAMxM,QACXsQ,GACJtR,KACA0W,EAAYpM,QACZhF,EACA3E,EAAcQ,KACdR,EAAcqH,IAET,CAAChH,KAAQ0V,EAAYhX,KAC7B,CAWS,mBAAMwX,CACdvT,KACGjE,GAEH,MAAMgX,QAAoBxC,GAAQxU,KAChCiB,EAAcQ,KACdnB,KAAK+M,MACLrN,GAeF,aAbMmO,QAAQC,IACZnK,EAAKmD,IAAIkD,MAAOmN,IACd,MAAMhS,EAAI,IAAInF,KAAK+M,MAEnB,OADA5H,EAAEnF,KAAKwN,IAAM2J,EACN7F,GACLtR,KACA0W,EAAYpM,QACZnF,EACAxE,EAAcQ,KACdR,EAAcqH,OAIb,CAACrE,KAAS+S,EAAYhX,KAC9B,CAUS,mBAAM0X,CAAcZ,EAAalM,GAazC,OAZKA,EAAQ3I,IAAI,yBACTkM,QAAQC,IACZ0I,EAAO1P,IAAK3B,GACVmM,GACEtR,KACAsK,EACAnF,EACAxE,EAAcQ,KACdR,EAAc6H,SAIfgO,CACR,CAoBD,eAAMa,CAAUb,KAAgB9W,GAC9B,OAAOmO,QAAQC,IAAI0I,EAAO1P,IAAK3B,GAAMnF,KAAKsW,OAAOnR,KAAMzF,IACxD,CAUS,kBAAM4X,CAAahS,EAAUyG,EAAazB,GAUlD,OATKA,EAAQ3I,IAAI,yBACT2P,GACJtR,KACAsK,EACAhF,EACA3E,EAAcS,OACdT,EAAc6H,MACduD,GAEGzG,CACR,CAWS,kBAAMiS,CACdjS,KACG5F,GAEH,MAAMgX,QAAoBxC,GAAQxU,KAChCiB,EAAcS,OACdpB,KAAK+M,MACLrN,GAGI4K,EAAUoM,EAAYpM,QACtBuJ,EAAiB6C,EAAYpM,QAAQ3I,IAAI,kBACzCkV,EAAiBH,EAAYpM,QAAQ3I,IAAI,oBACzC6L,EAAMlI,EAActF,KAAKwN,IAC/B,IAAKA,EACH,MAAM,IAAI9I,EACR,qDAAqD1E,KAAKwN,IAG9D,IAAIzB,EAiBJ,GAhBIzB,EAAQ3I,IAAI,2BACdoK,QAAiB/L,KAAKoW,KAAK5I,GACvBlD,EAAQ3I,IAAI,oBACd2D,EAAQiI,EAAMwF,MAAMhH,EAAUzG,EAAOtF,KAAK+M,SAGzC8G,SACGvC,GACJtR,KACA0W,EAAYpM,QACZhF,EACA3E,EAAcS,OACdT,EAAcqH,GACd+D,IAGC8K,EAAgB,CACnB,MAAMxF,QAAexD,QAAQuE,QAAQ9M,EAAM9F,UAAUuM,IACrD,GAAIsF,EAAQ,MAAM,IAAI5M,EAAgB4M,EAAOvN,WAC9C,CACD,MAAO,CAACwB,KAAUoR,EAAYhX,KAAMqM,EACrC,CAWS,qBAAMyL,CACdhB,KACG9W,GAEH,MAAMgX,QAAoBxC,GAAQxU,KAChCiB,EAAcS,OACdpB,KAAK+M,MACLrN,GAGI4K,EAAUoM,EAAYpM,QAEtBuJ,EAAiBvJ,EAAQ3I,IAAI,kBAC7BkV,EAAiBvM,EAAQ3I,IAAI,oBAC7B8V,EAAMjB,EAAO1P,IAAK3B,IACtB,MAAMmG,EAAKnG,EAAEnF,KAAKwN,IAClB,QAAkB,IAAPlC,EACT,MAAM,IAAI5G,EACR,qDAAqD1E,KAAKwN,IAE9D,OAAOlC,IAGT,IAAIoM,EAuBJ,GAtBIpN,EAAQ3I,IAAI,2BACd+V,QAAkB1X,KAAK+W,QAAQU,EAAiBnN,GAC5CA,EAAQ3I,IAAI,oBACd6U,EAASA,EAAO1P,IAAI,CAAC3B,EAAG6B,IACtBuG,EAAMwF,MAAO2E,EAAkB1Q,GAAI7B,EAAGnF,KAAK+M,UAI5C8G,SACGhG,QAAQC,IACZ0I,EAAO1P,IAAI,CAAC3B,EAAG6B,IACbsK,GACEtR,KACA0W,EAAYpM,QACZnF,EACAxE,EAAcS,OACdT,EAAcqH,GACd0P,EAAYA,EAAU1Q,QAAKlH,MAK9B+W,EAAgB,CACnB,IAAIc,EAMFA,EALGrN,EAAQ3I,IAAI,+BAKUkM,QAAQC,IAC/B0I,EAAO1P,IAAI,CAAC3B,EAAG6B,IACb6G,QAAQuE,QAAQjN,EAAE3F,UAAWkY,EAAkB1Q,aAN1B6G,QAAQuE,QAC/BoE,EAAO1P,IAAK3B,GAAMA,EAAE3F,cAUxB,MAAM6R,EAASD,GAAoBuG,GAEnC,GAAItG,EAAQ,MAAM,IAAI5M,EAAgB4M,EACvC,CACD,MAAO,CAACmF,KAAWE,EAAYhX,KAAMgY,EACtC,CAUS,qBAAME,CACdpB,EACAkB,EACApN,GAEA,GACEA,EAAQ3I,IAAI,2BACX2I,EAAQ3I,IAAI,yBAER+V,EACH,MAAM,IAAIhT,EAAc,2CAe5B,OAbK4F,EAAQ3I,IAAI,yBACTkM,QAAQC,IACZ0I,EAAO1P,IAAI,CAAC3B,EAAG6B,IACbsK,GACEtR,KACAsK,EACAnF,EACAxE,EAAcS,OACdT,EAAc6H,MACdkP,EAAYA,EAAU1Q,QAAKlH,KAI5B0W,CACR,CAoBD,eAAMqB,CAAUlU,KAA2BjE,GACzC,OAAOmO,QAAQC,IAAInK,EAAKmD,IAAKqQ,GAAMnX,KAAKqW,OAAOc,KAAMzX,IACtD,CAUS,kBAAMoY,CAAaxS,EAAUgF,GASrC,OARKA,EAAQ3I,IAAI,yBACT2P,GACJtR,KACAsK,EACAhF,EACA3E,EAAcU,OACdV,EAAc6H,OAEXlD,CACR,CAWS,kBAAMyS,CACd/W,KACGtB,GAEH,MAAMgX,QAAoBxC,GAAQxU,KAChCiB,EAAcU,OACdrB,KAAK+M,MACLrN,GAEI4F,QAActF,KAAKoW,KAAKpV,KAAQ0V,EAAYhX,MAQlD,aAPM4R,GACJtR,KACA0W,EAAYpM,QACZhF,EACA3E,EAAcU,OACdV,EAAcqH,IAET,CAAChH,KAAQ0V,EAAYhX,KAC7B,CAWS,qBAAMsY,CACdrU,KACGjE,GAEH,MAAMgX,QAAoBxC,GAAQxU,KAChCiB,EAAcU,OACdrB,KAAK+M,MACLrN,GAEI8W,QAAexW,KAAK+W,QAAQpT,KAAS+S,EAAYhX,MAYvD,aAXMmO,QAAQC,IACZ0I,EAAO1P,IAAIkD,MAAO7E,GACTmM,GACLtR,KACA0W,EAAYpM,QACZnF,EACAxE,EAAcU,OACdV,EAAcqH,MAIb,CAACrE,KAAS+S,EAAYhX,KAC9B,CAUS,qBAAMuY,CAAgBzB,EAAalM,GAa3C,OAZKA,EAAQ3I,IAAI,yBACTkM,QAAQC,IACZ0I,EAAO1P,IAAK3B,GACVmM,GACEtR,KACAsK,EACAnF,EACAxE,EAAcU,OACdV,EAAc6H,SAIfgO,CACR,CAOD,QAAA1S,GACE,OAAU9D,KAAK+M,MAAM7K,KAAd,aACR,EC7vBI,MAAMvD,GAAU,cACVuZ,GAAe,cAC5B7U,EAAS8U,gBAAgBD,GAAcvZ"}
1
+ {"version":3,"file":"db-decorators.js","sources":["../src/model/constants.ts","../src/validation/constants.ts","../src/validation/validators/ReadOnlyValidator.ts","../src/validation/validators/TimestampValidator.ts","../src/validation/validators/UpdateValidator.ts","../src/operations/constants.ts","../src/validation/validation.ts","../src/operations/OperationsRegistry.ts","../src/operations/Operations.ts","../src/repository/errors.ts","../src/operations/decorators.ts","../src/model/decorators.ts","../src/validation/decorators.ts","../src/identity/decorators.ts","../src/model/validation.ts","../src/repository/utils.ts","../src/overrides/overrides.ts","../src/repository/constants.ts","../src/repository/Context.ts","../src/repository/wrappers.ts","../src/repository/Repository.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["DBKeys","REFLECT","ModelKeys","MODEL","REPOSITORY","CLASS","ID","INDEX","UNIQUE","SERIALIZE","READONLY","TIMESTAMP","TRANSIENT","HASH","COMPOSED","GENERATED","VERSION","ORIGINAL","DefaultSeparator","DEFAULT_TIMESTAMP_FORMAT","DEFAULT_ERROR_MESSAGES","INVALID","REQUIRED","DATE","UpdateValidationKeys","ReadOnlyValidator","Validator","constructor","super","hasErrors","value","args","updateHasErrors","oldValue","message","undefined","isEqual","this","getMessage","__decorate","validator","TimestampValidator","Date","e","UpdateValidator","DecoratorMessages","DEFAULT","acceptedTypes","OperationKeys","ModelOperations","BulkCrudOperationKeys","Validation","updateKey","key","DBOperations","CREATE","READ","UPDATE","DELETE","CREATE_UPDATE","READ_CREATE","ALL","OperationsRegistry","cache","get","target","propKey","operation","accum","owner","resolveOwner","name","resolveTargetName","handlers","selectHandlers","length","unshift","Object","prototype","getPrototypeOf","proto","register","handler","handlerName","Operations","getHandlerName","flavour","resolveFlavour","Decoration","defaultFlavour","Metadata","flavourOf","byOperation","bucket","firstBucket","values","keys","Hashing","hash","toString","str","targetName","registry","getOpRegistry","BaseError","Error","msg","code","stack","BadRequestError","ValidationError","InternalError","SerializationError","NotFoundError","ConflictError","DefaultGroupSort","priority","getHandlerArgs","dec","prop","m","props","getHandlersDecorators","model","decorators","prefix","decs","handlerArgs","argsEntry","data","push","groupDecorators","grouped","reduce","acc","group","set","Symbol","groupKey","has","existing","Map","groups","Array","from","forEach","combined","map","d","i","sort","a","b","groupPriority","c","sortDecorators","onCreateUpdate","groupsort","on","onUpdate","onCreate","onRead","onDelete","onAny","op","ON","afterCreateUpdate","after","afterUpdate","afterCreate","afterRead","afterDelete","afterAny","AFTER","baseOp","dataToAdd","propertyKey","compoundKey","readOperation","handlerKey","mergeData","filter","handle","propMetadata","OPERATIONS","apply","storeHandlerMetadata","params","metadata","BlockOperations","operations","BLOCK","includes","BlockOperationIf","generated","type","hashOnCreateUpdate","context","oldModel","composedFromCreateUpdate","suffix","separator","filterEmpty","hashResult","composed","arg","isArray","JSON","stringify","join","composedFrom","for","define","decorator","property","composedFromKeys","versionCreateUpdate","Model","shouldGenerate","version","Number","transient","attribute","readonly","meta","description","async","innerValidationDecorator","timestampHandler","timestamp","format","decorationKey","updateValidationKey","date","required","indexOf","serializeOnCreateUpdate","serializeAfterAll","parse","serialize","String","id","getValidatableUpdateProps","propsToIgnore","decoratedProperties","hasOwnProperty","call","validationFor","validateDecorator","newModel","toConditionalPromise","decoratorProps","maybeError","validateDecorators","result","decoratorKey","validationErrors","ValidationKeys","LIST","newPropValue","oldPropValue","newValues","Set","oldValues","allowedTypes","class","clazz","customTypes","flat","t","toLowerCase","errs","childValue","isModel","pk","oldListModel","find","el","Promise","all","then","every","r","allEmpty","promises","resolvedValues","res","val","validateCompare","ValidatableUpdateProps","nestedErrors","propValue","designTypes","getPropDesignTypes","some","TYPE","propErrors","isConstr","isPropertyModel","instance","Constr","designTypeNames","nestedPropsToIgnore","getChildNestedPropsToIgnore","entries","error","ModelErrorDefinition","merged","allSettled","results","parentProp","nestedErrPromise","nestedPropDecErrors","nestedProp","nestedPropDecError","status","reason","reduceErrorsToPrint","errors","enforceDBDecorators","repo","getDbDecorators","sortedDecorators","UPDATE_ALL","logger","extraPrefix","replace","obj","isTransient","previousVersion","exclusions","isAsync","validate","resolve","resolvedErrs","segregate","validatableProperties","transientProps","build","keyValue","constr","idProp","bind","pkProps","merge","extract","assign","saveOperation","ctx","DefaultRepositoryFlags","parentContext","childContexts","ignoredValidationProperties","callArgs","writeOperation","affectedTables","breakOnHandlerError","rebuildWithTransient","ignoreValidation","ignoreHandlers","ignoreDevSafeGuards","mergeForUpdate","applyUpdateValidation","allowGenerationOverride","DefaultContextFactory","Context","accumulate","Logging","ObjectAccumulator","defineProperty","writable","enumerable","configurable","factory","parent","childFrom","overrides","contextual","last","pop","getContext","prefixMethod","afterName","Proxy","thisArg","argArray","suffixMethod","before","beforeName","wrapMethodWithContext","method","methodName","transformedArgs","wrapMethodWithContextForUpdate","o","Repository","_class","self","create","read","delete","update","createAll","models","createPrefix","contextArgs","createSuffix","createAllPrefix","ignoreValidate","createAllSuffix","readAll","readSuffix","readPrefix","readAllPrefix","k","readAllSuffix","updateAll","updateSuffix","updatePrefix","updateAllPrefix","ids","oldModels","modelsValidation","updateAllSuffix","deleteAll","deleteSuffix","deletePrefix","deleteAllPrefix","deleteAllSuffix","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -16,5 +16,5 @@ export * from "./validation";
16
16
  * @const VERSION
17
17
  * @memberOf module:db-decorators
18
18
  */
19
- export declare const VERSION = "0.8.2";
19
+ export declare const VERSION = "0.8.5";
20
20
  export declare const PACKAGE_NAME = "@decaf-ts/db-decorators";
package/lib/esm/index.js CHANGED
@@ -17,7 +17,7 @@ export * from "./validation/index.js";
17
17
  * @const VERSION
18
18
  * @memberOf module:db-decorators
19
19
  */
20
- export const VERSION = "0.8.2";
20
+ export const VERSION = "0.8.5";
21
21
  export const PACKAGE_NAME = "@decaf-ts/db-decorators";
22
22
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
23
23
  //# sourceMappingURL=index.js.map
@@ -17,6 +17,7 @@ export declare const DBKeys: {
17
17
  TRANSIENT: string;
18
18
  HASH: string;
19
19
  COMPOSED: string;
20
+ GENERATED: string;
20
21
  VERSION: string;
21
22
  ORIGINAL: string;
22
23
  };
@@ -18,6 +18,7 @@ export const DBKeys = {
18
18
  TRANSIENT: "transient",
19
19
  HASH: "hash",
20
20
  COMPOSED: "composed",
21
+ GENERATED: "generated",
21
22
  VERSION: "version",
22
23
  ORIGINAL: "__originalObj",
23
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/model/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,GAAG,SAAS,CAAC,KAAK,eAAe;IAC1C,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,eAAe;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/model/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,OAAO,EAAE,GAAG,SAAS,CAAC,KAAK,eAAe;IAC1C,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,QAAQ;IACf,EAAE,EAAE,IAAI;IACR,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,eAAe;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,CAAC"}
@@ -2,6 +2,7 @@ import { Model } from "@decaf-ts/decorator-validation";
2
2
  import { IRepository } from "../interfaces/IRepository";
3
3
  import { CrudOperations, GroupSort } from "../operations";
4
4
  import { ContextOfRepository } from "../repository/index";
5
+ export declare function generated(type?: string): (target: object, prop?: any) => void;
5
6
  /**
6
7
  * @description Hashes a property value during create or update operations
7
8
  * @summary Callback function used by the hash decorator to apply hashing to a property value
@@ -124,7 +125,7 @@ export declare function composed(args: string[], separator?: string, filterEmpty
124
125
  * end
125
126
  * versionCreateUpdate-->>Caller: void
126
127
  */
127
- export declare function versionCreateUpdate(operation: CrudOperations): <M extends Model, R extends IRepository<M>, V extends object>(this: R, context: ContextOfRepository<R>, data: V, key: keyof M, model: M) => void;
128
+ export declare function versionCreateUpdate(operation: CrudOperations): <M extends Model, R extends IRepository<M>, V extends object>(this: R, context: ContextOfRepository<R>, data: V, key: keyof M, model: M, oldModel?: M) => void;
128
129
  /**
129
130
  * @description Creates a decorator for versioning a property in a model
130
131
  * @summary This decorator applies multiple sub-decorators to handle version management during create and update operations
@@ -1,9 +1,14 @@
1
1
  import { DBKeys, DefaultSeparator } from "./constants.js";
2
- import { Hashing, type } from "@decaf-ts/decorator-validation";
2
+ import { Hashing, Model, type } from "@decaf-ts/decorator-validation";
3
3
  import { onCreate, onCreateUpdate, onUpdate } from "./../operations/decorators.js";
4
- import { InternalError } from "./../repository/errors.js";
4
+ import { InternalError, ValidationError } from "./../repository/errors.js";
5
5
  import { OperationKeys } from "./../operations/index.js";
6
6
  import { Decoration, propMetadata, apply, Metadata, } from "@decaf-ts/decoration";
7
+ export function generated(type) {
8
+ return function generated(target, prop) {
9
+ return propMetadata(Metadata.key(DBKeys.GENERATED, prop), type || true)(target, prop);
10
+ };
11
+ }
7
12
  /**
8
13
  * @description Hashes a property value during create or update operations
9
14
  * @summary Callback function used by the hash decorator to apply hashing to a property value
@@ -120,6 +125,7 @@ function composedFrom(args, hashResult = false, separator = DefaultSeparator, fi
120
125
  filterEmpty: filterEmpty,
121
126
  };
122
127
  const decorators = [
128
+ generated(DBKeys.COMPOSED),
123
129
  onCreateUpdate(composedFromCreateUpdate, data, groupsort),
124
130
  propMetadata(Metadata.key(DBKeys.COMPOSED, property), data),
125
131
  ];
@@ -198,13 +204,19 @@ export function composed(args, separator = DefaultSeparator, filterEmpty = false
198
204
  * versionCreateUpdate-->>Caller: void
199
205
  */
200
206
  export function versionCreateUpdate(operation) {
201
- return function versionCreateUpdate(context, data, key, model) {
207
+ return function versionCreateUpdate(context, data, key, model, oldModel) {
208
+ if (!Model.shouldGenerate(model, key, context))
209
+ return;
202
210
  try {
203
211
  switch (operation) {
204
212
  case OperationKeys.CREATE:
205
213
  model[key] = 1;
206
214
  break;
207
215
  case OperationKeys.UPDATE:
216
+ if (context.get("applyUpdateValidation") &&
217
+ oldModel &&
218
+ model[key] !== oldModel[key])
219
+ throw new ValidationError(`Version mismatch: ${model[key]} !== ${oldModel[key]}`);
208
220
  model[key]++;
209
221
  break;
210
222
  default:
@@ -226,7 +238,7 @@ export function versionCreateUpdate(operation) {
226
238
  export function version() {
227
239
  const key = DBKeys.VERSION;
228
240
  return Decoration.for(key)
229
- .define(type(Number), onCreate(versionCreateUpdate(OperationKeys.CREATE)), onUpdate(versionCreateUpdate(OperationKeys.UPDATE)), propMetadata(key, true))
241
+ .define(generated(DBKeys.VERSION), type(Number), onCreate(versionCreateUpdate(OperationKeys.CREATE)), onUpdate(versionCreateUpdate(OperationKeys.UPDATE)), propMetadata(key, true))
230
242
  .apply();
231
243
  }
232
244
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/model/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export * from "./validation";
2
1
  export * from "./constants";
3
2
  export * from "./decorators";
4
3
  export * from "./model";
4
+ export * from "./validation";
@@ -1,5 +1,5 @@
1
- export * from "./validation.js";
2
1
  export * from "./constants.js";
3
2
  export * from "./decorators.js";
4
3
  export * from "./model.js";
4
+ export * from "./validation.js";
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,gCAA6B;AAC7B,+BAA4B;AAC5B,gCAA6B;AAC7B,2BAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,+BAA4B;AAC5B,gCAA6B;AAC7B,2BAAwB;AACxB,gCAA6B"}
@@ -1,4 +1,4 @@
1
- import { Model, ModelErrorDefinition, ModelKeys, toConditionalPromise, Validation, ValidationKeys, } from "@decaf-ts/decorator-validation";
1
+ import { Model, ModelErrorDefinition, ModelKeys, toConditionalPromise, Validation, ValidationKeys, getChildNestedPropsToIgnore, } from "@decaf-ts/decorator-validation";
2
2
  import { Metadata } from "@decaf-ts/decoration";
3
3
  /**
4
4
  * @description
@@ -83,12 +83,12 @@ export function validateDecorators(newModel, oldModel, prop, decorators, async)
83
83
  return String(t).toLowerCase();
84
84
  });
85
85
  const errs = newValues.map((childValue) => {
86
- // find by id so the list elements order doesn't matter
87
- const id = Model.pk(childValue, true);
88
- if (!id)
89
- return "Failed to find model id";
90
- const oldListModel = oldValues.find((el) => id === Model.pk(el, true));
91
86
  if (Model.isModel(childValue)) {
87
+ // find by id so the list elements order doesn't matter
88
+ const id = Model.pk(childValue, true);
89
+ if (!id)
90
+ return "Failed to find model id";
91
+ const oldListModel = oldValues.find((el) => id === Model.pk(el, true));
92
92
  return childValue.hasErrors(oldListModel);
93
93
  }
94
94
  return allowedTypes.includes(typeof childValue)
@@ -163,7 +163,7 @@ export function validateCompare(oldModel, newModel, async, ...propsToIgnore) {
163
163
  for (const { prop, decorators } of ValidatableUpdateProps) {
164
164
  const propKey = String(prop);
165
165
  const propValue = newModel[prop];
166
- const { designTypes, designType } = Metadata.getPropDesignTypes(newModel.constructor, prop);
166
+ const { designTypes } = Metadata.getPropDesignTypes(newModel.constructor, prop);
167
167
  if (!designTypes)
168
168
  continue;
169
169
  // Handle array or Set types and enforce the presence of @list decorator
@@ -186,27 +186,35 @@ export function validateCompare(oldModel, newModel, async, ...propsToIgnore) {
186
186
  // TODO: Check validateDecorators method partially working. Complete check pending.
187
187
  const propErrors = validateDecorators(newModel, oldModel, propKey, decorators, async) || {};
188
188
  // Check for nested model.
189
- // To prevent unnecessary processing, "propValue" must be defined and validatable
189
+ // To prevent unnecessary processing, "propValue" must be defined
190
190
  const isConstr = Model.isPropertyModel(newModel, propKey);
191
191
  const hasPropValue = propValue !== null && propValue !== undefined;
192
192
  if (hasPropValue && isConstr) {
193
193
  const instance = propValue;
194
- const Constr = (Array.isArray(designType) ? designType : [designType])
195
- .map((d) => {
196
- if (typeof d === "function" && !d.name)
197
- d = d();
198
- return Model.get(d.name || d);
199
- })
194
+ const Constr = designTypes
195
+ .map((d) => Model.get(d.name || d))
200
196
  .find((d) => !!d);
197
+ const designTypeNames = designTypes.map((d) => {
198
+ if (typeof d === "function")
199
+ return d.name ? d.name.toLowerCase() : d()?.name.toLowerCase();
200
+ return d.toLowerCase();
201
+ });
201
202
  // Ensure instance is of the expected model class.
202
- if (!Constr || !(instance instanceof Constr)) {
203
- propErrors[ValidationKeys.TYPE] = !Constr
204
- ? `Unable to verify type consistency, missing model registry for ${designTypes.toString()} on prop ${propKey}`
205
- : `Value must be an instance of ${Constr.name}`;
206
- delete propErrors[ModelKeys.TYPE]; // remove duplicate type error
203
+ if (!Constr || !(propValue instanceof Constr)) {
204
+ if (designTypeNames.includes(typeof propValue)) {
205
+ // do nothing
206
+ }
207
+ else {
208
+ // If types don't match throw an error
209
+ propErrors[ValidationKeys.TYPE] = !Constr
210
+ ? `Unable to verify type consistency, missing model registry for ${designTypes.toString()} on prop ${propKey}`
211
+ : `Value must be an instance of ${Constr.name}`;
212
+ delete propErrors[ModelKeys.TYPE]; // remove duplicate type error
213
+ }
207
214
  }
208
215
  else {
209
- nestedErrors[propKey] = instance.hasErrors(oldModel[prop]);
216
+ const nestedPropsToIgnore = getChildNestedPropsToIgnore(propKey, ...propsToIgnore);
217
+ nestedErrors[propKey] = instance.hasErrors(oldModel[prop], ...nestedPropsToIgnore);
210
218
  }
211
219
  }
212
220
  // Add to the result if we have any errors
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/model/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/model/validation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { Constructor } from "@decaf-ts/decoration";
2
2
  import "@decaf-ts/decorator-validation";
3
3
  import { ComposedFromMetadata } from "../model/index";
4
+ import { Context } from "../repository/index";
4
5
  declare module "@decaf-ts/decorator-validation" {
5
6
  interface Model {
6
7
  isTransient(): boolean;
@@ -75,5 +76,7 @@ declare module "@decaf-ts/decorator-validation" {
75
76
  function composed<M extends Model<boolean>>(model: Constructor<M>): boolean;
76
77
  function composed<M extends Model<boolean>>(model: Constructor<M> | M, prop: keyof M): ComposedFromMetadata | undefined;
77
78
  function composed<M extends Model<boolean>>(model: Constructor<M> | M, prop?: keyof M): boolean | ComposedFromMetadata | undefined;
79
+ function generated<M extends Model>(model: M | Constructor<M>, prop: keyof M): boolean | string;
80
+ function shouldGenerate<M extends Model>(model: M, prop: keyof M, ctx: Context<any>): boolean;
78
81
  }
79
82
  }
@@ -68,7 +68,7 @@ Model.segregate = function segregate(model) {
68
68
  result.model = Model.build(result.model, model.constructor.name);
69
69
  return result;
70
70
  };
71
- Model.pk = function (model, keyValue = false) {
71
+ Model.pk = function pk(model, keyValue = false) {
72
72
  if (!model)
73
73
  throw new Error("No model was provided");
74
74
  const constr = model instanceof Model ? model.constructor : model;
@@ -83,7 +83,7 @@ Model.pk = function (model, keyValue = false) {
83
83
  return model[key];
84
84
  throw new Error("Cannot get the value of the pk from the constructor");
85
85
  }.bind(Model);
86
- Model.pkProps = function (model) {
86
+ Model.pkProps = function pkProps(model) {
87
87
  return Metadata.get(model, Metadata.key(DBKeys.ID, Model.pk(model)));
88
88
  }.bind(Model);
89
89
  Model.isTransient = function isTransient(model) {
@@ -113,12 +113,12 @@ Model.merge = function merge(oldModel, newModel, constructor) {
113
113
  }, {});
114
114
  return new constructor(Object.assign({}, extract(oldModel), extract(newModel)));
115
115
  }.bind(Model);
116
- Metadata.saveOperation = function (model, propertyKey, operation, metadata) {
116
+ Metadata.saveOperation = function saveOperation(model, propertyKey, operation, metadata) {
117
117
  if (!propertyKey)
118
118
  return;
119
119
  Metadata.set(model, Metadata.key(ModelOperations.OPERATIONS, propertyKey, operation), metadata);
120
120
  }.bind(Metadata);
121
- Metadata.readOperation = function (model, propertyKey, operation) {
121
+ Metadata.readOperation = function readOperation(model, propertyKey, operation) {
122
122
  if (!propertyKey || !operation)
123
123
  return;
124
124
  return Metadata.get(model, Metadata.key(ModelOperations.OPERATIONS, propertyKey, operation));
@@ -126,4 +126,12 @@ Metadata.readOperation = function (model, propertyKey, operation) {
126
126
  Metadata.isTransient = function isTransient(model) {
127
127
  return !!Metadata.get(typeof model !== "function" ? model.constructor : model, DBKeys.TRANSIENT);
128
128
  }.bind(Metadata);
129
+ Model.generated = function generated(model, prop) {
130
+ return !!Metadata.get(typeof model !== "function" ? model.constructor : model, Metadata.key(DBKeys.GENERATED, prop));
131
+ }.bind(Model);
132
+ Model.shouldGenerate = function shouldGenerate(model, prop, ctx) {
133
+ return (!Model.generated(model, prop) &&
134
+ !ctx.get("allowGenerationOverride") &&
135
+ typeof model[prop] !== "undefined");
136
+ }.bind(Model);
129
137
  //# sourceMappingURL=overrides.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/overrides/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EAEL,QAAQ,GACT,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,iCAA4B;AACtD,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,gCAA2B;AAC5C,OAAO,EAAE,eAAe,EAAE,qCAAgC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,kCAA6B;AAI1D,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG;IAC5B,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,UAE1B,eAAyB,EACzB,GAAG,UAAiB;IAEpB,IAAI,eAAe,IAAI,CAAC,CAAC,eAAe,YAAY,KAAK,CAAC,EAAE,CAAC;QAC3D,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACpC,eAAe,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;IAElD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE;YACjD,IAAI,YAAY,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrC,OAAO,YAAY,CAAC;YACtB,CAAC;YACD,OAAO,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;QACtE,CAAC,CAAQ,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,eAAe;QAAE,OAAO,IAAW,CAAC;IAEjD,2FAA2F;IAC3F,OAAO,eAAe,CAAC,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,CAAC;AACtE,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAED,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAQ;IAER,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,qBAAqB,CACxD,KAAK,CAAC,WAAkB,CACzB,CAAC;IAEF,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CACjC,KAAK,CAAC,WAAkB,EACxB,MAAM,CAAC,SAAS,CACjB,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,EAAyB;QAChC,SAAS,EAAE,EAAyB;KACrC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAc,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,GAAG,KAAK,CAAC,EAAE,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,MAA+D,CAAC;AACzE,CAAC,CAAC;AAED,KAAa,CAAC,EAAE,GAAG,SAAS,EAAE,CAC7B,KAAyB,EACzB,QAAQ,GAAG,KAAK;IAEhB,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAqB,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,EAAE,IAAI,IAAI,eAAe,EAAE,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAY,CAAC;IAC9C,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,GAAc,CAAC,CAAC;IACzD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;AACzE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,OAAO,GAAG,SAAS,OAAO,CACvC,KAAqB;IAErB,OAAO,QAAQ,CAAC,GAAG,CACjB,KAAK,EACL,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAW,CAAC,CACnD,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,WAAW,GAAG,SAAS,WAAW,CAC/C,KAAyB;IAEzB,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,QAAQ,GAAG,SAAS,QAAQ,CACzC,KAAyB,EACzB,IAAc;IAEd,MAAM,MAAM,GACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,WAA8B,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,IAAI,IAAI;QACN,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAc,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEd;;;;;;;;GAQG;AACF,KAAa,CAAC,KAAK,GAAG,SAAS,KAAK,CACnC,QAAW,EACX,QAAW,EACX,WAA4B;IAE5B,WAAW,GAAG,WAAW,IAAK,QAAQ,CAAC,WAA8B,CAAC;IACtE,MAAM,OAAO,GAAG,CAAC,KAAQ,EAAE,EAAE,CAC3B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAA0B,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QACtE,IAAI,OAAO,GAAG,KAAK,WAAW;YAAE,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,OAAO,IAAI,WAAW,CACpB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CACxD,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,QAAgB,CAAC,aAAa,GAAG,SAAS,aAAa,CACtD,KAAqB,EACrB,WAAmB,EACnB,SAAiB,EACjB,QAAa;IAEb,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,QAAQ,CAAC,GAAG,CACV,KAAK,EACL,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,EAChE,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEhB,QAAgB,CAAC,aAAa,GAAG,SAAS,aAAa,CACtD,KAAqB,EACrB,WAAoB,EACpB,SAAkB;IAElB,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS;QAAE,OAAO;IACvC,OAAO,QAAQ,CAAC,GAAG,CACjB,KAAK,EACL,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CACjE,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEhB,QAAgB,CAAC,WAAW,GAAG,SAAS,WAAW,CAClD,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,MAAM,CAAC,SAAS,CACjB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEhB,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAyB,EACzB,IAAa;IAEb,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,IAAc,CAAC,CAC/C,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,cAAc,GAAG,SAAS,cAAc,CACrD,KAAQ,EACR,IAAa,EACb,GAAiB;IAEjB,OAAO,CACL,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;QAC7B,CAAC,GAAG,CAAC,GAAG,CAAC,yBAAyB,CAAC;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,CACnC,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC"}
@@ -20,5 +20,6 @@ export const DefaultRepositoryFlags = {
20
20
  ignoreDevSafeGuards: false,
21
21
  mergeForUpdate: true,
22
22
  applyUpdateValidation: true,
23
+ allowGenerationOverride: false,
23
24
  };
24
25
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/repository/constants.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,EAAE;IACjB,2BAA2B,EAAE,EAAE;IAC/B,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,EAAE;IAClB,SAAS,EAAE,SAAS;IACpB,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,KAAK;IACrB,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,IAAI;CAC5B,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/repository/constants.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAG/B;IACF,aAAa,EAAE,SAAS;IACxB,aAAa,EAAE,EAAE;IACjB,2BAA2B,EAAE,EAAE;IAC/B,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,EAAE;IAClB,SAAS,EAAE,SAAS;IACpB,mBAAmB,EAAE,IAAI;IACzB,oBAAoB,EAAE,IAAI;IAC1B,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE,KAAK;IACrB,mBAAmB,EAAE,KAAK;IAC1B,cAAc,EAAE,IAAI;IACpB,qBAAqB,EAAE,IAAI;IAC3B,uBAAuB,EAAE,KAAK;CAC/B,CAAC"}
@@ -48,6 +48,7 @@ export interface RepositoryFlags<LOG extends Logger = Logger> {
48
48
  applyUpdateValidation: boolean;
49
49
  logger: LOG;
50
50
  correlationId?: string;
51
+ allowGenerationOverride: boolean;
51
52
  }
52
53
  export type LoggerOfFlags<R extends RepositoryFlags<any>> = R extends RepositoryFlags<infer L> ? L : never;
53
54
  export type FlagsOfContext<C extends Context<any>> = C extends Context<infer F> ? F : never;