Ajout commentaire code

part1
Tony Fages 1 year ago
parent 0f495be35f
commit fefed2573d

@ -6,6 +6,8 @@ import {loadExtensions} from "./extensions";
loadExtensions(); loadExtensions();
export default function App() { export default function App() {
// La JokeFactory permet de transformer les blagues json en tableau de blague SampleJoke ou CustomJoke afin de pouvoir les afficher
let customJokes = JokeFactory.createCustomJokes(JokeStub.customJokes); let customJokes = JokeFactory.createCustomJokes(JokeStub.customJokes);
let samplesJokes = JokeFactory.createSampleJokes(JokeStub.sampleJokes); let samplesJokes = JokeFactory.createSampleJokes(JokeStub.sampleJokes);

@ -1,6 +1,5 @@
// Fonction pour étendre le prototype d'Array avec une nouvelle méthode print // Fonction pour étendre le prototype d'Array
export function loadExtensions() { export function loadExtensions() {
// Ajout de la méthode print au prototype d'Array
if (!Array.prototype.displayJoke) { if (!Array.prototype.displayJoke) {
Array.prototype.displayJoke = function () { Array.prototype.displayJoke = function () {
return this.map((item) => item.description() + '\n') return this.map((item) => item.description() + '\n')

@ -1,5 +1,6 @@
import { Joke } from "./Joke"; import { Joke } from "./Joke";
// Class CustomJoke héritant de Joke
export class CustomJoke extends Joke{ export class CustomJoke extends Joke{
private _id : string private _id : string

@ -1,3 +1,4 @@
// Classe abstraite Joke permettant de creer une joke avec différents attributs
export abstract class Joke{ export abstract class Joke{
private _type : string private _type : string
@ -27,10 +28,12 @@ export abstract class Joke{
return this._image; return this._image;
} }
// Permet d'afficher les 25 premiers caractères du contexte de la blague suivis de ...
public summary():string{ public summary():string{
return this.setup.substring(0,25) + ' ...' return this.setup.substring(0,25) + ' ...'
} }
// Permet de retourner le type d'une blague + sont contexte
public description():string{ public description():string{
return this.type() + ' - ' +this.summary() return this.type() + ' - ' +this.summary()
} }

@ -3,6 +3,7 @@ import { SampleJoke } from "./SampleJoke";
export class JokeFactory { export class JokeFactory {
// Permets de transformer les données json en Tableau de CustomsJokes et de le retourner
public static createCustomJokes(jsonArray: string) : CustomJoke[]{ public static createCustomJokes(jsonArray: string) : CustomJoke[]{
let array = [] let array = []
let json = JSON.parse(jsonArray) let json = JSON.parse(jsonArray)
@ -13,6 +14,7 @@ export class JokeFactory {
return array; return array;
} }
// Permets de transformer les données json en Tableau de SampleJokes et de le retourner
static createSampleJokes(jsonArray: string): SampleJoke[] { static createSampleJokes(jsonArray: string): SampleJoke[] {
let array = []; let array = [];

@ -1,5 +1,6 @@
import {SampleJoke} from "./SampleJoke"; import {SampleJoke} from "./SampleJoke";
// Stub permettant de stocker les différentes blagues de différents types
export class JokeStub { export class JokeStub {
// Données JSON pour les CustomJokes // Données JSON pour les CustomJokes
public static customJokes = '[{"type":"custom", "setup":"Quel jour les poules ont-elles l anus dilaté au maximum ?", "punchline":"Le jour où elles passent du coq à l âne.", "image":"image1", "id":"id1"}, {"type":"custom", "setup":"Savez-vous comment on appelle le sexe de Michael Jackson ???", "punchline":"Vérité ! Car la vérité sort toujours de la bouche des enfants .", "image":"image2", "id":"id2"}]'; public static customJokes = '[{"type":"custom", "setup":"Quel jour les poules ont-elles l anus dilaté au maximum ?", "punchline":"Le jour où elles passent du coq à l âne.", "image":"image1", "id":"id1"}, {"type":"custom", "setup":"Savez-vous comment on appelle le sexe de Michael Jackson ???", "punchline":"Vérité ! Car la vérité sort toujours de la bouche des enfants .", "image":"image2", "id":"id2"}]';

@ -1,5 +1,7 @@
import { Joke } from "./Joke"; import { Joke } from "./Joke";
// Class SampleJoke héritant de Joke
export class SampleJoke extends Joke{ export class SampleJoke extends Joke{
private _id : number private _id : number

Loading…
Cancel
Save