Skip to content

Commit

Permalink
Fixing lint errors
Browse files Browse the repository at this point in the history
  • Loading branch information
fishcharlie committed Nov 16, 2020
1 parent c1fe4a6 commit 7486319
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 85 deletions.
4 changes: 3 additions & 1 deletion .eslintrc.js
Expand Up @@ -31,7 +31,9 @@ module.exports = {
"semi": "off",
"@typescript-eslint/semi": "error",
"space-before-function-paren": "off",
"@typescript-eslint/space-before-function-paren": "error"
"@typescript-eslint/space-before-function-paren": "error",
"@typescript-eslint/ban-types": "off",
"@typescript-eslint/explicit-module-boundary-types": "off"
}
}
],
Expand Down
30 changes: 15 additions & 15 deletions lib/Document.ts
Expand Up @@ -46,9 +46,9 @@ export class Document {

// Internal
model?: Model<Document>;
static objectToDynamo(object: ObjectType): DynamoDB.AttributeMap;
static objectToDynamo(object: any, settings: {type: "value"}): DynamoDB.AttributeValue;
static objectToDynamo(object: ObjectType, settings: {type: "object"}): DynamoDB.AttributeMap;
static objectToDynamo (object: ObjectType): DynamoDB.AttributeMap;
static objectToDynamo (object: any, settings: {type: "value"}): DynamoDB.AttributeValue;
static objectToDynamo (object: ObjectType, settings: {type: "object"}): DynamoDB.AttributeMap;
static objectToDynamo (object: any, settings: {type: "object" | "value"} = {"type": "object"}): DynamoDB.AttributeValue | DynamoDB.AttributeMap {
return (settings.type === "value" ? aws.converter().input : aws.converter().marshall)(object);
}
Expand Down Expand Up @@ -108,8 +108,8 @@ export class Document {
}

// Delete
delete(this: Document): Promise<void>;
delete(this: Document, callback: CallbackType<void, AWSError>): void;
delete (this: Document): Promise<void>;
delete (this: Document, callback: CallbackType<void, AWSError>): void;
delete (this: Document, callback?: CallbackType<void, AWSError>): Promise<void> | void {
const hashKey = this.model.getHashKey();
const rangeKey = this.model.getRangeKey();
Expand All @@ -123,12 +123,12 @@ export class Document {
}

// Save
save(this: Document): Promise<Document>;
save(this: Document, callback: CallbackType<Document, AWSError>): void;
save(this: Document, settings: DocumentSaveSettings & {return: "request"}): Promise<DynamoDB.PutItemInput>;
save(this: Document, settings: DocumentSaveSettings & {return: "request"}, callback: CallbackType<DynamoDB.PutItemInput, AWSError>): void;
save(this: Document, settings: DocumentSaveSettings & {return: "document"}): Promise<Document>;
save(this: Document, settings: DocumentSaveSettings & {return: "document"}, callback: CallbackType<Document, AWSError>): void;
save (this: Document): Promise<Document>;
save (this: Document, callback: CallbackType<Document, AWSError>): void;
save (this: Document, settings: DocumentSaveSettings & {return: "request"}): Promise<DynamoDB.PutItemInput>;
save (this: Document, settings: DocumentSaveSettings & {return: "request"}, callback: CallbackType<DynamoDB.PutItemInput, AWSError>): void;
save (this: Document, settings: DocumentSaveSettings & {return: "document"}): Promise<Document>;
save (this: Document, settings: DocumentSaveSettings & {return: "document"}, callback: CallbackType<Document, AWSError>): void;
save (this: Document, settings?: DocumentSaveSettings | CallbackType<Document, AWSError> | CallbackType<DynamoDB.PutItemInput, AWSError>, callback?: CallbackType<Document, AWSError> | CallbackType<DynamoDB.PutItemInput, AWSError>): void | Promise<Document | DynamoDB.PutItemInput> {
if (typeof settings !== "object" && typeof settings !== "undefined") {
callback = settings;
Expand Down Expand Up @@ -181,10 +181,10 @@ export class Document {
}

// Populate
populate(): Promise<Document>;
populate(callback: CallbackType<Document, AWSError>): void;
populate(settings: PopulateSettings): Promise<Document>;
populate(settings: PopulateSettings, callback: CallbackType<Document, AWSError>): void;
populate (): Promise<Document>;
populate (callback: CallbackType<Document, AWSError>): void;
populate (settings: PopulateSettings): Promise<Document>;
populate (settings: PopulateSettings, callback: CallbackType<Document, AWSError>): void;
populate (...args): Promise<Document> | void {
return PopulateDocument.bind(this)(...args);
}
Expand Down
88 changes: 44 additions & 44 deletions lib/Model/index.ts
Expand Up @@ -460,12 +460,12 @@ export class Model<T extends DocumentCarrier = AnyDocument> {
}

// Batch Get
batchGet(keys: InputKey[]): Promise<ModelBatchGetDocumentsResponse<T>>;
batchGet(keys: InputKey[], callback: CallbackType<ModelBatchGetDocumentsResponse<T>, AWSError>): void;
batchGet(keys: InputKey[], settings: ModelBatchGetSettings & {"return": "documents"}): Promise<ModelBatchGetDocumentsResponse<T>>;
batchGet(keys: InputKey[], settings: ModelBatchGetSettings & {"return": "documents"}, callback: CallbackType<ModelBatchGetDocumentsResponse<T>, AWSError>): void;
batchGet(keys: InputKey[], settings: ModelBatchGetSettings & {"return": "request"}): DynamoDB.BatchGetItemInput;
batchGet(keys: InputKey[], settings: ModelBatchGetSettings & {"return": "request"}, callback: CallbackType<DynamoDB.BatchGetItemInput, AWSError>): void;
batchGet (keys: InputKey[]): Promise<ModelBatchGetDocumentsResponse<T>>;
batchGet (keys: InputKey[], callback: CallbackType<ModelBatchGetDocumentsResponse<T>, AWSError>): void;
batchGet (keys: InputKey[], settings: ModelBatchGetSettings & {"return": "documents"}): Promise<ModelBatchGetDocumentsResponse<T>>;
batchGet (keys: InputKey[], settings: ModelBatchGetSettings & {"return": "documents"}, callback: CallbackType<ModelBatchGetDocumentsResponse<T>, AWSError>): void;
batchGet (keys: InputKey[], settings: ModelBatchGetSettings & {"return": "request"}): DynamoDB.BatchGetItemInput;
batchGet (keys: InputKey[], settings: ModelBatchGetSettings & {"return": "request"}, callback: CallbackType<DynamoDB.BatchGetItemInput, AWSError>): void;
batchGet (keys: InputKey[], settings?: ModelBatchGetSettings | CallbackType<ModelBatchGetDocumentsResponse<T>, AWSError> | CallbackType<DynamoDB.BatchGetItemInput, AWSError>, callback?: CallbackType<ModelBatchGetDocumentsResponse<T>, AWSError> | CallbackType<DynamoDB.BatchGetItemInput, AWSError>): void | DynamoDB.BatchGetItemInput | Promise<ModelBatchGetDocumentsResponse<T>> {
if (typeof settings === "function") {
callback = settings;
Expand Down Expand Up @@ -532,12 +532,12 @@ export class Model<T extends DocumentCarrier = AnyDocument> {
}

// Batch Put
batchPut(documents: ObjectType[]): Promise<{"unprocessedItems": ObjectType[]}>;
batchPut(documents: ObjectType[], callback: CallbackType<{"unprocessedItems": ObjectType[]}, AWSError>): void;
batchPut(documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "request"}): Promise<DynamoDB.BatchWriteItemInput>;
batchPut(documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "request"}, callback: CallbackType<DynamoDB.BatchWriteItemInput, AWSError>): void;
batchPut(documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "response"}): Promise<{"unprocessedItems": ObjectType[]}>;
batchPut(documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "response"}, callback: CallbackType<{"unprocessedItems": ObjectType[]}, AWSError>): void;
batchPut (documents: ObjectType[]): Promise<{"unprocessedItems": ObjectType[]}>;
batchPut (documents: ObjectType[], callback: CallbackType<{"unprocessedItems": ObjectType[]}, AWSError>): void;
batchPut (documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "request"}): Promise<DynamoDB.BatchWriteItemInput>;
batchPut (documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "request"}, callback: CallbackType<DynamoDB.BatchWriteItemInput, AWSError>): void;
batchPut (documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "response"}): Promise<{"unprocessedItems": ObjectType[]}>;
batchPut (documents: ObjectType[], settings: ModelBatchPutSettings & {"return": "response"}, callback: CallbackType<{"unprocessedItems": ObjectType[]}, AWSError>): void;
batchPut (documents: ObjectType[], settings?: ModelBatchPutSettings | CallbackType<{"unprocessedItems": ObjectType[]}, AWSError> | CallbackType<DynamoDB.BatchWriteItemInput, AWSError>, callback?: CallbackType<{"unprocessedItems": ObjectType[]}, AWSError> | CallbackType<DynamoDB.BatchWriteItemInput, AWSError>): void | Promise<DynamoDB.BatchWriteItemInput | {"unprocessedItems": ObjectType[]}> {
if (typeof settings === "function") {
callback = settings;
Expand Down Expand Up @@ -591,12 +591,12 @@ export class Model<T extends DocumentCarrier = AnyDocument> {
}

// Batch Delete
batchDelete(keys: InputKey[]): Promise<{unprocessedItems: ObjectType[]}>;
batchDelete(keys: InputKey[], callback: CallbackType<{unprocessedItems: ObjectType[]}, AWSError>): void;
batchDelete(keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "response"}): Promise<{unprocessedItems: ObjectType[]}>;
batchDelete(keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "response"}, callback: CallbackType<{unprocessedItems: ObjectType[]}, AWSError>): Promise<{unprocessedItems: ObjectType[]}>;
batchDelete(keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "request"}): DynamoDB.BatchWriteItemInput;
batchDelete(keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "request"}, callback: CallbackType<DynamoDB.BatchWriteItemInput, AWSError>): void;
batchDelete (keys: InputKey[]): Promise<{unprocessedItems: ObjectType[]}>;
batchDelete (keys: InputKey[], callback: CallbackType<{unprocessedItems: ObjectType[]}, AWSError>): void;
batchDelete (keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "response"}): Promise<{unprocessedItems: ObjectType[]}>;
batchDelete (keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "response"}, callback: CallbackType<{unprocessedItems: ObjectType[]}, AWSError>): Promise<{unprocessedItems: ObjectType[]}>;
batchDelete (keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "request"}): DynamoDB.BatchWriteItemInput;
batchDelete (keys: InputKey[], settings: ModelBatchDeleteSettings & {"return": "request"}, callback: CallbackType<DynamoDB.BatchWriteItemInput, AWSError>): void;
batchDelete (keys: InputKey[], settings?: ModelBatchDeleteSettings | CallbackType<{unprocessedItems: ObjectType[]}, AWSError> | CallbackType<DynamoDB.BatchWriteItemInput, AWSError>, callback?: CallbackType<{unprocessedItems: ObjectType[]}, AWSError> | CallbackType<DynamoDB.BatchWriteItemInput, AWSError>): void | DynamoDB.BatchWriteItemInput | Promise<{unprocessedItems: ObjectType[]}> {
if (typeof settings === "function") {
callback = settings;
Expand Down Expand Up @@ -652,14 +652,14 @@ export class Model<T extends DocumentCarrier = AnyDocument> {
}

// Update
update(obj: Partial<T>): Promise<T>;
update(obj: Partial<T>, callback: CallbackType<T, AWSError>): void;
update(keyObj: ObjectType, updateObj: Partial<T>): Promise<T>;
update(keyObj: ObjectType, updateObj: Partial<T>, callback: CallbackType<T, AWSError>): void;
update(keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "document"}): Promise<T>;
update(keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "document"}, callback: CallbackType<T, AWSError>): void;
update(keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "request"}): Promise<DynamoDB.UpdateItemInput>;
update(keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "request"}, callback: CallbackType<DynamoDB.UpdateItemInput, AWSError>): void;
update (obj: Partial<T>): Promise<T>;
update (obj: Partial<T>, callback: CallbackType<T, AWSError>): void;
update (keyObj: ObjectType, updateObj: Partial<T>): Promise<T>;
update (keyObj: ObjectType, updateObj: Partial<T>, callback: CallbackType<T, AWSError>): void;
update (keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "document"}): Promise<T>;
update (keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "document"}, callback: CallbackType<T, AWSError>): void;
update (keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "request"}): Promise<DynamoDB.UpdateItemInput>;
update (keyObj: ObjectType, updateObj: Partial<T>, settings: ModelUpdateSettings & {"return": "request"}, callback: CallbackType<DynamoDB.UpdateItemInput, AWSError>): void;
update (keyObj: ObjectType, updateObj?: Partial<T> | CallbackType<T, AWSError> | CallbackType<DynamoDB.UpdateItemInput, AWSError>, settings?: ModelUpdateSettings | CallbackType<T, AWSError> | CallbackType<DynamoDB.UpdateItemInput, AWSError>, callback?: CallbackType<T, AWSError> | CallbackType<DynamoDB.UpdateItemInput, AWSError>): void | Promise<T> | Promise<DynamoDB.UpdateItemInput> {
if (typeof updateObj === "function") {
callback = updateObj as CallbackType<DocumentCarrier | DynamoDB.UpdateItemInput, AWSError>; // TODO: fix this, for some reason `updateObj` has a type of Function which is forcing us to type cast it
Expand Down Expand Up @@ -902,12 +902,12 @@ export class Model<T extends DocumentCarrier = AnyDocument> {
}

// Create
create(document: Partial<T>): Promise<T>;
create(document: Partial<T>, callback: CallbackType<T, AWSError>): void;
create(document: Partial<T>, settings: DocumentSaveSettings & {return: "request"}): Promise<DynamoDB.PutItemInput>;
create(document: Partial<T>, settings: DocumentSaveSettings & {return: "request"}, callback: CallbackType<DynamoDB.PutItemInput, AWSError>): void;
create(document: Partial<T>, settings: DocumentSaveSettings & {return: "document"}): Promise<T>;
create(document: Partial<T>, settings: DocumentSaveSettings & {return: "document"}, callback: CallbackType<T, AWSError>): void;
create (document: Partial<T>): Promise<T>;
create (document: Partial<T>, callback: CallbackType<T, AWSError>): void;
create (document: Partial<T>, settings: DocumentSaveSettings & {return: "request"}): Promise<DynamoDB.PutItemInput>;
create (document: Partial<T>, settings: DocumentSaveSettings & {return: "request"}, callback: CallbackType<DynamoDB.PutItemInput, AWSError>): void;
create (document: Partial<T>, settings: DocumentSaveSettings & {return: "document"}): Promise<T>;
create (document: Partial<T>, settings: DocumentSaveSettings & {return: "document"}, callback: CallbackType<T, AWSError>): void;
create (document: Partial<T>, settings?: DocumentSaveSettings | CallbackType<T, AWSError> | CallbackType<DynamoDB.PutItemInput, AWSError>, callback?: CallbackType<T, AWSError> | CallbackType<DynamoDB.PutItemInput, AWSError>): void | Promise<T> | Promise<DynamoDB.PutItemInput> {
if (typeof settings === "function" && !callback) {
callback = settings;
Expand All @@ -918,12 +918,12 @@ export class Model<T extends DocumentCarrier = AnyDocument> {
}

// Delete
delete(key: InputKey): Promise<void>;
delete(key: InputKey, callback: CallbackType<void, AWSError>): void;
delete(key: InputKey, settings: ModelDeleteSettings & {return: "request"}): DynamoDB.DeleteItemInput;
delete(key: InputKey, settings: ModelDeleteSettings & {return: "request"}, callback: CallbackType<DynamoDB.DeleteItemInput, AWSError>): void;
delete(key: InputKey, settings: ModelDeleteSettings & {return: null}): Promise<void>;
delete(key: InputKey, settings: ModelDeleteSettings & {return: null}, callback: CallbackType<void, AWSError>): void;
delete (key: InputKey): Promise<void>;
delete (key: InputKey, callback: CallbackType<void, AWSError>): void;
delete (key: InputKey, settings: ModelDeleteSettings & {return: "request"}): DynamoDB.DeleteItemInput;
delete (key: InputKey, settings: ModelDeleteSettings & {return: "request"}, callback: CallbackType<DynamoDB.DeleteItemInput, AWSError>): void;
delete (key: InputKey, settings: ModelDeleteSettings & {return: null}): Promise<void>;
delete (key: InputKey, settings: ModelDeleteSettings & {return: null}, callback: CallbackType<void, AWSError>): void;
delete (key: InputKey, settings?: ModelDeleteSettings | CallbackType<void, AWSError> | CallbackType<DynamoDB.DeleteItemInput, AWSError>, callback?: CallbackType<void, AWSError> | CallbackType<DynamoDB.DeleteItemInput, AWSError>): void | DynamoDB.DeleteItemInput | Promise<void> {
if (typeof settings === "function") {
callback = settings;
Expand Down Expand Up @@ -969,12 +969,12 @@ export class Model<T extends DocumentCarrier = AnyDocument> {
}

// Get
get(key: InputKey): Promise<T>;
get(key: InputKey, callback: CallbackType<T, AWSError>): void;
get(key: InputKey, settings: ModelGetSettings & {return: "document"}): Promise<T>;
get(key: InputKey, settings: ModelGetSettings & {return: "document"}, callback: CallbackType<T, AWSError>): void;
get(key: InputKey, settings: ModelGetSettings & {return: "request"}): DynamoDB.GetItemInput;
get(key: InputKey, settings: ModelGetSettings & {return: "request"}, callback: CallbackType<DynamoDB.GetItemInput, AWSError>): void;
get (key: InputKey): Promise<T>;
get (key: InputKey, callback: CallbackType<T, AWSError>): void;
get (key: InputKey, settings: ModelGetSettings & {return: "document"}): Promise<T>;
get (key: InputKey, settings: ModelGetSettings & {return: "document"}, callback: CallbackType<T, AWSError>): void;
get (key: InputKey, settings: ModelGetSettings & {return: "request"}): DynamoDB.GetItemInput;
get (key: InputKey, settings: ModelGetSettings & {return: "request"}, callback: CallbackType<DynamoDB.GetItemInput, AWSError>): void;
get (key: InputKey, settings?: ModelGetSettings | CallbackType<T, AWSError> | CallbackType<DynamoDB.GetItemInput, AWSError>, callback?: CallbackType<T, AWSError> | CallbackType<DynamoDB.GetItemInput, AWSError>): void | DynamoDB.GetItemInput | Promise<T> {
if (typeof settings === "function") {
callback = settings;
Expand Down

0 comments on commit 7486319

Please sign in to comment.