pg-introspection 0.0.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.
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.augmentIntrospection = void 0;
4
+ const acl_js_1 = require("./acl.js");
5
+ const smartComments_js_1 = require("./smartComments.js");
6
+ /**
7
+ * Only suitable for functions that accept no arguments.
8
+ */
9
+ function memo(fn) {
10
+ let cache;
11
+ let called = false;
12
+ return () => {
13
+ if (!called) {
14
+ cache = fn();
15
+ called = true;
16
+ }
17
+ return cache;
18
+ };
19
+ }
20
+ function del(toDelete, collection, attr) {
21
+ for (let i = collection.length - 1; i >= 0; i--) {
22
+ const entry = collection[i];
23
+ if (toDelete.has(entry[attr])) {
24
+ collection.splice(i, 1);
25
+ }
26
+ }
27
+ }
28
+ /**
29
+ * Adds helpers to the introspection results.
30
+ */
31
+ function augmentIntrospection(introspectionResultsString, includeExtensionResources = false) {
32
+ const introspectionResults = JSON.parse(introspectionResultsString);
33
+ const introspection = introspectionResults;
34
+ const oidByCatalog = {};
35
+ for (const [oid, catalog] of Object.entries(introspection.catalog_by_oid)) {
36
+ oidByCatalog[catalog] = oid;
37
+ }
38
+ if (!includeExtensionResources) {
39
+ // Go through and delete things from the extensions
40
+ const extensionProcOids = new Set();
41
+ const extensionClassOids = new Set();
42
+ for (const pg_depend of introspection.depends) {
43
+ if (pg_depend.refclassid === oidByCatalog["pg_extension"] &&
44
+ pg_depend.deptype === "e" &&
45
+ pg_depend.classid === oidByCatalog["pg_proc"]) {
46
+ extensionProcOids.add(pg_depend.objid);
47
+ }
48
+ if (pg_depend.refclassid === oidByCatalog["pg_extension"] &&
49
+ pg_depend.deptype === "e" &&
50
+ pg_depend.classid === oidByCatalog["pg_class"]) {
51
+ extensionClassOids.add(pg_depend.objid);
52
+ }
53
+ }
54
+ del(extensionProcOids, introspection.procs, "_id");
55
+ del(extensionClassOids, introspection.classes, "_id");
56
+ del(extensionClassOids, introspection.attributes, "attrelid");
57
+ del(extensionClassOids, introspection.types, "typrelid");
58
+ }
59
+ const getRole = (id) => introspection.roles.find((entity) => entity._id === id);
60
+ const getNamespace = (id) => introspection.namespaces.find((entity) => entity._id === id);
61
+ const getType = (id) => introspection.types.find((entity) => entity._id === id);
62
+ const getClass = (id) => introspection.classes.find((entity) => entity._id === id);
63
+ const getRange = (id) => introspection.ranges.find((entity) => entity.rngtypid === id);
64
+ const getAttributes = (id) => introspection.attributes
65
+ .filter((entity) => entity.attrelid === id)
66
+ .sort((a, z) => a.attnum - z.attnum);
67
+ const getConstraints = (id) => introspection.constraints
68
+ .filter((entity) => entity.conrelid === id)
69
+ // TODO: do NOT use localeCompare here; it's unstable across different machines
70
+ .sort((a, z) => a.conname.localeCompare(z.conname));
71
+ const getForeignConstraints = (id) => introspection.constraints.filter((entity) => entity.confrelid === id);
72
+ const getEnums = (id) => introspection.enums
73
+ .filter((entity) => entity.enumtypid === id)
74
+ .sort((a, z) => a.enumsortorder - z.enumsortorder);
75
+ const getIndexes = (id) => introspection.indexes.filter((entity) => entity.indrelid === id);
76
+ const PG_NAMESPACE = oidByCatalog["pg_namespace"];
77
+ const PG_CLASS = oidByCatalog["pg_class"];
78
+ const PG_PROC = oidByCatalog["pg_proc"];
79
+ const PG_TYPE = oidByCatalog["pg_type"];
80
+ const PG_CONSTRAINT = oidByCatalog["pg_constraint"];
81
+ const PG_EXTENSION = oidByCatalog["pg_extension"];
82
+ if (!PG_NAMESPACE ||
83
+ !PG_CLASS ||
84
+ !PG_PROC ||
85
+ !PG_TYPE ||
86
+ !PG_CONSTRAINT ||
87
+ !PG_EXTENSION) {
88
+ throw new Error(`Invalid introspection results; could not determine the ids of the system catalogs`);
89
+ }
90
+ const getDescription = (classoid, objoid, objsubid) => objsubid == null
91
+ ? introspection.descriptions.find((d) => d.classoid === classoid && d.objoid === objoid)?.description ?? undefined
92
+ : introspection.descriptions.find((d) => d.classoid === classoid &&
93
+ d.objoid === objoid &&
94
+ d.objsubid === objsubid)?.description ?? undefined;
95
+ const getTagsAndDescription = (classoid, objoid, objsubid, fallback) => {
96
+ let description = getDescription(classoid, objoid, objsubid);
97
+ if (description == null && fallback) {
98
+ description = getDescription(fallback.classoid, fallback.objoid, fallback.objsubid);
99
+ }
100
+ return (0, smartComments_js_1.parseSmartComment)(description);
101
+ };
102
+ introspection.getCurrentUser = memo(() => introspection.roles.find((r) => r.rolname === introspection.current_user));
103
+ introspection.getNamespace = (by) => {
104
+ if ("id" in by && by.id) {
105
+ return getNamespace(by.id);
106
+ }
107
+ else if ("name" in by && by.name) {
108
+ return introspection.namespaces.find((entity) => entity.nspname === by.name);
109
+ }
110
+ };
111
+ introspection.getClass = (by) => getClass(by.id);
112
+ introspection.getConstraint = (by) => introspection.constraints.find((c) => c._id === by.id);
113
+ introspection.getProc = (by) => introspection.procs.find((c) => c._id === by.id);
114
+ introspection.getRoles = (by) => introspection.roles.find((c) => c._id === by.id);
115
+ introspection.getType = (by) => introspection.types.find((c) => c._id === by.id);
116
+ introspection.getEnum = (by) => introspection.enums.find((c) => c._id === by.id);
117
+ introspection.getExtension = (by) => introspection.extensions.find((c) => c._id === by.id);
118
+ introspection.getIndex = (by) => introspection.indexes.find((c) => c.indexrelid === by.id);
119
+ introspection.getLanguage = (by) => introspection.languages.find((c) => c._id === by.id);
120
+ introspection.database.getDba = memo(() => getRole(introspection.database.datdba));
121
+ introspection.database.getACL = memo(() => (0, acl_js_1.parseAcls)(introspection, introspection.database.datacl, introspection.database.datdba, acl_js_1.OBJECT_DATABASE));
122
+ introspection.namespaces.forEach((entity) => {
123
+ entity.getOwner = memo(() => getRole(entity.nspowner));
124
+ entity.getDescription = memo(() => getDescription(PG_NAMESPACE, entity._id));
125
+ entity.getTagsAndDescription = memo(() => getTagsAndDescription(PG_NAMESPACE, entity._id));
126
+ entity.getACL = memo(() => (0, acl_js_1.parseAcls)(introspection, entity.nspacl, entity.nspowner, acl_js_1.OBJECT_SCHEMA));
127
+ entity.getClass = (by) => introspection.classes.find((child) => child.relnamespace === entity._id && child.relname === by.name);
128
+ entity.getConstraint = (by) => introspection.constraints.find((child) => child.connamespace === entity._id && child.conname === by.name);
129
+ entity.getProcs = (by) => {
130
+ return introspection.procs.filter((child) => child.pronamespace === entity._id && child.proname === by.name);
131
+ };
132
+ });
133
+ introspection.classes.forEach((entity) => {
134
+ entity.getNamespace = memo(() => getNamespace(entity.relnamespace));
135
+ entity.getType = memo(() => getType(entity.reltype));
136
+ entity.getOfType = memo(() => getType(entity.reloftype));
137
+ entity.getOwner = memo(() => getRole(entity.relowner));
138
+ entity.getAttributes = memo(() => getAttributes(entity._id));
139
+ entity.getConstraints = memo(() => getConstraints(entity._id));
140
+ entity.getForeignConstraints = memo(() => getForeignConstraints(entity._id));
141
+ entity.getIndexes = memo(() => getIndexes(entity._id));
142
+ entity.getDescription = memo(() => getDescription(PG_CLASS, entity._id, 0));
143
+ entity.getTagsAndDescription = memo(() => getTagsAndDescription(PG_CLASS, entity._id, 0, {
144
+ classoid: PG_TYPE,
145
+ objoid: entity.reltype,
146
+ }));
147
+ entity.getACL = memo(() => (0, acl_js_1.aclsForTable)(introspection, entity));
148
+ entity.getAttribute = (by) => {
149
+ const attributes = entity.getAttributes();
150
+ return attributes.find((att) => "number" in by && by.number
151
+ ? att.attnum === by.number
152
+ : "name" in by && by.name
153
+ ? att.attname === by.name
154
+ : false);
155
+ };
156
+ entity.getInherited = memo(() => introspection.inherits.filter((inh) => inh.inhrelid === entity._id));
157
+ });
158
+ introspection.indexes.forEach((entity) => {
159
+ entity.getIndexClass = memo(() => getClass(entity.indexrelid));
160
+ entity.getClass = memo(() => getClass(entity.indrelid));
161
+ entity.getKeys = memo(() => {
162
+ const owner = getClass(entity.indrelid);
163
+ const attrs = owner.getAttributes();
164
+ const keys = entity.indkey;
165
+ return keys.map((key) => key === 0 ? null : attrs.find((a) => a.attnum === key));
166
+ });
167
+ });
168
+ introspection.attributes.forEach((entity) => {
169
+ entity.getClass = memo(() => getClass(entity.attrelid));
170
+ entity.getType = memo(() => getType(entity.atttypid));
171
+ entity.getDescription = memo(() => getDescription(PG_CLASS, entity.attrelid, entity.attnum));
172
+ entity.getTagsAndDescription = memo(() => getTagsAndDescription(PG_CLASS, entity.attrelid, entity.attnum));
173
+ entity.getACL = memo(() => (0, acl_js_1.parseAcls)(introspection, entity.attacl, entity.getClass().relowner, acl_js_1.OBJECT_COLUMN));
174
+ });
175
+ introspection.constraints.forEach((entity) => {
176
+ entity.getNamespace = memo(() => getNamespace(entity.connamespace));
177
+ entity.getClass = memo(() => getClass(entity.conrelid));
178
+ entity.getAttributes = memo(() => {
179
+ const klass = getClass(entity.conrelid);
180
+ if (!klass || !entity.conkey) {
181
+ return;
182
+ }
183
+ const attrs = klass.getAttributes();
184
+ return entity.conkey.map((key) => attrs.find((att) => att.attnum === key));
185
+ });
186
+ entity.getType = memo(() => getType(entity.contypid));
187
+ entity.getForeignClass = memo(() => getClass(entity.confrelid));
188
+ entity.getForeignAttributes = memo(() => {
189
+ const klass = getClass(entity.confrelid);
190
+ if (!klass || !entity.confkey) {
191
+ return;
192
+ }
193
+ const attrs = klass.getAttributes();
194
+ return entity.confkey.map((key) => attrs.find((att) => att.attnum === key));
195
+ });
196
+ entity.getDescription = memo(() => getDescription(PG_CONSTRAINT, entity._id));
197
+ entity.getTagsAndDescription = memo(() => getTagsAndDescription(PG_CONSTRAINT, entity._id));
198
+ });
199
+ introspection.procs.forEach((entity) => {
200
+ entity.getNamespace = memo(() => getNamespace(entity.pronamespace));
201
+ entity.getOwner = memo(() => getRole(entity.proowner));
202
+ entity.getReturnType = memo(() => getType(entity.prorettype));
203
+ entity.getDescription = memo(() => getDescription(PG_PROC, entity._id));
204
+ entity.getTagsAndDescription = memo(() => getTagsAndDescription(PG_PROC, entity._id));
205
+ entity.getArguments = memo(() => {
206
+ const args = [];
207
+ const {
208
+ // Null if everything 'in'. i: IN, o: OUT, b: INOUT, v: VARIADIC, t: TABLE
209
+ proargmodes,
210
+ // Null if no names
211
+ proargnames,
212
+ // Only input types
213
+ proargtypes,
214
+ // Null if no arg defaults, length = pronargdefaults
215
+ // proargdefaults,
216
+ // Number of inpart args
217
+ // pronargs,
218
+ // All args, null if all args are input
219
+ proallargtypes,
220
+ // Number of arguments with defaults
221
+ pronargdefaults, } = entity;
222
+ if (proallargtypes) {
223
+ for (let i = 0, l = proallargtypes.length; i < l; i++) {
224
+ const typeId = proallargtypes[i];
225
+ const type = introspection.types.find((t) => t._id === typeId);
226
+ if (!type) {
227
+ throw new Error("Corrupted introspection data");
228
+ }
229
+ const mode = proargmodes?.[i] ?? "i";
230
+ const isIn = mode === "i" || mode === "b" || mode === "v";
231
+ const isOut = mode === "o" || mode === "b" || mode === "t";
232
+ const isVariadic = mode === "v";
233
+ const hasDefault = pronargdefaults ? i >= l - pronargdefaults : false;
234
+ const name = proargnames?.[i] ?? null;
235
+ args.push({
236
+ isIn,
237
+ isOut,
238
+ isVariadic,
239
+ hasDefault,
240
+ type,
241
+ name,
242
+ });
243
+ }
244
+ }
245
+ else if (proargtypes) {
246
+ for (let i = 0, l = proargtypes.length; i < l; i++) {
247
+ const typeId = proargtypes[i];
248
+ const type = introspection.types.find((t) => t._id === typeId);
249
+ if (!type) {
250
+ throw new Error("Corrupted introspection data");
251
+ }
252
+ const mode = proargmodes?.[i] ?? "i";
253
+ const isIn = mode === "i" || mode === "b" || mode === "v";
254
+ const isOut = mode === "o" || mode === "b" || mode === "t";
255
+ const isVariadic = mode === "v";
256
+ const hasDefault = pronargdefaults ? i >= l - pronargdefaults : false;
257
+ const name = proargnames?.[i] ?? null;
258
+ args.push({
259
+ isIn,
260
+ isOut,
261
+ isVariadic,
262
+ hasDefault,
263
+ type,
264
+ name,
265
+ });
266
+ }
267
+ }
268
+ return args;
269
+ });
270
+ entity.getACL = memo(() => (0, acl_js_1.parseAcls)(introspection, entity.proacl, entity.proowner, acl_js_1.OBJECT_FUNCTION));
271
+ });
272
+ introspection.types.forEach((entity) => {
273
+ entity.getNamespace = memo(() => getNamespace(entity.typnamespace));
274
+ entity.getOwner = memo(() => getRole(entity.typowner));
275
+ entity.getClass = memo(() => getClass(entity.typrelid));
276
+ entity.getElemType = memo(() => getType(entity.typelem));
277
+ entity.getArrayType = memo(() => getType(entity.typarray));
278
+ entity.getEnumValues = memo(() => getEnums(entity._id));
279
+ entity.getRange = memo(() => getRange(entity._id));
280
+ entity.getDescription = memo(() => getDescription(PG_TYPE, entity._id));
281
+ entity.getTagsAndDescription = memo(() => getTagsAndDescription(PG_TYPE, entity._id));
282
+ });
283
+ introspection.enums.forEach((entity) => {
284
+ entity.getType = memo(() => getType(entity.enumtypid));
285
+ // Postgres doesn't support comments on enum values right now, but we still
286
+ // want to be able to add tags/description so we fake it.
287
+ entity.getTagsAndDescription = memo(() => ({
288
+ tags: Object.create(null),
289
+ description: "",
290
+ }));
291
+ });
292
+ introspection.ranges.forEach((entity) => {
293
+ entity.getType = memo(() => getType(entity.rngtypid));
294
+ entity.getSubType = memo(() => getType(entity.rngsubtype));
295
+ });
296
+ return introspection;
297
+ }
298
+ exports.augmentIntrospection = augmentIntrospection;
299
+ //# sourceMappingURL=augmentIntrospection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"augmentIntrospection.js","sourceRoot":"","sources":["../src/augmentIntrospection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import type { Introspection, PgAttribute, PgAuthMembers, PgClass, PgConstraint, PgDatabase, PgDepend, PgDescription, PgEnum, PgExtension, PgIndex, PgInherits, PgLanguage, PgNamespace, PgProc, PgRange, PgRoles, PgType } from "./introspection.js";
2
+ export { makeIntrospectionQuery } from "./introspection.js";
3
+ import type { AclObject } from "./acl.js";
4
+ import { aclContainsRole, expandRoles, resolvePermissions } from "./acl.js";
5
+ import type { PgSmartTagsAndDescription, PgSmartTagsDict } from "./smartComments.js";
6
+ export { parseSmartComment } from "./smartComments.js";
7
+ export { Introspection, PgAttribute, PgAuthMembers, PgClass, PgConstraint, PgDatabase, PgDepend, PgDescription, PgEnum, PgExtension, PgIndex, PgInherits, PgLanguage, PgNamespace, PgProc, PgRange, PgRoles, PgType, };
8
+ export { aclContainsRole, AclObject, expandRoles, resolvePermissions };
9
+ export declare function parseIntrospectionResults(introspectionResults: string, includeExtensionResources?: boolean): Introspection;
10
+ export { PgSmartTagsAndDescription, PgSmartTagsDict };
11
+ declare module "./introspection" {
12
+ interface Introspection {
13
+ getCurrentUser(): PgRoles | undefined;
14
+ getNamespace(by: {
15
+ id: string;
16
+ } | {
17
+ name: string;
18
+ }): PgNamespace | undefined;
19
+ getClass(by: {
20
+ id: string;
21
+ }): PgClass | undefined;
22
+ getConstraint(by: {
23
+ id: string;
24
+ }): PgConstraint | undefined;
25
+ getProc(by: {
26
+ id: string;
27
+ }): PgProc | undefined;
28
+ getRoles(by: {
29
+ id: string;
30
+ }): PgRoles | undefined;
31
+ getType(by: {
32
+ id: string;
33
+ }): PgType | undefined;
34
+ getEnum(by: {
35
+ id: string;
36
+ }): PgEnum | undefined;
37
+ getExtension(by: {
38
+ id: string;
39
+ }): PgExtension | undefined;
40
+ getIndex(by: {
41
+ id: string;
42
+ }): PgIndex | undefined;
43
+ getLanguage(by: {
44
+ id: string;
45
+ }): PgLanguage | undefined;
46
+ }
47
+ interface PgProcArgument {
48
+ isIn: boolean;
49
+ isOut: boolean;
50
+ isVariadic: boolean;
51
+ hasDefault: boolean;
52
+ type: PgType;
53
+ name: string | null;
54
+ }
55
+ interface PgDatabase {
56
+ getDba(): PgRoles | undefined;
57
+ getACL(): AclObject[];
58
+ }
59
+ interface PgNamespace {
60
+ getOwner(): PgRoles | undefined;
61
+ getDescription(): string | undefined;
62
+ getTagsAndDescription(): PgSmartTagsAndDescription;
63
+ getACL(): AclObject[];
64
+ getClass(by: {
65
+ name: string;
66
+ }): PgClass | undefined;
67
+ getConstraint(by: {
68
+ name: string;
69
+ }): PgConstraint | undefined;
70
+ getProcs(by: {
71
+ name: string;
72
+ }): PgProc[] | undefined;
73
+ }
74
+ interface PgClass {
75
+ getNamespace(): PgNamespace | undefined;
76
+ getType(): PgType | undefined;
77
+ getOfType(): PgType | undefined;
78
+ getOwner(): PgRoles | undefined;
79
+ getAttributes(): PgAttribute[];
80
+ getAttribute(by: {
81
+ number: number;
82
+ } | {
83
+ name: string;
84
+ }): PgAttribute | undefined;
85
+ getConstraints(): PgConstraint[];
86
+ getForeignConstraints(): PgConstraint[];
87
+ getIndexes(): PgIndex[];
88
+ getDescription(): string | undefined;
89
+ getTagsAndDescription(): PgSmartTagsAndDescription;
90
+ getACL(): AclObject[];
91
+ getInherited(): PgInherits[];
92
+ }
93
+ interface PgIndex {
94
+ /**
95
+ * Get the class that represents this index.
96
+ */
97
+ getIndexClass(): PgClass | undefined;
98
+ /**
99
+ * Get the class (typically table) this index is for.
100
+ */
101
+ getClass(): PgClass | undefined;
102
+ /**
103
+ * The PgAttributes that are in this index; a null indicates that the entry
104
+ * is an expression rather than a column.
105
+ */
106
+ getKeys(): Array<PgAttribute | null>;
107
+ }
108
+ interface PgAttribute {
109
+ getClass(): PgClass | undefined;
110
+ getType(): PgType | undefined;
111
+ getDescription(): string | undefined;
112
+ getTagsAndDescription(): PgSmartTagsAndDescription;
113
+ getACL(): AclObject[];
114
+ }
115
+ interface PgConstraint {
116
+ getNamespace(): PgNamespace | undefined;
117
+ getClass(): PgClass | undefined;
118
+ getAttributes(): PgAttribute[] | undefined;
119
+ getType(): PgType | undefined;
120
+ getForeignClass(): PgClass | undefined;
121
+ getForeignAttributes(): PgAttribute[] | undefined;
122
+ getDescription(): string | undefined;
123
+ getTagsAndDescription(): PgSmartTagsAndDescription;
124
+ }
125
+ interface PgProc {
126
+ getNamespace(): PgNamespace | undefined;
127
+ getOwner(): PgRoles | undefined;
128
+ getReturnType(): PgType | undefined;
129
+ getDescription(): string | undefined;
130
+ getTagsAndDescription(): PgSmartTagsAndDescription;
131
+ getArguments(): PgProcArgument[];
132
+ getACL(): AclObject[];
133
+ }
134
+ interface PgType {
135
+ getNamespace(): PgNamespace | undefined;
136
+ getOwner(): PgRoles | undefined;
137
+ getClass(): PgClass | undefined;
138
+ getElemType(): PgType | undefined;
139
+ getArrayType(): PgType | undefined;
140
+ getEnumValues(): PgEnum[] | undefined;
141
+ getRange(): PgRange | undefined;
142
+ getDescription(): string | undefined;
143
+ getTagsAndDescription(): PgSmartTagsAndDescription;
144
+ }
145
+ interface PgEnum {
146
+ getType(): PgType | undefined;
147
+ getTagsAndDescription(): PgSmartTagsAndDescription;
148
+ }
149
+ interface PgRange {
150
+ getType(): PgType | undefined;
151
+ getSubType(): PgType | undefined;
152
+ }
153
+ }
154
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseIntrospectionResults = exports.resolvePermissions = exports.expandRoles = exports.aclContainsRole = exports.parseSmartComment = exports.makeIntrospectionQuery = void 0;
4
+ var introspection_js_1 = require("./introspection.js");
5
+ Object.defineProperty(exports, "makeIntrospectionQuery", { enumerable: true, get: function () { return introspection_js_1.makeIntrospectionQuery; } });
6
+ const acl_js_1 = require("./acl.js");
7
+ Object.defineProperty(exports, "aclContainsRole", { enumerable: true, get: function () { return acl_js_1.aclContainsRole; } });
8
+ Object.defineProperty(exports, "expandRoles", { enumerable: true, get: function () { return acl_js_1.expandRoles; } });
9
+ Object.defineProperty(exports, "resolvePermissions", { enumerable: true, get: function () { return acl_js_1.resolvePermissions; } });
10
+ const augmentIntrospection_js_1 = require("./augmentIntrospection.js");
11
+ var smartComments_js_1 = require("./smartComments.js");
12
+ Object.defineProperty(exports, "parseSmartComment", { enumerable: true, get: function () { return smartComments_js_1.parseSmartComment; } });
13
+ function parseIntrospectionResults(introspectionResults, includeExtensionResources = false) {
14
+ return (0, augmentIntrospection_js_1.augmentIntrospection)(introspectionResults, includeExtensionResources);
15
+ }
16
+ exports.parseIntrospectionResults = parseIntrospectionResults;
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAoBA,uDAA4D;AAAnD,0HAAA,sBAAsB,OAAA;AAE/B,qCAA4E;AA8BnE,gGA9BA,wBAAe,OA8BA;AAAa,4FA9BX,oBAAW,OA8BW;AAAE,mGA9BX,2BAAkB,OA8BW;AA7BpE,uEAAiE;AAMjE,uDAAuD;AAA9C,qHAAA,iBAAiB,OAAA;AAyB1B,SAAgB,yBAAyB,CACvC,oBAA4B,EAC5B,yBAAyB,GAAG,KAAK;IAEjC,OAAO,IAAA,8CAAoB,EAAC,oBAAoB,EAAE,yBAAyB,CAAC,CAAC;AAC/E,CAAC;AALD,8DAKC"}