Initial Save

This commit is contained in:
jackbeeby
2025-03-28 12:30:19 +11:00
parent e381994f19
commit d8773925e8
9910 changed files with 982718 additions and 0 deletions

3
node_modules/graphql-subscriptions/dist/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,3 @@
export { PubSubEngine } from './pubsub-engine';
export { PubSub, PubSubOptions } from './pubsub';
export { withFilter, ResolverFn, FilterFn } from './with-filter';

9
node_modules/graphql-subscriptions/dist/index.js generated vendored Normal file
View File

@@ -0,0 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var pubsub_engine_1 = require("./pubsub-engine");
Object.defineProperty(exports, "PubSubEngine", { enumerable: true, get: function () { return pubsub_engine_1.PubSubEngine; } });
var pubsub_1 = require("./pubsub");
Object.defineProperty(exports, "PubSub", { enumerable: true, get: function () { return pubsub_1.PubSub; } });
var with_filter_1 = require("./with-filter");
Object.defineProperty(exports, "withFilter", { enumerable: true, get: function () { return with_filter_1.withFilter; } });
//# sourceMappingURL=index.js.map

1
node_modules/graphql-subscriptions/dist/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,mCAAiD;AAAxC,gGAAA,MAAM,OAAA;AACf,6CAAiE;AAAxD,yGAAA,UAAU,OAAA"}

View File

@@ -0,0 +1,20 @@
import { $$asyncIterator } from 'iterall';
import { PubSubEngine } from './pubsub-engine';
export declare class PubSubAsyncIterator<T> implements AsyncIterator<T> {
private pullQueue;
private pushQueue;
private eventsArray;
private allSubscribed;
private running;
private pubsub;
constructor(pubsub: PubSubEngine, eventNames: string | string[]);
next(): Promise<IteratorResult<T>>;
return(): Promise<IteratorResult<T>>;
throw(error: any): Promise<never>;
[$$asyncIterator](): this;
private pushValue;
private pullValue;
private emptyQueue;
private subscribeAll;
private unsubscribeAll;
}

View File

@@ -0,0 +1,161 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PubSubAsyncIterator = void 0;
var iterall_1 = require("iterall");
var PubSubAsyncIterator = (function () {
function PubSubAsyncIterator(pubsub, eventNames) {
this.pubsub = pubsub;
this.pullQueue = [];
this.pushQueue = [];
this.running = true;
this.allSubscribed = null;
this.eventsArray = typeof eventNames === 'string' ? [eventNames] : eventNames;
}
PubSubAsyncIterator.prototype.next = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!!this.allSubscribed) return [3, 2];
return [4, (this.allSubscribed = this.subscribeAll())];
case 1:
_a.sent();
_a.label = 2;
case 2: return [2, this.pullValue()];
}
});
});
};
PubSubAsyncIterator.prototype.return = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, this.emptyQueue()];
case 1:
_a.sent();
return [2, { value: undefined, done: true }];
}
});
});
};
PubSubAsyncIterator.prototype.throw = function (error) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, this.emptyQueue()];
case 1:
_a.sent();
return [2, Promise.reject(error)];
}
});
});
};
PubSubAsyncIterator.prototype[iterall_1.$$asyncIterator] = function () {
return this;
};
PubSubAsyncIterator.prototype.pushValue = function (event) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, this.allSubscribed];
case 1:
_a.sent();
if (this.pullQueue.length !== 0) {
this.pullQueue.shift()(this.running
? { value: event, done: false }
: { value: undefined, done: true });
}
else {
this.pushQueue.push(event);
}
return [2];
}
});
});
};
PubSubAsyncIterator.prototype.pullValue = function () {
var _this = this;
return new Promise(function (resolve) {
if (_this.pushQueue.length !== 0) {
resolve(_this.running
? { value: _this.pushQueue.shift(), done: false }
: { value: undefined, done: true });
}
else {
_this.pullQueue.push(resolve);
}
});
};
PubSubAsyncIterator.prototype.emptyQueue = function () {
return __awaiter(this, void 0, void 0, function () {
var subscriptionIds;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (!this.running) return [3, 2];
this.running = false;
this.pullQueue.forEach(function (resolve) { return resolve({ value: undefined, done: true }); });
this.pullQueue.length = 0;
this.pushQueue.length = 0;
return [4, this.allSubscribed];
case 1:
subscriptionIds = _a.sent();
if (subscriptionIds) {
this.unsubscribeAll(subscriptionIds);
}
_a.label = 2;
case 2: return [2];
}
});
});
};
PubSubAsyncIterator.prototype.subscribeAll = function () {
var _this = this;
return Promise.all(this.eventsArray.map(function (eventName) { return _this.pubsub.subscribe(eventName, _this.pushValue.bind(_this), {}); }));
};
PubSubAsyncIterator.prototype.unsubscribeAll = function (subscriptionIds) {
for (var _i = 0, subscriptionIds_1 = subscriptionIds; _i < subscriptionIds_1.length; _i++) {
var subscriptionId = subscriptionIds_1[_i];
this.pubsub.unsubscribe(subscriptionId);
}
};
return PubSubAsyncIterator;
}());
exports.PubSubAsyncIterator = PubSubAsyncIterator;
//# sourceMappingURL=pubsub-async-iterator.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"pubsub-async-iterator.js","sourceRoot":"","sources":["../src/pubsub-async-iterator.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,6 @@
export declare abstract class PubSubEngine {
abstract publish(triggerName: string, payload: any): Promise<void>;
abstract subscribe(triggerName: string, onMessage: Function, options: Object): Promise<number>;
abstract unsubscribe(subId: number): any;
asyncIterator<T>(triggers: string | string[]): AsyncIterator<T>;
}

