@sandvichxyz/pecans 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -0
- package/README.md +34 -0
- package/dist/account/index.d.ts +7 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +24 -0
- package/dist/account/index.js.map +1 -0
- package/dist/answer/index.d.ts +11 -0
- package/dist/answer/index.d.ts.map +1 -0
- package/dist/answer/index.js +35 -0
- package/dist/answer/index.js.map +1 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +16 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/client.d.ts +42 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +150 -0
- package/dist/client.js.map +1 -0
- package/dist/drawing/index.d.ts +8 -0
- package/dist/drawing/index.d.ts.map +1 -0
- package/dist/drawing/index.js +28 -0
- package/dist/drawing/index.js.map +1 -0
- package/dist/enums.d.ts +11 -0
- package/dist/enums.d.ts.map +1 -0
- package/dist/enums.js +17 -0
- package/dist/enums.js.map +1 -0
- package/dist/extensions/ask.d.ts +10 -0
- package/dist/extensions/ask.d.ts.map +1 -0
- package/dist/extensions/ask.js +25 -0
- package/dist/extensions/ask.js.map +1 -0
- package/dist/forum/index.d.ts +10 -0
- package/dist/forum/index.d.ts.map +1 -0
- package/dist/forum/index.js +42 -0
- package/dist/forum/index.js.map +1 -0
- package/dist/generated/client.d.ts +36 -0
- package/dist/generated/client.d.ts.map +1 -0
- package/dist/generated/client.js +115 -0
- package/dist/generated/client.js.map +1 -0
- package/dist/generated/decoders.d.ts +6 -0
- package/dist/generated/decoders.d.ts.map +1 -0
- package/dist/generated/decoders.js +41 -0
- package/dist/generated/decoders.js.map +1 -0
- package/dist/generated/enums.d.ts +11 -0
- package/dist/generated/enums.d.ts.map +1 -0
- package/dist/generated/enums.js +17 -0
- package/dist/generated/enums.js.map +1 -0
- package/dist/generated/index.d.ts +20 -0
- package/dist/generated/index.d.ts.map +1 -0
- package/dist/generated/index.js +37 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/generated/modules/account.d.ts +7 -0
- package/dist/generated/modules/account.d.ts.map +1 -0
- package/dist/generated/modules/account.js +30 -0
- package/dist/generated/modules/account.js.map +1 -0
- package/dist/generated/modules/answer.d.ts +11 -0
- package/dist/generated/modules/answer.d.ts.map +1 -0
- package/dist/generated/modules/answer.js +50 -0
- package/dist/generated/modules/answer.js.map +1 -0
- package/dist/generated/modules/ask.d.ts +30 -0
- package/dist/generated/modules/ask.d.ts.map +1 -0
- package/dist/generated/modules/ask.js +61 -0
- package/dist/generated/modules/ask.js.map +1 -0
- package/dist/generated/modules/auth.d.ts +7 -0
- package/dist/generated/modules/auth.d.ts.map +1 -0
- package/dist/generated/modules/auth.js +27 -0
- package/dist/generated/modules/auth.js.map +1 -0
- package/dist/generated/modules/dashboard.d.ts +11 -0
- package/dist/generated/modules/dashboard.d.ts.map +1 -0
- package/dist/generated/modules/dashboard.js +20 -0
- package/dist/generated/modules/dashboard.js.map +1 -0
- package/dist/generated/modules/drawing.d.ts +33 -0
- package/dist/generated/modules/drawing.d.ts.map +1 -0
- package/dist/generated/modules/drawing.js +69 -0
- package/dist/generated/modules/drawing.js.map +1 -0
- package/dist/generated/modules/feed.d.ts +22 -0
- package/dist/generated/modules/feed.d.ts.map +1 -0
- package/dist/generated/modules/feed.js +43 -0
- package/dist/generated/modules/feed.js.map +1 -0
- package/dist/generated/modules/forum.d.ts +26 -0
- package/dist/generated/modules/forum.d.ts.map +1 -0
- package/dist/generated/modules/forum.js +101 -0
- package/dist/generated/modules/forum.js.map +1 -0
- package/dist/generated/modules/images.d.ts +27 -0
- package/dist/generated/modules/images.d.ts.map +1 -0
- package/dist/generated/modules/images.js +53 -0
- package/dist/generated/modules/images.js.map +1 -0
- package/dist/generated/modules/messages.d.ts +9 -0
- package/dist/generated/modules/messages.d.ts.map +1 -0
- package/dist/generated/modules/messages.js +45 -0
- package/dist/generated/modules/messages.js.map +1 -0
- package/dist/generated/modules/navbar.d.ts +11 -0
- package/dist/generated/modules/navbar.d.ts.map +1 -0
- package/dist/generated/modules/navbar.js +20 -0
- package/dist/generated/modules/navbar.js.map +1 -0
- package/dist/generated/modules/notify.d.ts +14 -0
- package/dist/generated/modules/notify.d.ts.map +1 -0
- package/dist/generated/modules/notify.js +38 -0
- package/dist/generated/modules/notify.js.map +1 -0
- package/dist/generated/modules/profile.d.ts +34 -0
- package/dist/generated/modules/profile.d.ts.map +1 -0
- package/dist/generated/modules/profile.js +69 -0
- package/dist/generated/modules/profile.js.map +1 -0
- package/dist/generated/modules/qa.d.ts +12 -0
- package/dist/generated/modules/qa.d.ts.map +1 -0
- package/dist/generated/modules/qa.js +23 -0
- package/dist/generated/modules/qa.js.map +1 -0
- package/dist/generated/modules/settings.d.ts +23 -0
- package/dist/generated/modules/settings.d.ts.map +1 -0
- package/dist/generated/modules/settings.js +44 -0
- package/dist/generated/modules/settings.js.map +1 -0
- package/dist/generated/modules/stories.d.ts +18 -0
- package/dist/generated/modules/stories.d.ts.map +1 -0
- package/dist/generated/modules/stories.js +35 -0
- package/dist/generated/modules/stories.js.map +1 -0
- package/dist/generated/types.d.ts +528 -0
- package/dist/generated/types.d.ts.map +1 -0
- package/dist/generated/types.js +4 -0
- package/dist/generated/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/messages/index.d.ts +9 -0
- package/dist/messages/index.d.ts.map +1 -0
- package/dist/messages/index.js +33 -0
- package/dist/messages/index.js.map +1 -0
- package/dist/module.d.ts +7 -0
- package/dist/module.d.ts.map +1 -0
- package/dist/module.js +27 -0
- package/dist/module.js.map +1 -0
- package/dist/notify/index.d.ts +8 -0
- package/dist/notify/index.d.ts.map +1 -0
- package/dist/notify/index.js +19 -0
- package/dist/notify/index.js.map +1 -0
- package/dist/runtime/call.d.ts +19 -0
- package/dist/runtime/call.d.ts.map +1 -0
- package/dist/runtime/call.js +26 -0
- package/dist/runtime/call.js.map +1 -0
- package/dist/runtime/client.d.ts +26 -0
- package/dist/runtime/client.d.ts.map +1 -0
- package/dist/runtime/client.js +87 -0
- package/dist/runtime/client.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +21 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/join.d.ts +2 -0
- package/dist/runtime/join.d.ts.map +1 -0
- package/dist/runtime/join.js +14 -0
- package/dist/runtime/join.js.map +1 -0
- package/dist/runtime/module.d.ts +7 -0
- package/dist/runtime/module.d.ts.map +1 -0
- package/dist/runtime/module.js +27 -0
- package/dist/runtime/module.js.map +1 -0
- package/dist/runtime/types.d.ts +19 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +3 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notify/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,qBAAa,YAAa,SAAQ,MAAM;IACvB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASnD,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAQ/E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NotifyModule = void 0;
|
|
4
|
+
/* Generated by pecans-spec. Do not edit. */
|
|
5
|
+
const module_1 = require("../module");
|
|
6
|
+
class NotifyModule extends module_1.Module {
|
|
7
|
+
async sync(feature) {
|
|
8
|
+
return await this.client._call("notify.sync", {
|
|
9
|
+
"feature": feature,
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
async fetchOnlineUsers(feature) {
|
|
13
|
+
return await this.client._call("notify.whosonline", {
|
|
14
|
+
"feature": feature,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.NotifyModule = NotifyModule;
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notify/index.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAC5C,sCAAmC;AAInC,MAAa,YAAa,SAAQ,eAAM;IAC7B,KAAK,CAAC,IAAI,CAAC,OAAgB;QAC9B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,aAAa,EACb;YACI,SAAS,EAAE,OAAO;SACrB,CACJ,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QAC1C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAC1B,mBAAmB,EACnB;YACI,SAAS,EAAE,OAAO;SACrB,CACJ,CAAC;IACN,CAAC;CACJ;AAlBD,oCAkBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { BaseClient } from "./client";
|
|
2
|
+
import type { MethodCall } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* A lazy, awaitable API call. Awaiting it sends the call on its own; passing it
|
|
5
|
+
* to {@link BaseClient.batch} bundles it into one request with typed results.
|
|
6
|
+
*/
|
|
7
|
+
export declare class Call<T> implements PromiseLike<T> {
|
|
8
|
+
private readonly client;
|
|
9
|
+
readonly methodCall: MethodCall;
|
|
10
|
+
readonly decode?: ((raw: any) => T) | undefined;
|
|
11
|
+
constructor(client: BaseClient, methodCall: MethodCall, decode?: ((raw: any) => T) | undefined);
|
|
12
|
+
/** Turn a built response envelope into the typed value for this call. */
|
|
13
|
+
build(raw: any): T;
|
|
14
|
+
then<R1 = T, R2 = never>(onfulfilled?: ((value: T) => R1 | PromiseLike<R1>) | null, onrejected?: ((reason: unknown) => R2 | PromiseLike<R2>) | null): Promise<R1 | R2>;
|
|
15
|
+
}
|
|
16
|
+
export type CallResults<C extends readonly Call<any>[]> = {
|
|
17
|
+
[K in keyof C]: C[K] extends Call<infer U> ? U : never;
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=call.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/runtime/call.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;GAGG;AACH,qBAAa,IAAI,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAEtC,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,UAAU,EAAE,UAAU;aACtB,MAAM,CAAC,GAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;gBAFvB,MAAM,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,GAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAA;IAG5C,yEAAyE;IAClE,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;IAIlB,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAC1B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EACzD,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,GAChE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;CAMtB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI;KACrD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CACzD,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Call = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A lazy, awaitable API call. Awaiting it sends the call on its own; passing it
|
|
6
|
+
* to {@link BaseClient.batch} bundles it into one request with typed results.
|
|
7
|
+
*/
|
|
8
|
+
class Call {
|
|
9
|
+
constructor(client, methodCall, decode) {
|
|
10
|
+
this.client = client;
|
|
11
|
+
this.methodCall = methodCall;
|
|
12
|
+
this.decode = decode;
|
|
13
|
+
}
|
|
14
|
+
/** Turn a built response envelope into the typed value for this call. */
|
|
15
|
+
build(raw) {
|
|
16
|
+
return this.decode ? this.decode(raw) : raw;
|
|
17
|
+
}
|
|
18
|
+
then(onfulfilled, onrejected) {
|
|
19
|
+
return this.client
|
|
20
|
+
.sendOne(this.methodCall)
|
|
21
|
+
.then((raw) => this.build(raw))
|
|
22
|
+
.then(onfulfilled, onrejected);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Call = Call;
|
|
26
|
+
//# sourceMappingURL=call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/runtime/call.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,IAAI;IACb,YACqB,MAAkB,EACnB,UAAsB,EACtB,MAAwB;QAFvB,WAAM,GAAN,MAAM,CAAY;QACnB,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAkB;IACzC,CAAC;IAEJ,yEAAyE;IAClE,KAAK,CAAC,GAAQ;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAS,CAAC;IACvD,CAAC;IAEM,IAAI,CACP,WAAyD,EACzD,UAA+D;QAE/D,OAAO,IAAI,CAAC,MAAM;aACb,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;aACxB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC9B,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;CACJ;AArBD,oBAqBC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Call, CallResults } from "./call";
|
|
2
|
+
import type { TCProfile } from "../generated/types";
|
|
3
|
+
export declare class ResponseParseError {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly message: string;
|
|
6
|
+
readonly responseText: string;
|
|
7
|
+
readonly cause?: unknown;
|
|
8
|
+
constructor(responseText: string, cause?: unknown);
|
|
9
|
+
}
|
|
10
|
+
export declare abstract class BaseClient {
|
|
11
|
+
#private;
|
|
12
|
+
static readonly BASE_URI = "https://api.twocansandstring.com/api";
|
|
13
|
+
static readonly VERSION = "1.68";
|
|
14
|
+
profileCache: {
|
|
15
|
+
[key: string]: TCProfile;
|
|
16
|
+
};
|
|
17
|
+
authToken?: string;
|
|
18
|
+
agent: string;
|
|
19
|
+
shouldTrimErrors: boolean;
|
|
20
|
+
constructor(auth?: string);
|
|
21
|
+
/**
|
|
22
|
+
* Send several calls as one batched request, preserving per-call types.
|
|
23
|
+
*/
|
|
24
|
+
batch<C extends readonly Call<any>[]>(...calls: C): Promise<CallResults<C>>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,kBAAkB;IAC3B,SAAgB,IAAI,EAAE,MAAM,CAAwB;IACpD,SAAgB,OAAO,EAAE,MAAM,CAA0C;IACzE,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEb,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAM3D;AAED,8BAAsB,UAAU;;IAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ,0CAA0C;IAClE,MAAM,CAAC,QAAQ,CAAC,OAAO,UAAU;IAE1B,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAM;IAEhD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,KAAK,EAAE,MAAM,CAAY;IAEzB,gBAAgB,EAAE,OAAO,CAAQ;gBAErB,IAAI,CAAC,EAAE,MAAM;IAUhC;;OAEG;IACU,KAAK,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAsD3F"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var _BaseClient_instances, _a, _BaseClient_build, _BaseClient_send;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.BaseClient = exports.ResponseParseError = void 0;
|
|
10
|
+
class ResponseParseError {
|
|
11
|
+
constructor(responseText, cause) {
|
|
12
|
+
this.name = "ResponseParseError";
|
|
13
|
+
this.message = "Failed to parse API response as JSON";
|
|
14
|
+
this.responseText = responseText;
|
|
15
|
+
if (cause !== undefined) {
|
|
16
|
+
this.cause = cause;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ResponseParseError = ResponseParseError;
|
|
21
|
+
class BaseClient {
|
|
22
|
+
constructor(auth) {
|
|
23
|
+
_BaseClient_instances.add(this);
|
|
24
|
+
this.profileCache = {};
|
|
25
|
+
this.agent = "pecans";
|
|
26
|
+
this.shouldTrimErrors = true;
|
|
27
|
+
this.authToken = auth;
|
|
28
|
+
}
|
|
29
|
+
/** @internal */
|
|
30
|
+
async sendOne(call) {
|
|
31
|
+
const res = await __classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_send).call(this, [call]);
|
|
32
|
+
return __classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_build).call(this, res, 0);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Send several calls as one batched request, preserving per-call types.
|
|
36
|
+
*/
|
|
37
|
+
async batch(...calls) {
|
|
38
|
+
if (calls.length === 0) {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
const res = await __classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_send).call(this, calls.map((call) => call.methodCall));
|
|
42
|
+
return calls.map((call, index) => {
|
|
43
|
+
return call.build(__classPrivateFieldGet(this, _BaseClient_instances, "m", _BaseClient_build).call(this, res, index));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.BaseClient = BaseClient;
|
|
48
|
+
_a = BaseClient, _BaseClient_instances = new WeakSet(), _BaseClient_build = function _BaseClient_build(res, index) {
|
|
49
|
+
res?.profiles?.forEach((profile) => {
|
|
50
|
+
this.profileCache[profile.id] = profile;
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
ok: res?.ok ?? false,
|
|
54
|
+
...(res?.responses?.[index] ?? {}),
|
|
55
|
+
profiles: res?.profiles,
|
|
56
|
+
};
|
|
57
|
+
}, _BaseClient_send = async function _BaseClient_send(requests) {
|
|
58
|
+
const headers = {
|
|
59
|
+
"Content-Type": "application/json",
|
|
60
|
+
"User-Agent": this.agent,
|
|
61
|
+
};
|
|
62
|
+
if (this.authToken != undefined) {
|
|
63
|
+
headers["Cookie"] = "tc_auth_v3=" + this.authToken;
|
|
64
|
+
}
|
|
65
|
+
const res = await fetch(_a.BASE_URI, {
|
|
66
|
+
method: "POST",
|
|
67
|
+
headers,
|
|
68
|
+
body: JSON.stringify({ auth: this.authToken, requests }),
|
|
69
|
+
});
|
|
70
|
+
if (!res.ok) {
|
|
71
|
+
return Promise.reject();
|
|
72
|
+
}
|
|
73
|
+
if (this.shouldTrimErrors) {
|
|
74
|
+
let text = await res.text();
|
|
75
|
+
text = text.replace(/^(?:.*\n)*{/, "{");
|
|
76
|
+
try {
|
|
77
|
+
return JSON.parse(text);
|
|
78
|
+
}
|
|
79
|
+
catch (cause) {
|
|
80
|
+
throw new ResponseParseError(text, cause);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return (await res.json());
|
|
84
|
+
};
|
|
85
|
+
BaseClient.BASE_URI = "https://api.twocansandstring.com/api";
|
|
86
|
+
BaseClient.VERSION = "1.68";
|
|
87
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/runtime/client.ts"],"names":[],"mappings":";;;;;;;;;AAIA,MAAa,kBAAkB;IAM3B,YAAmB,YAAoB,EAAE,KAAe;QALxC,SAAI,GAAW,oBAAoB,CAAC;QACpC,YAAO,GAAW,sCAAsC,CAAC;QAKrE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;IACL,CAAC;CACJ;AAZD,gDAYC;AAED,MAAsB,UAAU;IAY5B,YAAmB,IAAa;;QARzB,iBAAY,GAAiC,EAAE,CAAC;QAIhD,UAAK,GAAW,QAAQ,CAAC;QAEzB,qBAAgB,GAAY,IAAI,CAAC;QAGpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,gBAAgB;IACT,KAAK,CAAC,OAAO,CAAC,IAAgB;QACjC,MAAM,GAAG,GAAG,MAAM,uBAAA,IAAI,+CAAM,MAAV,IAAI,EAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,OAAO,uBAAA,IAAI,gDAAO,MAAX,IAAI,EAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,KAAK,CAAiC,GAAG,KAAQ;QAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAA+B,CAAC;QAC3C,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,uBAAA,IAAI,+CAAM,MAAV,IAAI,EAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAA,IAAI,gDAAO,MAAX,IAAI,EAAQ,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAmB,CAAC;IACzB,CAAC;;AAjCL,gCA+EC;uGA5CU,GAA+B,EAAE,KAAa;IACjD,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,KAAK;QACpB,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,QAAQ,EAAE,GAAG,EAAE,QAAQ;KAC1B,CAAC;AACN,CAAC,qBAED,KAAK,2BAAO,QAAsB;IAC9B,MAAM,OAAO,GAA8B;QACvC,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,IAAI,CAAC,KAAK;KAC3B,CAAC;IAEF,IAAI,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC;IACvD,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,EAAU,CAAC,QAAQ,EAAE;QACzC,MAAM,EAAE,MAAM;QACd,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC;KAC3D,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAmB,CAAC;AAChD,CAAC;AA7Ee,mBAAQ,GAAG,sCAAsC,AAAzC,CAA0C;AAClD,kBAAO,GAAG,MAAM,AAAT,CAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./types"), exports);
|
|
18
|
+
__exportStar(require("./call"), exports);
|
|
19
|
+
__exportStar(require("./client"), exports);
|
|
20
|
+
__exportStar(require("./module"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,yCAAuB;AACvB,2CAAyB;AACzB,2CAAyB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../src/runtime/join.ts"],"names":[],"mappings":"AAAA,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1B,MAAM,EAAE,CAAC,EAAE,EACX,OAAO,EAAE,CAAC,EAAE,EACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,EAC/B,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EACjC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GACpC,CAAC,EAAE,CAYL"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.joinBy = joinBy;
|
|
4
|
+
function joinBy(inputs, results, inputKey, resultKey, combine) {
|
|
5
|
+
const byKey = new Map(inputs.map((input) => [inputKey(input), input]));
|
|
6
|
+
return results.map((result) => {
|
|
7
|
+
const input = byKey.get(resultKey(result));
|
|
8
|
+
if (input === undefined) {
|
|
9
|
+
throw new Error(`joinBy: no input matches key ${resultKey(result)}`);
|
|
10
|
+
}
|
|
11
|
+
return combine(result, input);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=join.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../src/runtime/join.ts"],"names":[],"mappings":";;AAAA,wBAkBC;AAlBD,SAAgB,MAAM,CAClB,MAAW,EACX,OAAY,EACZ,QAA+B,EAC/B,SAAiC,EACjC,OAAmC;IAEnC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAEvE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/runtime/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,8BAAsB,MAAM;;IAGxB,SAAS,KAAK,MAAM,IAAI,UAAU,CAEjC;gBAEkB,MAAM,EAAE,UAAU;CAGxC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _Module_client;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.Module = void 0;
|
|
16
|
+
class Module {
|
|
17
|
+
get client() {
|
|
18
|
+
return __classPrivateFieldGet(this, _Module_client, "f");
|
|
19
|
+
}
|
|
20
|
+
constructor(client) {
|
|
21
|
+
_Module_client.set(this, void 0);
|
|
22
|
+
__classPrivateFieldSet(this, _Module_client, client, "f");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Module = Module;
|
|
26
|
+
_Module_client = new WeakMap();
|
|
27
|
+
//# sourceMappingURL=module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/runtime/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,MAAsB,MAAM;IAGxB,IAAc,MAAM;QAChB,OAAO,uBAAA,IAAI,sBAAQ,CAAC;IACxB,CAAC;IAED,YAAmB,MAAkB;QANrC,iCAAoB;QAOhB,uBAAA,IAAI,kBAAW,MAAM,MAAA,CAAC;IAC1B,CAAC;CACJ;AAVD,wBAUC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { TCProfile } from "../generated/types";
|
|
2
|
+
export interface MethodCall {
|
|
3
|
+
readonly fn: string;
|
|
4
|
+
readonly payload: {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export interface TCJSONResponse {
|
|
9
|
+
readonly ok: boolean;
|
|
10
|
+
readonly responses: TCResponseRaw[];
|
|
11
|
+
readonly profiles?: TCProfile[];
|
|
12
|
+
readonly loginId?: string;
|
|
13
|
+
readonly auth?: string;
|
|
14
|
+
readonly ver?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface TCResponseRaw {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/runtime/types.ts"],"names":[],"mappings":""}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TCProfile } from "./generated/types";
|
|
2
|
+
export interface MethodCall {
|
|
3
|
+
readonly fn: string;
|
|
4
|
+
readonly payload: {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
export interface TCJSONResponse {
|
|
9
|
+
readonly ok: boolean;
|
|
10
|
+
readonly responses: TCResponseRaw[];
|
|
11
|
+
readonly profiles?: TCProfile[];
|
|
12
|
+
readonly loginId?: string;
|
|
13
|
+
readonly auth?: string;
|
|
14
|
+
readonly ver?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface TCResponseRaw {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAC5C;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sandvichxyz/pecans",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Pretty easy Two Cans & String API wrapper",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"generate": "bun run --filter pecans-spec generate",
|
|
7
|
+
"build": "tsc",
|
|
8
|
+
"clean": "rm -rf dist || true",
|
|
9
|
+
"test": "vitest run"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"twocansandstring",
|
|
13
|
+
"api",
|
|
14
|
+
"sdk",
|
|
15
|
+
"client"
|
|
16
|
+
],
|
|
17
|
+
"repository": {
|
|
18
|
+
"url": "https://github.com/humanoidsandvichdispenser/pecans.git"
|
|
19
|
+
},
|
|
20
|
+
"main": "dist/index.js",
|
|
21
|
+
"types": "dist/index.d.ts",
|
|
22
|
+
"files": [
|
|
23
|
+
"dist",
|
|
24
|
+
"README.md"
|
|
25
|
+
],
|
|
26
|
+
"author": {
|
|
27
|
+
"name": "HumanoidSandvichDispenser",
|
|
28
|
+
"email": "humanoidsandvichdispenser@gmail.com"
|
|
29
|
+
},
|
|
30
|
+
"license": "AGPL-3.0-only",
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/node": "^20.8.4",
|
|
33
|
+
"typescript": "^5.6.0",
|
|
34
|
+
"vitest": "^0.34.6"
|
|
35
|
+
}
|
|
36
|
+
}
|