yugoo-design 0.2.2 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/bin/npm-installer-dsh.mjs +22 -3
- package/package.json +1 -1
- package/payload/desktop-preparation/materials.json +6 -6
- package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/material.json +1 -1
- package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +10 -4
- package/payload/desktop-preparation/qwenwork-template/authoring/studio-creators/source/docs/dsl-spec.md +28 -0
- package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/material.json +1 -1
- package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +10 -4
- package/payload/desktop-preparation/studio-authoring-template/authoring/studio-creators/source/docs/dsl-spec.md +28 -0
- package/payload/overlays/claude-code/.claude-plugin/plugin.json +1 -1
- package/payload/overlays/claude-code/authoring/studio-creators/material.json +1 -1
- package/payload/overlays/claude-code/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +10 -4
- package/payload/overlays/claude-code/authoring/studio-creators/source/docs/dsl-spec.md +28 -0
- package/payload/overlays/codex/.codex-plugin/plugin.json +1 -1
- package/payload/overlays/codex/authoring/studio-creators/material.json +1 -1
- package/payload/overlays/codex/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +10 -4
- package/payload/overlays/codex/authoring/studio-creators/source/docs/dsl-spec.md +28 -0
- package/payload/overlays/qoder/.qoder-plugin/plugin.json +1 -1
- package/payload/overlays/qoder/authoring/studio-creators/material.json +1 -1
- package/payload/overlays/qoder/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +10 -4
- package/payload/overlays/qoder/authoring/studio-creators/source/docs/dsl-spec.md +28 -0
- package/payload/shared/authoring/panel-components.json +118 -81
- package/payload/shared/authoring/studio-creators/material.json +1 -1
- package/payload/shared/authoring/studio-creators/source/.agents/skills/design-bundle-creator/scripts/inspect-panel-component.mjs +10 -4
- package/payload/shared/authoring/studio-creators/source/docs/dsl-spec.md +28 -0
- package/payload/shared/web/client.js +188 -29
- package/release-hosts.json +1 -1
- package/release-manifest.json +30 -30
|
@@ -19,7 +19,12 @@ async function inspectionContext(repo) {
|
|
|
19
19
|
const contractPath = 'packages/core/src/panel-dsl.ts'
|
|
20
20
|
const source = ts.createSourceFile(contractPath,
|
|
21
21
|
await readFile(join(repo, contractPath), 'utf8'), ts.ScriptTarget.Latest, true, ts.ScriptKind.TS)
|
|
22
|
-
|
|
22
|
+
// These trusted local contract sources are parsed as data, never executed or
|
|
23
|
+
// resolved through arbitrary imports. PanelManifest imports its i18n shape.
|
|
24
|
+
const i18nPath = 'packages/core/src/panel-i18n.ts'
|
|
25
|
+
const i18nSource = ts.createSourceFile(i18nPath,
|
|
26
|
+
await readFile(join(repo, i18nPath), 'utf8'), ts.ScriptTarget.Latest, true, ts.ScriptKind.TS)
|
|
27
|
+
const declarations = new Map([...source.statements, ...i18nSource.statements]
|
|
23
28
|
.filter(node => ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node))
|
|
24
29
|
.map(node => [node.name.text, node]))
|
|
25
30
|
const constants = new Map(source.statements
|
|
@@ -35,7 +40,7 @@ async function inspectionContext(repo) {
|
|
|
35
40
|
function visit(node) {
|
|
36
41
|
if (ts.isTypeQueryNode(node)) {
|
|
37
42
|
if (!ts.isIdentifier(node.exprName)) {
|
|
38
|
-
throw new Error(`Unsupported local typeof contract reference: ${node.exprName.getText(
|
|
43
|
+
throw new Error(`Unsupported local typeof contract reference: ${node.exprName.getText(node.getSourceFile())}`)
|
|
39
44
|
}
|
|
40
45
|
const name = node.exprName.text
|
|
41
46
|
const constant = constants.get(name)
|
|
@@ -61,7 +66,7 @@ export async function inspectPanelComponent(repo, name, typeName, options = {})
|
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
async function inspectWithContext(context, name, typeName, options = {}) {
|
|
64
|
-
const { repo, ts, PANEL_COMPONENT_CATALOG, GENERATED_COMPONENT_KINDS, contractPath,
|
|
69
|
+
const { repo, ts, PANEL_COMPONENT_CATALOG, GENERATED_COMPONENT_KINDS, contractPath, declarations } = context
|
|
65
70
|
if (!Object.hasOwn(PANEL_COMPONENT_CATALOG, name)) throw new Error(`Unknown component: ${name}`)
|
|
66
71
|
function contract(name) {
|
|
67
72
|
const [root, ...properties] = name.split('.')
|
|
@@ -88,8 +93,9 @@ async function inspectWithContext(context, name, typeName, options = {}) {
|
|
|
88
93
|
ts.forEachChild(child, visit)
|
|
89
94
|
}
|
|
90
95
|
visit(node)
|
|
96
|
+
const source = node.getSourceFile()
|
|
91
97
|
return {
|
|
92
|
-
name, file:
|
|
98
|
+
name, file: source.fileName,
|
|
93
99
|
line: source.getLineAndCharacterOfPosition(node.getStart(source)).line + 1,
|
|
94
100
|
declaration: node.getText(source),
|
|
95
101
|
references: [...references].sort().map(name => ({ name, read: `--type ${name}` })),
|
|
@@ -35,6 +35,34 @@ ui: {…}
|
|
|
35
35
|
|
|
36
36
|
`evidence_workbook | capability_map | process | lifecycle | page_spec | document`
|
|
37
37
|
|
|
38
|
+
### UI text and locale resources
|
|
39
|
+
|
|
40
|
+
Declare the locale-to-file map at the manifest root, alongside `sections`,
|
|
41
|
+
`fields` and `ui`. Paths are relative to this Bundle:
|
|
42
|
+
|
|
43
|
+
```yaml
|
|
44
|
+
i18n:
|
|
45
|
+
default_locale: zh-CN
|
|
46
|
+
locales:
|
|
47
|
+
zh-CN: locales/zh-CN.json
|
|
48
|
+
en-US: locales/en-US.json
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
For example, `ui.title: $t:workspaceTitle` reads `workspaceTitle` from these
|
|
52
|
+
JSON objects: `locales/zh-CN.json` contains
|
|
53
|
+
`{"workspaceTitle":"交付验收点"}`, and `locales/en-US.json` contains
|
|
54
|
+
`{"workspaceTitle":"Delivery acceptance points"}`. The Kit loader reads the
|
|
55
|
+
declared files and supplies the resolved `i18n.messages`; authors maintain the
|
|
56
|
+
locale files rather than duplicating their messages in `panel.yaml`.
|
|
57
|
+
|
|
58
|
+
Use whole `$t:key` tokens for display titles, labels, descriptions and other
|
|
59
|
+
supported text properties. The default locale must cover every referenced key;
|
|
60
|
+
missing keys in other locales fall back to it. Locale switching does not
|
|
61
|
+
translate saved user text, IDs, field keys, enum values or canonical defaults.
|
|
62
|
+
Shared component action copy stays in Panel's shared dictionaries. The owning
|
|
63
|
+
type is `PanelTranslations` in `packages/core/src/panel-i18n.ts`; installed
|
|
64
|
+
component contract reads expose it through `PanelManifest`'s returned reference.
|
|
65
|
+
|
|
38
66
|
## `sections`
|
|
39
67
|
|
|
40
68
|
```yaml
|
|
@@ -116659,7 +116659,7 @@ function DesignWorkspace(props) {
|
|
|
116659
116659
|
"data-testid": "dsh-design-workspace-readonly",
|
|
116660
116660
|
className: "mx-4 mt-3 shrink-0 rounded-lg border border-amber-300 bg-amber-50 px-3 py-2 text-xs leading-5 text-amber-900",
|
|
116661
116661
|
role: "status",
|
|
116662
|
-
children: props.publicationError ? isZh ?
|
|
116662
|
+
children: props.publicationError ? isZh ? `当前项目内容暂时无法读取,已保存的设计数据仍会保留。请检查项目原始定义和文件后重新打开:${props.publicationError}` : `The current project's content could not be read. Saved design data is preserved. Check the original project definitions and files, then reopen the project: ${props.publicationError}` : access.mode === "recovery" ? isZh ? "当前项目的设计套件内容无法读取。请恢复项目原始定义后重新打开;已保存的设计数据仍会保留。" : "This project's Design Kit content is unavailable. Restore its original project definitions, then reopen the project. Saved design data is preserved." : isZh ? "当前项目尚未选择 Kit;Design Panel 保持只读。请在对话中输入 /yugoo kit <kit>。" : "This project has no selected Kit. The Design Panel is read-only until you run /yugoo kit <kit> in the conversation."
|
|
116663
116663
|
});
|
|
116664
116664
|
const closeButton = panelOnly || onClose === void 0 ? null : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
|
|
116665
116665
|
type: "button",
|
|
@@ -128589,33 +128589,33 @@ function useAppSelector(selector) {
|
|
|
128589
128589
|
}
|
|
128590
128590
|
//#endregion
|
|
128591
128591
|
//#region node_modules/.pnpm/reselect@5.1.1/node_modules/reselect/dist/reselect.mjs
|
|
128592
|
-
function assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {
|
|
128592
|
+
function assertIsFunction$1(func, errorMessage = `expected a function, instead received ${typeof func}`) {
|
|
128593
128593
|
if (typeof func !== "function") throw new TypeError(errorMessage);
|
|
128594
128594
|
}
|
|
128595
128595
|
function assertIsObject(object, errorMessage = `expected an object, instead received ${typeof object}`) {
|
|
128596
128596
|
if (typeof object !== "object") throw new TypeError(errorMessage);
|
|
128597
128597
|
}
|
|
128598
|
-
function assertIsArrayOfFunctions(array, errorMessage = `expected all items to be functions, instead received the following types: `) {
|
|
128598
|
+
function assertIsArrayOfFunctions$1(array, errorMessage = `expected all items to be functions, instead received the following types: `) {
|
|
128599
128599
|
if (!array.every((item) => typeof item === "function")) {
|
|
128600
128600
|
const itemTypes = array.map((item) => typeof item === "function" ? `function ${item.name || "unnamed"}()` : typeof item).join(", ");
|
|
128601
128601
|
throw new TypeError(`${errorMessage}[${itemTypes}]`);
|
|
128602
128602
|
}
|
|
128603
128603
|
}
|
|
128604
|
-
var ensureIsArray = (item) => {
|
|
128604
|
+
var ensureIsArray$1 = (item) => {
|
|
128605
128605
|
return Array.isArray(item) ? item : [item];
|
|
128606
128606
|
};
|
|
128607
|
-
function getDependencies(createSelectorArgs) {
|
|
128607
|
+
function getDependencies$1(createSelectorArgs) {
|
|
128608
128608
|
const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;
|
|
128609
|
-
assertIsArrayOfFunctions(dependencies, `createSelector expects all input-selectors to be functions, but received the following types: `);
|
|
128609
|
+
assertIsArrayOfFunctions$1(dependencies, `createSelector expects all input-selectors to be functions, but received the following types: `);
|
|
128610
128610
|
return dependencies;
|
|
128611
128611
|
}
|
|
128612
|
-
function collectInputSelectorResults(dependencies, inputSelectorArgs) {
|
|
128612
|
+
function collectInputSelectorResults$1(dependencies, inputSelectorArgs) {
|
|
128613
128613
|
const inputSelectorResults = [];
|
|
128614
128614
|
const { length } = dependencies;
|
|
128615
128615
|
for (let i = 0; i < length; i++) inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));
|
|
128616
128616
|
return inputSelectorResults;
|
|
128617
128617
|
}
|
|
128618
|
-
var StrongRef = class {
|
|
128618
|
+
var StrongRef$1 = class {
|
|
128619
128619
|
constructor(value) {
|
|
128620
128620
|
this.value = value;
|
|
128621
128621
|
}
|
|
@@ -128623,19 +128623,19 @@ var StrongRef = class {
|
|
|
128623
128623
|
return this.value;
|
|
128624
128624
|
}
|
|
128625
128625
|
};
|
|
128626
|
-
var Ref = typeof WeakRef !== "undefined" ? WeakRef : StrongRef;
|
|
128627
|
-
var UNTERMINATED = 0;
|
|
128628
|
-
var TERMINATED = 1;
|
|
128629
|
-
function createCacheNode() {
|
|
128626
|
+
var Ref$1 = typeof WeakRef !== "undefined" ? WeakRef : StrongRef$1;
|
|
128627
|
+
var UNTERMINATED$1 = 0;
|
|
128628
|
+
var TERMINATED$1 = 1;
|
|
128629
|
+
function createCacheNode$1() {
|
|
128630
128630
|
return {
|
|
128631
|
-
s: UNTERMINATED,
|
|
128631
|
+
s: UNTERMINATED$1,
|
|
128632
128632
|
v: void 0,
|
|
128633
128633
|
o: null,
|
|
128634
128634
|
p: null
|
|
128635
128635
|
};
|
|
128636
128636
|
}
|
|
128637
|
-
function weakMapMemoize(func, options = {}) {
|
|
128638
|
-
let fnNode = createCacheNode();
|
|
128637
|
+
function weakMapMemoize$1(func, options = {}) {
|
|
128638
|
+
let fnNode = createCacheNode$1();
|
|
128639
128639
|
const { resultEqualityCheck } = options;
|
|
128640
128640
|
let lastResult;
|
|
128641
128641
|
let resultsCount = 0;
|
|
@@ -128649,7 +128649,7 @@ function weakMapMemoize(func, options = {}) {
|
|
|
128649
128649
|
if (objectCache === null) cacheNode.o = objectCache = /* @__PURE__ */ new WeakMap();
|
|
128650
128650
|
const objectNode = objectCache.get(arg);
|
|
128651
128651
|
if (objectNode === void 0) {
|
|
128652
|
-
cacheNode = createCacheNode();
|
|
128652
|
+
cacheNode = createCacheNode$1();
|
|
128653
128653
|
objectCache.set(arg, cacheNode);
|
|
128654
128654
|
} else cacheNode = objectNode;
|
|
128655
128655
|
} else {
|
|
@@ -128657,14 +128657,14 @@ function weakMapMemoize(func, options = {}) {
|
|
|
128657
128657
|
if (primitiveCache === null) cacheNode.p = primitiveCache = /* @__PURE__ */ new Map();
|
|
128658
128658
|
const primitiveNode = primitiveCache.get(arg);
|
|
128659
128659
|
if (primitiveNode === void 0) {
|
|
128660
|
-
cacheNode = createCacheNode();
|
|
128660
|
+
cacheNode = createCacheNode$1();
|
|
128661
128661
|
primitiveCache.set(arg, cacheNode);
|
|
128662
128662
|
} else cacheNode = primitiveNode;
|
|
128663
128663
|
}
|
|
128664
128664
|
}
|
|
128665
128665
|
const terminatedNode = cacheNode;
|
|
128666
128666
|
let result;
|
|
128667
|
-
if (cacheNode.s === TERMINATED) result = cacheNode.v;
|
|
128667
|
+
if (cacheNode.s === TERMINATED$1) result = cacheNode.v;
|
|
128668
128668
|
else {
|
|
128669
128669
|
result = func.apply(null, arguments);
|
|
128670
128670
|
resultsCount++;
|
|
@@ -128674,15 +128674,15 @@ function weakMapMemoize(func, options = {}) {
|
|
|
128674
128674
|
result = lastResultValue;
|
|
128675
128675
|
resultsCount !== 0 && resultsCount--;
|
|
128676
128676
|
}
|
|
128677
|
-
lastResult = typeof result === "object" && result !== null || typeof result === "function" ? new Ref(result) : result;
|
|
128677
|
+
lastResult = typeof result === "object" && result !== null || typeof result === "function" ? new Ref$1(result) : result;
|
|
128678
128678
|
}
|
|
128679
128679
|
}
|
|
128680
|
-
terminatedNode.s = TERMINATED;
|
|
128680
|
+
terminatedNode.s = TERMINATED$1;
|
|
128681
128681
|
terminatedNode.v = result;
|
|
128682
128682
|
return result;
|
|
128683
128683
|
}
|
|
128684
128684
|
memoized.clearCache = () => {
|
|
128685
|
-
fnNode = createCacheNode();
|
|
128685
|
+
fnNode = createCacheNode$1();
|
|
128686
128686
|
memoized.resetResultsCount();
|
|
128687
128687
|
};
|
|
128688
128688
|
memoized.resultsCount = () => resultsCount;
|
|
@@ -128691,7 +128691,7 @@ function weakMapMemoize(func, options = {}) {
|
|
|
128691
128691
|
};
|
|
128692
128692
|
return memoized;
|
|
128693
128693
|
}
|
|
128694
|
-
function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {
|
|
128694
|
+
function createSelectorCreator$1(memoizeOrOptions, ...memoizeOptionsFromArgs) {
|
|
128695
128695
|
const createSelectorCreatorOptions = typeof memoizeOrOptions === "function" ? {
|
|
128696
128696
|
memoize: memoizeOrOptions,
|
|
128697
128697
|
memoizeOptions: memoizeOptionsFromArgs
|
|
@@ -128706,21 +128706,21 @@ function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {
|
|
|
128706
128706
|
directlyPassedOptions = resultFunc;
|
|
128707
128707
|
resultFunc = createSelectorArgs.pop();
|
|
128708
128708
|
}
|
|
128709
|
-
assertIsFunction(resultFunc, `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`);
|
|
128710
|
-
const { memoize, memoizeOptions = [], argsMemoize = weakMapMemoize, argsMemoizeOptions = [], devModeChecks = {} } = {
|
|
128709
|
+
assertIsFunction$1(resultFunc, `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`);
|
|
128710
|
+
const { memoize, memoizeOptions = [], argsMemoize = weakMapMemoize$1, argsMemoizeOptions = [], devModeChecks = {} } = {
|
|
128711
128711
|
...createSelectorCreatorOptions,
|
|
128712
128712
|
...directlyPassedOptions
|
|
128713
128713
|
};
|
|
128714
|
-
const finalMemoizeOptions = ensureIsArray(memoizeOptions);
|
|
128715
|
-
const finalArgsMemoizeOptions = ensureIsArray(argsMemoizeOptions);
|
|
128716
|
-
const dependencies = getDependencies(createSelectorArgs);
|
|
128714
|
+
const finalMemoizeOptions = ensureIsArray$1(memoizeOptions);
|
|
128715
|
+
const finalArgsMemoizeOptions = ensureIsArray$1(argsMemoizeOptions);
|
|
128716
|
+
const dependencies = getDependencies$1(createSelectorArgs);
|
|
128717
128717
|
const memoizedResultFunc = memoize(function recomputationWrapper() {
|
|
128718
128718
|
recomputations++;
|
|
128719
128719
|
return resultFunc.apply(null, arguments);
|
|
128720
128720
|
}, ...finalMemoizeOptions);
|
|
128721
128721
|
const selector = argsMemoize(function dependenciesChecker() {
|
|
128722
128722
|
dependencyRecomputations++;
|
|
128723
|
-
const inputSelectorResults = collectInputSelectorResults(dependencies, arguments);
|
|
128723
|
+
const inputSelectorResults = collectInputSelectorResults$1(dependencies, arguments);
|
|
128724
128724
|
lastResult = memoizedResultFunc.apply(null, inputSelectorResults);
|
|
128725
128725
|
return lastResult;
|
|
128726
128726
|
}, ...finalArgsMemoizeOptions);
|
|
@@ -128744,7 +128744,7 @@ function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {
|
|
|
128744
128744
|
Object.assign(createSelector2, { withTypes: () => createSelector2 });
|
|
128745
128745
|
return createSelector2;
|
|
128746
128746
|
}
|
|
128747
|
-
var createSelector = /* @__PURE__ */ createSelectorCreator(weakMapMemoize);
|
|
128747
|
+
var createSelector = /* @__PURE__ */ createSelectorCreator$1(weakMapMemoize$1);
|
|
128748
128748
|
var createStructuredSelector = Object.assign((inputSelectorsObject, selectorCreator = createSelector) => {
|
|
128749
128749
|
assertIsObject(inputSelectorsObject, `createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof inputSelectorsObject}`);
|
|
128750
128750
|
const inputSelectorKeys = Object.keys(inputSelectorsObject);
|
|
@@ -129807,6 +129807,165 @@ function currentImpl$1(value) {
|
|
|
129807
129807
|
globalThis.Iterator?.from;
|
|
129808
129808
|
var produce$1 = new Immer2$1().produce;
|
|
129809
129809
|
//#endregion
|
|
129810
|
+
//#region node_modules/.pnpm/reselect@5.2.0/node_modules/reselect/dist/reselect.mjs
|
|
129811
|
+
function assertIsFunction(func, errorMessage = `expected a function, instead received ${typeof func}`) {
|
|
129812
|
+
if (typeof func !== "function") throw new TypeError(errorMessage);
|
|
129813
|
+
}
|
|
129814
|
+
function assertIsArrayOfFunctions(array, errorMessage = `expected all items to be functions, instead received the following types: `) {
|
|
129815
|
+
if (!array.every((item) => typeof item === "function")) {
|
|
129816
|
+
const itemTypes = array.map((item) => typeof item === "function" ? `function ${item.name || "unnamed"}()` : typeof item).join(", ");
|
|
129817
|
+
throw new TypeError(`${errorMessage}[${itemTypes}]`);
|
|
129818
|
+
}
|
|
129819
|
+
}
|
|
129820
|
+
var ensureIsArray = (item) => {
|
|
129821
|
+
return Array.isArray(item) ? item : [item];
|
|
129822
|
+
};
|
|
129823
|
+
function getDependencies(createSelectorArgs) {
|
|
129824
|
+
const dependencies = Array.isArray(createSelectorArgs[0]) ? createSelectorArgs[0] : createSelectorArgs;
|
|
129825
|
+
assertIsArrayOfFunctions(dependencies, `createSelector expects all input-selectors to be functions, but received the following types: `);
|
|
129826
|
+
return dependencies;
|
|
129827
|
+
}
|
|
129828
|
+
function collectInputSelectorResults(dependencies, inputSelectorArgs) {
|
|
129829
|
+
const inputSelectorResults = [];
|
|
129830
|
+
const { length } = dependencies;
|
|
129831
|
+
for (let i = 0; i < length; i++) inputSelectorResults.push(dependencies[i].apply(null, inputSelectorArgs));
|
|
129832
|
+
return inputSelectorResults;
|
|
129833
|
+
}
|
|
129834
|
+
var StrongRef = class {
|
|
129835
|
+
constructor(value) {
|
|
129836
|
+
this.value = value;
|
|
129837
|
+
}
|
|
129838
|
+
deref() {
|
|
129839
|
+
return this.value;
|
|
129840
|
+
}
|
|
129841
|
+
};
|
|
129842
|
+
var getWeakRef = () => typeof WeakRef === "undefined" ? StrongRef : WeakRef;
|
|
129843
|
+
var Ref = /* @__PURE__ */ getWeakRef();
|
|
129844
|
+
var UNTERMINATED = 0;
|
|
129845
|
+
var TERMINATED = 1;
|
|
129846
|
+
function createCacheNode() {
|
|
129847
|
+
return {
|
|
129848
|
+
s: UNTERMINATED,
|
|
129849
|
+
v: void 0,
|
|
129850
|
+
o: null,
|
|
129851
|
+
p: null
|
|
129852
|
+
};
|
|
129853
|
+
}
|
|
129854
|
+
function maybeDeref(r) {
|
|
129855
|
+
if (r instanceof Ref) return r.deref();
|
|
129856
|
+
return r;
|
|
129857
|
+
}
|
|
129858
|
+
function weakMapMemoize(func, options = {}) {
|
|
129859
|
+
let fnNode = createCacheNode();
|
|
129860
|
+
const { resultEqualityCheck } = options;
|
|
129861
|
+
let lastResult;
|
|
129862
|
+
let resultsCount = 0;
|
|
129863
|
+
function memoized() {
|
|
129864
|
+
let cacheNode = fnNode;
|
|
129865
|
+
const { length } = arguments;
|
|
129866
|
+
for (let i = 0, l = length; i < l; i++) {
|
|
129867
|
+
const arg = arguments[i];
|
|
129868
|
+
if (typeof arg === "function" || typeof arg === "object" && arg !== null) {
|
|
129869
|
+
let objectCache = cacheNode.o;
|
|
129870
|
+
if (objectCache === null) cacheNode.o = objectCache = /* @__PURE__ */ new WeakMap();
|
|
129871
|
+
const objectNode = objectCache.get(arg);
|
|
129872
|
+
if (objectNode === void 0) {
|
|
129873
|
+
cacheNode = createCacheNode();
|
|
129874
|
+
objectCache.set(arg, cacheNode);
|
|
129875
|
+
} else cacheNode = objectNode;
|
|
129876
|
+
} else {
|
|
129877
|
+
let primitiveCache = cacheNode.p;
|
|
129878
|
+
if (primitiveCache === null) cacheNode.p = primitiveCache = /* @__PURE__ */ new Map();
|
|
129879
|
+
const primitiveNode = primitiveCache.get(arg);
|
|
129880
|
+
if (primitiveNode === void 0) {
|
|
129881
|
+
cacheNode = createCacheNode();
|
|
129882
|
+
primitiveCache.set(arg, cacheNode);
|
|
129883
|
+
} else cacheNode = primitiveNode;
|
|
129884
|
+
}
|
|
129885
|
+
}
|
|
129886
|
+
const terminatedNode = cacheNode;
|
|
129887
|
+
let result;
|
|
129888
|
+
if (cacheNode.s === TERMINATED) result = cacheNode.v;
|
|
129889
|
+
else {
|
|
129890
|
+
result = func.apply(null, arguments);
|
|
129891
|
+
resultsCount++;
|
|
129892
|
+
if (resultEqualityCheck) {
|
|
129893
|
+
const lastResultValue = maybeDeref(lastResult);
|
|
129894
|
+
if (lastResultValue != null && resultEqualityCheck(lastResultValue, result)) {
|
|
129895
|
+
result = lastResultValue;
|
|
129896
|
+
resultsCount !== 0 && resultsCount--;
|
|
129897
|
+
}
|
|
129898
|
+
lastResult = typeof result === "object" && result !== null || typeof result === "function" ? /* @__PURE__ */ new Ref(result) : result;
|
|
129899
|
+
}
|
|
129900
|
+
}
|
|
129901
|
+
terminatedNode.s = TERMINATED;
|
|
129902
|
+
terminatedNode.v = result;
|
|
129903
|
+
return result;
|
|
129904
|
+
}
|
|
129905
|
+
memoized.clearCache = () => {
|
|
129906
|
+
fnNode = createCacheNode();
|
|
129907
|
+
memoized.resetResultsCount();
|
|
129908
|
+
};
|
|
129909
|
+
memoized.resultsCount = () => resultsCount;
|
|
129910
|
+
memoized.resetResultsCount = () => {
|
|
129911
|
+
resultsCount = 0;
|
|
129912
|
+
};
|
|
129913
|
+
return memoized;
|
|
129914
|
+
}
|
|
129915
|
+
function createSelectorCreator(memoizeOrOptions, ...memoizeOptionsFromArgs) {
|
|
129916
|
+
const createSelectorCreatorOptions = typeof memoizeOrOptions === "function" ? {
|
|
129917
|
+
memoize: memoizeOrOptions,
|
|
129918
|
+
memoizeOptions: memoizeOptionsFromArgs
|
|
129919
|
+
} : memoizeOrOptions;
|
|
129920
|
+
const createSelector2 = (...createSelectorArgs) => {
|
|
129921
|
+
let recomputations = 0;
|
|
129922
|
+
let dependencyRecomputations = 0;
|
|
129923
|
+
let lastResult;
|
|
129924
|
+
let directlyPassedOptions = {};
|
|
129925
|
+
let resultFunc = createSelectorArgs.pop();
|
|
129926
|
+
if (typeof resultFunc === "object") {
|
|
129927
|
+
directlyPassedOptions = resultFunc;
|
|
129928
|
+
resultFunc = createSelectorArgs.pop();
|
|
129929
|
+
}
|
|
129930
|
+
assertIsFunction(resultFunc, `createSelector expects an output function after the inputs, but received: [${typeof resultFunc}]`);
|
|
129931
|
+
const { memoize, memoizeOptions = [], argsMemoize = weakMapMemoize, argsMemoizeOptions = [] } = {
|
|
129932
|
+
...createSelectorCreatorOptions,
|
|
129933
|
+
...directlyPassedOptions
|
|
129934
|
+
};
|
|
129935
|
+
const finalMemoizeOptions = ensureIsArray(memoizeOptions);
|
|
129936
|
+
const finalArgsMemoizeOptions = ensureIsArray(argsMemoizeOptions);
|
|
129937
|
+
const dependencies = getDependencies(createSelectorArgs);
|
|
129938
|
+
const memoizedResultFunc = memoize(function recomputationWrapper() {
|
|
129939
|
+
recomputations++;
|
|
129940
|
+
return resultFunc.apply(null, arguments);
|
|
129941
|
+
}, ...finalMemoizeOptions);
|
|
129942
|
+
const selector = argsMemoize(function dependenciesChecker() {
|
|
129943
|
+
dependencyRecomputations++;
|
|
129944
|
+
const inputSelectorResults = collectInputSelectorResults(dependencies, arguments);
|
|
129945
|
+
lastResult = memoizedResultFunc.apply(null, inputSelectorResults);
|
|
129946
|
+
return lastResult;
|
|
129947
|
+
}, ...finalArgsMemoizeOptions);
|
|
129948
|
+
return Object.assign(selector, {
|
|
129949
|
+
resultFunc,
|
|
129950
|
+
memoizedResultFunc,
|
|
129951
|
+
dependencies,
|
|
129952
|
+
dependencyRecomputations: () => dependencyRecomputations,
|
|
129953
|
+
resetDependencyRecomputations: () => {
|
|
129954
|
+
dependencyRecomputations = 0;
|
|
129955
|
+
},
|
|
129956
|
+
lastResult: () => lastResult,
|
|
129957
|
+
recomputations: () => recomputations,
|
|
129958
|
+
resetRecomputations: () => {
|
|
129959
|
+
recomputations = 0;
|
|
129960
|
+
},
|
|
129961
|
+
memoize,
|
|
129962
|
+
argsMemoize
|
|
129963
|
+
});
|
|
129964
|
+
};
|
|
129965
|
+
Object.assign(createSelector2, { withTypes: () => createSelector2 });
|
|
129966
|
+
return createSelector2;
|
|
129967
|
+
}
|
|
129968
|
+
//#endregion
|
|
129810
129969
|
//#region node_modules/.pnpm/redux-thunk@3.1.0_redux@5.0.1/node_modules/redux-thunk/dist/redux-thunk.mjs
|
|
129811
129970
|
function createThunkMiddleware(extraArgument) {
|
|
129812
129971
|
const middleware = ({ dispatch, getState }) => (next) => (action) => {
|