New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

teambition-server-sdk

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

teambition-server-sdk - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

.travis.yml

7

CHANGELOG.md

@@ -1,2 +0,5 @@

### 2018-10-23
- 数据工厂支持数据分片请求func
### v0.0.4 2019-01-08
- fix: 分片处理机制 等差数列 => 恒等
### v0.0.3 2018-10-23
- 数据工厂支持数据分片请求func

@@ -8,4 +8,5 @@ "use strict";

class DataFactory {
constructor(raw) {
constructor(raw, opts) {
this.raw = raw;
this.opts = opts;
}

@@ -19,3 +20,3 @@ /**

*/
async JobSlice(job, capacity = 200) {
async JobSlice(job, capacity = 200, needReturn = true) {
if (!Array.isArray(this.raw)) {

@@ -28,19 +29,17 @@ throw new Error('raw must be an array');

// 分片请求
const dataSize = this.raw.length;
const rawSize = this.raw.length;
let ret = [];
let result;
let start = 0;
let end = capacity;
let cursor = 0;
// 保证顺序性
while (true) {
if (end >= dataSize) {
result = await job(this.raw.slice(start));
ret = ret.concat(result);
if (cursor >= rawSize) {
break;
}
else {
result = await job(this.raw.slice(start, end));
ret = ret.concat(result);
start = end;
end = capacity + end;
result = await job(this.raw.slice(cursor, cursor + capacity), this.opts);
cursor += capacity;
if (needReturn) {
ret = ret.concat(result);
}
}

@@ -47,0 +46,0 @@ }

{
"name": "teambition-server-sdk",
"version": "0.0.3",
"version": "0.0.4",
"description": "Javascript SDK for teambition server",

@@ -8,3 +8,4 @@ "main": "lib/index.js",

"build": "tsc",
"test": "NODE_ENV=test mocha"
"test": "NODE_ENV=test mocha",
"lint": "tslint -p tsconfig.json -t stylish 'src/**/*.ts' 'test/**/*.ts'"
},

@@ -11,0 +12,0 @@ "repository": {

@@ -0,1 +1,5 @@

[![NPM version][npm-image]][npm-url]
![Build Status][travis-image]
[![Downloads][downloads-image]][downloads-url]
## Teambition Server SDK

@@ -24,1 +28,31 @@ Teambition 服务端 Node SDK,封装如下方法:

### 官方 API
封装 Teambition API,请至 [https://docs.teambition.com/](https://docs.teambition.com/) 查阅 API 目录
如果你是第三方开发者,需要自建应用,请前往 [Teambition 开发者中心](https://developer.teambition.com/)
```js
// TS DEMO
import * as TeambitionSDK from 'teambition-server-sdk'
const teambitionSDK = new TeambitionSDK.Client.Task()
return teambitionSDK
// optional 可选的,假如你是私有部署或其它,请填入正确的地址
.setUrl('add your custom url')
// optional
.setHeader({
// optional
cookie: 'your cookie'
// optional
Authorization: 'your access token',
})
.createOne(task)
```
[npm-url]: https://www.npmjs.com/package/teambition-server-sdk
[npm-image]: https://img.shields.io/npm/v/teambition-server-sdk.svg
[travis-image]: https://travis-ci.org/teambition/teambition-server-sdk.svg
[downloads-url]: https://npmjs.org/package/teambition-server-sdk
[downloads-image]: https://img.shields.io/npm/dm/teambition-server-sdk.svg?style=flat-square

@@ -8,5 +8,7 @@

private raw: any
private opts: object
constructor (raw: any) {
constructor (raw: any, opts?: object) {
this.raw = raw
this.opts = opts
}

@@ -21,3 +23,3 @@

*/
async JobSlice(job: any, capacity: number = 200): Promise<any> {
async JobSlice(job: any, capacity: number = 200, needReturn: boolean = true): Promise<any> {
if (!Array.isArray(this.raw)) {

@@ -31,19 +33,17 @@ throw new Error('raw must be an array')

// 分片请求
const dataSize = this.raw.length
const rawSize: number = this.raw.length
let ret = []
let result
let start = 0
let end = capacity
let result: [any]
let cursor = 0
// 保证顺序性
while (true) {
if (end >= dataSize) {
result = await job(this.raw.slice(start))
ret = ret.concat(result)
if (cursor >= rawSize) {
break
} else {
result = await job(this.raw.slice(start, end))
ret = ret.concat(result)
start = end
end = capacity + end
result = await job(this.raw.slice(cursor, cursor + capacity), this.opts)
cursor += capacity
if (needReturn) {
ret = ret.concat(result)
}
}

@@ -53,2 +53,2 @@ }

}
}
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc