Skip to content

Commit

Permalink
Add type definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
steveszc committed Sep 24, 2021
1 parent 5854836 commit f1972a5
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 0 deletions.
100 changes: 100 additions & 0 deletions packages/ember-simple-auth/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
type Callback = () => void;
type Data = Record<string, unknown>;
type SessionData = {
authenticated: Data;
}

declare module 'ember-simple-auth/services/session' {
import Service from '@ember/service';
import { Promise } from 'rsvp';
import type BaseSessionStore from 'ember-simple-auth/session-stores/base';
import type Transition from '@ember/routing/-private/transition';

export default class extends Service {
isAuthenticated: boolean;
data: SessionData;
store: BaseSessionStore;

authenticate(authenticator: string, ...args: unknown[]): Promise<unknown>;

invalidate(...args: unknown[]): Promise<unknown>;

requireAuthentication(transition: Transition, routeOrCallback: string | Callback): boolean;

prohibitAuthentication(routeOrCallback: string | Callback): boolean;
}
}

declare module 'ember-simple-auth/authenticators/base' {
import EmberObject from '@ember/object';
import Evented from '@ember/object/evented';
import { Promise } from 'rsvp';

export default class extends EmberObject.extend(Evented) {
restore(data: Data): Promise<unknown>;
authenticate(...args: unknown[]): Promise<unknown>;
invalidate(data: Data, ...args: unknown[]): Promise<unknown>;
}
}

declare module 'ember-simple-auth/authenticators/devise' {
import BaseAuthenticator from 'ember-simple-auth/authenticators/base';
export default class extends BaseAuthenticator {
serverTokenEndpoint: string;
resourceName: string;
tokenAttributeName: string;
identificationAttributeName: string;
}
}

declare module 'ember-simple-auth/authenticators/oauth2-implicit-grant' {
import BaseAuthenticator from 'ember-simple-auth/authenticators/base';
export default class extends BaseAuthenticator { }
}

declare module 'ember-simple-auth/authenticators/oauth2-password-grant' {
import BaseAuthenticator from 'ember-simple-auth/authenticators/base';
export default class extends BaseAuthenticator {
clientId: string | null;
serverTokenEndpoint: string;
serverTokenRevocationEndpoint: string | null;
refreshAccessTokens: boolean;
}
}

declare module 'ember-simple-auth/authenticators/test' {
import BaseAuthenticator from 'ember-simple-auth/authenticators/base';
export default class extends BaseAuthenticator { }
}

declare module 'ember-simple-auth/authenticators/torii' {
import BaseAuthenticator from 'ember-simple-auth/authenticators/base';
export default class extends BaseAuthenticator { }
}

declare module 'ember-simple-auth/session-stores/base' {
import EmberObject from '@ember/object';
import Evented from '@ember/object/evented';
import { Promise } from 'rsvp';

export default class extends EmberObject.extend(Evented) {
persist(data: SessionData): Promise<unknown>;
restore(): Promise<SessionData>;
clear(): Promise<unknown>;
}
}

declare module 'ember-simple-auth/session-stores/cookie' {
import BaseSessionStore from 'ember-simple-auth/session-stores/base';
export default class extends BaseSessionStore { }
}

declare module 'ember-simple-auth/session-stores/ephemeral' {
import BaseSessionStore from 'ember-simple-auth/session-stores/base';
export default class extends BaseSessionStore { }
}

declare module 'ember-simple-auth/session-stores/session-storage' {
import BaseSessionStore from 'ember-simple-auth/session-stores/base';
export default class extends BaseSessionStore { }
}
2 changes: 2 additions & 0 deletions packages/ember-simple-auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
"doc": "doc",
"test": "tests"
},
"types": "./index.d.ts",
"scripts": {
"build": "ember build",
"lint": "eslint app addon blueprints config tests *.js",
Expand All @@ -33,6 +34,7 @@
"@ember/optional-features": "^1.3.0",
"@glimmer/component": "^1.0.0",
"@glimmer/tracking": "^1.0.0",
"@types/ember": "3.16.5",
"babel-eslint": "^10.1.0",
"broccoli-asset-rev": "^3.0.0",
"chai": "^4.1.0",
Expand Down

0 comments on commit f1972a5

Please sign in to comment.