@peter.naydenov/fsm 5.2.1 → 5.2.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 (34) hide show
  1. package/Changelog.md +5 -0
  2. package/coverage/lcov-report/index.html +1 -1
  3. package/coverage/lcov-report/src/index.html +1 -1
  4. package/coverage/lcov-report/src/main.js.html +1 -1
  5. package/coverage/lcov-report/src/methods/_getChain.js.html +1 -1
  6. package/coverage/lcov-report/src/methods/_onUpdateTask.js.html +4 -4
  7. package/coverage/lcov-report/src/methods/_setTransitions.js.html +1 -1
  8. package/coverage/lcov-report/src/methods/_transit.js.html +1 -1
  9. package/coverage/lcov-report/src/methods/_triggerCacheUpdate.js.html +1 -1
  10. package/coverage/lcov-report/src/methods/_updateStateData.js.html +1 -1
  11. package/coverage/lcov-report/src/methods/_updateStep.js.html +1 -1
  12. package/coverage/lcov-report/src/methods/_warn.js.html +1 -1
  13. package/coverage/lcov-report/src/methods/exportState.js.html +1 -1
  14. package/coverage/lcov-report/src/methods/extractList.js.html +1 -1
  15. package/coverage/lcov-report/src/methods/getDependencies.js.html +1 -1
  16. package/coverage/lcov-report/src/methods/getState.js.html +1 -1
  17. package/coverage/lcov-report/src/methods/ignoreCacheUpdates.js.html +1 -1
  18. package/coverage/lcov-report/src/methods/importState.js.html +1 -1
  19. package/coverage/lcov-report/src/methods/index.html +1 -1
  20. package/coverage/lcov-report/src/methods/index.js.html +1 -1
  21. package/coverage/lcov-report/src/methods/off.js.html +1 -1
  22. package/coverage/lcov-report/src/methods/on.js.html +1 -1
  23. package/coverage/lcov-report/src/methods/reset.js.html +1 -1
  24. package/coverage/lcov-report/src/methods/setDependencies.js.html +1 -1
  25. package/coverage/lcov-report/src/methods/update.js.html +1 -1
  26. package/coverage/tmp/coverage-87821-1739773912274-0.json +1 -0
  27. package/coverage/tmp/coverage-87822-1739773910846-0.json +1 -0
  28. package/dist/fsm.cjs +1 -1
  29. package/dist/fsm.esm.mjs +1 -1
  30. package/dist/fsm.umd.js +1 -1
  31. package/package.json +9 -9
  32. package/src/methods/_onUpdateTask.js +3 -3
  33. package/coverage/tmp/coverage-13889-1733214405510-0.json +0 -1
  34. package/coverage/tmp/coverage-13890-1733214404070-0.json +0 -1
