Skip to content

Commit

Permalink
build(lib): add type declarations
Browse files Browse the repository at this point in the history
  • Loading branch information
Harjot1Singh committed Jul 24, 2022
1 parent 08338fe commit c97f9f6
Show file tree
Hide file tree
Showing 2 changed files with 154 additions and 0 deletions.
153 changes: 153 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,153 @@
/* eslint-disable max-classes-per-file, import/no-extraneous-dependencies */

declare module '@shabados/database' {
import { Model, QueryBuilder } from 'objection'

export const knex: ReturnType<Model['$knex']>

type CommonBuilder<M extends Model> = QueryBuilder<M> & {
withTranslations: ( fn?: ( query: CommonBuilder<M> ) => CommonBuilder<M> ) => CommonBuilder<M>,
withTransliterations: (
fn?: ( query: CommonBuilder<M> ) => CommonBuilder<M>
) => CommonBuilder<M>,
}

type LinesBuilder = QueryBuilder<Lines> & {
withTranslations: ( fn?: ( query: LinesBuilder ) => LinesBuilder ) => LinesBuilder,
withTransliterations: ( fn?: ( query: LinesBuilder ) => LinesBuilder ) => LinesBuilder,
firstLetters: ( query: string ) => LinesBuilder,
fullWord: ( query: string ) => LinesBuilder,
}

export class Translations extends Model {
lineId: string
translationSourceId: number
translation: string
additionalInformation: string

translationSource?: TranslationSources
line?: Lines
}

export class Transliterations extends Model {
lineId: string
languageId: number
transliteration: string

language?: Lnaguages
line?: Lines
}

export class Lines extends Model {
QueryBuilderType: LinesBuilder

id: string
shabadId: string
sourcePage: number
sourceLine: number
firstLetters: string
vishraamFirstLetters: string
gurmukhi: string
pronunciation: string
pronunctiationInformation: string
typeId: number
orderId: number

shabad?: Shabads
translations?: Translations[]
transliterations?: Transliterations[]
}

export class Shabads extends Model {
QueryBuilderType: CommonBuilder<this>

id: string
sourceId: number
writerId: number
sectionId: number
subsectionId: number
sttmId: number
orderId: number

writer?: Writers
section?: Sections
subsection?: Subsections
source?: Sources
lines?: Lines[]
}

export class Languages extends Model {
QueryBuilderType: CommonBuilder<this>

id: number
nameGurmukhi: string
nameEnglish: string
nameInternational: string

translationSources?: TranslationSources[]
}

export class TranslationSources extends Model {
id: number
nameGurmukhi: string
nameEnglish: string
sourceId: number
languageId: number

source?: Sources
language?: Languages
translations?: Translations[]
}

export class Writers extends Model {
nameGurmukhi: string
nameEnglish: string

shabads?: Shabads[]
}

export class Subsections extends Model {
id: number
sectionId: number
nameGurmukhi: string
nameEnglish: string
startPage: number
endPage: number

shabads?: Shabads[]
section?: Sections
}

export class Sections extends Model {
id: number
sourceId: number
nameGurmukhi: string
nameEnglish: string
description: string
startPage: number
endPage: number

shabads?: Shabads[]
source?: Sources
subsections?: Subsections[]
}

export class Sources extends Model {
id: number
nameGurmukhi: string
nameEnglish: string

shabads?: Shabads[]
translationSources?: TranslationSources[]
sections?: Sections[]
}

export class Banis extends Model {
QueryBuilderType: CommonBuilder<this>

nameGurmukhi: string
nameEnglish: string

lines?: Lines[]
}
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "@shabados/database",
"version": "4.8.0",
"description": "The open gurbani database containing an evolving set of corrections. Used in Shabad OS software.",
"types": "index.d.ts",
"scripts": {
"import": "node lib/import.js",
"benchmark": "node lib/benchmark.js",
Expand Down

0 comments on commit c97f9f6

Please sign in to comment.