postgraphile 4.13.0 → 5.0.0-0.10
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/CHANGELOG.md +118 -0
- package/LICENSE.md +15 -20
- package/README.md +15 -170
- package/dist/cli-run.d.ts +3 -0
- package/dist/cli-run.d.ts.map +1 -0
- package/dist/cli-run.js +7 -0
- package/dist/cli-run.js.map +1 -0
- package/dist/cli.d.ts +21 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +199 -0
- package/dist/cli.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +88 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/PgV4BehaviorPlugin.d.ts +11 -0
- package/dist/plugins/PgV4BehaviorPlugin.d.ts.map +1 -0
- package/dist/plugins/PgV4BehaviorPlugin.js +73 -0
- package/dist/plugins/PgV4BehaviorPlugin.js.map +1 -0
- package/dist/plugins/PgV4InflectionPlugin.d.ts +11 -0
- package/dist/plugins/PgV4InflectionPlugin.d.ts.map +1 -0
- package/dist/plugins/PgV4InflectionPlugin.js +91 -0
- package/dist/plugins/PgV4InflectionPlugin.js.map +1 -0
- package/dist/plugins/PgV4NoIgnoreIndexes.d.ts +2 -0
- package/dist/plugins/PgV4NoIgnoreIndexes.d.ts.map +1 -0
- package/dist/plugins/PgV4NoIgnoreIndexes.js +72 -0
- package/dist/plugins/PgV4NoIgnoreIndexes.js.map +1 -0
- package/dist/plugins/PgV4SmartTagsPlugin.d.ts +11 -0
- package/dist/plugins/PgV4SmartTagsPlugin.d.ts.map +1 -0
- package/dist/plugins/PgV4SmartTagsPlugin.js +190 -0
- package/dist/plugins/PgV4SmartTagsPlugin.js.map +1 -0
- package/dist/presets/amber.d.ts +5 -0
- package/dist/presets/amber.d.ts.map +1 -0
- package/dist/presets/amber.js +38 -0
- package/dist/presets/amber.js.map +1 -0
- package/dist/presets/v4.d.ts +34 -0
- package/dist/presets/v4.d.ts.map +1 -0
- package/dist/presets/v4.js +142 -0
- package/dist/presets/v4.js.map +1 -0
- package/dist/schema.d.ts +34 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +82 -0
- package/dist/schema.js.map +1 -0
- package/package.json +79 -154
- package/build/assets/favicon.ico.d.ts +0 -3
- package/build/assets/favicon.ico.js +0 -6
- package/build/assets/graphiql.html.d.ts +0 -2
- package/build/assets/graphiql.html.js +0 -6
- package/build/index.d.ts +0 -8
- package/build/index.js +0 -34
- package/build/interfaces.d.ts +0 -163
- package/build/interfaces.js +0 -3
- package/build/plugins.d.ts +0 -3
- package/build/plugins.js +0 -53
- package/build/postgraphile/cli.d.ts +0 -3
- package/build/postgraphile/cli.js +0 -541
- package/build/postgraphile/extendedFormatError.d.ts +0 -9
- package/build/postgraphile/extendedFormatError.js +0 -51
- package/build/postgraphile/http/createPostGraphileHttpRequestHandler.d.ts +0 -11
- package/build/postgraphile/http/createPostGraphileHttpRequestHandler.js +0 -976
- package/build/postgraphile/http/frameworks.d.ts +0 -110
- package/build/postgraphile/http/frameworks.js +0 -258
- package/build/postgraphile/http/liveSubscribe.d.ts +0 -22
- package/build/postgraphile/http/liveSubscribe.js +0 -89
- package/build/postgraphile/http/mapAsyncIterator.d.ts +0 -15
- package/build/postgraphile/http/mapAsyncIterator.js +0 -71
- package/build/postgraphile/http/setupServerSentEvents.d.ts +0 -9
- package/build/postgraphile/http/setupServerSentEvents.js +0 -51
- package/build/postgraphile/http/subscriptions.d.ts +0 -7
- package/build/postgraphile/http/subscriptions.js +0 -411
- package/build/postgraphile/index.d.ts +0 -5
- package/build/postgraphile/index.js +0 -14
- package/build/postgraphile/pluginHook.d.ts +0 -104
- package/build/postgraphile/pluginHook.js +0 -100
- package/build/postgraphile/postgraphile.d.ts +0 -20
- package/build/postgraphile/postgraphile.js +0 -332
- package/build/postgraphile/postgraphilerc.d.ts +0 -2
- package/build/postgraphile/postgraphilerc.js +0 -16
- package/build/postgraphile/schema/exportPostGraphileSchema.d.ts +0 -6
- package/build/postgraphile/schema/exportPostGraphileSchema.js +0 -45
- package/build/postgraphile/shutdownActions.d.ts +0 -41
- package/build/postgraphile/shutdownActions.js +0 -87
- package/build/postgraphile/withPostGraphileContext.d.ts +0 -55
- package/build/postgraphile/withPostGraphileContext.js +0 -457
- package/build/postgres/inventory/pgClientFromContext.d.ts +0 -8
- package/build/postgres/inventory/pgClientFromContext.js +0 -21
- package/build-turbo/assets/favicon.ico.d.ts +0 -3
- package/build-turbo/assets/favicon.ico.js +0 -6
- package/build-turbo/assets/graphiql.html.d.ts +0 -2
- package/build-turbo/assets/graphiql.html.js +0 -6
- package/build-turbo/index.d.ts +0 -8
- package/build-turbo/index.js +0 -34
- package/build-turbo/interfaces.d.ts +0 -163
- package/build-turbo/interfaces.js +0 -3
- package/build-turbo/plugins.d.ts +0 -3
- package/build-turbo/plugins.js +0 -53
- package/build-turbo/postgraphile/cli.d.ts +0 -3
- package/build-turbo/postgraphile/cli.js +0 -572
- package/build-turbo/postgraphile/extendedFormatError.d.ts +0 -9
- package/build-turbo/postgraphile/extendedFormatError.js +0 -61
- package/build-turbo/postgraphile/http/createPostGraphileHttpRequestHandler.d.ts +0 -11
- package/build-turbo/postgraphile/http/createPostGraphileHttpRequestHandler.js +0 -984
- package/build-turbo/postgraphile/http/frameworks.d.ts +0 -110
- package/build-turbo/postgraphile/http/frameworks.js +0 -258
- package/build-turbo/postgraphile/http/liveSubscribe.d.ts +0 -22
- package/build-turbo/postgraphile/http/liveSubscribe.js +0 -89
- package/build-turbo/postgraphile/http/mapAsyncIterator.d.ts +0 -15
- package/build-turbo/postgraphile/http/mapAsyncIterator.js +0 -71
- package/build-turbo/postgraphile/http/setupServerSentEvents.d.ts +0 -9
- package/build-turbo/postgraphile/http/setupServerSentEvents.js +0 -51
- package/build-turbo/postgraphile/http/subscriptions.d.ts +0 -7
- package/build-turbo/postgraphile/http/subscriptions.js +0 -410
- package/build-turbo/postgraphile/index.d.ts +0 -5
- package/build-turbo/postgraphile/index.js +0 -14
- package/build-turbo/postgraphile/pluginHook.d.ts +0 -104
- package/build-turbo/postgraphile/pluginHook.js +0 -100
- package/build-turbo/postgraphile/postgraphile.d.ts +0 -20
- package/build-turbo/postgraphile/postgraphile.js +0 -337
- package/build-turbo/postgraphile/postgraphilerc.d.ts +0 -2
- package/build-turbo/postgraphile/postgraphilerc.js +0 -16
- package/build-turbo/postgraphile/schema/exportPostGraphileSchema.d.ts +0 -6
- package/build-turbo/postgraphile/schema/exportPostGraphileSchema.js +0 -45
- package/build-turbo/postgraphile/shutdownActions.d.ts +0 -41
- package/build-turbo/postgraphile/shutdownActions.js +0 -87
- package/build-turbo/postgraphile/withPostGraphileContext.d.ts +0 -55
- package/build-turbo/postgraphile/withPostGraphileContext.js +0 -466
- package/build-turbo/postgres/inventory/pgClientFromContext.d.ts +0 -8
- package/build-turbo/postgres/inventory/pgClientFromContext.js +0 -21
- package/cli.js +0 -6
- package/index.js +0 -5
- package/isTurbo.js +0 -11
- package/plugins.d.ts +0 -1
- package/plugins.js +0 -5
- package/sponsors.json +0 -151
package/dist/index.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postgraphile = exports.makeSchema = exports.makePgSources = void 0;
|
|
4
|
+
// Copy the types through for our dependents
|
|
5
|
+
require("graphile-build");
|
|
6
|
+
require("graphile-build-pg");
|
|
7
|
+
const grafast_1 = require("grafast");
|
|
8
|
+
const graphile_config_1 = require("graphile-config");
|
|
9
|
+
const schema_js_1 = require("./schema.js");
|
|
10
|
+
var schema_js_2 = require("./schema.js");
|
|
11
|
+
Object.defineProperty(exports, "makePgSources", { enumerable: true, get: function () { return schema_js_2.makePgSources; } });
|
|
12
|
+
Object.defineProperty(exports, "makeSchema", { enumerable: true, get: function () { return schema_js_2.makeSchema; } });
|
|
13
|
+
function postgraphile(preset) {
|
|
14
|
+
const config = (0, graphile_config_1.resolvePresets)([preset]);
|
|
15
|
+
let serverParams;
|
|
16
|
+
let stopWatchingPromise = null;
|
|
17
|
+
if (config.server?.watch) {
|
|
18
|
+
serverParams = (0, grafast_1.defer)();
|
|
19
|
+
stopWatchingPromise = (0, schema_js_1.watchSchema)(preset, (error, newParams) => {
|
|
20
|
+
if (error || !newParams) {
|
|
21
|
+
console.error("Watch error: ", error);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const oldServerParams = serverParams;
|
|
25
|
+
serverParams = newParams;
|
|
26
|
+
if (oldServerParams !== null &&
|
|
27
|
+
"resolve" in oldServerParams &&
|
|
28
|
+
typeof oldServerParams.resolve === "function") {
|
|
29
|
+
oldServerParams.resolve(serverParams);
|
|
30
|
+
}
|
|
31
|
+
if (server) {
|
|
32
|
+
server.setParams(serverParams);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
serverParams = (0, schema_js_1.makeSchema)(preset);
|
|
38
|
+
}
|
|
39
|
+
let server;
|
|
40
|
+
let released = false;
|
|
41
|
+
function assertAlive() {
|
|
42
|
+
if (released) {
|
|
43
|
+
throw new Error(`PostGraphile instance has been released`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
async getGrafserv() {
|
|
48
|
+
assertAlive();
|
|
49
|
+
if (!server) {
|
|
50
|
+
const { grafserv } = await import("grafserv");
|
|
51
|
+
server = grafserv(config, serverParams);
|
|
52
|
+
server.onRelease(() => {
|
|
53
|
+
if (!released) {
|
|
54
|
+
throw new Error(`Grafserv instance released before PostGraphile instance; this is forbidden.`);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return server;
|
|
59
|
+
},
|
|
60
|
+
async getServerParams() {
|
|
61
|
+
assertAlive();
|
|
62
|
+
return serverParams;
|
|
63
|
+
},
|
|
64
|
+
async getSchema() {
|
|
65
|
+
assertAlive();
|
|
66
|
+
return (await serverParams).schema;
|
|
67
|
+
},
|
|
68
|
+
async release() {
|
|
69
|
+
assertAlive();
|
|
70
|
+
released = true;
|
|
71
|
+
if (server) {
|
|
72
|
+
await server.release();
|
|
73
|
+
}
|
|
74
|
+
if (stopWatchingPromise) {
|
|
75
|
+
try {
|
|
76
|
+
const cb = await stopWatchingPromise;
|
|
77
|
+
cb();
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
/* nom nom nom */
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
exports.postgraphile = postgraphile;
|
|
87
|
+
exports.default = postgraphile;
|
|
88
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,0BAAwB;AACxB,6BAA2B;AAG3B,qCAAgC;AAGhC,qDAAiD;AAGjD,2CAAsD;AAEtD,yCAAwD;AAA/C,0GAAA,aAAa,OAAA;AAAE,uGAAA,UAAU,OAAA;AAIlC,SAAgB,YAAY,CAAC,MAA6B;IAMxD,MAAM,MAAM,GAAG,IAAA,gCAAc,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,IAAI,YAGY,CAAC;IACjB,IAAI,mBAAmB,GAA+B,IAAI,CAAC;IAC3D,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE;QACxB,YAAY,GAAG,IAAA,eAAK,GAAgB,CAAC;QACrC,mBAAmB,GAAG,IAAA,uBAAW,EAAC,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC7D,IAAI,KAAK,IAAI,CAAC,SAAS,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;gBACtC,OAAO;aACR;YACD,MAAM,eAAe,GAAG,YAAY,CAAC;YACrC,YAAY,GAAG,SAAS,CAAC;YACzB,IACE,eAAe,KAAK,IAAI;gBACxB,SAAS,IAAI,eAAe;gBAC5B,OAAO,eAAe,CAAC,OAAO,KAAK,UAAU,EAC7C;gBACA,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aACvC;YACD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,YAAY,GAAG,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC;KACnC;IACD,IAAI,MAA4B,CAAC;IAEjC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,SAAS,WAAW;QAClB,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,OAAO;QACL,KAAK,CAAC,WAAW;YACf,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE9C,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;oBACpB,IAAI,CAAC,QAAQ,EAAE;wBACb,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;qBACH;gBACH,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,CAAC,eAAe;YACnB,WAAW,EAAE,CAAC;YACd,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,KAAK,CAAC,SAAS;YACb,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,YAAY,CAAC,CAAC,MAAM,CAAC;QACrC,CAAC;QACD,KAAK,CAAC,OAAO;YACX,WAAW,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,MAAM,EAAE;gBACV,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;aACxB;YACD,IAAI,mBAAmB,EAAE;gBACvB,IAAI;oBACF,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC;oBACrC,EAAE,EAAE,CAAC;iBACN;gBAAC,OAAO,CAAC,EAAE;oBACV,iBAAiB;iBAClB;aACF;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AArFD,oCAqFC;AAED,kBAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "graphile-config";
|
|
2
|
+
import "graphile-build-pg";
|
|
3
|
+
declare global {
|
|
4
|
+
namespace GraphileConfig {
|
|
5
|
+
interface GatherHelpers {
|
|
6
|
+
pgV4SmartTags: Record<string, never>;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const PgV4BehaviorPlugin: GraphileConfig.Plugin;
|
|
11
|
+
//# sourceMappingURL=PgV4BehaviorPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4BehaviorPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/PgV4BehaviorPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAM3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,aAAa;YACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;CACF;AAsBD,eAAO,MAAM,kBAAkB,EAAE,cAAc,CAAC,MAyD/C,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PgV4BehaviorPlugin = void 0;
|
|
4
|
+
require("graphile-config");
|
|
5
|
+
require("graphile-build-pg");
|
|
6
|
+
const util_1 = require("util");
|
|
7
|
+
const v4ComputedColumnChecks = (s, pgProc) => {
|
|
8
|
+
const args = pgProc.getArguments();
|
|
9
|
+
const firstArg = args[0];
|
|
10
|
+
// Has to be in same schema
|
|
11
|
+
if (firstArg.type.typnamespace !== pgProc.pronamespace) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
// Has to start with the name prefix
|
|
15
|
+
if (!pgProc.proname.startsWith(firstArg.type.typname + "_")) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
19
|
+
};
|
|
20
|
+
exports.PgV4BehaviorPlugin = {
|
|
21
|
+
name: "PgV4BehaviorPlugin",
|
|
22
|
+
description: "For compatibility with PostGraphile v4 schemas, this plugin updates the default behaviors of certain things.",
|
|
23
|
+
version: "0.0.0",
|
|
24
|
+
gather: {
|
|
25
|
+
hooks: {
|
|
26
|
+
pgProcedures_PgSource(info, event) {
|
|
27
|
+
const { source: s } = event;
|
|
28
|
+
// Apply default behavior
|
|
29
|
+
const behavior = [];
|
|
30
|
+
const firstParameter = s.parameters[0];
|
|
31
|
+
if (s.isMutation && s.parameters) {
|
|
32
|
+
behavior.push("-queryField mutationField -typeField");
|
|
33
|
+
}
|
|
34
|
+
else if (s.parameters &&
|
|
35
|
+
s.parameters?.[0]?.codec?.columns &&
|
|
36
|
+
!s.isMutation &&
|
|
37
|
+
v4ComputedColumnChecks(s, event.pgProc)) {
|
|
38
|
+
behavior.push("-queryField -mutationField typeField");
|
|
39
|
+
}
|
|
40
|
+
else if (!s.isMutation &&
|
|
41
|
+
s.parameters &&
|
|
42
|
+
// Don't default to this being a queryField if it looks like a computed column function
|
|
43
|
+
(!firstParameter?.codec?.columns ||
|
|
44
|
+
firstParameter?.codec?.extensions?.isTableLike === false)) {
|
|
45
|
+
behavior.push("queryField -mutationField -typeField");
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
behavior.push("-queryField -mutationField -typeField");
|
|
49
|
+
}
|
|
50
|
+
if (!s.extensions) {
|
|
51
|
+
s.extensions = Object.create(null);
|
|
52
|
+
}
|
|
53
|
+
if (!s.extensions.tags) {
|
|
54
|
+
s.extensions.tags = Object.create(null);
|
|
55
|
+
}
|
|
56
|
+
const b = s.extensions.tags.behavior;
|
|
57
|
+
if (!b) {
|
|
58
|
+
s.extensions.tags.behavior = behavior;
|
|
59
|
+
}
|
|
60
|
+
else if (typeof b === "string") {
|
|
61
|
+
s.extensions.tags.behavior = [...behavior, b];
|
|
62
|
+
}
|
|
63
|
+
else if (Array.isArray(b)) {
|
|
64
|
+
s.extensions.tags.behavior = [...behavior, ...b];
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
throw new Error(`${s}.extensions.tags.behavior has unknown shape '${(0, util_1.inspect)(b)}'`);
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=PgV4BehaviorPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4BehaviorPlugin.js","sourceRoot":"","sources":["../../src/plugins/PgV4BehaviorPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "graphile-config";
|
|
2
|
+
import "graphile-build-pg";
|
|
3
|
+
declare global {
|
|
4
|
+
namespace GraphileConfig {
|
|
5
|
+
interface GatherHelpers {
|
|
6
|
+
pgV4SmartTags: Record<string, never>;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const PgV4InflectionPlugin: GraphileConfig.Plugin;
|
|
11
|
+
//# sourceMappingURL=PgV4InflectionPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4InflectionPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/PgV4InflectionPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAE3B,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,aAAa;YACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;CACF;AAED,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAAC,MAwFjD,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PgV4InflectionPlugin = void 0;
|
|
4
|
+
require("graphile-config");
|
|
5
|
+
require("graphile-build-pg");
|
|
6
|
+
exports.PgV4InflectionPlugin = {
|
|
7
|
+
name: "PgV4InflectionPlugin",
|
|
8
|
+
description: "For compatibility with PostGraphile v4 schemas, this plugin emulates the default version 4 inflectors",
|
|
9
|
+
version: "0.0.0",
|
|
10
|
+
inflection: {
|
|
11
|
+
ignoreReplaceIfNotExists: ["deletedNodeId"],
|
|
12
|
+
replace: {
|
|
13
|
+
_schemaPrefix() {
|
|
14
|
+
return ``;
|
|
15
|
+
},
|
|
16
|
+
enumValue(previous, options, value, codec) {
|
|
17
|
+
const oldValue = previous.call(this, value, codec);
|
|
18
|
+
return this.coerceToGraphQLName(this.constantCase(oldValue));
|
|
19
|
+
},
|
|
20
|
+
_columnName(previous, options, details) {
|
|
21
|
+
const { codec, columnName } = details;
|
|
22
|
+
const column = codec.columns[columnName];
|
|
23
|
+
if (!column) {
|
|
24
|
+
throw new Error(`Attempted to access column '${columnName}' of codec '${codec.name}', but it doesn't have that column (known columns: ${Object.keys(codec.columns).join(", ")})`);
|
|
25
|
+
}
|
|
26
|
+
if (column.extensions?.argIndex != null && !column.extensions.argName) {
|
|
27
|
+
return `arg${column.extensions.argIndex + 1}`;
|
|
28
|
+
}
|
|
29
|
+
return previous.call(this, details);
|
|
30
|
+
},
|
|
31
|
+
functionMutationResultFieldName(previous, options, details) {
|
|
32
|
+
const { source, returnGraphQLTypeName } = details;
|
|
33
|
+
if (source.extensions?.tags?.resultFieldName) {
|
|
34
|
+
return source.extensions.tags.resultFieldName;
|
|
35
|
+
}
|
|
36
|
+
let name;
|
|
37
|
+
if (source.extensions?.singleOutputParameterName) {
|
|
38
|
+
name = this.camelCase(source.extensions.singleOutputParameterName);
|
|
39
|
+
}
|
|
40
|
+
else if (returnGraphQLTypeName === "Int") {
|
|
41
|
+
name = "integer";
|
|
42
|
+
}
|
|
43
|
+
else if (returnGraphQLTypeName === "Float") {
|
|
44
|
+
name = "float";
|
|
45
|
+
}
|
|
46
|
+
else if (returnGraphQLTypeName === "Boolean") {
|
|
47
|
+
name = "boolean";
|
|
48
|
+
}
|
|
49
|
+
else if (returnGraphQLTypeName === "String") {
|
|
50
|
+
name = "string";
|
|
51
|
+
}
|
|
52
|
+
else if (source.codec.isAnonymous) {
|
|
53
|
+
// returns a record type
|
|
54
|
+
name = "result";
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
name = this.camelCase(returnGraphQLTypeName);
|
|
58
|
+
}
|
|
59
|
+
const plural = !source.isUnique || !!source.codec.arrayOfCodec;
|
|
60
|
+
return plural ? this.pluralize(name) : name;
|
|
61
|
+
},
|
|
62
|
+
deletedNodeId(previous, options, { source }) {
|
|
63
|
+
// Silly V4 behavior
|
|
64
|
+
return this.camelCase(`deleted-${this.singularize(source.extensions?.tags?.originalName ?? this._sourceName(source))}-id`);
|
|
65
|
+
},
|
|
66
|
+
orderByType(previous, options, typeName) {
|
|
67
|
+
return this.upperCamelCase(`${this.pluralize(typeName)}-order-by`);
|
|
68
|
+
},
|
|
69
|
+
tableConnectionType(previous, options, codec) {
|
|
70
|
+
if (codec.isAnonymous) {
|
|
71
|
+
return this.connectionType(this.tableType(codec));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return this.connectionType(this.pluralize(this.tableType(codec)));
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
tableEdgeField(previous, options, codec) {
|
|
78
|
+
return this.camelCase(`${this.tableType(codec)}-edge`);
|
|
79
|
+
},
|
|
80
|
+
tableEdgeType(previous, options, codec) {
|
|
81
|
+
if (codec.isAnonymous) {
|
|
82
|
+
return this.edgeType(this.tableType(codec));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
return this.edgeType(this.pluralize(this.tableType(codec)));
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=PgV4InflectionPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4InflectionPlugin.js","sourceRoot":"","sources":["../../src/plugins/PgV4InflectionPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4NoIgnoreIndexes.d.ts","sourceRoot":"","sources":["../../src/plugins/PgV4NoIgnoreIndexes.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,EAAE,cAAc,CAAC,MA6EtD,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PgV4NoIgnoreIndexesPlugin = void 0;
|
|
4
|
+
const graphile_build_pg_1 = require("graphile-build-pg");
|
|
5
|
+
exports.PgV4NoIgnoreIndexesPlugin = {
|
|
6
|
+
name: "PgV4NoIgnoreIndexesPlugin",
|
|
7
|
+
version: "0.0.0",
|
|
8
|
+
gather: {
|
|
9
|
+
hooks: {
|
|
10
|
+
pgRelations_relation(info, event) {
|
|
11
|
+
const { relation, pgConstraint } = event;
|
|
12
|
+
if (pgConstraint._id.startsWith("FAKE_")) {
|
|
13
|
+
// Pretend fake constraints are indexed.
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
// If it's not indexed, remove the list/connection behaviors
|
|
17
|
+
if (relation.isReferencee) {
|
|
18
|
+
const referencedColumns = pgConstraint
|
|
19
|
+
.getAttributes()
|
|
20
|
+
.map((att) => att.attname);
|
|
21
|
+
const remoteIndexes = pgConstraint
|
|
22
|
+
.getClass()
|
|
23
|
+
.getIndexes()
|
|
24
|
+
.filter((idx) => !idx.indpred);
|
|
25
|
+
const isIndexed = remoteIndexes.some((idx) => {
|
|
26
|
+
const cols = idx.getKeys();
|
|
27
|
+
if (cols.length < referencedColumns.length) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
const firstColNames = cols
|
|
31
|
+
.slice(0, referencedColumns.length)
|
|
32
|
+
.map((k) => k?.attname);
|
|
33
|
+
return referencedColumns.every((key) => firstColNames.includes(key));
|
|
34
|
+
});
|
|
35
|
+
if (!isIndexed) {
|
|
36
|
+
if (!relation.extensions) {
|
|
37
|
+
relation.extensions = { tags: Object.create(null) };
|
|
38
|
+
}
|
|
39
|
+
if (!relation.extensions.tags) {
|
|
40
|
+
relation.extensions.tags = Object.create(null);
|
|
41
|
+
}
|
|
42
|
+
(0, graphile_build_pg_1.addBehaviorToTags)(relation.extensions.tags, "-list -connection -single -manyToMany");
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
pgCodecs_column(info, event) {
|
|
47
|
+
const { column, pgAttribute } = event;
|
|
48
|
+
// If this column isn't indexed, remove the filter and order behaviors
|
|
49
|
+
const isIndexed = pgAttribute
|
|
50
|
+
.getClass()
|
|
51
|
+
.getIndexes()
|
|
52
|
+
.some((idx) => {
|
|
53
|
+
if (idx.indpred) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
const keys = idx.getKeys();
|
|
57
|
+
return keys[0]?.attname === pgAttribute.attname;
|
|
58
|
+
});
|
|
59
|
+
if (!isIndexed) {
|
|
60
|
+
if (!column.extensions) {
|
|
61
|
+
column.extensions = {};
|
|
62
|
+
}
|
|
63
|
+
if (!column.extensions.tags) {
|
|
64
|
+
column.extensions.tags = Object.create(null);
|
|
65
|
+
}
|
|
66
|
+
(0, graphile_build_pg_1.addBehaviorToTags)(column.extensions.tags, "-filterBy -orderBy");
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=PgV4NoIgnoreIndexes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4NoIgnoreIndexes.js","sourceRoot":"","sources":["../../src/plugins/PgV4NoIgnoreIndexes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import "graphile-config";
|
|
2
|
+
declare global {
|
|
3
|
+
namespace GraphileConfig {
|
|
4
|
+
interface GatherHelpers {
|
|
5
|
+
pgV4SmartTags: Record<string, never>;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export declare const PgV4SmartTagsPlugin: GraphileConfig.Plugin;
|
|
10
|
+
export default PgV4SmartTagsPlugin;
|
|
11
|
+
//# sourceMappingURL=PgV4SmartTagsPlugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4SmartTagsPlugin.d.ts","sourceRoot":"","sources":["../../src/plugins/PgV4SmartTagsPlugin.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAMzB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,cAAc,CAAC;QACvB,UAAU,aAAa;YACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACtC;KACF;CACF;AAED,eAAO,MAAM,mBAAmB,EAAE,cAAc,CAAC,MAqChD,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PgV4SmartTagsPlugin = void 0;
|
|
4
|
+
require("graphile-config");
|
|
5
|
+
const graphile_build_pg_1 = require("graphile-build-pg");
|
|
6
|
+
const util_1 = require("util");
|
|
7
|
+
exports.PgV4SmartTagsPlugin = {
|
|
8
|
+
name: "PgV4SmartTagsPlugin",
|
|
9
|
+
description: "For compatibility with PostGraphile v4 schemas, this plugin attempts to convert various V4 smart tags (`@omit`, etc) and convert them to V5 behaviors",
|
|
10
|
+
version: "0.0.0",
|
|
11
|
+
after: ["PgSmartCommentsPlugin"],
|
|
12
|
+
before: ["PgFakeConstraintsPlugin", "PgEnumTablesPlugin"],
|
|
13
|
+
provides: ["smart-tags"],
|
|
14
|
+
gather: {
|
|
15
|
+
namespace: "pgV4SmartTags",
|
|
16
|
+
helpers: {},
|
|
17
|
+
hooks: {
|
|
18
|
+
// Run in the 'introspection' phase before anything uses the tags
|
|
19
|
+
pgIntrospection_introspection(info, event) {
|
|
20
|
+
const { introspection } = event;
|
|
21
|
+
// Note the code here relies on the fact that `getTagsAndDescription`
|
|
22
|
+
// memoizes because it mutates the return result; if this changes then
|
|
23
|
+
// the code will no longer achieve its goal.
|
|
24
|
+
for (const pgClass of introspection.classes) {
|
|
25
|
+
processTags(pgClass.getTagsAndDescription().tags);
|
|
26
|
+
}
|
|
27
|
+
for (const pgAttr of introspection.attributes) {
|
|
28
|
+
processTags(pgAttr.getTagsAndDescription().tags);
|
|
29
|
+
}
|
|
30
|
+
for (const pgConstraint of introspection.constraints) {
|
|
31
|
+
processTags(pgConstraint.getTagsAndDescription().tags);
|
|
32
|
+
}
|
|
33
|
+
for (const pgProc of introspection.procs) {
|
|
34
|
+
processTags(pgProc.getTagsAndDescription().tags);
|
|
35
|
+
}
|
|
36
|
+
for (const pgType of introspection.types) {
|
|
37
|
+
processTags(pgType.getTagsAndDescription().tags);
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
exports.default = exports.PgV4SmartTagsPlugin;
|
|
44
|
+
function processTags(tags) {
|
|
45
|
+
processOmit(tags);
|
|
46
|
+
convertBoolean(tags, "sortable", "orderBy order");
|
|
47
|
+
convertBoolean(tags, "filterable", "filter filterBy");
|
|
48
|
+
convertBoolean(tags, "enum", "enum");
|
|
49
|
+
processSimpleCollections(tags);
|
|
50
|
+
}
|
|
51
|
+
function processSimpleCollections(tags) {
|
|
52
|
+
if (tags?.simpleCollections) {
|
|
53
|
+
switch (tags.simpleCollections) {
|
|
54
|
+
case "omit": {
|
|
55
|
+
(0, graphile_build_pg_1.addBehaviorToTags)(tags, "-list +connection", true);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
case "both": {
|
|
59
|
+
(0, graphile_build_pg_1.addBehaviorToTags)(tags, "+list +connection", true);
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
case "only": {
|
|
63
|
+
(0, graphile_build_pg_1.addBehaviorToTags)(tags, "+list -connection", true);
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
default: {
|
|
67
|
+
console.warn(`Did not understand @simpleCollections argument '${tags.simpleCollections}'`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function convertBoolean(tags, key, behavior) {
|
|
73
|
+
if (tags && tags[key]) {
|
|
74
|
+
(0, graphile_build_pg_1.addBehaviorToTags)(tags, behavior, true);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function processOmit(tags) {
|
|
78
|
+
const omit = tags?.omit;
|
|
79
|
+
if (!omit) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
const behavior = [];
|
|
83
|
+
const processOmit = (omit) => {
|
|
84
|
+
if (omit === true || omit === "*") {
|
|
85
|
+
behavior.push("-*");
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (typeof omit !== "string") {
|
|
89
|
+
throw new Error(`Issue in smart tags; expected omit to be true/string/string[], but found something unexpected: ${(0, util_1.inspect)(tags.omit)}`);
|
|
90
|
+
}
|
|
91
|
+
if (omit[0] === ":") {
|
|
92
|
+
// Convert ':' string into longhand
|
|
93
|
+
const letters = omit.slice(1).split("");
|
|
94
|
+
const string = letters
|
|
95
|
+
.map((l) => {
|
|
96
|
+
switch (l) {
|
|
97
|
+
case "C":
|
|
98
|
+
return "create";
|
|
99
|
+
case "R":
|
|
100
|
+
return "read";
|
|
101
|
+
case "U":
|
|
102
|
+
return "update";
|
|
103
|
+
case "D":
|
|
104
|
+
return "delete";
|
|
105
|
+
case "X":
|
|
106
|
+
return "execute";
|
|
107
|
+
case "F":
|
|
108
|
+
return "filter";
|
|
109
|
+
case "O":
|
|
110
|
+
return "order";
|
|
111
|
+
case "A":
|
|
112
|
+
return "all";
|
|
113
|
+
case "M":
|
|
114
|
+
return "many";
|
|
115
|
+
default:
|
|
116
|
+
console.warn(`Abbreviation '${l}' in '@omit' string '${omit}' not recognized.`);
|
|
117
|
+
return l;
|
|
118
|
+
}
|
|
119
|
+
})
|
|
120
|
+
.join(",");
|
|
121
|
+
return processOmit(string);
|
|
122
|
+
}
|
|
123
|
+
const parts = omit.split(",");
|
|
124
|
+
for (const part of parts) {
|
|
125
|
+
switch (part) {
|
|
126
|
+
case "create": {
|
|
127
|
+
behavior.push("-insert");
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
case "read": {
|
|
131
|
+
behavior.push("-select -node");
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
case "update": {
|
|
135
|
+
behavior.push("-update");
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
case "delete": {
|
|
139
|
+
behavior.push("-delete");
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case "execute": {
|
|
143
|
+
behavior.push("-queryField -mutationField -typeField");
|
|
144
|
+
break;
|
|
145
|
+
}
|
|
146
|
+
case "filter": {
|
|
147
|
+
// TODO: we should figure out which of these to use depending on the circumstance
|
|
148
|
+
behavior.push("-filter -filterBy");
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
case "order": {
|
|
152
|
+
// TODO: we should figure out which of these to use depending on the circumstance
|
|
153
|
+
behavior.push("-order -orderBy");
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
case "all": {
|
|
157
|
+
behavior.push("-query:list -query:connection");
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
case "many": {
|
|
161
|
+
behavior.push("-singularRelation:list -singularRelation:connection -manyRelation:list -manyRelation:connection");
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
case "manyToMany": {
|
|
165
|
+
behavior.push("-manyToMany");
|
|
166
|
+
break;
|
|
167
|
+
}
|
|
168
|
+
case "": {
|
|
169
|
+
// ignore
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
default: {
|
|
173
|
+
// TODO: we should give plugin authors the option of adding other
|
|
174
|
+
// omits here, e.g. `@omit manyToMany`
|
|
175
|
+
console.warn(`Option '${part}' in '@omit' string '${omit}' not recognized; assuming -${part} behavior`);
|
|
176
|
+
behavior.push(`-${part}`);
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
};
|
|
182
|
+
if (Array.isArray(omit)) {
|
|
183
|
+
omit.forEach(processOmit);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
processOmit(omit);
|
|
187
|
+
}
|
|
188
|
+
(0, graphile_build_pg_1.addBehaviorToTags)(tags, behavior.join(" "), true);
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=PgV4SmartTagsPlugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PgV4SmartTagsPlugin.js","sourceRoot":"","sources":["../../src/plugins/PgV4SmartTagsPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"amber.d.ts","sourceRoot":"","sources":["../../src/presets/amber.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,CAAC;AAgCzB,eAAO,MAAM,cAAc,EAAE,cAAc,CAAC,MAwB3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,cAAc,CAAC,MAGpD,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|