graphile-build-pg 4.13.0 → 4.14.1
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 +4 -13
- package/node8plus/GraphQLJSON.js +0 -11
- package/node8plus/GraphQLJSON.js.map +1 -1
- package/node8plus/PgLiveProvider.js +4 -11
- package/node8plus/PgLiveProvider.js.map +1 -1
- package/node8plus/QueryBuilder.js +42 -176
- package/node8plus/QueryBuilder.js.map +1 -1
- package/node8plus/index.js +8 -47
- package/node8plus/index.js.map +1 -1
- package/node8plus/inflections.js +9 -61
- package/node8plus/inflections.js.map +1 -1
- package/node8plus/omit.js +7 -22
- package/node8plus/omit.js.map +1 -1
- package/node8plus/parseIdentifier.js +0 -1
- package/node8plus/parseIdentifier.js.map +1 -1
- package/node8plus/pgPrepareAndRun.js +2 -14
- package/node8plus/pgPrepareAndRun.js.map +1 -1
- package/node8plus/plugins/PageInfoStartEndCursor.js +0 -4
- package/node8plus/plugins/PageInfoStartEndCursor.js.map +1 -1
- package/node8plus/plugins/PgAllRows.js +0 -29
- package/node8plus/plugins/PgAllRows.js.map +1 -1
- package/node8plus/plugins/PgBackwardRelationPlugin.js +2 -41
- package/node8plus/plugins/PgBackwardRelationPlugin.js.map +1 -1
- package/node8plus/plugins/PgBasicsPlugin.js +20 -147
- package/node8plus/plugins/PgBasicsPlugin.js.map +1 -1
- package/node8plus/plugins/PgColumnDeprecationPlugin.js +2 -5
- package/node8plus/plugins/PgColumnDeprecationPlugin.js.map +1 -1
- package/node8plus/plugins/PgColumnsPlugin.js +4 -17
- package/node8plus/plugins/PgColumnsPlugin.js.map +1 -1
- package/node8plus/plugins/PgComputedColumnsPlugin.js +4 -19
- package/node8plus/plugins/PgComputedColumnsPlugin.js.map +1 -1
- package/node8plus/plugins/PgConditionComputedColumnPlugin.js +12 -23
- package/node8plus/plugins/PgConditionComputedColumnPlugin.js.map +1 -1
- package/node8plus/plugins/PgConnectionArgCondition.js +1 -9
- package/node8plus/plugins/PgConnectionArgCondition.js.map +1 -1
- package/node8plus/plugins/PgConnectionArgFirstLastBeforeAfter.js +0 -12
- package/node8plus/plugins/PgConnectionArgFirstLastBeforeAfter.js.map +1 -1
- package/node8plus/plugins/PgConnectionArgOrderBy.js +2 -19
- package/node8plus/plugins/PgConnectionArgOrderBy.js.map +1 -1
- package/node8plus/plugins/PgConnectionArgOrderByDefaultValue.js +0 -6
- package/node8plus/plugins/PgConnectionArgOrderByDefaultValue.js.map +1 -1
- package/node8plus/plugins/PgConnectionTotalCount.js +0 -8
- package/node8plus/plugins/PgConnectionTotalCount.js.map +1 -1
- package/node8plus/plugins/PgForwardRelationPlugin.js +2 -25
- package/node8plus/plugins/PgForwardRelationPlugin.js.map +1 -1
- package/node8plus/plugins/PgIntrospectionPlugin.js +91 -180
- package/node8plus/plugins/PgIntrospectionPlugin.js.flow +30 -2
- package/node8plus/plugins/PgIntrospectionPlugin.js.map +1 -1
- package/node8plus/plugins/PgJWTPlugin.js +2 -18
- package/node8plus/plugins/PgJWTPlugin.js.map +1 -1
- package/node8plus/plugins/PgMutationCreatePlugin.js +0 -18
- package/node8plus/plugins/PgMutationCreatePlugin.js.map +1 -1
- package/node8plus/plugins/PgMutationPayloadEdgePlugin.js +4 -25
- package/node8plus/plugins/PgMutationPayloadEdgePlugin.js.map +1 -1
- package/node8plus/plugins/PgMutationProceduresPlugin.js +0 -6
- package/node8plus/plugins/PgMutationProceduresPlugin.js.map +1 -1
- package/node8plus/plugins/PgMutationUpdateDeletePlugin.js +14 -49
- package/node8plus/plugins/PgMutationUpdateDeletePlugin.js.flow +5 -2
- package/node8plus/plugins/PgMutationUpdateDeletePlugin.js.map +1 -1
- package/node8plus/plugins/PgNodeAliasPostGraphile.js +0 -6
- package/node8plus/plugins/PgNodeAliasPostGraphile.js.map +1 -1
- package/node8plus/plugins/PgOrderAllColumnsPlugin.js +0 -4
- package/node8plus/plugins/PgOrderAllColumnsPlugin.js.map +1 -1
- package/node8plus/plugins/PgOrderByPrimaryKeyPlugin.js +0 -6
- package/node8plus/plugins/PgOrderByPrimaryKeyPlugin.js.map +1 -1
- package/node8plus/plugins/PgOrderComputedColumnsPlugin.js +10 -14
- package/node8plus/plugins/PgOrderComputedColumnsPlugin.js.map +1 -1
- package/node8plus/plugins/PgQueryProceduresPlugin.js +4 -16
- package/node8plus/plugins/PgQueryProceduresPlugin.js.map +1 -1
- package/node8plus/plugins/PgRecordFunctionConnectionPlugin.js +3 -20
- package/node8plus/plugins/PgRecordFunctionConnectionPlugin.js.map +1 -1
- package/node8plus/plugins/PgRecordReturnTypesPlugin.js +11 -16
- package/node8plus/plugins/PgRecordReturnTypesPlugin.js.map +1 -1
- package/node8plus/plugins/PgRowByUniqueConstraint.js +4 -25
- package/node8plus/plugins/PgRowByUniqueConstraint.js.map +1 -1
- package/node8plus/plugins/PgRowNode.js +0 -32
- package/node8plus/plugins/PgRowNode.js.map +1 -1
- package/node8plus/plugins/PgScalarFunctionConnectionPlugin.js +3 -17
- package/node8plus/plugins/PgScalarFunctionConnectionPlugin.js.map +1 -1
- package/node8plus/plugins/PgTablesPlugin.js +7 -59
- package/node8plus/plugins/PgTablesPlugin.js.map +1 -1
- package/node8plus/plugins/PgTypesPlugin.js +140 -240
- package/node8plus/plugins/PgTypesPlugin.js.flow +76 -23
- package/node8plus/plugins/PgTypesPlugin.js.map +1 -1
- package/node8plus/plugins/addStartEndCursor.js +2 -5
- package/node8plus/plugins/addStartEndCursor.js.map +1 -1
- package/node8plus/plugins/debugSql.js +1 -16
- package/node8plus/plugins/debugSql.js.map +1 -1
- package/node8plus/plugins/introspectionQuery.js +3 -4
- package/node8plus/plugins/introspectionQuery.js.flow +11 -3
- package/node8plus/plugins/introspectionQuery.js.map +1 -1
- package/node8plus/plugins/makeProcField.js +40 -90
- package/node8plus/plugins/makeProcField.js.map +1 -1
- package/node8plus/plugins/pgField.js +2 -7
- package/node8plus/plugins/pgField.js.map +1 -1
- package/node8plus/plugins/viaTemporaryTable.js +6 -12
- package/node8plus/plugins/viaTemporaryTable.js.map +1 -1
- package/node8plus/postgresInterval.js +4 -4
- package/node8plus/postgresInterval.js.map +1 -1
- package/node8plus/queryFromResolveDataFactory.js +33 -77
- package/node8plus/queryFromResolveDataFactory.js.map +1 -1
- package/node8plus/utils.js +8 -9
- package/node8plus/utils.js.map +1 -1
- package/node8plus/withPgClient.js +4 -26
- package/node8plus/withPgClient.js.map +1 -1
- package/package.json +4 -4
package/node8plus/inflections.js
CHANGED
|
@@ -4,37 +4,30 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.newInflector = exports.defaultUtils = exports.defaultInflection = void 0;
|
|
7
|
-
|
|
8
7
|
var _graphileBuild = require("graphile-build");
|
|
9
|
-
|
|
10
8
|
var _PgBasicsPlugin = require("./plugins/PgBasicsPlugin");
|
|
9
|
+
/* THIS ENTIRE FILE IS DEPRECATED. DO NOT USE THIS. DO NOT EDIT THIS. */const outputMessages = [];
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
const outputMessages = []; // eslint-disable-next-line flowtype/no-weak-types
|
|
14
|
-
|
|
11
|
+
// eslint-disable-next-line flowtype/no-weak-types
|
|
15
12
|
function deprecate(fn, message) {
|
|
16
13
|
if (typeof fn !== "function") {
|
|
17
14
|
return fn;
|
|
18
15
|
}
|
|
19
|
-
|
|
20
16
|
return function (...args) {
|
|
21
17
|
if (outputMessages.indexOf(message) === -1) {
|
|
22
|
-
outputMessages.push(message);
|
|
23
|
-
|
|
18
|
+
outputMessages.push(message);
|
|
19
|
+
// eslint-disable-next-line no-console
|
|
24
20
|
console.warn(new Error(message));
|
|
25
21
|
}
|
|
26
|
-
|
|
27
22
|
return fn.apply(this, args);
|
|
28
23
|
};
|
|
29
24
|
}
|
|
30
|
-
|
|
31
25
|
function deprecateEverything(obj) {
|
|
32
26
|
return Object.keys(obj).reduce((memo, key) => {
|
|
33
27
|
memo[key] = deprecate(obj[key], `Something (probably a plugin) called the old inflection system (inflector: '${key}'). This system has been deprecated since 4.0.0-beta.6 (4th May 2018) and is not used internally so using it may cause inconsistencies, instead please use the plugin-capable inflection system https://www.graphile.org/postgraphile/inflection/`);
|
|
34
28
|
return memo;
|
|
35
29
|
}, {});
|
|
36
30
|
}
|
|
37
|
-
|
|
38
31
|
const defaultUtils = {
|
|
39
32
|
constantCase: _graphileBuild.constantCase,
|
|
40
33
|
camelCase: _graphileBuild.camelCase,
|
|
@@ -43,7 +36,6 @@ const defaultUtils = {
|
|
|
43
36
|
singularize: _graphileBuild.singularize
|
|
44
37
|
};
|
|
45
38
|
exports.defaultUtils = defaultUtils;
|
|
46
|
-
|
|
47
39
|
const newInflector = (overrides = undefined, {
|
|
48
40
|
constantCase,
|
|
49
41
|
camelCase,
|
|
@@ -54,43 +46,37 @@ const newInflector = (overrides = undefined, {
|
|
|
54
46
|
function singularizeTable(tableName) {
|
|
55
47
|
return singularize(tableName).replace(/.(?:(?:[_-]i|I)nput|(?:[_-]p|P)atch)$/, "$&_record");
|
|
56
48
|
}
|
|
57
|
-
|
|
58
49
|
return deprecateEverything((0, _PgBasicsPlugin.preventEmptyResult)({
|
|
59
50
|
pluralize,
|
|
60
|
-
|
|
61
51
|
argument(name, index) {
|
|
62
52
|
return camelCase(name || `arg${index}`);
|
|
63
53
|
},
|
|
64
|
-
|
|
65
54
|
orderByType(typeName) {
|
|
66
55
|
return upperCamelCase(`${pluralize(typeName)}-order-by`);
|
|
67
56
|
},
|
|
68
|
-
|
|
69
57
|
orderByEnum(name, ascending, _table, _schema) {
|
|
70
58
|
return constantCase(`${name}_${ascending ? "asc" : "desc"}`);
|
|
71
59
|
},
|
|
72
|
-
|
|
73
60
|
domainType(name) {
|
|
74
61
|
return upperCamelCase(name);
|
|
75
62
|
},
|
|
76
|
-
|
|
77
63
|
enumName(inValue) {
|
|
78
64
|
let value = inValue;
|
|
79
|
-
|
|
80
65
|
if (value === "") {
|
|
81
66
|
return "_EMPTY_";
|
|
82
|
-
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// Some enums use asterisks to signify wildcards - this might be for
|
|
83
70
|
// the whole item, or prefixes/suffixes, or even in the middle. This
|
|
84
71
|
// is provided on a best efforts basis, if it doesn't suit your
|
|
85
72
|
// purposes then please pass a custom inflector as mentioned below.
|
|
73
|
+
value = value.replace(/\*/g, "_ASTERISK_").replace(/^(_?)_+ASTERISK/, "$1ASTERISK").replace(/ASTERISK_(_?)_*$/, "ASTERISK$1");
|
|
86
74
|
|
|
87
|
-
|
|
88
|
-
value = value.replace(/\*/g, "_ASTERISK_").replace(/^(_?)_+ASTERISK/, "$1ASTERISK").replace(/ASTERISK_(_?)_*$/, "ASTERISK$1"); // This is a best efforts replacement for common symbols that you
|
|
75
|
+
// This is a best efforts replacement for common symbols that you
|
|
89
76
|
// might find in enums. Generally we only support enums that are
|
|
90
77
|
// alphanumeric, if these replacements don't work for you, you should
|
|
91
78
|
// pass a custom inflector that replaces this `enumName` method
|
|
92
79
|
// with one of your own chosing.
|
|
93
|
-
|
|
94
80
|
value = {
|
|
95
81
|
// SQL comparison operators
|
|
96
82
|
">": "GREATER_THAN",
|
|
@@ -147,155 +133,117 @@ const newInflector = (overrides = undefined, {
|
|
|
147
133
|
}[value] || value;
|
|
148
134
|
return value;
|
|
149
135
|
},
|
|
150
|
-
|
|
151
136
|
enumType(name) {
|
|
152
137
|
return upperCamelCase(name);
|
|
153
138
|
},
|
|
154
|
-
|
|
155
139
|
conditionType(typeName) {
|
|
156
140
|
return upperCamelCase(`${typeName}-condition`);
|
|
157
141
|
},
|
|
158
|
-
|
|
159
142
|
inputType(typeName) {
|
|
160
143
|
return upperCamelCase(`${typeName}-input`);
|
|
161
144
|
},
|
|
162
|
-
|
|
163
145
|
rangeBoundType(typeName) {
|
|
164
146
|
return upperCamelCase(`${typeName}-range-bound`);
|
|
165
147
|
},
|
|
166
|
-
|
|
167
148
|
rangeType(typeName) {
|
|
168
149
|
return upperCamelCase(`${typeName}-range`);
|
|
169
150
|
},
|
|
170
|
-
|
|
171
151
|
patchType(typeName) {
|
|
172
152
|
return upperCamelCase(`${typeName}-patch`);
|
|
173
153
|
},
|
|
174
|
-
|
|
175
154
|
patchField(itemName) {
|
|
176
155
|
return camelCase(`${itemName}-patch`);
|
|
177
156
|
},
|
|
178
|
-
|
|
179
157
|
tableName(name, _schema) {
|
|
180
158
|
return camelCase(singularizeTable(name));
|
|
181
159
|
},
|
|
182
|
-
|
|
183
160
|
tableNode(name, _schema) {
|
|
184
161
|
return camelCase(singularizeTable(name));
|
|
185
162
|
},
|
|
186
|
-
|
|
187
163
|
allRows(name, schema) {
|
|
188
164
|
return camelCase(`all-${this.pluralize(this.tableName(name, schema))}`);
|
|
189
165
|
},
|
|
190
|
-
|
|
191
166
|
functionName(name, _schema) {
|
|
192
167
|
return camelCase(name);
|
|
193
168
|
},
|
|
194
|
-
|
|
195
169
|
functionPayloadType(name, _schema) {
|
|
196
170
|
return upperCamelCase(`${name}-payload`);
|
|
197
171
|
},
|
|
198
|
-
|
|
199
172
|
functionInputType(name, _schema) {
|
|
200
173
|
return upperCamelCase(`${name}-input`);
|
|
201
174
|
},
|
|
202
|
-
|
|
203
175
|
tableType(name, schema) {
|
|
204
176
|
return upperCamelCase(this.tableName(name, schema));
|
|
205
177
|
},
|
|
206
|
-
|
|
207
178
|
column(name, _table, _schema) {
|
|
208
179
|
return camelCase(name);
|
|
209
180
|
},
|
|
210
|
-
|
|
211
181
|
singleRelationByKeys(detailedKeys, table, schema) {
|
|
212
182
|
return camelCase(`${this.tableName(table, schema)}-by-${detailedKeys.map(key => this.column(key.column, key.table, key.schema)).join("-and-")}`);
|
|
213
183
|
},
|
|
214
|
-
|
|
215
184
|
rowByUniqueKeys(detailedKeys, table, schema) {
|
|
216
185
|
return camelCase(`${this.tableName(table, schema)}-by-${detailedKeys.map(key => this.column(key.column, key.table, key.schema)).join("-and-")}`);
|
|
217
186
|
},
|
|
218
|
-
|
|
219
187
|
updateByKeys(detailedKeys, table, schema) {
|
|
220
188
|
return camelCase(`update-${this.tableName(table, schema)}-by-${detailedKeys.map(key => this.column(key.column, key.table, key.schema)).join("-and-")}`);
|
|
221
189
|
},
|
|
222
|
-
|
|
223
190
|
deleteByKeys(detailedKeys, table, schema) {
|
|
224
191
|
return camelCase(`delete-${this.tableName(table, schema)}-by-${detailedKeys.map(key => this.column(key.column, key.table, key.schema)).join("-and-")}`);
|
|
225
192
|
},
|
|
226
|
-
|
|
227
193
|
updateNode(name, _schema) {
|
|
228
194
|
return camelCase(`update-${singularizeTable(name)}`);
|
|
229
195
|
},
|
|
230
|
-
|
|
231
196
|
deleteNode(name, _schema) {
|
|
232
197
|
return camelCase(`delete-${singularizeTable(name)}`);
|
|
233
198
|
},
|
|
234
|
-
|
|
235
199
|
updateByKeysInputType(detailedKeys, name, _schema) {
|
|
236
200
|
return upperCamelCase(`update-${singularizeTable(name)}-by-${detailedKeys.map(key => this.column(key.column, key.table, key.schema)).join("-and-")}-input`);
|
|
237
201
|
},
|
|
238
|
-
|
|
239
202
|
deleteByKeysInputType(detailedKeys, name, _schema) {
|
|
240
203
|
return upperCamelCase(`delete-${singularizeTable(name)}-by-${detailedKeys.map(key => this.column(key.column, key.table, key.schema)).join("-and-")}-input`);
|
|
241
204
|
},
|
|
242
|
-
|
|
243
205
|
updateNodeInputType(name, _schema) {
|
|
244
206
|
return upperCamelCase(`update-${singularizeTable(name)}-input`);
|
|
245
207
|
},
|
|
246
|
-
|
|
247
208
|
deleteNodeInputType(name, _schema) {
|
|
248
209
|
return upperCamelCase(`delete-${singularizeTable(name)}-input`);
|
|
249
210
|
},
|
|
250
|
-
|
|
251
211
|
manyRelationByKeys(detailedKeys, table, schema, _foreignTable, _foreignSchema) {
|
|
252
212
|
return camelCase(`${this.pluralize(this.tableName(table, schema))}-by-${detailedKeys.map(key => this.column(key.column, key.table, key.schema)).join("-and-")}`);
|
|
253
213
|
},
|
|
254
|
-
|
|
255
214
|
edge(typeName) {
|
|
256
215
|
return upperCamelCase(`${pluralize(typeName)}-edge`);
|
|
257
216
|
},
|
|
258
|
-
|
|
259
217
|
edgeField(name, _schema) {
|
|
260
218
|
return camelCase(`${singularizeTable(name)}-edge`);
|
|
261
219
|
},
|
|
262
|
-
|
|
263
220
|
connection(typeName) {
|
|
264
221
|
return upperCamelCase(`${this.pluralize(typeName)}-connection`);
|
|
265
222
|
},
|
|
266
|
-
|
|
267
223
|
scalarFunctionConnection(procName, _procSchema) {
|
|
268
224
|
return upperCamelCase(`${procName}-connection`);
|
|
269
225
|
},
|
|
270
|
-
|
|
271
226
|
scalarFunctionEdge(procName, _procSchema) {
|
|
272
227
|
return upperCamelCase(`${procName}-edge`);
|
|
273
228
|
},
|
|
274
|
-
|
|
275
229
|
createField(name, _schema) {
|
|
276
230
|
return camelCase(`create-${singularizeTable(name)}`);
|
|
277
231
|
},
|
|
278
|
-
|
|
279
232
|
createInputType(name, _schema) {
|
|
280
233
|
return upperCamelCase(`create-${singularizeTable(name)}-input`);
|
|
281
234
|
},
|
|
282
|
-
|
|
283
235
|
createPayloadType(name, _schema) {
|
|
284
236
|
return upperCamelCase(`create-${singularizeTable(name)}-payload`);
|
|
285
237
|
},
|
|
286
|
-
|
|
287
238
|
updatePayloadType(name, _schema) {
|
|
288
239
|
return upperCamelCase(`update-${singularizeTable(name)}-payload`);
|
|
289
240
|
},
|
|
290
|
-
|
|
291
241
|
deletePayloadType(name, _schema) {
|
|
292
242
|
return upperCamelCase(`delete-${singularizeTable(name)}-payload`);
|
|
293
243
|
},
|
|
294
|
-
|
|
295
244
|
...overrides
|
|
296
245
|
}));
|
|
297
246
|
};
|
|
298
|
-
|
|
299
247
|
exports.newInflector = newInflector;
|
|
300
248
|
const defaultInflection = newInflector();
|
|
301
249
|
exports.defaultInflection = defaultInflection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/inflections.js"],"names":["outputMessages","deprecate","fn","message","args","indexOf","push","console","warn","Error","apply","deprecateEverything","obj","Object","keys","reduce","memo","key","defaultUtils","constantCase","camelCase","upperCamelCase","pluralize","singularize","newInflector","overrides","undefined","singularizeTable","tableName","replace","argument","name","index","orderByType","typeName","orderByEnum","ascending","_table","_schema","domainType","enumName","inValue","value","_","$","enumType","conditionType","inputType","rangeBoundType","rangeType","patchType","patchField","itemName","tableNode","allRows","schema","functionName","functionPayloadType","functionInputType","tableType","column","singleRelationByKeys","detailedKeys","table","map","join","rowByUniqueKeys","updateByKeys","deleteByKeys","updateNode","deleteNode","updateByKeysInputType","deleteByKeysInputType","updateNodeInputType","deleteNodeInputType","manyRelationByKeys","_foreignTable","_foreignSchema","edge","edgeField","connection","scalarFunctionConnection","procName","_procSchema","scalarFunctionEdge","createField","createInputType","createPayloadType","updatePayloadType","deletePayloadType","defaultInflection"],"mappings":"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","sourcesContent":["/* THIS ENTIRE FILE IS DEPRECATED. DO NOT USE THIS. DO NOT EDIT THIS. */\n// @flow\nimport {\n upperCamelCase,\n camelCase,\n constantCase,\n pluralize,\n singularize,\n} from \"graphile-build\";\n\nimport { preventEmptyResult } from \"./plugins/PgBasicsPlugin\";\n\nconst outputMessages = [];\n\n// eslint-disable-next-line flowtype/no-weak-types\nfunction deprecate(fn: (...input: Array<any>) => string, message: string) {\n if (typeof fn !== \"function\") {\n return fn;\n }\n return function (...args) {\n if (outputMessages.indexOf(message) === -1) {\n outputMessages.push(message);\n // eslint-disable-next-line no-console\n console.warn(new Error(message));\n }\n return fn.apply(this, args);\n };\n}\n\nfunction deprecateEverything(obj: {\n // eslint-disable-next-line flowtype/no-weak-types\n [string]: (...input: Array<any>) => string,\n}) {\n return Object.keys(obj).reduce((memo, key) => {\n memo[key] = deprecate(\n obj[key],\n `Something (probably a plugin) called the old inflection system (inflector: '${key}'). This system has been deprecated since 4.0.0-beta.6 (4th May 2018) and is not used internally so using it may cause inconsistencies, instead please use the plugin-capable inflection system https://www.graphile.org/postgraphile/inflection/`\n );\n return memo;\n }, {});\n}\n\ntype Keys = Array<{\n column: string,\n table: string,\n schema: ?string,\n}>;\n\ntype InflectorUtils = {|\n constantCase: string => string,\n camelCase: string => string,\n upperCamelCase: string => string,\n pluralize: string => string,\n singularize: string => string,\n|};\n\nexport const defaultUtils: InflectorUtils = {\n constantCase,\n camelCase,\n upperCamelCase,\n pluralize,\n singularize,\n};\n\nexport type Inflector = {\n // TODO: tighten this up!\n // eslint-disable-next-line flowtype/no-weak-types\n [string]: (...input: Array<any>) => string,\n};\n\nexport const newInflector = (\n overrides: ?{ [string]: () => string } = undefined,\n {\n constantCase,\n camelCase,\n upperCamelCase,\n pluralize,\n singularize,\n }: InflectorUtils = defaultUtils\n): Inflector => {\n function singularizeTable(tableName: string): string {\n return singularize(tableName).replace(\n /.(?:(?:[_-]i|I)nput|(?:[_-]p|P)atch)$/,\n \"$&_record\"\n );\n }\n\n return deprecateEverything(\n preventEmptyResult({\n pluralize,\n argument(name: ?string, index: number) {\n return camelCase(name || `arg${index}`);\n },\n orderByType(typeName: string) {\n return upperCamelCase(`${pluralize(typeName)}-order-by`);\n },\n orderByEnum(\n name: string,\n ascending: boolean,\n _table: string,\n _schema: ?string\n ) {\n return constantCase(`${name}_${ascending ? \"asc\" : \"desc\"}`);\n },\n domainType(name: string) {\n return upperCamelCase(name);\n },\n enumName(inValue: string) {\n let value = inValue;\n\n if (value === \"\") {\n return \"_EMPTY_\";\n }\n\n // Some enums use asterisks to signify wildcards - this might be for\n // the whole item, or prefixes/suffixes, or even in the middle. This\n // is provided on a best efforts basis, if it doesn't suit your\n // purposes then please pass a custom inflector as mentioned below.\n value = value\n .replace(/\\*/g, \"_ASTERISK_\")\n .replace(/^(_?)_+ASTERISK/, \"$1ASTERISK\")\n .replace(/ASTERISK_(_?)_*$/, \"ASTERISK$1\");\n\n // This is a best efforts replacement for common symbols that you\n // might find in enums. Generally we only support enums that are\n // alphanumeric, if these replacements don't work for you, you should\n // pass a custom inflector that replaces this `enumName` method\n // with one of your own chosing.\n value =\n {\n // SQL comparison operators\n \">\": \"GREATER_THAN\",\n \">=\": \"GREATER_THAN_OR_EQUAL\",\n \"=\": \"EQUAL\",\n \"!=\": \"NOT_EQUAL\",\n \"<>\": \"DIFFERENT\",\n \"<=\": \"LESS_THAN_OR_EQUAL\",\n \"<\": \"LESS_THAN\",\n\n // PostgreSQL LIKE shortcuts\n \"~~\": \"LIKE\",\n \"~~*\": \"ILIKE\",\n \"!~~\": \"NOT_LIKE\",\n \"!~~*\": \"NOT_ILIKE\",\n\n // '~' doesn't necessarily represent regexps, but the three\n // operators following it likely do, so we'll use the word TILDE\n // in all for consistency.\n \"~\": \"TILDE\",\n \"~*\": \"TILDE_ASTERISK\",\n \"!~\": \"NOT_TILDE\",\n \"!~*\": \"NOT_TILDE_ASTERISK\",\n\n // A number of other symbols where we're not sure of their\n // meaning. We give them common generic names so that they're\n // suitable for multiple purposes, e.g. favouring 'PLUS' over\n // 'ADDITION' and 'DOT' over 'FULL_STOP'\n \"%\": \"PERCENT\",\n \"+\": \"PLUS\",\n \"-\": \"MINUS\",\n \"/\": \"SLASH\",\n \"\\\\\": \"BACKSLASH\",\n _: \"UNDERSCORE\",\n \"#\": \"POUND\",\n \"£\": \"STERLING\",\n $: \"DOLLAR\",\n \"&\": \"AMPERSAND\",\n \"@\": \"AT\",\n \"'\": \"APOSTROPHE\",\n '\"': \"QUOTE\",\n \"`\": \"BACKTICK\",\n \":\": \"COLON\",\n \";\": \"SEMICOLON\",\n \"!\": \"EXCLAMATION_POINT\",\n \"?\": \"QUESTION_MARK\",\n \",\": \"COMMA\",\n \".\": \"DOT\",\n \"^\": \"CARET\",\n \"|\": \"BAR\",\n \"[\": \"OPEN_BRACKET\",\n \"]\": \"CLOSE_BRACKET\",\n \"(\": \"OPEN_PARENTHESIS\",\n \")\": \"CLOSE_PARENTHESIS\",\n \"{\": \"OPEN_BRACE\",\n \"}\": \"CLOSE_BRACE\",\n }[value] || value;\n return value;\n },\n enumType(name: string) {\n return upperCamelCase(name);\n },\n conditionType(typeName: string) {\n return upperCamelCase(`${typeName}-condition`);\n },\n inputType(typeName: string) {\n return upperCamelCase(`${typeName}-input`);\n },\n rangeBoundType(typeName: string) {\n return upperCamelCase(`${typeName}-range-bound`);\n },\n rangeType(typeName: string) {\n return upperCamelCase(`${typeName}-range`);\n },\n patchType(typeName: string) {\n return upperCamelCase(`${typeName}-patch`);\n },\n patchField(itemName: string) {\n return camelCase(`${itemName}-patch`);\n },\n tableName(name: string, _schema: ?string) {\n return camelCase(singularizeTable(name));\n },\n tableNode(name: string, _schema: ?string) {\n return camelCase(singularizeTable(name));\n },\n allRows(name: string, schema: ?string) {\n return camelCase(`all-${this.pluralize(this.tableName(name, schema))}`);\n },\n functionName(name: string, _schema: ?string) {\n return camelCase(name);\n },\n functionPayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`${name}-payload`);\n },\n functionInputType(name: string, _schema: ?string) {\n return upperCamelCase(`${name}-input`);\n },\n tableType(name: string, schema: ?string) {\n return upperCamelCase(this.tableName(name, schema));\n },\n column(name: string, _table: string, _schema: ?string) {\n return camelCase(name);\n },\n singleRelationByKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n rowByUniqueKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n updateByKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `update-${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n deleteByKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `delete-${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n updateNode(name: string, _schema: ?string) {\n return camelCase(`update-${singularizeTable(name)}`);\n },\n deleteNode(name: string, _schema: ?string) {\n return camelCase(`delete-${singularizeTable(name)}`);\n },\n updateByKeysInputType(\n detailedKeys: Keys,\n name: string,\n _schema: ?string\n ) {\n return upperCamelCase(\n `update-${singularizeTable(name)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}-input`\n );\n },\n deleteByKeysInputType(\n detailedKeys: Keys,\n name: string,\n _schema: ?string\n ) {\n return upperCamelCase(\n `delete-${singularizeTable(name)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}-input`\n );\n },\n updateNodeInputType(name: string, _schema: ?string) {\n return upperCamelCase(`update-${singularizeTable(name)}-input`);\n },\n deleteNodeInputType(name: string, _schema: ?string) {\n return upperCamelCase(`delete-${singularizeTable(name)}-input`);\n },\n manyRelationByKeys(\n detailedKeys: Keys,\n table: string,\n schema: ?string,\n _foreignTable: string,\n _foreignSchema: ?string\n ) {\n return camelCase(\n `${this.pluralize(this.tableName(table, schema))}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n edge(typeName: string) {\n return upperCamelCase(`${pluralize(typeName)}-edge`);\n },\n edgeField(name: string, _schema: ?string) {\n return camelCase(`${singularizeTable(name)}-edge`);\n },\n connection(typeName: string) {\n return upperCamelCase(`${this.pluralize(typeName)}-connection`);\n },\n scalarFunctionConnection(procName: string, _procSchema: ?string) {\n return upperCamelCase(`${procName}-connection`);\n },\n scalarFunctionEdge(procName: string, _procSchema: ?string) {\n return upperCamelCase(`${procName}-edge`);\n },\n createField(name: string, _schema: ?string) {\n return camelCase(`create-${singularizeTable(name)}`);\n },\n createInputType(name: string, _schema: ?string) {\n return upperCamelCase(`create-${singularizeTable(name)}-input`);\n },\n createPayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`create-${singularizeTable(name)}-payload`);\n },\n updatePayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`update-${singularizeTable(name)}-payload`);\n },\n deletePayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`delete-${singularizeTable(name)}-payload`);\n },\n ...overrides,\n })\n );\n};\n\nexport const defaultInflection = newInflector();\n"],"file":"inflections.js"}
|
|
1
|
+
{"version":3,"file":"inflections.js","names":["_graphileBuild","require","_PgBasicsPlugin","outputMessages","deprecate","fn","message","args","indexOf","push","console","warn","Error","apply","deprecateEverything","obj","Object","keys","reduce","memo","key","defaultUtils","constantCase","camelCase","upperCamelCase","pluralize","singularize","exports","newInflector","overrides","undefined","singularizeTable","tableName","replace","preventEmptyResult","argument","name","index","orderByType","typeName","orderByEnum","ascending","_table","_schema","domainType","enumName","inValue","value","_","$","enumType","conditionType","inputType","rangeBoundType","rangeType","patchType","patchField","itemName","tableNode","allRows","schema","functionName","functionPayloadType","functionInputType","tableType","column","singleRelationByKeys","detailedKeys","table","map","join","rowByUniqueKeys","updateByKeys","deleteByKeys","updateNode","deleteNode","updateByKeysInputType","deleteByKeysInputType","updateNodeInputType","deleteNodeInputType","manyRelationByKeys","_foreignTable","_foreignSchema","edge","edgeField","connection","scalarFunctionConnection","procName","_procSchema","scalarFunctionEdge","createField","createInputType","createPayloadType","updatePayloadType","deletePayloadType","defaultInflection"],"sources":["../src/inflections.js"],"sourcesContent":["/* THIS ENTIRE FILE IS DEPRECATED. DO NOT USE THIS. DO NOT EDIT THIS. */\n// @flow\nimport {\n upperCamelCase,\n camelCase,\n constantCase,\n pluralize,\n singularize,\n} from \"graphile-build\";\n\nimport { preventEmptyResult } from \"./plugins/PgBasicsPlugin\";\n\nconst outputMessages = [];\n\n// eslint-disable-next-line flowtype/no-weak-types\nfunction deprecate(fn: (...input: Array<any>) => string, message: string) {\n if (typeof fn !== \"function\") {\n return fn;\n }\n return function (...args) {\n if (outputMessages.indexOf(message) === -1) {\n outputMessages.push(message);\n // eslint-disable-next-line no-console\n console.warn(new Error(message));\n }\n return fn.apply(this, args);\n };\n}\n\nfunction deprecateEverything(obj: {\n // eslint-disable-next-line flowtype/no-weak-types\n [string]: (...input: Array<any>) => string,\n}) {\n return Object.keys(obj).reduce((memo, key) => {\n memo[key] = deprecate(\n obj[key],\n `Something (probably a plugin) called the old inflection system (inflector: '${key}'). This system has been deprecated since 4.0.0-beta.6 (4th May 2018) and is not used internally so using it may cause inconsistencies, instead please use the plugin-capable inflection system https://www.graphile.org/postgraphile/inflection/`\n );\n return memo;\n }, {});\n}\n\ntype Keys = Array<{\n column: string,\n table: string,\n schema: ?string,\n}>;\n\ntype InflectorUtils = {|\n constantCase: string => string,\n camelCase: string => string,\n upperCamelCase: string => string,\n pluralize: string => string,\n singularize: string => string,\n|};\n\nexport const defaultUtils: InflectorUtils = {\n constantCase,\n camelCase,\n upperCamelCase,\n pluralize,\n singularize,\n};\n\nexport type Inflector = {\n // TODO: tighten this up!\n // eslint-disable-next-line flowtype/no-weak-types\n [string]: (...input: Array<any>) => string,\n};\n\nexport const newInflector = (\n overrides: ?{ [string]: () => string } = undefined,\n {\n constantCase,\n camelCase,\n upperCamelCase,\n pluralize,\n singularize,\n }: InflectorUtils = defaultUtils\n): Inflector => {\n function singularizeTable(tableName: string): string {\n return singularize(tableName).replace(\n /.(?:(?:[_-]i|I)nput|(?:[_-]p|P)atch)$/,\n \"$&_record\"\n );\n }\n\n return deprecateEverything(\n preventEmptyResult({\n pluralize,\n argument(name: ?string, index: number) {\n return camelCase(name || `arg${index}`);\n },\n orderByType(typeName: string) {\n return upperCamelCase(`${pluralize(typeName)}-order-by`);\n },\n orderByEnum(\n name: string,\n ascending: boolean,\n _table: string,\n _schema: ?string\n ) {\n return constantCase(`${name}_${ascending ? \"asc\" : \"desc\"}`);\n },\n domainType(name: string) {\n return upperCamelCase(name);\n },\n enumName(inValue: string) {\n let value = inValue;\n\n if (value === \"\") {\n return \"_EMPTY_\";\n }\n\n // Some enums use asterisks to signify wildcards - this might be for\n // the whole item, or prefixes/suffixes, or even in the middle. This\n // is provided on a best efforts basis, if it doesn't suit your\n // purposes then please pass a custom inflector as mentioned below.\n value = value\n .replace(/\\*/g, \"_ASTERISK_\")\n .replace(/^(_?)_+ASTERISK/, \"$1ASTERISK\")\n .replace(/ASTERISK_(_?)_*$/, \"ASTERISK$1\");\n\n // This is a best efforts replacement for common symbols that you\n // might find in enums. Generally we only support enums that are\n // alphanumeric, if these replacements don't work for you, you should\n // pass a custom inflector that replaces this `enumName` method\n // with one of your own chosing.\n value =\n {\n // SQL comparison operators\n \">\": \"GREATER_THAN\",\n \">=\": \"GREATER_THAN_OR_EQUAL\",\n \"=\": \"EQUAL\",\n \"!=\": \"NOT_EQUAL\",\n \"<>\": \"DIFFERENT\",\n \"<=\": \"LESS_THAN_OR_EQUAL\",\n \"<\": \"LESS_THAN\",\n\n // PostgreSQL LIKE shortcuts\n \"~~\": \"LIKE\",\n \"~~*\": \"ILIKE\",\n \"!~~\": \"NOT_LIKE\",\n \"!~~*\": \"NOT_ILIKE\",\n\n // '~' doesn't necessarily represent regexps, but the three\n // operators following it likely do, so we'll use the word TILDE\n // in all for consistency.\n \"~\": \"TILDE\",\n \"~*\": \"TILDE_ASTERISK\",\n \"!~\": \"NOT_TILDE\",\n \"!~*\": \"NOT_TILDE_ASTERISK\",\n\n // A number of other symbols where we're not sure of their\n // meaning. We give them common generic names so that they're\n // suitable for multiple purposes, e.g. favouring 'PLUS' over\n // 'ADDITION' and 'DOT' over 'FULL_STOP'\n \"%\": \"PERCENT\",\n \"+\": \"PLUS\",\n \"-\": \"MINUS\",\n \"/\": \"SLASH\",\n \"\\\\\": \"BACKSLASH\",\n _: \"UNDERSCORE\",\n \"#\": \"POUND\",\n \"£\": \"STERLING\",\n $: \"DOLLAR\",\n \"&\": \"AMPERSAND\",\n \"@\": \"AT\",\n \"'\": \"APOSTROPHE\",\n '\"': \"QUOTE\",\n \"`\": \"BACKTICK\",\n \":\": \"COLON\",\n \";\": \"SEMICOLON\",\n \"!\": \"EXCLAMATION_POINT\",\n \"?\": \"QUESTION_MARK\",\n \",\": \"COMMA\",\n \".\": \"DOT\",\n \"^\": \"CARET\",\n \"|\": \"BAR\",\n \"[\": \"OPEN_BRACKET\",\n \"]\": \"CLOSE_BRACKET\",\n \"(\": \"OPEN_PARENTHESIS\",\n \")\": \"CLOSE_PARENTHESIS\",\n \"{\": \"OPEN_BRACE\",\n \"}\": \"CLOSE_BRACE\",\n }[value] || value;\n return value;\n },\n enumType(name: string) {\n return upperCamelCase(name);\n },\n conditionType(typeName: string) {\n return upperCamelCase(`${typeName}-condition`);\n },\n inputType(typeName: string) {\n return upperCamelCase(`${typeName}-input`);\n },\n rangeBoundType(typeName: string) {\n return upperCamelCase(`${typeName}-range-bound`);\n },\n rangeType(typeName: string) {\n return upperCamelCase(`${typeName}-range`);\n },\n patchType(typeName: string) {\n return upperCamelCase(`${typeName}-patch`);\n },\n patchField(itemName: string) {\n return camelCase(`${itemName}-patch`);\n },\n tableName(name: string, _schema: ?string) {\n return camelCase(singularizeTable(name));\n },\n tableNode(name: string, _schema: ?string) {\n return camelCase(singularizeTable(name));\n },\n allRows(name: string, schema: ?string) {\n return camelCase(`all-${this.pluralize(this.tableName(name, schema))}`);\n },\n functionName(name: string, _schema: ?string) {\n return camelCase(name);\n },\n functionPayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`${name}-payload`);\n },\n functionInputType(name: string, _schema: ?string) {\n return upperCamelCase(`${name}-input`);\n },\n tableType(name: string, schema: ?string) {\n return upperCamelCase(this.tableName(name, schema));\n },\n column(name: string, _table: string, _schema: ?string) {\n return camelCase(name);\n },\n singleRelationByKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n rowByUniqueKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n updateByKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `update-${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n deleteByKeys(detailedKeys: Keys, table: string, schema: ?string) {\n return camelCase(\n `delete-${this.tableName(table, schema)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n updateNode(name: string, _schema: ?string) {\n return camelCase(`update-${singularizeTable(name)}`);\n },\n deleteNode(name: string, _schema: ?string) {\n return camelCase(`delete-${singularizeTable(name)}`);\n },\n updateByKeysInputType(\n detailedKeys: Keys,\n name: string,\n _schema: ?string\n ) {\n return upperCamelCase(\n `update-${singularizeTable(name)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}-input`\n );\n },\n deleteByKeysInputType(\n detailedKeys: Keys,\n name: string,\n _schema: ?string\n ) {\n return upperCamelCase(\n `delete-${singularizeTable(name)}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}-input`\n );\n },\n updateNodeInputType(name: string, _schema: ?string) {\n return upperCamelCase(`update-${singularizeTable(name)}-input`);\n },\n deleteNodeInputType(name: string, _schema: ?string) {\n return upperCamelCase(`delete-${singularizeTable(name)}-input`);\n },\n manyRelationByKeys(\n detailedKeys: Keys,\n table: string,\n schema: ?string,\n _foreignTable: string,\n _foreignSchema: ?string\n ) {\n return camelCase(\n `${this.pluralize(this.tableName(table, schema))}-by-${detailedKeys\n .map(key => this.column(key.column, key.table, key.schema))\n .join(\"-and-\")}`\n );\n },\n edge(typeName: string) {\n return upperCamelCase(`${pluralize(typeName)}-edge`);\n },\n edgeField(name: string, _schema: ?string) {\n return camelCase(`${singularizeTable(name)}-edge`);\n },\n connection(typeName: string) {\n return upperCamelCase(`${this.pluralize(typeName)}-connection`);\n },\n scalarFunctionConnection(procName: string, _procSchema: ?string) {\n return upperCamelCase(`${procName}-connection`);\n },\n scalarFunctionEdge(procName: string, _procSchema: ?string) {\n return upperCamelCase(`${procName}-edge`);\n },\n createField(name: string, _schema: ?string) {\n return camelCase(`create-${singularizeTable(name)}`);\n },\n createInputType(name: string, _schema: ?string) {\n return upperCamelCase(`create-${singularizeTable(name)}-input`);\n },\n createPayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`create-${singularizeTable(name)}-payload`);\n },\n updatePayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`update-${singularizeTable(name)}-payload`);\n },\n deletePayloadType(name: string, _schema: ?string) {\n return upperCamelCase(`delete-${singularizeTable(name)}-payload`);\n },\n ...overrides,\n })\n );\n};\n\nexport const defaultInflection = newInflector();\n"],"mappings":"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"}
|
package/node8plus/omit.js
CHANGED
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UPDATE = exports.READ = exports.ORDER = exports.MANY = exports.FILTER = exports.EXECUTE = exports.DELETE = exports.CREATE = exports.BASE = exports.ALL = void 0;
|
|
7
7
|
exports.default = omit;
|
|
8
|
-
|
|
9
8
|
/*
|
|
10
9
|
* Please only use capitals for aliases and lower case for the values.
|
|
11
10
|
*/
|
|
@@ -42,12 +41,10 @@ const aliases = {
|
|
|
42
41
|
B: BASE
|
|
43
42
|
};
|
|
44
43
|
const PERMISSIONS_THAT_REQUIRE_READ = [UPDATE, CREATE, DELETE, ALL, MANY];
|
|
45
|
-
|
|
46
44
|
function parse(arrOrNot, errorPrefix = "Error") {
|
|
47
45
|
if (!arrOrNot) {
|
|
48
46
|
return null;
|
|
49
47
|
}
|
|
50
|
-
|
|
51
48
|
const arr = Array.isArray(arrOrNot) ? arrOrNot : [arrOrNot];
|
|
52
49
|
let all = false;
|
|
53
50
|
const arrayNormalized = [].concat(...arr.map(str => {
|
|
@@ -55,71 +52,59 @@ function parse(arrOrNot, errorPrefix = "Error") {
|
|
|
55
52
|
all = true;
|
|
56
53
|
return [];
|
|
57
54
|
}
|
|
58
|
-
|
|
59
55
|
if (str[0] === ":") {
|
|
60
56
|
const perms = str.slice(1).split("").map(p => aliases[p]);
|
|
61
57
|
const bad = perms.find(p => !p);
|
|
62
|
-
|
|
63
58
|
if (bad) {
|
|
64
59
|
throw new Error(`${errorPrefix} - abbreviated parameter '${bad}' not understood`);
|
|
65
60
|
}
|
|
66
|
-
|
|
67
61
|
return perms;
|
|
68
62
|
} else {
|
|
69
|
-
const perms = str.split(",");
|
|
70
|
-
|
|
63
|
+
const perms = str.split(",");
|
|
64
|
+
// TODO: warning if not in list?
|
|
71
65
|
return perms;
|
|
72
66
|
}
|
|
73
67
|
}));
|
|
74
|
-
|
|
75
68
|
if (all) {
|
|
76
69
|
return true;
|
|
77
70
|
}
|
|
78
|
-
|
|
79
71
|
return arrayNormalized;
|
|
80
72
|
}
|
|
81
|
-
|
|
82
73
|
function omit(entity, permission) {
|
|
83
74
|
const tags = entity.tags;
|
|
84
|
-
const omitSpecRaw = tags.omit;
|
|
85
|
-
// filter we added would become a breaking change for people using @include.
|
|
75
|
+
const omitSpecRaw = tags.omit;
|
|
86
76
|
|
|
87
|
-
|
|
77
|
+
// '@include' is not being released yet because it would mean every new
|
|
78
|
+
// filter we added would become a breaking change for people using @include.
|
|
79
|
+
const includeSpecRaw = null;
|
|
80
|
+
// const includeSpecRaw = tags.include;
|
|
88
81
|
|
|
89
82
|
if (omitSpecRaw && includeSpecRaw) {
|
|
90
83
|
throw new Error(`Error when processing instructions for ${entity.kind} '${entity.name}' - you must only specify @omit or @include, not both`);
|
|
91
84
|
}
|
|
92
|
-
|
|
93
85
|
const omitSpec = parse(omitSpecRaw, `Error when processing @omit instructions for ${entity.kind} '${entity.name}'`);
|
|
94
86
|
const includeSpec = parse(includeSpecRaw, `Error when processing @include instructions for ${entity.kind} '${entity.name}'`);
|
|
95
|
-
|
|
96
87
|
if (omitSpec) {
|
|
97
88
|
if (omitSpec === true) {
|
|
98
89
|
return true;
|
|
99
90
|
}
|
|
100
|
-
|
|
101
91
|
if (omitSpec.indexOf(READ) >= 0) {
|
|
102
92
|
const bad = PERMISSIONS_THAT_REQUIRE_READ.filter(p => omitSpec.indexOf(p) === -1);
|
|
103
|
-
|
|
104
93
|
if (bad.length > 0) {
|
|
105
94
|
throw new Error(`Processing @omit for ${entity.kind} '${entity.name}' - '${bad.join(",")}' must be omitted when '${READ}' is omitted. Add '${bad.join(",")}' to the @omit clause, or use '@omit' to omit all actions.`);
|
|
106
95
|
}
|
|
107
96
|
}
|
|
108
|
-
|
|
109
97
|
return omitSpec.indexOf(permission) >= 0;
|
|
110
98
|
} else if (includeSpec) {
|
|
111
99
|
if (includeSpec === true) {
|
|
112
100
|
throw new Error(`Error when processing instructions for ${entity.kind} '${entity.name}' - @include should specify a list of actions`);
|
|
113
101
|
}
|
|
114
|
-
|
|
115
102
|
if (includeSpec.indexOf(READ) === -1) {
|
|
116
103
|
const bad = PERMISSIONS_THAT_REQUIRE_READ.find(p => includeSpec.indexOf(p) >= 0);
|
|
117
|
-
|
|
118
104
|
if (bad) {
|
|
119
105
|
throw new Error(`Error when processing @include for ${entity.kind} '${entity.name}' - we currently don't support '${bad}' when '${READ}' is forbidden`);
|
|
120
106
|
}
|
|
121
107
|
}
|
|
122
|
-
|
|
123
108
|
return includeSpec.indexOf(permission) === -1;
|
|
124
109
|
} else {
|
|
125
110
|
return false;
|
package/node8plus/omit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"omit.js","names":["CREATE","exports","READ","UPDATE","DELETE","FILTER","ORDER","ALL","MANY","EXECUTE","BASE","aliases","C","R","U","D","F","O","A","M","X","B","PERMISSIONS_THAT_REQUIRE_READ","parse","arrOrNot","errorPrefix","arr","Array","isArray","all","arrayNormalized","concat","map","str","perms","slice","split","p","bad","find","Error","omit","entity","permission","tags","omitSpecRaw","includeSpecRaw","kind","name","omitSpec","includeSpec","indexOf","filter","length","join"],"sources":["../src/omit.js"],"sourcesContent":["// @flow\n\nimport type {\n PgProc,\n PgClass,\n PgAttribute,\n PgConstraint,\n} from \"./plugins/PgIntrospectionPlugin\";\n\n/*\n * Please only use capitals for aliases and lower case for the values.\n */\nexport const CREATE = \"create\";\nexport const READ = \"read\";\nexport const UPDATE = \"update\";\nexport const DELETE = \"delete\";\nexport const FILTER = \"filter\";\nexport const ORDER = \"order\";\nexport const ALL = \"all\";\nexport const MANY = \"many\";\nexport const EXECUTE = \"execute\";\nexport const BASE = \"base\";\n\nconst aliases = {\n C: CREATE,\n R: READ,\n U: UPDATE,\n D: DELETE,\n F: FILTER,\n O: ORDER,\n A: ALL,\n M: MANY,\n X: EXECUTE,\n B: BASE,\n};\n\nconst PERMISSIONS_THAT_REQUIRE_READ = [UPDATE, CREATE, DELETE, ALL, MANY];\n\nfunction parse(arrOrNot, errorPrefix = \"Error\") {\n if (!arrOrNot) {\n return null;\n }\n const arr = Array.isArray(arrOrNot) ? arrOrNot : [arrOrNot];\n let all = false;\n const arrayNormalized = [].concat(\n ...arr.map(str => {\n if (str === true || str === \"*\") {\n all = true;\n return [];\n }\n if (str[0] === \":\") {\n const perms = str\n .slice(1)\n .split(\"\")\n .map(p => aliases[p]);\n const bad = perms.find(p => !p);\n if (bad) {\n throw new Error(\n `${errorPrefix} - abbreviated parameter '${bad}' not understood`\n );\n }\n return perms;\n } else {\n const perms = str.split(\",\");\n // TODO: warning if not in list?\n return perms;\n }\n })\n );\n if (all) {\n return true;\n }\n return arrayNormalized;\n}\n\nexport default function omit(\n entity: PgProc | PgClass | PgAttribute | PgConstraint,\n permission: string\n) {\n const tags = entity.tags;\n const omitSpecRaw = tags.omit;\n\n // '@include' is not being released yet because it would mean every new\n // filter we added would become a breaking change for people using @include.\n const includeSpecRaw = null;\n // const includeSpecRaw = tags.include;\n\n if (omitSpecRaw && includeSpecRaw) {\n throw new Error(\n `Error when processing instructions for ${entity.kind} '${entity.name}' - you must only specify @omit or @include, not both`\n );\n }\n const omitSpec = parse(\n omitSpecRaw,\n `Error when processing @omit instructions for ${entity.kind} '${entity.name}'`\n );\n const includeSpec = parse(\n includeSpecRaw,\n `Error when processing @include instructions for ${entity.kind} '${entity.name}'`\n );\n\n if (omitSpec) {\n if (omitSpec === true) {\n return true;\n }\n if (omitSpec.indexOf(READ) >= 0) {\n const bad = PERMISSIONS_THAT_REQUIRE_READ.filter(\n p => omitSpec.indexOf(p) === -1\n );\n if (bad.length > 0) {\n throw new Error(\n `Processing @omit for ${entity.kind} '${entity.name}' - '${bad.join(\n \",\"\n )}' must be omitted when '${READ}' is omitted. Add '${bad.join(\n \",\"\n )}' to the @omit clause, or use '@omit' to omit all actions.`\n );\n }\n }\n return omitSpec.indexOf(permission) >= 0;\n } else if (includeSpec) {\n if (includeSpec === true) {\n throw new Error(\n `Error when processing instructions for ${entity.kind} '${entity.name}' - @include should specify a list of actions`\n );\n }\n if (includeSpec.indexOf(READ) === -1) {\n const bad = PERMISSIONS_THAT_REQUIRE_READ.find(\n p => includeSpec.indexOf(p) >= 0\n );\n if (bad) {\n throw new Error(\n `Error when processing @include for ${entity.kind} '${entity.name}' - we currently don't support '${bad}' when '${READ}' is forbidden`\n );\n }\n }\n return includeSpec.indexOf(permission) === -1;\n } else {\n return false;\n }\n}\n"],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = parseIdentifier;
|
|
7
|
-
|
|
8
7
|
function parseIdentifier(typeIdentifier) {
|
|
9
8
|
const match = typeIdentifier.match(/^(?:([a-zA-Z0-9_]+)|"([^"]*)")\.(?:([a-zA-Z0-9_]+)|"([^"]*)")$/);
|
|
10
9
|
if (!match) throw new Error(`Type identifier '${typeIdentifier}' is of the incorrect form.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"parseIdentifier.js","names":["parseIdentifier","typeIdentifier","match","Error","namespaceName","entityName"],"sources":["../src/parseIdentifier.js"],"sourcesContent":["export default function parseIdentifier(typeIdentifier) {\n const match = typeIdentifier.match(\n /^(?:([a-zA-Z0-9_]+)|\"([^\"]*)\")\\.(?:([a-zA-Z0-9_]+)|\"([^\"]*)\")$/\n );\n\n if (!match)\n throw new Error(\n `Type identifier '${typeIdentifier}' is of the incorrect form.`\n );\n\n return {\n namespaceName: match[1] || match[2],\n entityName: match[3] || match[4],\n };\n}\n"],"mappings":";;;;;;AAAe,SAASA,eAAeA,CAACC,cAAc,EAAE;EACtD,MAAMC,KAAK,GAAGD,cAAc,CAACC,KAAK,CAChC,gEACF,CAAC;EAED,IAAI,CAACA,KAAK,EACR,MAAM,IAAIC,KAAK,CACZ,oBAAmBF,cAAe,6BACrC,CAAC;EAEH,OAAO;IACLG,aAAa,EAAEF,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC;IACnCG,UAAU,EAAEH,KAAK,CAAC,CAAC,CAAC,IAAIA,KAAK,CAAC,CAAC;EACjC,CAAC;AACH"}
|
|
@@ -4,40 +4,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = pgPrepareAndRun;
|
|
7
|
-
|
|
8
7
|
var _crypto = require("crypto");
|
|
9
|
-
|
|
10
8
|
var _lru = _interopRequireDefault(require("@graphile/lru"));
|
|
11
|
-
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
10
|
const cacheSizeFromEnv = parseInt(process.env.POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE, 10);
|
|
15
11
|
const POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE = !!cacheSizeFromEnv || cacheSizeFromEnv === 0 ? cacheSizeFromEnv : 100;
|
|
16
12
|
let lastString;
|
|
17
13
|
let lastHash;
|
|
18
|
-
|
|
19
14
|
const hash = str => {
|
|
20
15
|
if (str !== lastString) {
|
|
21
16
|
lastString = str;
|
|
22
17
|
lastHash = (0, _crypto.createHash)("sha1").update(str).digest("base64");
|
|
23
18
|
}
|
|
24
|
-
|
|
25
19
|
return lastHash;
|
|
26
20
|
};
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
function pgPrepareAndRun(pgClient, text,
|
|
22
|
+
// eslint-disable-next-line flowtype/no-weak-types
|
|
29
23
|
values) {
|
|
30
24
|
const connection = pgClient.connection;
|
|
31
|
-
|
|
32
25
|
if (!values || POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE < 2 || !connection || !connection.parsedStatements) {
|
|
33
26
|
return pgClient.query(text, values);
|
|
34
27
|
} else {
|
|
35
28
|
const name = hash(text);
|
|
36
|
-
|
|
37
29
|
if (!connection._graphilePreparedStatementCache) {
|
|
38
30
|
connection._graphilePreparedStatementCache = new _lru.default({
|
|
39
31
|
maxLength: POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE,
|
|
40
|
-
|
|
41
32
|
dispose(key) {
|
|
42
33
|
if (connection.parsedStatements[key]) {
|
|
43
34
|
pgClient.query(`deallocate ${pgClient.escapeIdentifier(key)}`).then(() => {
|
|
@@ -48,15 +39,12 @@ values) {
|
|
|
48
39
|
});
|
|
49
40
|
}
|
|
50
41
|
}
|
|
51
|
-
|
|
52
42
|
});
|
|
53
43
|
}
|
|
54
|
-
|
|
55
44
|
if (!connection._graphilePreparedStatementCache.get(name)) {
|
|
56
45
|
// We're relying on dispose to clear out the old ones.
|
|
57
46
|
connection._graphilePreparedStatementCache.set(name, true);
|
|
58
47
|
}
|
|
59
|
-
|
|
60
48
|
return pgClient.query({
|
|
61
49
|
name,
|
|
62
50
|
text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"pgPrepareAndRun.js","names":["_crypto","require","_lru","_interopRequireDefault","obj","__esModule","default","cacheSizeFromEnv","parseInt","process","env","POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE","lastString","lastHash","hash","str","createHash","update","digest","pgPrepareAndRun","pgClient","text","values","connection","parsedStatements","query","name","_graphilePreparedStatementCache","LRU","maxLength","dispose","key","escapeIdentifier","then","catch","e","console","error","get","set"],"sources":["../src/pgPrepareAndRun.js"],"sourcesContent":["//@flow\nimport { createHash } from \"crypto\";\nimport LRU from \"@graphile/lru\";\nimport type { PoolClient } from \"pg\";\n\nconst cacheSizeFromEnv = parseInt(\n process.env.POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE,\n 10\n);\nconst POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE =\n !!cacheSizeFromEnv || cacheSizeFromEnv === 0 ? cacheSizeFromEnv : 100;\n\nlet lastString: string;\nlet lastHash: string;\nconst hash = (str: string): string => {\n if (str !== lastString) {\n lastString = str;\n lastHash = createHash(\"sha1\").update(str).digest(\"base64\");\n }\n return lastHash;\n};\n\nexport default function pgPrepareAndRun(\n pgClient: PoolClient,\n text: string,\n // eslint-disable-next-line flowtype/no-weak-types\n values: any\n) {\n const connection = pgClient.connection;\n if (\n !values ||\n POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE < 2 ||\n !connection ||\n !connection.parsedStatements\n ) {\n return pgClient.query(text, values);\n } else {\n const name = hash(text);\n if (!connection._graphilePreparedStatementCache) {\n connection._graphilePreparedStatementCache = new LRU({\n maxLength: POSTGRAPHILE_PREPARED_STATEMENT_CACHE_SIZE,\n dispose(key) {\n if (connection.parsedStatements[key]) {\n pgClient\n .query(`deallocate ${pgClient.escapeIdentifier(key)}`)\n .then(() => {\n delete connection.parsedStatements[key];\n })\n .catch(e => {\n // eslint-disable-next-line no-console\n console.error(\"Error releasing prepared query\", e);\n });\n }\n },\n });\n }\n if (!connection._graphilePreparedStatementCache.get(name)) {\n // We're relying on dispose to clear out the old ones.\n connection._graphilePreparedStatementCache.set(name, true);\n }\n return pgClient.query({\n name,\n text,\n values,\n });\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAgC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAGhC,MAAMG,gBAAgB,GAAGC,QAAQ,CAC/BC,OAAO,CAACC,GAAG,CAACC,0CAA0C,EACtD,EACF,CAAC;AACD,MAAMA,0CAA0C,GAC9C,CAAC,CAACJ,gBAAgB,IAAIA,gBAAgB,KAAK,CAAC,GAAGA,gBAAgB,GAAG,GAAG;AAEvE,IAAIK,UAAkB;AACtB,IAAIC,QAAgB;AACpB,MAAMC,IAAI,GAAIC,GAAW,IAAa;EACpC,IAAIA,GAAG,KAAKH,UAAU,EAAE;IACtBA,UAAU,GAAGG,GAAG;IAChBF,QAAQ,GAAG,IAAAG,kBAAU,EAAC,MAAM,CAAC,CAACC,MAAM,CAACF,GAAG,CAAC,CAACG,MAAM,CAAC,QAAQ,CAAC;EAC5D;EACA,OAAOL,QAAQ;AACjB,CAAC;AAEc,SAASM,eAAeA,CACrCC,QAAoB,EACpBC,IAAY;AACZ;AACAC,MAAW,EACX;EACA,MAAMC,UAAU,GAAGH,QAAQ,CAACG,UAAU;EACtC,IACE,CAACD,MAAM,IACPX,0CAA0C,GAAG,CAAC,IAC9C,CAACY,UAAU,IACX,CAACA,UAAU,CAACC,gBAAgB,EAC5B;IACA,OAAOJ,QAAQ,CAACK,KAAK,CAACJ,IAAI,EAAEC,MAAM,CAAC;EACrC,CAAC,MAAM;IACL,MAAMI,IAAI,GAAGZ,IAAI,CAACO,IAAI,CAAC;IACvB,IAAI,CAACE,UAAU,CAACI,+BAA+B,EAAE;MAC/CJ,UAAU,CAACI,+BAA+B,GAAG,IAAIC,YAAG,CAAC;QACnDC,SAAS,EAAElB,0CAA0C;QACrDmB,OAAOA,CAACC,GAAG,EAAE;UACX,IAAIR,UAAU,CAACC,gBAAgB,CAACO,GAAG,CAAC,EAAE;YACpCX,QAAQ,CACLK,KAAK,CAAE,cAAaL,QAAQ,CAACY,gBAAgB,CAACD,GAAG,CAAE,EAAC,CAAC,CACrDE,IAAI,CAAC,MAAM;cACV,OAAOV,UAAU,CAACC,gBAAgB,CAACO,GAAG,CAAC;YACzC,CAAC,CAAC,CACDG,KAAK,CAACC,CAAC,IAAI;cACV;cACAC,OAAO,CAACC,KAAK,CAAC,gCAAgC,EAAEF,CAAC,CAAC;YACpD,CAAC,CAAC;UACN;QACF;MACF,CAAC,CAAC;IACJ;IACA,IAAI,CAACZ,UAAU,CAACI,+BAA+B,CAACW,GAAG,CAACZ,IAAI,CAAC,EAAE;MACzD;MACAH,UAAU,CAACI,+BAA+B,CAACY,GAAG,CAACb,IAAI,EAAE,IAAI,CAAC;IAC5D;IACA,OAAON,QAAQ,CAACK,KAAK,CAAC;MACpBC,IAAI;MACJL,IAAI;MACJC;IACF,CAAC,CAAC;EACJ;AACF"}
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var PageInfoStartEndCursor = function PageInfoStartEndCursor(builder) {
|
|
9
8
|
builder.hook("GraphQLObjectType:fields", (fields, build, context) => {
|
|
10
9
|
const {
|
|
@@ -16,11 +15,9 @@ var PageInfoStartEndCursor = function PageInfoStartEndCursor(builder) {
|
|
|
16
15
|
Self,
|
|
17
16
|
fieldWithHooks
|
|
18
17
|
} = context;
|
|
19
|
-
|
|
20
18
|
if (Self.name !== inflection.builtin("PageInfo")) {
|
|
21
19
|
return fields;
|
|
22
20
|
}
|
|
23
|
-
|
|
24
21
|
const Cursor = getTypeByName("Cursor");
|
|
25
22
|
return extend(fields, {
|
|
26
23
|
startCursor: fieldWithHooks("startCursor", ({
|
|
@@ -52,6 +49,5 @@ var PageInfoStartEndCursor = function PageInfoStartEndCursor(builder) {
|
|
|
52
49
|
}, `Adding startCursor/endCursor to ${Self.name}`);
|
|
53
50
|
}, ["PageInfoStartEndCursor"], [], ["Cursor"]);
|
|
54
51
|
};
|
|
55
|
-
|
|
56
52
|
exports.default = PageInfoStartEndCursor;
|
|
57
53
|
//# sourceMappingURL=PageInfoStartEndCursor.js.map
|