View File

@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PubSubEngine = void 0;
var pubsub_async_iterator_1 = require("./pubsub-async-iterator");
var PubSubEngine = (function () {
function PubSubEngine() {
}
PubSubEngine.prototype.asyncIterator = function (triggers) {
return new pubsub_async_iterator_1.PubSubAsyncIterator(this, triggers);
};
return PubSubEngine;
}());
exports.PubSubEngine = PubSubEngine;
//# sourceMappingURL=pubsub-engine.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"pubsub-engine.js","sourceRoot":"","sources":["../src/pubsub-engine.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAE5D;IAAA;IAOA,CAAC;IAHQ,oCAAa,GAApB,UAAwB,QAA2B;QACjD,OAAO,IAAI,2CAAmB,CAAI,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IACH,mBAAC;AAAD,CAAC,AAPD,IAOC;AAPqB,oCAAY"}

15
node_modules/graphql-subscriptions/dist/pubsub.d.ts generated vendored Normal file
View File

@@ -0,0 +1,15 @@
/// <reference types="node" />
import { EventEmitter } from 'events';
import { PubSubEngine } from './pubsub-engine';
export interface PubSubOptions {
eventEmitter?: EventEmitter;
}
export declare class PubSub extends PubSubEngine {
protected ee: EventEmitter;
private subscriptions;
private subIdCounter;
constructor(options?: PubSubOptions);
publish(triggerName: string, payload: any): Promise<void>;
subscribe(triggerName: string, onMessage: (...args: any[]) => void): Promise<number>;
unsubscribe(subId: number): void;
}

47
node_modules/graphql-subscriptions/dist/pubsub.js generated vendored Normal file
View File

@@ -0,0 +1,47 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.PubSub = void 0;
var events_1 = require("events");
var pubsub_engine_1 = require("./pubsub-engine");
var PubSub = (function (_super) {
__extends(PubSub, _super);
function PubSub(options) {
if (options === void 0) { options = {}; }
var _this = _super.call(this) || this;
_this.ee = options.eventEmitter || new events_1.EventEmitter();
_this.subscriptions = {};
_this.subIdCounter = 0;
return _this;
}
PubSub.prototype.publish = function (triggerName, payload) {
this.ee.emit(triggerName, payload);
return Promise.resolve();
};
PubSub.prototype.subscribe = function (triggerName, onMessage) {
this.ee.addListener(triggerName, onMessage);
this.subIdCounter = this.subIdCounter + 1;
this.subscriptions[this.subIdCounter] = [triggerName, onMessage];
return Promise.resolve(this.subIdCounter);
};
PubSub.prototype.unsubscribe = function (subId) {
var _a = this.subscriptions[subId], triggerName = _a[0], onMessage = _a[1];
delete this.subscriptions[subId];
this.ee.removeListener(triggerName, onMessage);
};
return PubSub;
}(pubsub_engine_1.PubSubEngine));
exports.PubSub = PubSub;
//# sourceMappingURL=pubsub.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"pubsub.js","sourceRoot":"","sources":["../src/pubsub.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iCAAsC;AACtC,iDAA+C;AAM/C;IAA4B,0BAAY;IAKtC,gBAAY,OAA2B;QAA3B,wBAAA,EAAA,YAA2B;QAAvC,YACE,iBAAO,SAIR;QAHC,KAAI,CAAC,EAAE,GAAG,OAAO,CAAC,YAAY,IAAI,IAAI,qBAAY,EAAE,CAAC;QACrD,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAI,CAAC,YAAY,GAAG,CAAC,CAAC;;IACxB,CAAC;IAEM,wBAAO,GAAd,UAAe,WAAmB,EAAE,OAAY;QAC9C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEM,0BAAS,GAAhB,UAAiB,WAAmB,EAAE,SAAmC;QACvE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAEM,4BAAW,GAAlB,UAAmB,KAAa;QACxB,IAAA,KAA2B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAnD,WAAW,QAAA,EAAE,SAAS,QAA6B,CAAC;QAC3D,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACjD,CAAC;IACH,aAAC;AAAD,CAAC,AA9BD,CAA4B,4BAAY,GA8BvC;AA9BY,wBAAM"}

