@lintai/sdk 0.1.2 → 0.1.3

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/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type Predicate<T = any> = (value: T) => boolean;
2
- type QueryKind = "functions" | "imports" | "calls" | "typeRefs";
2
+ type QueryKind = "functions" | "imports" | "calls" | "typeRefs" | "accesses";
3
3
  type QueryOperation = {
4
4
  type: "in";
5
5
  value: string;
@@ -65,6 +65,14 @@ export type TypeRefView = {
65
65
  semanticKey: string;
66
66
  sourceLocation: SourceLocation;
67
67
  };
68
+ export type AccessView = {
69
+ root: string;
70
+ accessPath: string;
71
+ origin: "special_form";
72
+ filePath: string;
73
+ semanticKey: string;
74
+ sourceLocation: SourceLocation;
75
+ };
68
76
  export type SourceLocation = {
69
77
  file: string;
70
78
  startLine: number;
@@ -84,18 +92,42 @@ export type AssertionValue = {
84
92
  terminal: "isEmpty";
85
93
  query: QueryValue;
86
94
  };
87
- export type QueryValue = {
95
+ type BaseQuery = {
88
96
  __lintaiKind: "query";
89
97
  entity: QueryKind;
90
98
  ops: QueryOperation[];
91
- in(pattern: string): QueryValue;
92
- from(pattern: string): QueryValue;
93
- to(pattern: string): QueryValue;
94
- where(predicate: Predicate<any>): QueryValue;
95
- calling(other: QueryValue): QueryValue;
96
- transitivelyCalling(other: QueryValue): QueryValue;
97
99
  isEmpty(): AssertionValue;
98
100
  };
101
+ export type FunctionsQuery = BaseQuery & {
102
+ entity: "functions";
103
+ in(pattern: string): FunctionsQuery;
104
+ where(predicate: Predicate<FunctionView>): FunctionsQuery;
105
+ calling(other: FunctionsQuery): FunctionsQuery;
106
+ transitivelyCalling(other: FunctionsQuery): FunctionsQuery;
107
+ };
108
+ export type ImportsQuery = BaseQuery & {
109
+ entity: "imports";
110
+ from(pattern: string): ImportsQuery;
111
+ to(pattern: string): ImportsQuery;
112
+ where(predicate: Predicate<ImportEdgeView>): ImportsQuery;
113
+ };
114
+ export type CallsQuery = BaseQuery & {
115
+ entity: "calls";
116
+ from(pattern: string): CallsQuery;
117
+ to(pattern: string): CallsQuery;
118
+ where(predicate: Predicate<CallEdgeView>): CallsQuery;
119
+ };
120
+ export type TypeRefsQuery = BaseQuery & {
121
+ entity: "typeRefs";
122
+ in(pattern: string): TypeRefsQuery;
123
+ where(predicate: Predicate<TypeRefView>): TypeRefsQuery;
124
+ };
125
+ export type AccessesQuery = BaseQuery & {
126
+ entity: "accesses";
127
+ in(pattern: string): AccessesQuery;
128
+ where(predicate: Predicate<AccessView>): AccessesQuery;
129
+ };
130
+ export type QueryValue = FunctionsQuery | ImportsQuery | CallsQuery | TypeRefsQuery | AccessesQuery;
99
131
  type InternalRuleSpec<Env, Setup, Value> = {
100
132
  id: string;
101
133
  versionValue?: number;
@@ -120,9 +152,10 @@ declare class RuleDefinition<Env, Setup, Value> {
120
152
  message(messageFn: InternalRuleSpec<Env, Setup, Value>["messageFn"]): RuleDefinition<Env, Setup, Value>;
121
153
  }
122
154
  export declare function rule<Env = Record<string, any>, Setup = Record<string, never>, Value = any>(id: string): RuleDefinition<Env, Setup, Value>;
123
- export declare function functions(): QueryValue;
124
- export declare function imports(): QueryValue;
125
- export declare function calls(): QueryValue;
126
- export declare function typeRefs(): QueryValue;
155
+ export declare function functions(): FunctionsQuery;
156
+ export declare function imports(): ImportsQuery;
157
+ export declare function calls(): CallsQuery;
158
+ export declare function typeRefs(): TypeRefsQuery;
159
+ export declare function accesses(): AccessesQuery;
127
160
  export {};
128
161
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -35,55 +35,108 @@ class RuleDefinition {
35
35
  });
36
36
  }
37
37
  }
38
- function createQuery(entity, ops = []) {
39
- const query = {
38
+ function createBaseQuery(entity, ops) {
39
+ return {
40
40
  __lintaiKind: "query",
41
41
  entity,
42
42
  ops,
43
+ isEmpty() {
44
+ return {
45
+ __lintaiKind: "assertion",
46
+ terminal: "isEmpty",
47
+ query: this,
48
+ };
49
+ },
50
+ };
51
+ }
52
+ function createFunctionsQuery(ops = []) {
53
+ return {
54
+ ...createBaseQuery("functions", ops),
55
+ entity: "functions",
43
56
  in(pattern) {
44
- return createQuery(entity, [...ops, { type: "in", value: pattern }]);
57
+ return createFunctionsQuery([...ops, { type: "in", value: pattern }]);
45
58
  },
59
+ where(predicate) {
60
+ return createFunctionsQuery([...ops, { type: "where", handler: predicate }]);
61
+ },
62
+ calling(other) {
63
+ return createFunctionsQuery([...ops, { type: "calling", query: other }]);
64
+ },
65
+ transitivelyCalling(other) {
66
+ return createFunctionsQuery([...ops, { type: "transitivelyCalling", query: other }]);
67
+ },
68
+ };
69
+ }
70
+ function createImportsQuery(ops = []) {
71
+ return {
72
+ ...createBaseQuery("imports", ops),
73
+ entity: "imports",
46
74
  from(pattern) {
47
- return createQuery(entity, [...ops, { type: "from", value: pattern }]);
75
+ return createImportsQuery([...ops, { type: "from", value: pattern }]);
48
76
  },
49
77
  to(pattern) {
50
- return createQuery(entity, [...ops, { type: "to", value: pattern }]);
78
+ return createImportsQuery([...ops, { type: "to", value: pattern }]);
51
79
  },
52
80
  where(predicate) {
53
- return createQuery(entity, [...ops, { type: "where", handler: predicate }]);
81
+ return createImportsQuery([...ops, { type: "where", handler: predicate }]);
54
82
  },
55
- calling(other) {
56
- return createQuery(entity, [...ops, { type: "calling", query: other }]);
83
+ };
84
+ }
85
+ function createCallsQuery(ops = []) {
86
+ return {
87
+ ...createBaseQuery("calls", ops),
88
+ entity: "calls",
89
+ from(pattern) {
90
+ return createCallsQuery([...ops, { type: "from", value: pattern }]);
57
91
  },
58
- transitivelyCalling(other) {
59
- return createQuery(entity, [
60
- ...ops,
61
- { type: "transitivelyCalling", query: other },
62
- ]);
92
+ to(pattern) {
93
+ return createCallsQuery([...ops, { type: "to", value: pattern }]);
63
94
  },
64
- isEmpty() {
65
- return {
66
- __lintaiKind: "assertion",
67
- terminal: "isEmpty",
68
- query,
69
- };
95
+ where(predicate) {
96
+ return createCallsQuery([...ops, { type: "where", handler: predicate }]);
97
+ },
98
+ };
99
+ }
100
+ function createTypeRefsQuery(ops = []) {
101
+ return {
102
+ ...createBaseQuery("typeRefs", ops),
103
+ entity: "typeRefs",
104
+ in(pattern) {
105
+ return createTypeRefsQuery([...ops, { type: "in", value: pattern }]);
106
+ },
107
+ where(predicate) {
108
+ return createTypeRefsQuery([...ops, { type: "where", handler: predicate }]);
109
+ },
110
+ };
111
+ }
112
+ function createAccessesQuery(ops = []) {
113
+ return {
114
+ ...createBaseQuery("accesses", ops),
115
+ entity: "accesses",
116
+ in(pattern) {
117
+ return createAccessesQuery([...ops, { type: "in", value: pattern }]);
118
+ },
119
+ where(predicate) {
120
+ return createAccessesQuery([...ops, { type: "where", handler: predicate }]);
70
121
  },
71
122
  };
72
- return query;
73
123
  }
74
124
  export function rule(id) {
75
125
  return new RuleDefinition({ id });
76
126
  }
77
127
  export function functions() {
78
- return createQuery("functions");
128
+ return createFunctionsQuery();
79
129
  }
80
130
  export function imports() {
81
- return createQuery("imports");
131
+ return createImportsQuery();
82
132
  }
83
133
  export function calls() {
84
- return createQuery("calls");
134
+ return createCallsQuery();
85
135
  }
86
136
  export function typeRefs() {
87
- return createQuery("typeRefs");
137
+ return createTypeRefsQuery();
138
+ }
139
+ export function accesses() {
140
+ return createAccessesQuery();
88
141
  }
89
142
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lintai/sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {