@inixiative/json-rules 2.19.7 → 2.20.0
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 +8 -0
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +39 -1
- package/dist/index.d.ts +39 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -718,6 +718,44 @@ declare const exposedSurface: (lensOrNarrowing: Lens | LensNarrowing, opts?: Pro
|
|
|
718
718
|
|
|
719
719
|
declare const validateNarrowing: (narrowing: LensNarrowing) => void;
|
|
720
720
|
|
|
721
|
+
/**
|
|
722
|
+
* The values one rule compares at one declared source — keyed the way `projectByPath`
|
|
723
|
+
* keys a source (`path` + `field`), so the caller can join it back to the source's
|
|
724
|
+
* model without spelling a path of its own. A `mapDefaults`-declared source resolves
|
|
725
|
+
* wherever its model appears, so `path` may name a relation chain the narrowing never
|
|
726
|
+
* spelled under `root.relations`; the dotted format is the same.
|
|
727
|
+
*/
|
|
728
|
+
type RuleSourceValues = {
|
|
729
|
+
path: string;
|
|
730
|
+
mapName: string;
|
|
731
|
+
model: string;
|
|
732
|
+
field: string;
|
|
733
|
+
/** Every literal a leaf at this source named; list operators flattened, deduped by content. */
|
|
734
|
+
values: RuleValue[];
|
|
735
|
+
/**
|
|
736
|
+
* The set of values cannot be enumerated from literals: a leaf took its value from
|
|
737
|
+
* `path` / `bind`, used an operator that describes values without naming them
|
|
738
|
+
* (substring, pattern, range, date window), or used an operator the catalog does not
|
|
739
|
+
* know. A caller deciding anything from `values` must fail closed.
|
|
740
|
+
*/
|
|
741
|
+
dynamic: boolean;
|
|
742
|
+
};
|
|
743
|
+
/**
|
|
744
|
+
* Which values a rule names at each source the lens declares — the lens owns the
|
|
745
|
+
* vocabulary, so it answers questions about it; callers never spell a path. A leaf reaches a
|
|
746
|
+
* source by its absolute path through the lens: nested (`{ field: 'orders', arrayOperator,
|
|
747
|
+
* condition: { field: 'sku' } }`) and dotted (`{ field: 'orders.sku' }`) spellings are one path,
|
|
748
|
+
* resolved by `walkLensPath` — visibility, `mapDefaults`, and the Json boundary all apply, so a
|
|
749
|
+
* source declared in `mapDefaults` answers wherever its model appears. Quantifier-blind on
|
|
750
|
+
* purpose — a `none` relation names its value as much as an `any` one, `notIn` as much as `in` —
|
|
751
|
+
* but shape-aware via the operator catalog: only literal-naming shapes contribute `values`;
|
|
752
|
+
* substring / pattern / range / window operators, and operators the catalog does not know, mark
|
|
753
|
+
* the source `dynamic` instead of inventing values. A relation node's own comparison (an
|
|
754
|
+
* aggregate's threshold, an array `count`) belongs to the node, not to a source. Paths invisible
|
|
755
|
+
* under the lens, unmapped segments, and sub-paths beneath a Json column are silent.
|
|
756
|
+
*/
|
|
757
|
+
declare const ruleSourceValues: (lensOrNarrowing: Lens | LensNarrowing, rule: Condition) => RuleSourceValues[];
|
|
758
|
+
|
|
721
759
|
/** Prisma `select` shape — nested for a grouped source's relation path. */
|
|
722
760
|
type SourceSelect = {
|
|
723
761
|
[field: string]: true | {
|
|
@@ -881,4 +919,4 @@ declare const assertValidRule: (condition: unknown, options?: {
|
|
|
881
919
|
target?: RuleTarget;
|
|
882
920
|
}) => asserts condition is Condition;
|
|
883
921
|
|
|
884
|
-
export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateConfig, type DateExpr, type DateInputOrExpr, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EdgeExpr, type EngineGlobalsState, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type FuzzyConfig, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NULLABLE_KINDS, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderBy, type OrderedRuleValue, type PathProjection, type PeriodExpr, type PeriodUnit, type PrismaProvider, type PrismaStep, type PrismaWhere, type ProjectOptions, type ProjectedVisit, type RelativeUnits, type RollingExpr, type Rule, type RuleDescription, type RuleLensCheck, type RuleLensViolation, type RuleScalar, RuleTarget, type RuleValue, STRINGY_KINDS, type SortDir, type SourceOption, type SourcePrismaQuery, type SourceQuery, type SourceRowShape, type SourceSpec, type SourceSqlQuery, type SourceValue, type SourceValues, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type TimeZoneConfig, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, WINDOW_SELECTOR, type WeekStart, type WhereStep, type WindowFields, type WindowRuleType, WindowSupport, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, describeRule, engineGlobals, executePrismaQueryPlan, exposedSurface, fuzzyContains, getArrayOperators, getOperatorsForKind, getValueShape, getWindowSupport, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, lensRequiredBindings, maxFuzzyDistance, projectByPath, requiredBindings, resolveBindings, resolveCaseInsensitive, resolveFuzzy, resolveLensBindings, sourceQueries, sourceValuesFromQueryRows, sourceValuesFromRows, stampCoercions, stitchFieldMaps, supportsQueryMode, toPrisma, toSql, validateBindNames, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };
|
|
922
|
+
export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateConfig, type DateExpr, type DateInputOrExpr, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EdgeExpr, type EngineGlobalsState, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type FuzzyConfig, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NULLABLE_KINDS, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderBy, type OrderedRuleValue, type PathProjection, type PeriodExpr, type PeriodUnit, type PrismaProvider, type PrismaStep, type PrismaWhere, type ProjectOptions, type ProjectedVisit, type RelativeUnits, type RollingExpr, type Rule, type RuleDescription, type RuleLensCheck, type RuleLensViolation, type RuleScalar, type RuleSourceValues, RuleTarget, type RuleValue, STRINGY_KINDS, type SortDir, type SourceOption, type SourcePrismaQuery, type SourceQuery, type SourceRowShape, type SourceSpec, type SourceSqlQuery, type SourceValue, type SourceValues, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type TimeZoneConfig, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, WINDOW_SELECTOR, type WeekStart, type WhereStep, type WindowFields, type WindowRuleType, WindowSupport, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, describeRule, engineGlobals, executePrismaQueryPlan, exposedSurface, fuzzyContains, getArrayOperators, getOperatorsForKind, getValueShape, getWindowSupport, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, lensRequiredBindings, maxFuzzyDistance, projectByPath, requiredBindings, resolveBindings, resolveCaseInsensitive, resolveFuzzy, resolveLensBindings, ruleSourceValues, sourceQueries, sourceValuesFromQueryRows, sourceValuesFromRows, stampCoercions, stitchFieldMaps, supportsQueryMode, toPrisma, toSql, validateBindNames, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };
|
package/dist/index.d.ts
CHANGED
|
@@ -718,6 +718,44 @@ declare const exposedSurface: (lensOrNarrowing: Lens | LensNarrowing, opts?: Pro
|
|
|
718
718
|
|
|
719
719
|
declare const validateNarrowing: (narrowing: LensNarrowing) => void;
|
|
720
720
|
|
|
721
|
+
/**
|
|
722
|
+
* The values one rule compares at one declared source — keyed the way `projectByPath`
|
|
723
|
+
* keys a source (`path` + `field`), so the caller can join it back to the source's
|
|
724
|
+
* model without spelling a path of its own. A `mapDefaults`-declared source resolves
|
|
725
|
+
* wherever its model appears, so `path` may name a relation chain the narrowing never
|
|
726
|
+
* spelled under `root.relations`; the dotted format is the same.
|
|
727
|
+
*/
|
|
728
|
+
type RuleSourceValues = {
|
|
729
|
+
path: string;
|
|
730
|
+
mapName: string;
|
|
731
|
+
model: string;
|
|
732
|
+
field: string;
|
|
733
|
+
/** Every literal a leaf at this source named; list operators flattened, deduped by content. */
|
|
734
|
+
values: RuleValue[];
|
|
735
|
+
/**
|
|
736
|
+
* The set of values cannot be enumerated from literals: a leaf took its value from
|
|
737
|
+
* `path` / `bind`, used an operator that describes values without naming them
|
|
738
|
+
* (substring, pattern, range, date window), or used an operator the catalog does not
|
|
739
|
+
* know. A caller deciding anything from `values` must fail closed.
|
|
740
|
+
*/
|
|
741
|
+
dynamic: boolean;
|
|
742
|
+
};
|
|
743
|
+
/**
|
|
744
|
+
* Which values a rule names at each source the lens declares — the lens owns the
|
|
745
|
+
* vocabulary, so it answers questions about it; callers never spell a path. A leaf reaches a
|
|
746
|
+
* source by its absolute path through the lens: nested (`{ field: 'orders', arrayOperator,
|
|
747
|
+
* condition: { field: 'sku' } }`) and dotted (`{ field: 'orders.sku' }`) spellings are one path,
|
|
748
|
+
* resolved by `walkLensPath` — visibility, `mapDefaults`, and the Json boundary all apply, so a
|
|
749
|
+
* source declared in `mapDefaults` answers wherever its model appears. Quantifier-blind on
|
|
750
|
+
* purpose — a `none` relation names its value as much as an `any` one, `notIn` as much as `in` —
|
|
751
|
+
* but shape-aware via the operator catalog: only literal-naming shapes contribute `values`;
|
|
752
|
+
* substring / pattern / range / window operators, and operators the catalog does not know, mark
|
|
753
|
+
* the source `dynamic` instead of inventing values. A relation node's own comparison (an
|
|
754
|
+
* aggregate's threshold, an array `count`) belongs to the node, not to a source. Paths invisible
|
|
755
|
+
* under the lens, unmapped segments, and sub-paths beneath a Json column are silent.
|
|
756
|
+
*/
|
|
757
|
+
declare const ruleSourceValues: (lensOrNarrowing: Lens | LensNarrowing, rule: Condition) => RuleSourceValues[];
|
|
758
|
+
|
|
721
759
|
/** Prisma `select` shape — nested for a grouped source's relation path. */
|
|
722
760
|
type SourceSelect = {
|
|
723
761
|
[field: string]: true | {
|
|
@@ -881,4 +919,4 @@ declare const assertValidRule: (condition: unknown, options?: {
|
|
|
881
919
|
target?: RuleTarget;
|
|
882
920
|
}) => asserts condition is Condition;
|
|
883
921
|
|
|
884
|
-
export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateConfig, type DateExpr, type DateInputOrExpr, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EdgeExpr, type EngineGlobalsState, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type FuzzyConfig, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NULLABLE_KINDS, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderBy, type OrderedRuleValue, type PathProjection, type PeriodExpr, type PeriodUnit, type PrismaProvider, type PrismaStep, type PrismaWhere, type ProjectOptions, type ProjectedVisit, type RelativeUnits, type RollingExpr, type Rule, type RuleDescription, type RuleLensCheck, type RuleLensViolation, type RuleScalar, RuleTarget, type RuleValue, STRINGY_KINDS, type SortDir, type SourceOption, type SourcePrismaQuery, type SourceQuery, type SourceRowShape, type SourceSpec, type SourceSqlQuery, type SourceValue, type SourceValues, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type TimeZoneConfig, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, WINDOW_SELECTOR, type WeekStart, type WhereStep, type WindowFields, type WindowRuleType, WindowSupport, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, describeRule, engineGlobals, executePrismaQueryPlan, exposedSurface, fuzzyContains, getArrayOperators, getOperatorsForKind, getValueShape, getWindowSupport, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, lensRequiredBindings, maxFuzzyDistance, projectByPath, requiredBindings, resolveBindings, resolveCaseInsensitive, resolveFuzzy, resolveLensBindings, sourceQueries, sourceValuesFromQueryRows, sourceValuesFromRows, stampCoercions, stitchFieldMaps, supportsQueryMode, toPrisma, toSql, validateBindNames, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };
|
|
922
|
+
export { AGGREGATE_OPERATORS, ALL_KINDS, ARRAY_OPERATOR_CATALOG, type AggregateMode, type AggregateRule, type All, type Any, type ArrayCatalogEntry, ArrayOperator, type ArrayRule, type Bridge, type BridgeCardinality, type BridgeDictionary, type BridgeEndpoint, type BuildOptions, type CatalogEntry, type CheckOptions, type Condition, type CreateLensInput, DATE_OPERATOR_CATALOG, type DateConfig, type DateExpr, type DateInputOrExpr, type DateInputValue, DateOperator, type DateRule, type DateRuleValue, EQUATABLE_KINDS, type EdgeExpr, type EngineGlobalsState, type EnumNarrowing, FIELD_OPERATOR_CATALOG, FieldKind, type FieldMap, type FieldMapEntry, type FieldMapSet, type FuzzyConfig, type GroupByStep, type IfThenElse, type Lens, type LensNarrowing, type ModelDefaultNarrowing, type ModelNarrowing, NULLABLE_KINDS, NUMERIC_KINDS, type NarrowingDefaults, ORDERABLE_KINDS, Operator, type OrderBy, type OrderedRuleValue, type PathProjection, type PeriodExpr, type PeriodUnit, type PrismaProvider, type PrismaStep, type PrismaWhere, type ProjectOptions, type ProjectedVisit, type RelativeUnits, type RollingExpr, type Rule, type RuleDescription, type RuleLensCheck, type RuleLensViolation, type RuleScalar, type RuleSourceValues, RuleTarget, type RuleValue, STRINGY_KINDS, type SortDir, type SourceOption, type SourcePrismaQuery, type SourceQuery, type SourceRowShape, type SourceSpec, type SourceSqlQuery, type SourceValue, type SourceValues, type SqlResult, type StepRef, type StrictAggregateRule, type StrictAll, type StrictAny, type StrictArrayCountRule, type StrictArrayPredicateRule, type StrictArrayPresenceRule, type StrictArrayRule, type StrictCondition, type StrictContainsRule, type StrictDateComparisonRule, type StrictDateDayRule, type StrictDateRangeRule, type StrictDateRule, type StrictEqualityRule, type StrictIfThenElse, type StrictMembershipRule, type StrictOrderedComparisonRule, type StrictPatternRule, type StrictPresenceRule, type StrictRangeRule, type StrictRule, type StrictStringBoundaryRule, type TimeZoneConfig, type ToPrismaResult, type ValidationIssue, type ValidationResult, ValueShape, WINDOW_SELECTOR, type WeekStart, type WhereStep, type WindowFields, type WindowRuleType, WindowSupport, applyLens, assertValidRule, buildBridgeDictionary, check, checkRuleAgainstLens, createLens, describeRule, engineGlobals, executePrismaQueryPlan, exposedSurface, fuzzyContains, getArrayOperators, getOperatorsForKind, getValueShape, getWindowSupport, isAggregateRangeOperator, isAggregateSingleOperator, isOperatorSupportedForTarget, lensRequiredBindings, maxFuzzyDistance, projectByPath, requiredBindings, resolveBindings, resolveCaseInsensitive, resolveFuzzy, resolveLensBindings, ruleSourceValues, sourceQueries, sourceValuesFromQueryRows, sourceValuesFromRows, stampCoercions, stitchFieldMaps, supportsQueryMode, toPrisma, toSql, validateBindNames, validateFieldMap, validateFieldMapSet, validateNarrowing, validateRule };
|