@elliemae/ds-tree-model 3.32.0-rc.4 → 3.32.0-rc.6
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/dist/cjs/adapters/arraish-tree/react-desc-prop-types.js +74 -0
- package/dist/cjs/adapters/arraish-tree/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/adapters/arraish-tree/useArraishAsDSTree.js +7 -0
- package/dist/cjs/adapters/arraish-tree/useArraishAsDSTree.js.map +2 -2
- package/dist/cjs/adapters/treeview/useTreeviewAsDSTree.js.map +2 -2
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +71 -0
- package/dist/cjs/react-desc-prop-types.js.map +7 -0
- package/dist/cjs/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js +144 -0
- package/dist/cjs/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js.map +7 -0
- package/dist/cjs/typescript-testing/typescript-use-ds-tree-valid.js +129 -0
- package/dist/cjs/typescript-testing/typescript-use-ds-tree-valid.js.map +7 -0
- package/dist/cjs/useDSTree.js +7 -0
- package/dist/cjs/useDSTree.js.map +2 -2
- package/dist/esm/adapters/arraish-tree/react-desc-prop-types.js +44 -0
- package/dist/esm/adapters/arraish-tree/react-desc-prop-types.js.map +7 -0
- package/dist/esm/adapters/arraish-tree/useArraishAsDSTree.js +10 -0
- package/dist/esm/adapters/arraish-tree/useArraishAsDSTree.js.map +2 -2
- package/dist/esm/adapters/treeview/useTreeviewAsDSTree.js.map +2 -2
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +41 -0
- package/dist/esm/react-desc-prop-types.js.map +7 -0
- package/dist/esm/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js +121 -0
- package/dist/esm/typescript-testing/typescript-use-arraish-as-ds-tree-valid.js.map +7 -0
- package/dist/esm/typescript-testing/typescript-use-ds-tree-valid.js +106 -0
- package/dist/esm/typescript-testing/typescript-use-ds-tree-valid.js.map +7 -0
- package/dist/esm/useDSTree.js +7 -0
- package/dist/esm/useDSTree.js.map +2 -2
- package/dist/types/adapters/arraish-tree/react-desc-prop-types.d.ts +54 -0
- package/dist/types/adapters/arraish-tree/useArraishAsDSTree.d.ts +4 -21
- package/dist/types/adapters/treeview/useTreeviewAsDSTree.d.ts +2 -18
- package/dist/types/index.d.ts +4 -2
- package/dist/types/react-desc-prop-types.d.ts +48 -0
- package/dist/types/typescript-testing/typescript-use-arraish-as-ds-tree-valid.d.ts +1 -0
- package/dist/types/typescript-testing/typescript-use-ds-tree-valid.d.ts +1 -0
- package/dist/types/useDSTree.d.ts +4 -18
- package/package.json +5 -2
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var react_desc_prop_types_exports = {};
|
|
30
|
+
__export(react_desc_prop_types_exports, {
|
|
31
|
+
UseArraishAsDSTreePropTypes: () => UseArraishAsDSTreePropTypes,
|
|
32
|
+
UseArraishAsDSTreeReturnType: () => UseArraishAsDSTreeReturnType
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(react_desc_prop_types_exports);
|
|
35
|
+
var React = __toESM(require("react"));
|
|
36
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
37
|
+
const itemShape = {
|
|
38
|
+
id: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]).description("Id of the root item."),
|
|
39
|
+
idPart1: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]).description("Part 1 of the item's compound id."),
|
|
40
|
+
idPart2: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]).description("Part 2 of the item's compund id."),
|
|
41
|
+
name: import_ds_props_helpers.PropTypes.string.description("Item name."),
|
|
42
|
+
isGroup: import_ds_props_helpers.PropTypes.bool.description("Whether the item is a group or not")
|
|
43
|
+
};
|
|
44
|
+
const UseArraishAsDSTreePropTypes = {
|
|
45
|
+
treeData: import_ds_props_helpers.PropTypes.shape({
|
|
46
|
+
...itemShape,
|
|
47
|
+
children_key: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.shape(itemShape)).description(
|
|
48
|
+
"Custom key of the subitems. Must start with the prefix 'children'."
|
|
49
|
+
)
|
|
50
|
+
}).description("First parameter.").isRequired,
|
|
51
|
+
opts: import_ds_props_helpers.PropTypes.shape({
|
|
52
|
+
getUniqueId: import_ds_props_helpers.PropTypes.func.signature("(node: FirstParameter) => string").description("Callback to get the id of each item.").isRequired,
|
|
53
|
+
getChildrenKey: import_ds_props_helpers.PropTypes.func.signature("(node: FirstParameter) => keyof FirstParameter").description("Callback to get the item's children key.").isRequired
|
|
54
|
+
}).description("Second parameter.").isRequired
|
|
55
|
+
};
|
|
56
|
+
const UseArraishAsDSTreeReturnType = {
|
|
57
|
+
hash: import_ds_props_helpers.PropTypes.number.description("Tree hash value."),
|
|
58
|
+
tree: import_ds_props_helpers.PropTypes.object.description("Returns the tree"),
|
|
59
|
+
getRoot: import_ds_props_helpers.PropTypes.func.signature("() => FirstParameter").description("Callback to get the root item."),
|
|
60
|
+
getNode: import_ds_props_helpers.PropTypes.func.signature("(id: string | number) => FirstParameter").description("Callback to get an item by id."),
|
|
61
|
+
walk: import_ds_props_helpers.PropTypes.func.signature("(callback: (node: FirstParameter) => boolean) => void").description("Callback applied to each item to determine whether to continue walking or not."),
|
|
62
|
+
walkParents: import_ds_props_helpers.PropTypes.func.signature("(callback: (node: FirstParameter) => boolean) => void").description("Callback applied to each item to determine whether to continue walking the item's parents or not."),
|
|
63
|
+
findNode: import_ds_props_helpers.PropTypes.func.signature("(callback: (node: FirstParameter) => boolean) => FirstParameter | null").description("Callback to find an item that matches the condition."),
|
|
64
|
+
findAllNodes: import_ds_props_helpers.PropTypes.func.signature("(callback: (node: FirstParameter) => boolean) => FirstParameter[]").description("Callback to find all the items that matches the condition."),
|
|
65
|
+
flatten: import_ds_props_helpers.PropTypes.func.signature("() => FirstParameter[]").description("Returns an array of hte tree items."),
|
|
66
|
+
addNode: import_ds_props_helpers.PropTypes.func.signature("(item: FirstParameter, options?: AddOptions<FirstParameter>) => FirstParameter").description("Adds an item to the tree."),
|
|
67
|
+
removeNode: import_ds_props_helpers.PropTypes.func.signature("(id: string, options?: RemoveOptions<FirstParameter>) => FirstParameter").description("Removes an item from the tree."),
|
|
68
|
+
moveNode: import_ds_props_helpers.PropTypes.func.signature("(id: string, options?: MoveOptions<FirstParameter>) => FirstParameter").description("Move an item within the tree."),
|
|
69
|
+
replaceNode: import_ds_props_helpers.PropTypes.func.signature("(id: string, item: FirstParameter, options?: MutateOptions<FirstParameter>").description("Replace a noe within the tree."),
|
|
70
|
+
getPath: import_ds_props_helpers.PropTypes.func.signature("(id: string | number) => FirstParameter[]").description("Get the path to an item given the item's id."),
|
|
71
|
+
getPathIds: import_ds_props_helpers.PropTypes.func.signature("(id: string | number) => (string | number)[]").description("Get the path ids to an item given the item's id."),
|
|
72
|
+
getRestoredTree: import_ds_props_helpers.PropTypes.func.signature("() => FirstParameter[]").description("Returns the restored tree.")
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=react-desc-prop-types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/adapters/arraish-tree/react-desc-prop-types.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import type { AddOptions, MoveOptions, MutateOptions, OverloadedItem, RemoveOptions } from '../../types.js';\nimport type { Node } from '../../Node.js';\nimport type { DSTree } from '../../DSTree.js';\nimport type { WeakValidationMap } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\n\nexport declare namespace UseArraishAsDSTreeT {\n // First Parameter\n export interface FirstParameterRequired {}\n export interface FirstParameterDefault {\n id: string | number;\n idPart1: string | number;\n idPart2: string | number;\n name: string;\n [children_key: `children${string}`]: FirstParameter[];\n }\n export interface FirstParameterOptional {\n isGroup?: boolean;\n }\n export interface FirstParameter\n extends Partial<FirstParameterDefault>,\n FirstParameterOptional,\n FirstParameterRequired {}\n export interface FirstParameterInternals\n extends FirstParameterDefault,\n FirstParameterOptional,\n FirstParameterRequired {}\n\n // Second Parameter\n export interface SecondParameterRequired {\n getUniqueId: (node: FirstParameter) => string;\n getChildrenKey: (node: FirstParameter) => keyof FirstParameter;\n }\n export interface SecondParameterDefault {}\n export interface SecondParameterOptional {}\n export interface SecondParameter\n extends Partial<SecondParameterDefault>,\n SecondParameterOptional,\n SecondParameterRequired {}\n export interface SecondParameterInternals\n extends SecondParameterDefault,\n SecondParameterOptional,\n SecondParameterRequired {}\n\n export interface OutputT {\n hash: number;\n tree: DSTree<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;\n getRoot: () => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;\n getNode: (id: string | number) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;\n walk: (callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean) => void;\n walkParents: (callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean) => void;\n findNode: (\n callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean,\n ) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>> | null;\n findAllNodes: (\n callback: (node: Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => boolean,\n ) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>[];\n flatten: () => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>[];\n addNode: (\n item: OverloadedItem<UseArraishAsDSTreeT.FirstParameter>,\n options?: AddOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>,\n ) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;\n removeNode: (\n id: string,\n options?: RemoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>,\n ) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;\n moveNode: (\n id: string,\n options?: MoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>,\n ) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;\n replaceNode: (\n id: string,\n item: OverloadedItem<UseArraishAsDSTreeT.FirstParameter>,\n options?: MutateOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>,\n ) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>;\n getPath: (id: string | number) => Node<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>[];\n getPathIds: (id: string | number) => (string | number)[];\n getRestoredTree: () => UseArraishAsDSTreeT.FirstParameter[];\n }\n}\n\nconst itemShape = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Id of the root item.'),\n idPart1: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description(\"Part 1 of the item's compound id.\"),\n idPart2: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description(\"Part 2 of the item's compund id.\"),\n name: PropTypes.string.description('Item name.'),\n isGroup: PropTypes.bool.description('Whether the item is a group or not'),\n};\n\nexport const UseArraishAsDSTreePropTypes = {\n treeData: PropTypes.shape({\n ...itemShape,\n children_key: PropTypes.arrayOf(PropTypes.shape(itemShape)).description(\n \"Custom key of the subitems. Must start with the prefix 'children'.\",\n ),\n }).description('First parameter.').isRequired,\n opts: PropTypes.shape({\n getUniqueId: PropTypes.func\n .signature('(node: FirstParameter) => string')\n .description('Callback to get the id of each item.').isRequired,\n getChildrenKey: PropTypes.func\n .signature('(node: FirstParameter) => keyof FirstParameter')\n .description(\"Callback to get the item's children key.\").isRequired,\n }).description('Second parameter.').isRequired,\n} as unknown as WeakValidationMap<Array<UseArraishAsDSTreeT.FirstParameter>>;\n\nexport const UseArraishAsDSTreeReturnType = {\n hash: PropTypes.number.description('Tree hash value.'),\n tree: PropTypes.object.description('Returns the tree'),\n getRoot: PropTypes.func.signature('() => FirstParameter').description('Callback to get the root item.'),\n getNode: PropTypes.func\n .signature('(id: string | number) => FirstParameter')\n .description('Callback to get an item by id.'),\n walk: PropTypes.func\n .signature('(callback: (node: FirstParameter) => boolean) => void')\n .description('Callback applied to each item to determine whether to continue walking or not.'),\n walkParents: PropTypes.func\n .signature('(callback: (node: FirstParameter) => boolean) => void')\n .description(\"Callback applied to each item to determine whether to continue walking the item's parents or not.\"),\n findNode: PropTypes.func\n .signature('(callback: (node: FirstParameter) => boolean) => FirstParameter | null')\n .description('Callback to find an item that matches the condition.'),\n findAllNodes: PropTypes.func\n .signature('(callback: (node: FirstParameter) => boolean) => FirstParameter[]')\n .description('Callback to find all the items that matches the condition.'),\n flatten: PropTypes.func.signature('() => FirstParameter[]').description('Returns an array of hte tree items.'),\n addNode: PropTypes.func\n .signature('(item: FirstParameter, options?: AddOptions<FirstParameter>) => FirstParameter')\n .description('Adds an item to the tree.'),\n removeNode: PropTypes.func\n .signature('(id: string, options?: RemoveOptions<FirstParameter>) => FirstParameter')\n .description('Removes an item from the tree.'),\n moveNode: PropTypes.func\n .signature('(id: string, options?: MoveOptions<FirstParameter>) => FirstParameter')\n .description('Move an item within the tree.'),\n replaceNode: PropTypes.func\n .signature('(id: string, item: FirstParameter, options?: MutateOptions<FirstParameter>')\n .description('Replace a noe within the tree.'),\n getPath: PropTypes.func\n .signature('(id: string | number) => FirstParameter[]')\n .description(\"Get the path to an item given the item's id.\"),\n getPathIds: PropTypes.func\n .signature('(id: string | number) => (string | number)[]')\n .description(\"Get the path ids to an item given the item's id.\"),\n getRestoredTree: PropTypes.func.signature('() => FirstParameter[]').description('Returns the restored tree.'),\n} as WeakValidationMap<unknown>;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIvB,8BAA0B;AA6E1B,MAAM,YAAY;AAAA,EAChB,IAAI,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,sBAAsB;AAAA,EAChG,SAAS,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,mCAAmC;AAAA,EAClH,SAAS,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,kCAAkC;AAAA,EACjH,MAAM,kCAAU,OAAO,YAAY,YAAY;AAAA,EAC/C,SAAS,kCAAU,KAAK,YAAY,oCAAoC;AAC1E;AAEO,MAAM,8BAA8B;AAAA,EACzC,UAAU,kCAAU,MAAM;AAAA,IACxB,GAAG;AAAA,IACH,cAAc,kCAAU,QAAQ,kCAAU,MAAM,SAAS,CAAC,EAAE;AAAA,MAC1D;AAAA,IACF;AAAA,EACF,CAAC,EAAE,YAAY,kBAAkB,EAAE;AAAA,EACnC,MAAM,kCAAU,MAAM;AAAA,IACpB,aAAa,kCAAU,KACpB,UAAU,kCAAkC,EAC5C,YAAY,sCAAsC,EAAE;AAAA,IACvD,gBAAgB,kCAAU,KACvB,UAAU,gDAAgD,EAC1D,YAAY,0CAA0C,EAAE;AAAA,EAC7D,CAAC,EAAE,YAAY,mBAAmB,EAAE;AACtC;AAEO,MAAM,+BAA+B;AAAA,EAC1C,MAAM,kCAAU,OAAO,YAAY,kBAAkB;AAAA,EACrD,MAAM,kCAAU,OAAO,YAAY,kBAAkB;AAAA,EACrD,SAAS,kCAAU,KAAK,UAAU,sBAAsB,EAAE,YAAY,gCAAgC;AAAA,EACtG,SAAS,kCAAU,KAChB,UAAU,yCAAyC,EACnD,YAAY,gCAAgC;AAAA,EAC/C,MAAM,kCAAU,KACb,UAAU,uDAAuD,EACjE,YAAY,gFAAgF;AAAA,EAC/F,aAAa,kCAAU,KACpB,UAAU,uDAAuD,EACjE,YAAY,mGAAmG;AAAA,EAClH,UAAU,kCAAU,KACjB,UAAU,wEAAwE,EAClF,YAAY,sDAAsD;AAAA,EACrE,cAAc,kCAAU,KACrB,UAAU,mEAAmE,EAC7E,YAAY,4DAA4D;AAAA,EAC3E,SAAS,kCAAU,KAAK,UAAU,wBAAwB,EAAE,YAAY,qCAAqC;AAAA,EAC7G,SAAS,kCAAU,KAChB,UAAU,gFAAgF,EAC1F,YAAY,2BAA2B;AAAA,EAC1C,YAAY,kCAAU,KACnB,UAAU,yEAAyE,EACnF,YAAY,gCAAgC;AAAA,EAC/C,UAAU,kCAAU,KACjB,UAAU,uEAAuE,EACjF,YAAY,+BAA+B;AAAA,EAC9C,aAAa,kCAAU,KACpB,UAAU,4EAA4E,EACtF,YAAY,gCAAgC;AAAA,EAC/C,SAAS,kCAAU,KAChB,UAAU,2CAA2C,EACrD,YAAY,8CAA8C;AAAA,EAC7D,YAAY,kCAAU,KACnB,UAAU,8CAA8C,EACxD,YAAY,kDAAkD;AAAA,EACjE,iBAAiB,kCAAU,KAAK,UAAU,wBAAwB,EAAE,YAAY,4BAA4B;AAC9G;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -28,6 +28,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
var useArraishAsDSTree_exports = {};
|
|
30
30
|
__export(useArraishAsDSTree_exports, {
|
|
31
|
+
UseArraishAsDSTreeWithSchema: () => UseArraishAsDSTreeWithSchema,
|
|
31
32
|
useArraishAsDSTree: () => useArraishAsDSTree
|
|
32
33
|
});
|
|
33
34
|
module.exports = __toCommonJS(useArraishAsDSTree_exports);
|
|
@@ -35,6 +36,8 @@ var React = __toESM(require("react"));
|
|
|
35
36
|
var import_react = require("react");
|
|
36
37
|
var import_fromDSTreeToTreeishArray = require("./fromDSTreeToTreeishArray.js");
|
|
37
38
|
var import_fromTreeishArrayToDSTree = require("./fromTreeishArrayToDSTree.js");
|
|
39
|
+
var import_react_desc_prop_types = require("./react-desc-prop-types.js");
|
|
40
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
38
41
|
const useArraishAsDSTree = (treeData, opts) => {
|
|
39
42
|
const tree = (0, import_react.useMemo)(
|
|
40
43
|
() => (0, import_fromTreeishArrayToDSTree.fromTreeishArrayToDSTree)({
|
|
@@ -113,4 +116,8 @@ const useArraishAsDSTree = (treeData, opts) => {
|
|
|
113
116
|
[addNode, getRestoredTree, hash, moveNode, removeNode, replaceNode, tree]
|
|
114
117
|
);
|
|
115
118
|
};
|
|
119
|
+
useArraishAsDSTree.displayName = "useArraishAsDSTree";
|
|
120
|
+
const UseArraishAsDSTreeWithSchema = (0, import_ds_props_helpers.describe)(useArraishAsDSTree);
|
|
121
|
+
UseArraishAsDSTreeWithSchema.propTypes = import_react_desc_prop_types.UseArraishAsDSTreePropTypes;
|
|
122
|
+
UseArraishAsDSTreeWithSchema.returnType = import_react_desc_prop_types.UseArraishAsDSTreeReturnType;
|
|
116
123
|
//# sourceMappingURL=useArraishAsDSTree.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/adapters/arraish-tree/useArraishAsDSTree.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { useCallback, useMemo, useState } from 'react';\nimport { fromDSTreeToTreeishArray } from './fromDSTreeToTreeishArray.js';\nimport { fromTreeishArrayToDSTree } from './fromTreeishArrayToDSTree.js';\nimport type { AddOptions, MoveOptions, MutateOptions, RemoveOptions, OverloadedItem } from '../../types.js';\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA+C;AAC/C,sCAAyC;AACzC,sCAAyC;
|
|
4
|
+
"sourcesContent": ["import { useCallback, useMemo, useState } from 'react';\nimport { fromDSTreeToTreeishArray } from './fromDSTreeToTreeishArray.js';\nimport { fromTreeishArrayToDSTree } from './fromTreeishArrayToDSTree.js';\nimport type { AddOptions, MoveOptions, MutateOptions, RemoveOptions, OverloadedItem } from '../../types.js';\nimport {\n UseArraishAsDSTreePropTypes,\n UseArraishAsDSTreeReturnType,\n type UseArraishAsDSTreeT,\n} from './react-desc-prop-types.js';\nimport { describe } from '@elliemae/ds-props-helpers';\n\nexport const useArraishAsDSTree: ((\n treeData: UseArraishAsDSTreeT.FirstParameter[],\n opts: UseArraishAsDSTreeT.SecondParameter,\n) => UseArraishAsDSTreeT.OutputT) & { displayName: string } = (treeData, opts) => {\n const tree = useMemo(\n () =>\n fromTreeishArrayToDSTree<UseArraishAsDSTreeT.FirstParameter>({\n treeish: treeData,\n opts,\n }),\n [opts, treeData],\n );\n const [hash, setHash] = useState(tree.hash);\n\n const addNode = useCallback(\n (\n item: OverloadedItem<UseArraishAsDSTreeT.FirstParameter>,\n options?: AddOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>,\n ) => {\n const cb: AddOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.addNode(item, { ...options, callback: cb });\n },\n [tree],\n );\n\n const removeNode = useCallback(\n (id: string, options?: RemoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => {\n const cb: RemoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.removeNode(id, { ...options, callback: cb });\n },\n [tree],\n );\n\n const moveNode = useCallback(\n (id: string, options?: MoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>) => {\n const cb: MoveOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.moveNode(id, { ...options, callback: cb });\n },\n [tree],\n );\n\n const replaceNode = useCallback(\n (\n id: string,\n item: OverloadedItem<UseArraishAsDSTreeT.FirstParameter>,\n options?: MutateOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>,\n ) => {\n const cb: MutateOptions<OverloadedItem<UseArraishAsDSTreeT.FirstParameter>>['callback'] = (node, treecb) => {\n options?.callback?.(node, treecb);\n setHash(treecb.hash);\n };\n return tree.replaceNode(id, item, { ...options, callback: cb });\n },\n [tree],\n );\n\n const getRestoredTree = useCallback(\n () =>\n fromDSTreeToTreeishArray({\n tree,\n opts,\n }),\n [opts, tree],\n );\n\n return useMemo(\n () => ({\n hash,\n tree,\n getRoot: tree.getRoot,\n getNode: tree.getNode,\n walk: tree.walk,\n walkParents: tree.walkParents,\n findNode: tree.findNode,\n findAllNodes: tree.findAllNodes,\n flatten: tree.flatten,\n addNode,\n removeNode,\n moveNode,\n replaceNode,\n getPath: tree.getPath,\n getPathIds: tree.getPathIds,\n getRestoredTree,\n }),\n [addNode, getRestoredTree, hash, moveNode, removeNode, replaceNode, tree],\n );\n};\n\nuseArraishAsDSTree.displayName = 'useArraishAsDSTree';\nexport const UseArraishAsDSTreeWithSchema = describe(useArraishAsDSTree);\nUseArraishAsDSTreeWithSchema.propTypes = UseArraishAsDSTreePropTypes;\nUseArraishAsDSTreeWithSchema.returnType = UseArraishAsDSTreeReturnType;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA+C;AAC/C,sCAAyC;AACzC,sCAAyC;AAEzC,mCAIO;AACP,8BAAyB;AAElB,MAAM,qBAGiD,CAAC,UAAU,SAAS;AAChF,QAAM,WAAO;AAAA,IACX,UACE,0DAA6D;AAAA,MAC3D,SAAS;AAAA,MACT;AAAA,IACF,CAAC;AAAA,IACH,CAAC,MAAM,QAAQ;AAAA,EACjB;AACA,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,KAAK,IAAI;AAE1C,QAAM,cAAU;AAAA,IACd,CACE,MACA,YACG;AACH,YAAM,KAAiF,CAAC,MAAM,WAAW;AACvG,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,QAAQ,MAAM,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACxD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,iBAAa;AAAA,IACjB,CAAC,IAAY,YAAgF;AAC3F,YAAM,KAAoF,CAAC,MAAM,WAAW;AAC1G,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,WAAW,IAAI,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACzD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,eAAW;AAAA,IACf,CAAC,IAAY,YAA8E;AACzF,YAAM,KAAkF,CAAC,MAAM,WAAW;AACxG,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,SAAS,IAAI,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IACvD;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,kBAAc;AAAA,IAClB,CACE,IACA,MACA,YACG;AACH,YAAM,KAAoF,CAAC,MAAM,WAAW;AAC1G,iBAAS,WAAW,MAAM,MAAM;AAChC,gBAAQ,OAAO,IAAI;AAAA,MACrB;AACA,aAAO,KAAK,YAAY,IAAI,MAAM,EAAE,GAAG,SAAS,UAAU,GAAG,CAAC;AAAA,IAChE;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,QAAM,sBAAkB;AAAA,IACtB,UACE,0DAAyB;AAAA,MACvB;AAAA,MACA;AAAA,IACF,CAAC;AAAA,IACH,CAAC,MAAM,IAAI;AAAA,EACb;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,UAAU,KAAK;AAAA,MACf,cAAc,KAAK;AAAA,MACnB,SAAS,KAAK;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK;AAAA,MACd,YAAY,KAAK;AAAA,MACjB;AAAA,IACF;AAAA,IACA,CAAC,SAAS,iBAAiB,MAAM,UAAU,YAAY,aAAa,IAAI;AAAA,EAC1E;AACF;AAEA,mBAAmB,cAAc;AAC1B,MAAM,mCAA+B,kCAAS,kBAAkB;AACvE,6BAA6B,YAAY;AACzC,6BAA6B,aAAa;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/adapters/treeview/useTreeviewAsDSTree.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { useMemo } from 'react';\nimport { useArraishAsDSTree } from '../arraish-tree/useArraishAsDSTree.js';\n\ntype TreeviewItem<T extends object = object> = T & {\n id: string | number;\n children?: TreeviewItem[];\n};\n\nexport const useTreeviewAsDSTree =
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AACxB,gCAAmC;
|
|
4
|
+
"sourcesContent": ["import { useMemo } from 'react';\nimport { useArraishAsDSTree } from '../arraish-tree/useArraishAsDSTree.js';\nimport type { UseArraishAsDSTreeT } from '../arraish-tree/react-desc-prop-types.js';\n\ntype TreeviewItem<T extends object = object> = T & {\n id: string | number;\n children?: TreeviewItem[];\n};\n\nexport const useTreeviewAsDSTree = <\n T extends TreeviewItem<UseArraishAsDSTreeT.FirstParameter> = TreeviewItem<UseArraishAsDSTreeT.FirstParameter>,\n>(\n treeData: T[],\n) => {\n const opts = useMemo(\n () => ({\n getChildrenKey: () => 'children',\n getUniqueId: (node: UseArraishAsDSTreeT.FirstParameter) => `${node.id}`,\n }),\n [],\n );\n return useArraishAsDSTree(treeData, opts);\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AACxB,gCAAmC;AAQ5B,MAAM,sBAAsB,CAGjC,aACG;AACH,QAAM,WAAO;AAAA,IACX,OAAO;AAAA,MACL,gBAAgB,MAAM;AAAA,MACtB,aAAa,CAAC,SAA6C,GAAG,KAAK;AAAA,IACrE;AAAA,IACA,CAAC;AAAA,EACH;AACA,aAAO,8CAAmB,UAAU,IAAI;AAC1C;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -29,6 +29,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
29
29
|
var src_exports = {};
|
|
30
30
|
__export(src_exports, {
|
|
31
31
|
DSTree: () => import_DSTree.DSTree,
|
|
32
|
+
UseArraishAsDSTreeWithSchema: () => import_useArraishAsDSTree.UseArraishAsDSTreeWithSchema,
|
|
33
|
+
UseDSTreeWithSchema: () => import_useDSTree.UseDSTreeWithSchema,
|
|
32
34
|
fromDSTreeToTreeishArray: () => import_fromDSTreeToTreeishArray.fromDSTreeToTreeishArray,
|
|
33
35
|
fromTreeishArrayToDSTree: () => import_fromTreeishArrayToDSTree.fromTreeishArrayToDSTree,
|
|
34
36
|
useArraishAsDSTree: () => import_useArraishAsDSTree.useArraishAsDSTree,
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export type { Item } from './types.js';\nexport type { Node } from './Node.js';\nexport { DSTree } from './DSTree.js';\nexport { useDSTree } from './useDSTree.js';\nexport { fromTreeishArrayToDSTree } from './adapters/arraish-tree/fromTreeishArrayToDSTree.js';\nexport { fromDSTreeToTreeishArray } from './adapters/arraish-tree/fromDSTreeToTreeishArray.js';\nexport { useArraishAsDSTree } from './adapters/arraish-tree/useArraishAsDSTree.js';\nexport { useTreeviewAsDSTree } from './adapters/treeview/useTreeviewAsDSTree.js';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,oBAAuB;AACvB,
|
|
4
|
+
"sourcesContent": ["export type { Item } from './types.js';\nexport type { Node } from './Node.js';\nexport { DSTree } from './DSTree.js';\nexport { useDSTree, UseDSTreeWithSchema } from './useDSTree.js';\nexport type { UseDSTreeT } from './react-desc-prop-types.js';\nexport { fromTreeishArrayToDSTree } from './adapters/arraish-tree/fromTreeishArrayToDSTree.js';\nexport { fromDSTreeToTreeishArray } from './adapters/arraish-tree/fromDSTreeToTreeishArray.js';\nexport { useArraishAsDSTree, UseArraishAsDSTreeWithSchema } from './adapters/arraish-tree/useArraishAsDSTree.js';\nexport type { UseArraishAsDSTreeT } from './adapters/arraish-tree/react-desc-prop-types.js';\nexport { useTreeviewAsDSTree } from './adapters/treeview/useTreeviewAsDSTree.js';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,oBAAuB;AACvB,uBAA+C;AAE/C,sCAAyC;AACzC,sCAAyC;AACzC,gCAAiE;AAEjE,iCAAoC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var react_desc_prop_types_exports = {};
|
|
30
|
+
__export(react_desc_prop_types_exports, {
|
|
31
|
+
UseDSTreePropTypes: () => UseDSTreePropTypes,
|
|
32
|
+
UseDSTreeReturnType: () => UseDSTreeReturnType
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(react_desc_prop_types_exports);
|
|
35
|
+
var React = __toESM(require("react"));
|
|
36
|
+
var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
|
|
37
|
+
const itemShape = {
|
|
38
|
+
dsId: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.string, import_ds_props_helpers.PropTypes.number]).description("Id of the root item."),
|
|
39
|
+
label: import_ds_props_helpers.PropTypes.string.description("Item label."),
|
|
40
|
+
"[key]": import_ds_props_helpers.PropTypes.string.description("Any custom key you want to add to the item.")
|
|
41
|
+
};
|
|
42
|
+
const UseDSTreePropTypes = {
|
|
43
|
+
rootItem: import_ds_props_helpers.PropTypes.shape({
|
|
44
|
+
...itemShape,
|
|
45
|
+
subitems: import_ds_props_helpers.PropTypes.arrayOf(import_ds_props_helpers.PropTypes.shape(itemShape)).description(
|
|
46
|
+
"Array of subitems. Each subitem can also have subitems."
|
|
47
|
+
)
|
|
48
|
+
}).description("First parameter.").isRequired,
|
|
49
|
+
opts: import_ds_props_helpers.PropTypes.shape({
|
|
50
|
+
getUniqueId: import_ds_props_helpers.PropTypes.func.signature("(item) => string | number").description("Callback to get the id of each item.").isRequired
|
|
51
|
+
}).description("Second parameter.").isRequired
|
|
52
|
+
};
|
|
53
|
+
const UseDSTreeReturnType = {
|
|
54
|
+
hash: import_ds_props_helpers.PropTypes.number.description("Tree hash value."),
|
|
55
|
+
getRoot: import_ds_props_helpers.PropTypes.func.signature("() => rootItem").description("Callback to get the root item."),
|
|
56
|
+
getNode: import_ds_props_helpers.PropTypes.func.signature("(id: string | number) => item").description("Callback to get an item by id."),
|
|
57
|
+
walk: import_ds_props_helpers.PropTypes.func.signature("(callback: (item: FirstParameter) => boolean) => void").description("Callback applied to each item to determine whether to continue walking or not."),
|
|
58
|
+
walkParents: import_ds_props_helpers.PropTypes.func.signature("(callback: (item: FirstParameter) => boolean) => void").description("Callback applied to each item to determine whether to continue walking the item's parents or not."),
|
|
59
|
+
findNode: import_ds_props_helpers.PropTypes.func.signature("(callback: (item: FirstParameter) => boolean) => FirstParameter | null").description("Callback to find an item that matches the condition."),
|
|
60
|
+
findAllNodes: import_ds_props_helpers.PropTypes.func.signature("(callback: (item: FirstParameter) => boolean) => FirstParameter[]").description("Callback to find all the items that matches the condition."),
|
|
61
|
+
flatten: import_ds_props_helpers.PropTypes.func.signature("() => item[]").description("Returns an array of hte tree items."),
|
|
62
|
+
addNode: import_ds_props_helpers.PropTypes.func.signature("(item: FirstParameter, options?: AddOptions<FirstParameter> | undefined) => FirstParameter").description("Adds an item to the tree."),
|
|
63
|
+
removeNode: import_ds_props_helpers.PropTypes.func.signature("(id: string, options?: RemoveOptions<FirstParameter> | undefined) => FirstParameter").description("Removes an item from the tree."),
|
|
64
|
+
moveNode: import_ds_props_helpers.PropTypes.func.signature("(id: string, options?: MoveOptions<FirstParameter> | undefined) => FirstParameter").description("Move an item within the tree."),
|
|
65
|
+
replaceNode: import_ds_props_helpers.PropTypes.func.signature(
|
|
66
|
+
"id: string, item: FirstParameter, options?: MutateOptions<FirstParameter> | undefined) => FirstParameter"
|
|
67
|
+
).description("Replace a noe within the tree."),
|
|
68
|
+
getPath: import_ds_props_helpers.PropTypes.func.signature("(id: string | number) => FirstParameter[]").description("Get the path to an item given the item's id."),
|
|
69
|
+
getPathIds: import_ds_props_helpers.PropTypes.func.signature("(id: string | number) => (string | number)[]").description("Get the path ids to an item given the item's id.")
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=react-desc-prop-types.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/react-desc-prop-types.ts", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import type { AddOptions, MoveOptions, MutateOptions, RemoveOptions } from './types.js';\nimport type { Node } from './Node.js';\nimport type { WeakValidationMap } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\n\nexport declare namespace UseDSTreeT {\n // First Parameter\n export interface FirstParameterRequired {\n dsId: string | number;\n }\n export interface FirstParameterDefault {\n label: string;\n [key: string]: unknown;\n }\n export interface FirstParameterOptional {\n subitems?: FirstParameter[];\n }\n export interface FirstParameter\n extends Partial<FirstParameterDefault>,\n FirstParameterOptional,\n FirstParameterRequired {}\n export interface FirstParameterInternals\n extends FirstParameterDefault,\n FirstParameterOptional,\n FirstParameterRequired {}\n\n // Second Parameter\n export interface SecondParameterRequired {\n getUniqueId: (item: FirstParameter) => string | number;\n }\n export interface SecondParameterDefault {}\n export interface SecondParameterOptional {}\n export interface SecondParameter\n extends Partial<SecondParameterDefault>,\n SecondParameterOptional,\n SecondParameterRequired {}\n export interface SecondParameterInternals\n extends SecondParameterDefault,\n SecondParameterOptional,\n SecondParameterRequired {}\n\n export interface OutputT {\n hash: number;\n getRoot: () => Node<FirstParameter>;\n getNode: (id: string | number) => Node<FirstParameter>;\n walk: (callback: (node: Node<FirstParameter>) => boolean) => void;\n walkParents: (callback: (node: Node<FirstParameter>) => boolean) => void;\n findNode: (callback: (node: Node<FirstParameter>) => boolean) => Node<FirstParameter> | null;\n findAllNodes: (callback: (node: Node<FirstParameter>) => boolean) => Node<FirstParameter>[];\n flatten: () => Node<FirstParameter>[];\n addNode: (item: FirstParameter, options?: AddOptions<FirstParameter> | undefined) => Node<FirstParameter>;\n removeNode: (id: string, options?: RemoveOptions<FirstParameter> | undefined) => Node<FirstParameter>;\n moveNode: (id: string, options?: MoveOptions<FirstParameter> | undefined) => Node<FirstParameter>;\n replaceNode: (\n id: string,\n item: FirstParameter,\n options?: MutateOptions<FirstParameter> | undefined,\n ) => Node<FirstParameter>;\n getPath: (id: string | number) => Node<FirstParameter>[];\n getPathIds: (id: string | number) => (string | number)[];\n }\n}\n\nconst itemShape = {\n dsId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Id of the root item.'),\n label: PropTypes.string.description('Item label.'),\n '[key]': PropTypes.string.description('Any custom key you want to add to the item.'),\n};\n\nexport const UseDSTreePropTypes = {\n rootItem: PropTypes.shape({\n ...itemShape,\n subitems: PropTypes.arrayOf(PropTypes.shape(itemShape)).description(\n 'Array of subitems. Each subitem can also have subitems.',\n ),\n }).description('First parameter.').isRequired,\n opts: PropTypes.shape({\n getUniqueId: PropTypes.func\n .signature('(item) => string | number')\n .description('Callback to get the id of each item.').isRequired,\n }).description('Second parameter.').isRequired,\n} as WeakValidationMap<unknown>;\n\nexport const UseDSTreeReturnType = {\n hash: PropTypes.number.description('Tree hash value.'),\n getRoot: PropTypes.func.signature('() => rootItem').description('Callback to get the root item.'),\n getNode: PropTypes.func.signature('(id: string | number) => item').description('Callback to get an item by id.'),\n walk: PropTypes.func\n .signature('(callback: (item: FirstParameter) => boolean) => void')\n .description('Callback applied to each item to determine whether to continue walking or not.'),\n walkParents: PropTypes.func\n .signature('(callback: (item: FirstParameter) => boolean) => void')\n .description(\"Callback applied to each item to determine whether to continue walking the item's parents or not.\"),\n findNode: PropTypes.func\n .signature('(callback: (item: FirstParameter) => boolean) => FirstParameter | null')\n .description('Callback to find an item that matches the condition.'),\n findAllNodes: PropTypes.func\n .signature('(callback: (item: FirstParameter) => boolean) => FirstParameter[]')\n .description('Callback to find all the items that matches the condition.'),\n flatten: PropTypes.func.signature('() => item[]').description('Returns an array of hte tree items.'),\n addNode: PropTypes.func\n .signature('(item: FirstParameter, options?: AddOptions<FirstParameter> | undefined) => FirstParameter')\n .description('Adds an item to the tree.'),\n removeNode: PropTypes.func\n .signature('(id: string, options?: RemoveOptions<FirstParameter> | undefined) => FirstParameter')\n .description('Removes an item from the tree.'),\n moveNode: PropTypes.func\n .signature('(id: string, options?: MoveOptions<FirstParameter> | undefined) => FirstParameter')\n .description('Move an item within the tree.'),\n replaceNode: PropTypes.func\n .signature(\n 'id: string, item: FirstParameter, options?: MutateOptions<FirstParameter> | undefined) => FirstParameter',\n )\n .description('Replace a noe within the tree.'),\n getPath: PropTypes.func\n .signature('(id: string | number) => FirstParameter[]')\n .description(\"Get the path to an item given the item's id.\"),\n getPathIds: PropTypes.func\n .signature('(id: string | number) => (string | number)[]')\n .description(\"Get the path ids to an item given the item's id.\"),\n} as WeakValidationMap<unknown>;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGvB,8BAA0B;AA4D1B,MAAM,YAAY;AAAA,EAChB,MAAM,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAAE,YAAY,sBAAsB;AAAA,EAClG,OAAO,kCAAU,OAAO,YAAY,aAAa;AAAA,EACjD,SAAS,kCAAU,OAAO,YAAY,6CAA6C;AACrF;AAEO,MAAM,qBAAqB;AAAA,EAChC,UAAU,kCAAU,MAAM;AAAA,IACxB,GAAG;AAAA,IACH,UAAU,kCAAU,QAAQ,kCAAU,MAAM,SAAS,CAAC,EAAE;AAAA,MACtD;AAAA,IACF;AAAA,EACF,CAAC,EAAE,YAAY,kBAAkB,EAAE;AAAA,EACnC,MAAM,kCAAU,MAAM;AAAA,IACpB,aAAa,kCAAU,KACpB,UAAU,2BAA2B,EACrC,YAAY,sCAAsC,EAAE;AAAA,EACzD,CAAC,EAAE,YAAY,mBAAmB,EAAE;AACtC;AAEO,MAAM,sBAAsB;AAAA,EACjC,MAAM,kCAAU,OAAO,YAAY,kBAAkB;AAAA,EACrD,SAAS,kCAAU,KAAK,UAAU,gBAAgB,EAAE,YAAY,gCAAgC;AAAA,EAChG,SAAS,kCAAU,KAAK,UAAU,+BAA+B,EAAE,YAAY,gCAAgC;AAAA,EAC/G,MAAM,kCAAU,KACb,UAAU,uDAAuD,EACjE,YAAY,gFAAgF;AAAA,EAC/F,aAAa,kCAAU,KACpB,UAAU,uDAAuD,EACjE,YAAY,mGAAmG;AAAA,EAClH,UAAU,kCAAU,KACjB,UAAU,wEAAwE,EAClF,YAAY,sDAAsD;AAAA,EACrE,cAAc,kCAAU,KACrB,UAAU,mEAAmE,EAC7E,YAAY,4DAA4D;AAAA,EAC3E,SAAS,kCAAU,KAAK,UAAU,cAAc,EAAE,YAAY,qCAAqC;AAAA,EACnG,SAAS,kCAAU,KAChB,UAAU,4FAA4F,EACtG,YAAY,2BAA2B;AAAA,EAC1C,YAAY,kCAAU,KACnB,UAAU,qFAAqF,EAC/F,YAAY,gCAAgC;AAAA,EAC/C,UAAU,kCAAU,KACjB,UAAU,mFAAmF,EAC7F,YAAY,+BAA+B;AAAA,EAC9C,aAAa,kCAAU,KACpB;AAAA,IACC;AAAA,EACF,EACC,YAAY,gCAAgC;AAAA,EAC/C,SAAS,kCAAU,KAChB,UAAU,2CAA2C,EACrD,YAAY,8CAA8C;AAAA,EAC7D,YAAY,kCAAU,KACnB,UAAU,8CAA8C,EACxD,YAAY,kDAAkD;AACnE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var React = __toESM(require("react"));
|
|
25
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
|
+
var import_useArraishAsDSTree = require("../adapters/arraish-tree/useArraishAsDSTree.js");
|
|
27
|
+
const testRequiredPropsFirstParameter = {};
|
|
28
|
+
const testRequiredPropsSecondParameter = {
|
|
29
|
+
getUniqueId: (item) => item.id,
|
|
30
|
+
getChildrenKey: (item) => `children${item.id}`
|
|
31
|
+
};
|
|
32
|
+
const testOptionalPropsFirstParameter = {
|
|
33
|
+
isGroup: true
|
|
34
|
+
};
|
|
35
|
+
const testOptionalPropsSecondParameter = {};
|
|
36
|
+
const testPartialDefaultsFirstParameter = {
|
|
37
|
+
idPart1: "aa",
|
|
38
|
+
idPart2: "bb"
|
|
39
|
+
};
|
|
40
|
+
const testPropsFirstParameter = {
|
|
41
|
+
...testRequiredPropsFirstParameter,
|
|
42
|
+
...testOptionalPropsFirstParameter,
|
|
43
|
+
...testPartialDefaultsFirstParameter
|
|
44
|
+
};
|
|
45
|
+
const testPropsAsSyntaxFirstParameter = {
|
|
46
|
+
...testRequiredPropsFirstParameter,
|
|
47
|
+
...testOptionalPropsFirstParameter,
|
|
48
|
+
...testPartialDefaultsFirstParameter
|
|
49
|
+
};
|
|
50
|
+
const testPartialDefaultsSecondParameter = {};
|
|
51
|
+
const testPropsSecondParameter = {
|
|
52
|
+
...testRequiredPropsSecondParameter,
|
|
53
|
+
...testOptionalPropsSecondParameter,
|
|
54
|
+
...testPartialDefaultsSecondParameter
|
|
55
|
+
};
|
|
56
|
+
const testPropsAsSyntaxSecondParameter = {
|
|
57
|
+
...testRequiredPropsSecondParameter,
|
|
58
|
+
...testOptionalPropsSecondParameter,
|
|
59
|
+
...testPartialDefaultsSecondParameter
|
|
60
|
+
};
|
|
61
|
+
const testCompleteDefaultsFirstParameter = {
|
|
62
|
+
id: "root",
|
|
63
|
+
idPart1: "root_1",
|
|
64
|
+
idPart2: "root_2",
|
|
65
|
+
name: ""
|
|
66
|
+
};
|
|
67
|
+
const testInternalPropsFirstParameter = {
|
|
68
|
+
...testRequiredPropsFirstParameter,
|
|
69
|
+
...testOptionalPropsFirstParameter,
|
|
70
|
+
...testCompleteDefaultsFirstParameter
|
|
71
|
+
};
|
|
72
|
+
const testInternalPropsAsSyntaxFirstParameter = {
|
|
73
|
+
...testRequiredPropsFirstParameter,
|
|
74
|
+
...testOptionalPropsFirstParameter,
|
|
75
|
+
...testCompleteDefaultsFirstParameter
|
|
76
|
+
};
|
|
77
|
+
const testCompleteDefaultsSecondParameter = {};
|
|
78
|
+
const testInternalPropsSecondParameter = {
|
|
79
|
+
...testRequiredPropsSecondParameter,
|
|
80
|
+
...testOptionalPropsSecondParameter,
|
|
81
|
+
...testCompleteDefaultsSecondParameter
|
|
82
|
+
};
|
|
83
|
+
const testInternalPropsAsSyntaxSecondParameter = {
|
|
84
|
+
...testRequiredPropsSecondParameter,
|
|
85
|
+
...testOptionalPropsSecondParameter,
|
|
86
|
+
...testCompleteDefaultsSecondParameter
|
|
87
|
+
};
|
|
88
|
+
const testExplicitDefinitionFirstParameter = {
|
|
89
|
+
id: "root",
|
|
90
|
+
idPart1: "root_1",
|
|
91
|
+
idPart2: "root_2",
|
|
92
|
+
name: "",
|
|
93
|
+
isGroup: false
|
|
94
|
+
};
|
|
95
|
+
const testExplicitDefinitionSecondParameter = {
|
|
96
|
+
getUniqueId: (item) => item.id,
|
|
97
|
+
getChildrenKey: (item) => `children${item.id}`
|
|
98
|
+
};
|
|
99
|
+
const testInferedTypeCompatibilityFirstParameter = {
|
|
100
|
+
id: "root",
|
|
101
|
+
idPart1: "root_1",
|
|
102
|
+
idPart2: "root_2",
|
|
103
|
+
name: "",
|
|
104
|
+
isGroup: false
|
|
105
|
+
};
|
|
106
|
+
const testInferedTypeCompatibilitySecondParameter = {
|
|
107
|
+
getUniqueId: (item) => item.id,
|
|
108
|
+
getChildrenKey: (item) => `children${item.id}`
|
|
109
|
+
};
|
|
110
|
+
const testDefinitionAsConstFirstParameter = {
|
|
111
|
+
id: "root",
|
|
112
|
+
idPart1: "root_1",
|
|
113
|
+
idPart2: "root_2",
|
|
114
|
+
name: "",
|
|
115
|
+
isGroup: false
|
|
116
|
+
};
|
|
117
|
+
const testDefinitionAsConstSecondParameter = {
|
|
118
|
+
getUniqueId: (item) => item.id,
|
|
119
|
+
getChildrenKey: (item) => `children${item.id}`
|
|
120
|
+
};
|
|
121
|
+
const ExampleUsageComponent = () => {
|
|
122
|
+
const {
|
|
123
|
+
addNode,
|
|
124
|
+
findAllNodes,
|
|
125
|
+
findNode,
|
|
126
|
+
flatten,
|
|
127
|
+
getNode,
|
|
128
|
+
getPath,
|
|
129
|
+
getPathIds,
|
|
130
|
+
getRoot,
|
|
131
|
+
hash,
|
|
132
|
+
moveNode,
|
|
133
|
+
removeNode,
|
|
134
|
+
replaceNode,
|
|
135
|
+
walk,
|
|
136
|
+
walkParents
|
|
137
|
+
} = (0, import_useArraishAsDSTree.useArraishAsDSTree)([testExplicitDefinitionFirstParameter], testExplicitDefinitionSecondParameter);
|
|
138
|
+
const output2 = (0, import_useArraishAsDSTree.useArraishAsDSTree)(
|
|
139
|
+
[testInferedTypeCompatibilityFirstParameter],
|
|
140
|
+
testInferedTypeCompatibilitySecondParameter
|
|
141
|
+
);
|
|
142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {});
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=typescript-use-arraish-as-ds-tree-valid.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/typescript-testing/typescript-use-arraish-as-ds-tree-valid.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport { useArraishAsDSTree } from '../adapters/arraish-tree/useArraishAsDSTree.js';\nimport type { UseArraishAsDSTreeT } from '../adapters/arraish-tree/react-desc-prop-types.js';\n\n// test we expose the namespace and the namespace follows our deliverable conventions\ntype FirstParameterForApp = UseArraishAsDSTreeT.FirstParameter;\ntype FirstParameterInternals = UseArraishAsDSTreeT.FirstParameterInternals;\ntype FirstParameterDefaultProps = UseArraishAsDSTreeT.FirstParameterDefault;\ntype FirstParameterOptionalProps = UseArraishAsDSTreeT.FirstParameterOptional;\ntype FirstParameterRequiredProps = UseArraishAsDSTreeT.FirstParameterRequired;\n\ntype SecondParameterForApp = UseArraishAsDSTreeT.SecondParameter;\ntype SecondParameterInternals = UseArraishAsDSTreeT.SecondParameterInternals;\ntype SecondParameterDefaultProps = UseArraishAsDSTreeT.SecondParameterDefault;\ntype SecondParameterOptionalProps = UseArraishAsDSTreeT.SecondParameterOptional;\ntype SecondParameterRequiredProps = UseArraishAsDSTreeT.SecondParameterRequired;\n\nconst testRequiredPropsFirstParameter: FirstParameterRequiredProps = {};\n\nconst testRequiredPropsSecondParameter: SecondParameterRequiredProps = {\n getUniqueId: (item) => item.id as string,\n getChildrenKey: (item) => `children${item.id}`,\n};\n\nconst testOptionalPropsFirstParameter: FirstParameterOptionalProps = {\n isGroup: true,\n};\n\nconst testOptionalPropsSecondParameter: SecondParameterOptionalProps = {};\n\n// difference Props and InternalProps is that InternalProps has all the default props filled in\n// Props allows for partial defaults\nconst testPartialDefaultsFirstParameter: Partial<FirstParameterDefaultProps> = {\n idPart1: 'aa',\n idPart2: 'bb',\n};\n\nconst testPropsFirstParameter: FirstParameterForApp = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testPartialDefaultsFirstParameter,\n};\n\nconst testPropsAsSyntaxFirstParameter = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testPartialDefaultsFirstParameter,\n} as FirstParameterForApp;\n\nconst testPartialDefaultsSecondParameter: Partial<SecondParameterDefaultProps> = {};\n\nconst testPropsSecondParameter: SecondParameterForApp = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testPartialDefaultsSecondParameter,\n};\n\nconst testPropsAsSyntaxSecondParameter = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testPartialDefaultsSecondParameter,\n} as SecondParameterForApp;\n\n// InternalProps requires all defaults to be filled in\nconst testCompleteDefaultsFirstParameter: Required<FirstParameterDefaultProps> = {\n id: 'root',\n idPart1: 'root_1',\n idPart2: 'root_2',\n name: '',\n};\n\nconst testInternalPropsFirstParameter: FirstParameterInternals = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testCompleteDefaultsFirstParameter,\n};\n\nconst testInternalPropsAsSyntaxFirstParameter = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testCompleteDefaultsFirstParameter,\n} as FirstParameterInternals;\n\nconst testCompleteDefaultsSecondParameter: Required<SecondParameterDefaultProps> = {};\n\nconst testInternalPropsSecondParameter: SecondParameterInternals = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testCompleteDefaultsSecondParameter,\n};\n\nconst testInternalPropsAsSyntaxSecondParameter = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testCompleteDefaultsSecondParameter,\n} as SecondParameterInternals;\n\n// using the explicit type definition, if there is an error, it will be marked on the key that is wrong\nconst testExplicitDefinitionFirstParameter: FirstParameterForApp = {\n id: 'root',\n idPart1: 'root_1',\n idPart2: 'root_2',\n name: '',\n isGroup: false,\n};\n\nconst testExplicitDefinitionSecondParameter: SecondParameterForApp = {\n getUniqueId: (item) => item.id as string,\n getChildrenKey: (item) => `children${item.id}`,\n};\n\n// using the \"as\" syntax, if there is an error, it will be marking the whole object as wrong because it is not compatible with the type\nconst testInferedTypeCompatibilityFirstParameter = {\n id: 'root',\n idPart1: 'root_1',\n idPart2: 'root_2',\n name: '',\n isGroup: false,\n} as FirstParameterForApp;\n\nconst testInferedTypeCompatibilitySecondParameter = {\n getUniqueId: (item) => item.id as string,\n getChildrenKey: (item) => `children${item.id}`,\n} as SecondParameterForApp;\n\nconst testDefinitionAsConstFirstParameter = {\n id: 'root',\n idPart1: 'root_1',\n idPart2: 'root_2',\n name: '',\n isGroup: false,\n} as const;\n\nconst testDefinitionAsConstSecondParameter = {\n getUniqueId: (item: UseArraishAsDSTreeT.FirstParameter) => item.id as string,\n getChildrenKey: (item: UseArraishAsDSTreeT.FirstParameter) => `children${item.id}`,\n} as const;\n\nconst ExampleUsageComponent = () => {\n const {\n addNode,\n findAllNodes,\n findNode,\n flatten,\n getNode,\n getPath,\n getPathIds,\n getRoot,\n hash,\n moveNode,\n removeNode,\n replaceNode,\n walk,\n walkParents,\n } = useArraishAsDSTree([testExplicitDefinitionFirstParameter], testExplicitDefinitionSecondParameter);\n\n const output2 = useArraishAsDSTree(\n [testInferedTypeCompatibilityFirstParameter],\n testInferedTypeCompatibilitySecondParameter,\n );\n\n return <></>;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAuB;ACiKd;AAhKT,gCAAmC;AAgBnC,MAAM,kCAA+D,CAAC;AAEtE,MAAM,mCAAiE;AAAA,EACrE,aAAa,CAAC,SAAS,KAAK;AAAA,EAC5B,gBAAgB,CAAC,SAAS,WAAW,KAAK;AAC5C;AAEA,MAAM,kCAA+D;AAAA,EACnE,SAAS;AACX;AAEA,MAAM,mCAAiE,CAAC;AAIxE,MAAM,oCAAyE;AAAA,EAC7E,SAAS;AAAA,EACT,SAAS;AACX;AAEA,MAAM,0BAAgD;AAAA,EACpD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,kCAAkC;AAAA,EACtC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,qCAA2E,CAAC;AAElF,MAAM,2BAAkD;AAAA,EACtD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,mCAAmC;AAAA,EACvC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAGA,MAAM,qCAA2E;AAAA,EAC/E,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AACR;AAEA,MAAM,kCAA2D;AAAA,EAC/D,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,0CAA0C;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,sCAA6E,CAAC;AAEpF,MAAM,mCAA6D;AAAA,EACjE,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,2CAA2C;AAAA,EAC/C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAGA,MAAM,uCAA6D;AAAA,EACjE,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX;AAEA,MAAM,wCAA+D;AAAA,EACnE,aAAa,CAAC,SAAS,KAAK;AAAA,EAC5B,gBAAgB,CAAC,SAAS,WAAW,KAAK;AAC5C;AAGA,MAAM,6CAA6C;AAAA,EACjD,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX;AAEA,MAAM,8CAA8C;AAAA,EAClD,aAAa,CAAC,SAAS,KAAK;AAAA,EAC5B,gBAAgB,CAAC,SAAS,WAAW,KAAK;AAC5C;AAEA,MAAM,sCAAsC;AAAA,EAC1C,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AACX;AAEA,MAAM,uCAAuC;AAAA,EAC3C,aAAa,CAAC,SAA6C,KAAK;AAAA,EAChE,gBAAgB,CAAC,SAA6C,WAAW,KAAK;AAChF;AAEA,MAAM,wBAAwB,MAAM;AAClC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,8CAAmB,CAAC,oCAAoC,GAAG,qCAAqC;AAEpG,QAAM,cAAU;AAAA,IACd,CAAC,0CAA0C;AAAA,IAC3C;AAAA,EACF;AAEA,SAAO,2EAAE;AACX;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var React = __toESM(require("react"));
|
|
25
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
26
|
+
var import__ = require("../index.js");
|
|
27
|
+
const testRequiredPropsFirstParameter = {
|
|
28
|
+
dsId: ""
|
|
29
|
+
};
|
|
30
|
+
const testRequiredPropsSecondParameter = {
|
|
31
|
+
getUniqueId: (item) => item.dsId
|
|
32
|
+
};
|
|
33
|
+
const testOptionalPropsFirstParameter = {
|
|
34
|
+
subitems: [{ dsId: "_root", label: "root", subitems: [] }]
|
|
35
|
+
};
|
|
36
|
+
const testOptionalPropsSecondParameter = {};
|
|
37
|
+
const testPartialDefaultsFirstParameter = {
|
|
38
|
+
label: "root"
|
|
39
|
+
};
|
|
40
|
+
const testPropsFirstParameter = {
|
|
41
|
+
...testRequiredPropsFirstParameter,
|
|
42
|
+
...testOptionalPropsFirstParameter,
|
|
43
|
+
...testPartialDefaultsFirstParameter
|
|
44
|
+
};
|
|
45
|
+
const testPropsAsSyntaxFirstParameter = {
|
|
46
|
+
...testRequiredPropsFirstParameter,
|
|
47
|
+
...testOptionalPropsFirstParameter,
|
|
48
|
+
...testPartialDefaultsFirstParameter
|
|
49
|
+
};
|
|
50
|
+
const testPartialDefaultsSecondParameter = {};
|
|
51
|
+
const testPropsSecondParameter = {
|
|
52
|
+
...testRequiredPropsSecondParameter,
|
|
53
|
+
...testOptionalPropsSecondParameter,
|
|
54
|
+
...testPartialDefaultsSecondParameter
|
|
55
|
+
};
|
|
56
|
+
const testPropsAsSyntaxSecondParameter = {
|
|
57
|
+
...testRequiredPropsSecondParameter,
|
|
58
|
+
...testOptionalPropsSecondParameter,
|
|
59
|
+
...testPartialDefaultsSecondParameter
|
|
60
|
+
};
|
|
61
|
+
const testCompleteDefaultsFirstParameter = {
|
|
62
|
+
label: "root"
|
|
63
|
+
};
|
|
64
|
+
const testInternalPropsFirstParameter = {
|
|
65
|
+
...testRequiredPropsFirstParameter,
|
|
66
|
+
...testOptionalPropsFirstParameter,
|
|
67
|
+
...testCompleteDefaultsFirstParameter
|
|
68
|
+
};
|
|
69
|
+
const testInternalPropsAsSyntaxFirstParameter = {
|
|
70
|
+
...testRequiredPropsFirstParameter,
|
|
71
|
+
...testOptionalPropsFirstParameter,
|
|
72
|
+
...testCompleteDefaultsFirstParameter
|
|
73
|
+
};
|
|
74
|
+
const testCompleteDefaultsSecondParameter = {};
|
|
75
|
+
const testInternalPropsSecondParameter = {
|
|
76
|
+
...testRequiredPropsSecondParameter,
|
|
77
|
+
...testOptionalPropsSecondParameter,
|
|
78
|
+
...testCompleteDefaultsSecondParameter
|
|
79
|
+
};
|
|
80
|
+
const testInternalPropsAsSyntaxSecondParameter = {
|
|
81
|
+
...testRequiredPropsSecondParameter,
|
|
82
|
+
...testOptionalPropsSecondParameter,
|
|
83
|
+
...testCompleteDefaultsSecondParameter
|
|
84
|
+
};
|
|
85
|
+
const testExplicitDefinitionFirstParameter = {
|
|
86
|
+
dsId: "_root",
|
|
87
|
+
label: "root",
|
|
88
|
+
subitems: [{ dsId: "sub_item_id1", label: "sub_item_1" }]
|
|
89
|
+
};
|
|
90
|
+
const testExplicitDefinitionSecondParameter = {
|
|
91
|
+
getUniqueId: (item) => item.dsId
|
|
92
|
+
};
|
|
93
|
+
const testInferedTypeCompatibilityFirstParameter = {
|
|
94
|
+
dsId: "_root",
|
|
95
|
+
label: "root",
|
|
96
|
+
subitems: [{ dsId: "sub_item_id1", label: "sub_item_1" }]
|
|
97
|
+
};
|
|
98
|
+
const testInferedTypeCompatibilitySecondParameter = {
|
|
99
|
+
getUniqueId: (item) => item.dsId
|
|
100
|
+
};
|
|
101
|
+
const testDefinitionAsConstFirstParameter = {
|
|
102
|
+
dsId: "_root",
|
|
103
|
+
label: "root"
|
|
104
|
+
};
|
|
105
|
+
const testDefinitionAsConstSecondParameter = {
|
|
106
|
+
getUniqueId: (item) => item.dsId
|
|
107
|
+
};
|
|
108
|
+
const ExampleUsageComponent = () => {
|
|
109
|
+
const {
|
|
110
|
+
addNode,
|
|
111
|
+
findAllNodes,
|
|
112
|
+
findNode,
|
|
113
|
+
flatten,
|
|
114
|
+
getNode,
|
|
115
|
+
getPath,
|
|
116
|
+
getPathIds,
|
|
117
|
+
getRoot,
|
|
118
|
+
hash,
|
|
119
|
+
moveNode,
|
|
120
|
+
removeNode,
|
|
121
|
+
replaceNode,
|
|
122
|
+
walk,
|
|
123
|
+
walkParents
|
|
124
|
+
} = (0, import__.useDSTree)(testExplicitDefinitionFirstParameter, testExplicitDefinitionSecondParameter);
|
|
125
|
+
const output2 = (0, import__.useDSTree)(testInferedTypeCompatibilityFirstParameter, testInferedTypeCompatibilitySecondParameter);
|
|
126
|
+
const output3 = (0, import__.useDSTree)(testDefinitionAsConstFirstParameter, testDefinitionAsConstSecondParameter);
|
|
127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {});
|
|
128
|
+
};
|
|
129
|
+
//# sourceMappingURL=typescript-use-ds-tree-valid.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/typescript-testing/typescript-use-ds-tree-valid.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars, no-unused-vars */\nimport { useDSTree } from '../index.js';\nimport type { UseDSTreeT } from '../index.js';\n\n// test we expose the namespace and the namespace follows our deliverable conventions\ntype FirstParameterForApp = UseDSTreeT.FirstParameter;\ntype FirstParameterInternals = UseDSTreeT.FirstParameterInternals;\ntype FirstParameterDefaultProps = UseDSTreeT.FirstParameterDefault;\ntype FirstParameterOptionalProps = UseDSTreeT.FirstParameterOptional;\ntype FirstParameterRequiredProps = UseDSTreeT.FirstParameterRequired;\n\ntype SecondParameterForApp = UseDSTreeT.SecondParameter;\ntype SecondParameterInternals = UseDSTreeT.SecondParameterInternals;\ntype SecondParameterDefaultProps = UseDSTreeT.SecondParameterDefault;\ntype SecondParameterOptionalProps = UseDSTreeT.SecondParameterOptional;\ntype SecondParameterRequiredProps = UseDSTreeT.SecondParameterRequired;\n\nconst testRequiredPropsFirstParameter: FirstParameterRequiredProps = {\n dsId: '',\n};\n\nconst testRequiredPropsSecondParameter: SecondParameterRequiredProps = {\n getUniqueId: (item) => item.dsId,\n};\n\nconst testOptionalPropsFirstParameter: FirstParameterOptionalProps = {\n subitems: [{ dsId: '_root', label: 'root', subitems: [] }],\n};\n\nconst testOptionalPropsSecondParameter: SecondParameterOptionalProps = {};\n\n// difference Props and InternalProps is that InternalProps has all the default props filled in\n// Props allows for partial defaults\nconst testPartialDefaultsFirstParameter: Partial<FirstParameterDefaultProps> = {\n label: 'root',\n};\n\nconst testPropsFirstParameter: FirstParameterForApp = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testPartialDefaultsFirstParameter,\n};\n\nconst testPropsAsSyntaxFirstParameter = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testPartialDefaultsFirstParameter,\n} as FirstParameterForApp;\n\nconst testPartialDefaultsSecondParameter: Partial<SecondParameterDefaultProps> = {};\n\nconst testPropsSecondParameter: SecondParameterForApp = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testPartialDefaultsSecondParameter,\n};\n\nconst testPropsAsSyntaxSecondParameter = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testPartialDefaultsSecondParameter,\n} as SecondParameterForApp;\n\n// InternalProps requires all defaults to be filled in\nconst testCompleteDefaultsFirstParameter: Required<FirstParameterDefaultProps> = {\n label: 'root',\n};\n\nconst testInternalPropsFirstParameter: FirstParameterInternals = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testCompleteDefaultsFirstParameter,\n};\n\nconst testInternalPropsAsSyntaxFirstParameter = {\n ...testRequiredPropsFirstParameter,\n ...testOptionalPropsFirstParameter,\n ...testCompleteDefaultsFirstParameter,\n} as FirstParameterInternals;\n\nconst testCompleteDefaultsSecondParameter: Required<SecondParameterDefaultProps> = {};\n\nconst testInternalPropsSecondParameter: SecondParameterInternals = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testCompleteDefaultsSecondParameter,\n};\n\nconst testInternalPropsAsSyntaxSecondParameter = {\n ...testRequiredPropsSecondParameter,\n ...testOptionalPropsSecondParameter,\n ...testCompleteDefaultsSecondParameter,\n} as SecondParameterInternals;\n\n// using the explicit type definition, if there is an error, it will be marked on the key that is wrong\nconst testExplicitDefinitionFirstParameter: FirstParameterForApp = {\n dsId: '_root',\n label: 'root',\n subitems: [{ dsId: 'sub_item_id1', label: 'sub_item_1' }],\n};\n\nconst testExplicitDefinitionSecondParameter: SecondParameterForApp = {\n getUniqueId: (item) => item.dsId,\n};\n\n// using the \"as\" syntax, if there is an error, it will be marking the whole object as wrong because it is not compatible with the type\nconst testInferedTypeCompatibilityFirstParameter = {\n dsId: '_root',\n label: 'root',\n subitems: [{ dsId: 'sub_item_id1', label: 'sub_item_1' }],\n} as FirstParameterForApp;\n\nconst testInferedTypeCompatibilitySecondParameter = {\n getUniqueId: (item) => item.dsId,\n} as SecondParameterForApp;\n\nconst testDefinitionAsConstFirstParameter = {\n dsId: '_root',\n label: 'root',\n} as const;\n\nconst testDefinitionAsConstSecondParameter = {\n getUniqueId: (item: FirstParameterForApp) => item.dsId,\n} as const;\n\nconst ExampleUsageComponent = () => {\n const {\n addNode,\n findAllNodes,\n findNode,\n flatten,\n getNode,\n getPath,\n getPathIds,\n getRoot,\n hash,\n moveNode,\n removeNode,\n replaceNode,\n walk,\n walkParents,\n } = useDSTree(testExplicitDefinitionFirstParameter, testExplicitDefinitionSecondParameter);\n\n const output2 = useDSTree(testInferedTypeCompatibilityFirstParameter, testInferedTypeCompatibilitySecondParameter);\n\n const output3 = useDSTree(testDefinitionAsConstFirstParameter, testDefinitionAsConstSecondParameter);\n\n return <></>;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAuB;ACmJd;AAlJT,eAA0B;AAgB1B,MAAM,kCAA+D;AAAA,EACnE,MAAM;AACR;AAEA,MAAM,mCAAiE;AAAA,EACrE,aAAa,CAAC,SAAS,KAAK;AAC9B;AAEA,MAAM,kCAA+D;AAAA,EACnE,UAAU,CAAC,EAAE,MAAM,SAAS,OAAO,QAAQ,UAAU,CAAC,EAAE,CAAC;AAC3D;AAEA,MAAM,mCAAiE,CAAC;AAIxE,MAAM,oCAAyE;AAAA,EAC7E,OAAO;AACT;AAEA,MAAM,0BAAgD;AAAA,EACpD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,kCAAkC;AAAA,EACtC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,qCAA2E,CAAC;AAElF,MAAM,2BAAkD;AAAA,EACtD,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,mCAAmC;AAAA,EACvC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAGA,MAAM,qCAA2E;AAAA,EAC/E,OAAO;AACT;AAEA,MAAM,kCAA2D;AAAA,EAC/D,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,0CAA0C;AAAA,EAC9C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,sCAA6E,CAAC;AAEpF,MAAM,mCAA6D;AAAA,EACjE,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEA,MAAM,2CAA2C;AAAA,EAC/C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAGA,MAAM,uCAA6D;AAAA,EACjE,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU,CAAC,EAAE,MAAM,gBAAgB,OAAO,aAAa,CAAC;AAC1D;AAEA,MAAM,wCAA+D;AAAA,EACnE,aAAa,CAAC,SAAS,KAAK;AAC9B;AAGA,MAAM,6CAA6C;AAAA,EACjD,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU,CAAC,EAAE,MAAM,gBAAgB,OAAO,aAAa,CAAC;AAC1D;AAEA,MAAM,8CAA8C;AAAA,EAClD,aAAa,CAAC,SAAS,KAAK;AAC9B;AAEA,MAAM,sCAAsC;AAAA,EAC1C,MAAM;AAAA,EACN,OAAO;AACT;AAEA,MAAM,uCAAuC;AAAA,EAC3C,aAAa,CAAC,SAA+B,KAAK;AACpD;AAEA,MAAM,wBAAwB,MAAM;AAClC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,oBAAU,sCAAsC,qCAAqC;AAEzF,QAAM,cAAU,oBAAU,4CAA4C,2CAA2C;AAEjH,QAAM,cAAU,oBAAU,qCAAqC,oCAAoC;AAEnG,SAAO,2EAAE;AACX;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|