MCPcopy
hub / github.com/chavyleung/scripts / getAppDatas

Function getAppDatas

chavy.box.js:659–698  ·  view source on GitHub ↗

* =================================== * 接口类函数 * ===================================

(app)

Source from the content-addressed store, hash-verified

657 */
658
659function getAppDatas(app) {
660 const datas = {}
661 const nulls = [null, undefined, 'null', 'undefined']
662 if (app.keys && Array.isArray(app.keys)) {
663 app.keys.forEach((key) => {
664 const val = $.getdata(key)
665 datas[key] = nulls.includes(val) ? null : val
666 })
667 }
668 if (app.settings && Array.isArray(app.settings)) {
669 app.settings.forEach((setting) => {
670 const key = setting.id
671 const dataval = $.getdata(key)
672 datas[key] = nulls.includes(dataval) ? null : dataval
673
674 if (setting.type === 'boolean') {
675 setting.val = nulls.includes(dataval)
676 ? setting.val
677 : dataval === 'true' || dataval === true
678 } else if (setting.type === 'int') {
679 setting.val = dataval * 1 || setting.val
680 } else if (setting.type === 'checkboxes') {
681 if (!nulls.includes(dataval) && typeof dataval === 'string') {
682 setting.val = dataval ? dataval.split(',') : []
683 } else {
684 setting.val = Array.isArray(setting.val)
685 ? setting.val
686 : setting.val.split(',')
687 }
688 } else {
689 setting.val = dataval || setting.val
690 }
691
692 if (setting.type === 'modalSelects') {
693 setting.items = datas?.[setting.items] || []
694 }
695 })
696 }
697 return datas
698}
699
700function dealKey(str) {
701 const [rootKey, delIndex] = str.split('.')

Callers 1

getBoxDataFunction · 0.70

Calls 1

getdataMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…