小编Pay*_*erl的帖子

为什么使用spyOn而不是jasmine.createSpy?

有什么区别

jasmine.createSpy( '的someMethod')

spyOn(someObject,'someMethod')

为什么要选择使用spyOn?

我的猜测是,第一个替代方法将匹配方法someMethod,无论它包含在哪个对象中,但spyOn只会匹配someObject中包含的对象.这样makeSpy只是一个更通用的匹配器?

jasmine

24
推荐指数
2
解决办法
9671
查看次数

访问Firestore规则中的父文档字段

我正在Firestore中实现一个食谱书,其中每个用户都能够看到所有用户创建的所有食谱,但只允许食谱的原始作者编辑或删除食谱.任何用户也可以创建新配方.

我的问题是我无法在子集合父文档的字段上设置子集的权限以"监听".

每个食谱文档包含三件事.称为一个字段name存储配方的名称,其中,一个叫场creatorUID,其中request.auth.uid创作者的UID的存储和一个叫做子集合ingredients包含一些随机域的文档.

service cloud.firestore {
  match /databases/{database}/documents {

    function isSignedIn() {
      return request.auth != null;
    }

    match /ListOfRecipes/{recipe} {
        allow read, create: if isSignedIn();
        allow update, delete: if resource.data.creatorUID == request.auth.uid;

        match /{list=**} {
            allow read: if isSignedIn();
            // Should return true if recipe.creatorUID has same value as request.auth.uid
            allow write: if recipe.creatorUID == request.auth.uid;
        }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

问题是,使用这些规则它只能用于创建配方文档.db表示,子集合及其文档不会创建

FirebaseError:[code = permission-denied]:权限丢失或不足.FirebaseError:权限丢失或不足.

这些调用来自Angular客户端及其官方库.

firebase firebase-security angularfire2 google-cloud-firestore

8
推荐指数
1
解决办法
2956
查看次数

Travis CI 在 tsc 上失败

所以我在github上托管了一个打字稿项目。

我正在尝试为测试设置 Travis CI,但是当我进入将代码编译为 javascript(tsc 命令)的步骤时,它失败了。

错误如下所示:

> node node_modules/typescript/bin/tsc
src/DbHandler.ts:2:32 - error TS2307: Cannot find module './models/User'.
2 import { User, UserInit } from './models/User';
                                 ~~~~~~~~~~~~~~~
src/User.ts:2:22 - error TS2307: Cannot find module './models/User'.
2 import { User } from "./models/User";
                       ~~~~~~~~~~~~~~~
Found 2 errors.

npm ERR! code ELIFECYCLE
Run Code Online (Sandbox Code Playgroud)

文件的路径是正确的,它在本地编译得很好..

在项目中,我有这个 package.json(cleaned):

{
  "name": "project",
  "version": "0.0.1",
  "description": "",
  "main": "dist/server.js",
  "scripts": {
    "build": "node node_modules/typescript/bin/tsc",
    "prod": "node dist/server.js",
    "dev": "ts-node src/server.ts",
    "dev:watch": "nodemon",
    "test:watch": "ts-node node_modules/jasmine/bin/jasmine",
    "test": "node …
Run Code Online (Sandbox Code Playgroud)

javascript github travis-ci typescript tsc

5
推荐指数
0
解决办法
570
查看次数

PublicKeyCredential 无法序列化

我正在 Angular 应用程序中实现 FIDO2(WebAuthn)。我已经获得了 PublicKeyCredentialCreationOptions 对象和 seccessfullt 寄存器。但打电话之后

let response = await navigator.credentials.create({'publicKey': myPublicKeyCredentialCreationOption })
Run Code Online (Sandbox Code Playgroud)

我尝试将响应发送到服务器。但是失败了。当我尝试使用浏览器中的对象查看时

console.log(JSON.stringify(response)) 
Run Code Online (Sandbox Code Playgroud)

我明白了

{}
Run Code Online (Sandbox Code Playgroud)

作为输出 (?..) 但在做时

console.log(response) 
Run Code Online (Sandbox Code Playgroud)

我在控制台中得到一个带有值的对象...该对象应该如何序列化以发送到服务器?

javascript json ecmascript-6 console.log webauthn

5
推荐指数
1
解决办法
1661
查看次数

将 ENUM 与 Sequelize 和 Typescript 结合使用

我正在尝试使用 USER 类创建一个 API,该类可以有不止一种方法来使用 API 进行自身身份验证。

我已经设法让它与只有 1 个凭据的 1 个用户一起工作,但是当尝试扩展以允许多个凭据时,我收到错误: UnhandledPromiseRejectionWarning: SequelizeDatabaseError: (conn=498, no: 1265, SQLState: 01000) Data truncated for column 'type' at row 1

我目前拥有的是这样的:

User.hasMany(Credential, { foreignKey: 'id', sourceKey: 'id' });
Run Code Online (Sandbox Code Playgroud)

和这个:

//Credential.ts
export function CredentialInit(sequelize: Sequelize) {
    let cred = Object.keys(CredentialType);
    let credArr: string[] = [];
    for(let i = 0; i < cred.length/2; i++) {
        credArr.push(`${i}`);
    };
    Credential.init({
        email: {
            type: DataTypes.STRING,
            allowNull: true
        },
        password: {
            type: DataTypes.STRING,
            allowNull: true
        },
        token: {
            type: DataTypes.STRING, …
Run Code Online (Sandbox Code Playgroud)

enums node.js sequelize.js typescript

4
推荐指数
1
解决办法
8764
查看次数

如何通过拆分特定的char来对终端Linux中的文本文件内容进行排序?

我在学校有一项任务,按特定顺序对文件内容进行排序.我必须首先使用Windows批处理文件,现在我必须在Linux中执行相同操作.整个文件看起来或多或少都像这样:

John Doe : Crocodiles : 1035

在Windows中我解决了这个问题:

sort /r /+39 file.txt
Run Code Online (Sandbox Code Playgroud)

文件中的行应按递减顺序按点数(右边的数字)排序.此外,分配的第二部分是按中心列对行进行排序.

如何在Linux中获得相同的结果?我在Linux中尝试了几种不同的sort命令变体,但到目前为止还没有成功.

linux sorting bash terminal command

0
推荐指数
1
解决办法
1万
查看次数