km-traversal
Version:
This utility provides powerful object traversal capabilities with pattern matching and transformation features.
73 lines (72 loc) • 3.35 kB
TypeScript
declare const _default: {
traverseIn: <ENTRY_DATA extends import("./object").IEntryData, OPTIONS extends {
injectedConditions: [...CONDITIONS];
shortcuts?: {
singleStar: boolean;
doubleStar: boolean;
braketScope: boolean;
} | undefined;
}, CONDITIONS extends CONDITION[], CONDITION extends import("./object").IJsonPatternCondition<NAME>, NAME extends string>(data: ENTRY_DATA, options: OPTIONS, patterns: (string | string[] | ((o: {
setCondName: (name: OPTIONS["injectedConditions"][number]["name"]) => string;
}) => string))[], callbacks: import("./object").Callback[]) => void;
adapter: () => {
register: <CONDITIONS_1 extends CONDITION_1[], CONDITION_1 extends import("./object").IJsonPatternCondition<NAME_1>, NAME_1 extends string>(conditions: CONDITIONS_1) => {
traverseIn: <ENTRY_DATA_1 extends import("./object").IEntryData>(data: ENTRY_DATA_1, patterns: (string | ((o: {
setCondName: (name: CONDITIONS_1[number]["name"]) => string;
}) => string))[], callbacks: import("./object").Callback[]) => void;
};
};
defaultConditions: [{
name: "startsWith";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "endsWith";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "includes";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "matches";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "greaterThan";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: ">";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "lessThan";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "<";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "between";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "equalWith";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "notEqual";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "isString";
action: (_: string | number, __: any, target: any) => boolean;
}, {
name: "isNumber";
action: (_: string | number, __: any, target: any) => boolean;
}, {
name: "isArray";
action: (_: string | number, __: any, target: any) => boolean;
}, {
name: "isObject";
action: (_: string | number, __: any, target: any) => boolean;
}, {
name: "arrayIncludes";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}, {
name: "length";
action: (_: string | number, __: any, target: any, conditionValue: any) => boolean;
}];
};
export default _default;