View File

@@ -0,0 +1,3 @@
export declare type FilterFn = (rootValue?: any, args?: any, context?: any, info?: any) => boolean | Promise<boolean>;
export declare type ResolverFn = (rootValue?: any, args?: any, context?: any, info?: any) => AsyncIterator<any>;
export declare const withFilter: (asyncIteratorFn: ResolverFn, filterFn: FilterFn) => ResolverFn;

56
node_modules/graphql-subscriptions/dist/with-filter.js generated vendored Normal file
View File

@@ -0,0 +1,56 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.withFilter = void 0;
var iterall_1 = require("iterall");
exports.withFilter = function (asyncIteratorFn, filterFn) {
return function (rootValue, args, context, info) {
var _a;
var asyncIterator = asyncIteratorFn(rootValue, args, context, info);
var getNextPromise = function () {
return new Promise(function (resolve, reject) {
var inner = function () {
asyncIterator
.next()
.then(function (payload) {
if (payload.done === true) {
resolve(payload);
return;
}
Promise.resolve(filterFn(payload.value, args, context, info))
.catch(function () { return false; })
.then(function (filterResult) {
if (filterResult === true) {
resolve(payload);
return;
}
inner();
return;
});
})
.catch(function (err) {
reject(err);
return;
});
};
inner();
});
};
var asyncIterator2 = (_a = {
next: function () {
return getNextPromise();
},
return: function () {
return asyncIterator.return();
},
throw: function (error) {
return asyncIterator.throw(error);
}
},
_a[iterall_1.$$asyncIterator] = function () {
return this;
},
_a);
return asyncIterator2;
};
};
//# sourceMappingURL=with-filter.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"with-filter.js","sourceRoot":"","sources":["../src/with-filter.ts"],"names":[],"mappings":";;;AAAA,mCAA0C;AAS7B,QAAA,UAAU,GAAG,UAAC,eAA2B,EAAE,QAAkB;IACxE,OAAO,UAAC,SAAc,EAAE,IAAS,EAAE,OAAY,EAAE,IAAS;;QACxD,IAAM,aAAa,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAEtE,IAAM,cAAc,GAAG;YACrB,OAAO,IAAI,OAAO,CAAsB,UAAC,OAAO,EAAE,MAAM;gBAEtD,IAAM,KAAK,GAAG;oBACZ,aAAa;yBACV,IAAI,EAAE;yBACN,IAAI,CAAC,UAAA,OAAO;wBACX,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE;4BACzB,OAAO,CAAC,OAAO,CAAC,CAAC;4BACjB,OAAO;yBACR;wBACD,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;6BAC1D,KAAK,CAAC,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC;6BAClB,IAAI,CAAC,UAAA,YAAY;4BAChB,IAAI,YAAY,KAAK,IAAI,EAAE;gCACzB,OAAO,CAAC,OAAO,CAAC,CAAC;gCACjB,OAAO;6BACR;4BAED,KAAK,EAAE,CAAC;4BACR,OAAO;wBACT,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC;yBACD,KAAK,CAAC,UAAC,GAAG;wBACT,MAAM,CAAC,GAAG,CAAC,CAAC;wBACZ,OAAO;oBACT,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC;gBAEF,KAAK,EAAE,CAAC;YAEV,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAM,cAAc;gBAClB,IAAI;oBACF,OAAO,cAAc,EAAE,CAAC;gBAC1B,CAAC;gBACD,MAAM;oBACJ,OAAO,aAAa,CAAC,MAAM,EAAE,CAAC;gBAChC,CAAC;gBACD,KAAK,YAAC,KAAK;oBACT,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;;YACD,GAAC,yBAAe,IAAhB;gBACE,OAAO,IAAI,CAAC;YACd,CAAC;eACF,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC,CAAC"}