major fixes
This commit is contained in:
parent
55b9b469df
commit
65548f96c7
|
@ -1,3 +1,4 @@
|
||||||
node_modules/
|
node_modules/
|
||||||
lerna-debug.log
|
lerna-debug.log
|
||||||
.vscode
|
.vscode
|
||||||
|
dist/
|
|
@ -3663,6 +3663,12 @@
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/isomorphic-fetch": {
|
||||||
|
"version": "0.0.36",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.36.tgz",
|
||||||
|
"integrity": "sha512-ulw4d+vW1HKn4oErSmNN2HYEcHGq0N1C5exlrMM0CRqX1UUpFhGb5lwiom5j9KN3LBJJDLRmYIZz1ghm7FIzZw==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/@types/json-schema": {
|
"node_modules/@types/json-schema": {
|
||||||
"version": "7.0.11",
|
"version": "7.0.11",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
@ -11447,6 +11453,15 @@
|
||||||
"node": ">=12.20"
|
"node": ">=12.20"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/typescript-bundle": {
|
||||||
|
"version": "1.0.18",
|
||||||
|
"resolved": "https://registry.npmjs.org/typescript-bundle/-/typescript-bundle-1.0.18.tgz",
|
||||||
|
"integrity": "sha512-ZtzMZPzW3bnL4c+jBjgSHxlnW9TdWQjFS5RLk4k0YJb85zv78rdslf13mKXUgHZjTeEyO8R59IQ4WqSdlEXhAw==",
|
||||||
|
"dev": true,
|
||||||
|
"bin": {
|
||||||
|
"tsc-bundle": "tsc-bundle"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/uc.micro": {
|
"node_modules/uc.micro": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@ -12045,11 +12060,13 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/formidable": "^2.0.5",
|
"@types/formidable": "^2.0.5",
|
||||||
|
"@types/isomorphic-fetch": "^0.0.36",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.25.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"typescript": "^5.0.4"
|
"typescript": "^5.0.4",
|
||||||
|
"typescript-bundle": "^1.0.18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/crypto-node": {
|
"packages/crypto-node": {
|
||||||
|
@ -12251,23 +12268,22 @@
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.25.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"typescript": "^5.0.4"
|
"typescript": "^5.0.4",
|
||||||
|
"typescript-bundle": "^1.0.18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/types": {
|
"packages/types": {
|
||||||
"name": "@activity-kit/types",
|
"name": "@activity-kit/types",
|
||||||
"version": "0.4.56",
|
"version": "0.4.56",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
|
||||||
"formidable": "^2.1.1"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jsonld": "^1.5.9",
|
"@types/jsonld": "^1.5.9",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.25.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"typescript": "^5.0.4"
|
"typescript": "^5.0.4",
|
||||||
|
"typescript-bundle": "^1.0.18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages/utilities": {
|
"packages/utilities": {
|
||||||
|
@ -12285,7 +12301,8 @@
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.25.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"typescript": "^5.0.4"
|
"typescript": "^5.0.4",
|
||||||
|
"typescript-bundle": "^1.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -8,7 +8,7 @@ export async function createUser(
|
||||||
preferredUsername,
|
preferredUsername,
|
||||||
}: {
|
}: {
|
||||||
email: string;
|
email: string;
|
||||||
password?: string;
|
password: string;
|
||||||
preferredUsername: string;
|
preferredUsername: string;
|
||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
|
import { Core } from '.';
|
||||||
export declare function broadcast(this: Core, activity: AP.Activity, actor: AP.Actor): Promise<unknown>;
|
export declare function broadcast(this: Core, activity: AP.Activity, actor: AP.Actor): Promise<unknown>;
|
||||||
|
|
|
@ -1,16 +1,16 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.broadcast = void 0;
|
exports.broadcast = void 0;
|
||||||
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
async function broadcast(activity, actor) {
|
async function broadcast(activity, actor) {
|
||||||
const publicActivity = (0, utilities_1.cleanProps)((0, utilities_1.applyContext)(activity));
|
const entity = (0, utilities_1.applyContext)(activity);
|
||||||
|
type_utilities_1.assert.isApActivity(entity);
|
||||||
|
const publicActivity = (0, utilities_1.cleanProps)(entity);
|
||||||
if (!('actor' in publicActivity)) {
|
if (!('actor' in publicActivity)) {
|
||||||
throw new Error('Not an activity?');
|
throw new Error('Not an activity?');
|
||||||
}
|
}
|
||||||
const recipients = await this.getRecipientInboxUrls(activity, actor);
|
const recipients = await this.getRecipientInboxUrls(activity, actor);
|
||||||
console.log({
|
|
||||||
recipients,
|
|
||||||
});
|
|
||||||
const results = await Promise.all(recipients.map(async (recipient) => {
|
const results = await Promise.all(recipients.map(async (recipient) => {
|
||||||
return await this.signAndSendToForeignActorInbox(recipient, actor, publicActivity);
|
return await this.signAndSendToForeignActorInbox(recipient, actor, publicActivity);
|
||||||
}));
|
}));
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":";;;AAEA,uDAAmE;AAO5D,KAAK,UAAU,SAAS,CAE7B,QAAqB,EACrB,KAAe;IAEf,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,IAAA,wBAAY,EAAc,QAAQ,CAAC,CAAC,CAAC;IAEvE,IAAI,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACrC;IAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAErE,OAAO,CAAC,GAAG,CAAC;QACV,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjC,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAC9C,SAAS,EACT,KAAK,EACL,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AA5BD,8BA4BC"}
|
{"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":";;;AACA,iEAAsD;AACtD,uDAAmE;AAS5D,KAAK,UAAU,SAAS,CAE7B,QAAqB,EACrB,KAAe;IAEf,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAY,QAAQ,CAAC,CAAC;IAEjD,uBAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAE5B,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,MAAM,CAAC,CAAC;IAE1C,IAAI,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;KACrC;IAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;QACjC,OAAO,MAAM,IAAI,CAAC,8BAA8B,CAC9C,SAAS,EACT,KAAK,EACL,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AA5BD,8BA4BC"}
|
|
@ -1,3 +1,3 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function expandCollection(this: Core, collection: AP.EitherCollectionReference): Promise<null | AP.EitherCollection>;
|
import { Core } from '.';
|
||||||
|
export declare function expandCollection(this: Core, collection: AP.EitherCollectionReference): Promise<AP.EitherCollection | null>;
|
||||||
|
|
|
@ -1,62 +1,31 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.expandCollection = void 0;
|
exports.expandCollection = void 0;
|
||||||
const AP = __importStar(require("@activity-kit/types"));
|
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
|
||||||
async function expandCollection(collection) {
|
async function expandCollection(collection) {
|
||||||
const id = (0, utilities_1.getId)(collection);
|
if (!type_utilities_1.guard.isApCollection(collection)) {
|
||||||
if (!id) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const foundEntity = await this.queryById(id);
|
const items = this.getCollectionItems(collection);
|
||||||
if (!foundEntity) {
|
const expandedItems = await Promise.all(items.map(async (item) => {
|
||||||
return null;
|
var _a;
|
||||||
|
if (type_utilities_1.guard.isApEntity(item)) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
return (_a = (await this.queryById(item))) !== null && _a !== void 0 ? _a : item;
|
||||||
|
}));
|
||||||
|
if (type_utilities_1.guard.isArray(collection.orderedItems) &&
|
||||||
|
collection.orderedItems.length) {
|
||||||
|
return {
|
||||||
|
...collection,
|
||||||
|
orderedItems: expandedItems,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
if (type_utilities_1.guard.isTypeOf(foundEntity, AP.CollectionTypes)) {
|
else if (type_utilities_1.guard.isArray(collection.items) && collection.items.length) {
|
||||||
const items = await this.getCollectionItems(foundEntity);
|
return {
|
||||||
if (!items) {
|
...collection,
|
||||||
return foundEntity;
|
items: expandedItems,
|
||||||
}
|
};
|
||||||
if (Array.isArray(foundEntity.type)
|
|
||||||
? foundEntity.type.includes(AP.CollectionTypes.ORDERED_COLLECTION)
|
|
||||||
: foundEntity.type === AP.CollectionTypes.ORDERED_COLLECTION) {
|
|
||||||
return {
|
|
||||||
...foundEntity,
|
|
||||||
orderedItems: items,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
if (Array.isArray(foundEntity.type)
|
|
||||||
? foundEntity.type.includes(AP.CollectionTypes.COLLECTION)
|
|
||||||
: foundEntity.type === AP.CollectionTypes.COLLECTION) {
|
|
||||||
return {
|
|
||||||
...foundEntity,
|
|
||||||
items,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"expandCollection.js","sourceRoot":"","sources":["../src/expandCollection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAAgD;AAEzC,KAAK,UAAU,gBAAgB,CAEpC,UAAwC;IAExC,MAAM,EAAE,GAAG,IAAA,iBAAK,EAAC,UAAU,CAAC,CAAC;IAE7B,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAE7C,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAsB,WAAW,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE;QACxE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEzD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,WAAW,CAAC;SACpB;QAED,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;YAClE,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAC9D;YACA,OAAO;gBACL,GAAG,WAAW;gBACd,YAAY,EAAE,KAAK;aACpB,CAAC;SACH;QAED,IACE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;YAC1D,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,UAAU,EACtD;YACA,OAAO;gBACL,GAAG,WAAW;gBACd,KAAK;aACN,CAAC;SACH;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA/CD,4CA+CC"}
|
{"version":3,"file":"expandCollection.js","sourceRoot":"","sources":["../src/expandCollection.ts"],"names":[],"mappings":";;;AACA,iEAAqD;AAI9C,KAAK,UAAU,gBAAgB,CAEpC,UAAwC;IAExC,IAAI,CAAC,sBAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;;QACvB,IAAI,sBAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;QAED,OAAO,MAAA,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,mCAAI,IAAI,CAAC;IAC9C,CAAC,CAAC,CACH,CAAC;IAEF,IACE,sBAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QACtC,UAAU,CAAC,YAAY,CAAC,MAAM,EAC9B;QACA,OAAO;YACL,GAAG,UAAU;YACb,YAAY,EAAE,aAAa;SAC5B,CAAC;KACH;SAAM,IAAI,sBAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE;QACrE,OAAO;YACL,GAAG,UAAU;YACb,KAAK,EAAE,aAAa;SACrB,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AApCD,4CAoCC"}
|
|
@ -1,71 +1,45 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.expandEntity = void 0;
|
exports.expandEntity = void 0;
|
||||||
const AP = __importStar(require("@activity-kit/types"));
|
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const selfReferentialKeys = [
|
||||||
|
'@context',
|
||||||
|
'_id',
|
||||||
|
'id',
|
||||||
|
'type',
|
||||||
|
'url',
|
||||||
|
'href',
|
||||||
|
'publicKey',
|
||||||
|
];
|
||||||
async function expandEntity(entity) {
|
async function expandEntity(entity) {
|
||||||
const expandEntry = async (key, value) => {
|
var _a;
|
||||||
if (key === '_id' ||
|
return (_a = type_utilities_1.cast.isApEntity(await expandObject.bind(this)(entity))) !== null && _a !== void 0 ? _a : null;
|
||||||
key === 'id' ||
|
|
||||||
key === 'url' ||
|
|
||||||
key === 'type' ||
|
|
||||||
key === '@context' ||
|
|
||||||
key === 'publicKey') {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
else if (value instanceof URL) {
|
|
||||||
if (value.toString() === utilities_1.PUBLIC_ACTOR) {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
try {
|
|
||||||
const foundEntity = await this.queryById(value);
|
|
||||||
return foundEntity ?? value;
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (Array.isArray(value)) {
|
|
||||||
return await Promise.all(value.map(async (item) => await expandEntry('', item)));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const expanded = {};
|
|
||||||
for (const [key, value] of Object.entries(entity)) {
|
|
||||||
expanded[key] = await expandEntry(key, value);
|
|
||||||
}
|
|
||||||
if (type_utilities_1.guard.isTypeOf(expanded, AP.AllTypes)) {
|
|
||||||
return expanded;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
exports.expandEntity = expandEntity;
|
exports.expandEntity = expandEntity;
|
||||||
|
async function expandObject(object) {
|
||||||
|
const expanded = {};
|
||||||
|
for (const [key, value] of Object.entries(object)) {
|
||||||
|
expanded[key] = await expandEntry.bind(this)([key, value]);
|
||||||
|
}
|
||||||
|
return expanded;
|
||||||
|
}
|
||||||
|
async function expandEntry(entry) {
|
||||||
|
const [key, value] = entry;
|
||||||
|
if (selfReferentialKeys.includes(key)) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
if (type_utilities_1.guard.isArray(value)) {
|
||||||
|
return await Promise.all(value.map(async (item) => await expandEntry.bind(this)([key, item])));
|
||||||
|
}
|
||||||
|
if (type_utilities_1.guard.isPlainObject(value)) {
|
||||||
|
return await expandObject.bind(this)(value);
|
||||||
|
}
|
||||||
|
if (type_utilities_1.guard.isUrl(value)) {
|
||||||
|
const foundEntity = type_utilities_1.cast.isApEntity(await this.queryById(value));
|
||||||
|
if (foundEntity) {
|
||||||
|
return foundEntity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return value;
|
||||||
|
}
|
||||||
//# sourceMappingURL=expandEntity.js.map
|
//# sourceMappingURL=expandEntity.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"expandEntity.js","sourceRoot":"","sources":["../src/expandEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAAuD;AAEhD,KAAK,UAAU,YAAY,CAEhC,MAAiB;IAEjB,MAAM,WAAW,GAAG,KAAK,EAAE,GAAW,EAAE,KAAc,EAAE,EAAE;QACxD,IACE,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,IAAI;YACZ,GAAG,KAAK,KAAK;YACb,GAAG,KAAK,MAAM;YACd,GAAG,KAAK,UAAU;YAClB,GAAG,KAAK,WAAW,EACnB;YACA,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,KAAK,YAAY,GAAG,EAAE;YAC/B,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,wBAAY,EAAE;gBACrC,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,IAAI;oBACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAEhD,OAAO,WAAW,IAAI,KAAK,CAAC;iBAC7B;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,KAAK,CAAC;iBACd;aACF;SACF;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CACvD,CAAC;SACH;aAAM;YACL,OAAO,KAAK,CAAC;SACd;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC/C;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;QACpD,OAAO,QAAQ,CAAC;KACjB;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AA9CD,oCA8CC"}
|
{"version":3,"file":"expandEntity.js","sourceRoot":"","sources":["../src/expandEntity.ts"],"names":[],"mappings":";;;AAEA,iEAA2D;AAE3D,MAAM,mBAAmB,GAAG;IAC1B,UAAU;IACV,KAAK;IACL,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,WAAW;CACZ,CAAC;AAEK,KAAK,UAAU,YAAY,CAAa,MAAiB;;IAC9D,OAAO,MAAA,qBAAI,CAAC,UAAU,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,mCAAI,IAAI,CAAC;AACxE,CAAC;AAFD,oCAEC;AAED,KAAK,UAAU,YAAY,CAAa,MAA+B;IACrE,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,QAAQ,CAAC,GAAG,CAAC,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;KAC5D;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,WAAW,CAExB,KAAoC;IAEpC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAE3B,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACrC,OAAO,KAAK,CAAC;KACd;IAED,IAAI,sBAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CACrE,CAAC;KACH;IAED,IAAI,sBAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QAC9B,OAAO,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;KAC7C;IAED,IAAI,sBAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACtB,MAAM,WAAW,GAAG,qBAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjE,IAAI,WAAW,EAAE;YACf,OAAO,WAAW,CAAC;SACpB;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@ -1,69 +1,49 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||||
|
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||||
|
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||||
|
}
|
||||||
|
Object.defineProperty(o, k2, desc);
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.fetchEntityById = void 0;
|
exports.fetchEntityById = void 0;
|
||||||
|
const AP = __importStar(require("@activity-kit/types"));
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
async function fetchEntityById(id) {
|
async function fetchEntityById(id) {
|
||||||
const getContentType = async (url) => {
|
const isJsonLdContentType = await getIsJsonLdContentType.bind(this)(id);
|
||||||
const response = await this.fetch(url.toString(), { method: 'HEAD' });
|
if (!isJsonLdContentType) {
|
||||||
return response.headers.get('Content-Type');
|
|
||||||
};
|
|
||||||
const isJsonLdContentType = async (url) => {
|
|
||||||
const contentType = await getContentType(url);
|
|
||||||
if (!contentType) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return (contentType.includes(utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE) ||
|
|
||||||
contentType.includes(utilities_1.LINKED_DATA_CONTENT_TYPE) ||
|
|
||||||
contentType.includes(utilities_1.JSON_CONTENT_TYPE));
|
|
||||||
};
|
|
||||||
if (!(await isJsonLdContentType(id))) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
const actor = await this.findOne('entity', {
|
const botActor = await getBotActor.bind(this)();
|
||||||
preferredUsername: 'bot',
|
type_utilities_1.assert.exists(botActor);
|
||||||
});
|
const botActorId = (0, utilities_1.getId)(botActor);
|
||||||
type_utilities_1.assert.isApActor(actor);
|
type_utilities_1.assert.exists(botActorId);
|
||||||
const actorId = (0, utilities_1.getId)(actor);
|
const { dateHeader, signatureHeader } = await this.getHttpSignature(id, botActorId, await this.getPrivateKey(botActor));
|
||||||
type_utilities_1.assert.exists(actorId);
|
const headers = {
|
||||||
const { dateHeader, signatureHeader } = await this.getHttpSignature(id, actorId, await this.getPrivateKey(actor));
|
date: dateHeader,
|
||||||
const controller = new AbortController();
|
signature: signatureHeader,
|
||||||
const timeout = setTimeout(() => controller.abort(), 1250);
|
};
|
||||||
const fetchedEntity = await this.fetch(id.toString(), {
|
const fetchedJson = await fetchJsonByUrl.bind(this)(id, headers);
|
||||||
signal: controller.signal,
|
if (fetchedJson) {
|
||||||
headers: {
|
const convertedEntity = (0, utilities_1.convertJsonToEntity)(fetchedJson);
|
||||||
[utilities_1.ACCEPT_HEADER]: utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE,
|
|
||||||
date: dateHeader,
|
|
||||||
signature: signatureHeader,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.then(async (response) => {
|
|
||||||
clearTimeout(timeout);
|
|
||||||
if (response.status === 200) {
|
|
||||||
return await response.json();
|
|
||||||
}
|
|
||||||
else if (response.status === 410) {
|
|
||||||
const data = await response.json();
|
|
||||||
if ('@context' in data) {
|
|
||||||
console.log('Likely a Tombstone?');
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw new Error('Not found, but not a tombstone.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
console.log('Found but not 200 or 404.', response.status, id.toString());
|
|
||||||
throw new Error(`Unexpected status code ${response.status}`);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
clearTimeout(timeout);
|
|
||||||
console.log(String(error));
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
if (fetchedEntity) {
|
|
||||||
const convertedEntity = (0, utilities_1.convertJsonToEntity)(fetchedEntity);
|
|
||||||
if (convertedEntity) {
|
if (convertedEntity) {
|
||||||
const entity = (0, utilities_1.compressEntity)(convertedEntity);
|
const entity = (0, utilities_1.compressEntity)(convertedEntity);
|
||||||
if (entity) {
|
if (entity) {
|
||||||
|
@ -75,4 +55,69 @@ async function fetchEntityById(id) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
exports.fetchEntityById = fetchEntityById;
|
exports.fetchEntityById = fetchEntityById;
|
||||||
|
async function fetchJsonByUrl(url, headers) {
|
||||||
|
const controller = new AbortController();
|
||||||
|
const timeout = setTimeout(() => controller.abort(), 1250);
|
||||||
|
const config = {
|
||||||
|
signal: controller.signal,
|
||||||
|
headers: {
|
||||||
|
...headers,
|
||||||
|
[utilities_1.ACCEPT_HEADER]: utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
async function handleResponse(response) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
const data = await response.json();
|
||||||
|
if (response.status === 200) {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
if (response.status === 400 || response.status === 410) {
|
||||||
|
if ('@context' in data) {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return {
|
||||||
|
'@context': utilities_1.ACTIVITYSTREAMS_CONTEXT,
|
||||||
|
type: AP.ExtendedObjectTypes.TOMBSTONE,
|
||||||
|
id: url.href,
|
||||||
|
url: url.href,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (response.status >= 500) {
|
||||||
|
console.log('Server error.', response.status, url.href);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
console.log('Unexpected status code.', response.status, url.href);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
async function handleError(error) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
console.log(`${error}`);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return await this.fetch(url.href, config)
|
||||||
|
.then(handleResponse)
|
||||||
|
.catch(handleError);
|
||||||
|
}
|
||||||
|
async function getContentType(url) {
|
||||||
|
const { headers } = await this.fetch(url.toString(), { method: 'HEAD' });
|
||||||
|
return headers.get('Content-Type');
|
||||||
|
}
|
||||||
|
async function getIsJsonLdContentType(url) {
|
||||||
|
const contentType = await getContentType.bind(this)(url);
|
||||||
|
if (!contentType) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return (contentType.includes(utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE) ||
|
||||||
|
contentType.includes(utilities_1.LINKED_DATA_CONTENT_TYPE) ||
|
||||||
|
contentType.includes(utilities_1.JSON_CONTENT_TYPE));
|
||||||
|
}
|
||||||
|
async function getBotActor() {
|
||||||
|
var _a;
|
||||||
|
const botActor = await this.findOne('entity', {
|
||||||
|
preferredUsername: utilities_1.SERVER_ACTOR_USERNAME,
|
||||||
|
});
|
||||||
|
return (_a = type_utilities_1.cast.isApActor(botActor)) !== null && _a !== void 0 ? _a : null;
|
||||||
|
}
|
||||||
//# sourceMappingURL=fetchEntityById.js.map
|
//# sourceMappingURL=fetchEntityById.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"fetchEntityById.js","sourceRoot":"","sources":["../src/fetchEntityById.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"fetchEntityById.js","sourceRoot":"","sources":["../src/fetchEntityById.ts"],"names":[],"mappings":"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"}
|
|
@ -4,7 +4,7 @@ exports.findEntityById = void 0;
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
async function findEntityById(id) {
|
async function findEntityById(id) {
|
||||||
const collectionName = (0, utilities_1.getCollectionNameByUrl)(id);
|
const collectionName = (0, utilities_1.getCollectionNameByUrl)(id);
|
||||||
return await this.findOne(collectionName, { id: id.toString() });
|
return await this.findOne(collectionName, { id: id.href });
|
||||||
}
|
}
|
||||||
exports.findEntityById = findEntityById;
|
exports.findEntityById = findEntityById;
|
||||||
//# sourceMappingURL=findEntityById.js.map
|
//# sourceMappingURL=findEntityById.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"findEntityById.js","sourceRoot":"","sources":["../src/findEntityById.ts"],"names":[],"mappings":";;;AAEA,uDAAiE;AAE1D,KAAK,UAAU,cAAc,CAElC,EAAO;IAEP,MAAM,cAAc,GAAG,IAAA,kCAAsB,EAAC,EAAE,CAAC,CAAC;IAElD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC;AAPD,wCAOC"}
|
{"version":3,"file":"findEntityById.js","sourceRoot":"","sources":["../src/findEntityById.ts"],"names":[],"mappings":";;;AAEA,uDAAiE;AAE1D,KAAK,UAAU,cAAc,CAElC,EAAO;IAEP,MAAM,cAAc,GAAG,IAAA,kCAAsB,EAAC,EAAE,CAAC,CAAC;IAElD,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC;AAPD,wCAOC"}
|
|
@ -1,3 +1,3 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
|
import { Core } from '.';
|
||||||
export declare function getActorByUserId(this: Core, userId: string): Promise<AP.Actor | null>;
|
export declare function getActorByUserId(this: Core, userId: string): Promise<AP.Actor | null>;
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getActorByUserId = void 0;
|
exports.getActorByUserId = void 0;
|
||||||
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
async function getActorByUserId(userId) {
|
async function getActorByUserId(userId) {
|
||||||
if (!userId) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
const preferredUsername = await this.findStringValueById('username', userId);
|
const preferredUsername = await this.findStringValueById('username', userId);
|
||||||
const user = await this.findOne('entity', { preferredUsername });
|
const user = await this.findOne('entity', { preferredUsername });
|
||||||
if (user && 'preferredUsername' in user) {
|
if (!type_utilities_1.guard.isApActor(user)) {
|
||||||
return user;
|
return null;
|
||||||
}
|
}
|
||||||
return null;
|
return user;
|
||||||
}
|
}
|
||||||
exports.getActorByUserId = getActorByUserId;
|
exports.getActorByUserId = getActorByUserId;
|
||||||
//# sourceMappingURL=getActorByUserId.js.map
|
//# sourceMappingURL=getActorByUserId.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"getActorByUserId.js","sourceRoot":"","sources":["../src/getActorByUserId.ts"],"names":[],"mappings":";;;AAGO,KAAK,UAAU,gBAAgB,CAEpC,MAAc;IAEd,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEjE,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAI,EAAE;QACvC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,4CAiBC"}
|
{"version":3,"file":"getActorByUserId.js","sourceRoot":"","sources":["../src/getActorByUserId.ts"],"names":[],"mappings":";;;AACA,iEAAqD;AAI9C,KAAK,UAAU,gBAAgB,CAEpC,MAAc;IAEd,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAE7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC,sBAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAbD,4CAaC"}
|
|
@ -1,3 +1,3 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function getCollectionItems(this: Core, entity: AP.Collection | AP.OrderedCollection): Promise<AP.EntityReference[]>;
|
import { Core } from '.';
|
||||||
|
export declare function getCollectionItems(this: Core, entity: AP.Collection | AP.OrderedCollection): AP.EntityReference[];
|
||||||
|
|
|
@ -1,61 +1,22 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getCollectionItems = void 0;
|
exports.getCollectionItems = void 0;
|
||||||
const AP = __importStar(require("@activity-kit/types"));
|
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
function getCollectionItems(entity) {
|
||||||
async function getCollectionItems(entity) {
|
const collectionItems = [];
|
||||||
try {
|
if (type_utilities_1.guard.isArray(entity.orderedItems) && entity.orderedItems.length) {
|
||||||
type_utilities_1.assert.isApCollection(entity);
|
const orderedItems = entity.orderedItems.filter((item) => {
|
||||||
const collectionItems = entity.orderedItems || entity.items;
|
return type_utilities_1.guard.isApEntity(item) || type_utilities_1.guard.isUrl(item);
|
||||||
if (!Array.isArray(collectionItems)) {
|
});
|
||||||
return [];
|
collectionItems.push(...orderedItems);
|
||||||
}
|
|
||||||
const result = [];
|
|
||||||
for (const item of collectionItems) {
|
|
||||||
if (item instanceof URL) {
|
|
||||||
const foundItem = await this.queryById(item);
|
|
||||||
result.push(foundItem
|
|
||||||
? await this.expandEntity(foundItem)
|
|
||||||
: {
|
|
||||||
id: item,
|
|
||||||
type: AP.CoreObjectTypes.TOMBSTONE,
|
|
||||||
content: 'Not found',
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else if (!Array.isArray(item)) {
|
|
||||||
const foundItem = await this.queryById((0, utilities_1.getId)(item));
|
|
||||||
result.push(foundItem ?? item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
catch (error) {
|
else if (type_utilities_1.guard.isArray(entity.items) && entity.items.length) {
|
||||||
return [];
|
const items = entity.items.filter((item) => {
|
||||||
|
return type_utilities_1.guard.isApEntity(item) || type_utilities_1.guard.isUrl(item);
|
||||||
|
});
|
||||||
|
collectionItems.push(...items);
|
||||||
}
|
}
|
||||||
|
return collectionItems;
|
||||||
}
|
}
|
||||||
exports.getCollectionItems = getCollectionItems;
|
exports.getCollectionItems = getCollectionItems;
|
||||||
//# sourceMappingURL=getCollectionItems.js.map
|
//# sourceMappingURL=getCollectionItems.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"getCollectionItems.js","sourceRoot":"","sources":["../src/getCollectionItems.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,kBAAkB,CAEtC,MAA4C;IAE5C,IAAI;QACF,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,CAAC;QAE5D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;YACnC,OAAO,EAAE,CAAC;SACX;QAED,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE;YAClC,IAAI,IAAI,YAAY,GAAG,EAAE;gBACvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAE7C,MAAM,CAAC,IAAI,CACT,SAAS;oBACP,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;oBACpC,CAAC,CAAC;wBACE,EAAE,EAAE,IAAI;wBACR,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS;wBAClC,OAAO,EAAE,WAAW;qBACrB,CACN,CAAC;aACH;iBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAA,iBAAK,EAAC,IAAI,CAAC,CAAC,CAAC;gBAEpD,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;aAChC;SACF;QAED,OAAO,MAAM,CAAC;KACf;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAvCD,gDAuCC"}
|
{"version":3,"file":"getCollectionItems.js","sourceRoot":"","sources":["../src/getCollectionItems.ts"],"names":[],"mappings":";;;AACA,iEAAqD;AAIrD,SAAgB,kBAAkB,CAEhC,MAA4C;IAE5C,MAAM,eAAe,GAAyB,EAAE,CAAC;IAEjD,IAAI,sBAAK,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;QACpE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACvD,OAAO,sBAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,sBAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;KACvC;SAAM,IAAI,sBAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACzC,OAAO,sBAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,sBAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;KAChC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AArBD,gDAqBC"}
|
|
@ -28,47 +28,40 @@ const AP = __importStar(require("@activity-kit/types"));
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
async function getPaginatedCollectionItems(collection) {
|
async function getPaginatedCollectionItems(collection) {
|
||||||
const collectionItems = [];
|
const firstCollectionPageId = (0, utilities_1.getId)(collection.first);
|
||||||
try {
|
if (!firstCollectionPageId) {
|
||||||
type_utilities_1.assert.isApCollection(collection);
|
if (type_utilities_1.guard.isArray(collection.orderedItems)) {
|
||||||
const firstCollectionPageId = (0, utilities_1.getId)(collection.first);
|
return collection.orderedItems;
|
||||||
if (firstCollectionPageId) {
|
|
||||||
const firstCollectionPage = await this.queryById(firstCollectionPageId);
|
|
||||||
try {
|
|
||||||
type_utilities_1.assert.isApTypeOf(firstCollectionPage, AP.CollectionPageTypes);
|
|
||||||
let nextCollectionPage = firstCollectionPage;
|
|
||||||
while (nextCollectionPage) {
|
|
||||||
try {
|
|
||||||
type_utilities_1.assert.isApTypeOf(nextCollectionPage, AP.CollectionPageTypes);
|
|
||||||
const collectionPageItems = nextCollectionPage.orderedItems || nextCollectionPage.items;
|
|
||||||
type_utilities_1.assert.isArray(collectionPageItems);
|
|
||||||
collectionItems.push(collectionPageItems);
|
|
||||||
const nextCollectionPageId = (0, utilities_1.getId)(nextCollectionPage.next);
|
|
||||||
type_utilities_1.assert.exists(nextCollectionPageId);
|
|
||||||
const potentialNextCollectionPage = await this.queryById(nextCollectionPageId);
|
|
||||||
type_utilities_1.assert.isApTypeOf(potentialNextCollectionPage, AP.CollectionPageTypes);
|
|
||||||
nextCollectionPage = potentialNextCollectionPage;
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
nextCollectionPage = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (error) { }
|
|
||||||
}
|
}
|
||||||
else {
|
if (type_utilities_1.guard.isArray(collection.items)) {
|
||||||
if (Array.isArray(collection.orderedItems)) {
|
return collection.items;
|
||||||
collectionItems.push(collection.orderedItems);
|
|
||||||
}
|
|
||||||
else if (Array.isArray(collection.items)) {
|
|
||||||
collectionItems.push(collection.items);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return collectionItems.flat();
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
const firstCollectionPage = await this.queryById(firstCollectionPageId);
|
||||||
|
if (!type_utilities_1.guard.isApTypeOf(firstCollectionPage, AP.CollectionPageTypes)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const collectionItems = [];
|
||||||
|
let nextCollectionPage = firstCollectionPage;
|
||||||
|
while (nextCollectionPage) {
|
||||||
|
if (type_utilities_1.guard.isArray(nextCollectionPage.orderedItems)) {
|
||||||
|
collectionItems.push(nextCollectionPage.orderedItems);
|
||||||
|
}
|
||||||
|
if (type_utilities_1.guard.isArray(nextCollectionPage.items)) {
|
||||||
|
collectionItems.push(nextCollectionPage.items);
|
||||||
|
}
|
||||||
|
const nextPageId = (0, utilities_1.getId)(nextCollectionPage.next);
|
||||||
|
if (!type_utilities_1.guard.exists(nextPageId)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
const nextPage = await this.queryById(nextPageId);
|
||||||
|
if (!type_utilities_1.guard.isApTypeOf(nextPage, AP.CollectionPageTypes)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
nextCollectionPage = nextPage;
|
||||||
|
}
|
||||||
|
return collectionItems.flat();
|
||||||
}
|
}
|
||||||
exports.getPaginatedCollectionItems = getPaginatedCollectionItems;
|
exports.getPaginatedCollectionItems = getPaginatedCollectionItems;
|
||||||
//# sourceMappingURL=getPaginatedCollectionItems.js.map
|
//# sourceMappingURL=getPaginatedCollectionItems.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"getPaginatedCollectionItems.js","sourceRoot":"","sources":["../src/getPaginatedCollectionItems.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,2BAA2B,CAE/C,UAAgD;IAEhD,MAAM,eAAe,GAA2B,EAAE,CAAC;IAEnD,IAAI;QACF,uBAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAElC,MAAM,qBAAqB,GAAG,IAAA,iBAAK,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEtD,IAAI,qBAAqB,EAAE;YACzB,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;YAExE,IAAI;gBACF,uBAAM,CAAC,UAAU,CACf,mBAAmB,EACnB,EAAE,CAAC,mBAAmB,CACvB,CAAC;gBAEF,IAAI,kBAAkB,GACpB,mBAAmB,CAAC;gBAEtB,OAAO,kBAAkB,EAAE;oBACzB,IAAI;wBACF,uBAAM,CAAC,UAAU,CACf,kBAAkB,EAClB,EAAE,CAAC,mBAAmB,CACvB,CAAC;wBAEF,MAAM,mBAAmB,GACvB,kBAAkB,CAAC,YAAY,IAAI,kBAAkB,CAAC,KAAK,CAAC;wBAE9D,uBAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;wBAEpC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;wBAE1C,MAAM,oBAAoB,GAAG,IAAA,iBAAK,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;wBAE5D,uBAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;wBAEpC,MAAM,2BAA2B,GAAG,MAAM,IAAI,CAAC,SAAS,CACtD,oBAAoB,CACrB,CAAC;wBAEF,uBAAM,CAAC,UAAU,CACf,2BAA2B,EAC3B,EAAE,CAAC,mBAAmB,CACvB,CAAC;wBAEF,kBAAkB,GAAG,2BAA2B,CAAC;qBAClD;oBAAC,OAAO,KAAK,EAAE;wBACd,kBAAkB,GAAG,IAAI,CAAC;qBAC3B;iBACF;aACF;YAAC,OAAO,KAAK,EAAE,GAAE;SACnB;aAAM;YACL,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBAC1C,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aAC/C;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAC1C,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACxC;SACF;QAED,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC;KAC/B;IAAC,OAAO,KAAK,EAAE;QAGd,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAtED,kEAsEC"}
|
{"version":3,"file":"getPaginatedCollectionItems.js","sourceRoot":"","sources":["../src/getPaginatedCollectionItems.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAAgD;AAEzC,KAAK,UAAU,2BAA2B,CAE/C,UAAgD;IAEhD,MAAM,qBAAqB,GAAG,IAAA,iBAAK,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,CAAC,qBAAqB,EAAE;QAG1B,IAAI,sBAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YAC1C,OAAO,UAAU,CAAC,YAAY,CAAC;SAChC;QAED,IAAI,sBAAK,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACnC,OAAO,UAAU,CAAC,KAAK,CAAC;SACzB;QAED,OAAO,EAAE,CAAC;KACX;IAED,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IAExE,IACE,CAAC,sBAAK,CAAC,UAAU,CACf,mBAAmB,EACnB,EAAE,CAAC,mBAAmB,CACvB,EACD;QACA,OAAO,EAAE,CAAC;KACX;IAED,MAAM,eAAe,GAA2B,EAAE,CAAC;IAEnD,IAAI,kBAAkB,GAAG,mBAAmB,CAAC;IAE7C,OAAO,kBAAkB,EAAE;QACzB,IAAI,sBAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE;YAClD,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;SACvD;QAED,IAAI,sBAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;YAC3C,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SAChD;QAED,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAElD,IAAI,CAAC,sBAAK,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC7B,MAAM;SACP;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAElD,IACE,CAAC,sBAAK,CAAC,UAAU,CAAoB,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,EACtE;YACA,MAAM;SACP;QAED,kBAAkB,GAAG,QAAQ,CAAC;KAC/B;IAED,OAAO,eAAe,CAAC,IAAI,EAAE,CAAC;AAChC,CAAC;AA9DD,kEA8DC"}
|
|
@ -1,4 +1,4 @@
|
||||||
/// <reference types="node" />
|
/// <reference types="node" />
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function getRecipientInboxUrls(this: Core, activity: AP.Activity, actor: AP.Actor, inboxesOnly?: boolean): Promise<URL[]>;
|
import { Core } from '.';
|
||||||
|
export declare function getRecipientInboxUrls(this: Core, activity: AP.Activity, actor: AP.Actor, inboxesOnly?: boolean): Promise<import("url").URL[]>;
|
||||||
|
|
|
@ -5,30 +5,32 @@ const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
async function getRecipientInboxUrls(activity, actor, inboxesOnly) {
|
async function getRecipientInboxUrls(activity, actor, inboxesOnly) {
|
||||||
const recipientUrls = await this.getRecipientUrls(activity);
|
const recipientUrls = await this.getRecipientUrls(activity);
|
||||||
const recipientInboxUrls = (await Promise.all(recipientUrls.map(async (recipientUrl) => {
|
const recipientInboxUrls = await Promise.all(recipientUrls.map(async (recipientUrl) => {
|
||||||
try {
|
return await mapRecipientUrl.bind(this)(recipientUrl, actor, inboxesOnly);
|
||||||
if (recipientUrl.toString() === (0, utilities_1.getId)(actor).toString()) {
|
}));
|
||||||
return [];
|
return (0, utilities_1.deduplicateUrls)(recipientInboxUrls.flat().filter(type_utilities_1.guard.isUrl));
|
||||||
}
|
|
||||||
const foundEntity = await this.fetchEntityById(recipientUrl);
|
|
||||||
type_utilities_1.assert.isApActor(foundEntity);
|
|
||||||
if (!inboxesOnly) {
|
|
||||||
if (foundEntity.endpoints) {
|
|
||||||
if (foundEntity.endpoints.sharedInbox instanceof URL) {
|
|
||||||
return [foundEntity.endpoints.sharedInbox];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const inboxId = (0, utilities_1.getId)(foundEntity.inbox);
|
|
||||||
if (inboxId instanceof URL) {
|
|
||||||
return [inboxId];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
}))).flat();
|
|
||||||
return (0, utilities_1.deduplicateUrls)(recipientInboxUrls);
|
|
||||||
}
|
}
|
||||||
exports.getRecipientInboxUrls = getRecipientInboxUrls;
|
exports.getRecipientInboxUrls = getRecipientInboxUrls;
|
||||||
|
async function mapRecipientUrl(recipientUrl, actor, inboxesOnly) {
|
||||||
|
var _a;
|
||||||
|
if (recipientUrl.href === ((_a = (0, utilities_1.getId)(actor)) === null || _a === void 0 ? void 0 : _a.href)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const foundEntity = await this.fetchEntityById(recipientUrl);
|
||||||
|
if (!type_utilities_1.guard.isApActor(foundEntity)) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
if (!inboxesOnly) {
|
||||||
|
if (foundEntity.endpoints) {
|
||||||
|
if (type_utilities_1.guard.isUrl(foundEntity.endpoints.sharedInbox)) {
|
||||||
|
return [foundEntity.endpoints.sharedInbox];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const inboxId = (0, utilities_1.getId)(foundEntity.inbox);
|
||||||
|
if (type_utilities_1.guard.isUrl(inboxId)) {
|
||||||
|
return [inboxId];
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
}
|
||||||
//# sourceMappingURL=getRecipientInboxUrls.js.map
|
//# sourceMappingURL=getRecipientInboxUrls.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"getRecipientInboxUrls.js","sourceRoot":"","sources":["../src/getRecipientInboxUrls.ts"],"names":[],"mappings":";;;AAEA,iEAAsD;AACtD,uDAAiE;AAE1D,KAAK,UAAU,qBAAqB,CAEzC,QAAqB,EACrB,KAAe,EACf,WAAqB;IAErB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,kBAAkB,GAAG,CACzB,MAAM,OAAO,CAAC,GAAG,CACf,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACvC,IAAI;YACF,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,IAAA,iBAAK,EAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACvD,OAAO,EAAE,CAAC;aACX;YAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAE7D,uBAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAE9B,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,WAAW,CAAC,SAAS,EAAE;oBACzB,IAAI,WAAW,CAAC,SAAS,CAAC,WAAW,YAAY,GAAG,EAAE;wBACpD,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;qBAC5C;iBACF;aACF;YAED,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAEzC,IAAI,OAAO,YAAY,GAAG,EAAE;gBAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;aAClB;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,EAAE,CAAC;SACX;IACH,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CAAC;IAET,OAAO,IAAA,2BAAe,EAAC,kBAAkB,CAAC,CAAC;AAC7C,CAAC;AAzCD,sDAyCC"}
|
{"version":3,"file":"getRecipientInboxUrls.js","sourceRoot":"","sources":["../src/getRecipientInboxUrls.ts"],"names":[],"mappings":";;;AACA,iEAAqD;AACrD,uDAAiE;AAI1D,KAAK,UAAU,qBAAqB,CAEzC,QAAqB,EACrB,KAAe,EACf,WAAqB;IAErB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE5D,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1C,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;QACvC,OAAO,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5E,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,IAAA,2BAAe,EAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,sBAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC;AAfD,sDAeC;AAED,KAAK,UAAU,eAAe,CAE5B,YAAiB,EACjB,KAAe,EACf,WAAqB;;IAErB,IAAI,YAAY,CAAC,IAAI,MAAK,MAAA,IAAA,iBAAK,EAAC,KAAK,CAAC,0CAAE,IAAI,CAAA,EAAE;QAC5C,OAAO,EAAE,CAAC;KACX;IAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAE7D,IAAI,CAAC,sBAAK,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;QACjC,OAAO,EAAE,CAAC;KACX;IAED,IAAI,CAAC,WAAW,EAAE;QAChB,IAAI,WAAW,CAAC,SAAS,EAAE;YACzB,IAAI,sBAAK,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;gBAClD,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;aAC5C;SACF;KACF;IAED,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEzC,IAAI,sBAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACxB,OAAO,CAAC,OAAO,CAAC,CAAC;KAClB;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@ -1,95 +1,69 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
||||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
||||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
||||||
}
|
|
||||||
Object.defineProperty(o, k2, desc);
|
|
||||||
}) : (function(o, m, k, k2) {
|
|
||||||
if (k2 === undefined) k2 = k;
|
|
||||||
o[k2] = m[k];
|
|
||||||
}));
|
|
||||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
||||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
||||||
}) : function(o, v) {
|
|
||||||
o["default"] = v;
|
|
||||||
});
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
||||||
__setModuleDefault(result, mod);
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getRecipientUrls = void 0;
|
exports.getRecipientUrls = void 0;
|
||||||
const AP = __importStar(require("@activity-kit/types"));
|
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
async function getRecipientUrls(activity) {
|
async function getRecipientUrls(activity) {
|
||||||
const mentions = ('object' in activity && 'tag' in activity.object
|
const tags = type_utilities_1.guard.isApCoreObject(activity.object) && activity.object.tag
|
||||||
? (0, utilities_1.getArray)(activity.object.tag)
|
? getArray(activity.object.tag)
|
||||||
: []).filter((entity) => {
|
: [];
|
||||||
try {
|
const mentions = tags.map(utilities_1.getId).filter(type_utilities_1.guard.isUrl);
|
||||||
type_utilities_1.assert.isApType(entity, AP.LinkTypes.MENTION);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
const recipients = [
|
const recipients = [
|
||||||
...(0, utilities_1.getArray)(activity.to),
|
...getArray(activity.to),
|
||||||
...(0, utilities_1.getArray)(activity.cc),
|
...getArray(activity.cc),
|
||||||
...(0, utilities_1.getArray)(activity.bto),
|
...getArray(activity.bto),
|
||||||
...(0, utilities_1.getArray)(activity.bcc),
|
...getArray(activity.bcc),
|
||||||
...(0, utilities_1.getArray)(activity.audience),
|
...getArray(activity.audience),
|
||||||
...mentions,
|
...mentions,
|
||||||
].flat();
|
].flat();
|
||||||
const recipientIds = recipients
|
const recipientIds = recipients
|
||||||
.map((recipient) => (0, utilities_1.getId)(recipient))
|
.map(utilities_1.getId)
|
||||||
.filter((recipientUrl) => `${recipientUrl}` !== utilities_1.PUBLIC_ACTOR);
|
.filter(type_utilities_1.guard.isUrl)
|
||||||
const actorUrls = (await Promise.all(recipientIds.map(async (recipientId) => {
|
.filter((recipientUrl) => recipientUrl.href !== utilities_1.PUBLIC_ACTOR);
|
||||||
const foundRecipient = await this.queryById(recipientId);
|
const actorUrls = await Promise.all(recipientIds.map(getActorIds.bind(this)));
|
||||||
if (!foundRecipient) {
|
return (0, utilities_1.deduplicateUrls)(actorUrls.flat());
|
||||||
return [];
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
type_utilities_1.assert.isApActor(foundRecipient);
|
|
||||||
const actorUrl = (0, utilities_1.getId)(foundRecipient);
|
|
||||||
if (actorUrl instanceof URL) {
|
|
||||||
return [actorUrl];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
type_utilities_1.assert.isApCollection(foundRecipient);
|
|
||||||
const collectionItems = await this.getPaginatedCollectionItems(foundRecipient);
|
|
||||||
console.log([collectionItems]);
|
|
||||||
const actorsInCollection = [];
|
|
||||||
for (const collectionItem of collectionItems) {
|
|
||||||
try {
|
|
||||||
const collectionItemId = (0, utilities_1.getId)(collectionItem);
|
|
||||||
type_utilities_1.assert.exists(collectionItemId);
|
|
||||||
const expandedCollectionItem = await this.queryById(collectionItemId);
|
|
||||||
type_utilities_1.assert.isApActor(expandedCollectionItem);
|
|
||||||
const actorUrl = (0, utilities_1.getId)(expandedCollectionItem);
|
|
||||||
if (actorUrl instanceof URL) {
|
|
||||||
actorsInCollection.push(actorUrl);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return actorsInCollection;
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
}
|
|
||||||
return [];
|
|
||||||
}))).flat();
|
|
||||||
return (0, utilities_1.deduplicateUrls)(actorUrls);
|
|
||||||
}
|
}
|
||||||
exports.getRecipientUrls = getRecipientUrls;
|
exports.getRecipientUrls = getRecipientUrls;
|
||||||
|
async function getActorIds(recipientId) {
|
||||||
|
const foundRecipient = await this.queryById(recipientId);
|
||||||
|
if (!foundRecipient) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
if (type_utilities_1.guard.isApActor(foundRecipient)) {
|
||||||
|
const actorUrl = (0, utilities_1.getId)(foundRecipient);
|
||||||
|
if (type_utilities_1.guard.isUrl(actorUrl)) {
|
||||||
|
return [actorUrl];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (type_utilities_1.guard.isApCollection(foundRecipient)) {
|
||||||
|
const collectionItems = await this.getPaginatedCollectionItems(foundRecipient);
|
||||||
|
const actorsInCollection = [];
|
||||||
|
for (const collectionItem of collectionItems) {
|
||||||
|
const collectionItemId = (0, utilities_1.getId)(collectionItem);
|
||||||
|
if (!type_utilities_1.guard.isUrl(collectionItemId)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const expandedCollectionItem = await this.queryById(collectionItemId);
|
||||||
|
if (!type_utilities_1.guard.isApActor(expandedCollectionItem)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
const actorUrl = (0, utilities_1.getId)(expandedCollectionItem);
|
||||||
|
if (!type_utilities_1.guard.isUrl(actorUrl)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
actorsInCollection.push(actorUrl);
|
||||||
|
}
|
||||||
|
return actorsInCollection;
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
function getArray(items) {
|
||||||
|
if (!items) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
const array = type_utilities_1.guard.isArray(items) ? items : [items];
|
||||||
|
return array.filter((item) => {
|
||||||
|
return type_utilities_1.guard.isApEntity(item) || type_utilities_1.guard.isUrl(item);
|
||||||
|
});
|
||||||
|
}
|
||||||
//# sourceMappingURL=getRecipientUrls.js.map
|
//# sourceMappingURL=getRecipientUrls.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"getRecipientUrls.js","sourceRoot":"","sources":["../src/getRecipientUrls.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"getRecipientUrls.js","sourceRoot":"","sources":["../src/getRecipientUrls.ts"],"names":[],"mappings":"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"}
|
|
@ -1,3 +1,3 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
|
import { Core } from '.';
|
||||||
export declare const getStreamByName: (this: Core, actor: AP.Actor, name: string) => Promise<AP.EitherCollection | null>;
|
export declare const getStreamByName: (this: Core, actor: AP.Actor, name: string) => Promise<AP.EitherCollection | null>;
|
||||||
|
|
|
@ -4,7 +4,9 @@ exports.getStreamByName = void 0;
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
const getStreamByName = async function (actor, name) {
|
const getStreamByName = async function (actor, name) {
|
||||||
type_utilities_1.assert.isArray(actor.streams);
|
if (!actor.streams) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
const streams = await Promise.all(actor.streams.map(async (stream) => {
|
const streams = await Promise.all(actor.streams.map(async (stream) => {
|
||||||
const streamId = (0, utilities_1.getId)(stream);
|
const streamId = (0, utilities_1.getId)(stream);
|
||||||
if (!streamId) {
|
if (!streamId) {
|
||||||
|
@ -13,15 +15,11 @@ const getStreamByName = async function (actor, name) {
|
||||||
return await this.queryById(streamId);
|
return await this.queryById(streamId);
|
||||||
}));
|
}));
|
||||||
for (const stream of streams) {
|
for (const stream of streams) {
|
||||||
try {
|
if (type_utilities_1.guard.isApCollection(stream)) {
|
||||||
type_utilities_1.assert.isApCollection(stream);
|
|
||||||
if (stream.name === name) {
|
if (stream.name === name) {
|
||||||
return stream;
|
return stream;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (error) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"getStreamByName.js","sourceRoot":"","sources":["../src/getStreamByName.ts"],"names":[],"mappings":";;;AAEA,iEAAsD;AACtD,uDAAgD;AAEzC,MAAM,eAAe,GAAG,KAAK,WAElC,KAAe,EACf,IAAY;IAEZ,uBAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE9B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAuB,EAAE,EAAE;QAClD,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC;SACb;QAED,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI;YACF,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YAE9B,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBACxB,OAAO,MAAM,CAAC;aACf;SACF;QAAC,OAAO,KAAK,EAAE;YACd,MAAM;SACP;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAhCW,QAAA,eAAe,mBAgC1B"}
|
{"version":3,"file":"getStreamByName.js","sourceRoot":"","sources":["../src/getStreamByName.ts"],"names":[],"mappings":";;;AACA,iEAAqD;AACrD,uDAAgD;AAIzC,MAAM,eAAe,GAAG,KAAK,WAElC,KAAe,EACf,IAAY;IAEZ,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAA0B,EAAE,EAAE;QACrD,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,IAAI,CAAC;SACb;QAED,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC,CACH,CAAC;IAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,IAAI,sBAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE;YAChC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;gBACxB,OAAO,MAAM,CAAC;aACf;SACF;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA9BW,QAAA,eAAe,mBA8B1B"}
|
|
@ -20,32 +20,25 @@ const getRecipientUrls_1 = require("./getRecipientUrls");
|
||||||
const getRecipientInboxUrls_1 = require("./getRecipientInboxUrls");
|
const getRecipientInboxUrls_1 = require("./getRecipientInboxUrls");
|
||||||
const signAndSendToForeignActorInbox_1 = require("./signAndSendToForeignActorInbox");
|
const signAndSendToForeignActorInbox_1 = require("./signAndSendToForeignActorInbox");
|
||||||
class Core {
|
class Core {
|
||||||
fetch;
|
|
||||||
initializeDb;
|
|
||||||
findAll;
|
|
||||||
findOne;
|
|
||||||
findStringIdByValue;
|
|
||||||
findStringValueById;
|
|
||||||
insertItem;
|
|
||||||
removeItem;
|
|
||||||
insertOrderedItem;
|
|
||||||
removeOrderedItem;
|
|
||||||
saveEntity;
|
|
||||||
saveString;
|
|
||||||
getTokenByUserId;
|
|
||||||
createUser;
|
|
||||||
getUserIdByToken;
|
|
||||||
authenticatePassword;
|
|
||||||
generateKeyPair;
|
|
||||||
getHttpSignature;
|
|
||||||
hashPassword;
|
|
||||||
randomBytes;
|
|
||||||
upload;
|
|
||||||
getGuid;
|
|
||||||
constructor(adapters) {
|
constructor(adapters) {
|
||||||
this.fetch = adapters.fetch ?? isomorphic_fetch_1.default;
|
var _a;
|
||||||
|
this.findEntityById = findEntityById_1.findEntityById;
|
||||||
|
this.getActorByUserId = getActorByUserId_1.getActorByUserId;
|
||||||
|
this.getPrivateKey = getPrivateKey_1.getPrivateKey;
|
||||||
|
this.getStreamByName = getStreamByName_1.getStreamByName;
|
||||||
|
this.fetchEntityById = fetchEntityById_1.fetchEntityById;
|
||||||
|
this.queryById = queryById_1.queryById;
|
||||||
|
this.expandEntity = expandEntity_1.expandEntity;
|
||||||
|
this.getCollectionItems = getCollectionItems_1.getCollectionItems;
|
||||||
|
this.getPaginatedCollectionItems = getPaginatedCollectionItems_1.getPaginatedCollectionItems;
|
||||||
|
this.expandCollection = expandCollection_1.expandCollection;
|
||||||
|
this.getRecipientInboxUrls = getRecipientInboxUrls_1.getRecipientInboxUrls;
|
||||||
|
this.getRecipientUrls = getRecipientUrls_1.getRecipientUrls;
|
||||||
|
this.broadcast = broadcast_1.broadcast;
|
||||||
|
this.signAndSendToForeignActorInbox = signAndSendToForeignActorInbox_1.signAndSendToForeignActorInbox;
|
||||||
|
this.fetch = (_a = adapters.fetch) !== null && _a !== void 0 ? _a : isomorphic_fetch_1.default;
|
||||||
if (adapters.db.initializeDb) {
|
if (adapters.db.initializeDb) {
|
||||||
this.initializeDb = async () => await adapters.db.initializeDb?.();
|
this.initializeDb = async () => { var _a, _b; return await ((_b = (_a = adapters.db).initializeDb) === null || _b === void 0 ? void 0 : _b.call(_a)); };
|
||||||
}
|
}
|
||||||
this.findAll = async (collection, matchingObject) => await adapters.db.findAll(collection, matchingObject);
|
this.findAll = async (collection, matchingObject) => await adapters.db.findAll(collection, matchingObject);
|
||||||
this.findOne = async (collection, matchingObject, options) => await adapters.db.findOne(collection, matchingObject, options);
|
this.findOne = async (collection, matchingObject, options) => await adapters.db.findOne(collection, matchingObject, options);
|
||||||
|
@ -72,20 +65,6 @@ class Core {
|
||||||
this.authenticatePassword = async (email, password) => await adapters.auth.authenticatePassword(email, password);
|
this.authenticatePassword = async (email, password) => await adapters.auth.authenticatePassword(email, password);
|
||||||
this.upload = async (file) => await adapters.storage.upload(file);
|
this.upload = async (file) => await adapters.storage.upload(file);
|
||||||
}
|
}
|
||||||
findEntityById = findEntityById_1.findEntityById;
|
|
||||||
getActorByUserId = getActorByUserId_1.getActorByUserId;
|
|
||||||
getPrivateKey = getPrivateKey_1.getPrivateKey;
|
|
||||||
getStreamByName = getStreamByName_1.getStreamByName;
|
|
||||||
fetchEntityById = fetchEntityById_1.fetchEntityById;
|
|
||||||
queryById = queryById_1.queryById;
|
|
||||||
expandEntity = expandEntity_1.expandEntity;
|
|
||||||
getCollectionItems = getCollectionItems_1.getCollectionItems;
|
|
||||||
getPaginatedCollectionItems = getPaginatedCollectionItems_1.getPaginatedCollectionItems;
|
|
||||||
expandCollection = expandCollection_1.expandCollection;
|
|
||||||
getRecipientInboxUrls = getRecipientInboxUrls_1.getRecipientInboxUrls;
|
|
||||||
getRecipientUrls = getRecipientUrls_1.getRecipientUrls;
|
|
||||||
broadcast = broadcast_1.broadcast;
|
|
||||||
signAndSendToForeignActorInbox = signAndSendToForeignActorInbox_1.signAndSendToForeignActorInbox;
|
|
||||||
}
|
}
|
||||||
exports.Core = Core;
|
exports.Core = Core;
|
||||||
var adapters_1 = require("./adapters");
|
var adapters_1 = require("./adapters");
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@ -34,7 +34,10 @@ async function queryById(id) {
|
||||||
const fetchedEntity = await this.fetchEntityById(id);
|
const fetchedEntity = await this.fetchEntityById(id);
|
||||||
if (!fetchedEntity ||
|
if (!fetchedEntity ||
|
||||||
type_utilities_1.guard.isApType(fetchedEntity, AP.ExtendedObjectTypes.TOMBSTONE)) {
|
type_utilities_1.guard.isApType(fetchedEntity, AP.ExtendedObjectTypes.TOMBSTONE)) {
|
||||||
return this.findEntityById(id);
|
const foundEntity = await this.findEntityById(id);
|
||||||
|
if (foundEntity) {
|
||||||
|
return foundEntity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return fetchedEntity;
|
return fetchedEntity;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"queryById.js","sourceRoot":"","sources":["../src/queryById.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAAkD;AAE3C,KAAK,UAAU,SAAS,CAE7B,EAAO;IAEP,IAAI,IAAA,mBAAO,EAAC,EAAE,CAAC,EAAE;QACf,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KACtC;IAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAErD,IACE,CAAC,aAAa;QACd,sBAAK,CAAC,QAAQ,CACZ,aAAa,EACb,EAAE,CAAC,mBAAmB,CAAC,SAAS,CACjC,EACD;QACA,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AArBD,8BAqBC"}
|
{"version":3,"file":"queryById.js","sourceRoot":"","sources":["../src/queryById.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAAkD;AAE3C,KAAK,UAAU,SAAS,CAE7B,EAAO;IAEP,IAAI,IAAA,mBAAO,EAAC,EAAE,CAAC,EAAE;QACf,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KACtC;IAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAErD,IACE,CAAC,aAAa;QACd,sBAAK,CAAC,QAAQ,CACZ,aAAa,EACb,EAAE,CAAC,mBAAmB,CAAC,SAAS,CACjC,EACD;QACA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,WAAW,EAAE;YACf,OAAO,WAAW,CAAC;SACpB;KACF;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAzBD,8BAyBC"}
|
|
@ -1,14 +1,17 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.signAndSendToForeignActorInbox = void 0;
|
exports.signAndSendToForeignActorInbox = void 0;
|
||||||
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const utilities_1 = require("@activity-kit/utilities");
|
const utilities_1 = require("@activity-kit/utilities");
|
||||||
async function signAndSendToForeignActorInbox(foreignActorInbox, actor, activity) {
|
async function signAndSendToForeignActorInbox(foreignActorInbox, actor, activity) {
|
||||||
console.log('SENDING TO...', foreignActorInbox.toString());
|
console.log('SENDING TO...', foreignActorInbox.href);
|
||||||
const convertedActivity = (0, utilities_1.convertEntityToJson)(activity);
|
const actorId = (0, utilities_1.getId)(actor);
|
||||||
const { dateHeader, digestHeader, signatureHeader } = await this.getHttpSignature(foreignActorInbox, actor.id, await this.getPrivateKey(actor), convertedActivity);
|
type_utilities_1.assert.exists(actorId);
|
||||||
return await this.fetch(foreignActorInbox.toString(), {
|
const plainActivity = (0, utilities_1.convertEntityToJson)(activity);
|
||||||
|
const { dateHeader, digestHeader, signatureHeader } = await this.getHttpSignature(foreignActorInbox, actorId, await this.getPrivateKey(actor), plainActivity);
|
||||||
|
return await this.fetch(foreignActorInbox.href, {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
body: JSON.stringify(convertedActivity),
|
body: JSON.stringify(plainActivity),
|
||||||
headers: {
|
headers: {
|
||||||
[utilities_1.CONTENT_TYPE_HEADER]: utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE,
|
[utilities_1.CONTENT_TYPE_HEADER]: utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
[utilities_1.ACCEPT_HEADER]: utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE,
|
[utilities_1.ACCEPT_HEADER]: utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"signAndSendToForeignActorInbox.js","sourceRoot":"","sources":["../src/signAndSendToForeignActorInbox.ts"],"names":[],"mappings":";;;AACA,uDAKiC;AAG1B,KAAK,UAAU,8BAA8B,CAElD,iBAAsB,EACtB,KAAe,EACf,QAAqB;IAErB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE3D,MAAM,iBAAiB,GAAG,IAAA,+BAAmB,EAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GACjD,MAAM,IAAI,CAAC,gBAAgB,CACzB,iBAAiB,EACjB,KAAK,CAAC,EAAE,EACR,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/B,iBAAiB,CAClB,CAAC;IAGJ,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,EAAE;QACpD,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;QACvC,OAAO,EAAE;YACP,CAAC,+BAAmB,CAAC,EAAE,wCAA4B;YACnD,CAAC,yBAAa,CAAC,EAAE,wCAA4B;YAC7C,IAAI,EAAE,iBAAiB,CAAC,QAAQ;YAChC,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,eAAe;SAC3B;KACF,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAhCD,wEAgCC"}
|
{"version":3,"file":"signAndSendToForeignActorInbox.js","sourceRoot":"","sources":["../src/signAndSendToForeignActorInbox.ts"],"names":[],"mappings":";;;AACA,iEAAsD;AACtD,uDAMiC;AAI1B,KAAK,UAAU,8BAA8B,CAElD,iBAAsB,EACtB,KAAe,EACf,QAAqB;IAErB,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAErD,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,CAAC;IAE7B,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,aAAa,GAAG,IAAA,+BAAmB,EAAC,QAAQ,CAAC,CAAC;IAEpD,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,GACjD,MAAM,IAAI,CAAC,gBAAgB,CACzB,iBAAiB,EACjB,OAAO,EACP,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAC/B,aAAa,CACd,CAAC;IAGJ,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAC9C,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QACnC,OAAO,EAAE;YACP,CAAC,+BAAmB,CAAC,EAAE,wCAA4B;YACnD,CAAC,yBAAa,CAAC,EAAE,wCAA4B;YAC7C,IAAI,EAAE,iBAAiB,CAAC,QAAQ;YAChC,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,eAAe;SACD;KAC5B,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AArCD,wEAqCC"}
|
|
@ -21,8 +21,7 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node .build.js",
|
"build": "node .build.js",
|
||||||
"format": "prettier --config .prettierrc \"**/*.ts\" --write",
|
"build:bundle": "tsc-bundle tsconfig.json --outFile dist/bundle.js"
|
||||||
"lint": "eslint src/**/*.ts"
|
|
||||||
},
|
},
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/michaelcpuckett/activitypub-core/issues"
|
"url": "https://github.com/michaelcpuckett/activitypub-core/issues"
|
||||||
|
@ -35,11 +34,13 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/formidable": "^2.0.5",
|
"@types/formidable": "^2.0.5",
|
||||||
|
"@types/isomorphic-fetch": "^0.0.36",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
"@typescript-eslint/eslint-plugin": "^5.40.0",
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.25.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"typescript": "^5.0.4"
|
"typescript": "^5.0.4",
|
||||||
|
"typescript-bundle": "^1.0.18"
|
||||||
},
|
},
|
||||||
"gitHead": "94cd24962ff1406bc137c1ac244f960286d6cac0"
|
"gitHead": "94cd24962ff1406bc137c1ac244f960286d6cac0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,12 +43,12 @@ export type CoreLibrary = AuthAdapter &
|
||||||
queryById: (this: CoreLibrary, id: URL) => Promise<AP.Entity | null>;
|
queryById: (this: CoreLibrary, id: URL) => Promise<AP.Entity | null>;
|
||||||
expandEntity: (
|
expandEntity: (
|
||||||
this: CoreLibrary,
|
this: CoreLibrary,
|
||||||
originalEntity: AP.Entity,
|
entity: AP.Entity,
|
||||||
) => Promise<AP.Entity>;
|
) => Promise<AP.Entity | null>;
|
||||||
getCollectionItems: (
|
getCollectionItems: (
|
||||||
this: CoreLibrary,
|
this: CoreLibrary,
|
||||||
entity: AP.Collection | AP.OrderedCollection,
|
entity: AP.Collection | AP.OrderedCollection,
|
||||||
) => Promise<AP.EntityReference[]>;
|
) => AP.EntityReference[];
|
||||||
getPaginatedCollectionItems: (
|
getPaginatedCollectionItems: (
|
||||||
this: CoreLibrary,
|
this: CoreLibrary,
|
||||||
collection: AP.Collection | AP.OrderedCollection,
|
collection: AP.Collection | AP.OrderedCollection,
|
||||||
|
|
|
@ -1,18 +1,24 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
|
import { assert } from '@activity-kit/type-utilities';
|
||||||
import { applyContext, cleanProps } from '@activity-kit/utilities';
|
import { applyContext, cleanProps } from '@activity-kit/utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* [x] Removes the `bto` and `bcc` properties from Objects before delivery
|
* [x] Removes the `bto` and `bcc` properties from Objects before delivery
|
||||||
* (`outbox:removes-bto-and-bcc`) *MUST*
|
* (`outbox:removes-bto-and-bcc`) *MUST*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export async function broadcast(
|
export async function broadcast(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
activity: AP.Activity,
|
activity: AP.Activity,
|
||||||
actor: AP.Actor,
|
actor: AP.Actor,
|
||||||
): Promise<unknown> {
|
): Promise<unknown> {
|
||||||
const publicActivity = cleanProps(applyContext<AP.Activity>(activity));
|
const entity = applyContext<AP.Entity>(activity);
|
||||||
|
|
||||||
|
assert.isApActivity(entity);
|
||||||
|
|
||||||
|
const publicActivity = cleanProps(entity);
|
||||||
|
|
||||||
if (!('actor' in publicActivity)) {
|
if (!('actor' in publicActivity)) {
|
||||||
throw new Error('Not an activity?');
|
throw new Error('Not an activity?');
|
||||||
|
@ -20,10 +26,6 @@ export async function broadcast(
|
||||||
|
|
||||||
const recipients = await this.getRecipientInboxUrls(activity, actor);
|
const recipients = await this.getRecipientInboxUrls(activity, actor);
|
||||||
|
|
||||||
console.log({
|
|
||||||
recipients,
|
|
||||||
});
|
|
||||||
|
|
||||||
const results = await Promise.all(
|
const results = await Promise.all(
|
||||||
recipients.map(async (recipient) => {
|
recipients.map(async (recipient) => {
|
||||||
return await this.signAndSendToForeignActorInbox(
|
return await this.signAndSendToForeignActorInbox(
|
||||||
|
|
|
@ -1,52 +1,41 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { guard } from '@activity-kit/type-utilities';
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
import { getId } from '@activity-kit/utilities';
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export async function expandCollection(
|
export async function expandCollection(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
collection: AP.EitherCollectionReference,
|
collection: AP.EitherCollectionReference,
|
||||||
): Promise<null | AP.EitherCollection> {
|
): Promise<AP.EitherCollection | null> {
|
||||||
const id = getId(collection);
|
if (!guard.isApCollection(collection)) {
|
||||||
|
|
||||||
if (!id) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const foundEntity = await this.queryById(id);
|
const items = this.getCollectionItems(collection);
|
||||||
|
|
||||||
if (!foundEntity) {
|
const expandedItems = await Promise.all(
|
||||||
return null;
|
items.map(async (item) => {
|
||||||
}
|
if (guard.isApEntity(item)) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
if (guard.isTypeOf<AP.EitherCollection>(foundEntity, AP.CollectionTypes)) {
|
return (await this.queryById(item)) ?? item;
|
||||||
const items = await this.getCollectionItems(foundEntity);
|
}),
|
||||||
|
);
|
||||||
|
|
||||||
if (!items) {
|
if (
|
||||||
return foundEntity;
|
guard.isArray(collection.orderedItems) &&
|
||||||
}
|
collection.orderedItems.length
|
||||||
|
) {
|
||||||
if (
|
return {
|
||||||
Array.isArray(foundEntity.type)
|
...collection,
|
||||||
? foundEntity.type.includes(AP.CollectionTypes.ORDERED_COLLECTION)
|
orderedItems: expandedItems,
|
||||||
: foundEntity.type === AP.CollectionTypes.ORDERED_COLLECTION
|
};
|
||||||
) {
|
} else if (guard.isArray(collection.items) && collection.items.length) {
|
||||||
return {
|
return {
|
||||||
...foundEntity,
|
...collection,
|
||||||
orderedItems: items,
|
items: expandedItems,
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
if (
|
|
||||||
Array.isArray(foundEntity.type)
|
|
||||||
? foundEntity.type.includes(AP.CollectionTypes.COLLECTION)
|
|
||||||
: foundEntity.type === AP.CollectionTypes.COLLECTION
|
|
||||||
) {
|
|
||||||
return {
|
|
||||||
...foundEntity,
|
|
||||||
items,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -1,52 +1,65 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { guard } from '@activity-kit/type-utilities';
|
import { cast, guard } from '@activity-kit/type-utilities';
|
||||||
import { PUBLIC_ACTOR } from '@activity-kit/utilities';
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
|
const selfReferentialKeys = [
|
||||||
|
'@context',
|
||||||
|
'_id',
|
||||||
|
'id',
|
||||||
|
'type',
|
||||||
|
'url',
|
||||||
|
'href',
|
||||||
|
'publicKey',
|
||||||
|
];
|
||||||
|
|
||||||
export async function expandEntity(
|
export async function expandEntity(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
entity: AP.Entity,
|
entity: AP.Entity,
|
||||||
): Promise<AP.Entity | null> {
|
): Promise<AP.Entity | null> {
|
||||||
const expandEntry = async (key: string, value: unknown) => {
|
return cast.isApEntity(await expandObject.bind(this)(entity)) ?? null;
|
||||||
if (
|
}
|
||||||
key === '_id' ||
|
|
||||||
key === 'id' ||
|
|
||||||
key === 'url' ||
|
|
||||||
key === 'type' ||
|
|
||||||
key === '@context' ||
|
|
||||||
key === 'publicKey'
|
|
||||||
) {
|
|
||||||
return value;
|
|
||||||
} else if (value instanceof URL) {
|
|
||||||
if (value.toString() === PUBLIC_ACTOR) {
|
|
||||||
return value;
|
|
||||||
} else {
|
|
||||||
try {
|
|
||||||
const foundEntity = await this.queryById(value);
|
|
||||||
|
|
||||||
return foundEntity ?? value;
|
|
||||||
} catch (error) {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (Array.isArray(value)) {
|
|
||||||
return await Promise.all(
|
|
||||||
value.map(async (item) => await expandEntry('', item)),
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
async function expandObject(
|
||||||
|
this: CoreLibrary,
|
||||||
|
object: Record<string, unknown>,
|
||||||
|
) {
|
||||||
const expanded: Record<string, unknown> = {};
|
const expanded: Record<string, unknown> = {};
|
||||||
|
|
||||||
for (const [key, value] of Object.entries(entity)) {
|
for (const [key, value] of Object.entries(object)) {
|
||||||
expanded[key] = await expandEntry(key, value);
|
expanded[key] = await expandEntry.bind(this)([key, value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (guard.isTypeOf<AP.Entity>(expanded, AP.AllTypes)) {
|
return expanded;
|
||||||
return expanded;
|
}
|
||||||
}
|
|
||||||
|
async function expandEntry(
|
||||||
return null;
|
this: CoreLibrary,
|
||||||
|
entry: [key: string, value: unknown],
|
||||||
|
): Promise<unknown> {
|
||||||
|
const [key, value] = entry;
|
||||||
|
|
||||||
|
if (selfReferentialKeys.includes(key)) {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (guard.isArray(value)) {
|
||||||
|
return await Promise.all(
|
||||||
|
value.map(async (item) => await expandEntry.bind(this)([key, item])),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (guard.isPlainObject(value)) {
|
||||||
|
return await expandObject.bind(this)(value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (guard.isUrl(value)) {
|
||||||
|
const foundEntity = cast.isApEntity(await this.queryById(value));
|
||||||
|
|
||||||
|
if (foundEntity) {
|
||||||
|
return foundEntity;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { assert } from '@activity-kit/type-utilities';
|
import { cast, assert } from '@activity-kit/type-utilities';
|
||||||
import {
|
import {
|
||||||
ACCEPT_HEADER,
|
ACCEPT_HEADER,
|
||||||
ACTIVITYSTREAMS_CONTENT_TYPE,
|
ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
|
@ -9,97 +8,45 @@ import {
|
||||||
LINKED_DATA_CONTENT_TYPE,
|
LINKED_DATA_CONTENT_TYPE,
|
||||||
JSON_CONTENT_TYPE,
|
JSON_CONTENT_TYPE,
|
||||||
getId,
|
getId,
|
||||||
|
SERVER_ACTOR_USERNAME,
|
||||||
|
ACTIVITYSTREAMS_CONTEXT,
|
||||||
} from '@activity-kit/utilities';
|
} from '@activity-kit/utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export async function fetchEntityById(
|
export async function fetchEntityById(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
id: URL,
|
id: URL,
|
||||||
): Promise<AP.Entity | null> {
|
): Promise<AP.Entity | null> {
|
||||||
const getContentType = async (url: URL): Promise<string | null> => {
|
const isJsonLdContentType = await getIsJsonLdContentType.bind(this)(id);
|
||||||
const response = await this.fetch(url.toString(), { method: 'HEAD' });
|
|
||||||
return response.headers.get('Content-Type');
|
|
||||||
};
|
|
||||||
|
|
||||||
const isJsonLdContentType = async (url: URL): Promise<boolean> => {
|
if (!isJsonLdContentType) {
|
||||||
const contentType = await getContentType(url);
|
|
||||||
if (!contentType) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
contentType.includes(ACTIVITYSTREAMS_CONTENT_TYPE) ||
|
|
||||||
contentType.includes(LINKED_DATA_CONTENT_TYPE) ||
|
|
||||||
contentType.includes(JSON_CONTENT_TYPE)
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!(await isJsonLdContentType(id))) {
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send HTTP Signature for Mastodon in secure mode.
|
const botActor = await getBotActor.bind(this)();
|
||||||
const actor = await this.findOne('entity', {
|
|
||||||
preferredUsername: 'bot',
|
|
||||||
});
|
|
||||||
|
|
||||||
assert.isApActor(actor);
|
assert.exists(botActor);
|
||||||
|
|
||||||
const actorId = getId(actor);
|
const botActorId = getId(botActor);
|
||||||
|
|
||||||
assert.exists(actorId);
|
assert.exists(botActorId);
|
||||||
|
|
||||||
const { dateHeader, signatureHeader } = await this.getHttpSignature(
|
const { dateHeader, signatureHeader } = await this.getHttpSignature(
|
||||||
id,
|
id,
|
||||||
actorId,
|
botActorId,
|
||||||
await this.getPrivateKey(actor),
|
await this.getPrivateKey(botActor),
|
||||||
);
|
);
|
||||||
|
|
||||||
const controller = new AbortController();
|
const headers = {
|
||||||
const timeout = setTimeout(() => controller.abort(), 1250);
|
date: dateHeader,
|
||||||
|
signature: signatureHeader,
|
||||||
|
};
|
||||||
|
|
||||||
// GET requests (eg. to th e inbox) MUST be made with an Accept header of
|
const fetchedJson = await fetchJsonByUrl.bind(this)(id, headers);
|
||||||
// `application/ld+json; profile="https://www.w3.org/ns/activitystreams"`
|
|
||||||
const fetchedEntity: Record<string, unknown> | null = await this.fetch(
|
|
||||||
id.toString(),
|
|
||||||
{
|
|
||||||
signal: controller.signal,
|
|
||||||
headers: {
|
|
||||||
[ACCEPT_HEADER]: ACTIVITYSTREAMS_CONTENT_TYPE,
|
|
||||||
date: dateHeader,
|
|
||||||
signature: signatureHeader,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
)
|
|
||||||
.then(async (response) => {
|
|
||||||
clearTimeout(timeout);
|
|
||||||
if (response.status === 200) {
|
|
||||||
return await response.json();
|
|
||||||
} else if (response.status === 410) {
|
|
||||||
const data = await response.json();
|
|
||||||
|
|
||||||
if ('@context' in data) {
|
if (fetchedJson) {
|
||||||
console.log('Likely a Tombstone?');
|
const convertedEntity = convertJsonToEntity(fetchedJson);
|
||||||
return data;
|
|
||||||
} else {
|
|
||||||
throw new Error('Not found, but not a tombstone.');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log(
|
|
||||||
'Found but not 200 or 404.',
|
|
||||||
response.status,
|
|
||||||
id.toString(),
|
|
||||||
);
|
|
||||||
throw new Error(`Unexpected status code ${response.status}`);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((error: unknown) => {
|
|
||||||
clearTimeout(timeout);
|
|
||||||
console.log(String(error));
|
|
||||||
return null;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (fetchedEntity) {
|
|
||||||
const convertedEntity = convertJsonToEntity(fetchedEntity);
|
|
||||||
|
|
||||||
if (convertedEntity) {
|
if (convertedEntity) {
|
||||||
const entity = compressEntity(convertedEntity);
|
const entity = compressEntity(convertedEntity);
|
||||||
|
@ -113,3 +60,100 @@ export async function fetchEntityById(
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function fetchJsonByUrl(
|
||||||
|
this: CoreLibrary,
|
||||||
|
url: URL,
|
||||||
|
headers: Record<string, string>,
|
||||||
|
): Promise<Record<string, unknown> | null> {
|
||||||
|
type Response = Awaited<ReturnType<(typeof this)['fetch']>>;
|
||||||
|
|
||||||
|
const controller = new AbortController();
|
||||||
|
const timeout = setTimeout(() => controller.abort(), 1250);
|
||||||
|
const config = {
|
||||||
|
signal: controller.signal,
|
||||||
|
headers: {
|
||||||
|
...headers,
|
||||||
|
// GET requests (eg. to the inbox) MUST be made with an Accept header of
|
||||||
|
// `application/ld+json; profile="https://www.w3.org/ns/activitystreams"`
|
||||||
|
[ACCEPT_HEADER]: ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
async function handleResponse(response: Response) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
|
||||||
|
const data = await response.json();
|
||||||
|
|
||||||
|
if (response.status === 200) {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.status === 400 || response.status === 410) {
|
||||||
|
if ('@context' in data) {
|
||||||
|
// Likely a tombstone
|
||||||
|
return data;
|
||||||
|
} else {
|
||||||
|
// Return a tombstone
|
||||||
|
return {
|
||||||
|
'@context': ACTIVITYSTREAMS_CONTEXT,
|
||||||
|
type: AP.ExtendedObjectTypes.TOMBSTONE,
|
||||||
|
id: url.href,
|
||||||
|
url: url.href,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (response.status >= 500) {
|
||||||
|
console.log('Server error.', response.status, url.href);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('Unexpected status code.', response.status, url.href);
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function handleError(error: Error) {
|
||||||
|
clearTimeout(timeout);
|
||||||
|
console.log(`${error}`);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return await this.fetch(url.href, config)
|
||||||
|
.then(handleResponse)
|
||||||
|
.catch(handleError);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getContentType(
|
||||||
|
this: CoreLibrary,
|
||||||
|
url: URL,
|
||||||
|
): Promise<string | null> {
|
||||||
|
const { headers } = await this.fetch(url.toString(), { method: 'HEAD' });
|
||||||
|
return headers.get('Content-Type');
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getIsJsonLdContentType(
|
||||||
|
this: CoreLibrary,
|
||||||
|
url: URL,
|
||||||
|
): Promise<boolean> {
|
||||||
|
const contentType = await getContentType.bind(this)(url);
|
||||||
|
|
||||||
|
if (!contentType) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
contentType.includes(ACTIVITYSTREAMS_CONTENT_TYPE) ||
|
||||||
|
contentType.includes(LINKED_DATA_CONTENT_TYPE) ||
|
||||||
|
contentType.includes(JSON_CONTENT_TYPE)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getBotActor(this: CoreLibrary) {
|
||||||
|
const botActor = await this.findOne('entity', {
|
||||||
|
preferredUsername: SERVER_ACTOR_USERNAME,
|
||||||
|
});
|
||||||
|
|
||||||
|
return cast.isApActor(botActor) ?? null;
|
||||||
|
}
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { getCollectionNameByUrl } from '@activity-kit/utilities';
|
import { getCollectionNameByUrl } from '@activity-kit/utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export async function findEntityById(
|
export async function findEntityById(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
id: URL,
|
id: URL,
|
||||||
): Promise<AP.Entity | null> {
|
): Promise<AP.Entity | null> {
|
||||||
const collectionName = getCollectionNameByUrl(id);
|
const collectionName = getCollectionNameByUrl(id);
|
||||||
|
|
||||||
return await this.findOne(collectionName, { id: id.toString() });
|
return await this.findOne(collectionName, { id: id.href });
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +1,19 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export async function getActorByUserId(
|
export async function getActorByUserId(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
userId: string,
|
userId: string,
|
||||||
): Promise<AP.Actor | null> {
|
): Promise<AP.Actor | null> {
|
||||||
if (!userId) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const preferredUsername = await this.findStringValueById('username', userId);
|
const preferredUsername = await this.findStringValueById('username', userId);
|
||||||
|
|
||||||
const user = await this.findOne('entity', { preferredUsername });
|
const user = await this.findOne('entity', { preferredUsername });
|
||||||
|
|
||||||
if (user && 'preferredUsername' in user) {
|
if (!guard.isApActor(user)) {
|
||||||
return user;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,45 +1,27 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { assert } from '@activity-kit/type-utilities';
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
import { getId } from '@activity-kit/utilities';
|
|
||||||
|
|
||||||
export async function getCollectionItems(
|
import { CoreLibrary } from './adapters';
|
||||||
this: Core,
|
|
||||||
|
export function getCollectionItems(
|
||||||
|
this: CoreLibrary,
|
||||||
entity: AP.Collection | AP.OrderedCollection,
|
entity: AP.Collection | AP.OrderedCollection,
|
||||||
): Promise<AP.EntityReference[]> {
|
): AP.EntityReference[] {
|
||||||
try {
|
const collectionItems: AP.EntityReference[] = [];
|
||||||
assert.isApCollection(entity);
|
|
||||||
|
|
||||||
const collectionItems = entity.orderedItems || entity.items;
|
if (guard.isArray(entity.orderedItems) && entity.orderedItems.length) {
|
||||||
|
const orderedItems = entity.orderedItems.filter((item) => {
|
||||||
|
return guard.isApEntity(item) || guard.isUrl(item);
|
||||||
|
});
|
||||||
|
|
||||||
if (!Array.isArray(collectionItems)) {
|
collectionItems.push(...orderedItems);
|
||||||
return [];
|
} else if (guard.isArray(entity.items) && entity.items.length) {
|
||||||
}
|
const items = entity.items.filter((item) => {
|
||||||
|
return guard.isApEntity(item) || guard.isUrl(item);
|
||||||
|
});
|
||||||
|
|
||||||
const result: AP.EntityReference[] = [];
|
collectionItems.push(...items);
|
||||||
|
|
||||||
for (const item of collectionItems) {
|
|
||||||
if (item instanceof URL) {
|
|
||||||
const foundItem = await this.queryById(item);
|
|
||||||
|
|
||||||
result.push(
|
|
||||||
foundItem
|
|
||||||
? await this.expandEntity(foundItem)
|
|
||||||
: {
|
|
||||||
id: item,
|
|
||||||
type: AP.CoreObjectTypes.TOMBSTONE,
|
|
||||||
content: 'Not found',
|
|
||||||
},
|
|
||||||
);
|
|
||||||
} else if (!Array.isArray(item)) {
|
|
||||||
const foundItem = await this.queryById(getId(item));
|
|
||||||
|
|
||||||
result.push(foundItem ?? item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
} catch (error) {
|
|
||||||
return [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return collectionItems;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,76 +1,69 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { assert } from '@activity-kit/type-utilities';
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
import { getId } from '@activity-kit/utilities';
|
import { getId } from '@activity-kit/utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export async function getPaginatedCollectionItems(
|
export async function getPaginatedCollectionItems(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
collection: AP.Collection | AP.OrderedCollection,
|
collection: AP.Collection | AP.OrderedCollection,
|
||||||
): Promise<AP.EntityReference[]> {
|
): Promise<AP.EntityReference[]> {
|
||||||
const collectionItems: AP.EntityReference[][] = [];
|
const firstCollectionPageId = getId(collection.first);
|
||||||
|
|
||||||
try {
|
if (!firstCollectionPageId) {
|
||||||
assert.isApCollection(collection);
|
// TODO .getArray()
|
||||||
|
|
||||||
const firstCollectionPageId = getId(collection.first);
|
if (guard.isArray(collection.orderedItems)) {
|
||||||
|
return collection.orderedItems;
|
||||||
if (firstCollectionPageId) {
|
|
||||||
const firstCollectionPage = await this.queryById(firstCollectionPageId);
|
|
||||||
|
|
||||||
try {
|
|
||||||
assert.isApTypeOf<AP.EitherCollectionPage>(
|
|
||||||
firstCollectionPage,
|
|
||||||
AP.CollectionPageTypes,
|
|
||||||
);
|
|
||||||
|
|
||||||
let nextCollectionPage: AP.EitherCollectionPage | null =
|
|
||||||
firstCollectionPage;
|
|
||||||
|
|
||||||
while (nextCollectionPage) {
|
|
||||||
try {
|
|
||||||
assert.isApTypeOf<AP.EitherCollectionPage>(
|
|
||||||
nextCollectionPage,
|
|
||||||
AP.CollectionPageTypes,
|
|
||||||
);
|
|
||||||
|
|
||||||
const collectionPageItems =
|
|
||||||
nextCollectionPage.orderedItems || nextCollectionPage.items;
|
|
||||||
|
|
||||||
assert.isArray(collectionPageItems);
|
|
||||||
|
|
||||||
collectionItems.push(collectionPageItems);
|
|
||||||
|
|
||||||
const nextCollectionPageId = getId(nextCollectionPage.next);
|
|
||||||
|
|
||||||
assert.exists(nextCollectionPageId);
|
|
||||||
|
|
||||||
const potentialNextCollectionPage = await this.queryById(
|
|
||||||
nextCollectionPageId,
|
|
||||||
);
|
|
||||||
|
|
||||||
assert.isApTypeOf<AP.EitherCollectionPage>(
|
|
||||||
potentialNextCollectionPage,
|
|
||||||
AP.CollectionPageTypes,
|
|
||||||
);
|
|
||||||
|
|
||||||
nextCollectionPage = potentialNextCollectionPage;
|
|
||||||
} catch (error) {
|
|
||||||
nextCollectionPage = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch (error) {}
|
|
||||||
} else {
|
|
||||||
if (Array.isArray(collection.orderedItems)) {
|
|
||||||
collectionItems.push(collection.orderedItems);
|
|
||||||
} else if (Array.isArray(collection.items)) {
|
|
||||||
collectionItems.push(collection.items);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return collectionItems.flat();
|
if (guard.isArray(collection.items)) {
|
||||||
} catch (error) {
|
return collection.items;
|
||||||
// Not a Collection.
|
}
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const firstCollectionPage = await this.queryById(firstCollectionPageId);
|
||||||
|
|
||||||
|
if (
|
||||||
|
!guard.isApTypeOf<AP.CollectionPage>(
|
||||||
|
firstCollectionPage,
|
||||||
|
AP.CollectionPageTypes,
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const collectionItems: AP.EntityReference[][] = [];
|
||||||
|
|
||||||
|
let nextCollectionPage = firstCollectionPage;
|
||||||
|
|
||||||
|
while (nextCollectionPage) {
|
||||||
|
if (guard.isArray(nextCollectionPage.orderedItems)) {
|
||||||
|
collectionItems.push(nextCollectionPage.orderedItems);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (guard.isArray(nextCollectionPage.items)) {
|
||||||
|
collectionItems.push(nextCollectionPage.items);
|
||||||
|
}
|
||||||
|
|
||||||
|
const nextPageId = getId(nextCollectionPage.next);
|
||||||
|
|
||||||
|
if (!guard.exists(nextPageId)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const nextPage = await this.queryById(nextPageId);
|
||||||
|
|
||||||
|
if (
|
||||||
|
!guard.isApTypeOf<AP.CollectionPage>(nextPage, AP.CollectionPageTypes)
|
||||||
|
) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
nextCollectionPage = nextPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
return collectionItems.flat();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
|
|
||||||
export async function getPrivateKey(this: Core, actor: AP.Actor) {
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
|
export async function getPrivateKey(this: CoreLibrary, actor: AP.Actor) {
|
||||||
if (!actor.preferredUsername) {
|
if (!actor.preferredUsername) {
|
||||||
throw new Error('Actor has no `preferredUsername`.');
|
throw new Error('Actor has no `preferredUsername`.');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,47 +1,55 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { assert } from '@activity-kit/type-utilities';
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
import { deduplicateUrls, getId } from '@activity-kit/utilities';
|
import { deduplicateUrls, getId } from '@activity-kit/utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export async function getRecipientInboxUrls(
|
export async function getRecipientInboxUrls(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
activity: AP.Activity,
|
activity: AP.Activity,
|
||||||
actor: AP.Actor,
|
actor: AP.Actor,
|
||||||
inboxesOnly?: boolean,
|
inboxesOnly?: boolean,
|
||||||
): Promise<URL[]> {
|
) {
|
||||||
const recipientUrls = await this.getRecipientUrls(activity);
|
const recipientUrls = await this.getRecipientUrls(activity);
|
||||||
|
|
||||||
const recipientInboxUrls = (
|
const recipientInboxUrls = await Promise.all(
|
||||||
await Promise.all(
|
recipientUrls.map(async (recipientUrl) => {
|
||||||
recipientUrls.map(async (recipientUrl) => {
|
return await mapRecipientUrl.bind(this)(recipientUrl, actor, inboxesOnly);
|
||||||
try {
|
}),
|
||||||
if (recipientUrl.toString() === getId(actor).toString()) {
|
);
|
||||||
return [];
|
|
||||||
}
|
|
||||||
|
|
||||||
const foundEntity = await this.fetchEntityById(recipientUrl);
|
return deduplicateUrls(recipientInboxUrls.flat().filter(guard.isUrl));
|
||||||
|
}
|
||||||
assert.isApActor(foundEntity);
|
|
||||||
|
async function mapRecipientUrl(
|
||||||
if (!inboxesOnly) {
|
this: CoreLibrary,
|
||||||
if (foundEntity.endpoints) {
|
recipientUrl: URL,
|
||||||
if (foundEntity.endpoints.sharedInbox instanceof URL) {
|
actor: AP.Actor,
|
||||||
return [foundEntity.endpoints.sharedInbox];
|
inboxesOnly?: boolean,
|
||||||
}
|
) {
|
||||||
}
|
if (recipientUrl.href === getId(actor)?.href) {
|
||||||
}
|
return [];
|
||||||
|
}
|
||||||
const inboxId = getId(foundEntity.inbox);
|
|
||||||
|
const foundEntity = await this.fetchEntityById(recipientUrl);
|
||||||
if (inboxId instanceof URL) {
|
|
||||||
return [inboxId];
|
if (!guard.isApActor(foundEntity)) {
|
||||||
}
|
return [];
|
||||||
} catch (error) {
|
}
|
||||||
return [];
|
|
||||||
}
|
if (!inboxesOnly) {
|
||||||
}),
|
if (foundEntity.endpoints) {
|
||||||
)
|
if (guard.isUrl(foundEntity.endpoints.sharedInbox)) {
|
||||||
).flat();
|
return [foundEntity.endpoints.sharedInbox];
|
||||||
|
}
|
||||||
return deduplicateUrls(recipientInboxUrls);
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const inboxId = getId(foundEntity.inbox);
|
||||||
|
|
||||||
|
if (guard.isUrl(inboxId)) {
|
||||||
|
return [inboxId];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,106 +1,101 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { assert } from '@activity-kit/type-utilities';
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
import {
|
import { getId, PUBLIC_ACTOR, deduplicateUrls } from '@activity-kit/utilities';
|
||||||
getId,
|
|
||||||
PUBLIC_ACTOR,
|
import { CoreLibrary } from './adapters';
|
||||||
deduplicateUrls,
|
|
||||||
getArray,
|
|
||||||
} from '@activity-kit/utilities';
|
|
||||||
|
|
||||||
export async function getRecipientUrls(
|
export async function getRecipientUrls(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
activity: AP.Activity,
|
activity: AP.Activity,
|
||||||
): Promise<URL[]> {
|
): Promise<URL[]> {
|
||||||
const mentions = (
|
const tags =
|
||||||
'object' in activity && 'tag' in activity.object
|
guard.isApCoreObject(activity.object) && activity.object.tag
|
||||||
? getArray<AP.EntityReference>(activity.object.tag)
|
? getArray(activity.object.tag)
|
||||||
: []
|
: [];
|
||||||
).filter((entity: AP.EntityReference) => {
|
const mentions = tags.map(getId).filter(guard.isUrl);
|
||||||
try {
|
|
||||||
assert.isApType(entity, AP.LinkTypes.MENTION);
|
|
||||||
return true;
|
|
||||||
} catch {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const recipients = [
|
const recipients = [
|
||||||
...getArray<AP.EntityReference>(activity.to),
|
...getArray(activity.to),
|
||||||
...getArray<AP.EntityReference>(activity.cc),
|
...getArray(activity.cc),
|
||||||
...getArray<AP.EntityReference>(activity.bto),
|
...getArray(activity.bto),
|
||||||
...getArray<AP.EntityReference>(activity.bcc),
|
...getArray(activity.bcc),
|
||||||
...getArray<AP.EntityReference>(activity.audience),
|
...getArray(activity.audience),
|
||||||
...mentions,
|
...mentions,
|
||||||
].flat();
|
].flat();
|
||||||
|
|
||||||
const recipientIds = recipients
|
const recipientIds = recipients
|
||||||
.map((recipient) => getId(recipient))
|
.map(getId)
|
||||||
.filter((recipientUrl) => `${recipientUrl}` !== PUBLIC_ACTOR);
|
.filter(guard.isUrl)
|
||||||
|
.filter((recipientUrl) => recipientUrl.href !== PUBLIC_ACTOR);
|
||||||
|
|
||||||
const actorUrls = (
|
const actorUrls = await Promise.all(recipientIds.map(getActorIds.bind(this)));
|
||||||
await Promise.all<URL[]>(
|
|
||||||
recipientIds.map(async (recipientId) => {
|
|
||||||
const foundRecipient = await this.queryById(recipientId);
|
|
||||||
|
|
||||||
if (!foundRecipient) {
|
return deduplicateUrls(actorUrls.flat());
|
||||||
return [];
|
}
|
||||||
}
|
|
||||||
|
async function getActorIds(
|
||||||
try {
|
this: CoreLibrary,
|
||||||
assert.isApActor(foundRecipient);
|
recipientId: URL,
|
||||||
|
): Promise<URL[]> {
|
||||||
const actorUrl = getId(foundRecipient);
|
const foundRecipient = await this.queryById(recipientId);
|
||||||
|
|
||||||
if (actorUrl instanceof URL) {
|
if (!foundRecipient) {
|
||||||
return [actorUrl];
|
return [];
|
||||||
}
|
}
|
||||||
} catch (error) {
|
|
||||||
// Not an Actor.
|
if (guard.isApActor(foundRecipient)) {
|
||||||
}
|
const actorUrl = getId(foundRecipient);
|
||||||
|
|
||||||
try {
|
if (guard.isUrl(actorUrl)) {
|
||||||
assert.isApCollection(foundRecipient);
|
return [actorUrl];
|
||||||
|
}
|
||||||
const collectionItems = await this.getPaginatedCollectionItems(
|
}
|
||||||
foundRecipient,
|
|
||||||
);
|
if (guard.isApCollection(foundRecipient)) {
|
||||||
|
const collectionItems = await this.getPaginatedCollectionItems(
|
||||||
console.log([collectionItems]);
|
foundRecipient,
|
||||||
|
);
|
||||||
const actorsInCollection = [];
|
|
||||||
|
const actorsInCollection: URL[] = [];
|
||||||
for (const collectionItem of collectionItems) {
|
|
||||||
try {
|
for (const collectionItem of collectionItems) {
|
||||||
const collectionItemId = getId(collectionItem);
|
const collectionItemId = getId(collectionItem);
|
||||||
|
|
||||||
assert.exists(collectionItemId);
|
if (!guard.isUrl(collectionItemId)) {
|
||||||
|
continue;
|
||||||
const expandedCollectionItem = await this.queryById(
|
}
|
||||||
collectionItemId,
|
|
||||||
);
|
const expandedCollectionItem = await this.queryById(collectionItemId);
|
||||||
|
|
||||||
assert.isApActor(expandedCollectionItem);
|
if (!guard.isApActor(expandedCollectionItem)) {
|
||||||
|
continue;
|
||||||
const actorUrl = getId(expandedCollectionItem);
|
}
|
||||||
|
|
||||||
if (actorUrl instanceof URL) {
|
const actorUrl = getId(expandedCollectionItem);
|
||||||
actorsInCollection.push(actorUrl);
|
|
||||||
}
|
if (!guard.isUrl(actorUrl)) {
|
||||||
} catch (error) {
|
continue;
|
||||||
// Not an Actor.
|
}
|
||||||
}
|
|
||||||
}
|
actorsInCollection.push(actorUrl);
|
||||||
|
}
|
||||||
return actorsInCollection;
|
|
||||||
} catch (error) {
|
return actorsInCollection;
|
||||||
// Not a Collection.
|
}
|
||||||
}
|
|
||||||
|
return [];
|
||||||
return [];
|
}
|
||||||
}),
|
|
||||||
)
|
function getArray(
|
||||||
).flat();
|
items: null | undefined | AP.OrArray<AP.EntityReference>,
|
||||||
|
): AP.EntityReference[] {
|
||||||
return deduplicateUrls(actorUrls);
|
if (!items) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
const array = guard.isArray(items) ? items : [items];
|
||||||
|
|
||||||
|
return array.filter((item) => {
|
||||||
|
return guard.isApEntity(item) || guard.isUrl(item);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,20 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { assert } from '@activity-kit/type-utilities';
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
import { getId } from '@activity-kit/utilities';
|
import { getId } from '@activity-kit/utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export const getStreamByName = async function (
|
export const getStreamByName = async function (
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
actor: AP.Actor,
|
actor: AP.Actor,
|
||||||
name: string,
|
name: string,
|
||||||
): Promise<AP.EitherCollection | null> {
|
): Promise<AP.EitherCollection | null> {
|
||||||
assert.isArray(actor.streams);
|
if (!actor.streams) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
const streams = await Promise.all(
|
const streams = await Promise.all(
|
||||||
actor.streams.map(async (stream: AP.Entity | URL) => {
|
actor.streams.map(async (stream: AP.EntityReference) => {
|
||||||
const streamId = getId(stream);
|
const streamId = getId(stream);
|
||||||
|
|
||||||
if (!streamId) {
|
if (!streamId) {
|
||||||
|
@ -23,14 +26,10 @@ export const getStreamByName = async function (
|
||||||
);
|
);
|
||||||
|
|
||||||
for (const stream of streams) {
|
for (const stream of streams) {
|
||||||
try {
|
if (guard.isApCollection(stream)) {
|
||||||
assert.isApCollection(stream);
|
|
||||||
|
|
||||||
if (stream.name === name) {
|
if (stream.name === name) {
|
||||||
return stream;
|
return stream;
|
||||||
}
|
}
|
||||||
} catch (error) {
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import * as AP from '@activity-kit/types';
|
||||||
import fetch from 'isomorphic-fetch';
|
import fetch from 'isomorphic-fetch';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
import { Core } from '.';
|
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import { guard } from '@activity-kit/type-utilities';
|
import { guard } from '@activity-kit/type-utilities';
|
||||||
import { isLocal } from '@activity-kit/utilities';
|
import { isLocal } from '@activity-kit/utilities';
|
||||||
|
|
||||||
|
import { CoreLibrary } from './adapters';
|
||||||
|
|
||||||
export async function queryById(
|
export async function queryById(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
id: URL,
|
id: URL,
|
||||||
): Promise<AP.Entity | null> {
|
): Promise<AP.Entity | null> {
|
||||||
if (isLocal(id)) {
|
if (isLocal(id)) {
|
||||||
|
@ -20,7 +21,11 @@ export async function queryById(
|
||||||
AP.ExtendedObjectTypes.TOMBSTONE,
|
AP.ExtendedObjectTypes.TOMBSTONE,
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
return this.findEntityById(id);
|
const foundEntity = await this.findEntityById(id);
|
||||||
|
|
||||||
|
if (foundEntity) {
|
||||||
|
return foundEntity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return fetchedEntity;
|
return fetchedEntity;
|
||||||
|
|
|
@ -1,33 +1,41 @@
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
|
import { assert } from '@activity-kit/type-utilities';
|
||||||
import {
|
import {
|
||||||
CONTENT_TYPE_HEADER,
|
CONTENT_TYPE_HEADER,
|
||||||
ACTIVITYSTREAMS_CONTENT_TYPE,
|
ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
ACCEPT_HEADER,
|
ACCEPT_HEADER,
|
||||||
convertEntityToJson,
|
convertEntityToJson,
|
||||||
|
getId,
|
||||||
} from '@activity-kit/utilities';
|
} from '@activity-kit/utilities';
|
||||||
import { Core } from '.';
|
|
||||||
|
import { CoreLibrary } from '.';
|
||||||
|
|
||||||
export async function signAndSendToForeignActorInbox(
|
export async function signAndSendToForeignActorInbox(
|
||||||
this: Core,
|
this: CoreLibrary,
|
||||||
foreignActorInbox: URL,
|
foreignActorInbox: URL,
|
||||||
actor: AP.Actor,
|
actor: AP.Actor,
|
||||||
activity: AP.Activity,
|
activity: AP.Activity,
|
||||||
): Promise<unknown> {
|
): Promise<unknown> {
|
||||||
console.log('SENDING TO...', foreignActorInbox.toString());
|
console.log('SENDING TO...', foreignActorInbox.href);
|
||||||
|
|
||||||
|
const actorId = getId(actor);
|
||||||
|
|
||||||
|
assert.exists(actorId);
|
||||||
|
|
||||||
|
const plainActivity = convertEntityToJson(activity);
|
||||||
|
|
||||||
const convertedActivity = convertEntityToJson(activity);
|
|
||||||
const { dateHeader, digestHeader, signatureHeader } =
|
const { dateHeader, digestHeader, signatureHeader } =
|
||||||
await this.getHttpSignature(
|
await this.getHttpSignature(
|
||||||
foreignActorInbox,
|
foreignActorInbox,
|
||||||
actor.id,
|
actorId,
|
||||||
await this.getPrivateKey(actor),
|
await this.getPrivateKey(actor),
|
||||||
convertedActivity,
|
plainActivity,
|
||||||
);
|
);
|
||||||
|
|
||||||
// send
|
// send
|
||||||
return await this.fetch(foreignActorInbox.toString(), {
|
return await this.fetch(foreignActorInbox.href, {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
body: JSON.stringify(convertedActivity),
|
body: JSON.stringify(plainActivity),
|
||||||
headers: {
|
headers: {
|
||||||
[CONTENT_TYPE_HEADER]: ACTIVITYSTREAMS_CONTENT_TYPE,
|
[CONTENT_TYPE_HEADER]: ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
[ACCEPT_HEADER]: ACTIVITYSTREAMS_CONTENT_TYPE,
|
[ACCEPT_HEADER]: ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||||
|
@ -35,7 +43,7 @@ export async function signAndSendToForeignActorInbox(
|
||||||
Date: dateHeader,
|
Date: dateHeader,
|
||||||
Digest: digestHeader,
|
Digest: digestHeader,
|
||||||
Signature: signatureHeader,
|
Signature: signatureHeader,
|
||||||
},
|
} as Record<string, string>,
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
|
|
|
@ -3,25 +3,24 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"target": "ESNext",
|
"target": "ES2018",
|
||||||
"jsx": "react",
|
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"lib": [
|
"lib": [
|
||||||
"ESNext"
|
"ES2018"
|
||||||
],
|
],
|
||||||
"outDir": "./lib"
|
"outDir": "./lib/"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"./node_modules",
|
"./node_modules",
|
||||||
"../../node_modules"
|
"../../node_modules"
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"src/index.ts"
|
"./src/"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
|
import * as AP from '@activity-kit/types';
|
||||||
|
import { assert } from '@activity-kit/type-utilities';
|
||||||
|
|
||||||
import { InboxPostEndpoint } from '.';
|
import { InboxPostEndpoint } from '.';
|
||||||
|
|
||||||
export async function getActors(this: InboxPostEndpoint) {
|
export async function getActors(this: InboxPostEndpoint): Promise<AP.Actor[]> {
|
||||||
const actor = await this.core.findOne('entity', {
|
const actor = await this.core.findOne('entity', {
|
||||||
inbox: this.url.href,
|
inbox: this.url.href,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!actor || !actor.id || !('inbox' in actor)) {
|
assert.isApActor(actor);
|
||||||
throw new Error('No actor with this inbox.');
|
|
||||||
}
|
|
||||||
|
|
||||||
return [actor];
|
return [actor];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,75 +1,7 @@
|
||||||
import * as AP from '@activity-kit/types';
|
|
||||||
import { guard } from '@activity-kit/type-utilities';
|
|
||||||
import { getArray, getId } from '@activity-kit/utilities';
|
|
||||||
import { InboxPostEndpoint } from '.';
|
import { InboxPostEndpoint } from '.';
|
||||||
|
|
||||||
// TODO: Check with Spec.
|
// TODO: Check with Spec.
|
||||||
|
|
||||||
export async function shouldForwardActivity(this: InboxPostEndpoint) {
|
export async function shouldForwardActivity(this: InboxPostEndpoint) {
|
||||||
if (!this.activity) {
|
return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!guard.isTypeOf<AP.Activity>(this.activity, AP.ActivityTypes)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const activity = this.activity as AP.Activity;
|
|
||||||
|
|
||||||
const to = getArray<AP.EntityReference>(activity.to);
|
|
||||||
const cc = getArray<AP.EntityReference>(activity.cc);
|
|
||||||
const audience = getArray<AP.EntityReference>(activity.audience);
|
|
||||||
|
|
||||||
const addressees = [...to, ...cc, ...audience];
|
|
||||||
|
|
||||||
for (const addressee of addressees) {
|
|
||||||
const addresseeId = getId(addressee);
|
|
||||||
|
|
||||||
if (!addresseeId) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const foundItem = await this.core.findEntityById(addresseeId);
|
|
||||||
|
|
||||||
if (!foundItem) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (
|
|
||||||
guard.isApType<AP.Collection>(foundItem, AP.CollectionTypes.COLLECTION) ||
|
|
||||||
guard.isApType<AP.OrderedCollection>(
|
|
||||||
foundItem,
|
|
||||||
AP.CollectionTypes.ORDERED_COLLECTION,
|
|
||||||
)
|
|
||||||
) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const inReplyTo = getArray<AP.EntityReference>(activity.inReplyTo);
|
|
||||||
const object =
|
|
||||||
'object' in activity ? getArray<AP.EntityReference>(activity.object) : [];
|
|
||||||
const target =
|
|
||||||
'target' in activity ? getArray<AP.EntityReference>(activity.target) : [];
|
|
||||||
const tag = getArray<AP.EntityReference>(activity.tag);
|
|
||||||
|
|
||||||
const objects = [...inReplyTo, ...object, ...target, ...tag];
|
|
||||||
|
|
||||||
for (const object of objects) {
|
|
||||||
const objectId = getId(object);
|
|
||||||
|
|
||||||
if (!objectId) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const foundItem = await this.core.findEntityById(objectId);
|
|
||||||
|
|
||||||
if (!foundItem) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (foundItem) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
{
|
{
|
||||||
"parser": "@typescript-eslint/parser",
|
"parser": "@typescript-eslint/parser",
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"ecmaVersion": 2018,
|
"ecmaVersion": 2018
|
||||||
"sourceType": "module"
|
|
||||||
},
|
},
|
||||||
"plugins": ["@typescript-eslint"],
|
"plugins": ["@typescript-eslint"],
|
||||||
"extends": ["plugin:@typescript-eslint/recommended"],
|
"extends": ["plugin:@typescript-eslint/recommended"],
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
/// <reference types="node" />
|
/// <reference types="node" />
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function exists(value: unknown): asserts value is string | number | object;
|
export declare function exists(value: unknown): asserts value is string | number | object | boolean;
|
||||||
export declare function isObject(value: unknown): asserts value is object;
|
export declare function isObject(value: unknown): asserts value is object;
|
||||||
|
export declare function isPlainObject(value: unknown): asserts value is Record<string, unknown>;
|
||||||
export declare function isString(value: unknown): asserts value is string;
|
export declare function isString(value: unknown): asserts value is string;
|
||||||
export declare function isNumber(value: unknown): asserts value is number;
|
export declare function isNumber(value: unknown): asserts value is number;
|
||||||
|
export declare function isBoolean(value: unknown): asserts value is boolean;
|
||||||
export declare function isDate(value: unknown): asserts value is Date;
|
export declare function isDate(value: unknown): asserts value is Date;
|
||||||
export declare function isUrl(value: unknown): asserts value is URL;
|
export declare function isUrl(value: unknown): asserts value is URL;
|
||||||
export declare function isArray(value: unknown): asserts value is Array<unknown>;
|
export declare function isArray(value: unknown): asserts value is Array<unknown>;
|
||||||
|
|
|
@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isNumber = exports.isString = exports.isObject = exports.exists = void 0;
|
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isBoolean = exports.isNumber = exports.isString = exports.isPlainObject = exports.isObject = exports.exists = void 0;
|
||||||
const guard = __importStar(require("./guard"));
|
const guard = __importStar(require("./guard"));
|
||||||
function exists(value) {
|
function exists(value) {
|
||||||
if (!guard.exists(value)) {
|
if (!guard.exists(value)) {
|
||||||
|
@ -37,6 +37,12 @@ function isObject(value) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.isObject = isObject;
|
exports.isObject = isObject;
|
||||||
|
function isPlainObject(value) {
|
||||||
|
if (!guard.isPlainObject(value)) {
|
||||||
|
throw new Error(`"${value}" is not a plain object.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.isPlainObject = isPlainObject;
|
||||||
function isString(value) {
|
function isString(value) {
|
||||||
if (!guard.isString(value)) {
|
if (!guard.isString(value)) {
|
||||||
throw new Error(`"${value}" is not a string.`);
|
throw new Error(`"${value}" is not a string.`);
|
||||||
|
@ -49,6 +55,12 @@ function isNumber(value) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.isNumber = isNumber;
|
exports.isNumber = isNumber;
|
||||||
|
function isBoolean(value) {
|
||||||
|
if (!guard.isBoolean(value)) {
|
||||||
|
throw new Error(`"${value}" is not a boolean.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.isBoolean = isBoolean;
|
||||||
function isDate(value) {
|
function isDate(value) {
|
||||||
if (!guard.isDate(value)) {
|
if (!guard.isDate(value)) {
|
||||||
throw new Error(`"${value}" is not a Date object.`);
|
throw new Error(`"${value}" is not a Date object.`);
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"assert.js","sourceRoot":"","sources":["../src/assert.ts"],"names":[],"mappings":"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"}
|
|
@ -1,8 +1,10 @@
|
||||||
/// <reference types="node" />
|
/// <reference types="node" />
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function exists(value: unknown): string | number | object | undefined;
|
export declare function exists(value: unknown): string | number | boolean | object | undefined;
|
||||||
export declare function isObject(value: unknown): object | undefined;
|
export declare function isObject(value: unknown): object | undefined;
|
||||||
|
export declare function isPlainObject(value: unknown): Record<string, unknown> | undefined;
|
||||||
export declare function isString(value: unknown): string | undefined;
|
export declare function isString(value: unknown): string | undefined;
|
||||||
|
export declare function isBoolean(value: unknown): boolean | undefined;
|
||||||
export declare function isNumber(value: unknown): number | undefined;
|
export declare function isNumber(value: unknown): number | undefined;
|
||||||
export declare function isDate(value: unknown): Date | undefined;
|
export declare function isDate(value: unknown): Date | undefined;
|
||||||
export declare function isUrl(value: unknown): URL | undefined;
|
export declare function isUrl(value: unknown): URL | undefined;
|
||||||
|
|
|
@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isNumber = exports.isString = exports.isObject = exports.exists = void 0;
|
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isNumber = exports.isBoolean = exports.isString = exports.isPlainObject = exports.isObject = exports.exists = void 0;
|
||||||
const guard = __importStar(require("./guard"));
|
const guard = __importStar(require("./guard"));
|
||||||
function exists(value) {
|
function exists(value) {
|
||||||
return guard.exists(value) ? value : undefined;
|
return guard.exists(value) ? value : undefined;
|
||||||
|
@ -33,10 +33,18 @@ function isObject(value) {
|
||||||
return guard.isObject(value) ? value : undefined;
|
return guard.isObject(value) ? value : undefined;
|
||||||
}
|
}
|
||||||
exports.isObject = isObject;
|
exports.isObject = isObject;
|
||||||
|
function isPlainObject(value) {
|
||||||
|
return guard.isPlainObject(value) ? value : undefined;
|
||||||
|
}
|
||||||
|
exports.isPlainObject = isPlainObject;
|
||||||
function isString(value) {
|
function isString(value) {
|
||||||
return guard.isString(value) ? value : undefined;
|
return guard.isString(value) ? value : undefined;
|
||||||
}
|
}
|
||||||
exports.isString = isString;
|
exports.isString = isString;
|
||||||
|
function isBoolean(value) {
|
||||||
|
return guard.isBoolean(value) ? value : undefined;
|
||||||
|
}
|
||||||
|
exports.isBoolean = isBoolean;
|
||||||
function isNumber(value) {
|
function isNumber(value) {
|
||||||
return guard.isNumber(value) ? value : undefined;
|
return guard.isNumber(value) ? value : undefined;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"cast.js","sourceRoot":"","sources":["../src/cast.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"cast.js","sourceRoot":"","sources":["../src/cast.ts"],"names":[],"mappings":"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"}
|
|
@ -1,9 +1,11 @@
|
||||||
/// <reference types="node" />
|
/// <reference types="node" />
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function exists(value: unknown): value is string | number | object;
|
export declare function exists(value: unknown): value is string | number | object | boolean;
|
||||||
export declare function isObject(value: unknown): value is object;
|
export declare function isObject(value: unknown): value is object;
|
||||||
|
export declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
||||||
export declare function isString(value: unknown): value is string;
|
export declare function isString(value: unknown): value is string;
|
||||||
export declare function isNumber(value: unknown): value is number;
|
export declare function isNumber(value: unknown): value is number;
|
||||||
|
export declare function isBoolean(value: unknown): value is boolean;
|
||||||
export declare function isDate(value: unknown): value is Date;
|
export declare function isDate(value: unknown): value is Date;
|
||||||
export declare function isUrl(value: unknown): value is URL;
|
export declare function isUrl(value: unknown): value is URL;
|
||||||
export declare function isArray(value: unknown): value is Array<unknown>;
|
export declare function isArray(value: unknown): value is Array<unknown>;
|
||||||
|
|
|
@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isNumber = exports.isString = exports.isObject = exports.exists = void 0;
|
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isBoolean = exports.isNumber = exports.isString = exports.isPlainObject = exports.isObject = exports.exists = void 0;
|
||||||
const narrow = __importStar(require("./narrow"));
|
const narrow = __importStar(require("./narrow"));
|
||||||
function exists(value) {
|
function exists(value) {
|
||||||
return narrow.exists(value);
|
return narrow.exists(value);
|
||||||
|
@ -33,6 +33,10 @@ function isObject(value) {
|
||||||
return narrow.isObject(value);
|
return narrow.isObject(value);
|
||||||
}
|
}
|
||||||
exports.isObject = isObject;
|
exports.isObject = isObject;
|
||||||
|
function isPlainObject(value) {
|
||||||
|
return narrow.isPlainObject(value);
|
||||||
|
}
|
||||||
|
exports.isPlainObject = isPlainObject;
|
||||||
function isString(value) {
|
function isString(value) {
|
||||||
return narrow.isString(value);
|
return narrow.isString(value);
|
||||||
}
|
}
|
||||||
|
@ -41,6 +45,10 @@ function isNumber(value) {
|
||||||
return narrow.isNumber(value);
|
return narrow.isNumber(value);
|
||||||
}
|
}
|
||||||
exports.isNumber = isNumber;
|
exports.isNumber = isNumber;
|
||||||
|
function isBoolean(value) {
|
||||||
|
return narrow.isBoolean(value);
|
||||||
|
}
|
||||||
|
exports.isBoolean = isBoolean;
|
||||||
function isDate(value) {
|
function isDate(value) {
|
||||||
return narrow.isDate(value);
|
return narrow.isDate(value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAmC;AAEnC,SAAgB,MAAM,CAAC,KAAc;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAFD,wBAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,4BAEC;AAED,SAAgB,MAAM,CAAC,KAAc;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAFD,wBAEC;AAED,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAFD,sBAEC;AAED,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAFD,0BAEC;AAED,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAFD,0BAEC;AAED,SAAgB,SAAS,CACvB,KAAc;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAJD,8BAIC;AAED,SAAgB,UAAU,CAAC,KAAc;IACvC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAFD,gCAEC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,oCAEC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC;AAED,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,OAAO,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAFD,gDAEC;AAED,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAFD,8BAEC;AAED,SAAgB,cAAc,CAC5B,KAAc;IAEd,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAJD,wCAIC;AAED,SAAgB,sBAAsB,CACpC,KAAc;IAEd,OAAO,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAJD,wDAIC;AAED,SAAgB,QAAQ,CACtB,KAAc,EACd,IAAY;IAEZ,OAAO,MAAM,CAAC,QAAQ,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AALD,4BAKC;AAED,SAAgB,UAAU,CACxB,KAAc,EACd,UAAkC;IAElC,OAAO,MAAM,CAAC,UAAU,CAAI,KAAK,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AALD,gCAKC"}
|
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../src/guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAAmC;AAEnC,SAAgB,MAAM,CACpB,KAAc;IAEd,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAJD,wBAIC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,4BAEC;AAED,SAAgB,aAAa,CAC3B,KAAc;IAEd,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAJD,sCAIC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,4BAEC;AAED,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAC,KAAc;IACnC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAFD,wBAEC;AAED,SAAgB,KAAK,CAAC,KAAc;IAClC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAFD,sBAEC;AAED,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAFD,0BAEC;AAED,SAAgB,OAAO,CAAC,KAAc;IACpC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAFD,0BAEC;AAED,SAAgB,SAAS,CACvB,KAAc;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAJD,8BAIC;AAED,SAAgB,UAAU,CAAC,KAAc;IACvC,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAFD,gCAEC;AAED,SAAgB,YAAY,CAAC,KAAc;IACzC,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,oCAEC;AAED,SAAgB,cAAc,CAAC,KAAc;IAC3C,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC;AAED,SAAgB,kBAAkB,CAAC,KAAc;IAC/C,OAAO,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC;AAFD,gDAEC;AAED,SAAgB,SAAS,CAAC,KAAc;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAFD,8BAEC;AAED,SAAgB,cAAc,CAC5B,KAAc;IAEd,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAJD,wCAIC;AAED,SAAgB,sBAAsB,CACpC,KAAc;IAEd,OAAO,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAJD,wDAIC;AAED,SAAgB,QAAQ,CACtB,KAAc,EACd,IAAY;IAEZ,OAAO,MAAM,CAAC,QAAQ,CAAI,KAAK,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AALD,4BAKC;AAED,SAAgB,UAAU,CACxB,KAAc,EACd,UAAkC;IAElC,OAAO,MAAM,CAAC,UAAU,CAAI,KAAK,EAAE,UAAU,CAAC,CAAC;AACjD,CAAC;AALD,gCAKC"}
|
|
@ -1,8 +1,10 @@
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function exists(value: unknown): boolean;
|
export declare function exists(value: unknown): boolean;
|
||||||
export declare function isObject(value: unknown): boolean;
|
export declare function isObject(value: unknown): boolean;
|
||||||
|
export declare function isPlainObject(value: unknown): boolean;
|
||||||
export declare function isString(value: unknown): boolean;
|
export declare function isString(value: unknown): boolean;
|
||||||
export declare function isNumber(value: unknown): boolean;
|
export declare function isNumber(value: unknown): boolean;
|
||||||
|
export declare function isBoolean(value: unknown): boolean;
|
||||||
export declare function isDate(value: unknown): boolean;
|
export declare function isDate(value: unknown): boolean;
|
||||||
export declare function isUrl(value: unknown): boolean;
|
export declare function isUrl(value: unknown): boolean;
|
||||||
export declare function isArray(value: unknown): boolean;
|
export declare function isArray(value: unknown): boolean;
|
||||||
|
|
|
@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isNumber = exports.isString = exports.isObject = exports.exists = void 0;
|
exports.isApTypeOf = exports.isApType = exports.isApTransitiveActivity = exports.isApCollection = exports.isApActor = exports.isApExtendedObject = exports.isApCoreObject = exports.isApActivity = exports.isApEntity = exports.hasApType = exports.hasType = exports.isArray = exports.isUrl = exports.isDate = exports.isBoolean = exports.isNumber = exports.isString = exports.isPlainObject = exports.isObject = exports.exists = void 0;
|
||||||
const AP = __importStar(require("@activity-kit/types"));
|
const AP = __importStar(require("@activity-kit/types"));
|
||||||
function isType(entity, type) {
|
function isType(entity, type) {
|
||||||
if (!entity || typeof entity !== 'object') {
|
if (!entity || typeof entity !== 'object') {
|
||||||
|
@ -38,13 +38,18 @@ function isTypeOf(entity, types) {
|
||||||
return Object.values(types).some((type) => isType(entity, type));
|
return Object.values(types).some((type) => isType(entity, type));
|
||||||
}
|
}
|
||||||
function exists(value) {
|
function exists(value) {
|
||||||
return (['string', 'number', 'object'].includes(typeof value) && value !== null);
|
return (['string', 'number', 'object', 'boolean'].includes(typeof value) &&
|
||||||
|
value !== null);
|
||||||
}
|
}
|
||||||
exports.exists = exists;
|
exports.exists = exists;
|
||||||
function isObject(value) {
|
function isObject(value) {
|
||||||
return typeof value === 'object' && value !== null;
|
return typeof value === 'object' && value !== null;
|
||||||
}
|
}
|
||||||
exports.isObject = isObject;
|
exports.isObject = isObject;
|
||||||
|
function isPlainObject(value) {
|
||||||
|
return isObject(value) && Object.getPrototypeOf(value) === Object.prototype;
|
||||||
|
}
|
||||||
|
exports.isPlainObject = isPlainObject;
|
||||||
function isString(value) {
|
function isString(value) {
|
||||||
return typeof value === 'string';
|
return typeof value === 'string';
|
||||||
}
|
}
|
||||||
|
@ -53,6 +58,10 @@ function isNumber(value) {
|
||||||
return typeof value === 'number' && !isNaN(value);
|
return typeof value === 'number' && !isNaN(value);
|
||||||
}
|
}
|
||||||
exports.isNumber = isNumber;
|
exports.isNumber = isNumber;
|
||||||
|
function isBoolean(value) {
|
||||||
|
return typeof value === 'boolean';
|
||||||
|
}
|
||||||
|
exports.isBoolean = isBoolean;
|
||||||
function isDate(value) {
|
function isDate(value) {
|
||||||
return value instanceof Date;
|
return value instanceof Date;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"narrow.js","sourceRoot":"","sources":["../src/narrow.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"narrow.js","sourceRoot":"","sources":["../src/narrow.ts"],"names":[],"mappings":"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"}
|
|
@ -3,7 +3,6 @@
|
||||||
"version": "0.4.56",
|
"version": "0.4.56",
|
||||||
"description": "> TODO: description",
|
"description": "> TODO: description",
|
||||||
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
|
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
|
||||||
"homepage": "https://github.com/michaelcpuckett/activitypub-core#readme",
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
|
@ -17,8 +16,7 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "node .build.js",
|
"build": "node .build.js",
|
||||||
"format": "prettier --config .prettierrc \"**/*.ts\" --write",
|
"build:bundle": "tsc-bundle tsconfig.json --outFile dist/bundle.js"
|
||||||
"lint": "eslint activitypub/**/*.ts"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@activity-kit/types": "^0.4.56"
|
"@activity-kit/types": "^0.4.56"
|
||||||
|
@ -28,6 +26,7 @@
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.25.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"typescript": "^5.0.4"
|
"typescript": "^5.0.4",
|
||||||
|
"typescript-bundle": "^1.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ import * as guard from './guard';
|
||||||
|
|
||||||
export function exists(
|
export function exists(
|
||||||
value: unknown,
|
value: unknown,
|
||||||
): asserts value is string | number | object {
|
): asserts value is string | number | object | boolean {
|
||||||
if (!guard.exists(value)) {
|
if (!guard.exists(value)) {
|
||||||
throw new Error(`"${value}" is undefined or null.`);
|
throw new Error(`"${value}" is undefined or null.`);
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,14 @@ export function isObject(value: unknown): asserts value is object {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isPlainObject(
|
||||||
|
value: unknown,
|
||||||
|
): asserts value is Record<string, unknown> {
|
||||||
|
if (!guard.isPlainObject(value)) {
|
||||||
|
throw new Error(`"${value}" is not a plain object.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function isString(value: unknown): asserts value is string {
|
export function isString(value: unknown): asserts value is string {
|
||||||
if (!guard.isString(value)) {
|
if (!guard.isString(value)) {
|
||||||
throw new Error(`"${value}" is not a string.`);
|
throw new Error(`"${value}" is not a string.`);
|
||||||
|
@ -27,6 +35,12 @@ export function isNumber(value: unknown): asserts value is number {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isBoolean(value: unknown): asserts value is boolean {
|
||||||
|
if (!guard.isBoolean(value)) {
|
||||||
|
throw new Error(`"${value}" is not a boolean.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export function isDate(value: unknown): asserts value is Date {
|
export function isDate(value: unknown): asserts value is Date {
|
||||||
if (!guard.isDate(value)) {
|
if (!guard.isDate(value)) {
|
||||||
throw new Error(`"${value}" is not a Date object.`);
|
throw new Error(`"${value}" is not a Date object.`);
|
||||||
|
|
|
@ -9,10 +9,18 @@ export function isObject(value: unknown) {
|
||||||
return guard.isObject(value) ? value : undefined;
|
return guard.isObject(value) ? value : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isPlainObject(value: unknown) {
|
||||||
|
return guard.isPlainObject(value) ? value : undefined;
|
||||||
|
}
|
||||||
|
|
||||||
export function isString(value: unknown) {
|
export function isString(value: unknown) {
|
||||||
return guard.isString(value) ? value : undefined;
|
return guard.isString(value) ? value : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isBoolean(value: unknown) {
|
||||||
|
return guard.isBoolean(value) ? value : undefined;
|
||||||
|
}
|
||||||
|
|
||||||
export function isNumber(value: unknown) {
|
export function isNumber(value: unknown) {
|
||||||
return guard.isNumber(value) ? value : undefined;
|
return guard.isNumber(value) ? value : undefined;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
import * as narrow from './narrow';
|
import * as narrow from './narrow';
|
||||||
|
|
||||||
export function exists(value: unknown): value is string | number | object {
|
export function exists(
|
||||||
|
value: unknown,
|
||||||
|
): value is string | number | object | boolean {
|
||||||
return narrow.exists(value);
|
return narrow.exists(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +11,12 @@ export function isObject(value: unknown): value is object {
|
||||||
return narrow.isObject(value);
|
return narrow.isObject(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isPlainObject(
|
||||||
|
value: unknown,
|
||||||
|
): value is Record<string, unknown> {
|
||||||
|
return narrow.isPlainObject(value);
|
||||||
|
}
|
||||||
|
|
||||||
export function isString(value: unknown): value is string {
|
export function isString(value: unknown): value is string {
|
||||||
return narrow.isString(value);
|
return narrow.isString(value);
|
||||||
}
|
}
|
||||||
|
@ -17,6 +25,10 @@ export function isNumber(value: unknown): value is number {
|
||||||
return narrow.isNumber(value);
|
return narrow.isNumber(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isBoolean(value: unknown): value is boolean {
|
||||||
|
return narrow.isBoolean(value);
|
||||||
|
}
|
||||||
|
|
||||||
export function isDate(value: unknown): value is Date {
|
export function isDate(value: unknown): value is Date {
|
||||||
return narrow.isDate(value);
|
return narrow.isDate(value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,8 @@ function isTypeOf<T extends AP.Entity>(
|
||||||
|
|
||||||
export function exists(value: unknown) {
|
export function exists(value: unknown) {
|
||||||
return (
|
return (
|
||||||
['string', 'number', 'object'].includes(typeof value) && value !== null
|
['string', 'number', 'object', 'boolean'].includes(typeof value) &&
|
||||||
|
value !== null
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,6 +30,10 @@ export function isObject(value: unknown) {
|
||||||
return typeof value === 'object' && value !== null;
|
return typeof value === 'object' && value !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isPlainObject(value: unknown) {
|
||||||
|
return isObject(value) && Object.getPrototypeOf(value) === Object.prototype;
|
||||||
|
}
|
||||||
|
|
||||||
export function isString(value: unknown) {
|
export function isString(value: unknown) {
|
||||||
return typeof value === 'string';
|
return typeof value === 'string';
|
||||||
}
|
}
|
||||||
|
@ -37,6 +42,10 @@ export function isNumber(value: unknown) {
|
||||||
return typeof value === 'number' && !isNaN(value);
|
return typeof value === 'number' && !isNaN(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function isBoolean(value: unknown) {
|
||||||
|
return typeof value === 'boolean';
|
||||||
|
}
|
||||||
|
|
||||||
export function isDate(value: unknown) {
|
export function isDate(value: unknown) {
|
||||||
return value instanceof Date;
|
return value instanceof Date;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,25 +3,24 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"target": "ESNext",
|
"target": "ES2018",
|
||||||
"jsx": "react",
|
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"lib": [
|
"lib": [
|
||||||
"ESNext"
|
"ES2018"
|
||||||
],
|
],
|
||||||
"outDir": "./lib"
|
"outDir": "./lib/"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"./node_modules",
|
"./node_modules",
|
||||||
"../../node_modules"
|
"../../node_modules"
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"src/index.ts"
|
"./src/"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,8 +1,7 @@
|
||||||
{
|
{
|
||||||
"parser": "@typescript-eslint/parser",
|
"parser": "@typescript-eslint/parser",
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"ecmaVersion": 2018,
|
"ecmaVersion": 2018
|
||||||
"sourceType": "module"
|
|
||||||
},
|
},
|
||||||
"plugins": ["@typescript-eslint"],
|
"plugins": ["@typescript-eslint"],
|
||||||
"extends": ["plugin:@typescript-eslint/recommended"],
|
"extends": ["plugin:@typescript-eslint/recommended"],
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
/// <reference types="node" />
|
/// <reference types="node" />
|
||||||
import { TypeOrArrayWithType, AnyType } from '../util/const';
|
import { TypeOrArrayWithType, AnyType, OrArray } from '../util';
|
||||||
import { ContextDefinition } from 'jsonld';
|
|
||||||
export type BaseEntity<T extends AnyType> = {
|
export type BaseEntity<T extends AnyType> = {
|
||||||
'@context'?: URL | URL[] | ContextDefinition;
|
'@context'?: OrArray<URL | Record<string, URL>>;
|
||||||
id?: URL | null;
|
id?: URL | null;
|
||||||
type: T | TypeOrArrayWithType<T>;
|
type: T | TypeOrArrayWithType<T>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "@activity-kit/types",
|
"name": "@activity-kit/types",
|
||||||
"version": "0.4.56",
|
"version": "0.4.56",
|
||||||
"description": "> TODO: description",
|
"description": "Types representing the ActivityPub data model",
|
||||||
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
|
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
|
||||||
"homepage": "",
|
"homepage": "",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@ -16,9 +16,9 @@
|
||||||
"access": "public"
|
"access": "public"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"lint": "eslint src/**/*.ts",
|
||||||
"build": "node .build.js",
|
"build": "node .build.js",
|
||||||
"format": "prettier --config .prettierrc \"**/*.ts\" --write",
|
"build:bundle": "tsc-bundle tsconfig.json --outFile dist/bundle.js"
|
||||||
"lint": "eslint activitypub/**/*.ts"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/jsonld": "^1.5.9",
|
"@types/jsonld": "^1.5.9",
|
||||||
|
@ -26,10 +26,8 @@
|
||||||
"@typescript-eslint/parser": "^5.40.0",
|
"@typescript-eslint/parser": "^5.40.0",
|
||||||
"eslint": "^8.25.0",
|
"eslint": "^8.25.0",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"typescript": "^5.0.4"
|
"typescript": "^5.0.4",
|
||||||
|
"typescript-bundle": "^1.0.18"
|
||||||
},
|
},
|
||||||
"gitHead": "94cd24962ff1406bc137c1ac244f960286d6cac0",
|
"gitHead": "94cd24962ff1406bc137c1ac244f960286d6cac0"
|
||||||
"dependencies": {
|
|
||||||
"formidable": "^2.1.1"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
import { TypeOrArrayWithType, AnyType } from '../util/const';
|
import { TypeOrArrayWithType, AnyType, OrArray } from '../util';
|
||||||
import { ContextDefinition } from 'jsonld';
|
|
||||||
|
|
||||||
export type BaseEntity<T extends AnyType> = {
|
export type BaseEntity<T extends AnyType> = {
|
||||||
'@context'?: URL | URL[] | ContextDefinition;
|
'@context'?: OrArray<URL | Record<string, URL>>;
|
||||||
// Activity Pub allows null.
|
// Activity Pub allows null.
|
||||||
id?: URL | null;
|
id?: URL | null;
|
||||||
type: T | TypeOrArrayWithType<T>;
|
type: T | TypeOrArrayWithType<T>;
|
||||||
|
|
|
@ -3,25 +3,24 @@
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"declaration": true,
|
"declaration": true,
|
||||||
"noImplicitAny": false,
|
"noImplicitAny": true,
|
||||||
"removeComments": true,
|
"removeComments": true,
|
||||||
"noLib": false,
|
"noLib": false,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
"target": "ESNext",
|
"target": "ES2018",
|
||||||
"jsx": "react",
|
|
||||||
"skipLibCheck": true,
|
"skipLibCheck": true,
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "node",
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"lib": [
|
"lib": [
|
||||||
"ESNext"
|
"ES2018"
|
||||||
],
|
],
|
||||||
"outDir": "./lib"
|
"outDir": "./lib/"
|
||||||
},
|
},
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"./node_modules",
|
"./node_modules",
|
||||||
"../../node_modules"
|
"../../node_modules"
|
||||||
],
|
],
|
||||||
"include": [
|
"include": [
|
||||||
"src/index.ts"
|
"./src/"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,8 +1,7 @@
|
||||||
{
|
{
|
||||||
"parser": "@typescript-eslint/parser",
|
"parser": "@typescript-eslint/parser",
|
||||||
"parserOptions": {
|
"parserOptions": {
|
||||||
"ecmaVersion": 2018,
|
"ecmaVersion": 2018
|
||||||
"sourceType": "module"
|
|
||||||
},
|
},
|
||||||
"plugins": ["@typescript-eslint"],
|
"plugins": ["@typescript-eslint"],
|
||||||
"extends": ["plugin:@typescript-eslint/recommended"],
|
"extends": ["plugin:@typescript-eslint/recommended"],
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
import * as AP from '@activity-kit/types';
|
import * as AP from '@activity-kit/types';
|
||||||
export declare function applyContext<T>(entity: AP.Entity): T;
|
export declare function applyContext<T>(entity: AP.Entity): T | undefined;
|
||||||
|
|
|
@ -28,8 +28,7 @@ const AP = __importStar(require("@activity-kit/types"));
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
const globals_1 = require("./globals");
|
const globals_1 = require("./globals");
|
||||||
function applyContext(entity) {
|
function applyContext(entity) {
|
||||||
type_utilities_1.assert.isApEntity(entity);
|
if (type_utilities_1.guard.isApTypeOf(entity, AP.ActorTypes)) {
|
||||||
if (type_utilities_1.guard.isTypeOf(entity, AP.ActorTypes)) {
|
|
||||||
if (!entity['@context']) {
|
if (!entity['@context']) {
|
||||||
entity['@context'] = [
|
entity['@context'] = [
|
||||||
new URL(globals_1.ACTIVITYSTREAMS_CONTEXT),
|
new URL(globals_1.ACTIVITYSTREAMS_CONTEXT),
|
||||||
|
@ -43,7 +42,7 @@ function applyContext(entity) {
|
||||||
}
|
}
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
if (type_utilities_1.guard.isTypeOf(entity, AP.AllTypes)) {
|
if (type_utilities_1.guard.isApTypeOf(entity, AP.AllTypes)) {
|
||||||
if (!entity['@context']) {
|
if (!entity['@context']) {
|
||||||
entity['@context'] = new URL(globals_1.ACTIVITYSTREAMS_CONTEXT);
|
entity['@context'] = new URL(globals_1.ACTIVITYSTREAMS_CONTEXT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"applyContext.js","sourceRoot":"","sources":["../src/applyContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAA6D;AAC7D,uCAA2E;AAE3E,SAAgB,YAAY,CAAI,MAAiB;IAC/C,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,IAAI,sBAAK,CAAC,QAAQ,CAAe,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE;QACvD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACvB,MAAM,CAAC,UAAU,CAAC,GAAG;gBACnB,IAAI,GAAG,CAAC,iCAAuB,CAAC;gBAChC,IAAI,GAAG,CAAC,+BAAqB,CAAC;gBAC9B;oBACE,sBAAsB,EAAE,IAAI,GAAG,CAAC,kCAAkC,CAAC;oBACnE,cAAc,EAAE,IAAI,GAAG,CAAC,0BAA0B,CAAC;oBACnD,aAAa,EAAE,IAAI,GAAG,CAAC,yBAAyB,CAAC;iBAClD;aACF,CAAC;SACH;QAED,OAAO,MAAM,CAAC;KACf;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAgB,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;QACtD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACvB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,iCAAuB,CAAC,CAAC;SACvD;QAED,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AA1BD,oCA0BC"}
|
{"version":3,"file":"applyContext.js","sourceRoot":"","sources":["../src/applyContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAAqD;AACrD,uCAA2E;AAE3E,SAAgB,YAAY,CAAI,MAAiB;IAC/C,IAAI,sBAAK,CAAC,UAAU,CAAe,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE;QACzD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACvB,MAAM,CAAC,UAAU,CAAC,GAAG;gBACnB,IAAI,GAAG,CAAC,iCAAuB,CAAC;gBAChC,IAAI,GAAG,CAAC,+BAAqB,CAAC;gBAC9B;oBACE,sBAAsB,EAAE,IAAI,GAAG,CAAC,kCAAkC,CAAC;oBACnE,cAAc,EAAE,IAAI,GAAG,CAAC,0BAA0B,CAAC;oBACnD,aAAa,EAAE,IAAI,GAAG,CAAC,yBAAyB,CAAC;iBAClD;aACF,CAAC;SACH;QAED,OAAO,MAAM,CAAC;KACf;IAED,IAAI,sBAAK,CAAC,UAAU,CAAgB,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE;QACxD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YACvB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,iCAAuB,CAAC,CAAC;SACvD;QAED,OAAO,MAAM,CAAC;KACf;AACH,CAAC;AAxBD,oCAwBC"}
|
|
@ -3,69 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.compressEntity = void 0;
|
exports.compressEntity = void 0;
|
||||||
const type_utilities_1 = require("@activity-kit/type-utilities");
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
function compressEntity(entity) {
|
function compressEntity(entity) {
|
||||||
const object = {};
|
var _a;
|
||||||
for (const key of Object.keys(entity)) {
|
return (_a = type_utilities_1.cast.isApEntity(compressObject(entity))) !== null && _a !== void 0 ? _a : null;
|
||||||
if (typeof key === 'string') {
|
|
||||||
object[key] = entity[key];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const compressed = compressObject(object);
|
|
||||||
try {
|
|
||||||
type_utilities_1.assert.isApEntity(compressed);
|
|
||||||
return compressed;
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
exports.compressEntity = compressEntity;
|
exports.compressEntity = compressEntity;
|
||||||
function compressObject(object) {
|
function compressObject(object) {
|
||||||
const compressed = {};
|
const compressed = {};
|
||||||
for (const [key, value] of Object.entries(object)) {
|
for (const [key, value] of Object.entries(object)) {
|
||||||
compressed[key] = compressItem(value);
|
compressed[key] = compressUnknown(value);
|
||||||
}
|
}
|
||||||
return compressed;
|
return compressed;
|
||||||
}
|
}
|
||||||
function compressItem(item) {
|
function compressUnknown(item) {
|
||||||
if (item instanceof URL || item instanceof Date || typeof item === 'string') {
|
if (!type_utilities_1.guard.exists(item)) {
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
else if (Array.isArray(item)) {
|
if (type_utilities_1.guard.isArray(item)) {
|
||||||
return item.map(compressItem);
|
return item.map(compressUnknown);
|
||||||
}
|
}
|
||||||
else if (item && typeof item === 'object') {
|
const entity = type_utilities_1.cast.isApEntity(item);
|
||||||
if ('id' in item && item.id instanceof URL) {
|
if (!entity) {
|
||||||
return item.id;
|
|
||||||
}
|
|
||||||
else if ('href' in item && item.href instanceof URL) {
|
|
||||||
return item.href;
|
|
||||||
}
|
|
||||||
else if ('url' in item) {
|
|
||||||
if (item.url instanceof URL) {
|
|
||||||
return item.url;
|
|
||||||
}
|
|
||||||
else if (typeof item.url === 'object' &&
|
|
||||||
item.url !== null &&
|
|
||||||
'href' in item.url &&
|
|
||||||
item.url.href instanceof URL) {
|
|
||||||
return item.url.href;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
const object = {};
|
|
||||||
for (const objectKey of Object.keys(item)) {
|
|
||||||
if (typeof objectKey === 'string') {
|
|
||||||
object[objectKey] = item[objectKey];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return compressObject(object);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
if ('id' in entity && type_utilities_1.guard.isUrl(entity.id)) {
|
||||||
|
return entity.id;
|
||||||
|
}
|
||||||
|
if ('url' in entity && type_utilities_1.guard.isUrl(entity.url)) {
|
||||||
|
return entity.url;
|
||||||
|
}
|
||||||
|
if ('href' in entity && type_utilities_1.guard.isUrl(entity.href)) {
|
||||||
|
return entity.href;
|
||||||
|
}
|
||||||
|
return entity;
|
||||||
}
|
}
|
||||||
//# sourceMappingURL=compressEntity.js.map
|
//# sourceMappingURL=compressEntity.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"compressEntity.js","sourceRoot":"","sources":["../src/compressEntity.ts"],"names":[],"mappings":";;;AACA,iEAAsD;AAEtD,SAAgB,cAAc,CAAC,MAAiB;IAC9C,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACrC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;SAC3B;KACF;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAI;QACF,uBAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO,UAAU,CAAC;KACnB;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAjBD,wCAiBC;AAED,SAAS,cAAc,CAAC,MAA+B;IACrD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;KACvC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC3E,OAAO,IAAI,CAAC;KACb;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC/B;SAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC3C,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,YAAY,GAAG,EAAE;YAC1C,OAAO,IAAI,CAAC,EAAE,CAAC;SAChB;aAAM,IAAI,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,YAAY,GAAG,EAAE;YACrD,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;aAAM,IAAI,KAAK,IAAI,IAAI,EAAE;YACxB,IAAI,IAAI,CAAC,GAAG,YAAY,GAAG,EAAE;gBAC3B,OAAO,IAAI,CAAC,GAAG,CAAC;aACjB;iBAAM,IACL,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ;gBAC5B,IAAI,CAAC,GAAG,KAAK,IAAI;gBACjB,MAAM,IAAI,IAAI,CAAC,GAAG;gBAClB,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,GAAG,EAC5B;gBACA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;aACtB;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,MAAM,MAAM,GAA4B,EAAE,CAAC;YAE3C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACzC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;oBACjC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;iBACrC;aACF;YAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;SAC/B;KACF;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC"}
|
{"version":3,"file":"compressEntity.js","sourceRoot":"","sources":["../src/compressEntity.ts"],"names":[],"mappings":";;;AACA,iEAA2D;AAE3D,SAAgB,cAAc,CAAC,MAAiB;;IAC9C,OAAO,MAAA,qBAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,mCAAI,IAAI,CAAC;AACzD,CAAC;AAFD,wCAEC;AAED,SAAS,cAAc,CACrB,MAA+B;IAE/B,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;KAC1C;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,IAAa;IACpC,IAAI,CAAC,sBAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,sBAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,MAAM,MAAM,GAAG,qBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAErC,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,IAAI,IAAI,IAAI,MAAM,IAAI,sBAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;QAC5C,OAAO,MAAM,CAAC,EAAE,CAAC;KAClB;IAED,IAAI,KAAK,IAAI,MAAM,IAAI,sBAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC9C,OAAO,MAAM,CAAC,GAAG,CAAC;KACnB;IAED,IAAI,MAAM,IAAI,MAAM,IAAI,sBAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAChD,OAAO,MAAM,CAAC,IAAI,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@ -1,35 +1,35 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.convertEntityToJson = void 0;
|
exports.convertEntityToJson = void 0;
|
||||||
|
const type_utilities_1 = require("@activity-kit/type-utilities");
|
||||||
function convertEntityToJson(object) {
|
function convertEntityToJson(object) {
|
||||||
return convertObject(object);
|
var _a;
|
||||||
|
return (_a = type_utilities_1.cast.isPlainObject(convertObject(object))) !== null && _a !== void 0 ? _a : {};
|
||||||
}
|
}
|
||||||
exports.convertEntityToJson = convertEntityToJson;
|
exports.convertEntityToJson = convertEntityToJson;
|
||||||
function convertObject(object) {
|
function convertObject(object) {
|
||||||
const converted = {};
|
const converted = {};
|
||||||
for (const [key, value] of Object.entries(object)) {
|
for (const [key, value] of Object.entries(object)) {
|
||||||
converted[key] = convertItem(value);
|
converted[key] = convertUnknown(value);
|
||||||
}
|
}
|
||||||
return converted;
|
return converted;
|
||||||
}
|
}
|
||||||
function convertItem(item) {
|
function convertUnknown(value) {
|
||||||
if (item instanceof URL || item instanceof Date) {
|
if (!type_utilities_1.guard.exists(value)) {
|
||||||
return item.toString();
|
return value;
|
||||||
}
|
}
|
||||||
else if (Array.isArray(item)) {
|
if (type_utilities_1.guard.isArray(value)) {
|
||||||
return item.map(convertItem);
|
return value.map(convertUnknown);
|
||||||
}
|
}
|
||||||
else if (item && typeof item === 'object') {
|
if (type_utilities_1.guard.isPlainObject(value)) {
|
||||||
const object = {};
|
return convertObject(value);
|
||||||
for (const objectKey of Object.keys(item)) {
|
|
||||||
if (typeof objectKey === 'string') {
|
|
||||||
object[objectKey] = item[objectKey];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return convertObject(object);
|
|
||||||
}
|
}
|
||||||
else {
|
if (type_utilities_1.guard.isDate(value)) {
|
||||||
return item;
|
return value.toISOString();
|
||||||
}
|
}
|
||||||
|
if (type_utilities_1.guard.isObject(value)) {
|
||||||
|
return value.toString();
|
||||||
|
}
|
||||||
|
return value;
|
||||||
}
|
}
|
||||||
//# sourceMappingURL=convertEntityToJson.js.map
|
//# sourceMappingURL=convertEntityToJson.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"convertEntityToJson.js","sourceRoot":"","sources":["../src/convertEntityToJson.ts"],"names":[],"mappings":";;;AAEA,SAAgB,mBAAmB,CACjC,MAAiB;IAEjB,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAJD,kDAIC;AAED,SAAS,aAAa,CAAC,MAA2C;IAChE,MAAM,SAAS,GAA4B,EAAE,CAAC;IAE9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,SAAS,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;KACrC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,IAAI,YAAY,GAAG,IAAI,IAAI,YAAY,IAAI,EAAE;QAC/C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;KACxB;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;KAC9B;SAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC3C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAE3C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACzC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;gBACjC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;aACrC;SACF;QAED,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;KAC9B;SAAM;QACL,OAAO,IAAI,CAAC;KACb;AACH,CAAC"}
|
{"version":3,"file":"convertEntityToJson.js","sourceRoot":"","sources":["../src/convertEntityToJson.ts"],"names":[],"mappings":";;;AACA,iEAA2D;AAE3D,SAAgB,mBAAmB,CACjC,MAAiB;;IAEjB,OAAO,MAAA,qBAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,mCAAI,EAAE,CAAC;AACzD,CAAC;AAJD,kDAIC;AAED,SAAS,aAAa,CACpB,MAA+B;IAE/B,MAAM,SAAS,GAA4B,EAAE,CAAC;IAE9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,SAAS,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;KACxC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,CAAC,sBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,sBAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;KAClC;IAED,IAAI,sBAAK,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QAC9B,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;IAED,IAAI,sBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;KAC5B;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACzB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;KACzB;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@ -3848,10 +3848,13 @@ const CONTEXT_DEFINITIONS = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const customLoader = async (url, callback) => {
|
const customLoader = async (url, callback) => {
|
||||||
|
if (!nodeDocumentLoader) {
|
||||||
|
throw new Error('nodeDocumentLoader is not defined');
|
||||||
|
}
|
||||||
const contextUrl = Object.keys(CONTEXT_DEFINITIONS).find((key) => key === url);
|
const contextUrl = Object.keys(CONTEXT_DEFINITIONS).find((key) => key === url);
|
||||||
if (contextUrl) {
|
if (contextUrl) {
|
||||||
return {
|
return {
|
||||||
contextUrl: null,
|
contextUrl: undefined,
|
||||||
document: {
|
document: {
|
||||||
'@context': CONTEXT_DEFINITIONS[contextUrl],
|
'@context': CONTEXT_DEFINITIONS[contextUrl],
|
||||||
},
|
},
|
||||||
|
@ -3862,6 +3865,7 @@ const customLoader = async (url, callback) => {
|
||||||
};
|
};
|
||||||
const ctx = CONTEXT_DEFINITIONS[globals_1.ACTIVITYSTREAMS_CONTEXT];
|
const ctx = CONTEXT_DEFINITIONS[globals_1.ACTIVITYSTREAMS_CONTEXT];
|
||||||
const convertJsonLdToEntity = async (document) => {
|
const convertJsonLdToEntity = async (document) => {
|
||||||
|
var _a;
|
||||||
const result = await jsonld.compact(document, ctx, {
|
const result = await jsonld.compact(document, ctx, {
|
||||||
documentLoader: customLoader,
|
documentLoader: customLoader,
|
||||||
});
|
});
|
||||||
|
@ -3873,7 +3877,7 @@ const convertJsonLdToEntity = async (document) => {
|
||||||
if (!converted) {
|
if (!converted) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return (0, applyContext_1.applyContext)(converted);
|
return (_a = (0, applyContext_1.applyContext)(converted)) !== null && _a !== void 0 ? _a : null;
|
||||||
};
|
};
|
||||||
exports.convertJsonLdToEntity = convertJsonLdToEntity;
|
exports.convertJsonLdToEntity = convertJsonLdToEntity;
|
||||||
//# sourceMappingURL=convertJsonLdToEntity.js.map
|
//# sourceMappingURL=convertJsonLdToEntity.js.map
|
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue