Add Audio, Image, Page and Video types

pull/1/head
SiRanWeb 2022-10-30 15:33:07 +03:00
rodzic 568b049136
commit a7ff21a4ef
9 zmienionych plików z 84 dodań i 0 usunięć

Wyświetl plik

@ -12,6 +12,10 @@ export enum ASModelType {
Organization = 'Organization',
Person = 'Person',
Service = 'Service',
Audio = 'Audio',
Image = 'Image',
Page = 'Page',
Video = 'Video',
}
// TODO: implement

Wyświetl plik

@ -0,0 +1,17 @@
import {ASBase} from "../ASBase.model";
import {ASModelType} from "../../common/common.types";
import {AudioFields} from "./Audio.types";
/**
* Represents an audio document of any kind
*
* {@link https://www.w3.org/ns/activitystreams#Audio Docs}
*/
export class Audio extends ASBase<AudioFields>{
constructor(fields: AudioFields) {
super({
type: ASModelType.Audio,
...fields
})
}
}

Wyświetl plik

@ -0,0 +1,3 @@
import { DocumentFields } from "../document/Document.types";
export interface AudioFields extends DocumentFields {}

Wyświetl plik

@ -0,0 +1,17 @@
import {ASBase} from "../ASBase.model";
import {ASModelType} from "../../common/common.types";
import {ImageFields} from "./Image.types";
/**
* An image document of any kind
*
* {@link https://www.w3.org/ns/activitystreams#Image Docs}
*/
export class Image extends ASBase<ImageFields>{
constructor(fields: ImageFields) {
super({
type: ASModelType.Image,
...fields
})
}
}

Wyświetl plik

@ -0,0 +1,3 @@
import { DocumentFields } from "../document/Document.types";
export interface ImageFields extends DocumentFields {}

Wyświetl plik

@ -0,0 +1,17 @@
import {ASBase} from "../ASBase.model";
import {ASModelType} from "../../common/common.types";
import {PageFields} from "./Page.types";
/**
* Represents a Web Page
*
* {@link https://www.w3.org/ns/activitystreams#Page Docs}
*/
export class Page extends ASBase<PageFields>{
constructor(fields: PageFields) {
super({
type: ASModelType.Page,
...fields
})
}
}

Wyświetl plik

@ -0,0 +1,3 @@
import { DocumentFields } from "../document/Document.types";
export interface PageFields extends DocumentFields {}

Wyświetl plik

@ -0,0 +1,17 @@
import {ASBase} from "../ASBase.model";
import {ASModelType} from "../../common/common.types";
import {VideoFields} from "./Video.types";
/**
* Represents a video document of any kind
*
* {@link https://www.w3.org/ns/activitystreams#Video Docs}
*/
export class Video extends ASBase<VideoFields>{
constructor(fields: VideoFields) {
super({
type: ASModelType.Video,
...fields
})
}
}

Wyświetl plik

@ -0,0 +1,3 @@
import { DocumentFields } from "../document/Document.types";
export interface VideoFields extends DocumentFields {}