@@ -0,0 +1 @@
1
+ {"result":[{"scriptId":"3","url":"node:internal/per_context/primordials","functions":[{"functionName":"SafeIterator","ranges":[{"startOffset":9162,"endOffset":9233,"count":3}],"isBlockCoverage":false},{"functionName":"next","ranges":[{"startOffset":9238,"endOffset":9287,"count":77}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9292,"endOffset":9337,"count":2}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10902,"endOffset":10969,"count":1}],"isBlockCoverage":false},{"functionName":"SafeMap","ranges":[{"startOffset":11627,"endOffset":11655,"count":2}],"isBlockCoverage":false},{"functionName":"SafeSet","ranges":[{"startOffset":11956,"endOffset":11984,"count":3}],"isBlockCoverage":false},{"functionName":"SafeFinalizationRegistry","ranges":[{"startOffset":12408,"endOffset":12464,"count":2}],"isBlockCoverage":false},{"functionName":"SafeWeakRef","ranges":[{"startOffset":12617,"endOffset":12655,"count":10}],"isBlockCoverage":false}]},{"scriptId":"6","url":"node:internal/bootstrap/realm","functions":[{"functionName":"internalBinding","ranges":[{"startOffset":6003,"endOffset":6265,"count":17}],"isBlockCoverage":false},{"functionName":"canBeRequiredByUsers","ranges":[{"startOffset":9498,"endOffset":9573,"count":2}],"isBlockCoverage":false},{"functionName":"canBeRequiredWithoutScheme","ranges":[{"startOffset":9584,"endOffset":9678,"count":2}],"isBlockCoverage":false},{"functionName":"normalizeRequirableId","ranges":[{"startOffset":9689,"endOffset":10034,"count":1}],"isBlockCoverage":false},{"functionName":"getCanBeRequiredByUsersWithoutSchemeList","ranges":[{"startOffset":10297,"endOffset":10406,"count":1}],"isBlockCoverage":false},{"functionName":"compileForPublicLoader","ranges":[{"startOffset":10564,"endOffset":11227,"count":1}],"isBlockCoverage":false},{"functionName":"compileForInternalLoader","ranges":[{"startOffset":12509,"endOffset":13331,"count":159}],"isBlockCoverage":false},{"functionName":"requireBuiltin","ranges":[{"startOffset":13526,"endOffset":13891,"count":158}],"isBlockCoverage":false}]},{"scriptId":"7","url":"node:internal/errors","functions":[{"functionName":"defaultPrepareStackTrace","ranges":[{"startOffset":2323,"endOffset":2790,"count":1}],"isBlockCoverage":false},{"functionName":"setInternalPrepareStackTrace","ranges":[{"startOffset":2792,"endOffset":2883,"count":1}],"isBlockCoverage":false},{"functionName":"prepareStackTraceCallback","ranges":[{"startOffset":3709,"endOffset":4840,"count":1}],"isBlockCoverage":false},{"functionName":"ErrorPrepareStackTrace","ranges":[{"startOffset":4905,"endOffset":5004,"count":1}],"isBlockCoverage":false},{"functionName":"lazyInternalUtilInspect","ranges":[{"startOffset":6520,"endOffset":6648,"count":1}],"isBlockCoverage":false},{"functionName":"lazyUtilColors","ranges":[{"startOffset":6666,"endOffset":6766,"count":1}],"isBlockCoverage":false},{"functionName":"wrappedFn","ranges":[{"startOffset":14711,"endOffset":14917,"count":23}],"isBlockCoverage":false},{"functionName":"beforeInspector","ranges":[{"startOffset":24308,"endOffset":24699,"count":1}],"isBlockCoverage":false},{"functionName":"afterInspector","ranges":[{"startOffset":24703,"endOffset":25986,"count":1}],"isBlockCoverage":false}]},{"scriptId":"8","url":"node:internal/assert","functions":[{"functionName":"assert","ranges":[{"startOffset":128,"endOffset":278,"count":4}],"isBlockCoverage":false}]},{"scriptId":"9","url":"node:internal/bootstrap/node","functions":[{"functionName":"get","ranges":[{"startOffset":3830,"endOffset":3880,"count":1}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":3886,"endOffset":3944,"count":2}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":4128,"endOffset":4547,"count":2}],"isBlockCoverage":false}]},{"scriptId":"11","url":"node:internal/async_hooks","functions":[{"functionName":"clearDefaultTriggerAsyncId","ranges":[{"startOffset":15287,"endOffset":15376,"count":1}],"isBlockCoverage":false}]},{"scriptId":"12","url":"node:internal/validators","functions":[{"functionName":"","ranges":[{"startOffset":2438,"endOffset":2819,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4381,"endOffset":4493,"count":20}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5898,"endOffset":6012,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":13109,"endOffset":13225,"count":1}],"isBlockCoverage":false}]},{"scriptId":"13","url":"node:internal/util","functions":[{"functionName":"isError","ranges":[{"startOffset":2012,"endOffset":2262,"count":1}],"isBlockCoverage":false},{"functionName":"exposeInterface","ranges":[{"startOffset":16386,"endOffset":16606,"count":1}],"isBlockCoverage":false},{"functionName":"defineLazyProperties","ranges":[{"startOffset":17105,"endOffset":18038,"count":2}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":17324,"endOffset":17467,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":17570,"endOffset":17766,"count":0}],"isBlockCoverage":false},{"functionName":"defineReplaceableLazyAttribute","ranges":[{"startOffset":18040,"endOffset":18940,"count":2}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":18252,"endOffset":18488,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":18593,"endOffset":18664,"count":0}],"isBlockCoverage":false},{"functionName":"exposeLazyInterfaces","ranges":[{"startOffset":18942,"endOffset":19042,"count":2}],"isBlockCoverage":false},{"functionName":"setOwnProperty","ranges":[{"startOffset":20237,"endOffset":20427,"count":3}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":22375,"endOffset":22503,"count":2}],"isBlockCoverage":false},{"functionName":"setupCoverageHooks","ranges":[{"startOffset":22631,"endOffset":23308,"count":1}],"isBlockCoverage":false},{"functionName":"guessHandleType","ranges":[{"startOffset":23381,"endOffset":23478,"count":1}],"isBlockCoverage":false},{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":23500,"endOffset":24086,"count":10}],"isBlockCoverage":false},{"functionName":"WeakReference","ranges":[{"startOffset":23617,"endOffset":23684,"count":10}],"isBlockCoverage":false},{"functionName":"incRef","ranges":[{"startOffset":23688,"endOffset":23906,"count":0}],"isBlockCoverage":false},{"functionName":"decRef","ranges":[{"startOffset":23910,"endOffset":24038,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":24042,"endOffset":24084,"count":0}],"isBlockCoverage":false}]},{"scriptId":"14","url":"node:internal/options","functions":[{"functionName":"getCLIOptionsFromBinding","ranges":[{"startOffset":495,"endOffset":582,"count":63}],"isBlockCoverage":false},{"functionName":"getEmbedderOptions","ranges":[{"startOffset":671,"endOffset":766,"count":6}],"isBlockCoverage":false},{"functionName":"refreshOptions","ranges":[{"startOffset":768,"endOffset":824,"count":1}],"isBlockCoverage":false},{"functionName":"getOptionValue","ranges":[{"startOffset":826,"endOffset":914,"count":63}],"isBlockCoverage":false}]},{"scriptId":"18","url":"node:internal/util/inspect","functions":[{"functionName":"inspect","ranges":[{"startOffset":9209,"endOffset":11235,"count":1}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":11346,"endOffset":11391,"count":1}],"isBlockCoverage":false},{"functionName":"isInstanceof","ranges":[{"startOffset":17555,"endOffset":17673,"count":1}],"isBlockCoverage":false},{"functionName":"getConstructorName","ranges":[{"startOffset":17675,"endOffset":18944,"count":1}],"isBlockCoverage":false},{"functionName":"getKeys","ranges":[{"startOffset":21390,"endOffset":22381,"count":1}],"isBlockCoverage":false},{"functionName":"filter","ranges":[{"startOffset":22221,"endOffset":22277,"count":0}],"isBlockCoverage":false},{"functionName":"formatValue","ranges":[{"startOffset":23280,"endOffset":26037,"count":1}],"isBlockCoverage":false},{"functionName":"formatRaw","ranges":[{"startOffset":26039,"endOffset":37128,"count":1}],"isBlockCoverage":false},{"functionName":"getStackString","ranges":[{"startOffset":40961,"endOffset":41071,"count":1}],"isBlockCoverage":false},{"functionName":"getStackFrames","ranges":[{"startOffset":41073,"endOffset":41964,"count":1}],"isBlockCoverage":false},{"functionName":"improveStack","ranges":[{"startOffset":41966,"endOffset":43154,"count":1}],"isBlockCoverage":false},{"functionName":"removeDuplicateErrorKeys","ranges":[{"startOffset":43156,"endOffset":43579,"count":1}],"isBlockCoverage":false},{"functionName":"formatError","ranges":[{"startOffset":45184,"endOffset":47579,"count":1}],"isBlockCoverage":false}]},{"scriptId":"19","url":"node:internal/util/debuglog","functions":[{"functionName":"initializeDebugEnv","ranges":[{"startOffset":832,"endOffset":1305,"count":1}],"isBlockCoverage":false},{"functionName":"testEnabled","ranges":[{"startOffset":1199,"endOffset":1256,"count":0}],"isBlockCoverage":false},{"functionName":"testEnabled","ranges":[{"startOffset":1287,"endOffset":1298,"count":3}],"isBlockCoverage":false},{"functionName":"emitWarningIfNeeded","ranges":[{"startOffset":1379,"endOffset":1718,"count":1}],"isBlockCoverage":false},{"functionName":"noop","ranges":[{"startOffset":1733,"endOffset":1741,"count":2}],"isBlockCoverage":false},{"functionName":"debuglogImpl","ranges":[{"startOffset":1862,"endOffset":2426,"count":2}],"isBlockCoverage":false},{"functionName":"debug","ranges":[{"startOffset":2051,"endOffset":2344,"count":0}],"isBlockCoverage":false},{"functionName":"debuglog","ranges":[{"startOffset":2646,"endOffset":3672,"count":1}],"isBlockCoverage":false},{"functionName":"init","ranges":[{"startOffset":2677,"endOffset":2773,"count":2}],"isBlockCoverage":false},{"functionName":"debug","ranges":[{"startOffset":2788,"endOffset":3182,"count":2}],"isBlockCoverage":false},{"functionName":"test","ranges":[{"startOffset":3212,"endOffset":3281,"count":0}],"isBlockCoverage":false},{"functionName":"logger","ranges":[{"startOffset":3300,"endOffset":3495,"count":2}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":3566,"endOffset":3600,"count":0}],"isBlockCoverage":false},{"functionName":"ensureTimerFlagsAreUpdated","ranges":[{"startOffset":9662,"endOffset":9815,"count":1}],"isBlockCoverage":false},{"functionName":"internalEndTimer","ranges":[{"startOffset":10202,"endOffset":10530,"count":1}],"isBlockCoverage":false},{"functionName":"init","ranges":[{"startOffset":10918,"endOffset":11416,"count":1}],"isBlockCoverage":false},{"functionName":"startTimer","ranges":[{"startOffset":11475,"endOffset":11625,"count":1}],"isBlockCoverage":false}]},{"scriptId":"22","url":"node:events","functions":[{"functionName":"EventEmitter","ranges":[{"startOffset":6589,"endOffset":6658,"count":1}],"isBlockCoverage":false},{"functionName":"checkListener","ranges":[{"startOffset":8109,"endOffset":8187,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10167,"endOffset":10815,"count":1}],"isBlockCoverage":false},{"functionName":"emit","ranges":[{"startOffset":13612,"endOffset":15904,"count":4}],"isBlockCoverage":false},{"functionName":"_addListener","ranges":[{"startOffset":15907,"endOffset":17823,"count":1}],"isBlockCoverage":false},{"functionName":"addListener","ranges":[{"startOffset":18001,"endOffset":18093,"count":1}],"isBlockCoverage":false},{"functionName":"arrayClone","ranges":[{"startOffset":25393,"endOffset":25866,"count":1}],"isBlockCoverage":false}]},{"scriptId":"24","url":"node:buffer","functions":[{"functionName":"get","ranges":[{"startOffset":8366,"endOffset":8394,"count":1}],"isBlockCoverage":false}]},{"scriptId":"25","url":"node:internal/buffer","functions":[{"functionName":"reconnectZeroFillToggle","ranges":[{"startOffset":31899,"endOffset":31971,"count":1}],"isBlockCoverage":false}]},{"scriptId":"26","url":"node:internal/worker/js_transferable","functions":[{"functionName":"markTransferMode","ranges":[{"startOffset":2750,"endOffset":3148,"count":1}],"isBlockCoverage":false}]},{"scriptId":"28","url":"node:internal/process/per_thread","functions":[{"functionName":"toggleTraceCategoryState","ranges":[{"startOffset":12250,"endOffset":12533,"count":1}],"isBlockCoverage":false}]},{"scriptId":"30","url":"node:internal/process/promises","functions":[{"functionName":"","ranges":[{"startOffset":1335,"endOffset":1447,"count":1}],"isBlockCoverage":false}]},{"scriptId":"34","url":"node:internal/process/execution","functions":[{"functionName":"tryGetCwd","ranges":[{"startOffset":945,"endOffset":1275,"count":2}],"isBlockCoverage":false},{"functionName":"evalScript","ranges":[{"startOffset":1987,"endOffset":4428,"count":1}],"isBlockCoverage":false},{"functionName":"runScript","ranges":[{"startOffset":2724,"endOffset":4290,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":3165,"endOffset":4065,"count":1}],"isBlockCoverage":false},{"functionName":"importModuleDynamically","ranges":[{"startOffset":3227,"endOffset":3486,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":4169,"endOffset":4205,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6135,"endOffset":7686,"count":1}],"isBlockCoverage":false}]},{"scriptId":"35","url":"node:path","functions":[{"functionName":"isPosixPathSeparator","ranges":[{"startOffset":2043,"endOffset":2120,"count":317}],"isBlockCoverage":false},{"functionName":"normalizeString","ranges":[{"startOffset":2355,"endOffset":4303,"count":8}],"isBlockCoverage":false},{"functionName":"resolve","ranges":[{"startOffset":35768,"endOffset":36872,"count":7}],"isBlockCoverage":false},{"functionName":"normalize","ranges":[{"startOffset":36938,"endOffset":37551,"count":1}],"isBlockCoverage":false},{"functionName":"join","ranges":[{"startOffset":37843,"endOffset":38207,"count":1}],"isBlockCoverage":false},{"functionName":"dirname","ranges":[{"startOffset":40865,"endOffset":41541,"count":3}],"isBlockCoverage":false}]},{"scriptId":"36","url":"node:internal/url","functions":[{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":3563,"endOffset":4335,"count":1}],"isBlockCoverage":false},{"functionName":"get hasPort","ranges":[{"startOffset":4114,"endOffset":4179,"count":0}],"isBlockCoverage":false},{"functionName":"get hasSearch","ranges":[{"startOffset":4183,"endOffset":4258,"count":0}],"isBlockCoverage":false},{"functionName":"get hasHash","ranges":[{"startOffset":4262,"endOffset":4333,"count":0}],"isBlockCoverage":false},{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":22444,"endOffset":33908,"count":1}],"isBlockCoverage":false},{"functionName":"setURLSearchParamsModified","ranges":[{"startOffset":22564,"endOffset":23052,"count":0}],"isBlockCoverage":false},{"functionName":"URL","ranges":[{"startOffset":23061,"endOffset":23966,"count":1}],"isBlockCoverage":false},{"functionName":"parse","ranges":[{"startOffset":23977,"endOffset":24219,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":24223,"endOffset":24943,"count":0}],"isBlockCoverage":false},{"functionName":"#getSearchFromContext","ranges":[{"startOffset":24947,"endOffset":25281,"count":0}],"isBlockCoverage":false},{"functionName":"#getSearchFromParams","ranges":[{"startOffset":25285,"endOffset":25396,"count":0}],"isBlockCoverage":false},{"functionName":"#ensureSearchParamsUpdated","ranges":[{"startOffset":25400,"endOffset":25839,"count":1}],"isBlockCoverage":false},{"functionName":"#updateContext","ranges":[{"startOffset":26087,"endOffset":27732,"count":1}],"isBlockCoverage":false},{"functionName":"toString","ranges":[{"startOffset":27736,"endOffset":27921,"count":0}],"isBlockCoverage":false},{"functionName":"get href","ranges":[{"startOffset":27925,"endOffset":28110,"count":1}],"isBlockCoverage":false},{"functionName":"set href","ranges":[{"startOffset":28114,"endOffset":28333,"count":0}],"isBlockCoverage":false},{"functionName":"get origin","ranges":[{"startOffset":28351,"endOffset":29220,"count":0}],"isBlockCoverage":false},{"functionName":"get protocol","ranges":[{"startOffset":29224,"endOffset":29328,"count":0}],"isBlockCoverage":false},{"functionName":"set protocol","ranges":[{"startOffset":29332,"endOffset":29505,"count":0}],"isBlockCoverage":false},{"functionName":"get username","ranges":[{"startOffset":29509,"endOffset":29736,"count":0}],"isBlockCoverage":false},{"functionName":"set username","ranges":[{"startOffset":29740,"endOffset":29913,"count":0}],"isBlockCoverage":false},{"functionName":"get password","ranges":[{"startOffset":29917,"endOffset":30140,"count":0}],"isBlockCoverage":false},{"functionName":"set password","ranges":[{"startOffset":30144,"endOffset":30317,"count":0}],"isBlockCoverage":false},{"functionName":"get host","ranges":[{"startOffset":30321,"endOffset":30752,"count":0}],"isBlockCoverage":false},{"functionName":"set host","ranges":[{"startOffset":30756,"endOffset":30921,"count":0}],"isBlockCoverage":false},{"functionName":"get hostname","ranges":[{"startOffset":30925,"endOffset":31207,"count":0}],"isBlockCoverage":false},{"functionName":"set hostname","ranges":[{"startOffset":31211,"endOffset":31384,"count":0}],"isBlockCoverage":false},{"functionName":"get port","ranges":[{"startOffset":31388,"endOffset":31496,"count":0}],"isBlockCoverage":false},{"functionName":"set port","ranges":[{"startOffset":31500,"endOffset":31665,"count":0}],"isBlockCoverage":false},{"functionName":"get pathname","ranges":[{"startOffset":31669,"endOffset":31961,"count":0}],"isBlockCoverage":false},{"functionName":"set pathname","ranges":[{"startOffset":31965,"endOffset":32138,"count":0}],"isBlockCoverage":false},{"functionName":"get search","ranges":[{"startOffset":32142,"endOffset":32339,"count":0}],"isBlockCoverage":false},{"functionName":"set search","ranges":[{"startOffset":32343,"endOffset":32547,"count":0}],"isBlockCoverage":false},{"functionName":"get searchParams","ranges":[{"startOffset":32565,"endOffset":32923,"count":0}],"isBlockCoverage":false},{"functionName":"get hash","ranges":[{"startOffset":32927,"endOffset":33142,"count":0}],"isBlockCoverage":false},{"functionName":"set hash","ranges":[{"startOffset":33146,"endOffset":33311,"count":0}],"isBlockCoverage":false},{"functionName":"toJSON","ranges":[{"startOffset":33315,"endOffset":33498,"count":0}],"isBlockCoverage":false},{"functionName":"canParse","ranges":[{"startOffset":33509,"endOffset":33906,"count":0}],"isBlockCoverage":false},{"functionName":"pathToFileURL","ranges":[{"startOffset":44127,"endOffset":45866,"count":1}],"isBlockCoverage":false}]},{"scriptId":"39","url":"node:internal/vm","functions":[{"functionName":"makeContextifyScript","ranges":[{"startOffset":6642,"endOffset":7818,"count":1}],"isBlockCoverage":false}]},{"scriptId":"41","url":"node:internal/source_map/source_map_cache","functions":[{"functionName":"setSourceMapsEnabled","ranges":[{"startOffset":1757,"endOffset":2261,"count":1}],"isBlockCoverage":false}]},{"scriptId":"42","url":"node:internal/modules/helpers","functions":[{"functionName":"","ranges":[{"startOffset":1428,"endOffset":1453,"count":1}],"isBlockCoverage":false},{"functionName":"initializeCjsConditions","ranges":[{"startOffset":2170,"endOffset":2661,"count":1}],"isBlockCoverage":false},{"functionName":"loadBuiltinModule","ranges":[{"startOffset":3082,"endOffset":3462,"count":1}],"isBlockCoverage":false},{"functionName":"lazyModule","ranges":[{"startOffset":3555,"endOffset":3648,"count":1}],"isBlockCoverage":false},{"functionName":"makeRequireFunction","ranges":[{"startOffset":3871,"endOffset":4949,"count":1}],"isBlockCoverage":false},{"functionName":"require","ranges":[{"startOffset":4066,"endOffset":4124,"count":0}],"isBlockCoverage":false},{"functionName":"resolve","ranges":[{"startOffset":4305,"endOffset":4451,"count":0}],"isBlockCoverage":false},{"functionName":"paths","ranges":[{"startOffset":4596,"endOffset":4718,"count":0}],"isBlockCoverage":false},{"functionName":"addBuiltinLibsToObject","ranges":[{"startOffset":5589,"endOffset":7528,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":6088,"endOffset":7524,"count":68}],"isBlockCoverage":false},{"functionName":"setReal","ranges":[{"startOffset":6682,"endOffset":6852,"count":1}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6930,"endOffset":7440,"count":1}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7196,"endOffset":7205,"count":0}],"isBlockCoverage":false},{"functionName":"hasStartedUserCJSExecution","ranges":[{"startOffset":15200,"endOffset":15274,"count":1}],"isBlockCoverage":false},{"functionName":"setHasStartedUserCJSExecution","ranges":[{"startOffset":15278,"endOffset":15355,"count":1}],"isBlockCoverage":false},{"functionName":"hasStartedUserESMExecution","ranges":[{"startOffset":15359,"endOffset":15433,"count":1}],"isBlockCoverage":false}]},{"scriptId":"54","url":"node:internal/console/constructor","functions":[{"functionName":"value","ranges":[{"startOffset":5567,"endOffset":6146,"count":1}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5776,"endOffset":5840,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":5852,"endOffset":5882,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6012,"endOffset":6076,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6088,"endOffset":6118,"count":0}],"isBlockCoverage":false},{"functionName":"initializeGlobalConsole","ranges":[{"startOffset":18936,"endOffset":19926,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":19821,"endOffset":19922,"count":0}],"isBlockCoverage":false}]},{"scriptId":"56","url":"node:internal/event_target","functions":[{"functionName":"defineEventHandler","ranges":[{"startOffset":29797,"endOffset":31263,"count":1}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":29957,"endOffset":30093,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":30192,"endOffset":31030,"count":0}],"isBlockCoverage":false}]},{"scriptId":"59","url":"node:internal/bootstrap/switches/is_main_thread","functions":[{"functionName":"createWritableStdioStream","ranges":[{"startOffset":1428,"endOffset":3030,"count":1}],"isBlockCoverage":false},{"functionName":"write","ranges":[{"startOffset":2845,"endOffset":2892,"count":0}],"isBlockCoverage":false},{"functionName":"addCleanup","ranges":[{"startOffset":3643,"endOffset":3734,"count":1}],"isBlockCoverage":false},{"functionName":"getStderr","ranges":[{"startOffset":4430,"endOffset":5121,"count":2}],"isBlockCoverage":false},{"functionName":"cleanupStderr","ranges":[{"startOffset":4787,"endOffset":4965,"count":0}],"isBlockCoverage":false}]},{"scriptId":"60","url":"node:internal/v8/startup_snapshot","functions":[{"functionName":"isBuildingSnapshot","ranges":[{"startOffset":433,"endOffset":504,"count":5}],"isBlockCoverage":false},{"functionName":"runDeserializeCallbacks","ranges":[{"startOffset":831,"endOffset":1004,"count":1}],"isBlockCoverage":false}]},{"scriptId":"61","url":"node:internal/process/signal","functions":[{"functionName":"isSignal","ranges":[{"startOffset":238,"endOffset":334,"count":1}],"isBlockCoverage":false},{"functionName":"startListeningIfSignal","ranges":[{"startOffset":398,"endOffset":908,"count":1}],"isBlockCoverage":false}]},{"scriptId":"63","url":"node:internal/modules/cjs/loader","functions":[{"functionName":"","ranges":[{"startOffset":4670,"endOffset":4713,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5489,"endOffset":5548,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5637,"endOffset":5675,"count":1}],"isBlockCoverage":false},{"functionName":"wrapModuleLoad","ranges":[{"startOffset":5910,"endOffset":6337,"count":1}],"isBlockCoverage":false},{"functionName":"updateChildren","ranges":[{"startOffset":7436,"endOffset":7638,"count":2}],"isBlockCoverage":false},{"functionName":"reportModuleToWatchMode","ranges":[{"startOffset":7755,"endOffset":7911,"count":1}],"isBlockCoverage":false},{"functionName":"Module","ranges":[{"startOffset":8425,"endOffset":8688,"count":2}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":10637,"endOffset":10662,"count":1}],"isBlockCoverage":false},{"functionName":"initializeCJS","ranges":[{"startOffset":11382,"endOffset":12289,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":26550,"endOffset":27738,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":32282,"endOffset":36160,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":36622,"endOffset":39761,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":42487,"endOffset":42788,"count":1}],"isBlockCoverage":false},{"functionName":"wrapSafe","ranges":[{"startOffset":48277,"endOffset":50284,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":50685,"endOffset":51990,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":59353,"endOffset":60318,"count":1}],"isBlockCoverage":false}]},{"scriptId":"65","url":"node:diagnostics_channel","functions":[{"functionName":"set","ranges":[{"startOffset":930,"endOffset":1047,"count":10}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":1051,"endOffset":1099,"count":10}],"isBlockCoverage":false},{"functionName":"Channel","ranges":[{"startOffset":4074,"endOffset":4215,"count":10}],"isBlockCoverage":false},{"functionName":"get hasSubscribers","ranges":[{"startOffset":4683,"endOffset":4727,"count":5}],"isBlockCoverage":false},{"functionName":"channel","ranges":[{"startOffset":4874,"endOffset":5140,"count":10}],"isBlockCoverage":false},{"functionName":"tracingChannelFrom","ranges":[{"startOffset":5698,"endOffset":6223,"count":10}],"isBlockCoverage":false},{"functionName":"TracingChannel","ranges":[{"startOffset":6250,"endOffset":6523,"count":2}],"isBlockCoverage":false},{"functionName":"get hasSubscribers","ranges":[{"startOffset":6527,"endOffset":6742,"count":1}],"isBlockCoverage":false},{"functionName":"traceSync","ranges":[{"startOffset":7235,"endOffset":7746,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7445,"endOffset":7740,"count":0}],"isBlockCoverage":false},{"functionName":"tracingChannel","ranges":[{"startOffset":10037,"endOffset":10125,"count":2}],"isBlockCoverage":false}]},{"scriptId":"66","url":"node:internal/modules/esm/utils","functions":[{"functionName":"initializeDefaultConditions","ranges":[{"startOffset":1785,"endOffset":2290,"count":1}],"isBlockCoverage":false},{"functionName":"initializeESM","ranges":[{"startOffset":10602,"endOffset":10988,"count":1}],"isBlockCoverage":false}]},{"scriptId":"67","url":"node:internal/process/pre_execution","functions":[{"functionName":"prepareMainThreadExecution","ranges":[{"startOffset":1056,"endOffset":1240,"count":1}],"isBlockCoverage":false},{"functionName":"prepareExecution","ranges":[{"startOffset":2420,"endOffset":4520,"count":1}],"isBlockCoverage":false},{"functionName":"setupSymbolDisposePolyfill","ranges":[{"startOffset":4522,"endOffset":5257,"count":1}],"isBlockCoverage":false},{"functionName":"setupUserModules","ranges":[{"startOffset":5259,"endOffset":6007,"count":1}],"isBlockCoverage":false},{"functionName":"refreshRuntimeOptions","ranges":[{"startOffset":6009,"endOffset":6065,"count":1}],"isBlockCoverage":false},{"functionName":"patchProcessObject","ranges":[{"startOffset":6492,"endOffset":8829,"count":1}],"isBlockCoverage":false},{"functionName":"addReadOnlyProcessAlias","ranges":[{"startOffset":8831,"endOffset":9112,"count":13}],"isBlockCoverage":false},{"functionName":"setupWarningHandler","ranges":[{"startOffset":9114,"endOffset":9634,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9518,"endOffset":9620,"count":0}],"isBlockCoverage":false},{"functionName":"setupUndici","ranges":[{"startOffset":9709,"endOffset":10038,"count":1}],"isBlockCoverage":false},{"functionName":"setupEventsource","ranges":[{"startOffset":10106,"endOffset":10231,"count":1}],"isBlockCoverage":false},{"functionName":"setupNavigator","ranges":[{"startOffset":10335,"endOffset":10736,"count":1}],"isBlockCoverage":false},{"functionName":"setupWebCrypto","ranges":[{"startOffset":10840,"endOffset":11792,"count":1}],"isBlockCoverage":false},{"functionName":"cryptoThisCheck","ranges":[{"startOffset":11166,"endOffset":11342,"count":0}],"isBlockCoverage":false},{"functionName":"get crypto","ranges":[{"startOffset":11643,"endOffset":11742,"count":0}],"isBlockCoverage":false},{"functionName":"setupSQLite","ranges":[{"startOffset":11794,"endOffset":11999,"count":1}],"isBlockCoverage":false},{"functionName":"setupWebStorage","ranges":[{"startOffset":12001,"endOffset":12406,"count":1}],"isBlockCoverage":false},{"functionName":"setupCodeCoverage","ranges":[{"startOffset":12408,"endOffset":12929,"count":1}],"isBlockCoverage":false},{"functionName":"setupCustomEvent","ranges":[{"startOffset":13035,"endOffset":13312,"count":1}],"isBlockCoverage":false},{"functionName":"setupStacktracePrinterOnSigint","ranges":[{"startOffset":13314,"endOffset":13539,"count":1}],"isBlockCoverage":false},{"functionName":"initializeReport","ranges":[{"startOffset":13541,"endOffset":13790,"count":1}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":13686,"endOffset":13781,"count":0}],"isBlockCoverage":false},{"functionName":"setupDebugEnv","ranges":[{"startOffset":13792,"endOffset":14023,"count":1}],"isBlockCoverage":false},{"functionName":"initializeReportSignalHandlers","ranges":[{"startOffset":14085,"endOffset":14273,"count":1}],"isBlockCoverage":false},{"functionName":"initializeHeapSnapshotSignalHandlers","ranges":[{"startOffset":14275,"endOffset":15009,"count":1}],"isBlockCoverage":false},{"functionName":"doWriteHeapSnapshot","ranges":[{"startOffset":14583,"endOffset":14737,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":14929,"endOffset":15001,"count":0}],"isBlockCoverage":false},{"functionName":"setupTraceCategoryState","ranges":[{"startOffset":15011,"endOffset":15270,"count":1}],"isBlockCoverage":false},{"functionName":"setupInspectorHooks","ranges":[{"startOffset":15272,"endOffset":15854,"count":1}],"isBlockCoverage":false},{"functionName":"setupNetworkInspection","ranges":[{"startOffset":15856,"endOffset":16169,"count":1}],"isBlockCoverage":false},{"functionName":"initializeDeprecations","ranges":[{"startOffset":16364,"endOffset":18266,"count":1}],"isBlockCoverage":false},{"functionName":"setupChildProcessIpcChannel","ranges":[{"startOffset":18268,"endOffset":18785,"count":1}],"isBlockCoverage":false},{"functionName":"initializeClusterIPC","ranges":[{"startOffset":18787,"endOffset":19057,"count":1}],"isBlockCoverage":false},{"functionName":"initializePermission","ranges":[{"startOffset":19059,"endOffset":21056,"count":1}],"isBlockCoverage":false},{"functionName":"binding","ranges":[{"startOffset":19225,"endOffset":19312,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":20888,"endOffset":21048,"count":6}],"isBlockCoverage":false},{"functionName":"initializeCJSLoader","ranges":[{"startOffset":21058,"endOffset":21179,"count":1}],"isBlockCoverage":false},{"functionName":"initializeESMLoader","ranges":[{"startOffset":21181,"endOffset":21764,"count":1}],"isBlockCoverage":false},{"functionName":"initializeSourceMapsHandlers","ranges":[{"startOffset":21766,"endOffset":21964,"count":1}],"isBlockCoverage":false},{"functionName":"initializeFrozenIntrinsics","ranges":[{"startOffset":21966,"endOffset":22153,"count":1}],"isBlockCoverage":false},{"functionName":"loadPreloadModules","ranges":[{"startOffset":22260,"endOffset":22608,"count":1}],"isBlockCoverage":false},{"functionName":"markBootstrapComplete","ranges":[{"startOffset":22610,"endOffset":22704,"count":1}],"isBlockCoverage":false}]},{"scriptId":"70","url":"node:internal/dns/utils","functions":[{"functionName":"initializeDns","ranges":[{"startOffset":5465,"endOffset":5946,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5886,"endOffset":5942,"count":0}],"isBlockCoverage":false}]},{"scriptId":"72","url":"node:internal/bootstrap/switches/does_own_process_state","functions":[{"functionName":"wrappedCwd","ranges":[{"startOffset":3731,"endOffset":3834,"count":2}],"isBlockCoverage":false}]},{"scriptId":"73","url":"node:internal/main/eval_string","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":2303,"count":1}],"isBlockCoverage":false},{"functionName":"setReal","ranges":[{"startOffset":1748,"endOffset":1918,"count":0}],"isBlockCoverage":false}]},{"scriptId":"74","url":"node:module","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":697,"count":1}],"isBlockCoverage":false}]},{"scriptId":"75","url":"node:internal/modules/esm/loader","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":35495,"count":1}],"isBlockCoverage":false},{"functionName":"newResolveCache","ranges":[{"startOffset":1580,"endOffset":1710,"count":0}],"isBlockCoverage":false},{"functionName":"newLoadCache","ranges":[{"startOffset":1864,"endOffset":1985,"count":0}],"isBlockCoverage":false},{"functionName":"getTranslators","ranges":[{"startOffset":2147,"endOffset":2269,"count":0}],"isBlockCoverage":false},{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":3042,"endOffset":28208,"count":0}],"isBlockCoverage":false},{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":28291,"endOffset":30889,"count":0}],"isBlockCoverage":false},{"functionName":"createModuleLoader","ranges":[{"startOffset":31273,"endOffset":32897,"count":0}],"isBlockCoverage":false},{"functionName":"getHooksProxy","ranges":[{"startOffset":33010,"endOffset":33186,"count":0}],"isBlockCoverage":false},{"functionName":"getOrInitializeCascadedLoader","ranges":[{"startOffset":33688,"endOffset":33800,"count":0}],"isBlockCoverage":false},{"functionName":"register","ranges":[{"startOffset":35042,"endOffset":35387,"count":0}],"isBlockCoverage":false}]},{"scriptId":"76","url":"node:internal/modules/esm/assert","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3875,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1301,"endOffset":1342,"count":5}],"isBlockCoverage":true},{"functionName":"validateAttributes","ranges":[{"startOffset":1763,"endOffset":3145,"count":0}],"isBlockCoverage":false},{"functionName":"handleInvalidType","ranges":[{"startOffset":3379,"endOffset":3802,"count":0}],"isBlockCoverage":false}]},{"scriptId":"77","url":"node:internal/source_map/source_map","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12164,"count":1}],"isBlockCoverage":false},{"functionName":"StringCharIterator","ranges":[{"startOffset":4050,"endOffset":4126,"count":0}],"isBlockCoverage":false},{"functionName":"next","ranges":[{"startOffset":4164,"endOffset":4242,"count":0}],"isBlockCoverage":false},{"functionName":"peek","ranges":[{"startOffset":4280,"endOffset":4356,"count":0}],"isBlockCoverage":false},{"functionName":"hasNext","ranges":[{"startOffset":4395,"endOffset":4459,"count":0}],"isBlockCoverage":false},{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":4616,"endOffset":10114,"count":0}],"isBlockCoverage":false},{"functionName":"isSeparator","ranges":[{"startOffset":10169,"endOffset":10238,"count":0}],"isBlockCoverage":false},{"functionName":"decodeVLQ","ranges":[{"startOffset":10328,"endOffset":11261,"count":0}],"isBlockCoverage":false},{"functionName":"cloneSourceMapV3","ranges":[{"startOffset":11328,"endOffset":11640,"count":0}],"isBlockCoverage":false},{"functionName":"compareSourceMapEntry","ranges":[{"startOffset":11835,"endOffset":12114,"count":0}],"isBlockCoverage":false}]},{"scriptId":"79","url":"[eval]-wrapper","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":182,"count":1}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":160,"endOffset":176,"count":1}],"isBlockCoverage":true}]},{"scriptId":"81","url":"node:internal/util/colors","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1194,"count":1}],"isBlockCoverage":false},{"functionName":"lazyInternalTTY","ranges":[{"startOffset":32,"endOffset":127,"count":0}],"isBlockCoverage":false},{"functionName":"shouldColorize","ranges":[{"startOffset":257,"endOffset":517,"count":1},{"startOffset":329,"endOffset":388,"count":0},{"startOffset":414,"endOffset":512,"count":0}],"isBlockCoverage":true},{"functionName":"refresh","ranges":[{"startOffset":521,"endOffset":1162,"count":1},{"startOffset":563,"endOffset":1158,"count":0}],"isBlockCoverage":true}]},{"scriptId":"82","url":"node:internal/fs/sync_write_stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1085,"count":1}],"isBlockCoverage":false},{"functionName":"SyncWriteStream","ranges":[{"startOffset":221,"endOffset":469,"count":1},{"startOffset":440,"endOffset":446,"count":0}],"isBlockCoverage":true},{"functionName":"SyncWriteStream._write","ranges":[{"startOffset":625,"endOffset":765,"count":0}],"isBlockCoverage":false},{"functionName":"SyncWriteStream._destroy","ranges":[{"startOffset":805,"endOffset":970,"count":0}],"isBlockCoverage":false}]},{"scriptId":"83","url":"node:stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5095,"count":1}],"isBlockCoverage":false},{"functionName":"fn","ranges":[{"startOffset":2552,"endOffset":2712,"count":0}],"isBlockCoverage":false},{"functionName":"fn","ranges":[{"startOffset":3214,"endOffset":3352,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4400,"endOffset":4432,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4530,"endOffset":4571,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4664,"endOffset":4705,"count":0}],"isBlockCoverage":false},{"functionName":"_uint8ArrayToBuffer","ranges":[{"startOffset":4886,"endOffset":5093,"count":0}],"isBlockCoverage":false}]},{"scriptId":"84","url":"node:internal/streams/operators","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":10140,"count":1}],"isBlockCoverage":false},{"functionName":"compose","ranges":[{"startOffset":971,"endOffset":1551,"count":0}],"isBlockCoverage":false},{"functionName":"map","ranges":[{"startOffset":1553,"endOffset":4656,"count":0}],"isBlockCoverage":false},{"functionName":"some","ranges":[{"startOffset":4658,"endOffset":4806,"count":0}],"isBlockCoverage":false},{"functionName":"every","ranges":[{"startOffset":4808,"endOffset":5136,"count":0}],"isBlockCoverage":false},{"functionName":"find","ranges":[{"startOffset":5138,"endOffset":5280,"count":0}],"isBlockCoverage":false},{"functionName":"forEach","ranges":[{"startOffset":5282,"endOffset":5652,"count":0}],"isBlockCoverage":false},{"functionName":"filter","ranges":[{"startOffset":5654,"endOffset":5981,"count":0}],"isBlockCoverage":false},{"functionName":"ReduceAwareErrMissingArgs","ranges":[{"startOffset":6197,"endOffset":6311,"count":0}],"isBlockCoverage":false},{"functionName":"reduce","ranges":[{"startOffset":6315,"endOffset":7757,"count":0}],"isBlockCoverage":false},{"functionName":"toArray","ranges":[{"startOffset":7759,"endOffset":8188,"count":0}],"isBlockCoverage":false},{"functionName":"flatMap","ranges":[{"startOffset":8190,"endOffset":8384,"count":0}],"isBlockCoverage":false},{"functionName":"toIntegerOrInfinity","ranges":[{"startOffset":8386,"endOffset":8708,"count":0}],"isBlockCoverage":false},{"functionName":"drop","ranges":[{"startOffset":8710,"endOffset":9258,"count":0}],"isBlockCoverage":false},{"functionName":"take","ranges":[{"startOffset":9260,"endOffset":9930,"count":0}],"isBlockCoverage":false}]},{"scriptId":"85","url":"node:internal/abort_controller","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":14330,"count":1}],"isBlockCoverage":false},{"functionName":"lazyMessageChannel","ranges":[{"startOffset":1690,"endOffset":1823,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1967,"endOffset":2216,"count":0}],"isBlockCoverage":false},{"functionName":"customInspect","ranges":[{"startOffset":2614,"endOffset":2873,"count":0}],"isBlockCoverage":false},{"functionName":"validateThisAbortSignal","ranges":[{"startOffset":2875,"endOffset":3000,"count":0}],"isBlockCoverage":false},{"functionName":"setWeakAbortSignalTimeout","ranges":[{"startOffset":3582,"endOffset":3982,"count":0}],"isBlockCoverage":false},{"functionName":"AbortSignal","ranges":[{"startOffset":4242,"endOffset":4713,"count":0}],"isBlockCoverage":false},{"functionName":"get aborted","ranges":[{"startOffset":4750,"endOffset":4833,"count":0}],"isBlockCoverage":false},{"functionName":"get reason","ranges":[{"startOffset":4866,"endOffset":4945,"count":0}],"isBlockCoverage":false},{"functionName":"throwIfAborted","ranges":[{"startOffset":4949,"endOffset":5065,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":5069,"endOffset":5198,"count":0}],"isBlockCoverage":false},{"functionName":"abort","ranges":[{"startOffset":5276,"endOffset":5436,"count":0}],"isBlockCoverage":false},{"functionName":"timeout","ranges":[{"startOffset":5514,"endOffset":5794,"count":0}],"isBlockCoverage":false},{"functionName":"any","ranges":[{"startOffset":5881,"endOffset":7573,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":7577,"endOffset":8345,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8349,"endOffset":8703,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":8707,"endOffset":9314,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9318,"endOffset":9570,"count":0}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":9574,"endOffset":10022,"count":0}],"isBlockCoverage":false},{"functionName":"ClonedAbortSignal","ranges":[{"startOffset":10026,"endOffset":10126,"count":0}],"isBlockCoverage":false},{"functionName":"ClonedAbortSignal.<computed>","ranges":[{"startOffset":10171,"endOffset":10179,"count":0}],"isBlockCoverage":false},{"functionName":"abortSignal","ranges":[{"startOffset":10549,"endOffset":11827,"count":0}],"isBlockCoverage":false},{"functionName":"runAbort","ranges":[{"startOffset":11881,"endOffset":12009,"count":0}],"isBlockCoverage":false},{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":12033,"endOffset":12711,"count":0}],"isBlockCoverage":false},{"functionName":"transferableAbortSignal","ranges":[{"startOffset":12859,"endOffset":13070,"count":0}],"isBlockCoverage":false},{"functionName":"transferableAbortController","ranges":[{"startOffset":13142,"endOffset":13231,"count":0}],"isBlockCoverage":false},{"functionName":"aborted","ranges":[{"startOffset":13325,"endOffset":13881,"count":0}],"isBlockCoverage":false}]},{"scriptId":"86","url":"node:internal/streams/end-of-stream","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":8484,"count":1}],"isBlockCoverage":false},{"functionName":"isRequest","ranges":[{"startOffset":883,"endOffset":978,"count":0}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":992,"endOffset":1000,"count":0}],"isBlockCoverage":false},{"functionName":"eos","ranges":[{"startOffset":1003,"endOffset":7053,"count":0}],"isBlockCoverage":false},{"functionName":"eosWeb","ranges":[{"startOffset":7055,"endOffset":7964,"count":0}],"isBlockCoverage":false},{"functionName":"finished","ranges":[{"startOffset":7966,"endOffset":8424,"count":0}],"isBlockCoverage":false}]},{"scriptId":"87","url":"node:internal/streams/compose","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5511,"count":1}],"isBlockCoverage":false},{"functionName":"compose","ranges":[{"startOffset":592,"endOffset":5509,"count":0}],"isBlockCoverage":false}]},{"scriptId":"88","url":"node:internal/streams/pipeline","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":12467,"count":1}],"isBlockCoverage":false},{"functionName":"destroyer","ranges":[{"startOffset":1056,"endOffset":1485,"count":0}],"isBlockCoverage":false},{"functionName":"popCallback","ranges":[{"startOffset":1487,"endOffset":1815,"count":0}],"isBlockCoverage":false},{"functionName":"makeAsyncIterable","ranges":[{"startOffset":1817,"endOffset":2103,"count":0}],"isBlockCoverage":false},{"functionName":"fromReadable","ranges":[{"startOffset":2105,"endOffset":2255,"count":0}],"isBlockCoverage":false},{"functionName":"pumpToNode","ranges":[{"startOffset":2257,"endOffset":3301,"count":0}],"isBlockCoverage":false},{"functionName":"pumpToWeb","ranges":[{"startOffset":3303,"endOffset":3901,"count":0}],"isBlockCoverage":false},{"functionName":"pipeline","ranges":[{"startOffset":3903,"endOffset":3996,"count":0}],"isBlockCoverage":false},{"functionName":"pipelineImpl","ranges":[{"startOffset":3998,"endOffset":10588,"count":0}],"isBlockCoverage":false},{"functionName":"pipe","ranges":[{"startOffset":10590,"endOffset":12420,"count":0}],"isBlockCoverage":false}]},{"scriptId":"89","url":"node:internal/streams/destroy","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7355,"count":1}],"isBlockCoverage":false},{"functionName":"checkError","ranges":[{"startOffset":488,"endOffset":799,"count":0}],"isBlockCoverage":false},{"functionName":"destroy","ranges":[{"startOffset":909,"endOffset":1786,"count":0}],"isBlockCoverage":false},{"functionName":"_destroy","ranges":[{"startOffset":1788,"endOffset":2412,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorCloseNT","ranges":[{"startOffset":2414,"endOffset":2501,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseNT","ranges":[{"startOffset":2503,"endOffset":2823,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorNT","ranges":[{"startOffset":2825,"endOffset":3172,"count":0}],"isBlockCoverage":false},{"functionName":"undestroy","ranges":[{"startOffset":3174,"endOffset":3864,"count":0}],"isBlockCoverage":false},{"functionName":"errorOrDestroy","ranges":[{"startOffset":3866,"endOffset":5005,"count":0}],"isBlockCoverage":false},{"functionName":"construct","ranges":[{"startOffset":5007,"endOffset":5423,"count":0}],"isBlockCoverage":false},{"functionName":"constructNT","ranges":[{"startOffset":5425,"endOffset":6164,"count":0}],"isBlockCoverage":false},{"functionName":"isRequest","ranges":[{"startOffset":6166,"endOffset":6262,"count":0}],"isBlockCoverage":false},{"functionName":"emitCloseLegacy","ranges":[{"startOffset":6264,"endOffset":6324,"count":0}],"isBlockCoverage":false},{"functionName":"emitErrorCloseLegacy","ranges":[{"startOffset":6326,"endOffset":6446,"count":0}],"isBlockCoverage":false},{"functionName":"destroyer","ranges":[{"startOffset":6481,"endOffset":7263,"count":0}],"isBlockCoverage":false}]},{"scriptId":"90","url":"node:internal/streams/duplex","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":6529,"count":1}],"isBlockCoverage":false},{"functionName":"Duplex","ranges":[{"startOffset":2315,"endOffset":4278,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":5426,"endOffset":5638,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":5644,"endOffset":5905,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":5979,"endOffset":6143,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.fromWeb","ranges":[{"startOffset":6162,"endOffset":6280,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.toWeb","ranges":[{"startOffset":6298,"endOffset":6387,"count":0}],"isBlockCoverage":false},{"functionName":"Duplex.from","ranges":[{"startOffset":6420,"endOffset":6527,"count":0}],"isBlockCoverage":false}]},{"scriptId":"91","url":"node:internal/streams/legacy","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":3251,"count":1}],"isBlockCoverage":false},{"functionName":"Stream","ranges":[{"startOffset":130,"endOffset":178,"count":1}],"isBlockCoverage":true},{"functionName":"Stream.pipe","ranges":[{"startOffset":292,"endOffset":2094,"count":0}],"isBlockCoverage":false},{"functionName":"eventNames","ranges":[{"startOffset":2127,"endOffset":2393,"count":0}],"isBlockCoverage":false},{"functionName":"prependListener","ranges":[{"startOffset":2396,"endOffset":3203,"count":0}],"isBlockCoverage":false}]},{"scriptId":"92","url":"node:internal/streams/readable","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":51284,"count":1}],"isBlockCoverage":false},{"functionName":"","ranges":[{"startOffset":1880,"endOffset":1905,"count":0}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":2867,"endOffset":2875,"count":0}],"isBlockCoverage":false},{"functionName":"makeBitMapDescriptor","ranges":[{"startOffset":3771,"endOffset":3993,"count":19}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3846,"endOffset":3890,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":3896,"endOffset":3985,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6167,"endOffset":6255,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6261,"endOffset":6427,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6504,"endOffset":6604,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":6610,"endOffset":6840,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":6909,"endOffset":6997,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":7003,"endOffset":7169,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7239,"endOffset":7329,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":7335,"endOffset":7504,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7573,"endOffset":7676,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":7682,"endOffset":7949,"count":0}],"isBlockCoverage":false},{"functionName":"ReadableState","ranges":[{"startOffset":7962,"endOffset":9928,"count":0}],"isBlockCoverage":false},{"functionName":"onConstructed","ranges":[{"startOffset":9972,"endOffset":10089,"count":0}],"isBlockCoverage":false},{"functionName":"Readable","ranges":[{"startOffset":10092,"endOffset":11126,"count":0}],"isBlockCoverage":false},{"functionName":"Readable._destroy","ranges":[{"startOffset":11263,"endOffset":11295,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.<computed>","ranges":[{"startOffset":11346,"endOffset":11384,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.<computed>","ranges":[{"startOffset":11428,"endOffset":11684,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.push","ranges":[{"startOffset":11913,"endOffset":12182,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.unshift","ranges":[{"startOffset":12278,"endOffset":12545,"count":0}],"isBlockCoverage":false},{"functionName":"readableAddChunkUnshiftByteMode","ranges":[{"startOffset":12549,"endOffset":13605,"count":0}],"isBlockCoverage":false},{"functionName":"readableAddChunkUnshiftObjectMode","ranges":[{"startOffset":13607,"endOffset":13847,"count":0}],"isBlockCoverage":false},{"functionName":"readableAddChunkUnshiftValue","ranges":[{"startOffset":13849,"endOffset":14182,"count":0}],"isBlockCoverage":false},{"functionName":"readableAddChunkPushByteMode","ranges":[{"startOffset":14184,"endOffset":15566,"count":0}],"isBlockCoverage":false},{"functionName":"readableAddChunkPushObjectMode","ranges":[{"startOffset":15568,"endOffset":16165,"count":0}],"isBlockCoverage":false},{"functionName":"canPushMore","ranges":[{"startOffset":16167,"endOffset":16497,"count":0}],"isBlockCoverage":false},{"functionName":"addChunk","ranges":[{"startOffset":16499,"endOffset":17443,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.isPaused","ranges":[{"startOffset":17475,"endOffset":17630,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.setEncoding","ranges":[{"startOffset":17694,"endOffset":18264,"count":0}],"isBlockCoverage":false},{"functionName":"computeNewHighWaterMark","ranges":[{"startOffset":18325,"endOffset":18676,"count":0}],"isBlockCoverage":false},{"functionName":"howMuchToRead","ranges":[{"startOffset":18789,"endOffset":19270,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.read","ranges":[{"startOffset":19367,"endOffset":24042,"count":0}],"isBlockCoverage":false},{"functionName":"onEofChunk","ranges":[{"startOffset":24045,"endOffset":24999,"count":0}],"isBlockCoverage":false},{"functionName":"emitReadable","ranges":[{"startOffset":25200,"endOffset":25531,"count":0}],"isBlockCoverage":false},{"functionName":"emitReadable_","ranges":[{"startOffset":25533,"endOffset":26205,"count":0}],"isBlockCoverage":false},{"functionName":"maybeReadMore","ranges":[{"startOffset":26555,"endOffset":26762,"count":0}],"isBlockCoverage":false},{"functionName":"maybeReadMore_","ranges":[{"startOffset":26764,"endOffset":28593,"count":0}],"isBlockCoverage":false},{"functionName":"Readable._read","ranges":[{"startOffset":28864,"endOffset":28930,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.pipe","ranges":[{"startOffset":28959,"endOffset":33469,"count":0}],"isBlockCoverage":false},{"functionName":"pipeOnDrain","ranges":[{"startOffset":33472,"endOffset":34149,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.unpipe","ranges":[{"startOffset":34180,"endOffset":34881,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.on","ranges":[{"startOffset":35007,"endOffset":36016,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.removeListener","ranges":[{"startOffset":36111,"endOffset":36818,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.removeAllListeners","ranges":[{"startOffset":36921,"endOffset":37515,"count":0}],"isBlockCoverage":false},{"functionName":"updateReadableListening","ranges":[{"startOffset":37518,"endOffset":38220,"count":0}],"isBlockCoverage":false},{"functionName":"nReadingNextTick","ranges":[{"startOffset":38222,"endOffset":38310,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.resume","ranges":[{"startOffset":38464,"endOffset":38969,"count":0}],"isBlockCoverage":false},{"functionName":"resume","ranges":[{"startOffset":38972,"endOffset":39145,"count":0}],"isBlockCoverage":false},{"functionName":"resume_","ranges":[{"startOffset":39147,"endOffset":39461,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.pause","ranges":[{"startOffset":39490,"endOffset":39802,"count":0}],"isBlockCoverage":false},{"functionName":"flow","ranges":[{"startOffset":39805,"endOffset":39956,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.wrap","ranges":[{"startOffset":40140,"endOffset":41161,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.<computed>","ranges":[{"startOffset":41206,"endOffset":41258,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.iterator","ranges":[{"startOffset":41291,"endOffset":41434,"count":0}],"isBlockCoverage":false},{"functionName":"streamToAsyncIterator","ranges":[{"startOffset":41437,"endOffset":41686,"count":0}],"isBlockCoverage":false},{"functionName":"createAsyncIterator","ranges":[{"startOffset":41688,"endOffset":42764,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":42983,"endOffset":43372,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":43378,"endOffset":43508,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":43590,"endOffset":43654,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":43736,"endOffset":43944,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":44032,"endOffset":44098,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":44179,"endOffset":44239,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":44321,"endOffset":44381,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":44392,"endOffset":44501,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":44577,"endOffset":44631,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":44711,"endOffset":44799,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":44877,"endOffset":44962,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":45031,"endOffset":45115,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":45160,"endOffset":45244,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":45315,"endOffset":45402,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":45408,"endOffset":45697,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":45772,"endOffset":45860,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":46001,"endOffset":46046,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":46126,"endOffset":46184,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":46190,"endOffset":46351,"count":0}],"isBlockCoverage":false},{"functionName":"fromList","ranges":[{"startOffset":46657,"endOffset":49109,"count":0}],"isBlockCoverage":false},{"functionName":"endReadable","ranges":[{"startOffset":49111,"endOffset":49337,"count":0}],"isBlockCoverage":false},{"functionName":"endReadableNT","ranges":[{"startOffset":49339,"endOffset":50232,"count":0}],"isBlockCoverage":false},{"functionName":"endWritableNT","ranges":[{"startOffset":50234,"endOffset":50394,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.from","ranges":[{"startOffset":50412,"endOffset":50481,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":50546,"endOffset":50710,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.fromWeb","ranges":[{"startOffset":50731,"endOffset":50865,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.toWeb","ranges":[{"startOffset":50885,"endOffset":51019,"count":0}],"isBlockCoverage":false},{"functionName":"Readable.wrap","ranges":[{"startOffset":51038,"endOffset":51282,"count":0}],"isBlockCoverage":false}]},{"scriptId":"93","url":"node:internal/streams/add-abort-signal","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1734,"count":1}],"isBlockCoverage":false},{"functionName":"validateAbortSignal","ranges":[{"startOffset":563,"endOffset":722,"count":0}],"isBlockCoverage":false},{"functionName":"addAbortSignal","ranges":[{"startOffset":757,"endOffset":1068,"count":0}],"isBlockCoverage":false},{"functionName":"module.exports.addAbortSignalNoValidate","ranges":[{"startOffset":1113,"endOffset":1732,"count":0}],"isBlockCoverage":false}]},{"scriptId":"94","url":"node:internal/streams/state","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1440,"count":1}],"isBlockCoverage":false},{"functionName":"highWaterMarkFrom","ranges":[{"startOffset":395,"endOffset":562,"count":1},{"startOffset":493,"endOffset":516,"count":0},{"startOffset":532,"endOffset":552,"count":0}],"isBlockCoverage":true},{"functionName":"getDefaultHighWaterMark","ranges":[{"startOffset":564,"endOffset":694,"count":1},{"startOffset":631,"endOffset":663,"count":0}],"isBlockCoverage":true},{"functionName":"setDefaultHighWaterMark","ranges":[{"startOffset":696,"endOffset":907,"count":0}],"isBlockCoverage":false},{"functionName":"getHighWaterMark","ranges":[{"startOffset":909,"endOffset":1342,"count":1},{"startOffset":1056,"endOffset":1268,"count":0}],"isBlockCoverage":true}]},{"scriptId":"95","url":"node:string_decoder","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":5141,"count":1}],"isBlockCoverage":false},{"functionName":"normalizeEncoding","ranges":[{"startOffset":2172,"endOffset":2422,"count":0}],"isBlockCoverage":false},{"functionName":"StringDecoder","ranges":[{"startOffset":2633,"endOffset":2832,"count":0}],"isBlockCoverage":false},{"functionName":"write","ranges":[{"startOffset":3155,"endOffset":3540,"count":0}],"isBlockCoverage":false},{"functionName":"end","ranges":[{"startOffset":3817,"endOffset":4008,"count":0}],"isBlockCoverage":false},{"functionName":"text","ranges":[{"startOffset":4219,"endOffset":4376,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4514,"endOffset":4727,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4819,"endOffset":4882,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":4975,"endOffset":5090,"count":0}],"isBlockCoverage":false}]},{"scriptId":"96","url":"node:internal/streams/from","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":4321,"count":1}],"isBlockCoverage":false},{"functionName":"from","ranges":[{"startOffset":241,"endOffset":4296,"count":0}],"isBlockCoverage":false}]},{"scriptId":"97","url":"node:internal/streams/writable","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":33592,"count":1}],"isBlockCoverage":false},{"functionName":"nop","ranges":[{"startOffset":2779,"endOffset":2796,"count":0}],"isBlockCoverage":false},{"functionName":"makeBitMapDescriptor","ranges":[{"startOffset":3852,"endOffset":4074,"count":20}],"isBlockCoverage":true},{"functionName":"get","ranges":[{"startOffset":3927,"endOffset":3971,"count":1}],"isBlockCoverage":true},{"functionName":"set","ranges":[{"startOffset":3977,"endOffset":4066,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7038,"endOffset":7116,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":7122,"endOffset":7288,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7358,"endOffset":7458,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":7464,"endOffset":7737,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":7814,"endOffset":7914,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":7920,"endOffset":8150,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8291,"endOffset":8368,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":8374,"endOffset":8538,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":8725,"endOffset":8825,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":8831,"endOffset":9028,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":9098,"endOffset":9176,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":9182,"endOffset":9349,"count":0}],"isBlockCoverage":false},{"functionName":"WritableState","ranges":[{"startOffset":9362,"endOffset":11644,"count":1},{"startOffset":9630,"endOffset":9658,"count":0},{"startOffset":9675,"endOffset":9705,"count":0},{"startOffset":9711,"endOffset":9739,"count":0},{"startOffset":10030,"endOffset":10066,"count":0},{"startOffset":10258,"endOffset":10286,"count":0},{"startOffset":10409,"endOffset":10439,"count":0},{"startOffset":10696,"endOffset":10702,"count":0},{"startOffset":10734,"endOffset":10763,"count":0},{"startOffset":10764,"endOffset":10794,"count":0},{"startOffset":10843,"endOffset":11052,"count":0}],"isBlockCoverage":true},{"functionName":"resetBuffer","ranges":[{"startOffset":11646,"endOffset":11810,"count":1}],"isBlockCoverage":true},{"functionName":"getBuffer","ranges":[{"startOffset":11848,"endOffset":11977,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":12073,"endOffset":12184,"count":0}],"isBlockCoverage":false},{"functionName":"onConstructed","ranges":[{"startOffset":12233,"endOffset":12419,"count":0}],"isBlockCoverage":false},{"functionName":"Writable","ranges":[{"startOffset":12422,"endOffset":13528,"count":1},{"startOffset":12490,"endOffset":12519,"count":0},{"startOffset":12914,"endOffset":12942,"count":0},{"startOffset":12996,"endOffset":13026,"count":0},{"startOffset":13081,"endOffset":13113,"count":0},{"startOffset":13166,"endOffset":13194,"count":0},{"startOffset":13251,"endOffset":13287,"count":0},{"startOffset":13319,"endOffset":13356,"count":0},{"startOffset":13424,"endOffset":13526,"count":0}],"isBlockCoverage":true},{"functionName":"","ranges":[{"startOffset":13458,"endOffset":13520,"count":0}],"isBlockCoverage":false},{"functionName":"value","ranges":[{"startOffset":13610,"endOffset":13814,"count":1},{"startOffset":13699,"endOffset":13809,"count":0}],"isBlockCoverage":true},{"functionName":"Writable.pipe","ranges":[{"startOffset":13915,"endOffset":13983,"count":0}],"isBlockCoverage":false},{"functionName":"_write","ranges":[{"startOffset":13986,"endOffset":15384,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.write","ranges":[{"startOffset":15413,"endOffset":15604,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.cork","ranges":[{"startOffset":15633,"endOffset":15731,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.uncork","ranges":[{"startOffset":15762,"endOffset":16000,"count":0}],"isBlockCoverage":false},{"functionName":"setDefaultEncoding","ranges":[{"startOffset":16043,"endOffset":16368,"count":0}],"isBlockCoverage":false},{"functionName":"writeOrBuffer","ranges":[{"startOffset":16558,"endOffset":17762,"count":0}],"isBlockCoverage":false},{"functionName":"doWrite","ranges":[{"startOffset":17764,"endOffset":18201,"count":0}],"isBlockCoverage":false},{"functionName":"onwriteError","ranges":[{"startOffset":18203,"endOffset":18588,"count":0}],"isBlockCoverage":false},{"functionName":"onwrite","ranges":[{"startOffset":18590,"endOffset":21196,"count":0}],"isBlockCoverage":false},{"functionName":"afterWriteTick","ranges":[{"startOffset":21198,"endOffset":21385,"count":0}],"isBlockCoverage":false},{"functionName":"afterWrite","ranges":[{"startOffset":21387,"endOffset":21895,"count":0}],"isBlockCoverage":false},{"functionName":"errorBuffer","ranges":[{"startOffset":21967,"endOffset":22518,"count":0}],"isBlockCoverage":false},{"functionName":"clearBuffer","ranges":[{"startOffset":22584,"endOffset":24254,"count":0}],"isBlockCoverage":false},{"functionName":"Writable._write","ranges":[{"startOffset":24284,"endOffset":24453,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.end","ranges":[{"startOffset":24517,"endOffset":26157,"count":0}],"isBlockCoverage":false},{"functionName":"needFinish","ranges":[{"startOffset":26160,"endOffset":26589,"count":0}],"isBlockCoverage":false},{"functionName":"onFinish","ranges":[{"startOffset":26591,"endOffset":27223,"count":0}],"isBlockCoverage":false},{"functionName":"prefinish","ranges":[{"startOffset":27225,"endOffset":27749,"count":0}],"isBlockCoverage":false},{"functionName":"finishMaybe","ranges":[{"startOffset":27751,"endOffset":28250,"count":0}],"isBlockCoverage":false},{"functionName":"finish","ranges":[{"startOffset":28252,"endOffset":28895,"count":0}],"isBlockCoverage":false},{"functionName":"callFinishedCallbacks","ranges":[{"startOffset":28897,"endOffset":29215,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":29299,"endOffset":29402,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":29450,"endOffset":29556,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":29562,"endOffset":29812,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":29859,"endOffset":30262,"count":0}],"isBlockCoverage":false},{"functionName":"set","ranges":[{"startOffset":30268,"endOffset":30402,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":30457,"endOffset":30575,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":30632,"endOffset":30752,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":30805,"endOffset":30900,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":30952,"endOffset":31068,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":31124,"endOffset":31277,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":31337,"endOffset":31426,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":31479,"endOffset":31572,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":31625,"endOffset":31707,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":31776,"endOffset":31873,"count":0}],"isBlockCoverage":false},{"functionName":"get","ranges":[{"startOffset":31932,"endOffset":32189,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.destroy","ranges":[{"startOffset":32267,"endOffset":32547,"count":0}],"isBlockCoverage":false},{"functionName":"Writable._destroy","ranges":[{"startOffset":32635,"endOffset":32667,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.<computed>","ranges":[{"startOffset":32718,"endOffset":32756,"count":0}],"isBlockCoverage":false},{"functionName":"lazyWebStreams","ranges":[{"startOffset":32821,"endOffset":32985,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.fromWeb","ranges":[{"startOffset":33006,"endOffset":33140,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.toWeb","ranges":[{"startOffset":33160,"endOffset":33267,"count":0}],"isBlockCoverage":false},{"functionName":"Writable.<computed>","ranges":[{"startOffset":33311,"endOffset":33590,"count":0}],"isBlockCoverage":false}]},{"scriptId":"98","url":"node:stream/promises","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":917,"count":1}],"isBlockCoverage":false},{"functionName":"pipeline","ranges":[{"startOffset":318,"endOffset":869,"count":0}],"isBlockCoverage":false}]},{"scriptId":"99","url":"node:internal/streams/transform","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":7123,"count":1}],"isBlockCoverage":false},{"functionName":"Transform","ranges":[{"startOffset":3920,"endOffset":5500,"count":0}],"isBlockCoverage":false},{"functionName":"final","ranges":[{"startOffset":5502,"endOffset":5946,"count":0}],"isBlockCoverage":false},{"functionName":"prefinish","ranges":[{"startOffset":5948,"endOffset":6029,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._transform","ranges":[{"startOffset":6101,"endOffset":6196,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._write","ranges":[{"startOffset":6228,"endOffset":6965,"count":0}],"isBlockCoverage":false},{"functionName":"Transform._read","ranges":[{"startOffset":6996,"endOffset":7121,"count":0}],"isBlockCoverage":false}]},{"scriptId":"100","url":"node:internal/streams/passthrough","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1762,"count":1}],"isBlockCoverage":false},{"functionName":"PassThrough","ranges":[{"startOffset":1529,"endOffset":1671,"count":0}],"isBlockCoverage":false},{"functionName":"PassThrough._transform","ranges":[{"startOffset":1708,"endOffset":1760,"count":0}],"isBlockCoverage":false}]},{"scriptId":"101","url":"node:internal/streams/duplexpair","functions":[{"functionName":"","ranges":[{"startOffset":0,"endOffset":1373,"count":1}],"isBlockCoverage":false},{"functionName":"<instance_members_initializer>","ranges":[{"startOffset":251,"endOffset":1136,"count":0}],"isBlockCoverage":false},{"functionName":"duplexPair","ranges":[{"startOffset":1138,"endOffset":1343,"count":0}],"isBlockCoverage":false}]}],"timestamp":787367.738876}
package/dist/fsm.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var t=require("ask-for-promise"),e=require("dt-toolbox"),n=require("@peter.naydenov/dt-queries");const a={_setTransitions:function(){return function(t,e){let n={},a={},i={};return t.forEach((t=>{const[s,o,r,c,u]=t,d=e[c],p=`${s}/${o}`;n[p]=d||null,a[p]=r,function(t){return t instanceof Array&&(2==t.length&&(t.forEach((t=>{if(!1!==t||"string"!=typeof t)return!1})),!0))}(u)&&(i[p]=[],i[p][0]=u[0],i[p][1]=u[1])})),{transitions:n,nextState:a,chainActions:i}}},_updateStateData:function(t){return function(e){const{dtbox:n,query:a}=t.dependencies;let i="javascriptObject";return e.export&&(i="dt-object"),e instanceof Array&&e[0][0]===e[0][2]&&e.every((t=>4===t.length))&&(i="dt-model"),"javascriptObject"===i&&e instanceof Array?(console.error("State update failed. Reason: Received an array. Expectation: Object where top-level property name is the name of the data segment."),t.stateData):(["javascriptObject"].includes(i)&&(e=n.init(e).export()),["javascriptObject","dt-model"].includes(i)&&(e=n.load(e)),["javascriptObject","dt-model","dt-object"].includes(i)&&(e=e.query(a.splitSegments)),t.stateData.query(a.updateState,e))}},_updateStep:function(t){return function(e,n,a){const{askForPromise:i}=t.dependencies,s=i(),o=`${t.state}/${n}`,r=t.callback;t.lock=!0,t._transit(s,o,a),s.onComplete((n=>{let a=t._getChain(o),i=n.response;if(n.success){if(t.state=t.nextState[o],null!=n.stateData&&(t.stateData=t._updateStateData(n.stateData)),r.positive.forEach((e=>e(t.state,i))),r.transition.forEach((e=>e(t.state,i))),a&&a[0])return void t._updateStep(e,a[0],i)}else if(r.negative.forEach((e=>e(t.state,i))),r.transition.forEach((e=>e(t.state,i))),a&&a[1])return void t._updateStep(e,a[1],i);e.done(i)})),s.promise.catch((()=>console.log(`Failed in step ${o}`)))}},_warn:function(t){return function(t){Object.entries(t).forEach((([t,e])=>{null==e&&console.log(`Warning: Transition for ${t} is not defined`)}))}},_transit:function(t){return function(){const[e,n,...a]=arguments,{state:i,stateData:s,dependencies:o}=t,r=t.transitions[n],c=t.api.extractList;"function"==typeof r?r({task:e,state:i,extractList:c,dependencies:o},...a):e.done({success:!1})}},_getChain:function(t){return function(e){const n=t.chainActions;return!!n[e]&&n[e]}},_triggerCacheUpdate:function(t){return function(){if(0!==t.cache.length){const{updateTask:e,action:n,dt:a}=t.cache[0];t.cache=t.cache.reduce(((t,e,n)=>(0!=n&&t.push(e),t)),[]),t._updateStep(e,n,a),e.onComplete((e=>t._onUpdateTask(e)))}}},_onUpdateTask:function(t){return function(e){const n=t.callback,a=t.dependencies.askForPromise(n.update);n.update.forEach(((n,i)=>{n(t.state,e),a[i].done()})),a.onComplete((e=>{t.lock=!1,t._triggerCacheUpdate()}))}},setDependencies:function(t){return function(e){t.dependencies={...t.dependencies,...e}}},getDependencies:function(t){return function(){return t.dependencies}},on:function(t){return function(e,n){const a=t.callback;a[e]&&a[e].push(n)}},off:function(t){return function(e){t.callback[e]&&(t.callback[e]=[])}},importState:function(t){return function({state:e,stateData:n}){const{dtbox:a,query:i}=t.dependencies;if(e&&(t.state=e,n)){const e=a.load(n).query(i.splitSegments);t.stateData=t.stateData.query(i.updateState,e)}}},exportState:function(t){return function(){const{query:e}=t.dependencies;return{state:t.state,stateData:t.stateData.query(e.joinSegments).export()}}},update:function(t){return function(e,n){const{askForPromise:a}=t.dependencies,i=a();return t.lock?(t.cache.push({updateTask:i,action:e,dt:n}),i.promise):(t._updateStep(i,e,n),i.onComplete((e=>t._onUpdateTask(e))),i.promise)}},reset:function(t){return function(){const{dtbox:e}=t.dependencies;t.state=t.initialState,t.stateData=e.load(t.initialStateData.export())}},ignoreCachedUpdates:function(t){return function(){t.cache.forEach((({updateTask:t,action:e,dt:n})=>t.cancel(`Action '${e}' was ignored`))),t.cache=[]}},getState:function(t){return function(){return t.state}},extractList:function(t){return function(e,n=!1){const a=t.dependencies.query;return 0==arguments.length?t.stateData.query(a.joinSegments).model((()=>({as:"std"}))):n?t.stateData.extractList(e,n):t.stateData.extractList(e,t.stateDataFormat)}}},i=e.getWalk();function s({init:s,behavior:o,stateData:r={},debug:c,stateDataFormat:u={as:"std"}},d={}){const p=this,l={};p.state=s||"N/A",p.initialState=s||"N/A",p.stateDataFormat=u,p.lock=!1,p.cache=[],p.dependencies={walk:i,dtbox:e,askForPromise:t,query:{splitSegments:n.splitSegments,joinSegments:n.joinSegments,updateState:n.updateState}},p.callback={update:[],transition:[],positive:[],negative:[]};for(let t in a)t.startsWith("_")?p[t]=a[t](p):l[t]=a[t](p);p.api=l,p.stateData=e.init(r).query(n.splitSegments),p.initialStateData=e.init(r).query(n.splitSegments);const{transitions:f,nextState:h,chainActions:S}=p._setTransitions(o,d);return c&&(p._warn(f),global.debugFSM=p),p.transitions=f,p.nextState=h,p.chainActions=S,l}s.dependencies={walk:i,dtbox:e,askForPromise:t,query:{splitSegments:n.splitSegments,joinSegments:n.joinSegments,updateState:n.updateState}},module.exports=s;
1
+ "use strict";var t=require("ask-for-promise"),e=require("dt-toolbox"),n=require("@peter.naydenov/dt-queries");const a={_setTransitions:function(){return function(t,e){let n={},a={},i={};return t.forEach((t=>{const[s,o,r,c,u]=t,d=e[c],p=`${s}/${o}`;n[p]=d||null,a[p]=r,function(t){return t instanceof Array&&(2==t.length&&(t.forEach((t=>{if(!1!==t||"string"!=typeof t)return!1})),!0))}(u)&&(i[p]=[],i[p][0]=u[0],i[p][1]=u[1])})),{transitions:n,nextState:a,chainActions:i}}},_updateStateData:function(t){return function(e){const{dtbox:n,query:a}=t.dependencies;let i="javascriptObject";return e.export&&(i="dt-object"),e instanceof Array&&e[0][0]===e[0][2]&&e.every((t=>4===t.length))&&(i="dt-model"),"javascriptObject"===i&&e instanceof Array?(console.error("State update failed. Reason: Received an array. Expectation: Object where top-level property name is the name of the data segment."),t.stateData):(["javascriptObject"].includes(i)&&(e=n.init(e).export()),["javascriptObject","dt-model"].includes(i)&&(e=n.load(e)),["javascriptObject","dt-model","dt-object"].includes(i)&&(e=e.query(a.splitSegments)),t.stateData.query(a.updateState,e))}},_updateStep:function(t){return function(e,n,a){const{askForPromise:i}=t.dependencies,s=i(),o=`${t.state}/${n}`,r=t.callback;t.lock=!0,t._transit(s,o,a),s.onComplete((n=>{let a=t._getChain(o),i=n.response;if(n.success){if(t.state=t.nextState[o],null!=n.stateData&&(t.stateData=t._updateStateData(n.stateData)),r.positive.forEach((e=>e(t.state,i))),r.transition.forEach((e=>e(t.state,i))),a&&a[0])return void t._updateStep(e,a[0],i)}else if(r.negative.forEach((e=>e(t.state,i))),r.transition.forEach((e=>e(t.state,i))),a&&a[1])return void t._updateStep(e,a[1],i);e.done(i)})),s.promise.catch((()=>console.log(`Failed in step ${o}`)))}},_warn:function(t){return function(t){Object.entries(t).forEach((([t,e])=>{null==e&&console.log(`Warning: Transition for ${t} is not defined`)}))}},_transit:function(t){return function(){const[e,n,...a]=arguments,{state:i,stateData:s,dependencies:o}=t,r=t.transitions[n],c=t.api.extractList;"function"==typeof r?r({task:e,state:i,extractList:c,dependencies:o},...a):e.done({success:!1})}},_getChain:function(t){return function(e){const n=t.chainActions;return!!n[e]&&n[e]}},_triggerCacheUpdate:function(t){return function(){if(0!==t.cache.length){const{updateTask:e,action:n,dt:a}=t.cache[0];t.cache=t.cache.reduce(((t,e,n)=>(0!=n&&t.push(e),t)),[]),t._updateStep(e,n,a),e.onComplete((e=>t._onUpdateTask(e)))}}},_onUpdateTask:function(t){return function(e){const n=t.callback,a=t.dependencies.askForPromise(n.update);a.each((({value:n,done:a})=>{n(t.state,e),a()})),a.onComplete((e=>{t.lock=!1,t._triggerCacheUpdate()}))}},setDependencies:function(t){return function(e){t.dependencies={...t.dependencies,...e}}},getDependencies:function(t){return function(){return t.dependencies}},on:function(t){return function(e,n){const a=t.callback;a[e]&&a[e].push(n)}},off:function(t){return function(e){t.callback[e]&&(t.callback[e]=[])}},importState:function(t){return function({state:e,stateData:n}){const{dtbox:a,query:i}=t.dependencies;if(e&&(t.state=e,n)){const e=a.load(n).query(i.splitSegments);t.stateData=t.stateData.query(i.updateState,e)}}},exportState:function(t){return function(){const{query:e}=t.dependencies;return{state:t.state,stateData:t.stateData.query(e.joinSegments).export()}}},update:function(t){return function(e,n){const{askForPromise:a}=t.dependencies,i=a();return t.lock?(t.cache.push({updateTask:i,action:e,dt:n}),i.promise):(t._updateStep(i,e,n),i.onComplete((e=>t._onUpdateTask(e))),i.promise)}},reset:function(t){return function(){const{dtbox:e}=t.dependencies;t.state=t.initialState,t.stateData=e.load(t.initialStateData.export())}},ignoreCachedUpdates:function(t){return function(){t.cache.forEach((({updateTask:t,action:e,dt:n})=>t.cancel(`Action '${e}' was ignored`))),t.cache=[]}},getState:function(t){return function(){return t.state}},extractList:function(t){return function(e,n=!1){const a=t.dependencies.query;return 0==arguments.length?t.stateData.query(a.joinSegments).model((()=>({as:"std"}))):n?t.stateData.extractList(e,n):t.stateData.extractList(e,t.stateDataFormat)}}},i=e.getWalk();function s({init:s,behavior:o,stateData:r={},debug:c,stateDataFormat:u={as:"std"}},d={}){const p=this,l={};p.state=s||"N/A",p.initialState=s||"N/A",p.stateDataFormat=u,p.lock=!1,p.cache=[],p.dependencies={walk:i,dtbox:e,askForPromise:t,query:{splitSegments:n.splitSegments,joinSegments:n.joinSegments,updateState:n.updateState}},p.callback={update:[],transition:[],positive:[],negative:[]};for(let t in a)t.startsWith("_")?p[t]=a[t](p):l[t]=a[t](p);p.api=l,p.stateData=e.init(r).query(n.splitSegments),p.initialStateData=e.init(r).query(n.splitSegments);const{transitions:f,nextState:h,chainActions:S}=p._setTransitions(o,d);return c&&(p._warn(f),global.debugFSM=p),p.transitions=f,p.nextState=h,p.chainActions=S,l}s.dependencies={walk:i,dtbox:e,askForPromise:t,query:{splitSegments:n.splitSegments,joinSegments:n.joinSegments,updateState:n.updateState}},module.exports=s;
package/dist/fsm.esm.mjs CHANGED
@@ -1 +1 @@
1
- import t from"ask-for-promise";import e from"dt-toolbox";import{splitSegments as n,joinSegments as a,updateState as o}from"@peter.naydenov/dt-queries";const i={_setTransitions:function(){return function(t,e){let n={},a={},o={};return t.forEach((t=>{const[i,s,r,c,u]=t,d=e[c],p=`${i}/${s}`;n[p]=d||null,a[p]=r,function(t){return t instanceof Array&&(2==t.length&&(t.forEach((t=>{if(!1!==t||"string"!=typeof t)return!1})),!0))}(u)&&(o[p]=[],o[p][0]=u[0],o[p][1]=u[1])})),{transitions:n,nextState:a,chainActions:o}}},_updateStateData:function(t){return function(e){const{dtbox:n,query:a}=t.dependencies;let o="javascriptObject";return e.export&&(o="dt-object"),e instanceof Array&&e[0][0]===e[0][2]&&e.every((t=>4===t.length))&&(o="dt-model"),"javascriptObject"===o&&e instanceof Array?(console.error("State update failed. Reason: Received an array. Expectation: Object where top-level property name is the name of the data segment."),t.stateData):(["javascriptObject"].includes(o)&&(e=n.init(e).export()),["javascriptObject","dt-model"].includes(o)&&(e=n.load(e)),["javascriptObject","dt-model","dt-object"].includes(o)&&(e=e.query(a.splitSegments)),t.stateData.query(a.updateState,e))}},_updateStep:function(t){return function(e,n,a){const{askForPromise:o}=t.dependencies,i=o(),s=`${t.state}/${n}`,r=t.callback;t.lock=!0,t._transit(i,s,a),i.onComplete((n=>{let a=t._getChain(s),o=n.response;if(n.success){if(t.state=t.nextState[s],null!=n.stateData&&(t.stateData=t._updateStateData(n.stateData)),r.positive.forEach((e=>e(t.state,o))),r.transition.forEach((e=>e(t.state,o))),a&&a[0])return void t._updateStep(e,a[0],o)}else if(r.negative.forEach((e=>e(t.state,o))),r.transition.forEach((e=>e(t.state,o))),a&&a[1])return void t._updateStep(e,a[1],o);e.done(o)})),i.promise.catch((()=>console.log(`Failed in step ${s}`)))}},_warn:function(t){return function(t){Object.entries(t).forEach((([t,e])=>{null==e&&console.log(`Warning: Transition for ${t} is not defined`)}))}},_transit:function(t){return function(){const[e,n,...a]=arguments,{state:o,stateData:i,dependencies:s}=t,r=t.transitions[n],c=t.api.extractList;"function"==typeof r?r({task:e,state:o,extractList:c,dependencies:s},...a):e.done({success:!1})}},_getChain:function(t){return function(e){const n=t.chainActions;return!!n[e]&&n[e]}},_triggerCacheUpdate:function(t){return function(){if(0!==t.cache.length){const{updateTask:e,action:n,dt:a}=t.cache[0];t.cache=t.cache.reduce(((t,e,n)=>(0!=n&&t.push(e),t)),[]),t._updateStep(e,n,a),e.onComplete((e=>t._onUpdateTask(e)))}}},_onUpdateTask:function(t){return function(e){const n=t.callback,a=t.dependencies.askForPromise(n.update);n.update.forEach(((n,o)=>{n(t.state,e),a[o].done()})),a.onComplete((e=>{t.lock=!1,t._triggerCacheUpdate()}))}},setDependencies:function(t){return function(e){t.dependencies={...t.dependencies,...e}}},getDependencies:function(t){return function(){return t.dependencies}},on:function(t){return function(e,n){const a=t.callback;a[e]&&a[e].push(n)}},off:function(t){return function(e){t.callback[e]&&(t.callback[e]=[])}},importState:function(t){return function({state:e,stateData:n}){const{dtbox:a,query:o}=t.dependencies;if(e&&(t.state=e,n)){const e=a.load(n).query(o.splitSegments);t.stateData=t.stateData.query(o.updateState,e)}}},exportState:function(t){return function(){const{query:e}=t.dependencies;return{state:t.state,stateData:t.stateData.query(e.joinSegments).export()}}},update:function(t){return function(e,n){const{askForPromise:a}=t.dependencies,o=a();return t.lock?(t.cache.push({updateTask:o,action:e,dt:n}),o.promise):(t._updateStep(o,e,n),o.onComplete((e=>t._onUpdateTask(e))),o.promise)}},reset:function(t){return function(){const{dtbox:e}=t.dependencies;t.state=t.initialState,t.stateData=e.load(t.initialStateData.export())}},ignoreCachedUpdates:function(t){return function(){t.cache.forEach((({updateTask:t,action:e,dt:n})=>t.cancel(`Action '${e}' was ignored`))),t.cache=[]}},getState:function(t){return function(){return t.state}},extractList:function(t){return function(e,n=!1){const a=t.dependencies.query;return 0==arguments.length?t.stateData.query(a.joinSegments).model((()=>({as:"std"}))):n?t.stateData.extractList(e,n):t.stateData.extractList(e,t.stateDataFormat)}}},s=e.getWalk();function r({init:r,behavior:c,stateData:u={},debug:d,stateDataFormat:p={as:"std"}},f={}){const l=this,h={};l.state=r||"N/A",l.initialState=r||"N/A",l.stateDataFormat=p,l.lock=!1,l.cache=[],l.dependencies={walk:s,dtbox:e,askForPromise:t,query:{splitSegments:n,joinSegments:a,updateState:o}},l.callback={update:[],transition:[],positive:[],negative:[]};for(let t in i)t.startsWith("_")?l[t]=i[t](l):h[t]=i[t](l);l.api=h,l.stateData=e.init(u).query(n),l.initialStateData=e.init(u).query(n);const{transitions:m,nextState:g,chainActions:S}=l._setTransitions(c,f);return d&&(l._warn(m),global.debugFSM=l),l.transitions=m,l.nextState=g,l.chainActions=S,h}r.dependencies={walk:s,dtbox:e,askForPromise:t,query:{splitSegments:n,joinSegments:a,updateState:o}};export{r as default};
1
+ import t from"ask-for-promise";import e from"dt-toolbox";import{updateState as n,joinSegments as a,splitSegments as o}from"@peter.naydenov/dt-queries";const i={_setTransitions:function(){return function(t,e){let n={},a={},o={};return t.forEach((t=>{const[i,s,r,c,u]=t,d=e[c],p=`${i}/${s}`;n[p]=d||null,a[p]=r,function(t){return t instanceof Array&&(2==t.length&&(t.forEach((t=>{if(!1!==t||"string"!=typeof t)return!1})),!0))}(u)&&(o[p]=[],o[p][0]=u[0],o[p][1]=u[1])})),{transitions:n,nextState:a,chainActions:o}}},_updateStateData:function(t){return function(e){const{dtbox:n,query:a}=t.dependencies;let o="javascriptObject";return e.export&&(o="dt-object"),e instanceof Array&&e[0][0]===e[0][2]&&e.every((t=>4===t.length))&&(o="dt-model"),"javascriptObject"===o&&e instanceof Array?(console.error("State update failed. Reason: Received an array. Expectation: Object where top-level property name is the name of the data segment."),t.stateData):(["javascriptObject"].includes(o)&&(e=n.init(e).export()),["javascriptObject","dt-model"].includes(o)&&(e=n.load(e)),["javascriptObject","dt-model","dt-object"].includes(o)&&(e=e.query(a.splitSegments)),t.stateData.query(a.updateState,e))}},_updateStep:function(t){return function(e,n,a){const{askForPromise:o}=t.dependencies,i=o(),s=`${t.state}/${n}`,r=t.callback;t.lock=!0,t._transit(i,s,a),i.onComplete((n=>{let a=t._getChain(s),o=n.response;if(n.success){if(t.state=t.nextState[s],null!=n.stateData&&(t.stateData=t._updateStateData(n.stateData)),r.positive.forEach((e=>e(t.state,o))),r.transition.forEach((e=>e(t.state,o))),a&&a[0])return void t._updateStep(e,a[0],o)}else if(r.negative.forEach((e=>e(t.state,o))),r.transition.forEach((e=>e(t.state,o))),a&&a[1])return void t._updateStep(e,a[1],o);e.done(o)})),i.promise.catch((()=>console.log(`Failed in step ${s}`)))}},_warn:function(t){return function(t){Object.entries(t).forEach((([t,e])=>{null==e&&console.log(`Warning: Transition for ${t} is not defined`)}))}},_transit:function(t){return function(){const[e,n,...a]=arguments,{state:o,stateData:i,dependencies:s}=t,r=t.transitions[n],c=t.api.extractList;"function"==typeof r?r({task:e,state:o,extractList:c,dependencies:s},...a):e.done({success:!1})}},_getChain:function(t){return function(e){const n=t.chainActions;return!!n[e]&&n[e]}},_triggerCacheUpdate:function(t){return function(){if(0!==t.cache.length){const{updateTask:e,action:n,dt:a}=t.cache[0];t.cache=t.cache.reduce(((t,e,n)=>(0!=n&&t.push(e),t)),[]),t._updateStep(e,n,a),e.onComplete((e=>t._onUpdateTask(e)))}}},_onUpdateTask:function(t){return function(e){const n=t.callback,a=t.dependencies.askForPromise(n.update);a.each((({value:n,done:a})=>{n(t.state,e),a()})),a.onComplete((e=>{t.lock=!1,t._triggerCacheUpdate()}))}},setDependencies:function(t){return function(e){t.dependencies={...t.dependencies,...e}}},getDependencies:function(t){return function(){return t.dependencies}},on:function(t){return function(e,n){const a=t.callback;a[e]&&a[e].push(n)}},off:function(t){return function(e){t.callback[e]&&(t.callback[e]=[])}},importState:function(t){return function({state:e,stateData:n}){const{dtbox:a,query:o}=t.dependencies;if(e&&(t.state=e,n)){const e=a.load(n).query(o.splitSegments);t.stateData=t.stateData.query(o.updateState,e)}}},exportState:function(t){return function(){const{query:e}=t.dependencies;return{state:t.state,stateData:t.stateData.query(e.joinSegments).export()}}},update:function(t){return function(e,n){const{askForPromise:a}=t.dependencies,o=a();return t.lock?(t.cache.push({updateTask:o,action:e,dt:n}),o.promise):(t._updateStep(o,e,n),o.onComplete((e=>t._onUpdateTask(e))),o.promise)}},reset:function(t){return function(){const{dtbox:e}=t.dependencies;t.state=t.initialState,t.stateData=e.load(t.initialStateData.export())}},ignoreCachedUpdates:function(t){return function(){t.cache.forEach((({updateTask:t,action:e,dt:n})=>t.cancel(`Action '${e}' was ignored`))),t.cache=[]}},getState:function(t){return function(){return t.state}},extractList:function(t){return function(e,n=!1){const a=t.dependencies.query;return 0==arguments.length?t.stateData.query(a.joinSegments).model((()=>({as:"std"}))):n?t.stateData.extractList(e,n):t.stateData.extractList(e,t.stateDataFormat)}}},s=e.getWalk();function r({init:r,behavior:c,stateData:u={},debug:d,stateDataFormat:p={as:"std"}},f={}){const l=this,h={};l.state=r||"N/A",l.initialState=r||"N/A",l.stateDataFormat=p,l.lock=!1,l.cache=[],l.dependencies={walk:s,dtbox:e,askForPromise:t,query:{splitSegments:o,joinSegments:a,updateState:n}},l.callback={update:[],transition:[],positive:[],negative:[]};for(let t in i)t.startsWith("_")?l[t]=i[t](l):h[t]=i[t](l);l.api=h,l.stateData=e.init(u).query(o),l.initialStateData=e.init(u).query(o);const{transitions:m,nextState:g,chainActions:S}=l._setTransitions(c,f);return d&&(l._warn(m),global.debugFSM=l),l.transitions=m,l.nextState=g,l.chainActions=S,h}r.dependencies={walk:s,dtbox:e,askForPromise:t,query:{splitSegments:o,joinSegments:a,updateState:n}};export{r as default};
package/dist/fsm.umd.js CHANGED
@@ -1 +1 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).fsm=e()}(this,(function(){"use strict";function t(t){let o,r=!1;return t?(o=function(t){let o=t.map((t=>e())),r=o.map((t=>t.promise));return o.promises=r,o.onComplete=n(Promise.all(r)),o}(t),r=!0):o=e(),o.timeout=function(t,e){let o;return o=t?Promise.all(e.promises):e.promise,function(t,r){let a,s=new Promise(((e,n)=>{a=setTimeout((()=>{e(r),Promise.resolve(o)}),t)}));return o.then((()=>clearTimeout(a))),e.onComplete=n(Promise.race([o,s])),e}}(r,o),o}function e(){let t,e;const o=new Promise(((n,o)=>{t=n,e=o}));return{promise:o,done:t,cancel:e,onComplete:n(o)}}function n(t){return function(e){t.then((t=>e(t)))}}function o(t){return null==t||t.nodeType?"simple":t instanceof Array?"array":"object"==typeof t?"object":"simple"}function r(t,e,n,r,s,...c){let[i,u]=r;Object.keys(t).forEach((l=>{let f=o(t[l]),d=t[l],p="array"===o(e),h=!isNaN(l),m=Symbol("ignore___");if("simple"!==f&&u){if(d=u({value:d,key:l,breadcrumbs:`${s}/${l}`,IGNORE:m},...c),d===m)return;f=o(d)}if("simple"===f){if(!i)return void(e[l]=d);let t=i({value:d,key:l,breadcrumbs:`${s}/${l}`,IGNORE:m},...c);if(t===m)return;const n=function(t,e){return e instanceof Array&&!isNaN(t)}(l,e);n?e.push(t):e[l]=t}if("object"===f){const t={};p&&h?e.push(t):e[l]=t,n.push(a(d,t,n,r,`${s}/${l}`,c))}if("array"===f){const t=[];p&&h?e.push(t):e[l]=t,n.push(a(d,t,n,r,`${s}/${l}`,c))}}))}function*a(t,e,n,o,a,s){yield r(t,e,n,o,a,...s)}function s({data:t,keyCallback:e,objectCallback:n},...a){let s,c=[],i="root",u=[e,n];switch(o(t)){case"array":s=[],r(t,s,c,u,i,...a);break;case"object":s={},r(t,s,c,u,i,...a);break;case"simple":return t}for(const t of c)t.next();return s}function c(t,e){return function(n,o){const{convert:r,isDTO:a,isDTM:s,walk:c}=t();let i,u;a(o)?(i=o.export(),u=o.copy()):s(o)?(i=c({data:o}),u=c({data:o})):([u,,i]=r.from("std").toFlat(t,o),console.warn('A non "dt-object" data segment was inserted. Autoconverted to "dt-object".'));const l=new RegExp("^root/");i.forEach((t=>{t[0]===t[2]&&(t[0]=n,t[2]=n),t[2]=t[2].replace(l,`${n}/`),t[3].forEach(((e,o)=>t[3][o]=e.replace(l,`${n}/`)))})),e.insert([u,,i])}}function i(t,e){return t=>e.export(t)}function u(t,e){return function(n="root"){const o=e.getCopy(n),{walk:r}=t();return o?r({data:o}):null}}function l(t,e,n){return function(){let o=[],r={};const{convert:a,draft:s,INIT_DATA_TYPES:c,main:{load:i}}=t(),u={set:s.set(o,r),connect:s.connect(r),save:s.save(r),push:s.push(r)},[l,...f]=arguments,{as:d}=l({...n,...u},...f)||{},p=0===o.length?e.export():o,h=!!d&&c.includes(d);let m;return"dt-object"===d?i(p):d&&!h?(console.error(`Model '${d}' is unknown data-model.`),null):(m=d?a.to(d,t,p):i(p),e.resetScan(),m)}}function f(t,e,n){return function(){const{main:{load:o},draft:r}=t(),[a,...s]=arguments;let c=[],i={};const u={set:r.set(c,i),connect:r.connect(i),save:r.save(i),push:r.push(i)};return a({...n,...u},...s),e.resetScan(),0===c.length?this:o(c)}}function d(t){return function(e,n){t.setupFilter(e,n)}}function p(t,e){const{flatData:n}=t(),[o,r]=n(t,e),a={insertSegment:c(t,o),export:i(0,o),copy:u(t,o),model:l(t,o,r),query:f(t,o,r),setupFilter:d(o),listSegments:()=>Object.keys(o.getIndexes()).reduce(((t,e)=>(e.includes("/")||t.push(e),t)),[]),index:s};function s(t){if(null==t)return null;let e=o.getLine(t);if(e){let t,[n,o,r,a]=e;return t=o instanceof Array?[...o]:{...o},[n,t,r,[...a]]}return null}return a.extractList=function(t,e,n){return function(o,r){const a=n("root"),{main:{load:s},INIT_DATA_TYPES:c}=t(),i=[...c,"dt-object"];let u=!1,l="";if(r&&(r.as||(u=!0,l='Options should be an object and property "as" is required'),u||i.includes(r.as)||(u=!0,l=`Invalid option "as" value: ${r.as}.`),u))throw new Error(l);return o.map((t=>{let n=e.export(t);return 0===n.length?a[1].hasOwnProperty(t)?a[1][t]:null:n})).map((t=>null==t?null:t instanceof Array?s(t).model((()=>r)):t))}}(t,o,s),a}function h(t,e,n){return function(o){const[r,,a]=o,s=a[0][0],[c,i,u]=t,l=n();c[s]=r,a.forEach((t=>{const[,,n]=t;i[n]=t,u.push(t),l.forEach((n=>e(n,t)))}))}}function m(t){return function(e){const[,n,o]=t;if(e&&!n[e])return[];if(!e){const t=[];return o.forEach((e=>{const[n,o,r,a]=e,s=o instanceof Array?[...o]:{...o};t.push([n,s,r,[...a]])})),t}const r=[];return o.forEach((t=>{const[n,o,a,s]=t,c=new RegExp(`^${e}/`);if(a===e||a.match(c)){let t=n===a?"root":n,e=o instanceof Array?[...o]:{...o},i=a.includes("/")?a.replace(c,"root/"):"root",u=s.map((t=>t.replace(c,"root/")));r.push([t,e,i,u])}})),r}}function b(t,e,n,o){return function(r,a){const s=o(),[,,c]=t;if(s.includes(r))return console.error(`Filter name "${r}" is already defined`),this;e[r]=a,c.forEach((t=>n(r,t)))}}function y(t){return function(e){const n=t.getIndexes(),o=n[e],r=[];return o?(r.push(o),g(n,r,o[3]),t.setupScanList(r),this):(t.setupScanList([]),this)}}function g(t,e,n){n.forEach((n=>{const o=t[n];o&&(e.push(o),g(t,e,o[3]))}))}function _(t){return function(e){const n=[];return t.getScanList().forEach((t=>{t[0]===e&&n.push(t)})),t.setupScanList(n),this}}function $(t){return function(e){const n=[],o=e instanceof Array?e:[e];return t.getScanList().forEach((t=>{const e=t[0];o.forEach((o=>{e.includes(o)&&n.push(t)}))})),t.setupScanList(n),this}}function k(t){return function(e){t.getScanList().forEach((n=>{const[o,r,a,s]=n,c=r instanceof Array,i=()=>"$__NEXT__LOOK_",u=()=>"$__FINISH__WITH__THE__LOOKING_";let l=!1;const f=s.map((t=>{let e=t.replace(`${a}/`,"");return[o,e]}));if(c)0===r.length?d([]):r.every(((t,n)=>{if(l)return!1;const s=e({value:t,key:n,name:o,flatData:r,breadcrumbs:a,links:f,next:i,finish:u});return"$__FINISH__WITH__THE__LOOKING_"===s&&(l=!0),!["$__FINISH__WITH__THE__LOOKING_","$__NEXT__LOOK_"].includes(s)}));else{const t=Object.entries(r);0===t.length?d({}):t.every((([t,n])=>{if(l)return!1;const s=e({value:n,key:t,name:o,flatData:r,breadcrumbs:a,links:f,next:i,finish:u});return"$__FINISH__WITH__THE__LOOKING_"===s&&(l=!0),!["$__FINISH__WITH__THE__LOOKING_","$__NEXT__LOOK_"].includes(s)}))}function d(t){e({value:null,key:null,name:o,flatData:t,breadcrumbs:a,links:f,empty:!0,next:i,finish:u})}t.resetScan()}))}}function E(t){return function(e){const n=[];return t.getScanList().every((t=>t[2]!==e||(n.push(t),!1))),t.setupScanList(n),this}}function j({flatData:t}){return t instanceof Array}function S({name:t,flatData:e}){return!(e instanceof Array||isNaN(t))}function v({flatData:t}){return!(t instanceof Array)}function O({name:t,breadcrumbs:e}){return t===e}function x(t,e){const[n,o,r]=e,a=[n,o,r],s={},c={list:j,listObject:S,object:v,root:O};let i=r;const u=()=>Object.keys(c),l=(t,e)=>{if(c[t]){const[n,r,a,i]=e;if(s[t]||(s[t]=[]),c[t]({name:n,flatData:r,breadcrumbs:a,edges:i})){const e=o[a];s[t].push(e)}}};u().forEach((t=>r.forEach((e=>l(t,e)))));const f={insert:h(a,l,u),export:m(a),getCopy:t=>n[t]?n[t]:null,getIndexes:()=>o,getLine:t=>o[t]?o[t]:null,getFilters:()=>s,getScanList:()=>i,setupScanList:t=>i=t,setupFilter:b(a,c,l,u),resetScan:()=>{i=r}};var d;return[f,{from:y(f),use:(d=f,function(t){const e=d.getFilters()[t];return e&&d.setupScanList(e),this}),get:E(f),find:_(f),like:$(f),look:k(f)}]}t.sequence=function(e,...n){const o=t(),r=[],a=function*(t){for(const e of t)yield e}(e);return function t(e,...n){e.done?o.done(r):e.value(...n).then((e=>{r.push(e),t(a.next(),...n,e)}))}(a.next(),...n),o},t.all=function(e,...n){const o=t(),r=[],a=e.map(((t,e)=>"function"==typeof t?t(...n).then((t=>r[e]=t)):t.then((t=>r[e]=t))));return Promise.all(a).then((()=>o.done(r))),o};var D=function(t,e){const n=e instanceof Array?[]:{},{walk:o}=t(),r=[["root",n,"root",[]]],a={root:r[0]},s=o({data:e,keyCallback:function({value:t,key:e,breadcrumbs:n}){const o=new RegExp(`/${e}$`),r=n.replace(o,"");return a[r][1][e]=t,t},objectCallback:function({value:t,key:e,breadcrumbs:n}){const o=t instanceof Array?[]:{},s=e,c=new RegExp(`/${e}$`),i=n.replace(c,""),u=[s,o,n,[]];return a[i][3].push(n),r.push(u),a[n]=r.at(-1),t}});return[{root:s},a,r]},A=function(t){let e={};return t.reverse().forEach((([t,n,o,r])=>{const a=n instanceof Array?[...n]:{...n};e[o]=a,r.forEach((t=>{if(e[t]){const n=t.replace(`${o}/`,"");e[o][n]=e[t]}}))})),e.root},T=function(t,e){const n=Object.entries(e),{walk:o}=t(),r={},a=[],s={},c={};function i(t){s[t]||(s[t]="object");const e=t.split("/");1!=e.length&&(e.pop(),1!=e.length&&i(e.join("/")))}return n.forEach((([t,e])=>{t.startsWith("root")||(t=`root/${t}`),i(t),function(t,e){Object.keys(e).forEach((e=>{isNaN(e)||(s[t]="array")}))}(t,e),c[t]=e})),Object.entries(s).forEach((([t,e])=>{if("object"===c[t])return;if(c[t]){const n=c[t]instanceof Array;if("array"===e&&!n){const e=Object.values(c[t]);c[t]=e}return}const n="object"===e?{}:[];c[t]=n})),Object.entries(c).sort().forEach((([t,e])=>{const n=t.split("/").pop(),o=t.replace(`/${n}`,""),s=[n,e instanceof Array?[...e]:{...e},t,[]];r[t]=s,a.push(s),"root"!==t&&o&&r[o]&&r[o][3].push(t)})),[o({data:e}),r,a]},w=function(t){const e={};return t.forEach((t=>{const[,n,o]=t;if(0===Object.keys(n).length)return;const r=o.replace("root/",""),a=n instanceof Array?[...n]:{...n};e[r]=a})),e},N=function(t,e){const{walk:n}=t(),o={},r={root:[]},a=[];function s(t){if("root"===t)return;const e=t.split("/");e.pop();const n=e.join("/");r[n]||(r[n]=[]),n.includes("/")&&s(n)}e.forEach((t=>{const[e,n]=t,o="root"===e?"root":`root/${e}`;r[o]?r[o].push(n):r[o]=[n],s(o)}));let c=Object.entries(r).sort();const i={root:"object"};return c.forEach((([t,e])=>{if("root"===t)return;const n=t.split("/"),o=n.pop(),r=n.join("/");"array"!==i[r]&&!isNaN(o)&&(i[r]="array"),0===e.length&&(i[t]="object")})),c=Object.entries(r).sort(),c.forEach((([t,e])=>{const[n,r,s]=function(t){let e,n,o;if("root"==t)return e="root",n="root",o=null,[e,n,o];const r=t.split("/");return 2===r.length&&(e="root",n="root",o=r.pop()),r.length>2&&(o=r.pop(),e=r.pop(),n=0===r.length?`root/${e}`:`${r.join("/")}/${e}`),[e,n,o]}(t),c=0===e.length,u=1===e.length;let l,f;if(c){if(o[`${r}/${s}`])return;return null==s?(f="object"===i.root?{}:[],l=["root",f,"root",[]],o.root=l,void a.push(l)):(f="object"===i[`${r}/${s}`]?{}:[],l=[s,f,`${r}/${s}`,[]],o[`${r}/${s}`]=l,void a.push(l))}if(!u)return l=[s,e,`${r}/${s}`,[]],o[`${r}/${s}`]=l,void a.push(l);if(o[`${r}`])o[r][1][s]=e[0];else{const t={};t[s]=e[0],l=[n,t,r,[]],o[r]=l,a.push(l)}})),a.reverse(),a.forEach((t=>{const[e,n,r]=t,a=r.replace(`/${e}`,""),s=o[a];a!==r&&s&&s[3].push(r)})),a.reverse(),[n({data:e}),o,a]},I=function(t){let e=[];return t.forEach((t=>{const[n,o,r]=t,a=o instanceof Array;let s="";"root"!==n&&(s=r.replace("root/","")),a?0==s.length?o.forEach(((t,n)=>e.push(["root",t]))):o.forEach((t=>e.push([s,t]))):Object.entries(o).forEach((([t,n])=>{0==s.length?e.push([t,n]):e.push([`${s}/${t}`,n])}))})),e};const F=t=>(e,n)=>{switch(t){case"std":case"standard":return D(e,n);case"tuple":case"tuples":return N(e,n);case"breadcrumb":case"breadcrumbs":const t=Object.entries(n);return N(e,t);case"file":case"files":const o=n.map((t=>{let e=t.split("/");1===e.length&&(e=["root"].concat(e));const n=e.pop();return[e.join("/"),n]}));return N(e,o);case"midFlat":return T(e,n)}return[["object",0],{}]};var L={from:function(t){return{toFlat:F(t)}},to:function(t,e,n){const o={},{walk:r}=e(),a=new Set,s=new Set;let c,i=0;switch(t){case"flat":case"dt-model":return r({data:n});case"std":case"standard":return A(n);case"midflat":case"midFlat":return w(n);case"tuple":case"tuples":return I(n);case"files":return c=I(n),c.map((([t,e])=>"function"==typeof e?`${t}/function:${e.name}`:e?.nodeType?`${t}/HtmlElement:${e.tagName?e.tagName.toLowerCase():"notSpecified"}`:"root"===t?e:`${t}/${e}`));case"breadcrumb":case"breadcrumbs":let t;return c=I(n),c.forEach((([t,e])=>a.has(t)?s.add(t):a.add(t))),c.forEach((([e,n])=>{s.has(e)?(t!==e&&(t=e,i=0),o["root"===e?i:`${e}/${i}`]=n,i++):o[e]=n})),o}}};function P(t,e,n){const o=t[e],r=o[2];o[2]=n,t[r]=o,o[3].forEach(((e,o)=>{const a=new RegExp(`^${r}/`),s=e.replace(a,`${n}/`);P(t[e],e,s)}))}var C={push:function(t){return function(e,n){const o=!!t[e]&&t[e][1];return o&&o instanceof Array?("object"==typeof value||o.push(n),this):this}},set:function(t,e){return function(n,o){const r=o instanceof Array,a=[];return a.push(n),r?a.push([...o]):a.push({...o}),a.push(n),a.push([]),t.push(a),e[n]=a,this}},connect:function(t){return function(e){e.forEach((e=>{let n=e.split("/");const o=n.pop(),r=n.pop(),a=t[r];if(!t[o])return this;if(!a)return this;if(a[1][o])return this;let s=`${a[2]}/${o}`;return P(t,o,s),a[3].includes(s)||a[3].push(s),this}))}},save:function(t){return function(e,n,o){const r=!!t[e]&&t[e][1];return r?(r[n]||(r[n]=o),this):this}}};const q=["std","standard","tuple","tuples","breadcrumb","breadcrumbs","file","files","midFlat","midflat","flat","dt-model"],H={dependencies:()=>({walk:s,flatData:x,flatObject:p,convert:L,INIT_DATA_TYPES:q,main:{load:H.load},isDTO:t=>"function"==typeof t.insertSegment,isDTM:t=>t instanceof Array&&t[0]instanceof Array&&4===t[0].length&&"root"===t[0][0],draft:C}),init(t,e={}){let{model:n}=Object.assign({},{model:"std"},e),o=H.dependencies;return q.includes(n)?p(o,["flat","dt-model"].includes(n)?H.load(t):L.from(n).toFlat(o,t)):(console.error(`Can't understand your data-model: ${n}. Please, find what is possible on https://github.com/PeterNaydenov/dt-toolbox`),null)},load(t){const e={};t.forEach((t=>{const[,,n]=t;e[n]=t}));const n=s({data:t});return p(H.dependencies,[n,e,t])},flating(t,e={}){let{model:n}=Object.assign({},{model:"std"},e);if(!q.includes(n))return null;let[,,o]=L.from("std").toFlat(H.dependencies,t);return o},converting(t,e={}){let{model:n,as:o}=Object.assign({},{model:"std",as:"std"},e);if(!q.includes(n))return null;if(!q.includes(o))return null;let[,,r]=L.from("std").toFlat(H.dependencies,t);return L.to(o,H.dependencies,r)},getWalk:()=>s},{init:W,load:R,flating:K,converting:G,getWalk:U}=H,M={init:W,load:R,flat:K,convert:G,getWalk:U};function X(t){const e={};t.look((({name:n,flatData:o,breadcrumbs:r,links:a,next:s})=>{if(t.set(n,o),"root"===n)return s();if(n===r&&t.connect([`root/${n}`]),a.forEach((([t,n])=>e[n]=[t,n])),e[n]){const[o,r]=e[n];t.connect([`${o}/${r}`])}return s()}))}function Y(t){const e={};t.look((({name:n,flatData:o,links:r,next:a})=>{if(r.forEach((([t,n])=>{"root"!==t&&(e[n]=[t,n])})),t.set(n,o),e[n]){const[o,r]=e[n];t.connect([`${o}/${r}`])}return a()}))}function z(t,e){const n=e.export("root")[0][1],o=[];let r=null;t.use("root").look((({flatData:t,breadcrumbs:e,next:n})=>"root"===e?(r=t,n()):(o.push(e),n()))),r instanceof Array?t.set("root",[]):t.set("root",{}),o.forEach((o=>{let a=!1;const s={};e.query((e=>{e.from(o).look((({name:e,flatData:n,breadcrumbs:o,links:r,next:c})=>{if(a=!0,t.set(e,n),s.hasOwnProperty(o)){const[e,n]=s[o];t.connect([`${e}/${n}`])}return r.forEach((([t,e])=>s[`${o}/${e}`]=[t,e])),c()}))})),!a&&n.hasOwnProperty(o)&&(a=!0,t.save("root",o,r[o])),a||t.from(o).look((({name:e,flatData:n,breadcrumbs:o,links:r,next:a})=>{if(t.set(e,n),s.hasOwnProperty(o)){const[e,n]=s[o];t.connect([`${e}/${n}`])}return r.forEach((([t,e])=>s[`${o}/${e}`]=[t,e])),a()}))})),Object.entries(r).forEach((([o,r])=>{const a={};let s=!1;e.query((e=>{e.from(o).look((({name:e,flatData:n,breadcrumbs:o,links:r,next:c})=>{if(s=!0,t.set(e,n),a.hasOwnProperty(o)){const[e,n]=a[o];t.connect([`${e}/${n}`])}return r.forEach((([t,e])=>a[`${o}/${e}`]=[t,e])),c()}))})),!s&&n.hasOwnProperty(o)&&(s=!0,t.save("root",o,n[o])),s||t.save("root",o,r)}))}const B={_setTransitions:function(){return function(t,e){let n={},o={},r={};return t.forEach((t=>{const[a,s,c,i,u]=t,l=e[i],f=`${a}/${s}`;n[f]=l||null,o[f]=c,function(t){return t instanceof Array&&(2==t.length&&(t.forEach((t=>{if(!1!==t||"string"!=typeof t)return!1})),!0))}(u)&&(r[f]=[],r[f][0]=u[0],r[f][1]=u[1])})),{transitions:n,nextState:o,chainActions:r}}},_updateStateData:function(t){return function(e){const{dtbox:n,query:o}=t.dependencies;let r="javascriptObject";return e.export&&(r="dt-object"),e instanceof Array&&e[0][0]===e[0][2]&&e.every((t=>4===t.length))&&(r="dt-model"),"javascriptObject"===r&&e instanceof Array?(console.error("State update failed. Reason: Received an array. Expectation: Object where top-level property name is the name of the data segment."),t.stateData):(["javascriptObject"].includes(r)&&(e=n.init(e).export()),["javascriptObject","dt-model"].includes(r)&&(e=n.load(e)),["javascriptObject","dt-model","dt-object"].includes(r)&&(e=e.query(o.splitSegments)),t.stateData.query(o.updateState,e))}},_updateStep:function(t){return function(e,n,o){const{askForPromise:r}=t.dependencies,a=r(),s=`${t.state}/${n}`,c=t.callback;t.lock=!0,t._transit(a,s,o),a.onComplete((n=>{let o=t._getChain(s),r=n.response;if(n.success){if(t.state=t.nextState[s],null!=n.stateData&&(t.stateData=t._updateStateData(n.stateData)),c.positive.forEach((e=>e(t.state,r))),c.transition.forEach((e=>e(t.state,r))),o&&o[0])return void t._updateStep(e,o[0],r)}else if(c.negative.forEach((e=>e(t.state,r))),c.transition.forEach((e=>e(t.state,r))),o&&o[1])return void t._updateStep(e,o[1],r);e.done(r)})),a.promise.catch((()=>console.log(`Failed in step ${s}`)))}},_warn:function(t){return function(t){Object.entries(t).forEach((([t,e])=>{null==e&&console.log(`Warning: Transition for ${t} is not defined`)}))}},_transit:function(t){return function(){const[e,n,...o]=arguments,{state:r,stateData:a,dependencies:s}=t,c=t.transitions[n],i=t.api.extractList;"function"==typeof c?c({task:e,state:r,extractList:i,dependencies:s},...o):e.done({success:!1})}},_getChain:function(t){return function(e){const n=t.chainActions;return!!n[e]&&n[e]}},_triggerCacheUpdate:function(t){return function(){if(0!==t.cache.length){const{updateTask:e,action:n,dt:o}=t.cache[0];t.cache=t.cache.reduce(((t,e,n)=>(0!=n&&t.push(e),t)),[]),t._updateStep(e,n,o),e.onComplete((e=>t._onUpdateTask(e)))}}},_onUpdateTask:function(t){return function(e){const n=t.callback,o=t.dependencies.askForPromise(n.update);n.update.forEach(((n,r)=>{n(t.state,e),o[r].done()})),o.onComplete((e=>{t.lock=!1,t._triggerCacheUpdate()}))}},setDependencies:function(t){return function(e){t.dependencies={...t.dependencies,...e}}},getDependencies:function(t){return function(){return t.dependencies}},on:function(t){return function(e,n){const o=t.callback;o[e]&&o[e].push(n)}},off:function(t){return function(e){t.callback[e]&&(t.callback[e]=[])}},importState:function(t){return function({state:e,stateData:n}){const{dtbox:o,query:r}=t.dependencies;if(e&&(t.state=e,n)){const e=o.load(n).query(r.splitSegments);t.stateData=t.stateData.query(r.updateState,e)}}},exportState:function(t){return function(){const{query:e}=t.dependencies;return{state:t.state,stateData:t.stateData.query(e.joinSegments).export()}}},update:function(t){return function(e,n){const{askForPromise:o}=t.dependencies,r=o();return t.lock?(t.cache.push({updateTask:r,action:e,dt:n}),r.promise):(t._updateStep(r,e,n),r.onComplete((e=>t._onUpdateTask(e))),r.promise)}},reset:function(t){return function(){const{dtbox:e}=t.dependencies;t.state=t.initialState,t.stateData=e.load(t.initialStateData.export())}},ignoreCachedUpdates:function(t){return function(){t.cache.forEach((({updateTask:t,action:e,dt:n})=>t.cancel(`Action '${e}' was ignored`))),t.cache=[]}},getState:function(t){return function(){return t.state}},extractList:function(t){return function(e,n=!1){const o=t.dependencies.query;return 0==arguments.length?t.stateData.query(o.joinSegments).model((()=>({as:"std"}))):n?t.stateData.extractList(e,n):t.stateData.extractList(e,t.stateDataFormat)}}},J=M.getWalk();function Q({init:e,behavior:n,stateData:o={},debug:r,stateDataFormat:a={as:"std"}},s={}){const c=this,i={};c.state=e||"N/A",c.initialState=e||"N/A",c.stateDataFormat=a,c.lock=!1,c.cache=[],c.dependencies={walk:J,dtbox:M,askForPromise:t,query:{splitSegments:Y,joinSegments:X,updateState:z}},c.callback={update:[],transition:[],positive:[],negative:[]};for(let t in B)t.startsWith("_")?c[t]=B[t](c):i[t]=B[t](c);c.api=i,c.stateData=M.init(o).query(Y),c.initialStateData=M.init(o).query(Y);const{transitions:u,nextState:l,chainActions:f}=c._setTransitions(n,s);return r&&(c._warn(u),global.debugFSM=c),c.transitions=u,c.nextState=l,c.chainActions=f,i}return Q.dependencies={walk:J,dtbox:M,askForPromise:t,query:{splitSegments:Y,joinSegments:X,updateState:z}},Q}));
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).fsm=e()}(this,(function(){"use strict";function t(t){return t?function(t){let r=t.map((t=>e())),a=r.map((t=>t.promise));r.promises=r;let s=n(Promise.all(a));function c(t){let e="pending";return t.then((()=>e="fulfilled")).catch((()=>e="rejected")),e}function i(e,...n){r.forEach(((o,r)=>e({value:t[r],done:o.done,cancel:o.cancel,timeout:o.timeout,state:c(o.promise)},...n)))}const u={promise:Promise.all(a),promises:r,done:t=>{r.forEach((e=>e.done(t)))},cancel:t=>{r.forEach((e=>e.cancel(t)))},each:i,onComplete:s,timeout:()=>{}};return u.timeout=o(!0,u),u}(t):e()}function e(){let t,e;const r=new Promise(((n,o)=>{t=n,e=o})),a={promise:r,promises:null,done:t,cancel:e,each:()=>{},onComplete:n(r),timeout:()=>{}};return a.timeout=o(!1,a),a.each=(n,...o)=>{n({value:null,done:t,cancel:e,timeout:a.timeout},...o)},a}function n(t){return function(e,n=null){null===n?t.then((t=>e(t))):t.then((t=>e(t)),(t=>n(t)))}}function o(t,e){let o;return o=t?Promise.all(e.promises.map((t=>t.promise))):e.promise,function(t,r){let a,s=new Promise(((e,n)=>{a=setTimeout((()=>{e(r),Promise.resolve(o)}),t)}));return o.then((()=>clearTimeout(a))),e.onComplete=n(Promise.race([o,s])),e}}function r(t){return null==t||t.nodeType?"simple":t instanceof Array?"array":"object"==typeof t?"object":"simple"}function a(t,e,n,o,a,...c){let[i,u]=o;Object.keys(t).forEach((l=>{let f=r(t[l]),d=t[l],p="array"===r(e),h=!isNaN(l),m=Symbol("ignore___"),b="root"===a&&"root"===l,y=b?"root":`${a}/${l}`;if("simple"!==f&&u){if(d=u({value:d,key:l,breadcrumbs:y,IGNORE:m},...c),d===m)return;f=r(d)}if(b)n.push(s(d,e,n,o,y,c));else{if("simple"===f){if(!i)return void(b||(e[l]=d));let t=i({value:d,key:l,breadcrumbs:y,IGNORE:m},...c);if(t===m)return;const n=function(t,e){return e instanceof Array&&!isNaN(t)}(l,e);n?e.push(t):e[l]=t}if("object"===f){const t={};p&&h?e.push(t):e[l]=t,n.push(s(d,t,n,o,y,c))}if("array"===f){const t=[];p&&h?e.push(t):e[l]=t,n.push(s(d,t,n,o,y,c))}}}))}function*s(t,e,n,o,r,s){yield a(t,e,n,o,r,...s)}function c(t,...e){let n,{data:o,keyCallback:s,objectCallback:c}=t,i=[],u="root",l=[s,c];switch(r(o)){case"array":n=[],a({root:o},n,i,l,u,...e);break;case"object":n={},a({root:o},n,i,l,u,...e);break;case"simple":return o}for(const t of i)t.next();return n}function i(t,e){return function(n,o){const{convert:r,isDTO:a,isDTM:s,walk:c}=t();let i,u;a(o)?(i=o.export(),u=o.copy()):s(o)?(i=c({data:o}),u=c({data:o})):([u,,i]=r.from("std").toFlat(t,o),console.warn('A non "dt-object" data segment was inserted. Autoconverted to "dt-object".'));const l=new RegExp("^root/");i.forEach((t=>{t[0]===t[2]&&(t[0]=n,t[2]=n),t[2]=t[2].replace(l,`${n}/`),t[3].forEach(((e,o)=>t[3][o]=e.replace(l,`${n}/`)))})),e.insert([u,,i])}}function u(t,e){return t=>e.export(t)}function l(t,e){return function(n="root"){const o=e.getCopy(n),{walk:r}=t();return o?r({data:o}):null}}function f(t,e,n){return function(){let o=[],r={};const{convert:a,draft:s,INIT_DATA_TYPES:c,main:{load:i}}=t(),u={set:s.set(o,r),connect:s.connect(r),save:s.save(r),push:s.push(r)},[l,...f]=arguments,{as:d}=l({...n,...u},...f)||{},p=0===o.length?e.export():o,h=!!d&&c.includes(d);let m;return"dt-object"===d?i(p):d&&!h?(console.error(`Model '${d}' is unknown data-model.`),null):(m=d?a.to(d,t,p):i(p),e.resetScan(),m)}}function d(t,e,n){return function(){const{main:{load:o},draft:r}=t(),[a,...s]=arguments;let c=[],i={};const u={set:r.set(c,i),connect:r.connect(i),save:r.save(i),push:r.push(i)};return a({...n,...u},...s),e.resetScan(),0===c.length?this:o(c)}}function p(t){return function(e,n){t.setupFilter(e,n)}}function h(t,e){const{flatData:n}=t(),[o,r]=n(t,e),a={insertSegment:i(t,o),export:u(0,o),copy:l(t,o),model:f(t,o,r),query:d(t,o,r),setupFilter:p(o),listSegments:()=>Object.keys(o.getIndexes()).reduce(((t,e)=>(e.includes("/")||t.push(e),t)),[]),index:s};function s(t){if(null==t)return null;let e=o.getLine(t);if(e){let t,[n,o,r,a]=e;return t=o instanceof Array?[...o]:{...o},[n,t,r,[...a]]}return null}return a.extractList=function(t,e,n){return function(o,r){const a=n("root"),{main:{load:s},INIT_DATA_TYPES:c}=t(),i=[...c,"dt-object"];let u=!1,l="";if(r&&(r.as||(u=!0,l='Options should be an object and property "as" is required'),u||i.includes(r.as)||(u=!0,l=`Invalid option "as" value: ${r.as}.`),u))throw new Error(l);return o.map((t=>{let n=e.export(t);return 0===n.length?a[1].hasOwnProperty(t)?a[1][t]:null:n})).map((t=>null==t?null:t instanceof Array?s(t).model((()=>r)):t))}}(t,o,s),a}function m(t,e,n){return function(o){const[r,,a]=o,s=a[0][0],[c,i,u]=t,l=n();c[s]=r,a.forEach((t=>{const[,,n]=t;i[n]=t,u.push(t),l.forEach((n=>e(n,t)))}))}}function b(t){return function(e){const[,n,o]=t;if(e&&!n[e])return[];if(!e){const t=[];return o.forEach((e=>{const[n,o,r,a]=e,s=o instanceof Array?[...o]:{...o};t.push([n,s,r,[...a]])})),t}const r=[];return o.forEach((t=>{const[n,o,a,s]=t,c=new RegExp(`^${e}/`);if(a===e||a.match(c)){let t=n===a?"root":n,e=o instanceof Array?[...o]:{...o},i=a.includes("/")?a.replace(c,"root/"):"root",u=s.map((t=>t.replace(c,"root/")));r.push([t,e,i,u])}})),r}}function y(t,e,n,o){return function(r,a){const s=o(),[,,c]=t;if(s.includes(r))return console.error(`Filter name "${r}" is already defined`),this;e[r]=a,c.forEach((t=>n(r,t)))}}function g(t){return function(e){const n=t.getIndexes(),o=n[e],r=[];return o?(r.push(o),_(n,r,o[3]),t.setupScanList(r),this):(t.setupScanList([]),this)}}function _(t,e,n){n.forEach((n=>{const o=t[n];o&&(e.push(o),_(t,e,o[3]))}))}function $(t){return function(e){const n=[];return t.getScanList().forEach((t=>{t[0]===e&&n.push(t)})),t.setupScanList(n),this}}function E(t){return function(e){const n=[],o=e instanceof Array?e:[e];return t.getScanList().forEach((t=>{const e=t[0];o.forEach((o=>{e.includes(o)&&n.push(t)}))})),t.setupScanList(n),this}}function k(t){return function(e){t.getScanList().forEach((n=>{const[o,r,a,s]=n,c=r instanceof Array,i=()=>"$__NEXT__LOOK_",u=()=>"$__FINISH__WITH__THE__LOOKING_";let l=!1;const f=s.map((t=>{let e=t.replace(`${a}/`,"");return[o,e]}));if(c)0===r.length?d([]):r.every(((t,n)=>{if(l)return!1;const s=e({value:t,key:n,name:o,flatData:r,breadcrumbs:a,links:f,next:i,finish:u});return"$__FINISH__WITH__THE__LOOKING_"===s&&(l=!0),!["$__FINISH__WITH__THE__LOOKING_","$__NEXT__LOOK_"].includes(s)}));else{const t=Object.entries(r);0===t.length?d({}):t.every((([t,n])=>{if(l)return!1;const s=e({value:n,key:t,name:o,flatData:r,breadcrumbs:a,links:f,next:i,finish:u});return"$__FINISH__WITH__THE__LOOKING_"===s&&(l=!0),!["$__FINISH__WITH__THE__LOOKING_","$__NEXT__LOOK_"].includes(s)}))}function d(t){e({value:null,key:null,name:o,flatData:t,breadcrumbs:a,links:f,empty:!0,next:i,finish:u})}t.resetScan()}))}}function j(t){return function(e){const n=[];return t.getScanList().every((t=>t[2]!==e||(n.push(t),!1))),t.setupScanList(n),this}}function S({flatData:t}){return t instanceof Array}function v({name:t,flatData:e}){return!(e instanceof Array||isNaN(t))}function O({flatData:t}){return!(t instanceof Array)}function x({name:t,breadcrumbs:e}){return t===e}function D(t,e){const[n,o,r]=e,a=[n,o,r],s={},c={list:S,listObject:v,object:O,root:x};let i=r;const u=()=>Object.keys(c),l=(t,e)=>{if(c[t]){const[n,r,a,i]=e;if(s[t]||(s[t]=[]),c[t]({name:n,flatData:r,breadcrumbs:a,edges:i})){const e=o[a];s[t].push(e)}}};u().forEach((t=>r.forEach((e=>l(t,e)))));const f={insert:m(a,l,u),export:b(a),getCopy:t=>n[t]?n[t]:null,getIndexes:()=>o,getLine:t=>o[t]?o[t]:null,getFilters:()=>s,getScanList:()=>i,setupScanList:t=>i=t,setupFilter:y(a,c,l,u),resetScan:()=>{i=r}};var d;return[f,{from:g(f),use:(d=f,function(t){const e=d.getFilters()[t];return e&&d.setupScanList(e),this}),get:j(f),find:$(f),like:E(f),look:k(f)}]}t.sequence=function(e,...n){const o=t(),r=[];const a=function*(t){for(const e of t)yield e}(e);return function t(e,...n){e.done?o.done(r):e.value(...n).then((e=>{r.push(e),t(a.next(),...n,e)}))}(a.next(),...n),o},t.all=function(e,...n){const o=t(),r=[],a=e.map(((t,e)=>"function"==typeof t?t(...n).then((t=>r[e]=t)):t.then((t=>r[e]=t))));return Promise.all(a).then((()=>o.done(r))),o};var T=function(t,e){const{walk:n}=t(),o=[],r={};return[{root:n({data:e,keyCallback:function({value:t,key:e,breadcrumbs:n}){const o=new RegExp(`/${e}$`),a=n.replace(o,"");return r[a][1][e]=t,t},objectCallback:function({value:t,key:e,breadcrumbs:n}){const a="root"===n&&"root"===e,s=t instanceof Array?[]:{},c=e,i=new RegExp(`/${e}$`),u=n.replace(i,""),l=[c,s,n,[]];return a||r[u][3].push(n),o.push(l),r[n]=o.at(-1),t}})},r,o]},A=function(t){let e={};return t.reverse().forEach((([t,n,o,r])=>{const a=n instanceof Array?[...n]:{...n};e[o]=a,r.forEach((t=>{if(e[t]){const n=t.replace(`${o}/`,"");e[o][n]=e[t]}}))})),e.root},w=function(t,e){const n=Object.entries(e),{walk:o}=t(),r={},a=[],s={},c={};function i(t){s[t]||(s[t]="object");const e=t.split("/");1!=e.length&&(e.pop(),1!=e.length&&i(e.join("/")))}return n.forEach((([t,e])=>{t.startsWith("root")||(t=`root/${t}`),i(t),function(t,e){Object.keys(e).forEach((e=>{isNaN(e)||(s[t]="array")}))}(t,e),c[t]=e})),Object.entries(s).forEach((([t,e])=>{if("object"===c[t])return;if(c[t]){const n=c[t]instanceof Array;if("array"===e&&!n){const e=Object.values(c[t]);c[t]=e}return}const n="object"===e?{}:[];c[t]=n})),Object.entries(c).sort().forEach((([t,e])=>{const n=t.split("/").pop(),o=t.replace(`/${n}`,""),s=[n,e instanceof Array?[...e]:{...e},t,[]];r[t]=s,a.push(s),"root"!==t&&o&&r[o]&&r[o][3].push(t)})),[o({data:e}),r,a]},N=function(t){const e={};return t.forEach((t=>{const[,n,o]=t;if(0===Object.keys(n).length)return;const r=o.replace("root/",""),a=n instanceof Array?[...n]:{...n};e[r]=a})),e},I=function(t,e){const{walk:n}=t(),o={},r={root:[]},a=[];function s(t){if("root"===t)return;const e=t.split("/");e.pop();const n=e.join("/");r[n]||(r[n]=[]),n.includes("/")&&s(n)}e.forEach((t=>{const[e,n]=t,o="root"===e?"root":`root/${e}`;r[o]?r[o].push(n):r[o]=[n],s(o)}));let c=Object.entries(r).sort();const i={root:"object"};return c.forEach((([t,e])=>{if("root"===t)return;const n=t.split("/"),o=n.pop(),r=n.join("/");"array"!==i[r]&&!isNaN(o)&&(i[r]="array"),0===e.length&&(i[t]="object")})),c=Object.entries(r).sort(),c.forEach((([t,e])=>{const[n,r,s]=function(t){let e,n,o;if("root"==t)return e="root",n="root",o=null,[e,n,o];const r=t.split("/");return 2===r.length&&(e="root",n="root",o=r.pop()),r.length>2&&(o=r.pop(),e=r.pop(),n=0===r.length?`root/${e}`:`${r.join("/")}/${e}`),[e,n,o]}(t),c=0===e.length,u=1===e.length;let l,f;if(c){if(o[`${r}/${s}`])return;return null==s?(f="object"===i.root?{}:[],l=["root",f,"root",[]],o.root=l,void a.push(l)):(f="object"===i[`${r}/${s}`]?{}:[],l=[s,f,`${r}/${s}`,[]],o[`${r}/${s}`]=l,void a.push(l))}if(!u)return l=[s,e,`${r}/${s}`,[]],o[`${r}/${s}`]=l,void a.push(l);if(o[`${r}`])o[r][1][s]=e[0];else{const t={};t[s]=e[0],l=[n,t,r,[]],o[r]=l,a.push(l)}})),a.reverse(),a.forEach((t=>{const[e,n,r]=t,a=r.replace(`/${e}`,""),s=o[a];a!==r&&s&&s[3].push(r)})),a.reverse(),[n({data:e}),o,a]},F=function(t){let e=[];return t.forEach((t=>{const[n,o,r]=t,a=o instanceof Array;let s="";"root"!==n&&(s=r.replace("root/","")),a?0==s.length?o.forEach(((t,n)=>e.push(["root",t]))):o.forEach((t=>e.push([s,t]))):Object.entries(o).forEach((([t,n])=>{0==s.length?e.push([t,n]):e.push([`${s}/${t}`,n])}))})),e};const L=t=>(e,n)=>{switch(t){case"std":case"standard":return T(e,n);case"tuple":case"tuples":return I(e,n);case"breadcrumb":case"breadcrumbs":const t=Object.entries(n);return I(e,t);case"file":case"files":const o=n.map((t=>{let e=t.split("/");1===e.length&&(e=["root"].concat(e));const n=e.pop();return[e.join("/"),n]}));return I(e,o);case"midFlat":return w(e,n)}return[["object",0],{}]};var P={from:function(t){return{toFlat:L(t)}},to:function(t,e,n){const o={},{walk:r}=e(),a=new Set,s=new Set;let c,i=0;switch(t){case"flat":case"dt-model":return r({data:n});case"std":case"standard":return A(n);case"midflat":case"midFlat":return N(n);case"tuple":case"tuples":return F(n);case"files":return c=F(n),c.map((([t,e])=>"function"==typeof e?`${t}/function:${e.name}`:e?.nodeType?`${t}/HtmlElement:${e.tagName?e.tagName.toLowerCase():"notSpecified"}`:"root"===t?e:`${t}/${e}`));case"breadcrumb":case"breadcrumbs":let t;return c=F(n),c.forEach((([t,e])=>a.has(t)?s.add(t):a.add(t))),c.forEach((([e,n])=>{s.has(e)?(t!==e&&(t=e,i=0),o["root"===e?i:`${e}/${i}`]=n,i++):o[e]=n})),o}}};function C(t,e,n){const o=t[e],r=o[2];o[2]=n,t[r]=o,o[3].forEach(((e,o)=>{const a=new RegExp(`^${r}/`),s=e.replace(a,`${n}/`);C(t[e],e,s)}))}var q={push:function(t){return function(e,n){const o=!!t[e]&&t[e][1];return o&&o instanceof Array?("object"==typeof value||o.push(n),this):this}},set:function(t,e){return function(n,o){const r=o instanceof Array,a=[];return a.push(n),r?a.push([...o]):a.push({...o}),a.push(n),a.push([]),t.push(a),e[n]=a,this}},connect:function(t){return function(e){e.forEach((e=>{let n=e.split("/");const o=n.pop(),r=n.pop(),a=t[r];if(!t[o])return this;if(!a)return this;if(a[1][o])return this;let s=`${a[2]}/${o}`;return C(t,o,s),a[3].includes(s)||a[3].push(s),this}))}},save:function(t){return function(e,n,o){const r=!!t[e]&&t[e][1];return r?(r[n]||(r[n]=o),this):this}}};const H=["std","standard","tuple","tuples","breadcrumb","breadcrumbs","file","files","midFlat","midflat","flat","dt-model"],W={dependencies:()=>({walk:c,flatData:D,flatObject:h,convert:P,INIT_DATA_TYPES:H,main:{load:W.load},isDTO:t=>"function"==typeof t.insertSegment,isDTM:t=>t instanceof Array&&t[0]instanceof Array&&4===t[0].length&&"root"===t[0][0],draft:q}),init(t,e={}){let{model:n}=Object.assign({},{model:"std"},e),o=W.dependencies;return H.includes(n)?h(o,["flat","dt-model"].includes(n)?W.load(t):P.from(n).toFlat(o,t)):(console.error(`Can't understand your data-model: ${n}. Please, find what is possible on https://github.com/PeterNaydenov/dt-toolbox`),null)},load(t){const e={};t.forEach((t=>{const[,,n]=t;e[n]=t}));const n=c({data:t});return h(W.dependencies,[n,e,t])},flating(t,e={}){let{model:n}=Object.assign({},{model:"std"},e);if(!H.includes(n))return null;let[,,o]=P.from("std").toFlat(W.dependencies,t);return o},converting(t,e={}){let{model:n,as:o}=Object.assign({},{model:"std",as:"std"},e);if(!H.includes(n))return null;if(!H.includes(o))return null;let[,,r]=P.from("std").toFlat(W.dependencies,t);return P.to(o,W.dependencies,r)},getWalk:()=>c},{init:R,load:K,flating:G,converting:U,getWalk:M}=W,X={init:R,load:K,flat:G,convert:U,getWalk:M};function Y(t){const e={};t.look((({name:n,flatData:o,breadcrumbs:r,links:a,next:s})=>{if(t.set(n,o),"root"===n)return s();if(n===r&&t.connect([`root/${n}`]),a.forEach((([t,n])=>e[n]=[t,n])),e[n]){const[o,r]=e[n];t.connect([`${o}/${r}`])}return s()}))}function z(t){const e={};t.look((({name:n,flatData:o,links:r,next:a})=>{if(r.forEach((([t,n])=>{"root"!==t&&(e[n]=[t,n])})),t.set(n,o),e[n]){const[o,r]=e[n];t.connect([`${o}/${r}`])}return a()}))}function B(t,e){const n=e.export("root")[0][1],o=[];let r=null;t.use("root").look((({flatData:t,breadcrumbs:e,next:n})=>"root"===e?(r=t,n()):(o.push(e),n()))),r instanceof Array?t.set("root",[]):t.set("root",{}),o.forEach((o=>{let a=!1;const s={};e.query((e=>{e.from(o).look((({name:e,flatData:n,breadcrumbs:o,links:r,next:c})=>{if(a=!0,t.set(e,n),s.hasOwnProperty(o)){const[e,n]=s[o];t.connect([`${e}/${n}`])}return r.forEach((([t,e])=>s[`${o}/${e}`]=[t,e])),c()}))})),!a&&n.hasOwnProperty(o)&&(a=!0,t.save("root",o,r[o])),a||t.from(o).look((({name:e,flatData:n,breadcrumbs:o,links:r,next:a})=>{if(t.set(e,n),s.hasOwnProperty(o)){const[e,n]=s[o];t.connect([`${e}/${n}`])}return r.forEach((([t,e])=>s[`${o}/${e}`]=[t,e])),a()}))})),Object.entries(r).forEach((([o,r])=>{const a={};let s=!1;e.query((e=>{e.from(o).look((({name:e,flatData:n,breadcrumbs:o,links:r,next:c})=>{if(s=!0,t.set(e,n),a.hasOwnProperty(o)){const[e,n]=a[o];t.connect([`${e}/${n}`])}return r.forEach((([t,e])=>a[`${o}/${e}`]=[t,e])),c()}))})),!s&&n.hasOwnProperty(o)&&(s=!0,t.save("root",o,n[o])),s||t.save("root",o,r)}))}const J={_setTransitions:function(){return function(t,e){let n={},o={},r={};return t.forEach((t=>{const[a,s,c,i,u]=t,l=e[i],f=`${a}/${s}`;n[f]=l||null,o[f]=c,function(t){return t instanceof Array&&(2==t.length&&(t.forEach((t=>{if(!1!==t||"string"!=typeof t)return!1})),!0))}(u)&&(r[f]=[],r[f][0]=u[0],r[f][1]=u[1])})),{transitions:n,nextState:o,chainActions:r}}},_updateStateData:function(t){return function(e){const{dtbox:n,query:o}=t.dependencies;let r="javascriptObject";return e.export&&(r="dt-object"),e instanceof Array&&e[0][0]===e[0][2]&&e.every((t=>4===t.length))&&(r="dt-model"),"javascriptObject"===r&&e instanceof Array?(console.error("State update failed. Reason: Received an array. Expectation: Object where top-level property name is the name of the data segment."),t.stateData):(["javascriptObject"].includes(r)&&(e=n.init(e).export()),["javascriptObject","dt-model"].includes(r)&&(e=n.load(e)),["javascriptObject","dt-model","dt-object"].includes(r)&&(e=e.query(o.splitSegments)),t.stateData.query(o.updateState,e))}},_updateStep:function(t){return function(e,n,o){const{askForPromise:r}=t.dependencies,a=r(),s=`${t.state}/${n}`,c=t.callback;t.lock=!0,t._transit(a,s,o),a.onComplete((n=>{let o=t._getChain(s),r=n.response;if(n.success){if(t.state=t.nextState[s],null!=n.stateData&&(t.stateData=t._updateStateData(n.stateData)),c.positive.forEach((e=>e(t.state,r))),c.transition.forEach((e=>e(t.state,r))),o&&o[0])return void t._updateStep(e,o[0],r)}else if(c.negative.forEach((e=>e(t.state,r))),c.transition.forEach((e=>e(t.state,r))),o&&o[1])return void t._updateStep(e,o[1],r);e.done(r)})),a.promise.catch((()=>console.log(`Failed in step ${s}`)))}},_warn:function(t){return function(t){Object.entries(t).forEach((([t,e])=>{null==e&&console.log(`Warning: Transition for ${t} is not defined`)}))}},_transit:function(t){return function(){const[e,n,...o]=arguments,{state:r,stateData:a,dependencies:s}=t,c=t.transitions[n],i=t.api.extractList;"function"==typeof c?c({task:e,state:r,extractList:i,dependencies:s},...o):e.done({success:!1})}},_getChain:function(t){return function(e){const n=t.chainActions;return!!n[e]&&n[e]}},_triggerCacheUpdate:function(t){return function(){if(0!==t.cache.length){const{updateTask:e,action:n,dt:o}=t.cache[0];t.cache=t.cache.reduce(((t,e,n)=>(0!=n&&t.push(e),t)),[]),t._updateStep(e,n,o),e.onComplete((e=>t._onUpdateTask(e)))}}},_onUpdateTask:function(t){return function(e){const n=t.callback,o=t.dependencies.askForPromise(n.update);o.each((({value:n,done:o})=>{n(t.state,e),o()})),o.onComplete((e=>{t.lock=!1,t._triggerCacheUpdate()}))}},setDependencies:function(t){return function(e){t.dependencies={...t.dependencies,...e}}},getDependencies:function(t){return function(){return t.dependencies}},on:function(t){return function(e,n){const o=t.callback;o[e]&&o[e].push(n)}},off:function(t){return function(e){t.callback[e]&&(t.callback[e]=[])}},importState:function(t){return function({state:e,stateData:n}){const{dtbox:o,query:r}=t.dependencies;if(e&&(t.state=e,n)){const e=o.load(n).query(r.splitSegments);t.stateData=t.stateData.query(r.updateState,e)}}},exportState:function(t){return function(){const{query:e}=t.dependencies;return{state:t.state,stateData:t.stateData.query(e.joinSegments).export()}}},update:function(t){return function(e,n){const{askForPromise:o}=t.dependencies,r=o();return t.lock?(t.cache.push({updateTask:r,action:e,dt:n}),r.promise):(t._updateStep(r,e,n),r.onComplete((e=>t._onUpdateTask(e))),r.promise)}},reset:function(t){return function(){const{dtbox:e}=t.dependencies;t.state=t.initialState,t.stateData=e.load(t.initialStateData.export())}},ignoreCachedUpdates:function(t){return function(){t.cache.forEach((({updateTask:t,action:e,dt:n})=>t.cancel(`Action '${e}' was ignored`))),t.cache=[]}},getState:function(t){return function(){return t.state}},extractList:function(t){return function(e,n=!1){const o=t.dependencies.query;return 0==arguments.length?t.stateData.query(o.joinSegments).model((()=>({as:"std"}))):n?t.stateData.extractList(e,n):t.stateData.extractList(e,t.stateDataFormat)}}},Q=X.getWalk();function V({init:e,behavior:n,stateData:o={},debug:r,stateDataFormat:a={as:"std"}},s={}){const c=this,i={};c.state=e||"N/A",c.initialState=e||"N/A",c.stateDataFormat=a,c.lock=!1,c.cache=[],c.dependencies={walk:Q,dtbox:X,askForPromise:t,query:{splitSegments:z,joinSegments:Y,updateState:B}},c.callback={update:[],transition:[],positive:[],negative:[]};for(let t in J)t.startsWith("_")?c[t]=J[t](c):i[t]=J[t](c);c.api=i,c.stateData=X.init(o).query(z),c.initialStateData=X.init(o).query(z);const{transitions:u,nextState:l,chainActions:f}=c._setTransitions(n,s);return r&&(c._warn(u),global.debugFSM=c),c.transitions=u,c.nextState=l,c.chainActions=f,i}return V.dependencies={walk:Q,dtbox:X,askForPromise:t,query:{splitSegments:z,joinSegments:Y,updateState:B}},V}));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@peter.naydenov/fsm",
3
3
  "description": "Finite State Machine",
