@inploi / sdk
这个包包含inploi SDK的核心功能。
安装
npm install @inploi/sdk
2.0.0-2.1.4版本声明了private
github:inploi/talent-bank存储库作为运行时依赖项,所以npm install失败与git ls-remote … Permission denied除非环境可以进行身份验证 到inploi的GitHub组织(线性PROD-6970)。后来的版本将 在没有GitHub凭证的情况下从npm签约并安装Talent Bank。
使用
初始化SDK initialiseSdk:
import { initialiseSdk } from '@inploi/sdk';
const sdk = initialiseSdk({
publishableKey: 'your-publishable-key',
env: 'sandbox',
});
插件
根导出 saveSearchEndpoint, JobAlertsFilters 和
JOB_ALERT_FREQUENCIES 用于共享的工作警报合同。小部件可以调用
saveClosedRoleJobAlerts(rpcClient, { contact, job? }) 明确选择加入后;
它验证已知作业的标识,使用其可用的城市/城镇/类别作为
过滤和保存每周警报。查找失败将传播到调用方。
RPC响应在验证响应之前拒绝非成功HTTP状态码
模式,包括具有纯类型响应模式的端点。
可以编写自定义插件 createPlugin 函数。该插件将被注入两个依赖项 logger 服务和服务 apiClient 该服务可用于向inploi API发出请求。
例子:
export const myCounterPlugin = createPlugin(({ logger, apiClient }) => {
let count = 0;
logger.info('myCounterPlugin initialised');
return {
add: () => {
count++;
logger.info(`count is now ${count}`);
},
getCount: () => count,
};
});
外部依赖关系
如果你的插件需要外部依赖,你可能想要包装 createPlugin 函数,然后生成一个返回插件的函数:
import { createPlugin } from '@inploi/sdk';
type CounterExternalDeps = {onUpdate: (newCounter: number) => void};
export const myCounterPlugin = ({onUpdate}: CounterExternalDeps) =>
createPlugin(({ logger, apiClient }) => {
let count = 0;
logger.info('myCounterPlugin initialised');
return {
add: () => {
count++;
logger.info(`count is now ${count}`);
onUpdate(count);
},
getCount: () => count,
};
});
使用插件
注册一个插件 sdk.register. 插件接收它声明的服务
返回的对象向调用者公开。
const sdk = initialiseSdk({
publishableKey: 'your-publishable-key',
env: 'sandbox',
});
const simple = sdk.register(mySimplePlugin);
const myCounterPlugin = sdk.register(myPluginWithDeps({ onUpdate: newCounter => console.log(newCounter) }));
myCounterPlugin.add();