4
- "version": "5.2.1",
4
+ "version": "5.2.3",
5
5
  "license": "MIT",
6
6
  "author": "Peter Naydenov",
7
7
  "main": "./dist/fsm.umd.js",
@@ -23,17 +23,17 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@peter.naydenov/dt-queries": "^1.1.1",
26
- "ask-for-promise": "2.0.3",
27
- "dt-toolbox": "^7.4.3"
26
+ "ask-for-promise": "3.0.1",
27
+ "dt-toolbox": "^7.4.4"
28
28
  },
29
29
  "devDependencies": {
30
- "@rollup/plugin-commonjs": "^28.0.1",
31
- "@rollup/plugin-node-resolve": "^15.3.0",
30
+ "@rollup/plugin-commonjs": "^28.0.2",
31
+ "@rollup/plugin-node-resolve": "^16.0.0",
32
32
  "@rollup/plugin-terser": "^0.4.4",
33
- "c8": "^10.1.2",
34
- "chai": "5.1.2",
35
- "mocha": "11.0.1",
36
- "rollup": "^4.28.1"
33
+ "c8": "^10.1.3",
34
+ "chai": "5.2.0",
35
+ "mocha": "11.1.0",
36
+ "rollup": "^4.34.7"
37
37
  },
38
38
  "repository": {
39
39
  "type": "git",
@@ -5,10 +5,10 @@ return function _onUpdateTask ( data ) {
5
5
  , updateCallbacks = fsm.dependencies.askForPromise ( cb['update'] )
6
6
  ;
7
7
 
8
- cb [ 'update' ].forEach ( (fn,i) => {
8
+ updateCallbacks.each ( ({value:fn, done }) => {
9
9
  fn ( fsm.state, data )
10
- updateCallbacks[i].done ()
11
- })
10
+ done ()
11
+ })
12
12
 
13
13
  updateCallbacks.onComplete ( x => {
14
14
  fsm.lock = false